Umbrella for metaseed as a two-way bridge to scientific data repositories. Each integration is an optional extra (metaseed[<name>]), maps spec-driven against the relevant profile, and follows one seam.
Exporters — metaseed dataset -> repository format (existing epics)
Importers — repository data -> metaseed dataset (new)
Importers epic #76 — sub-issues: #77 ENA (reference), #78 BrAPI, #79 PRIDE, #80 MetaboLights.
Shared principles
- Optional extras; network deps install only on opt-in (mirrors
metaseed[dcat]).
- Spec-driven mapping; the profiles are the contract.
- Reuse the OLS network-client pattern (
services/ontology.py: httpx + rate-limit + User-Agent + timeouts).
- Metadata, not raw data — reference data files (URLs), do not download reads/spectra.
- Hermetic tests: map from recorded fixtures; live calls marked
@network.
Several repos get both an importer and an exporter (PRIDE, MetaboLights, eventually BrAPI), making metaseed a round-trip bridge.
Umbrella for metaseed as a two-way bridge to scientific data repositories. Each integration is an optional extra (
metaseed[<name>]), maps spec-driven against the relevant profile, and follows one seam.Exporters — metaseed dataset -> repository format (existing epics)
Importers — repository data -> metaseed dataset (new)
Importers epic #76 — sub-issues: #77 ENA (reference), #78 BrAPI, #79 PRIDE, #80 MetaboLights.
Shared principles
metaseed[dcat]).services/ontology.py: httpx + rate-limit + User-Agent + timeouts).@network.Several repos get both an importer and an exporter (PRIDE, MetaboLights, eventually BrAPI), making metaseed a round-trip bridge.