Skip to main content

OAEI-Bio-ML-eval

PyPI Python License

OAEI-Bio-ML-eval is the shared, versioned scoring package for the public and organiser-facing OAEI Bio-ML repositories. Version 0.2.1 supports Python 3.10+ and removes Java from the evaluation runtime.

The package provides:

  • Track 1 equivalence Precision/Recall/F1 and local MRR/Hits@k;
  • Track 2 preferred relation-aware MRR and hierarchy-aware typed nDCG@10;
  • explicit micro and macro cross-task aggregation; and
  • organiser-computed alignment coherence over shared OWL views using native pyHermiT or pyELK.

Typed/equivalence metric cores and alignment-TSV loaders have no runtime dependencies. RDF parsing and native reasoning are opt-in extras.

Installation

python -m pip install oaei-bioml-eval
python -m pip install 'oaei-bioml-eval[rdf]'
python -m pip install 'oaei-bioml-eval[reasoner]'
# both optional surfaces
python -m pip install 'oaei-bioml-eval[all]'

The reasoner extra installs compatible 0.2-series releases of pyowl-core, pyHermiT, and pyelk-reasoner. Supported wheels require neither Java nor a local Rust/C compiler; dependency-level accelerated implementations may be used when available, while their compiler-free implementations preserve portability. See installation and deployment.

Python quick start

The metric core accepts ordinary Python collections and has no runtime dependencies:

from oaei_bioml_eval.equivalence import global_prf1

predicted = {("mouse:Heart", "human:Heart"), ("mouse:Liver", "human:Liver")}
reference = {("mouse:Heart", "human:Heart")}

scores = global_prf1(predicted, reference)
assert scores["precision"] == 0.5
assert scores["recall"] == 1.0

CLI

oaei-bioml-equivalence-score global submission.tsv reference.tsv
oaei-bioml-typed-score submission.block.tsv answers.tsv

oaei-bioml-coherence-score global submission.tsv source.owl target.owl \
  --reasoner hermit --timeout 7200 --output coherence.json
oaei-bioml-coherence-score local local.test.ranked.tsv source.owl target.owl \
  --reasoner elk

Coherence is a degree of incoherence: 0 is clean and larger values are worse. HermiT is the exact default. A cooperative HermiT timeout alone falls back to ELK over the same composite and marks the result as an EL lower bound. The reserved structural command is not currently available: its rule set remains open and invoking it raises NotImplementedError.

Shared-view API

Callers that already loaded ontologies—such as Exact-OM—can pass the same pyowl_core.OntologyView objects directly, avoiding serialization and duplicate parsing:

from oaei_bioml_eval.coherence import score_global_coherence

report = score_global_coherence(
    [("https://example.org/Source", "https://example.org/Target")],
    source_view,
    target_view,
    reasoner="hermit",
    timeout_s=7200.0,
)

Path, byte, stream, provider, and existing-view inputs are also accepted by the *_files wrappers. Each source and target input is coerced once through pyowl-core; one zero-copy composite is shared by signature calculation and reasoning. OAEI-Bio-ML-eval never imports Exact-OM, so dependency direction remains clean. See coherence API and semantics.

Aggregation policy

Use aggregate_across_tasks(..., average="micro") for Conference-style pooled evaluation and average="macro" for equal task weighting used by Bio-ML. Micro aggregation recomputes metrics from sufficient statistics; it never approximates them by averaging already-computed percentages.

Reproducibility

Official coherence output includes coherence-provenance/1: package and API versions, semantic fingerprints, normalized bridge digest, requested/actual reasoner, timeout/fallback details, profile status, and numerator/denominator digests. Local paths, timestamps, and Python object identities are excluded from semantic digests.

The pre-migration metric contract remains byte-frozen in tests/baselines/metric-contract-v1.json. Historical ROBOT 1.9.10 JSON is kept only as a quarantined development oracle; it is outside the installable package and ordinary CI.

Release information

Licensed under Apache-2.0. Optional dependencies retain their own licenses; see dependency and license notes.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oaei_bioml_eval-0.2.1.tar.gz (101.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oaei_bioml_eval-0.2.1-py3-none-any.whl (73.6 kB view details)

Uploaded Python 3

File details

Details for the file oaei_bioml_eval-0.2.1.tar.gz.

File metadata

  • Download URL: oaei_bioml_eval-0.2.1.tar.gz
  • Upload date:
  • Size: 101.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for oaei_bioml_eval-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4b765f9e40003a71e0925a6841fbaba2340704d6e4ea04fc61bca67687a75682
MD5 3cc18d62728ff9ea00cd029da91929e0
BLAKE2b-256 dc2d580c5ea361829c6d97c0827e074847186d4a65e1af2c56d5da35e284197e

See more details on using hashes here.

File details

Details for the file oaei_bioml_eval-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for oaei_bioml_eval-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 26f0b480dd072a33c382a8010ca1137b0c73b873d4c9df417b4578f31d272b16
MD5 32807d2be75deca710e4bbd832c485ff
BLAKE2b-256 62d7d9d7806fd46c53ce1c34ddc187872a615541ff72bb2c5ac048df838d6fae

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page