Skip to content

Backfill related_ingredients in 5 cereal SynCom files via PMC full text (round 6) - #123

Merged
realmarcin merged 2 commits into
mainfrom
backfill-biocontrol-batch-6
Jun 10, 2026
Merged

Backfill related_ingredients in 5 cereal SynCom files via PMC full text (round 6)#123
realmarcin merged 2 commits into
mainfrom
backfill-biocontrol-batch-6

Conversation

@realmarcin

Copy link
Copy Markdown
Contributor

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.

File New related_ingredients Source (PMC full text)
Maize_Drought_Response_SynCom L-proline (CHEBI:17203), glycine betaine (CHEBI:17750) PMID:34745050
Wheat_Consortium_C1 indole-3-acetic acid (CHEBI:16411), hydrogen cyanide (CHEBI:18407) PMID:36118206
Wheat_Consortium_C6 indole-3-acetic acid (CHEBI:16411), hydrogen cyanide (CHEBI:18407) PMID:36118206
Jala_Maize_PGPB_SynCom indole-3-acetic acid (CHEBI:16411), pyrrolnitrin (CHEBI:32079), 1-aminocyclopropanecarboxylic acid (CHEBI:18053) PMID:37275168
Teosinte_Maize_Biofertilizer_SynCom7 indole-3-acetic acid (CHEBI:16411) PMID:40270813

Adoption: 114 → 119 of 265 (+5 files; +10 metabolites).

Test plan

  • `just validate` clean for all five files.
  • All snippets verbatim from cached PMC full-text files.
  • CHEBI ids OAK-verified canonical.

🤖 Generated with Claude Code

…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 realmarcin left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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 as IN_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 the explanation bridges "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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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>
@realmarcin
realmarcin merged commit 4dfbc68 into main Jun 10, 2026
1 check passed
@realmarcin
realmarcin deleted the backfill-biocontrol-batch-6 branch June 10, 2026 20:03
realmarcin added a commit that referenced this pull request Jun 10, 2026
…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>
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.

1 participant