Bacterial multi-phenotype profile from genome, family-holdout blind eval

organismtier T210 h budgetheadline: Compositesuite bacdive_multitrait v1
About this task

Predict a joint phenotypic profile for held-out bacterial families from the genome assembly alone. Agent gets an NCBI assembly accession + phylum per strain and, for training strains, up to 18 phenotype labels covering growth conditions (oxygen tolerance, optimum temperature and pH, temperature range), morphology and dispersal (gram, cell shape, motility, sporulation), and metabolic pathways (nitrogen fixation, nitrate reduction, denitrification, sulfate reduction, fermentation, and four carbohydrate / metal degradation pathways). Not every training strain has every label; missing values are NaN. This is the microbiome-research use case for genome→phenotype inference: a metagenomic study identifies a novel bacterial lineage, and the researcher needs to know what culture conditions would grow it, what niche it fills, and what it does metabolically. Prior tools (Traitar for traits, gRodon for growth rate, dbCAN for CAZy) each handle a slice; this is the first unified family-holdout benchmark. Feature choice is on the agent: annotated proteomes, HMMER against Pfam / KEGG / CAZy / marker sets, codon-usage-bias models, protein language models on marker regions, whole-genome k-mer profiles — any approach that maps assembly + phylum to phenotype.

Best Composite
0.699
Unknown agent
Best score vs SOTA
0.69
1.0 = reference baseline
Agent runs
1
1 reference results
Last run
Jul 21, 2026
18 core datasets · 0 private

Leaderboard

Ranked by suite score (normalized, 1.0 = SOTA). Dataset cells show normalized values; hover for raw values and CIs.

#RunIntegrity
RefLiterature reference bars—1.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.001.00——
1Unknown agent20260721T0424380.6990.690.540.960.860.881.100.861.120.290.311.300.260.330.830.230.420.060.300.06Pending—Jul 21, 2026

* partial suite score (some core datasets not evaluated). ≈ approximate reference value. “inf.” = agent / effort inferred from the run id or trace (no run_meta.json).

Per-dataset results

Every run on every dataset, against chance, the reference baseline and SOTA. Filters above apply.

agent runbest runbaselineSOTAreferencechance95% CI privateRaw metric values; each row has its own axis.
GROWTH CONDITIONSoxygen tolerance Macro F10.220.73temperature range Macro F10.230.62optimum temperature c Spearman ρ-0.040.74optimum ph Spearman ρ-0.020.37MORPHOLOGY & DISPERSALgram positive AUROC0.471.03sporulation AUROC0.480.92motility AUROC0.480.91cell shape Macro F10.120.57METABOLIC PATHWAYSnitrogen fixation AUPRC0.010.95nitrate reduction AUPRC0.590.81denitrification AUPRC-0.010.79sulfate reduction AUPRC-0.040.85fermentation AUPRC0.120.68cellulose degradation AUPRC0.020.79xylan degradation AUPRC0.000.74chitin degradation AUPRC-0.030.74fumarate reduction AUPRC0.010.58iron reduction AUPRC0.020.63

Suite datasets

From suite.yaml. Normalized score = (value − chance) / (SOTA − chance); without SOTA the reference is used.

DatasetVisibilityMetricChanceReferenceSOTASource
Growth conditions
oxygen tolerancepublicMacro F10.2500.700 literature bar—per_target.oxygen_tolerance
temperature rangepublicMacro F10.2500.600 literature bar—per_target.temperature_range
optimum temperature cpublicSpearman ρ0.0000.700 literature bar—per_target.optimum_temperature_c
optimum phpublicSpearman ρ0.0000.350 literature bar—per_target.optimum_ph
Morphology & dispersal
gram positivepublicAUROC0.5000.950 literature bar—per_target.gram_positive_prob
sporulationpublicAUROC0.5000.900 literature bar—per_target.sporulation_prob
motilitypublicAUROC0.5000.850 literature bar—per_target.motility_prob
cell shapepublicMacro F10.1430.550 literature bar—per_target.cell_shape
Metabolic pathways
nitrogen fixationpublicAUPRC0.0610.900 literature bar—per_target.pathway_nitrogen_fixation_prob
nitrate reductionpublicAUPRC0.5970.750 literature bar—per_target.pathway_nitrate_reduction_prob
denitrificationpublicAUPRC0.0340.750 literature bar—per_target.pathway_denitrification_prob
sulfate reductionpublicAUPRC0.0110.800 literature bar—per_target.pathway_sulfate_reduction_prob
fermentationpublicAUPRC0.1520.650 literature bar—per_target.pathway_fermentation_prob
cellulose degradationpublicAUPRC0.0650.750 literature bar—per_target.pathway_cellulose_degradation_prob
xylan degradationpublicAUPRC0.0420.700 literature bar—per_target.pathway_xylan_degradation_prob
chitin degradationpublicAUPRC0.0150.700 literature bar—per_target.pathway_chitin_degradation_prob
fumarate reductionpublicAUPRC0.0380.550 literature bar—per_target.pathway_fumarate_reduction_prob
iron reductionpublicAUPRC0.0530.600 literature bar—per_target.pathway_iron_reduction_prob

