Backfill related_ingredients in 5 cereal SynCom files via PMC full text (round 6) - #123
Conversation
…xt (round 6) Round 6 of the deferred ~38 biocontrol/agri backfill. Switched from abstract- only to PMC full-text scanning via the BioC PMC API, which unlocked named metabolites that were buried in methods/results sections rather than in abstracts. Cached the BioC full-text alongside the existing abstracts. Files backfilled (10 new related_ingredients across 5 cereal-system SynComs): - Maize_Drought_Response_SynCom → L-proline (CHEBI:17203), glycine betaine (CHEBI:17750). Source: PMID:34745050 — SynCom members enriched in ABC-type transporters for plant osmolytes (proline, glycine betaine, sugars, amino acids), driving cross-feeding underlying maize drought tolerance. - Wheat_Consortium_C1 + Wheat_Consortium_C6 → indole-3-acetic acid (CHEBI:16411), hydrogen cyanide (CHEBI:18407). Source: PMID:36118206 — all 10 SynComs produce auxin; Pseudomonas sp. P25 produces antifungal HCN against R. solani AG8. - Jala_Maize_PGPB_SynCom → indole-3-acetic acid (CHEBI:16411), pyrrolnitrin (CHEBI:32079), 1-aminocyclopropanecarboxylic acid (CHEBI:18053). Source: PMID:37275168 — Jala-landrace endophytes screened on IAA / ACC deaminase traits; P. protegens deploys pyrrolnitrin among other biocontrol metabolites. - Teosinte_Maize_Biofertilizer_SynCom7 → indole-3-acetic acid (CHEBI:16411). Source: PMID:40270813 — screening on IAA + nitrogen fixation + P-solubilization. All snippets verbatim from the cached full-text files. Every CHEBI id was `runoak info`-verified pre-commit. Adoption: 114 → 119 of 265 (+5 files; +10 metabolites). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
realmarcin
left a comment
There was a problem hiding this comment.
Sanctioned review pass (replacing Copilot). Round-6 backfill of related_ingredients into 5 cereal SynCom files. I verified every load-bearing fact: all 6 CHEBI id→label pairs are canonical against the local OAK chebi.db; all 7 snippets are verbatim substrings of the cached PMC full-text files; all 4 author/year attributions (Armanhi 2021, Yin 2022, De la Vega-Camarillo 2023, Hernández-García 2025) match the cached abstract bylines; PMIDs are valid (all Front. Microbiol.); and the records conform to the RelatedIngredient/EvidenceItem/Term schema (enum values SUPPORT/IN_VITRO/IN_VIVO all valid, reference matches the PMID: pattern). The data is overwhelmingly clean — one RISK on provenance framing of a single entry, plus one low-priority NIT.
RISK
kb/communities/Jala_Maize_PGPB_SynCom.yaml:108— pyrrolnitrin evidence is mis-classified asIN_VITRO. The cited snippet ("P. protegens produces biocontrol compounds such as ... pyrrolnitrin ...") is a species-level background statement in PMID:37275168 that closes with third-party citations (Haas and Keel; Haas and Défago; Raaijmakers et al.) — it is not an in-vitro result generated in this study, and pyrrolnitrin is absent from the paper's own isolate trait table (which lists IAA, ACC deaminase, metallophores, biocontrol vs Fusarium/Pestalotia). The relevance prose ("secondary metabolites that the Pseudomonas SynCom members deploy") therefore overstates what the paper demonstrates. (P. protegens E1BL2 is a genuine SynCom 3 member, so the link itself is reasonable.) See inline comment for the concrete fix.
NIT
kb/communities/Wheat_Consortium_C1.yaml/kb/communities/Wheat_Consortium_C6.yaml(IAA entries) — the snippet quotes the generic class term "auxin" while the record maps to the specific compound CHEBI:16411 (indole-3-acetic acid). The mapping is defensible (the paper names "IAA" 12 times and the auxin assay detects indolics), and theexplanationbridges "auxin (IAA)", so support level is acceptable. A snippet that names IAA explicitly would tighten statement↔evidence alignment. Not blocking.
Findings not anchorable to diff lines
- None. The single substantive finding (RISK) is posted inline; the NIT above spans two files where the relevant lines are inside the diff hunks but is recorded here as a cross-file note rather than duplicated inline.
| evidence: | ||
| - reference: PMID:37275168 | ||
| supports: SUPPORT | ||
| evidence_source: IN_VITRO |
There was a problem hiding this comment.
RISK: evidence_source: IN_VITRO overstates the provenance of this pyrrolnitrin claim. The snippet on the next line is a general statement about P. protegens as a species and ends, in the cached PMC text, with external citations (Haas and Keel; Haas and Défago; Raaijmakers et al.) — i.e. it is a literature/background assertion, not an in-vitro measurement performed in PMID:37275168. Pyrrolnitrin also does not appear in this paper's own isolate trait table (IAA, ACC deaminase, metallophores, anti-Fusarium/Pestalotia). Fix: set evidence_source: REVIEW (or OTHER) and consider supports: PARTIAL; and soften the relevance from "secondary metabolites that the Pseudomonas SynCom members deploy" to something like "P. protegens (a SynCom 3 member) is reported in the literature to produce pyrrolnitrin" so the prose does not assert a measured SynCom trait.
The cited PMID:37275168 passage is a species-level review/background statement (third-party citations of what P. protegens produces), not an isolate-specific wet-lab result for the Jala-Maize SynCom members. Set evidence_source REVIEW, supports PARTIAL, and softened the relevance from 'SynCom members deploy' to species-level background framing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…xt (#130) Follow-up to PR #129. PR #129 renamed all references_cache/pmid_*.txt files that existed at the time it was opened (2026-06-10 20:02). Between then and the merge, this session's PRs (#110, #111, #113, #114, #115, #117, #122, #123, #124, #125, #126, #127) committed 14 additional lowercase pmid_*.txt files via the pre-fix literature.py writer: PMID:11057917 25273513 26048931 27208134 30343816 31203122 33879573 38181847 38310848 38593609 38702568 38744211 40663585 40722006 Same root cause as #129: the linkml-reference-validator looks up PMID_<id>.{md,txt} (uppercase) but the pre-fix literature.py wrote pmid_<id>.txt (lowercase). On macOS's case-insensitive APFS the two names alias the same inode, so this isn't noticed locally; on Linux/CI it causes silent cache misses and re-fetch + offline warnings on every run. This commit completes the rename for the residual 14 files so every committed PMID abstract cache is once again validator-visible. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Round 6 of the deferred ~38 biocontrol/agri backfill (continues #118-#122). Switched from abstract-only to PMC full-text scanning via the BioC PMC API — this unlocked named metabolites buried in methods/results that were absent from the abstracts. Cached the BioC full-text alongside existing abstracts.
Adoption: 114 → 119 of 265 (+5 files; +10 metabolites).
Test plan
🤖 Generated with Claude Code