Skip to content

CHEBI cleanup: fix 118 mislabeled id/label pairs across 105 files - #98

Merged
realmarcin merged 2 commits into
mainfrom
chebi-cleanup-pass
Jun 9, 2026
Merged

CHEBI cleanup: fix 118 mislabeled id/label pairs across 105 files#98
realmarcin merged 2 commits into
mainfrom
chebi-cleanup-pass

Conversation

@realmarcin

Copy link
Copy Markdown
Contributor

OAK-verified sweep of every id: CHEBI:* / label: pair in kb/communities/ against the live ChEBI sqlite db. Found 133 mismatching unique pairs; fixed 118 (304 line occurrences across 105 files). This clears the CHEBI-mislabel backlog accumulated across the #30 related_ingredients backfill PRs (#90#97).

Labels are always taken from OAK's canonical string, so id and label are guaranteed consistent after the fix.

Fix kinds

REPOINT (65 rules) — id resolved to a chemically unrelated compound; repointed to the correct id:

  • CHEBI:50885 "chalcopyrite" (fludrocortisone) → 86202; CHEBI:51905/46627 "pyrite" (calcein red-orange / hydrogen muonium) → 86471
  • CHEBI:48154 "chromate(2-)" (sulfur oxide) → 35404; CHEBI:30019 "vanadate(3-)" (selenomethionine residue) → 46442
  • REE cations Ce/La/Nd/Sm/Pr/Y/Yb/Tb, uranium(IV)/(VI), CHEBI:10106 "zinc sulfate" (zearalenone) → 35176
  • CHEBI:88613 "sodium butyrate" (a PI lipid) → 64103; CHEBI:48850 "N-acyl-homoserine lactone" (alkyloxynaphthalene) → 55474
  • CHEBI:27568 "sulfur atom" (selenium atom) → 26833; CHEBI:37686 "xylan" (alpha-D-allose) → 37166; CHEBI:16775 "propane-1,3-diol" → 16109; and more

RELABEL (53 rules) — id was the right compound; label was a synonym/charge/stereo/hydrate/plural drift; relabeled to canonical:

  • hydrogendihydrogen, tryptophanL-tryptophan, cellulose(1->4)-beta-D-glucan, acetateacetic acid, calcium chloridecalcium dichloride, etc.

Left untouched (15 pairs, no clean CHEBI term)

vanadyl cation, iron(II) sulfate (anhydrous), chromium(III) hydroxide, humic acid, uranyl(2+), organic matter, dysprosium(3+), three long-chain N-acyl-homoserine lactones, lead sulfide, zinc sulfide, sodium metasilicate, (2Z)-2-dodecenoic acid, yeast extract. These need a dedicated CHEBI term (or removal) — flagged for manual follow-up.

Tooling (added under scripts/)

  • chebi_label_audit.py — reusable QC tool: reports every id/label mismatch vs OAK
  • chebi_fix_apply.py — the one-time correction map applied here (full provenance of the edits)

Test plan

  • just test → 136 passed, 9 skipped
  • All 105 changed files validate clean (linkml-validate)
  • Re-audit drops 133 → 15 mismatches (all intentional skips)

🤖 Generated with Claude Code

… files

OAK-verified sweep of every `id: CHEBI:* / label:` pair in
kb/communities against the live ChEBI sqlite db. Found 133 mismatching
unique pairs; fixed 118 (304 line occurrences across 105 files).

Two fix kinds, both with labels taken from OAK's canonical string so id
and label are guaranteed consistent:
- REPOINT (65 rules): id resolved to a chemically unrelated compound;
  repointed to the correct id. Examples: chalcopyrite CHEBI:50885
  (fludrocortisone) -> 86202; pyrite 51905 (calcein red-orange)/46627 ->
  86471; chromate(2-) 48154 (sulfur oxide) -> 35404; vanadate(3-) 30019
  (selenomethionine residue) -> 46442; the REE cations (Ce/La/Nd/Sm/Pr/
  Y/Yb/Tb), uranium(IV)/(VI), zinc sulfate (zearalenone) -> 35176,
  sodium butyrate (a PI lipid) -> 64103, N-acyl-homoserine lactone
  (alkyloxynaphthalene) -> 55474, sulfur atom (selenium atom) -> 26833,
  xylan (alpha-D-allose) -> 37166, propane-1,3-diol -> 16109, etc.
