Implement Beacon v2 genomic data-sharing endpoint
- Dominant language
- Python
- Stars
- 30
- Forks
- 3
- Avg merge
- 9h 28m
- Merged PRs (30d)
- 42
Description
🤖 Written by Claude
Split from #40 (external DB API integrations).
Expose VariantGrid variants via a **Beacon v2** endpoint. Beacon v2 is the approved GA4GH standard (latest **v2.2.0**, July 2025); v1 is dead. v2 uses proper `/api/...` paths, so the old "endpoint must be at `/`" concern from #40 is resolved — we can host on e.g. `beacon.shariant.org`.
**What v2 offers over v1:** presence/counts, cohort/dataset metadata, phenotypic info, and access/contact details for follow-up, tiered by auth (boolean → counts → record-level for authorized users).
**Reference implementations**
- [`EGA-archive/beacon2-ri-api`](https://github.com/EGA-archive/beacon2-ri-api) + [`beacon2-ri-tools`](https://github.com/EGA-archive/beacon2-ri-tools) (CRG B2RI)
- [`ga4gh/ga4gh-starter-kit-beacon`](https://github.com/ga4gh/ga4gh-starter-kit-beacon)
**Work involved**
- ETL from `Variant`/`Allele` → Beacon v2 data model
- Map Guardian object-level permissions → Beacon auth tiers
- Optionally federate into the ELIXIR Beacon Network and/or register with the EGA-hosted registry (federated model — there is no single central server to "join")
Docs: https://docs.genomebeacons.org/
Contributor guide
No contributing guide indexed for this repository
Research direction
No repository files or tests are named. Start with the Beacon v2 documentation and the linked reference implementations, then inspect the Variant/Allele data and Guardian permissions mentioned in the issue. Done means exposing the Beacon v2 endpoint with the proposed data mapping and authentication tiers, with any federation or registry work clarified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, authentication, backend-api-design, bioinformatics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100