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.

Metadata

Release files for oaei-bioml-eval 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oaei-bioml-eval 0.2.1
File Size Uploaded Provenance Actions
oaei_bioml_eval-0.2.1.tar.gz 101.2 kB Without provenance Details for oaei_bioml_eval-0.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for oaei-bioml-eval 0.2.1
File Interpreter ABI Platform Actions
oaei_bioml_eval-0.2.1-py3-none-any.whl Python 3 none any Details for oaei_bioml_eval-0.2.1-py3-none-any.whl

Total release size: 174.8 kB

Release files / oaei_bioml_eval-0.2.1.tar.gz

Download URL oaei_bioml_eval-0.2.1.tar.gz
Size 101.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4b765f9e40003a71e0925a6841fbaba2340704d6e4ea04fc61bca67687a75682
BLAKE2b-256 checksum
How to use checksums
dc2d580c5ea361829c6d97c0827e074847186d4a65e1af2c56d5da35e284197e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / oaei_bioml_eval-0.2.1-py3-none-any.whl

Download URL oaei_bioml_eval-0.2.1-py3-none-any.whl
Size 73.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26f0b480dd072a33c382a8010ca1137b0c73b873d4c9df417b4578f31d272b16
BLAKE2b-256 checksum
How to use checksums
62d7d9d7806fd46c53ce1c34ddc187872a615541ff72bb2c5ac048df838d6fae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for oaei-bioml-eval 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files No provenance

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