Skip to main content
Challenge

Build a Biopython FASTA Cleanser and IUPAC Code Quality Auditor

Audit high-throughput FASTA sequence submissions for non-standard nucleotide characters and low-complexity regions. Generate structured FHIR DiagnosticReport payloads with quality metrics.

Data ScienceHosted by Vera
Challenge brief

What you are building

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

Audit high-throughput FASTA sequence submissions for non-standard nucleotide characters and low-complexity regions. Generate structured FHIR DiagnosticReport payloads with quality metrics.

Sequencing Core Analyst

Read uploaded multi-FASTA files using Biopython SeqIO parsing iterators.

Identify ambiguous IUPAC nucleotide symbols, degenerate stretches, and uncalled base runs.

Compute per-sequence GC percentage, sequence length, and ambiguous character frequencies.

Construct FHIR Molecular Observation entries detailing quality scores for bioinformatic pipelines.

Interactive upload web portal with real-time sequence quality charts and downloadable audit reports.

Generate synthetic FASTA files with intentional IUPAC ambiguous characters (N, R, Y, S, W) locally. Starter examples below are synthetic. They are not downloaded records.

Biopython Uses Biopython Bio.SeqIO and sequence manipulation methods described in Biopython README and documentation.

langfuse, biopython, fastapi. Tracks audit latency, quality parameter distributions, and sequence drift metrics across incoming batches. Lightweight hosted language model for summarizing sequence anomaly reports into natural language.

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.

Flags non-IUPAC characters and calculates ambiguous base percentages accurately.

Serializes sequence quality statistics into valid FHIR Molecular Observation resources.

Processes multi-record FASTA files streaming line-by-line without high memory consumption.

```json [ { "input": { "record_id": "SEQ-001", "sequence": "ATGCGTACCGGTTACGTACCGTTAGGCTAGCTAGGCTACGTACGTAGCTAGCTAG" }, "expected_output": { "record_id": "SEQ-001", "length_bp": 56, "gc_content_pct": 51.79, "ambiguous_count": 0, "pass_qc": true, "fhir_observation_status": "final" } }, { "input": { "record_id": "SEQ-002", "sequence": "ATGCGNNNNCGGTTRYSTAGCTAGZZZCTAG" }, "expected_output": { "record_id": "SEQ-002", "length_bp": 31, "gc_content_pct": 38.71, "ambiguous_count": 8, "invalid_chars": [ "Z" ], "pass_qc": false, "fhir_observation_status": "preliminary" } } ] ```

Quality assurance on research and de-identified sequencing data only; no medical decision support. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Quality assurance on research and de-identified sequencing data only; no medical decision support. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Flags non-IUPAC characters and calculates ambiguous base percentages accurately. Serializes sequence quality statistics into valid FHIR Molecular Observation resources. Processes multi-record FASTA files streaming line-by-line without high memory consumption.

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

Read uploaded multi-FASTA files using Biopython SeqIO parsing iterators. Identify ambiguous IUPAC nucleotide symbols, degenerate stretches, and uncalled base runs. Compute per-sequence GC percentage, sequence length, and ambiguous character frequencies. Construct FHIR Molecular Observation entries detailing quality scores for bioinformatic pipelines.

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

Flags non-IUPAC characters and calculates ambiguous base percentages accurately. Serializes sequence quality statistics into valid FHIR Molecular Observation resources. Processes multi-record FASTA files streaming line-by-line without high memory consumption.

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

Interactive upload web portal with real-time sequence quality charts and downloadable audit reports.

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

Quality assurance on research and de-identified sequencing data only; no medical decision support.

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

  • Read uploaded multi-FASTA files using Biopython SeqIO parsing iterators.

  • Identify ambiguous IUPAC nucleotide symbols, degenerate stretches, and uncalled base runs.

  • Compute per-sequence GC percentage, sequence length, and ambiguous character frequencies.

  • Construct FHIR Molecular Observation entries detailing quality scores for bioinformatic pipelines.

Resources and assets

Reference links and supporting material

Dataset notes

Generate synthetic FASTA files with intentional IUPAC ambiguous characters (N, R, Y, S, W) locally. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

Langfuse

Open-source LLM observability and evals.

Evaluated output

No output checks are configured.

Evaluation checks
  • Read uploaded multi-FASTA files using Biopython SeqIO parsing iterators. Identify ambiguous IUPAC nucleotid...
  • Flags non-IUPAC characters and calculates ambiguous base percentages accurately. Serializes sequence qualit...
  • Interactive upload web portal with real-time sequence quality charts and downloadable audit reports.
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

Observation
  • Langfuse · Optional
Reward / Eval
  • Langfuse · 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 a Biopython FASTA Cleanser and IUPAC Code Quality Auditor