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.0 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.1-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.0.tar.gz (99.1 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.0-py3-none-any.whl (73.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: oaei_bioml_eval-0.2.0.tar.gz
  • Upload date:
  • Size: 99.1 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.0.tar.gz
Algorithm Hash digest
SHA256 95338c82a299c4b9f0fa0ffb500dd87b18cd85f34e8a800cdc99c63de27cd018
MD5 8b044395ef5efa07b5ef3c36b21b2c83
BLAKE2b-256 6d0a1e4872ad33b1eb775a18d349ce4d1a6cdc56419d7e304bdacd79fc88429a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oaei_bioml_eval-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 74cb2106aee046e39b25a7208fc709b84c3ead98b4271ac755777fc9c057fca1
MD5 d1242f712074614d5a7bb17c75d7015b
BLAKE2b-256 fe6126c5fb7f95a6ce95e485fc1a200068efa0d4a3c97c80f03e2167f47512a3

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.1

2 files

This release

0.2.0 This release

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