- RELABEL (53 rules): id was the correct compound but the label was a
  synonym/charge/stereo/hydrate/plural drift; relabeled to canonical
  (e.g. hydrogen -> dihydrogen, tryptophan -> L-tryptophan, cellulose ->
  (1->4)-beta-D-glucan, acetate -> acetic acid, calcium chloride ->
  calcium dichloride).

15 pairs left untouched (no clean CHEBI term): vanadyl cation, iron(II)
sulfate (anhydrous), chromium(III) hydroxide, humic acid, uranyl(2+),
organic matter, dysprosium(3+), three long-chain N-acyl-homoserine
lactones, lead sulfide, zinc sulfide, sodium metasilicate,
(2Z)-2-dodecenoic acid, yeast extract. These need a dedicated CHEBI
term (or removal) and are flagged for manual follow-up.

Tooling added under scripts/:
- chebi_label_audit.py  - reusable QC: reports id/label mismatches vs OAK
- chebi_fix_apply.py     - the one-time correction map applied here

Test plan: just test (136 passed, 9 skipped); all 105 changed files
validate clean; re-audit drops 133 -> 15 mismatches (all intentional).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 3, 2026 02:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR performs a repo-wide data-quality sweep to ensure every CHEBI:* id: / label: pair in kb/communities/ matches OAK’s canonical ChEBI label, reducing accumulated CHEBI mislabels from prior backfill work and providing tooling to re-run the audit/correction process.

Changes:

  • Add two scripts to (1) audit CHEBI id/label consistency vs OAK canonical labels and (2) apply a curated correction map.
  • Apply bulk CHEBI repoints/relabels across a large set of community YAMLs to make term.id and term.label consistent.

Reviewed changes

