Downloads · 30 days
0
anne-voigt/biodata-registry
biodata-registry is a machine learning model from anne-voigt. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
A pip-installable Python package that provides a YAML-based dataset manifest registry for bioinformatics agents. It also exposes a FastMCP server so agent processes can query dataset metadata over MCP.
Downloads · 30 days
0
Access
Public
Updated Oct 28, 2026
Repo size
12 MB
Likes
0
Public
Click a slice to open those files.
.whl12.6 MB · 81%
From the Hugging Face model README
A pip-installable Python package that provides a YAML-based dataset manifest registry for bioinformatics agents. It also exposes a FastMCP server so agent processes can query dataset metadata over MCP.
DatasetManifest)pip install -e /path/to/biodata-registry
Or from within the repo directory:
pip install -e .
from biodata_registry import get_registry, load_manifest, list_available_datasets
# List all registered datasets
datasets = list_available_datasets()
# [{'dataset_id': 'gse71729_moffitt', 'title': '...', 'modality': 'bulk_microarray', ...}]
# Get a typed manifest
manifest = load_manifest("gse71729_moffitt")
print(manifest.organism) # 'human'
print(manifest.analysis_path) # 'B' (log_expression → Path B)
print(manifest.default_contrasts) # list of contrast dicts
# Raw registry access
reg = get_registry()
raw = reg.get("gse71729_moffitt") # dict or None
print(reg.list()) # ['gse71729_moffitt']
python -m biodata_registry.server
The server exposes four MCP tools:
| Tool | Description |
|---|---|
list_datasets | List all dataset IDs with title and modality |
get_manifest | Return the full manifest dict for a dataset |
get_prohibited_inferences | Return refusal rules from a manifest |
get_contrast_definition | Return contrast metadata for a specific column |
biodata_registry/manifests/<dataset_id>.yaml.dataset_id, title, accession, organism, modality, platform, data_level, feature_id_type, expression_source, metadata_source, group_columns, valid_workflows, limitations.python -m pytest tests/ to verify the new manifest loads correctly.See biodata_registry/manifests/gse71729_moffitt.yaml for a fully annotated example.
Manifest fields are documented in biodata_registry/manifest_schema.py. Key controlled vocabularies:
organism: human, mousemodality: bulk_microarray, bulk_rnaseq, sc_rnaseq, spatial_rnaseq, proteomicsdata_level: raw_counts, log_expression, log_ratio, normalized, tpm, fpkm, protein_abundancefeature_id_type: probe_id, gene_symbol, ensembl_gene_id, entrez_id, protein_idThis package is the system's trust anchor: the consuming agents validate
every user-named dataset_id against this registry and then trust the
manifest's expression_source URL. So the security-relevant surface is data
integrity, not runtime attack surface:
biodata_registry/manifest_schema.py) — the typed
DatasetManifest and its controlled vocabularies; validate() (decomposed
into _check_* helpers) is what rejects malformed manifests at import time.biodata_registry/integration.py) — get_integration_plan
decides early / late / concordance / refuse and enforces the confound,
same-cohort, and cross-resolution safety gates. This is pure metadata logic.git+https://…@<commit> wheel URL, so the exact manifest set under review is
pinned and auditable.