How mrugakshi77/omics-registry works
Omics Registry is a genomics metadata and provenance platform whose central workflow is finding samples with all requested assays and exporting the matching cohort as a manifest. Researchers can use either the CLI or REST API to query cohorts and register metadata or analysis results; the service layer applies the business operations over PostgreSQL. The README also documents a real GDC/TCGA metadata path. Source excerpts confirm CLI and service behavior; some API and ingestion details are supported only by the README or source index.
Main entry points: registry.py Registry writes · omics_registry/main.py REST application · cli/main.py CLI · session.py DB sessions
Components 24
Researcher interfaces
- REST application
src/omics_registry/main.py - Cohort API
src/omics_registry/api/cohort.py - Analysis API
src/omics_registry/api/analyses.py - Experiment API
src/omics_registry/api/experiments.py - Patient API
src/omics_registry/api/patients.py - Sample API
src/omics_registry/api/samples.py - CLI
src/omics_registry/cli/main.py
Registry services
- Cohort query
src/omics_registry/services/cohort.py - Registry writes
src/omics_registry/services/registry.py - Request schemas
src/omics_registry/schemas - DB sessions
src/omics_registry/db/session.py
Metadata and provenance
- PostgreSQL
- Patients
src/omics_registry/models/patient.py - Samples
src/omics_registry/models/sample.py - Experiments
src/omics_registry/models/experiment.py - Analyses
src/omics_registry/models/analysis.py - Result files
src/omics_registry/models/result_file.py - Domain enums
src/omics_registry/models/enums.py
GDC metadata
- GDC public metadata
- Metadata fetch
scripts/fetch_gdc_metadata.py - Metadata curation
scripts/curate_gdc_metadata.py - Curated snapshot
data/gdc_curated.json - Database seeding
scripts/seed_data.py
Other components
- Researcher
Connections 36
- Researcher → CLI: runs commands
README.md - Researcher → REST application: uses API
README.md - REST application → Cohort API: mounts routes
src/omics_registry/main.py - REST application → Analysis API: mounts routes
src/omics_registry/main.py - REST application → Experiment API: mounts routes
src/omics_registry/main.py - REST application → Patient API: mounts routes
src/omics_registry/main.py - REST application → Sample API: mounts routes
src/omics_registry/main.py - Cohort API → Cohort query: queries via
src/omics_registry/api/cohort.py - Analysis API → Registry writes: registers via
src/omics_registry/api/analyses.py - Experiment API → Registry writes: writes via
src/omics_registry/api/experiments.py - Patient API → Registry writes: writes via
src/omics_registry/api/patients.py - Sample API → Registry writes: writes via
src/omics_registry/api/samples.py - CLI → Cohort query: queries via
src/omics_registry/cli/main.py - CLI → Registry writes: registers via
src/omics_registry/cli/main.py - CLI → DB sessions: opens session
src/omics_registry/cli/main.py - CLI → Request schemas: validates inputs
src/omics_registry/cli/main.py - Cohort API → DB sessions: gets session
src/omics_registry/api/cohort.py - Analysis API → DB sessions: gets session
src/omics_registry/api/analyses.py - Registry writes → Request schemas: accepts validated data
src/omics_registry/services/registry.py - Registry writes → Patients: creates and reads
src/omics_registry/services/registry.py - Registry writes → Samples: creates and reads
src/omics_registry/services/registry.py - Registry writes → Experiments: creates and reads
src/omics_registry/services/registry.py - Registry writes → Analyses: registers runs
src/omics_registry/services/registry.py - Registry writes → Result files: records outputs
src/omics_registry/services/registry.py - Registry writes → PostgreSQL: writes records
README.md - Cohort query → PostgreSQL: queries assays
src/omics_registry/services/cohort.py - DB sessions → PostgreSQL: opens connections
src/omics_registry/db/session.py - Patients → Samples: has samples
src/omics_registry/models/patient.py - Samples → Experiments: has experiments
src/omics_registry/models/sample.py - Experiments → Analyses: has analyses
src/omics_registry/models/experiment.py - Analyses → Result files: has outputs
src/omics_registry/models/analysis.py - GDC public metadata → Metadata fetch: provides metadata
README.md - Metadata fetch → Metadata curation: curates records
README.md - Metadata curation → Curated snapshot: produces snapshot
README.md - Curated snapshot → Database seeding: loads metadata
README.md - Database seeding → PostgreSQL: populates records
README.md