Copilot reviewed 107 out of 107 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
scripts/chebi_label_audit.py New audit script to report CHEBI id/label mismatches against OAK canonical labels.
scripts/chebi_fix_apply.py New apply script to mass-correct known mismatching CHEBI id/label pairs across community YAMLs.
kb/communities/Wheat_Consortium_C6.yaml Updates a CHEBI term id to the corrected violacein identifier while keeping label consistent.
kb/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml Relabels CHEBI terms to canonical strings (e.g., thiamine/pantothenate).
kb/communities/Trichodesmium_Alteromonas_Marine_Consortium.yaml Relabels phosphate CHEBI label to canonical form.
kb/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml Relabels cellulose CHEBI label to canonical form across multiple occurrences.
kb/communities/Trichoderma_Lactate_Platform.yaml Relabels cellulose CHEBI label to canonical form.
kb/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml Relabels cellulose CHEBI label to canonical form in metabolites and growth media.
kb/communities/Tinto_River_Iron_Cycling_Community.yaml Repointer/relabler updates for sulfur and sulfide CHEBI terms.
kb/communities/THOR_Rhizosphere_Model_Community.yaml Repointer update for alkaloid-class CHEBI id used as placeholder.
kb/communities/Thermophilic_Pyrite_QS_Consortium.yaml Repointer updates for pyrite/chalcopyrite and other CHEBI corrections.
kb/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml Relabels benzoate CHEBI label to canonical acid form across sections.
kb/communities/Syntrophus_Benzoate_Degrader.yaml Relabels benzoate CHEBI label to canonical acid form.
kb/communities/Syntrophomonas_Methanospirillum_Syntrophy.yaml Repointer/relabel updates for multiple growth media CHEBI terms.
kb/communities/Syntrophobacter_Methanospirillum_Syntrophy.yaml Repointer/relabel updates for multiple growth media CHEBI terms.
kb/communities/Synechococcus_Azotobacter_Photoproduction_Mutualism.yaml Relabels nitrogen CHEBI label to canonical dinitrogen in multiple places.
kb/communities/Stordalen_Mire_Methylotrophic_Methanogenesis_Community.yaml Repointer update for methylamine CHEBI id.
kb/communities/Soybean_N_Fixation_sfSynCom.yaml Repointer/relabel updates for AHLs and several growth media CHEBI labels.
kb/communities/Soil_Corrinoid_B12_Reservoir_Community.yaml Relabels cobalamin CHEBI label to canonical plural form.
kb/communities/SF356_Cellulose_Degrader.yaml Relabels cellulose CHEBI label to canonical form across multiple occurrences.
kb/communities/Salar_Atacama_Lithium_Brine_Community.yaml Relabels lithium CHEBI label to canonical ionic form.
kb/communities/Saccharomyces_Acinetobacter_Lignocellulose_Detox_Coculture.yaml Repointer update for 5-hydroxymethylfurfural CHEBI id/label alignment.
kb/communities/Saanich_Inlet_OMZ_Redox_Gradient_Community.yaml Relabels nitrous oxide CHEBI label to canonical form.
kb/communities/Rifle_Uranium_Reducing_Community.yaml Repointer updates for uranium oxidation-state CHEBI ids/labels across multiple sections.
kb/communities/Richmond_Mine_AMD_Biofilm.yaml Repointer/relabel updates for pyrite/sulfur and selected growth media CHEBI labels.
kb/communities/Rice_Duckweed_Bacillus_SynCom.yaml Relabels indole-3-acetic acid CHEBI label to canonical form.
kb/communities/Rhodopseudomonas_Geobacter_Magnetite_Redox_Coculture.yaml Relabels magnetite CHEBI label to canonical form across multiple occurrences.
kb/communities/Rammelsberg_Cobalt_Nickel_Tailings.yaml Repointer update for sulfur atom CHEBI id.
kb/communities/Pseudonitzschia_Sulfitobacter_Association.yaml Repointer/relabel updates for several growth media CHEBI ids/labels.
kb/communities/Pseudomonas_Rhodococcus_Chloronitrobenzene_Coculture.yaml Relabels chloronitrobenzene CHEBI label to canonical IUPAC-style name in multiple sections.
kb/communities/Propanotrophic_Chlorinated_Ethene_Cometabolism_Enrichment.yaml Repointer updates for chloroethene CHEBI ids.
kb/communities/Polaromonas_Vanadium_Reduction_Community.yaml Repointer updates for vanadate/vanadium dioxide CHEBI ids in multiple sections.
kb/communities/Phormidium_Alkaline_Consortium.yaml Relabels thiamine CHEBI label to canonical ionic form.
kb/communities/Phenol_Carboxylation_Consortium.yaml Relabels benzoate CHEBI label to canonical acid form.
kb/communities/PGM_Spent_Catalyst_Bioleaching.yaml Repointer/relabel updates for palladium and other CHEBI terms used in the record.
kb/communities/Pelotomaculum_Methanothermobacter_Syntrophy.yaml Repointer/relabel updates for multiple growth media CHEBI terms.
kb/communities/Panzhihua_Vanadium_Titanium_Tailings.yaml Repointer updates for ACC and cellulose CHEBI term usage.
kb/communities/Ostreococcus_Dinoroseobacter_BVitamin_Mutualism.yaml Relabels thiamine CHEBI label to canonical ionic form.
kb/communities/ORNL_Clostridium_Desulfovibrio_Geobacter_Trophic_Model.yaml Relabels fumarate CHEBI label to canonical acid form.
kb/communities/Okeke_Lu_Cellulolytic_Consortium.yaml Repointer/relabel updates for cellulose/xylan and other CHEBI terms.
kb/communities/Oak_Ridge_FRC_Uranium_Nitrate_Groundwater_Community.yaml Repointer updates for uranium(VI) CHEBI id/label.
kb/communities/Ngawha_Geothermal_Mercury_Cycling_Community.yaml Repointer update for methylmercury CHEBI id.
kb/communities/Neocallimastix_Methanobrevibacter_Xylan_Coculture.yaml Repointer updates for xylan CHEBI id across multiple occurrences.
kb/communities/Naica_Deep_Subsurface_Thermophilic.yaml Relabels hydrogen CHEBI label to canonical dihydrogen.
kb/communities/MSC2_Model_Soil_Consortium.yaml Repointer update for chitin CHEBI id.
kb/communities/MSC1_Dominant_Core.yaml Repointer/relabel updates for chitin/chitooligosaccharide and other CHEBI terms.
kb/communities/Mixed_Gallium_LED_Recovery_Consortium.yaml Relabels gallium CHEBI label to canonical form.
kb/communities/Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture.yaml Repointer update for coproporphyrin III CHEBI id.
kb/communities/Mercury_SFA_EFPC_Sediment_Community.yaml Repointer update for methylmercury CHEBI id.
kb/communities/MAMC_M48_Lignocellulose.yaml Repointer/relabel updates for cellulose/xylan CHEBI terms.
kb/communities/Lotus_LjSC3.yaml Relabels calcium chloride CHEBI label to canonical form.
kb/communities/KBase_Synthetic_Bacterial_Community_R2A.yaml Relabels purine CHEBI label to canonical plural form.
kb/communities/KBase_ORT_Workflow_Community_Model.yaml Relabels multiple CHEBI labels to canonical forms (e.g., dinitrogen, glycine betaine).
kb/communities/KBase_Models_for_Zahmeeth_Original_PLOS.yaml Repointer update for dextrin CHEBI id.
kb/communities/Ion_Adsorption_REE_Indigenous_Community.yaml Repointer/relabel updates for REE/phosphate CHEBI terms.
kb/communities/Industrial_Bioreactor_Consortium.yaml Repointer update for chalcopyrite CHEBI id.
kb/communities/Iberian_Pit_Lake_Stratified_Community.yaml Repointer update for copper(II) sulfide CHEBI id.
kb/communities/High_Solids_Switchgrass_Methanogenic_Microbiome.yaml Repointer/relabel updates for cellulose/xylan CHEBI terms.
kb/communities/Hanford_300_Area_Unconfined_Aquifer_Community.yaml Repointer update for uranium(VI) CHEBI id/label.
kb/communities/GOM_Oil_Degrading_Consortium.yaml Repointer updates for PAH/alkane CHEBI ids.
kb/communities/GLBRC_UFMP_Fermentation_Community.yaml Relabels multiple organic acid CHEBI labels to canonical forms.
kb/communities/GLBRC_Populus_Variovorax_SynCom28.yaml Relabels L-fucose CHEBI label to canonical form.
kb/communities/Geobacter_Methanosarcina_DIET.yaml Repointer updates for cysteine and sodium sulfide CHEBI terms in growth media.
kb/communities/Geobacter_Methanosaeta_DIET.yaml Repointer updates for cysteine and sodium sulfide CHEBI terms in growth media.
kb/communities/Geobacter_Clostridium_DIET.yaml Repointer/relabel updates for multiple growth media and metabolite CHEBI terms.
kb/communities/Ferroplasma_Leptospirillum_Syntrophy.yaml Repointer/relabel updates for pyrite/chalcopyrite and other growth media CHEBI terms.
kb/communities/Emiliania_Phaeobacter_Dynamic_Interaction.yaml Relabels tryptophan CHEBI label to canonical L-tryptophan.
kb/communities/EcoFAB_Ring_Trial_SynCom17.yaml Repointer/relabel updates for shikimate/coumarate CHEBI terms.
kb/communities/East_River_Floodplain_Core_Microbiome.yaml Relabels thiosulfate CHEBI label to canonical charge form.
kb/communities/Drought_Rhizosphere_Iron_Actinobacteria_Community.yaml Relabels iron CHEBI label to canonical form.
kb/communities/Desulfovibrio_Methanococcus_Syntrophy.yaml Repointer/relabel updates for multiple growth media CHEBI terms.
kb/communities/Cyprus_Copper_Sulphide_Bioleaching_Consortium.yaml Repointer updates for chalcopyrite/chalcocite CHEBI ids.
kb/communities/Coscinodiscus_Synthetic_Community.yaml Repointer/relabel updates for multiple growth media and metabolite CHEBI terms.
kb/communities/Copper_Biomining_Heap_Leach.yaml Repointer/relabel updates for chalcopyrite and multiple growth media CHEBI terms.
kb/communities/Coniochaeta_Sphingobacterium_Citrobacter_Wheat_Straw_Consortium.yaml Repointer/relabel updates for cellulose/xylan CHEBI terms.
kb/communities/Clostridium_Thermocellum_Saccharoperbutylacetonicum_Cellulosic_Butanol_Coculture.yaml Relabels cellulose CHEBI label to canonical form in multiple sections.
kb/communities/Clostridium_Thermoanaerobacterium_JN4_GD17_Cellulosic_Biofuel_Coculture.yaml Relabels cellulose CHEBI label to canonical form in multiple sections.
kb/communities/Clostridium_Thermoanaerobacter_Cellulosic_Bioethanol_Coculture.yaml Relabels cellulose CHEBI label to canonical form in multiple sections.
kb/communities/Clostridium_Saccharomyces_Cellulose_Ethanol_Coculture.yaml Relabels cellulose CHEBI label to canonical form in multiple sections.
kb/communities/Clostridium_Phytofermentans_Ecoli_Cellobiose_Biofilm_Consortium.yaml Relabels citrate CHEBI label to canonical acid form.
kb/communities/Clostridium_Ljungdahlii_Kluyveri_Syngas_Alcohol_Coculture.yaml Relabels hydrogen and organic acid CHEBI labels to canonical forms across sections.
kb/communities/Clostridium_Cellulovorans_Rhodopseudomonas_Cellulose_Biohydrogen_Coculture.yaml Relabels cellulose CHEBI label to canonical form in multiple sections.
kb/communities/Clostridium_Cellulovorans_Methanosarcina_Cellulose_Methane_Coculture.yaml Relabels cellulose CHEBI label to canonical form in multiple sections.
kb/communities/Clostridium_Cellulolyticum_Geobacter_Cellulose_MFC_Coculture.yaml Relabels cellulose CHEBI label to canonical form across multiple occurrences.
kb/communities/Clostridium_Carboxidivorans_Kluyveri_CO_Chain_Elongation_Coculture.yaml Relabels hexanoate CHEBI label to canonical acid form.
kb/communities/Clostridium_Caldicellulosiruptor_Minimal_Medium_Coculture.yaml Repointer/relabel updates for cellulose/xylan CHEBI terms in multiple sections.
kb/communities/Cinnamate_Degradation_Consortium.yaml Relabels cinnamate/benzoate and hydrogen CHEBI terms to canonical ids/labels.
kb/communities/Chromium_Sulfur_Reduction_Enrichment.yaml Repointer/relabel updates for chromate/chromium/sulfur and thiosulfate CHEBI terms.
kb/communities/Chlorella_Ecoli_Mixotrophic_Biofuel_Coculture.yaml Relabels D-glucose CHEBI label to canonical form across multiple occurrences.
kb/communities/Chlorella_Azospirillum_Synthetic_Mutualism.yaml Relabels thiamine CHEBI label to canonical ionic form.
kb/communities/Chlamydomonas_Methylobacterium_Mutualism.yaml Relabels Tris CHEBI label to canonical form.
kb/communities/Chlamydomonas_Bacterial_H2_Consortium.yaml Repointer/relabel updates for hydrogen/Tris/mannitol CHEBI terms.
kb/communities/Cellulomonas_Rhodobacter_Cellulose_Photohydrogen_Coculture.yaml Relabels cellulose CHEBI label to canonical form in multiple sections.
kb/communities/Caldicellulosiruptor_TwoSpecies_Hydrogen_Coculture.yaml Relabels hydrogen CHEBI label to canonical dihydrogen.
kb/communities/Caldibacillus_Clostridium_Aerotolerant_Cellulose_Coculture.yaml Relabels cellulose CHEBI label to canonical form in multiple sections.
kb/communities/BioModels_MODEL2209060002_DPigrum_SAureus_Community.yaml Relabels lactate CHEBI label to canonical stereospecific acid form.
kb/communities/BioModels_MODEL2204300001_Kefir_Community_Model.yaml Relabels lactate CHEBI label to canonical stereospecific acid form across occurrences.
kb/communities/BioModels_MODEL1806250005_Cicada_Sulcia_Hodgkinia.yaml Relabels nitrogen CHEBI label to canonical atom form across occurrences.
kb/communities/BioModels_MODEL1806250004_Sharpshooter_Sulcia_Baumannia.yaml Relabels nitrogen CHEBI label to canonical atom form across occurrences.
kb/communities/BioModels_MODEL1806250003_Spittlebug_Sulcia_Sodalis.yaml Relabels nitrogen CHEBI label to canonical atom form across occurrences.
kb/communities/Bifidobacterium_Ruminococcus_Infant_HMO_CrossFeeding.yaml Repointer/relabel updates for 2'-fucosyllactose and lactose CHEBI terms.
kb/communities/Bayan_Obo_REE_Tailings_Consortium.yaml Repointer/relabel updates for REE terms and relabels lactic acid CHEBI label to canonical form.
kb/communities/Bacteroides_Eubacterium_Gnotobiotic_Gut_Model.yaml Repointer update for glycoprotein CHEBI id used for mucin glycans.
kb/communities/Australian_Lead_Zinc_Polymetallic.yaml Repointer updates for ferrihydrite and chalcopyrite CHEBI ids.
kb/communities/AMD_Acidophile_Heterotroph_Network.yaml Relabels phosphate CHEBI label to canonical charge form.
kb/communities/Acetobacterium_Clostridium_CO2_Electrolysis_Coculture.yaml Relabels hexanoate CHEBI label to canonical acid form.
kb/communities/Aalborg_East_Full_Scale_EBPR_Community.yaml Relabels phosphate CHEBI label to canonical charge form.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/chebi_label_audit.py
Comment thread scripts/chebi_label_audit.py
Comment thread scripts/chebi_fix_apply.py
Closer OAK search resolved 4 of the 15 previously-residual pairs:
- iron(II) sulfate (anhydrous)  CHEBI:31437 -> 75832
- (2Z)-2-dodecenoic acid (BDSF) CHEBI:87659 -> 38372 (cis-2-dodecenoic acid)
- vanadyl cation                CHEBI:30320 -> 30046 (oxidovanadium(2+))
- dysprosium(3+)                CHEBI:49782 -> 33377 (dysprosium atom; no 3+ cation term exists)