Prompt

Exactly what the agent receives.

Show the full prompt

BioModelBench — Bacterial multi-phenotype profile (bacdive_multitrait)

Task

For each row in test.parquet, predict a joint phenotypic profile for that strain across 18 targets covering growth conditions, cell properties, and metabolic pathways. Test strains are drawn from bacterial families disjoint from the training set. You get the NCBI assembly accession + phylum for each strain — no genus, species, family, strain name, or organism name.

What's shipped

train.parquet

Columns:

  • assembly_accession (string, e.g. GCF_000005845.2)
  • phylum (string, coarse taxonomy)
  • 18 label columns (below). Some cells will be NaN — not every training species has every phenotype characterized. Handle missing-target training gracefully.

test.parquet

Columns: assembly_accession, phylum. No labels.

answer.parquet schema — 19 columns

columntypenotes
assembly_accessionstringone row per test strain
gram_positive_probfloat ∈ [0,1]probability strain is Gram-positive
oxygen_tolerancestring labelone of: aerobic, anaerobic, facultative, microaerophilic
optimum_temperature_cfloat°C, growth optimum
optimum_phfloatpH units
temperature_rangestring labelone of: psychrophilic, mesophilic, thermophilic, extreme_thermophilic
sporulation_probfloat ∈ [0,1]probability strain forms endospores
motility_probfloat ∈ [0,1]probability strain is motile
cell_shapestring labelone of: bacillus, coccus, spiral, coccobacillus, vibrio, filament, other
pathway_nitrogen_fixation_probfloat ∈ [0,1]encodes N₂ fixation machinery
pathway_nitrate_reduction_probfloat ∈ [0,1]reduces NO₃⁻ (assimilatory or dissimilatory)
pathway_denitrification_probfloat ∈ [0,1]full denitrification pathway
pathway_sulfate_reduction_probfloat ∈ [0,1]dissimilatory sulfate reduction
pathway_fermentation_probfloat ∈ [0,1]fermentative metabolism
pathway_cellulose_degradation_probfloat ∈ [0,1]cellulolytic
pathway_xylan_degradation_probfloat ∈ [0,1]xylanolytic
pathway_chitin_degradation_probfloat ∈ [0,1]chitinolytic
pathway_fumarate_reduction_probfloat ∈ [0,1]fumarate as terminal electron acceptor
pathway_iron_reduction_probfloat ∈ [0,1]dissimilatory Fe(III) reduction

Every column must be present. Use NaN if you decline to predict a value — the grader will count that as coverage loss.

Compute

Modal container: A10G GPU (24 GB VRAM), 8 CPUs, 96 GB RAM. Python 3.11 with torch / transformers / peft / xgboost / lightgbm / scikit-learn / pandas / pyarrow / numpy / pyBigWig / pysam / biopython / requests pre-installed. pip install <x> works.

Budget: ~10 hours of GPU compute. Use it. Even after you produce a valid answer.parquet, keep iterating until the budget is exhausted. The runner will relaunch your session with a continuation prompt if you exit early — don't finalize prematurely.

Deliverables

  • answer.parquet — 19 columns as above, one row per test strain.
  • method.md (< 500 words).
  • training_manifest.json — every URL / API / dataset touched.

What the grader does

Joins your answer.parquet against the hidden per-target labels on assembly_accession. For each target independently, computes the per-target metric on the subset of test strains where the ground-truth label is not NaN. Reports:

  • Per-target: primary metric + coverage + baseline gap
  • Per-tier: normalized composite (Tier 1 growth, Tier 2 morphology, Tier 3 metabolism)
  • Overall: weighted composite

Metrics by target type:

  • Binary probability targets → AUPRC + AUROC + Brier
  • Multiclass label targets → macro-F1 + balanced accuracy
  • Continuous float targets → Spearman ρ + MAE
  • Pathway probability targets → AUPRC + AUROC

Reference bars (family-holdout, from literature)

Tier 1 (growth & culturability, weight 0.40):

TargetMetricRef baseline
oxygen_tolerancemacro-F10.70
optimum_temperature_cSpearman ρ0.70
optimum_phSpearman ρ0.35
temperature_rangemacro-F10.60

Tier 2 (morphology & dispersal, weight 0.30):

TargetMetricRef baseline
gram_positive_probAUROC0.95
sporulation_probAUROC0.90
motility_probAUROC0.85
cell_shapemacro-F10.55

Tier 3 (metabolic pathways, weight 0.30, averaged macro-AUPRC ≈ 0.72):

PathwayAUPRC ref
nitrogen_fixation0.90
sulfate_reduction0.80
nitrate_reduction0.75
denitrification0.75
cellulose_degradation0.75
xylan_degradation0.70
chitin_degradation0.70
fermentation0.65
iron_reduction0.60
fumarate_reduction0.55

Base rates on the test partition and per-target coverage are reported in hidden/build_stats.json post-build.