Skip to main content
Challenge

Build an NCBI Gene Package Splice Form Curation Agent

Ingest gene packages downloaded via NCBI Datasets to evaluate eukaryotic transcript sequences. Validate coding coordinates and structure curated transcript metrics into FHIR DiagnosticReport payloads.

Data ScienceHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Ingest gene packages downloaded via NCBI Datasets to evaluate eukaryotic transcript sequences. Validate coding coordinates and structure curated transcript metrics into FHIR DiagnosticReport payloads.

Biocurator

Download gene data packages containing transcript and protein FASTA using NCBI Datasets CLI arguments.

Parse multi-FASTA headers and sequence strings with Biopython to extract open reading frames.

Format transcript boundary evaluations and translation lengths into structured validation records.

Map transcript findings into FHIR DiagnosticReport and Observation resources for biocuration review.

Terminal command runner with browser-based split-view table displaying transcript alignments and FHIR JSON.

Download human gene package 672 via NCBI Datasets CLI sandbox using mock ZIP archives locally. Starter examples below are synthetic. They are not downloaded records.

NCBI Datasets gene download Uses NCBI Datasets CLI command options '--include gene,rna,cds,protein' to download multi-sequence zip archives.

pydantic-ai, biopython, fastapi. Validates structured schema objects representing transcript models before generating standard FHIR JSON payloads. Hosted LLM API with structured function calling support or local open model via Ollama.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Parses multi-sequence transcript FASTA files using Biopython without unhandled exception flags.

Emits valid JSON strictly matching FHIR R5 DiagnosticReport and Observation resource shapes.

Flags coding sequences missing valid ATG start codons or proper stop triplets.

```json [ { "input": { "gene_id": 672, "symbol": "BRCA1", "fasta_record": ">NM_007294.4 Homo sapiens BRCA1 transcript variant 1\nATGGATTTATCTGCTCTTCGCGTTGAAGAAGTACAAAATGTCATTAATGCTATGCAGAAAATCTTAGAGTGTCCCATCTGTCTGGAGTTGATCAAGGAACCTGTCTCCACAAAGTGTGACCACATATTTTGCAAATTTTGCATGCTGAAACTTCTCAACCAGAAGAAAGGGCCTTCACAGTGTCCTTTATGTAAGAATGATATAACCAAAAGGAGCCTACAAGAAAGTACGAGATTTAGTCAACTTGTTGAAGAGCTATTGAAAATCATTTGTGCTTTTCAGCTTGACACAGGTTTGGAGTATGCAAACAGCTATAATTTTGCAAAAAAGGAAAATAACTCTCCTGAACATCTAAAAGATGAAGTTTCTATCATCCAAAGTATGGGCTACAGAAACCGTGCCAAAAGACTTCTTACAGAAAGTGAACCCAAAATCCTCATTTGA" }, "expected_output": { "curation_status": "valid", "transcript_id": "NM_007294.4", "cds_length_bp": 348, "start_codon": "ATG", "stop_codon": "TGA", "in_frame": true, "fhir_resource": "DiagnosticReport" } }, { "input": { "gene_id": 672, "symbol": "BRCA1", "fasta_record": ">NM_truncated Homo sapiens BRCA1 incomplete\nCCATCTGTCTGGAGTTGATCAAGGAACCTGTCTCCACAAAGTGTGACCACATATTTTGC" }, "expected_output": { "curation_status": "flagged", "transcript_id": "NM_truncated", "cds_length_bp": 60, "start_codon": "CCA", "stop_codon": "TGC", "in_frame": false, "fhir_resource": "DiagnosticReport" } } ] ```

Synthetic and de-identified NCBI public reference data only; non-diagnostic curation sandbox without patient health identifiers. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Synthetic and de-identified NCBI public reference data only; non-diagnostic curation sandbox without patient health identifiers. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Parses multi-sequence transcript FASTA files using Biopython without unhandled exception flags. Emits valid JSON strictly matching FHIR R5 DiagnosticReport and Observation resource shapes. Flags coding sequences missing valid ATG start codons or proper stop triplets.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Download gene data packages containing transcript and protein FASTA using NCBI Datasets CLI arguments. Parse multi-FASTA headers and sequence strings with Biopython to extract open reading frames. Format transcript boundary evaluations and translation lengths into structured validation records. Map transcript findings into FHIR DiagnosticReport and Observation resources for biocuration review.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Parses multi-sequence transcript FASTA files using Biopython without unhandled exception flags. Emits valid JSON strictly matching FHIR R5 DiagnosticReport and Observation resource shapes. Flags coding sequences missing valid ATG start codons or proper stop triplets.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

Terminal command runner with browser-based split-view table displaying transcript alignments and FHIR JSON.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Synthetic and de-identified NCBI public reference data only; non-diagnostic curation sandbox without patient health identifiers.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Download gene data packages containing transcript and protein FASTA using NCBI Datasets CLI arguments.

  • Parse multi-FASTA headers and sequence strings with Biopython to extract open reading frames.

  • Format transcript boundary evaluations and translation lengths into structured validation records.

  • Map transcript findings into FHIR DiagnosticReport and Observation resources for biocuration review.

Resources and assets

Reference links and supporting material

Dataset notes

Download human gene package 672 via NCBI Datasets CLI sandbox using mock ZIP archives locally. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

Pydantic AI

Typed Python agent framework.

Evaluated output

No output checks are configured.

Evaluation checks
  • Download gene data packages containing transcript and protein FASTA using NCBI Datasets CLI arguments. Pars...
  • Parses multi-sequence transcript FASTA files using Biopython without unhandled exception flags. Emits valid...
  • Terminal command runner with browser-based split-view table displaying transcript alignments and FHIR JSON.
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 2 configured tools

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • Pydantic AI · Optional
Orchestration
  • Pydantic AI · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build an NCBI Gene Package Splice Form Curation Agent