9 line occurrences across 6 files. Re-audit now 133 -> 11 mismatches.

The remaining 11 have no clean CHEBI term and need a minted term or
removal: lead sulfide, zinc sulfide, sodium metasilicate, chromium(III)
hydroxide, humic acid, uranyl(2+), organic matter, three long-chain
N-acyl-homoserine lactones (C14 / 3-OH-C12 / 3-OH-C14), yeast extract.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
realmarcin added a commit that referenced this pull request Jun 9, 2026
Closes the metals-cohort tail (gallium/vanadium/lithium/pyrite-QS/mercury).
CHEBI ids verified live via OAK; snippets verbatim from cached abstracts.

related_ingredients adoption: 80/265 -> 86/265.

| Community | Ingredients (CHEBI-verified) |
|---|---|
| Mixed_Gallium_LED_Recovery_Consortium | gallium(3+) |
| Polaromonas_Vanadium_Reduction_Community | vanadate(3-), oxidovanadium(2+) |
| Salar_Atacama_Lithium_Brine_Community | lithium chloride, lithium(1+), sodium chloride, magnesium dichloride |
| Thermophilic_Pyrite_QS_Consortium | pyrite, chalcopyrite, iron(2+), cis-11-Methyl-2-dodecenoic acid (DSF) |
| Mercury_SFA_EFPC_Sediment_Community | mercury(2+), methylmercury(1+), sulfide, secondary alcohol |
| Ngawha_Geothermal_Mercury_Cycling_Community | mercury(2+), mercury(0), methylmercury(1+), sulfur atom |

Mixed_Gallium got only 1 ingredient (its sole reference has no cached
abstract body, only the title) and also has pre-existing fabricated
snippets unrelated to gallium - flagged for a separate evidence-repair pass.

Pre-existing CHEBI bugs flagged here overlap with those already fixed in
the chebi-cleanup PR (#98); these files' metabolites blocks will be
corrected when that merges. New finding: vanadyl cation CHEBI:30320
(currently unmapped) has a valid id CHEBI:30046 (oxidovanadium(2+)) -
worth folding into a CHEBI-cleanup follow-up.

Test plan: just test (136 passed, 9 skipped), all 6 files validate clean.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
realmarcin added a commit that referenced this pull request Jun 9, 2026
Backfills the substrate-chemistry-bearing subset of the agricultural /
SynCom files (denitrification, nitrification, bioremediation, P-uptake,
methane-Cr coupling, straw/lignocellulose degradation). CHEBI ids
verified live via OAK; snippets verbatim from cached abstracts.

related_ingredients adoption: 87/265 -> 97/265.

| Community | Ingredients (CHEBI-verified) |
|---|---|
| Aerobic_Denitrification_QQ_SynCom | nitrate, nitrite, N-(3-oxododecanoyl)-L-homoserine lactone, pyocyanine |
| ENIGMA_Denitrifying_SynCom | nitrate, nitrite, nitric oxide, dinitrogen oxide |
| Urine_Nitrification_SynCom | urea, ammonium, nitrate |
| Rice_P_Uptake_Intercropping_SynCom4 | phosphorus atom, phosphate, phosphate ion |
| Tribromophenol_Anaerobic_Bioremediation_SynCom | 2,4,6-tribromophenol, phenol, glucose |
| Methane_Oxidation_CrVI_Reduction_SynCom | methane, chromate(2-) |
| Multiomics_Corn_Straw_Degradation_SynCom | lignocellulose, cellulose, hemicellulose, lignin |
| Coniochaeta_..._Wheat_Straw_Consortium | lignocellulose, cellulose, xylan, hemicellulose |
| Wheat_Straw_Biogas_Pretreatment_SynCom | lignocellulose, cellulose, hemicellulose |
| Bacillus_Bradyrhizobium_Straw_Humification_SynCom | lignocellulose, cellulose, lignin, xylan |

2 of the 12 attempted yielded 0 (abstracts too generic): the
Aerobic_Denitrification_Disturbance and Phylogenetically_Diverse
denitrifying SynComs name no N-cycle compound verbatim. The remaining
~38 agri/biocontrol SynComs (Banana/Pepper/Watermelon/nematode etc.) are
expected to be similarly thin and were not attempted in this batch.

Pre-existing CHEBI bugs in Coniochaeta growth_media/metabolites
(CHEBI:37686 "xylan"=alpha-D-allose; CHEBI:18246 label "cellulose") are
already fixed in the chebi-cleanup PR (#98).

Test plan: just test (136 passed, 9 skipped), all 10 files validate clean.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@realmarcin
realmarcin merged commit 46e5ad9 into main Jun 9, 2026
1 check passed
@realmarcin
realmarcin deleted the chebi-cleanup-pass branch June 9, 2026 00:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants