From b7967696cc02bd953fe34df9423204c02815cbf4 Mon Sep 17 00:00:00 2001 From: "marcin p. joachimiak" <4625870+realmarcin@users.noreply.github.com> Date: Mon, 5 Oct 2026 15:52:57 -0700 Subject: [PATCH] Review wild-type fusion coculture causal graph (batch 17) --- ...utylicum_Ljungdahlii_Fusion_Coculture.html | 260 +++++++-------- .../2026-10-05T224753Z-codex-668b1f.yaml | 27 ++ ...utylicum_Ljungdahlii_Fusion_Coculture.yaml | 307 +++++++++-------- .../adversarial-review-20261005-batch17.yaml | 73 +++++ .../20261005-one-record-batch17.yaml | 251 ++++++++++++++ reports/causal_graph_review/inventory.tsv | 2 +- reports/causal_graph_review/summary.json | 8 +- .../validation-20261005-batch17.json | 309 ++++++++++++++++++ tests/test_causal_review_batch17.py | 112 +++++++ 9 files changed, 1064 insertions(+), 285 deletions(-) create mode 100644 history/records/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture/2026-10-05T224753Z-codex-668b1f.yaml create mode 100644 reports/causal_graph_review/adversarial-review-20261005-batch17.yaml create mode 100644 reports/causal_graph_review/decisions/20261005-one-record-batch17.yaml create mode 100644 reports/causal_graph_review/validation-20261005-batch17.json create mode 100644 tests/test_causal_review_batch17.py diff --git a/docs/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.html b/docs/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.html index cf44f918e..83d28c7cb 100644 --- a/docs/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.html +++ b/docs/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.html @@ -612,7 +612,7 @@

Ecological Interactions

Ecological interaction network for Clostridium acetobutylicum-Clostridium ljungdahlii Syntrophic Fusion Coculture - Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding, mutualism, competition). + Bipartite graph where circle nodes represent taxa and each ecological interaction is drawn as a distinct non-circular symbol, with colour repeating the same distinction (cross-feeding).
@@ -623,16 +623,6 @@

Ecological Interactions

aria-hidden="true" data-symbol="symbolDiamond" data-color="#57c7ab"> Cross-feeding
-
- Mutualism -
-
- Competition -

Gas syntrophy - CO2 and H2 transfer to the acetogen

CROSS_FEEDING
-

C. acetobutylicum releases CO2 and H2 during glucose catabolism and C. ljungdahlii consumes them through the Wood-Ljungdahl pathway. This is the founding interaction of the pairing and the one the coculture was built on. -Typed CROSS_FEEDING rather than SYNTROPHY despite the sources calling the pairing a syntrophy. InteractionTypeEnum defines SYNTROPHY as obligate metabolic cooperation, and the seed paper grows both species as monocultures in the same experiment, so the cooperation is demonstrably facultative here.

+

C. acetobutylicum releases CO2 and H2 during glucose catabolism, supporting C. ljungdahlii through the Wood-Ljungdahl pathway. Retain CROSS_FEEDING for this reported gas transfer without resolving the broader syntrophy enum question (#752). The monoculture controls used different substrate and gas conditions; their inclusion does not demonstrate facultative cooperation under identical conditions.

Source Taxon: Clostridium acetobutylicum

@@ -690,9 +679,8 @@

Gas syntrophy - CO2 and H2 transfer to the acetogen

Downstream Effects:
- → Hydrogen removal relieving hydrogenase feedback inhibition -

Acetogenic consumption of C. acetobutylicum-derived H2 is the reciprocal sink hypothesized to relieve hydrogenase feedback in the solventogen. -

+ → Proposed hydrogenase feedback relief through hydrogen removal +

HYPOTHESIZED - acetogenic consumption of partner-derived H2 could relieve local hydrogenase feedback in C. acetobutylicum. Early glucose-consumption comparisons are consistent with this reciprocal effect, but do not directly measure hydrogenase activity or isolate local H2 removal.

@@ -737,7 +725,7 @@

Evidence

Arginine cross-feeding to the acetogen

CROSS_FEEDING -

C. ljungdahlii strongly upregulates its arginine deiminase genes in coculture, a pathway C. acetobutylicum lacks, while C. acetobutylicum upregulates arginine biosynthesis. The authors read this as arginine made by the solventogen being catabolized by the acetogen for extra ATP. The paper words the conclusion as a possibility, and no growth measurement on arginine was reported for this coculture.

+

PARTIAL - coculture arginine-biosynthesis and arginine-deiminase expression, together with measured supernatant amino-acid profiles, support proposed C. acetobutylicum-to-C. ljungdahlii cross-feeding. Arginine supplementation increased growth of autotrophic C. ljungdahlii monocultures; it was not a donor-to-recipient flux experiment. HYPOTHESIZED - arginine catabolism supplies additional ATP in coculture. The supplementation response must not be confused with a measured coculture transfer rate or ATP-mediated effect.

Source Taxon: Clostridium acetobutylicum

@@ -788,7 +776,7 @@

Evidence

PMID:40298437 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
"C. ljungdahlii may utilize arginine produced by C. acetobutylicum for additional ATP production"
@@ -808,6 +796,19 @@

Evidence

+
  • +
    + + PMID:40298437 + + - SUPPORT (IN_VITRO) +
    + +
    "arginine addition significantly boosted the growth rate and total biomass accumulation"
    + +
  • + @@ -817,7 +818,7 @@

    Evidence

    Histidine degradation feeding the acetogen

    CROSS_FEEDING -

    Four C. ljungdahlii genes for histidine degradation to glutamate are strongly upregulated early in coculture. The net reaction releases ammonia, glutamate, and a tetrahydrofolate intermediate of the Wood-Ljungdahl pathway's eastern branch, so histidine feeds carbon into the pathway the acetogen runs.

    +

    PARTIAL - histidine-degradation genes in C. ljungdahlii were upregulated early in coculture, and supernatant amino-acid profiles were measured. Histidine supplementation increased autotrophic C. ljungdahlii monoculture growth with acetate and ammonia measurements. HYPOTHESIZED - C. acetobutylicum-derived histidine is transferred to the acetogen and degraded through glutamate and a tetrahydrofolate intermediate that feeds the Wood-Ljungdahl pathway. Supplementation and transcription support this model, but do not directly trace donor-derived carbon through the proposed coculture route.

    Source Taxon: Clostridium acetobutylicum

    @@ -866,7 +867,7 @@

    Evidence

    PMID:40298437 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "four genes involved in histidine degradation to glutamate (CLJU_c21460-21480, 21500) were strongly upregulated early in coculture"
    @@ -879,23 +880,35 @@

    Evidence

    PMID:40298437 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "we also identified differential regulation of biosynthetic genes of several amino acids, and notably of arginine and histidine"
    +
  • +
    + + PMID:40298437 + + - PARTIAL (IN_VITRO) +
    + +
    "histidine was superior both for increasing growth and CO2 fixation"
    + +
  • +
    -

    Hydrogen removal relieving hydrogenase feedback inhibition

    - MUTUALISM +

    Proposed hydrogenase feedback relief through hydrogen removal

    -

    Local consumption of H2 by C. ljungdahlii is hypothesized to relieve feedback inhibition of the C. acetobutylicum hydrogenase, which is the return benefit that makes the pairing mutualistic rather than commensal. The measured effect was small, though reproducible across the three biological replicates.

    +

    PARTIAL - early glucose-consumption rates in coculture were as high as or higher than C. acetobutylicum monocultures under N2 and higher than controls under 80% H2/20% CO2 during the first six hours. The small difference was consistent across three biological replicates. HYPOTHESIZED - local H2 consumption by C. ljungdahlii relieves feedback inhibition of the solventogen hydrogenase. This is a glucose-consumption comparison, not a direct hydrogenase assay or a quantified reciprocal fitness effect.

    Source Taxon: Clostridium ljungdahlii

    @@ -929,7 +942,7 @@

    Evidence

    PMID:40298437 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "consumption of H2 by C. ljungdahlii would relieve feedback inhibition of C. acetobutylicum"
    @@ -955,7 +968,7 @@

    Evidence

    PMID:40298437 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "paint a more complex syntrophic picture and suggest a mutualistic relationship"
    @@ -968,10 +981,9 @@

    Evidence

    -

    Contact-dependent growth stimulation of both partners

    - MUTUALISM +

    Contact-associated transcriptional response and proposed growth stimulation

    -

    In the transwell arm, removing the membrane enriches ribosomal-protein genes in C. acetobutylicum and pyrimidine biosynthesis genes in C. ljungdahlii among the most upregulated genes, which the authors read as direct cell-to-cell contact stimulating growth in both organisms. Community-level because the effect is reciprocal and has no single source.

    +

    PARTIAL - removing the 0.4 micrometer transwell membrane altered expression, with ribosomal-protein genes in C. acetobutylicum and pyrimidine-biosynthesis genes in C. ljungdahlii enriched among strongly upregulated genes. HYPOTHESIZED - these contact-associated transcriptional patterns indicate growth stimulation of both partners. They are not direct species-specific growth-rate measurements, and the comparison does not isolate cell fusion from other consequences of contact.

    @@ -1018,7 +1030,7 @@

    Evidence

    PMID:40298437 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "suggests that direct cell-to-cell contact stimulates cell growth of both organisms"
    @@ -1044,10 +1056,9 @@

    Evidence

    -

    Competition for yeast-extract amino acids and product inhibition

    - COMPETITION +

    Proposed amino-acid competition and product inhibition

    -

    Alongside the cross-feeding, the majority C. acetobutylicum depletes the shared free amino acids of the yeast extract and accumulates butyrate and butanol, which together push C. ljungdahlii into a survival response. The same amino-acid pool is therefore both cross-fed and competed for, at different phases of the culture.

    +

    HYPOTHESIZED - depletion of shared yeast-extract amino acids and accumulation of butyrate and butanol could contribute to the C. ljungdahlii transcriptional survival response. Amino-acid and metabolite profiles provide context, but the study does not isolate nutrient competition from product inhibition or other coculture effects, and does not measure reciprocal harm required for categorical competition.

    Source Taxon: Clostridium acetobutylicum

    @@ -1085,7 +1096,7 @@

    Evidence

    PMID:40298437 - - SUPPORT (IN_VITRO) + - PARTIAL (IN_VITRO)
    "inhibitory metabolites (such as butyrate and butanol) and competition for yeast-extract amino acids from the dominating C. acetobutylicum drive C. ljungdahlii to adopt a survival strategy"
    @@ -1100,8 +1111,7 @@

    Evidence

    Interspecies cell fusion and cytoplasmic material exchange

    -

    The two species fuse their cell walls and membranes and exchange protein, RNA, and DNA in bulk. The structural demonstration is in the 2020 mBio paper, not in the transcriptomic seed paper, which states that it could not identify the genes driving fusion. -interaction_type is deliberately unset. InteractionTypeEnum classifies by sign, and no cited source establishes that the fusion itself benefits either partner - the demonstrated benefits belong to the syntrophy and the amino-acid exchange, which have their own entries. Tracked as issue 749.

    +

    Wild-type electron microscopy and tomography demonstrate interspecies cell-wall and membrane fusion. The 2020 study also reports protein-dye exchange in the wild-type pairing. Its RNA-label experiment instead pairs wild-type C. ljungdahlii with a C. acetobutylicum-Halo reporter; this supports related-system RNA transfer, not an unmodified-pair RNA assay. DNA integration in the 2024 plasmid-donor experiment is outside this wild-type graph. Fusion remains untyped because structure and exchange do not by themselves establish a fitness sign (#749).

    @@ -1135,15 +1145,8 @@

    Interspecies cell fusion and cytoplasmic material exchange

    Downstream Effects:
    - → Interspecies DNA transfer and genomic integration -

    Cell fusion provides a physical route for C. ljungdahlii plasmid DNA to cross into C. acetobutylicum and integrate into its genome. -

    -
    - -
    - → Emergent non-native metabolites -

    Fusion-mediated material exchange is the direct-contact mechanism associated with wild-type production of metabolites neither monoculture produces. -

    + → Coculture isopropanol and 2,3-butanediol production +

    HYPOTHESIZED - fusion-associated cytoplasmic exchange could enable the altered metabolite production observed in mixed coculture. Membrane-separation results support contact dependence, but do not selectively perturb fusion or demonstrate that fusion alone causes the product phenotype.

    @@ -1169,63 +1172,26 @@

    Evidence

  • - PMID:40298437 + PMID:32873766 - SUPPORT (IN_VITRO)
    -
    "result in interspecies cell fusion involving large-scale exchange of protein, RNA, and DNA between the two organisms"
    +
    "transport of green-tagged C. acetobutylicum proteins into C. ljungdahlii"
  • - - - - -
    -
    -

    Interspecies DNA transfer and genomic integration

    -
    -

    Plasmid DNA from C. ljungdahlii is acquired by C. acetobutylicum and integrated into its genome, a horizontal transfer route mediated by the cell fusion rather than by conjugation, transduction, or transformation. -interaction_type is deliberately unset for the same reason as the fusion entry: COMMENSALISM would assert that the recipient benefits, and the cited work shows acquisition and integration, not benefit. Tracked as issue 749.

    - - -

    Source Taxon: Clostridium ljungdahlii

    - - - -

    Target Taxon: Clostridium acetobutylicum

    - - - -

    Metabolites: - - DNA - (CHEBI:16991) - -

    - - - - - - - -

    Evidence

    -
    @@ -1344,6 +1322,40 @@

    Associated Datasets

    +
    +

    Knowledge gaps & discussions (2)

    + +
    +

    + KNOWLEDGE_GAP + OPEN + Which partner-resolved fluxes and perturbations establish amino-acid transfer and hydrogenase-mediated benefit? +

    +

    PMID:40298437 measures supernatant amino acids, recipient monoculture supplementation and early glucose consumption. These results support the proposed mechanisms without tracing donor-derived amino acids, ATP or local hydrogen flux, directly assaying hydrogenase feedback, or measuring species-specific reciprocal growth. Direct transfer and mediator perturbations would distinguish these routes from other contact or medium effects.

    + +

    Attaches to: ecological_interactions#Gas syntrophy - CO2 and H2 transfer to the acetogen, ecological_interactions#Arginine cross-feeding to the acetogen, ecological_interactions#Histidine degradation feeding the acetogen, ecological_interactions#Proposed hydrogenase feedback relief through hydrogen removal, ecological_interactions#Contact-associated transcriptional response and proposed growth stimulation, ecological_interactions#Proposed amino-acid competition and product inhibition

    + + + + +
    + +
    +

    + KNOWLEDGE_GAP + OPEN + Which macromolecules transfer in the unmodified pair, and is fusion necessary for its product phenotype? +

    +

    PMID:32873766 demonstrates wild-type structural fusion and describes protein-dye exchange, but its RNA assay uses C. acetobutylicum-Halo. PMID:38214507 demonstrates DNA acquisition and integration using a plasmid-bearing C. ljungdahlii donor and selected recipients, not the wild-type pairing; its node and arrow were removed from this graph with provenance retained in the review ledger. A separately scoped engineered record and exact-system transfer evidence would preserve these distinctions. Contact separation is not a fusion-specific intervention. The founding PMID:30391511 full body and the supplementary images were not inspected.

    + +

    Attaches to: ecological_interactions#Interspecies cell fusion and cytoplasmic material exchange, ecological_interactions#Coculture isopropanol and 2,3-butanediol production

    + + + + +
    + +
    @@ -1854,7 +1866,7 @@

    Evidence

    processes.push("L-arginine catabolic process"); - var evidenceCount = 2; + var evidenceCount = 3; nodes.push({ id: intId, @@ -1898,7 +1910,7 @@

    Evidence

    processes.push("L-histidine catabolic process"); - var evidenceCount = 2; + var evidenceCount = 3; nodes.push({ id: intId, @@ -1927,7 +1939,7 @@

    Evidence

    (function() { var intId = "interaction:3"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; @@ -1940,7 +1952,7 @@

    Evidence

    nodes.push({ id: intId, - label: "Hydrogen removal relieving hydrogenase feedback inhibition", + label: "Proposed hydrogenase feedback relief through hydrogen removal", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -1965,7 +1977,7 @@

    Evidence

    (function() { var intId = "interaction:4"; - var intType = "MUTUALISM"; + var intType = "UNKNOWN"; var metabolites = []; var processes = []; @@ -1980,7 +1992,7 @@

    Evidence

    nodes.push({ id: intId, - label: "Contact-dependent growth stimulation of both partners", + label: "Contact-associated transcriptional response and proposed growth stimulation", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -2008,7 +2020,7 @@

    Evidence

    (function() { var intId = "interaction:5"; - var intType = "COMPETITION"; + var intType = "UNKNOWN"; var metabolites = []; @@ -2023,7 +2035,7 @@

    Evidence

    nodes.push({ id: intId, - label: "Competition for yeast-extract amino acids and product inhibition", + label: "Proposed amino-acid competition and product inhibition", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -2057,7 +2069,7 @@

    Evidence

    processes.push("cell-cell fusion"); - var evidenceCount = 2; + var evidenceCount = 3; nodes.push({ id: intId, @@ -2093,44 +2105,6 @@

    Evidence

    var metabolites = []; - metabolites.push("DNA"); - - - var processes = []; - - var evidenceCount = 1; - - nodes.push({ - id: intId, - label: "Interspecies DNA transfer and genomic integration", - type: "interaction", - interactionType: intType, - metabolites: metabolites, - processes: processes, - evidenceCount: evidenceCount - }); - - - var srcKey = "Clostridium ljungdahlii"; - if (taxonNodeIds[srcKey]) { - links.push({ source: taxonNodeIds[srcKey], target: intId }); - } - - - - var tgtKey = "Clostridium acetobutylicum"; - if (taxonNodeIds[tgtKey]) { - links.push({ source: intId, target: taxonNodeIds[tgtKey] }); - } - - })(); - - (function() { - var intId = "interaction:8"; - var intType = "UNKNOWN"; - var metabolites = []; - - metabolites.push("isopropanol"); metabolites.push("2,3-butanediol"); @@ -2138,11 +2112,11 @@

    Evidence

    var processes = []; - var evidenceCount = 2; + var evidenceCount = 3; nodes.push({ id: intId, - label: "Emergent non-native metabolites", + label: "Coculture isopropanol and 2,3-butanediol production", type: "interaction", interactionType: intType, metabolites: metabolites, @@ -2187,7 +2161,7 @@

    Evidence

    var svg = d3.select("#network-svg"); var width = container.clientWidth - 32; // Dynamic height based on node count: minimum 500px, add 40px per node - var nodeCount = 11; + var nodeCount = 10; var height = Math.max(500, 400 + nodeCount * 20); svg.attr("width", width).attr("height", height); diff --git a/history/records/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture/2026-10-05T224753Z-codex-668b1f.yaml b/history/records/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture/2026-10-05T224753Z-codex-668b1f.yaml new file mode 100644 index 000000000..f25e88535 --- /dev/null +++ b/history/records/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture/2026-10-05T224753Z-codex-668b1f.yaml @@ -0,0 +1,27 @@ +history_version: 1 +target: + kind: record + path: kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml + slug: Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture +session: + id: 2026-10-05T224753Z-codex-668b1f + timestamp: '2026-10-05T22:47:53Z' + actors: + - type: ai_agent + name: codex + model: unspecified + agent_tool: codex +links: + issues: + - https://github.com/CultureBotAI/CommunityMech/issues/1316 +events: +- type: EDIT + outcome: changed + sections: + - interactions + - discussions + summary: Separate wild-type fusion from engineered DNA integration; preserve measured gas, + amino-acid and product results while qualifying causal mechanisms and contact-associated + growth. + details: Source-based self-adversarial review; repairs/removal only, no new causal structure. + reports/causal_graph_review/decisions/20261005-one-record-batch17.yaml diff --git a/kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml b/kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml index 1068000d9..27d6bfe2a 100644 --- a/kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml +++ b/kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml @@ -160,15 +160,10 @@ taxonomy: prominent, which is ABUNDANT on this record's ordinal scale (#748). ecological_interactions: - name: Gas syntrophy - CO2 and H2 transfer to the acetogen - description: >- - C. acetobutylicum releases CO2 and H2 during glucose catabolism and - C. ljungdahlii consumes them through the Wood-Ljungdahl pathway. This is the - founding interaction of the pairing and the one the coculture was built on. - - Typed CROSS_FEEDING rather than SYNTROPHY despite the sources calling the - pairing a syntrophy. InteractionTypeEnum defines SYNTROPHY as obligate - metabolic cooperation, and the seed paper grows both species as monocultures - in the same experiment, so the cooperation is demonstrably facultative here. + description: C. acetobutylicum releases CO2 and H2 during glucose catabolism, supporting C. ljungdahlii through + the Wood-Ljungdahl pathway. Retain CROSS_FEEDING for this reported gas transfer without resolving the broader + syntrophy enum question (#752). The monoculture controls used different substrate and gas conditions; their + inclusion does not demonstrate facultative cooperation under identical conditions. interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -196,10 +191,10 @@ ecological_interactions: id: GO:0015977 label: carbon fixation downstream: - - target: Hydrogen removal relieving hydrogenase feedback inhibition - description: > - Acetogenic consumption of C. acetobutylicum-derived H2 is the reciprocal - sink hypothesized to relieve hydrogenase feedback in the solventogen. + - target: Proposed hydrogenase feedback relief through hydrogen removal + description: HYPOTHESIZED - acetogenic consumption of partner-derived H2 could relieve local hydrogenase feedback + in C. acetobutylicum. Early glucose-consumption comparisons are consistent with this reciprocal effect, but + do not directly measure hydrogenase activity or isolate local H2 removal. evidence: - reference: PMID:40298437 supports: SUPPORT @@ -212,13 +207,11 @@ ecological_interactions: snippet: ljungdahlii which fixes CO2, achieved carbon recoveries into C2-C4 alcohols explanation: Sources CO2 fixation by the acetogen as the sink half of the syntrophy. - name: Arginine cross-feeding to the acetogen - description: >- - C. ljungdahlii strongly upregulates its arginine deiminase genes in - coculture, a pathway C. acetobutylicum lacks, while C. acetobutylicum - upregulates arginine biosynthesis. The authors read this as arginine made by - the solventogen being catabolized by the acetogen for extra ATP. The paper - words the conclusion as a possibility, and no growth measurement on arginine - was reported for this coculture. + description: PARTIAL - coculture arginine-biosynthesis and arginine-deiminase expression, together with measured + supernatant amino-acid profiles, support proposed C. acetobutylicum-to-C. ljungdahlii cross-feeding. Arginine + supplementation increased growth of autotrophic C. ljungdahlii monocultures; it was not a donor-to-recipient + flux experiment. HYPOTHESIZED - arginine catabolism supplies additional ATP in coculture. The supplementation + response must not be confused with a measured coculture transfer rate or ATP-mediated effect. interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -241,27 +234,39 @@ ecological_interactions: term: id: GO:0006526 label: L-arginine biosynthetic process + notes: Pathway assignment from expression and metabolic interpretation; partner-resolved coculture flux is not + established. - preferred_term: L-arginine catabolic process term: id: GO:0006527 label: L-arginine catabolic process + notes: Pathway assignment from expression and metabolic interpretation; partner-resolved coculture flux is not + established. evidence: - reference: PMID:40298437 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: C. ljungdahlii may utilize arginine produced by C. acetobutylicum for additional ATP production - explanation: Sources the direction and the benefit, in the paper's own hedged wording. + explanation: The authors propose partner-derived arginine use and ATP generation. Supernatant profiles and supplementation + support the proposal, not directly traced transfer or ATP mediation in coculture. - reference: PMID:40298437 supports: SUPPORT evidence_source: IN_VITRO snippet: C. acetobutylicum does not have homologs for the arginine deiminase pathway - explanation: Sources the pathway asymmetry that makes the acetogen the consumer. + explanation: Supports the reported pathway asymmetry, not measured interspecies arginine flux. + - reference: PMID:40298437 + snippet: arginine addition significantly boosted the growth rate and total biomass accumulation + explanation: Supports the autotrophic C. ljungdahlii monoculture supplementation result (Figure 6, two biological + replicates), not direct coculture cross-feeding. + evidence_source: IN_VITRO + supports: SUPPORT - name: Histidine degradation feeding the acetogen - description: >- - Four C. ljungdahlii genes for histidine degradation to glutamate are strongly - upregulated early in coculture. The net reaction releases ammonia, glutamate, - and a tetrahydrofolate intermediate of the Wood-Ljungdahl pathway's eastern - branch, so histidine feeds carbon into the pathway the acetogen runs. + description: PARTIAL - histidine-degradation genes in C. ljungdahlii were upregulated early in coculture, and + supernatant amino-acid profiles were measured. Histidine supplementation increased autotrophic C. ljungdahlii + monoculture growth with acetate and ammonia measurements. HYPOTHESIZED - C. acetobutylicum-derived histidine + is transferred to the acetogen and degraded through glutamate and a tetrahydrofolate intermediate that feeds + the Wood-Ljungdahl pathway. Supplementation and transcription support this model, but do not directly trace + donor-derived carbon through the proposed coculture route. interaction_type: CROSS_FEEDING scope: PAIRWISE source_taxon: @@ -288,24 +293,36 @@ ecological_interactions: term: id: GO:0006548 label: L-histidine catabolic process + notes: Proposed pathway supported by expression and supplementation; its coculture flux and donor contribution + are unresolved. evidence: - reference: PMID:40298437 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: four genes involved in histidine degradation to glutamate (CLJU_c21460-21480, 21500) were strongly upregulated early in coculture - explanation: Sources histidine degradation by the acetogen as a coculture-induced response. + snippet: four genes involved in histidine degradation to glutamate (CLJU_c21460-21480, 21500) were strongly + upregulated early in coculture + explanation: Supports increased expression of histidine-degradation genes, not directly measured degradation + flux or donor-to-recipient transfer. - reference: PMID:40298437 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: we also identified differential regulation of biosynthetic genes of several amino acids, and notably of arginine and histidine - explanation: Sources amino-acid biosynthesis regulation as one of the study's findings. -- name: Hydrogen removal relieving hydrogenase feedback inhibition - description: >- - Local consumption of H2 by C. ljungdahlii is hypothesized to relieve feedback - inhibition of the C. acetobutylicum hydrogenase, which is the return benefit - that makes the pairing mutualistic rather than commensal. The measured effect - was small, though reproducible across the three biological replicates. - interaction_type: MUTUALISM + snippet: we also identified differential regulation of biosynthetic genes of several amino acids, and notably + of arginine and histidine + explanation: Supports regulated amino-acid biosynthetic genes; this does not by itself establish histidine transfer + or carbon entry into the Wood-Ljungdahl pathway. + - reference: PMID:40298437 + snippet: histidine was superior both for increasing growth and CO2 fixation + explanation: The supplementation experiment measured growth, acetate and ammonia in autotrophic C. ljungdahlii + monocultures (Figure 6, two biological replicates). CO2 fixation and pathway coupling are interpreted from + these products, not directly traced interspecies carbon flux. + evidence_source: IN_VITRO + supports: PARTIAL +- name: Proposed hydrogenase feedback relief through hydrogen removal + description: PARTIAL - early glucose-consumption rates in coculture were as high as or higher than C. acetobutylicum + monocultures under N2 and higher than controls under 80% H2/20% CO2 during the first six hours. The small difference + was consistent across three biological replicates. HYPOTHESIZED - local H2 consumption by C. ljungdahlii relieves + feedback inhibition of the solventogen hydrogenase. This is a glucose-consumption comparison, not a direct hydrogenase + assay or a quantified reciprocal fitness effect. scope: PAIRWISE source_taxon: preferred_term: Clostridium ljungdahlii @@ -324,28 +341,28 @@ ecological_interactions: label: dihydrogen evidence: - reference: PMID:40298437 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: consumption of H2 by C. ljungdahlii would relieve feedback inhibition of C. acetobutylicum - explanation: Sources the hypothesized return benefit to the solventogen. + explanation: Explicitly proposed local H2-removal mechanism; the source did not directly assay hydrogenase activity. - reference: PMID:40298437 supports: SUPPORT evidence_source: IN_VITRO snippet: The effect was small, but was present in all three biological replicates - explanation: Sources the size of the effect, which the record's description carries rather than overstates. + explanation: The small reproducible effect is the early glucose-consumption comparison with different headspace + controls, not a direct measurement of hydrogenase inhibition. - reference: PMID:40298437 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: paint a more complex syntrophic picture and suggest a mutualistic relationship - explanation: Sources the authors' reclassification of the pairing as mutualistic. -- name: Contact-dependent growth stimulation of both partners - description: >- - In the transwell arm, removing the membrane enriches ribosomal-protein genes - in C. acetobutylicum and pyrimidine biosynthesis genes in C. ljungdahlii among - the most upregulated genes, which the authors read as direct cell-to-cell - contact stimulating growth in both organisms. Community-level because the - effect is reciprocal and has no single source. - interaction_type: MUTUALISM + explanation: Records the authors' interpretation of mutualism, not a separately measured reciprocal fitness + endpoint. +- name: Contact-associated transcriptional response and proposed growth stimulation + description: PARTIAL - removing the 0.4 micrometer transwell membrane altered expression, with ribosomal-protein + genes in C. acetobutylicum and pyrimidine-biosynthesis genes in C. ljungdahlii enriched among strongly upregulated + genes. HYPOTHESIZED - these contact-associated transcriptional patterns indicate growth stimulation of both + partners. They are not direct species-specific growth-rate measurements, and the comparison does not isolate + cell fusion from other consequences of contact. scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Clostridium acetobutylicum @@ -361,29 +378,32 @@ ecological_interactions: term: id: GO:0006412 label: translation + notes: Transcript-associated pathway annotation; increased process rate or partner-specific growth is not directly + measured. - preferred_term: pyrimidine nucleotide biosynthetic process term: id: GO:0006221 label: pyrimidine nucleotide biosynthetic process + notes: Transcript-associated pathway annotation; increased process rate or partner-specific growth is not directly + measured. evidence: - reference: PMID:40298437 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: suggests that direct cell-to-cell contact stimulates cell growth of both organisms - explanation: Sources the reciprocal, contact-dependent growth stimulation. + explanation: Growth stimulation is inferred from transcriptional patterns, not directly measured species-specific + growth rates. - reference: PMID:40298437 supports: SUPPORT evidence_source: IN_VITRO snippet: separated by a permeable membrane (0.4 µm pore size) - explanation: Sources the transwell separation that licenses calling the effect contact-dependent. -- name: Competition for yeast-extract amino acids and product inhibition - description: >- - Alongside the cross-feeding, the majority C. acetobutylicum depletes the - shared free amino acids of the yeast extract and accumulates butyrate and - butanol, which together push C. ljungdahlii into a survival response. The - same amino-acid pool is therefore both cross-fed and competed for, at - different phases of the culture. - interaction_type: COMPETITION + explanation: Supports the 2025 contact-separation design, not fusion-specific necessity or direct growth-rate + estimation. +- name: Proposed amino-acid competition and product inhibition + description: HYPOTHESIZED - depletion of shared yeast-extract amino acids and accumulation of butyrate and butanol + could contribute to the C. ljungdahlii transcriptional survival response. Amino-acid and metabolite profiles + provide context, but the study does not isolate nutrient competition from product inhibition or other coculture + effects, and does not measure reciprocal harm required for categorical competition. scope: PAIRWISE source_taxon: preferred_term: Clostridium acetobutylicum @@ -406,21 +426,18 @@ ecological_interactions: label: butan-1-ol evidence: - reference: PMID:40298437 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO - snippet: inhibitory metabolites (such as butyrate and butanol) and competition for yeast-extract amino acids from the dominating C. acetobutylicum drive C. ljungdahlii to adopt a survival strategy - explanation: Sources both the inhibitory products and the amino-acid competition, and their direction. + snippet: inhibitory metabolites (such as butyrate and butanol) and competition for yeast-extract amino acids + from the dominating C. acetobutylicum drive C. ljungdahlii to adopt a survival strategy + explanation: The source interprets the transcriptional response using nutrient and product context; competing + mechanisms and reciprocal negative effects were not separately demonstrated. - name: Interspecies cell fusion and cytoplasmic material exchange - description: >- - The two species fuse their cell walls and membranes and exchange protein, - RNA, and DNA in bulk. The structural demonstration is in the 2020 mBio paper, - not in the transcriptomic seed paper, which states that it could not identify - the genes driving fusion. - - interaction_type is deliberately unset. InteractionTypeEnum classifies by - sign, and no cited source establishes that the fusion itself benefits either - partner - the demonstrated benefits belong to the syntrophy and the - amino-acid exchange, which have their own entries. Tracked as issue 749. + description: Wild-type electron microscopy and tomography demonstrate interspecies cell-wall and membrane fusion. + The 2020 study also reports protein-dye exchange in the wild-type pairing. Its RNA-label experiment instead + pairs wild-type C. ljungdahlii with a C. acetobutylicum-Halo reporter; this supports related-system RNA transfer, + not an unmodified-pair RNA assay. DNA integration in the 2024 plasmid-donor experiment is outside this wild-type + graph. Fusion remains untyped because structure and exchange do not by themselves establish a fitness sign (#749). scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Clostridium acetobutylicum @@ -437,68 +454,36 @@ ecological_interactions: id: GO:0140253 label: cell-cell fusion downstream: - - target: Interspecies DNA transfer and genomic integration - description: > - Cell fusion provides a physical route for C. ljungdahlii plasmid DNA to - cross into C. acetobutylicum and integrate into its genome. - - target: Emergent non-native metabolites - description: > - Fusion-mediated material exchange is the direct-contact mechanism - associated with wild-type production of metabolites neither monoculture - produces. + - target: Coculture isopropanol and 2,3-butanediol production + description: HYPOTHESIZED - fusion-associated cytoplasmic exchange could enable the altered metabolite production + observed in mixed coculture. Membrane-separation results support contact dependence, but do not selectively + perturb fusion or demonstrate that fusion alone causes the product phenotype. evidence: - reference: PMID:32873766 supports: SUPPORT evidence_source: IN_VITRO - snippet: transmission electron microscopy and electron tomography demonstrated cell wall and membrane fusions between the two organisms - explanation: Sources the structural evidence for fusion, from the paper that produced it. - - reference: PMID:40298437 - supports: SUPPORT + snippet: transmission electron microscopy and electron tomography demonstrated cell wall and membrane fusions + between the two organisms + explanation: Supports wild-type structural fusion in the primary 2020 study; it does not establish wild-type + DNA integration or a growth benefit. + - reference: PMID:32873766 + snippet: transport of green-tagged C. acetobutylicum proteins into C. ljungdahlii + explanation: The Results describe chemical protein labeling of wild-type cells and refer to Figure S4. Supports + protein exchange; the supplemental image itself was not visually inspected. evidence_source: IN_VITRO - snippet: result in interspecies cell fusion involving large-scale exchange of protein, RNA, and DNA between the two organisms - explanation: Sources the material classes exchanged across the fusion. -- name: Interspecies DNA transfer and genomic integration - description: >- - Plasmid DNA from C. ljungdahlii is acquired by C. acetobutylicum and - integrated into its genome, a horizontal transfer route mediated by the cell - fusion rather than by conjugation, transduction, or transformation. - - interaction_type is deliberately unset for the same reason as the fusion - entry: COMMENSALISM would assert that the recipient benefits, and the cited - work shows acquisition and integration, not benefit. Tracked as issue 749. - scope: PAIRWISE - source_taxon: - preferred_term: Clostridium ljungdahlii - term: - id: NCBITaxon:1538 - label: Clostridium ljungdahlii - target_taxon: - preferred_term: Clostridium acetobutylicum - term: - id: NCBITaxon:1488 - label: Clostridium acetobutylicum - metabolites: - - preferred_term: DNA - term: - id: CHEBI:16991 - label: deoxyribonucleic acid - evidence: - - reference: PMID:38214507 supports: SUPPORT - evidence_source: IN_VITRO - snippet: we isolated C. acetobutylicum cells which acquired and integrated into their genome portions of plasmid DNA from a plasmid-carrying C. ljungdahlii strain - explanation: Sources the direction of transfer and the genomic integration. -- name: Emergent non-native metabolites - description: >- - The wild-type pairing makes isopropanol and 2,3-butanediol, which neither - species makes alone. This is the defining emergent phenotype of the coculture - and it comes from the 2019 founding paper, not from the transcriptomic study. - - interaction_type is deliberately unset. InteractionTypeEnum classifies by - sign, and emergence is not a sign: the source reports that the pairing makes - products neither member makes alone, not that either member benefits from - making them. The benefits this pairing does have are recorded on the - interactions that demonstrate them. Tracked as issue 749. + - reference: PMID:32873766 + snippet: C. ljungdahlii cells with labeled RNA were cocultured with the C. acetobutylicum-Halo strain + explanation: The RNA assay uses a reporter recipient, so it is related-system evidence, not a direct wild-type-pair + RNA experiment or a DNA-integration experiment. + evidence_source: IN_VITRO + supports: PARTIAL +- name: Coculture isopropanol and 2,3-butanediol production + description: 'The wild-type coculture produced isopropanol and 2,3-butanediol under the founding study conditions, + whereas its reported monoculture controls did not. This is condition-specific emergence: the 2020 primary account + explicitly notes that C. ljungdahlii can in principle produce 2,3-butanediol alone. Contact-associated material + exchange is a proposed explanation, not a fusion-specific causal intervention. The product phenotype remains + untyped because production alone does not establish a partner fitness benefit (#749).' scope: COMMUNITY_LEVEL participating_taxa: - preferred_term: Clostridium acetobutylicum @@ -523,12 +508,19 @@ ecological_interactions: supports: SUPPORT evidence_source: IN_VITRO snippet: resulted in the production of non-native metabolites, namely isopropanol - explanation: Sources isopropanol as a metabolite the pairing makes and neither member makes alone. + explanation: Supports coculture isopropanol production relative to the reported controls, not a universal inability + of either species under every condition. - reference: PMID:30391511 - supports: SUPPORT + supports: PARTIAL evidence_source: IN_VITRO snippet: direct cell-to-cell interactions and material exchange among the two microbes - explanation: Sources direct interaction and material exchange as the cause of the rearranged metabolism. + explanation: Supports the authors' contact/material-exchange interpretation. Membrane separation does not isolate + fusion as the necessary molecular mechanism. + - reference: PMID:32873766 + snippet: which C. ljungdahlii can in principle produce alone, but did not in control cultures + explanation: Explicitly limits the 2,3-butanediol emergence claim to the reported monoculture controls. + evidence_source: IN_VITRO + supports: SUPPORT cultivation_setup: - cultivation_mode: BATCH system_type: SERUM_BOTTLE @@ -707,3 +699,44 @@ metals_present: [] rare_earth_elements_present: [] metal_relevance: NOT_APPLICABLE metal_notes: No metal or rare earth element processing role is curated for this coculture. +discussions: +- discussion_id: fusion_coculture_amino_acid_and_hydrogen_mediation + prompt: Which partner-resolved fluxes and perturbations establish amino-acid transfer and hydrogenase-mediated + benefit? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Gas syntrophy - CO2 and H2 transfer to the acetogen + - ecological_interactions#Arginine cross-feeding to the acetogen + - ecological_interactions#Histidine degradation feeding the acetogen + - ecological_interactions#Proposed hydrogenase feedback relief through hydrogen removal + - ecological_interactions#Contact-associated transcriptional response and proposed growth stimulation + - ecological_interactions#Proposed amino-acid competition and product inhibition + rationale: PMID:40298437 measures supernatant amino acids, recipient monoculture supplementation and early glucose + consumption. These results support the proposed mechanisms without tracing donor-derived amino acids, ATP or + local hydrogen flux, directly assaying hydrogenase feedback, or measuring species-specific reciprocal growth. + Direct transfer and mediator perturbations would distinguish these routes from other contact or medium effects. + posed_by: codex + posed_date: '2026-10-05' +- discussion_id: fusion_coculture_wild_type_exchange_and_product_causality + prompt: Which macromolecules transfer in the unmodified pair, and is fusion necessary for its product phenotype? + kind: KNOWLEDGE_GAP + status: OPEN + attaches_to: + - ecological_interactions#Interspecies cell fusion and cytoplasmic material exchange + - ecological_interactions#Coculture isopropanol and 2,3-butanediol production + rationale: PMID:32873766 demonstrates wild-type structural fusion and describes protein-dye exchange, but its + RNA assay uses C. acetobutylicum-Halo. PMID:38214507 demonstrates DNA acquisition and integration using a plasmid-bearing + C. ljungdahlii donor and selected recipients, not the wild-type pairing; its node and arrow were removed from + this graph with provenance retained in the review ledger. A separately scoped engineered record and exact-system + transfer evidence would preserve these distinctions. Contact separation is not a fusion-specific intervention. + The founding PMID:30391511 full body and the supplementary images were not inspected. + posed_by: codex + posed_date: '2026-10-05' +curation_history: +- timestamp: '2026-10-05T22:47:53Z' + curator: codex + action: REVIEW_CAUSAL_GRAPH + changes: 'Separate wild-type fusion from engineered DNA integration; preserve measured gas, amino-acid and product + results while qualifying causal mechanisms and contact-associated growth. Issue #1316; reports/causal_graph_review/decisions/20261005-one-record-batch17.yaml' + llm_assisted: true diff --git a/reports/causal_graph_review/adversarial-review-20261005-batch17.yaml b/reports/causal_graph_review/adversarial-review-20261005-batch17.yaml new file mode 100644 index 000000000..6f747feb8 --- /dev/null +++ b/reports/causal_graph_review/adversarial-review-20261005-batch17.yaml @@ -0,0 +1,73 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 0910d162535f98abba87fadb931b1261ce7aa775 +scope: +- kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml +findings: +- issue: 1316 + severity: P2 + finding: The wild-type graph included an engineered-donor DNA endpoint, generalized condition-specific product + emergence and promoted proposed mechanisms to categorical effects. + disposition: addressed_and_locally_verified +open_nongraph_followups: +- issue: 1317 + disposition: intentionally_not_closed_by_graph_only_patch + scope: Description assay scope, manual Type I pH adjustment, organism-specific heat shock and monoculture conditions. +existing_model_followups: +- 749 +- 752 +adversarial_checks: +- Preserve the real plasmid integration result in the removed-node ledger snapshot while excluding it from the wild-type + graph. +- Retain wild-type structural fusion and reported chemical protein-label exchange; distinguish the RNA reporter + assay. +- Do not claim visual inspection of primary or supplemental figures; main bodies, Methods and captions were read. +- Retain measured supernatant profiles, amino-acid supplementation and glucose-consumption results, not a transcript-only + characterization. +- Supplementation uses two biological replicates; transcriptome comparisons and early glucose-consumption measurements + use three. +- Distinguish recipient monoculture supplementation from traced donor flux, ATP mediation and Wood-Ljungdahl pathway + flux. +- Do not equate transcript-associated growth with species-specific growth rates or headspace comparisons with direct + hydrogenase activity. +- Bound 2,3-butanediol emergence to reported controls, not universal monoculture inability. +- Contact separation is not a selective fusion perturbation; both retained causal arrows remain explicitly hypothesized. +- Different monoculture substrate/gas conditions do not settle same-condition obligacy; existing global enum issues + remain open. +- Four exact renames and one node/arrow removal, with complete ledger accounting and valid discussion anchors; no + new structure or Edison spend. +- Unrelated YAML blocks, all reference caches and participant/connectivity test registries remain unchanged. +verification: + status: local_validation_complete + checks: 16 + records: 460 + nodes: 1474 + edges: 717 + review_status_counts: + needs_research: 3 + pending: 357 + reviewed: 100 + structural_defects: 0 + network_errors: 0 + network_warnings: 25 + new_network_warnings: 0 + unchanged_raw_blocks: 18 + snippet_counts: + MATCH: 41 + RENDERING: 0 + ASSEMBLED: 0 + WEAK: 0 + MISMATCH: 0 + NOCONTENT: 0 + published_description_coverage: + pages: 456 + node_descriptions: 1460 + edge_descriptions: 709 + render_determinism: passed + regressions: 239 passed in 161.89s (0:02:41) + rights: 3 passed in 1.67s + rights_import_root_verified: true + caches_unchanged: true + primary_artifact_hashes_rechecked: true + participant_registry_and_connectivity_test_bytes_unchanged: true diff --git a/reports/causal_graph_review/decisions/20261005-one-record-batch17.yaml b/reports/causal_graph_review/decisions/20261005-one-record-batch17.yaml new file mode 100644 index 000000000..ad6da0e2b --- /dev/null +++ b/reports/causal_graph_review/decisions/20261005-one-record-batch17.yaml @@ -0,0 +1,251 @@ +reviewer: codex +review_mode: source_based_self_adversarial_review +independent_approval: false +base_commit: 0910d162535f98abba87fadb931b1261ce7aa775 +issues: +- 1316 +open_nongraph_followups: +- 1317 +existing_model_followups: +- 749 +- 752 +issue_deduplication: + issue_count: 659 + scope: All-state issue titles and bodies; comments not exhaustive. Ignored-inclusive local reports/history/research/tests + search plus KB and isolate search for p100ptaHalo, ptaHalo, PMID 38214507 and DOI 03133-23. + findings: Only the existing wild-type record matched the engineered DNA paper identifiers in the KB search. Existing + issues 749 and 752 are broader enum-model followups, not duplicates of exact-system graph fixes. Closed issue + 748 concerns abundance enum semantics, not new evidence provenance. +reference_cache_original_hashes: + references_cache/PMID_40298437.md: 96f235b46b00eceee141aef2615e2838aaecd09d1a26fad68bacf095da3a4882 + references_cache/PMID_32873766.md: 5230e98ef56284528e6348ab21fb0220b99815d73a0474c9eff7a174df9dfddf + references_cache/PMID_38214507.md: 00501fb2595c3df92d30b72982311d43e6ddacad5fab1fa1ae12b116fb81a0c3 + references_cache/PMID_30391511.md: 9bba0282942015d00969122ee448139191b8c66eff65ea0adf8f23296d76313b +limitations: +- No new nodes/arrows; four exact renames and one node/arrow removal. No Edison run or spend. +- Three primary main bodies and captions read; images and supplements not visually inspected. Founding paper abstract + only. +- 'Issue #1317 tracks separate non-graph metadata; unrelated YAML blocks preserved.' +- Self-adversarial review is not independent approval or corpus completion. Protected checks and queue still required. +records: +- path: kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml + id: CommunityMech:000336 + original_sha256: db4ee8d4be5d8027c88a35ea503475b9552d25a4dc991319142be92e31be5891 + record_sha256: 27e4e0784e4d50f0b619fb8754e1f6f3417d351e12344be9f5c8df293035b61c + status: reviewed + outcome: changed + review_file: reports/causal_graph_review/decisions/20261005-one-record-batch17.yaml + scope: Whole record and all nine original nodes/three arrows reviewed against primary main text; images and supplements + not visually inspected. + summary: Separate wild-type fusion from engineered DNA integration; preserve measured gas, amino-acid and product + results while qualifying causal mechanisms and contact-associated growth. + renamed_nodes: + Hydrogen removal relieving hydrogenase feedback inhibition: Proposed hydrogenase feedback relief through hydrogen + removal + Contact-dependent growth stimulation of both partners: Contact-associated transcriptional response and proposed + growth stimulation + Competition for yeast-extract amino acids and product inhibition: Proposed amino-acid competition and product + inhibition + Emergent non-native metabolites: Coculture isopropanol and 2,3-butanediol production + node_decisions: + - node: Gas syntrophy - CO2 and H2 transfer to the acetogen + rationale: Preserve supported gas cross-feeding; different monoculture conditions do not resolve same-condition + obligacy. + - node: Arginine cross-feeding to the acetogen + rationale: Preserve supernatant and supplementation evidence while qualifying partner flux and ATP mediation. + - node: Histidine degradation feeding the acetogen + rationale: Preserve histidine supplementation results; qualify transfer and proposed Wood-Ljungdahl coupling. + - node: Proposed hydrogenase feedback relief through hydrogen removal + rationale: Name the glucose-consumption assay and distinguish it from direct hydrogenase measurement or reciprocal + fitness. + - node: Contact-associated transcriptional response and proposed growth stimulation + rationale: Retain contact-associated transcripts without presenting them as measured species-specific growth + rates. + - node: Proposed amino-acid competition and product inhibition + rationale: Retain the proposed inhibition model without categorical reciprocal competition. + - node: Interspecies cell fusion and cytoplasmic material exchange + rationale: Preserve wild-type structural fusion and protein exchange; distinguish reporter RNA and engineered + DNA assays. + - node: Coculture isopropanol and 2,3-butanediol production + rationale: Retain measured products but bound emergence to study controls and qualify fusion-specific causality. + removed_node_decisions: + - node: Interspecies DNA transfer and genomic integration + original_node: + name: Interspecies DNA transfer and genomic integration + description: 'Plasmid DNA from C. ljungdahlii is acquired by C. acetobutylicum and integrated into its genome, + a horizontal transfer route mediated by the cell fusion rather than by conjugation, transduction, or transformation. + + interaction_type is deliberately unset for the same reason as the fusion entry: COMMENSALISM would assert + that the recipient benefits, and the cited work shows acquisition and integration, not benefit. Tracked + as issue 749.' + scope: PAIRWISE + source_taxon: + preferred_term: Clostridium ljungdahlii + term: + id: NCBITaxon:1538 + label: Clostridium ljungdahlii + target_taxon: + preferred_term: Clostridium acetobutylicum + term: + id: NCBITaxon:1488 + label: Clostridium acetobutylicum + metabolites: + - preferred_term: DNA + term: + id: CHEBI:16991 + label: deoxyribonucleic acid + evidence: + - reference: PMID:38214507 + supports: SUPPORT + evidence_source: IN_VITRO + snippet: we isolated C. acetobutylicum cells which acquired and integrated into their genome portions of + plasmid DNA from a plasmid-carrying C. ljungdahlii strain + explanation: Sources the direction of transfer and the genomic integration. + rationale: Supported DNA integration belongs to a plasmid-donor/selected-recipient experiment, not the explicitly + wild-type graph. Preserve evidence for a separately scoped record; do not deny the experimental finding. + edges_before: + - source: Gas syntrophy - CO2 and H2 transfer to the acetogen + target: Hydrogen removal relieving hydrogenase feedback inhibition + description: 'Acetogenic consumption of C. acetobutylicum-derived H2 is the reciprocal sink hypothesized to + relieve hydrogenase feedback in the solventogen. + + ' + - source: Interspecies cell fusion and cytoplasmic material exchange + target: Interspecies DNA transfer and genomic integration + description: 'Cell fusion provides a physical route for C. ljungdahlii plasmid DNA to cross into C. acetobutylicum + and integrate into its genome. + + ' + - source: Interspecies cell fusion and cytoplasmic material exchange + target: Emergent non-native metabolites + description: 'Fusion-mediated material exchange is the direct-contact mechanism associated with wild-type production + of metabolites neither monoculture produces. + + ' + edges_after: + - source: Gas syntrophy - CO2 and H2 transfer to the acetogen + target: Proposed hydrogenase feedback relief through hydrogen removal + description: HYPOTHESIZED - acetogenic consumption of partner-derived H2 could relieve local hydrogenase feedback + in C. acetobutylicum. Early glucose-consumption comparisons are consistent with this reciprocal effect, but + do not directly measure hydrogenase activity or isolate local H2 removal. + - source: Interspecies cell fusion and cytoplasmic material exchange + target: Coculture isopropanol and 2,3-butanediol production + description: HYPOTHESIZED - fusion-associated cytoplasmic exchange could enable the altered metabolite production + observed in mixed coculture. Membrane-separation results support contact dependence, but do not selectively + perturb fusion or demonstrate that fusion alone causes the product phenotype. + retained_edge_decisions: + - source: Gas syntrophy - CO2 and H2 transfer to the acetogen + target: Proposed hydrogenase feedback relief through hydrogen removal + rationale: HYPOTHESIZED - acetogenic consumption of partner-derived H2 could relieve local hydrogenase feedback + in C. acetobutylicum. Early glucose-consumption comparisons are consistent with this reciprocal effect, but + do not directly measure hydrogenase activity or isolate local H2 removal. + - source: Interspecies cell fusion and cytoplasmic material exchange + target: Coculture isopropanol and 2,3-butanediol production + rationale: HYPOTHESIZED - fusion-associated cytoplasmic exchange could enable the altered metabolite production + observed in mixed coculture. Membrane-separation results support contact dependence, but do not selectively + perturb fusion or demonstrate that fusion alone causes the product phenotype. + removed_edge_decisions: + - source: Interspecies cell fusion and cytoplasmic material exchange + target: Interspecies DNA transfer and genomic integration + description: 'Cell fusion provides a physical route for C. ljungdahlii plasmid DNA to cross into C. acetobutylicum + and integrate into its genome. + + ' + rationale: Engineered DNA endpoint removed from wild-type scope; fusion-specific transport route is proposed, + not selectively demonstrated. + references: + - PMID:30391511 + - PMID:32873766 + - PMID:38214507 + - PMID:40298437 + history_files: + - history/records/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture/2026-10-05T224753Z-codex-668b1f.yaml + issues: + - 1316 + allowed_changed_fields: + - curation_history + - discussions + - ecological_interactions + curation_events_added: 1 + source_review: + primary_transcriptome: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC12090709/fullTextXML + path: /private/tmp/communitymech-batch17/fusion-transcriptome.xml + sha256: 673cfd527ec15c8194097ba339486d53396a8116b6b6ed87cc0f6c91b7d1ca01 + license: CC BY 4.0 verified in primary XML. + sections_read: + - Overview of genes strongly upregulated by direct interspecies contact + - Arginine, histidine, and tryptophan biosynthesis genes and metabolism + - Does the differential expression of ribosomal proteins support the notion that the coculture benefits C. + acetobutylicum growth? + - Introduction + - Experimental design and global gene-expression summary + - Cell motility genes + - Wood-Ljungdahl and autotrophic energy metabolism + - Conclusions + - All Materials and Methods subsections + - All seven main figure captions + findings: + - Do not label this as transcript-only evidence. Primary work measures supernatant amino acids, glutamate + profiles, and C. ljungdahlii autotrophic growth with amino-acid supplementation. + - Supplementation is C. ljungdahlii monoculture, not direct donor-to-recipient tracing; histidine-WLP pathway + and cross-feeding remain proposed. + - Measured early glucose-consumption rates compare coculture against C. acetobutylicum monoculture under N2 + or 80 percent H2 / 20 percent CO2. Small consistent differences support the H2-feedback hypothesis, not + direct hydrogenase activity measurement. + - Contact-associated ribosomal/pyrimidine expression is interpreted as growth stimulation; avoid substituting + transcript abundance for directly measured species-specific growth. + - Type I C. ljungdahlii monocultures differed in pressure, agitation and absence of glucose; do not call them + identical conditions to the coculture. + - Type I pH WAS manually adjusted at 11 hours; current record says pH uncontrolled based on absent apparatus. + This is a separate non-graph metadata defect requiring an issue. + - Population ratios were estimated from aligned mRNA reads, not direct cell counts. + - No detectable isopropanol at the Type II 11-hour endpoint is phase-specific and does not refute later wild-type + production. + - Entire primary body and seven main figure captions read by structured XML. References and supplements not + exhaustively read; no primary figure visually inspected yet. + - Heat shock is specifically in the C. acetobutylicum preculture protocol, not both organisms; current shared + growth_media preparation note needs non-graph clarification. + - Approximately 25 percent C. ljungdahlii in the library-depth rationale cites prior work, whereas Figure + 1 population profiles use mRNA reads; distinguish both evidence origins when reviewing abundance metadata. + - Amino-acid supplementation Figure 6 uses two biological replicates, unlike the three-replicate Type I/II + transcriptome experiments. + primary_structure: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC7468208/fullTextXML + path: /private/tmp/communitymech-batch17/fusion-structure.xml + sha256: d7a2480f551f28dd40e766be8a53f3315def3c82da087d0a08bd74b4824caa6a + license: CC BY 4.0 verified in primary XML. + reading: Whole main body, Methods and eight main figure captions read. Main images, supplements and bibliography + not exhaustively inspected. Public image download returned 403; no image inspection claimed. + findings: + - Wild-type electron microscopy and tomography demonstrate cell-wall and membrane fusion. Chemical protein + dyes also support wild-type protein exchange. + - Many protein images use reporters; the RNA experiment pairs WT C. ljungdahlii with C. acetobutylicum-Halo. + Do not describe every assay as an unmodified pair. + - RNASelect is not mRNA-specific; the stable signal is interpreted largely as rRNA/tRNA. + - The structural study uses 100 nm protein-exchange transwells, distinct from the 2025 0.4 micrometer transcriptome + transwells. + - C. ljungdahlii can in principle produce 2,3-butanediol alone, but did not in the reported monoculture controls. + Bound emergence to those conditions. + - Membrane separation supports contact dependence, not a selective perturbation establishing that fusion itself + is necessary for metabolite production. + primary_dna: + url: https://www.ebi.ac.uk/europepmc/webservices/rest/PMC10865971/fullTextXML + path: /private/tmp/communitymech-batch17/fusion-dna.xml + sha256: 68696172fa04c38aed633529884a2fad1c56822122912185774bf171e5b8b22b + license: CC BY 4.0 verified in primary XML. + reading: Whole main body, Methods and five main figure captions read. Table 1 not separately inspected; images + and supplements not visually inspected. + findings: + - WT recipient C. acetobutylicum was paired with plasmid-bearing C. ljungdahlii-ptaHalo, followed by selective + passages; not the wild-type pairing curated here. + - Selected P4.5 cells have integrated plasmid DNA supported by PCR and long reads; this real result must not + be relabeled as unsupported biology. + - Fusion is the authors' most-likely route, not directly established by DNA imaging or fusion-specific perturbation. + Other route exclusions are mechanistic arguments. + - Mixed or hybrid populations and methylation evidence do not establish universal stable clonal hybrids. No + such claim will be added. + primary_founding: + url: https://pubmed.ncbi.nlm.nih.gov/30391511/ + reading: Fresh primary abstract and complete selected-snippet cache read; full body not obtained. No new numerical + claim curated from inaccessible body. diff --git a/reports/causal_graph_review/inventory.tsv b/reports/causal_graph_review/inventory.tsv index 88ce215b5..4f5ce9d6f 100644 --- a/reports/causal_graph_review/inventory.tsv +++ b/reports/causal_graph_review/inventory.tsv @@ -101,7 +101,7 @@ kb/communities/Choysum_SynLAV_DEHP_Rhizobacterial_SynCom.yaml CommunityMech:0004 kb/communities/Chromium_Sulfur_Reduction_Enrichment.yaml CommunityMech:000017 5be48eb0c799123a45f64ec1a3dc2e07d3fcd614110fa95c383edbdcd4ed4a87 3 2 96.7 reports/causal_graph_review/decisions/20261005-three-records-batch15.yaml reviewed kb/communities/Cinnamate_Degradation_Consortium.yaml CommunityMech:000018 6b8b4403e3b23932e5a7f59de1f2580dab061a5327e45f1d62cadd4d32c107d9 3 2 96.7 reports/causal_graph_review/decisions/20261005-two-records-batch16.yaml reviewed kb/communities/Clostridial_isoDCA_Mini_Consortium.yaml CommunityMech:000396 bb785ba51ceecbd2b3eccdee982413f11baf5df7f5f33f180dc9a9a49ef4363d 1 0 60.0 reports/causal_graph_review/decisions/20261005-two-records-batch16.yaml reviewed -kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml CommunityMech:000336 db4ee8d4be5d8027c88a35ea503475b9552d25a4dc991319142be92e31be5891 9 3 96.7 pending +kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml CommunityMech:000336 27e4e0784e4d50f0b619fb8754e1f6f3417d351e12344be9f5c8df293035b61c 8 2 93.8 reports/causal_graph_review/decisions/20261005-one-record-batch17.yaml reviewed kb/communities/Clostridium_Autoethanogenum_Kluyveri_Syngas_Coculture.yaml CommunityMech:000172 5cb2019adbc5c0c390e928ea64b88219106a9c7892c6c107930c8f17d2a0521d 3 2 100.0 pending kb/communities/Clostridium_Caldicellulosiruptor_Minimal_Medium_Coculture.yaml CommunityMech:000193 912a98e500fa28504035f915fd6044c6ed55cbf5ab356932b5d28b2a135f958a 3 1 90.0 pending kb/communities/Clostridium_Carboxidivorans_Kluyveri_CO_Chain_Elongation_Coculture.yaml CommunityMech:000266 94b7ab8725dbf71b7bf54036ab32f1d26ec40bfc01e1c8ce4ac947e78b07183e 3 2 100.0 pending diff --git a/reports/causal_graph_review/summary.json b/reports/causal_graph_review/summary.json index 402658650..bbb5d4c56 100644 --- a/reports/causal_graph_review/summary.json +++ b/reports/causal_graph_review/summary.json @@ -2,14 +2,14 @@ "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", "semantic_review_rule": "Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.", "records": 460, - "nodes": 1475, - "edges": 718, + "nodes": 1474, + "edges": 717, "records_without_nodes": 8, "records_without_edges": 138, "review_status_counts": { "needs_research": 3, - "pending": 358, - "reviewed": 99 + "pending": 357, + "reviewed": 100 }, "structural_defects": [], "network_audit": [ diff --git a/reports/causal_graph_review/validation-20261005-batch17.json b/reports/causal_graph_review/validation-20261005-batch17.json new file mode 100644 index 000000000..7867f4d8d --- /dev/null +++ b/reports/causal_graph_review/validation-20261005-batch17.json @@ -0,0 +1,309 @@ +{ + "base_commit": "0910d162535f98abba87fadb931b1261ce7aa775", + "scope": [ + "kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml" + ], + "reference_validator_version": "0.1.7", + "results": [ + { + "check": "Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture-schema", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "linkml-validate", + "-s", + "src/communitymech/schema/communitymech.yaml", + "kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml" + ], + "output": "No issues found\n" + }, + { + "check": "Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture-strict", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "python3", + "scripts/validate_strict.py", + "--workers", + "1", + "--out", + "/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture-strict.tsv", + "kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml" + ], + "output": "Validating 1 files with 1 workers; schema=src/communitymech/schema/communitymech.yaml\n\n=== validate-strict summary ===\n files scanned: 1\n files with ERROR: 0\n total ERROR rows: 0\n TSV: /Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture-strict.tsv\n" + }, + { + "check": "Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture-terms", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "linkml-term-validator", + "validate-data", + "kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--labels" + ], + "output": "\u2705 Validation passed\n" + }, + { + "check": "Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture-references-explained", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "linkml-reference-validator", + "validate", + "data", + "kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml", + "-s", + "src/communitymech/schema/communitymech.yaml", + "--config", + "conf/reference_validator.yaml" + ], + "output": "Validating kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml against schema src/communitymech/schema/communitymech.yaml\nCache directory: references_cache\n\nValidation Summary:\n Total checks: 0\n All validations passed!\n" + }, + { + "check": "Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture-snippets", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "python3", + "scripts/evidence_snippet_audit.py", + "kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml", + "--list-mismatch", + "--list-nocontent", + "--list-rendering", + "--list-assembled" + ], + "output": "# 41 evidence snippets scanned across 1 files\n MATCH 41\n RENDERING 0\n ASSEMBLED 0\n WEAK 0\n MISMATCH 0\n NOCONTENT 0\n\n# Files with MISMATCH/WEAK (content present but snippet absent) \u2014 fabrication suspects\n\n# MISMATCH/WEAK detail\n\n# Files by RENDERING (faithful quote; differs from cache only by\n# punctuation/whitespace/Greek \u2014 this is what validate-references flags)\n\n# Top files by NOCONTENT (unverifiable; cache stub/missing)\n\n# ASSEMBLED (every part is in the source; the join is not \u2014\n# a table flattened into prose, or a quote welded from two places)\n" + }, + { + "check": "Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture-rank", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "python3", + "scripts/rank_causal_graph_readiness.py", + "kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml", + "--format", + "json" + ], + "output": "[\n {\n \"rank\": 1,\n \"id\": \"CommunityMech:000336\",\n \"name\": \"Clostridium acetobutylicum-Clostridium ljungdahlii Syntrophic Fusion Coculture\",\n \"score\": 93.8,\n \"taxonomy\": 2,\n \"connected_taxa\": 2,\n \"disconnected_taxa\": 0,\n \"ecological_interactions\": 8,\n \"downstream_edges\": 2,\n \"interaction_evidence\": 20,\n \"dangling_downstream\": 0,\n \"self_downstream\": 0,\n \"missing\": [\n \"interaction_type\"\n ],\n \"path\": \"kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml\"\n }\n]\n" + }, + { + "check": "Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture-history-0", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "linkml-validate", + "-s", + "src/communitymech/schema/history.yaml", + "--target-class", + "HistoryRecord", + "history/records/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture/2026-10-05T224753Z-codex-668b1f.yaml" + ], + "output": "No issues found\n" + }, + { + "check": "inventory", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "python3", + "reports/causal_graph_review/build_inventory.py" + ], + "output": "{\n \"scope\": \"Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.\",\n \"semantic_review_rule\": \"Structural checks and readiness scores do not establish causal support. Completed reviews must match the current record SHA-256, cover every node once with a rationale, and reproduce the current edge list.\",\n \"records\": 460,\n \"nodes\": 1474,\n \"edges\": 717,\n \"records_without_nodes\": 8,\n \"records_without_edges\": 138,\n \"review_status_counts\": {\n \"needs_research\": 3,\n \"pending\": 357,\n \"reviewed\": 100\n },\n \"structural_defects\": []\n}\n" + }, + { + "check": "network", + "exit_code": 1, + "expected_exit_codes": [ + 1 + ], + "command": [ + "python3", + "-m", + "communitymech.cli", + "audit-network", + "--json" + ], + "output": "Pinus massoniana' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Protective Enzyme and Resistance-Gene Activation\",\n \"interaction_index\": 2,\n \"taxon\": \"Pinus massoniana\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Pinus massoniana' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Brocadia_Low_Nitrogen_Anammox_Consortium\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Ca. Kuenenia early-acclimation lineage\",\n \"taxon_id\": \"NCBITaxon:380738\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Ca. Kuenenia early-acclimation lineage\",\n \"term\": {\n \"id\": \"NCBITaxon:380738\",\n \"label\": \"Candidatus Kuenenia\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"Ca. Kuenenia was resolved at genus level as an early-acclimation anammox lineage that was ultimately replaced by Ca. Brocadia.\"\n },\n \"functional_role\": [\n \"PRIMARY_PRODUCER\"\n ],\n \"evidence\": [\n {\n \"reference\": \"PMID:42323145\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"COMPUTATIONAL\",\n \"snippet\": \"During early acclimation, Ca. Kuenenia reduced the expression of costly biosynthetic pathways\",\n \"explanation\": \"Supports Ca. Kuenenia as the early-acclimation lineage tracked in the biofilter succession study.\"\n }\n ]\n },\n \"message\": \"Taxon 'Ca. Kuenenia early-acclimation lineage' has no interactions\"\n }\n ],\n \"Mangrove_Benzene_MFC_Bioanode_Consortium\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pelobacter\",\n \"taxon_id\": \"NCBITaxon:18\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pelobacter\",\n \"term\": {\n \"id\": \"NCBITaxon:18\",\n \"label\": \"Pelobacter\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"Pelobacter was a lower-abundance genus in the benzene-fed 16S profile; no species-level identity or functional role was resolved.\\n\"\n },\n \"relative_abundance\": 2.22,\n \"relative_abundance_unit\": \"percent\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41210787\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pelobacter, Desulfurumonas, and Pseudomonas were also identified at 2.22, 1.64, and 0.87%\",\n \"explanation\": \"Supports Pelobacter as a minor detected genus in the benzene-fed MFC biofilm.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pelobacter' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas\",\n \"taxon_id\": \"NCBITaxon:286\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas\",\n \"term\": {\n \"id\": \"NCBITaxon:286\",\n \"label\": \"Pseudomonas\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"Pseudomonas was a lower-abundance genus in the benzene-fed 16S profile; no species-level identity or functional role was resolved.\\n\"\n },\n \"relative_abundance\": 0.87,\n \"relative_abundance_unit\": \"percent\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41210787\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pelobacter, Desulfurumonas, and Pseudomonas were also identified at 2.22, 1.64, and 0.87%\",\n \"explanation\": \"Supports Pseudomonas as a minor detected genus in the benzene-fed MFC biofilm.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas' has no interactions\"\n }\n ],\n \"Nitrifying_Wastewater_Ammonia_Oxidizing_Consortium\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Legionella MAGs\",\n \"taxon_id\": \"NCBITaxon:445\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Legionella MAGs\",\n \"term\": {\n \"id\": \"NCBITaxon:445\",\n \"label\": \"Legionella\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The study detected Legionella-affiliated MAGs and used them in a virulence-gene risk assessment; the source did not assert pathogenicity for a cultured Legionella isolate.\\n\"\n },\n \"abundance_value\": \"Lower-abundance Legionella-affiliated MAGs detected during metagenomic risk assessment.\\n\",\n \"evidence\": [\n {\n \"reference\": \"PMID:41457319\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"COMPUTATIONAL\",\n \"snippet\": \"detection of waterborne pathogens from the Legionella genus\",\n \"explanation\": \"Supports Legionella-affiliated lower-abundance bins as monitored biosafety-relevant members of the consortium.\\n\"\n }\n ]\n },\n \"message\": \"Taxon 'Legionella MAGs' has no interactions\"\n }\n ],\n \"Sclerotinia_Sclerotia_12Strain_Biocontrol_SynCom\": [\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Twelve-Strain SynCom Suppression of Sclerotinia Sclerotia\",\n \"interaction_index\": 0,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n },\n {\n \"type\": \"UNKNOWN_TARGET\",\n \"interaction\": \"Trinickia MC Key Contribution to Sclerotia Mortality\",\n \"interaction_index\": 1,\n \"taxon\": \"Sclerotinia sclerotiorum\",\n \"severity\": \"warning\",\n \"message\": \"Target taxon 'Sclerotinia sclerotiorum' not found in taxonomy section (community-level scope)\"\n }\n ],\n \"Space_Habitat_SevenMember_Stress_Tolerance_SynCom\": [\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Acinetobacter radioresistens 50V1\",\n \"taxon_id\": \"NCBITaxon:40216\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Acinetobacter radioresistens 50V1\",\n \"term\": {\n \"id\": \"NCBITaxon:40216\",\n \"label\": \"Acinetobacter radioresistens\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate came from the preflight Mars Odyssey Orbiter; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"50V1\",\n \"genome_accession\": \"GCA_002834555.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Acinetobacter radioresistens | 50V1 | Preflight Mars Odyssey Orbiter | \\u2013 | Mccoy et al., 2012 | GCA_002834555.1 | TSYB/TSYA | 37 \\u00b0C | 16\\u201318 h\",\n \"explanation\": \"Identifies A. radioresistens 50V1 as a consortium member and gives its spacecraft-associated source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Acinetobacter radioresistens 50V1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Micrococcus luteus W4-Al-K1\",\n \"taxon_id\": \"NCBITaxon:1270\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Micrococcus luteus W4-Al-K1\",\n \"term\": {\n \"id\": \"NCBITaxon:1270\",\n \"label\": \"Micrococcus luteus\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from an ISS aluminum-case touch array; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"W4-Al-K1\",\n \"genome_accession\": \"GCA_057816565.1\"\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Micrococcus luteus | W4-Al-K1 | ISS, Touch Array Aluminum Case | - | Kr\\u00e4mer et al., 2025 | GCA_057816565.1 | NB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies M. luteus W4-Al-K1 as a consortium member and gives its ISS source, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Micrococcus luteus W4-Al-K1' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"taxon_id\": \"NCBITaxon:64702\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Propionibacterium cyclohexanicum TA-12T\",\n \"term\": {\n \"id\": \"NCBITaxon:64702\",\n \"label\": \"Propionibacterium cyclohexanicum\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. cyclohexanicum type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"TA-12T\",\n \"genome_accession\": \"GCA_900111365\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"16859\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Propionibacterium cyclohexanicum | TA-12 T | Spoilt Orange Juice | DSM 16859 T | Kusano et al., 1997 | GCA_900111365 | BHI, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies P. cyclohexanicum TA-12T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Propionibacterium cyclohexanicum TA-12T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Pseudomonas antarctica CMS 35T\",\n \"taxon_id\": \"NCBITaxon:219572\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Pseudomonas antarctica CMS 35T\",\n \"term\": {\n \"id\": \"NCBITaxon:219572\",\n \"label\": \"Pseudomonas antarctica\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the P. antarctica type strain as a biosafety-level-1 Pseudomonas surrogate.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"CMS 35T\",\n \"genome_accession\": \"GCA_010634845\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"15318\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Pseudomonas antarctica | CMS 35 T | Antarctica | DSM 15318 T | Reddy et al., 2004 | GCA_010634845 | TSYB/TSYA | Ambient | 12\\u201316 h\",\n \"explanation\": \"Identifies P. antarctica CMS 35T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Pseudomonas antarctica CMS 35T' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Staphylococcus capitis K1-2-2-23\",\n \"taxon_id\": \"NCBITaxon:29388\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Staphylococcus capitis K1-2-2-23\",\n \"term\": {\n \"id\": \"NCBITaxon:29388\",\n \"label\": \"Staphylococcus capitis\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The isolate was recovered from ISS V2A steel; ontology grounding is at species level.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"K1-2-2-23\",\n \"genome_accession\": \"GCA_025272695\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"111179\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Staphylococcus capitis | K1-2-2-23 | ISS, V2A Steel | DSM 111179 | Sobisch et al., 2019 | GCA_025272695 | TSYB/TSYA | 37 \\u00b0C | 16\\u201324 h\",\n \"explanation\": \"Identifies S. capitis K1-2-2-23 as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Staphylococcus capitis K1-2-2-23' has no interactions\"\n },\n {\n \"type\": \"DISCONNECTED\",\n \"taxon\": \"Streptococcus halotolerans HTS9T\",\n \"taxon_id\": \"NCBITaxon:1814128\",\n \"taxon_data\": {\n \"taxon_term\": {\n \"preferred_term\": \"Streptococcus halotolerans HTS9T\",\n \"term\": {\n \"id\": \"NCBITaxon:1814128\",\n \"label\": \"Streptococcus halotolerans\"\n },\n \"gtdb_grounding_status\": \"UNRESOLVED\",\n \"notes\": \"The source used the S. halotolerans type strain as a biosafety-level-1 representative.\"\n },\n \"strain_designation\": {\n \"strain_name\": \"HTS9T\",\n \"genome_accession\": \"GCA_001598035\",\n \"culture_collections\": [\n {\n \"collection\": \"DSM\",\n \"accession\": \"101996\"\n }\n ]\n },\n \"evidence\": [\n {\n \"reference\": \"PMID:42577390\",\n \"supports\": \"SUPPORT\",\n \"evidence_source\": \"IN_VITRO\",\n \"snippet\": \"Streptococcus halotolerans | HTS9 T | Respiratory Tract of Marmota himalayana | DSM 101996 T | Niu et al., 2016 | GCA_001598035 | 2xLB, TSYB/TSYA | 37 \\u00b0C | 24 h\",\n \"explanation\": \"Identifies S. halotolerans HTS9T as a consortium member and gives its source, DSM number, genome accession and cultivation conditions.\"\n }\n ]\n },\n \"message\": \"Taxon 'Streptococcus halotolerans HTS9T' has no interactions\"\n }\n ]\n}\n" + }, + { + "check": "render", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "python3", + "-m", + "communitymech.render" + ], + "output": "South_Bay_Salt_Pond_Methane_Restoration_Community.html\n \u2713 Soy_Sauce_Temporal_SevenSpecies_SynCom.yaml \u2192 docs/communities/Soy_Sauce_Temporal_SevenSpecies_SynCom.html\n \u2713 Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.yaml \u2192 docs/communities/Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.html\n \u2713 Soybean_N_Fixation_sfSynCom.yaml \u2192 docs/communities/Soybean_N_Fixation_sfSynCom.html\n \u2713 Soymilk_Mixed_Starter_Metabolic_Division_SynCom.yaml \u2192 docs/communities/Soymilk_Mixed_Starter_Metabolic_Division_SynCom.html\n \u2713 Space_Habitat_SevenMember_Stress_Tolerance_SynCom.yaml \u2192 docs/communities/Space_Habitat_SevenMember_Stress_Tolerance_SynCom.html\n \u2713 Sphingobium_Nitrososphaera_Phenanthrene_Carbon_SynCom.yaml \u2192 docs/communities/Sphingobium_Nitrososphaera_Phenanthrene_Carbon_SynCom.html\n \u2713 Sphingobium_Rhodococcus_Lignin_Dimer_Valorization_Coculture.yaml \u2192 docs/communities/Sphingobium_Rhodococcus_Lignin_Dimer_Valorization_Coculture.html\n \u2713 Staged_Cattle_Manure_Ensifer_Bacillus_SynCom.yaml \u2192 docs/communities/Staged_Cattle_Manure_Ensifer_Bacillus_SynCom.html\n \u2713 Staphylococcus_Candida_Context_Dependent_Biofilm_Coculture.yaml \u2192 docs/communities/Staphylococcus_Candida_Context_Dependent_Biofilm_Coculture.html\n \u2713 Stordalen_Mire_Methylotrophic_Methanogenesis_Community.yaml \u2192 docs/communities/Stordalen_Mire_Methylotrophic_Methanogenesis_Community.html\n \u2713 Streptomyces_A2_A5_A11_M7_Pesticide_Consortium.yaml \u2192 docs/communities/Streptomyces_A2_A5_A11_M7_Pesticide_Consortium.html\n \u2713 Subsurface_Carboxydocella_CO_Aquifer_Community.yaml \u2192 docs/communities/Subsurface_Carboxydocella_CO_Aquifer_Community.html\n \u2713 Suillus_Bacillus_Thiamine_Ectomycorrhizal_SynCom.yaml \u2192 docs/communities/Suillus_Bacillus_Thiamine_Ectomycorrhizal_SynCom.html\n \u2713 Sulfide_Spring_Autotrophic_CPR_Biofilm.yaml \u2192 docs/communities/Sulfide_Spring_Autotrophic_CPR_Biofilm.html\n \u2713 SynComBac10_Chicken_Intestinal_SynCom.yaml \u2192 docs/communities/SynComBac10_Chicken_Intestinal_SynCom.html\n \u2713 SynCom_ARC_Peanut_Aflatoxin_Nodulation.yaml \u2192 docs/communities/SynCom_ARC_Peanut_Aflatoxin_Nodulation.html\n \u2713 SynCom_BsBv_Cigar_Tobacco_Leaf_Fermentation.yaml \u2192 docs/communities/SynCom_BsBv_Cigar_Tobacco_Leaf_Fermentation.html\n \u2713 SynCom_Chlorella_sorokiniana_Biogas_Slurry_Coupling_System.yaml \u2192 docs/communities/SynCom_Chlorella_sorokiniana_Biogas_Slurry_Coupling_System.html\n \u2713 SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.yaml \u2192 docs/communities/SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.html\n \u2713 SynCom_Pseudomonas_Rahnella_Artemisia_Phytoremediation.yaml \u2192 docs/communities/SynCom_Pseudomonas_Rahnella_Artemisia_Phytoremediation.html\n \u2713 SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml \u2192 docs/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.html\n \u2713 SynCom_Y_Agrobacterium_Bacillus_Biofilm_Biocontrol_Coculture.yaml \u2192 docs/communities/SynCom_Y_Agrobacterium_Bacillus_Biofilm_Biocontrol_Coculture.html\n \u2713 Synechococcus_Azotobacter_Photoproduction_Mutualism.yaml \u2192 docs/communities/Synechococcus_Azotobacter_Photoproduction_Mutualism.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to docs/communities\n \u2713 Generated browser at docs/browser.html\n \u2713 Generated landing at docs/index.html\n" + }, + { + "check": "render-repeat", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "python3", + "-m", + "communitymech.render" + ], + "output": "South_Bay_Salt_Pond_Methane_Restoration_Community.html\n \u2713 Soy_Sauce_Temporal_SevenSpecies_SynCom.yaml \u2192 docs/communities/Soy_Sauce_Temporal_SevenSpecies_SynCom.html\n \u2713 Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.yaml \u2192 docs/communities/Soybean_Chlorophyll_Selected_Biofertilizer_SynCom.html\n \u2713 Soybean_N_Fixation_sfSynCom.yaml \u2192 docs/communities/Soybean_N_Fixation_sfSynCom.html\n \u2713 Soymilk_Mixed_Starter_Metabolic_Division_SynCom.yaml \u2192 docs/communities/Soymilk_Mixed_Starter_Metabolic_Division_SynCom.html\n \u2713 Space_Habitat_SevenMember_Stress_Tolerance_SynCom.yaml \u2192 docs/communities/Space_Habitat_SevenMember_Stress_Tolerance_SynCom.html\n \u2713 Sphingobium_Nitrososphaera_Phenanthrene_Carbon_SynCom.yaml \u2192 docs/communities/Sphingobium_Nitrososphaera_Phenanthrene_Carbon_SynCom.html\n \u2713 Sphingobium_Rhodococcus_Lignin_Dimer_Valorization_Coculture.yaml \u2192 docs/communities/Sphingobium_Rhodococcus_Lignin_Dimer_Valorization_Coculture.html\n \u2713 Staged_Cattle_Manure_Ensifer_Bacillus_SynCom.yaml \u2192 docs/communities/Staged_Cattle_Manure_Ensifer_Bacillus_SynCom.html\n \u2713 Staphylococcus_Candida_Context_Dependent_Biofilm_Coculture.yaml \u2192 docs/communities/Staphylococcus_Candida_Context_Dependent_Biofilm_Coculture.html\n \u2713 Stordalen_Mire_Methylotrophic_Methanogenesis_Community.yaml \u2192 docs/communities/Stordalen_Mire_Methylotrophic_Methanogenesis_Community.html\n \u2713 Streptomyces_A2_A5_A11_M7_Pesticide_Consortium.yaml \u2192 docs/communities/Streptomyces_A2_A5_A11_M7_Pesticide_Consortium.html\n \u2713 Subsurface_Carboxydocella_CO_Aquifer_Community.yaml \u2192 docs/communities/Subsurface_Carboxydocella_CO_Aquifer_Community.html\n \u2713 Suillus_Bacillus_Thiamine_Ectomycorrhizal_SynCom.yaml \u2192 docs/communities/Suillus_Bacillus_Thiamine_Ectomycorrhizal_SynCom.html\n \u2713 Sulfide_Spring_Autotrophic_CPR_Biofilm.yaml \u2192 docs/communities/Sulfide_Spring_Autotrophic_CPR_Biofilm.html\n \u2713 SynComBac10_Chicken_Intestinal_SynCom.yaml \u2192 docs/communities/SynComBac10_Chicken_Intestinal_SynCom.html\n \u2713 SynCom_ARC_Peanut_Aflatoxin_Nodulation.yaml \u2192 docs/communities/SynCom_ARC_Peanut_Aflatoxin_Nodulation.html\n \u2713 SynCom_BsBv_Cigar_Tobacco_Leaf_Fermentation.yaml \u2192 docs/communities/SynCom_BsBv_Cigar_Tobacco_Leaf_Fermentation.html\n \u2713 SynCom_Chlorella_sorokiniana_Biogas_Slurry_Coupling_System.yaml \u2192 docs/communities/SynCom_Chlorella_sorokiniana_Biogas_Slurry_Coupling_System.html\n \u2713 SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.yaml \u2192 docs/communities/SynCom_MetG2_Rhizobacteria_Sugarcane_Stress_Resilience.html\n \u2713 SynCom_Pseudomonas_Rahnella_Artemisia_Phytoremediation.yaml \u2192 docs/communities/SynCom_Pseudomonas_Rahnella_Artemisia_Phytoremediation.html\n \u2713 SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.yaml \u2192 docs/communities/SynCom_Sesame_Flavor_Baijiu_Fuqu_13Genus.html\n \u2713 SynCom_Y_Agrobacterium_Bacillus_Biofilm_Biocontrol_Coculture.yaml \u2192 docs/communities/SynCom_Y_Agrobacterium_Bacillus_Biofilm_Biocontrol_Coculture.html\n \u2713 Synechococcus_Azotobacter_Photoproduction_Mutualism.yaml \u2192 docs/communities/Synechococcus_Azotobacter_Photoproduction_Mutualism.html\n \u2713 Synechococcus_Bacillus_SPC.yaml \u2192 docs/communities/Synechococcus_Bacillus_SPC.html\n \u2713 Synechococcus_Ecoli_SPC.yaml \u2192 docs/communities/Synechococcus_Ecoli_SPC.html\n \u2713 Synechococcus_Halomonas_Light_Driven_PHB_Coculture.yaml \u2192 docs/communities/Synechococcus_Halomonas_Light_Driven_PHB_Coculture.html\n \u2713 Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.yaml \u2192 docs/communities/Synechococcus_Pseudomonas_PhotoPHA_DNT_Coculture.html\n \u2713 Synechococcus_Saccharomyces_SPC.yaml \u2192 docs/communities/Synechococcus_Saccharomyces_SPC.html\n \u2713 Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.yaml \u2192 docs/communities/Synechococcus_Shewanella_Dlactate_Biophotovoltaic_Consortium.html\n \u2713 Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.yaml \u2192 docs/communities/Synechocystis_Pseudomonas_Acetate_Butanol_Coculture.html\n \u2713 Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.yaml \u2192 docs/communities/Synthetic_Lichen_Synechococcus_Rhodotorula_Coculture.html\n \u2713 Synthetic_Periphyton_Freshwater_Biofilm.yaml \u2192 docs/communities/Synthetic_Periphyton_Freshwater_Biofilm.html\n \u2713 Syntrophobacter_Methanobacterium_Syntrophy.yaml \u2192 docs/communities/Syntrophobacter_Methanobacterium_Syntrophy.html\n \u2713 Syntrophobacter_Methanospirillum_Syntrophy.yaml \u2192 docs/communities/Syntrophobacter_Methanospirillum_Syntrophy.html\n \u2713 Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.yaml \u2192 docs/communities/Syntrophomonas_Methanococcus_Butyrate_Growth_Coordination_Coculture.html\n \u2713 Syntrophomonas_Methanospirillum_Syntrophy.yaml \u2192 docs/communities/Syntrophomonas_Methanospirillum_Syntrophy.html\n \u2713 Syntrophus_Benzoate_Degrader.yaml \u2192 docs/communities/Syntrophus_Benzoate_Degrader.html\n \u2713 Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.yaml \u2192 docs/communities/Syntrophus_Methanospirillum_Gentianae_Benzoate_Coculture.html\n \u2713 TCP_NonDehalogenimonas_Groundwater_Consortium.yaml \u2192 docs/communities/TCP_NonDehalogenimonas_Groundwater_Consortium.html\n \u2713 THOR_Rhizosphere_Model_Community.yaml \u2192 docs/communities/THOR_Rhizosphere_Model_Community.html\n \u2713 TYQ1_Nematode_Biocontrol_SynCom.yaml \u2192 docs/communities/TYQ1_Nematode_Biocontrol_SynCom.html\n \u2713 Teosinte_Maize_Biofertilizer_SynCom7.yaml \u2192 docs/communities/Teosinte_Maize_Biofertilizer_SynCom7.html\n \u2713 Thalassiosira_Marinobacter_Marine_Snow_Coculture.yaml \u2192 docs/communities/Thalassiosira_Marinobacter_Marine_Snow_Coculture.html\n \u2713 Thalassiosira_Ruegeria_Phycosphere_Coculture.yaml \u2192 docs/communities/Thalassiosira_Ruegeria_Phycosphere_Coculture.html\n \u2713 Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.yaml \u2192 docs/communities/Thermacetogenium_Methanothermobacter_Acetate_Oxidation_Coculture.html\n \u2713 Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.yaml \u2192 docs/communities/Thermoleptolyngbya_Chelatococcus_Arsenic_Detoxification_Coculture.html\n \u2713 Thermophilic_ExSitu_Biomethanation_Mixed_Culture.yaml \u2192 docs/communities/Thermophilic_ExSitu_Biomethanation_Mixed_Culture.html\n \u2713 Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.yaml \u2192 docs/communities/Thermophilic_Lignocellulose_Composting_SynCom_Biosanitization.html\n \u2713 Thermophilic_Pyrite_QS_Consortium.yaml \u2192 docs/communities/Thermophilic_Pyrite_QS_Consortium.html\n \u2713 Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.yaml \u2192 docs/communities/Thermotoga_Methanocaldococcus_Hyperthermophilic_Syntrophy.html\n \u2713 Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.yaml \u2192 docs/communities/Thiocyanate_Afipia_Thiobacillus_Bioreactor_Community.html\n \u2713 Tinto_River_Iron_Cycling_Community.yaml \u2192 docs/communities/Tinto_River_Iron_Cycling_Community.html\n \u2713 Tobacco_Chemotactic_Biocontrol_SynCom.yaml \u2192 docs/communities/Tobacco_Chemotactic_Biocontrol_SynCom.html\n \u2713 Tomato_Oxylipin_SynCom3.yaml \u2192 docs/communities/Tomato_Oxylipin_SynCom3.html\n \u2713 Tribromophenol_Anaerobic_Bioremediation_SynCom.yaml \u2192 docs/communities/Tribromophenol_Anaerobic_Bioremediation_SynCom.html\n \u2713 Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.yaml \u2192 docs/communities/Trichococcus_Syntrophomonas_Methanospirillum_Butyrate_Coculture.html\n \u2713 Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.yaml \u2192 docs/communities/Trichoderma_Ecoli_Cellulosic_Isobutanol_Coculture.html\n \u2713 Trichoderma_Lactate_Platform.yaml \u2192 docs/communities/Trichoderma_Lactate_Platform.html\n \u2713 Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.yaml \u2192 docs/communities/Trichoderma_Streptomyces_Filamentous_Cellulose_Coculture.html\n \u2713 Trichodesmium_Alteromonas_Marine_Consortium.yaml \u2192 docs/communities/Trichodesmium_Alteromonas_Marine_Consortium.html\n \u2713 Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.yaml \u2192 docs/communities/Tropidoatractus_Magnetotacticus_Tripartite_Syntrophy.html\n \u2713 Urine_Nitrification_SynCom.yaml \u2192 docs/communities/Urine_Nitrification_SynCom.html\n \u2713 Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.yaml \u2192 docs/communities/Variovorax_Cryptococcus_Vitamin_Mutualism_Microcosm.html\n \u2713 Viili_Fungus_Bacterium_EPS_SynCom.yaml \u2192 docs/communities/Viili_Fungus_Bacterium_EPS_SynCom.html\n \u2713 Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.yaml \u2192 docs/communities/Waste_Sludge_Electrofermentation_Biofilm_Suspension_Community.html\n \u2713 Watermelon_Rhizosphere_Fusarium_SynCom8.yaml \u2192 docs/communities/Watermelon_Rhizosphere_Fusarium_SynCom8.html\n \u2713 Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.yaml \u2192 docs/communities/Wetland_Oxygen_Sulfate_GHG_Microcosm_Community.html\n \u2713 Wheat_Consortium_C1.yaml \u2192 docs/communities/Wheat_Consortium_C1.html\n \u2713 Wheat_Consortium_C6.yaml \u2192 docs/communities/Wheat_Consortium_C6.html\n \u2713 Wheat_CrownRot_SixStrain_CrossKingdom_SMC.yaml \u2192 docs/communities/Wheat_CrownRot_SixStrain_CrossKingdom_SMC.html\n \u2713 Wheat_CrownRot_TB_CrossKingdom_SynCom.yaml \u2192 docs/communities/Wheat_CrownRot_TB_CrossKingdom_SynCom.html\n \u2713 Wheat_DT_Rhizosphere_SynCom.yaml \u2192 docs/communities/Wheat_DT_Rhizosphere_SynCom.html\n \u2713 Wheat_Straw_Biogas_Pretreatment_SynCom.yaml \u2192 docs/communities/Wheat_Straw_Biogas_Pretreatment_SynCom.html\n \u2713 Wheat_SynCom_SASW01_Drought_Inoculant.yaml \u2192 docs/communities/Wheat_SynCom_SASW01_Drought_Inoculant.html\n \u2713 Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.yaml \u2192 docs/communities/Wine_Yeast_FiveSpecies_Strain_Substitution_Consortium.html\n \u2713 Wine_Yeast_ThreeSpecies_Contact_Consortium.yaml \u2192 docs/communities/Wine_Yeast_ThreeSpecies_Contact_Consortium.html\n \u2713 Wolffia_Mankai_Endosphere_Cobamide_Guild.yaml \u2192 docs/communities/Wolffia_Mankai_Endosphere_Cobamide_Guild.html\n \u2713 Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.yaml \u2192 docs/communities/Wollastonite_Ramichloridium_Talaromyces_Fungal_Consortium.html\n \u2713 Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.yaml \u2192 docs/communities/Yarrowia_lipolytica_Division_of_Labor_Lipid_Consortium.html\n \u2713 Yogurt_TwoSpecies_Starter_Culture.yaml \u2192 docs/communities/Yogurt_TwoSpecies_Starter_Culture.html\n \u2713 Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.yaml \u2192 docs/communities/Zymomonas_Ecoli_Exometabolomics_Obligate_Mutualism.html\n \u2713 hCom2_Complex_Gut_Microbiome.yaml \u2192 docs/communities/hCom2_Complex_Gut_Microbiome.html\n \u2713 mCAFEs_Brachypodium_RCC.yaml \u2192 docs/communities/mCAFEs_Brachypodium_RCC.html\n\n\u2705 Rendered 456 communities to docs/communities\n \u2713 Generated browser at docs/browser.html\n \u2713 Generated landing at docs/index.html\n" + }, + { + "check": "regressions", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "python3", + "-m", + "pytest", + "-q", + "tests/test_causal_review_batch10.py", + "tests/test_causal_review_batch11.py", + "tests/test_causal_review_batch12.py", + "tests/test_causal_review_batch13.py", + "tests/test_causal_review_batch14.py", + "tests/test_causal_review_batch15.py", + "tests/test_causal_review_batch16.py", + "tests/test_causal_review_batch17.py", + "tests/test_causal_review_batch5.py", + "tests/test_causal_review_batch6.py", + "tests/test_causal_review_batch7.py", + "tests/test_causal_review_batch8.py", + "tests/test_causal_review_batch9.py", + "tests/test_causal_review_inventory.py", + "tests/test_rank_causal_graph_readiness.py", + "tests/test_network_auditor.py", + "tests/test_participating_taxa.py", + "tests/test_causal_descriptions_are_published.py", + "tests/test_published_pages_name_real_records.py", + "tests/test_reference_validator_actually_validates.py", + "tests/test_snippet_audit_artefact_classes.py", + "tests/test_reference_error_annotation.py", + "tests/test_community_level_connectivity_credit.py" + ], + "output": "........................................................................ [ 30%]\n........................................................................ [ 60%]\n........................................................................ [ 90%]\n....................... [100%]\n239 passed in 161.89s (0:02:41)\n" + }, + { + "check": "workspace-rights", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "python3", + "-m", + "pytest", + "-q", + "tests/test_no_paywalled_text_in_repo.py" + ], + "output": "... [100%]\n3 passed in 1.67s\n" + }, + { + "check": "black", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "black", + "--check", + "tests/test_causal_review_batch17.py" + ], + "output": "All done! \u2728 \ud83c\udf70 \u2728\n1 file would be left unchanged.\n" + }, + { + "check": "ruff", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "ruff", + "check", + "tests/test_causal_review_batch17.py" + ], + "output": "All checks passed!\n" + }, + { + "check": "diff-check", + "exit_code": 0, + "expected_exit_codes": [ + 0 + ], + "command": [ + "git", + "diff", + "--check" + ], + "output": "" + } + ], + "limitations": [ + "Source-based self-adversarial review, not independent approval or corpus completion.", + "Baseline just audit-network-json lacked its console entry point; exact repository CLI implementation used. No dependency changes.", + "All 659 prior issue titles/bodies and ignored-inclusive local reports/history/research/tests searched; comments not exhaustive.", + "Three primary main bodies, Methods and captions read; no visual figure/supplement inspection. Founding paper abstract only.", + "Nine nodes/three arrows become eight nodes/two arrows; four exact renames and engineered DNA endpoint removal, no new structure or Edison spend.", + "Non-graph metadata followup #1317 remains open; unrelated YAML blocks are byte-preserved.", + "Generated data pages verified by deterministic rendering and parsed description coverage, not browser screenshots." + ], + "unchanged_raw_blocks": 18, + "reference_caches_unchanged": true, + "new_network_warnings": [], + "render_determinism": "passed", + "published_description_coverage": { + "pages": 456, + "node_descriptions": 1460, + "edge_descriptions": 709 + }, + "rights_import_root_verified": true, + "snippet_counts": { + "MATCH": 41, + "RENDERING": 0, + "ASSEMBLED": 0, + "WEAK": 0, + "MISMATCH": 0, + "NOCONTENT": 0 + }, + "corpus": { + "scope": "Every YAML under kb/communities and data/isolates; filesystem discovery includes hidden/ignored files.", + "records": 460, + "nodes": 1474, + "edges": 717, + "records_without_nodes": 8, + "records_without_edges": 138, + "review_status_counts": { + "needs_research": 3, + "pending": 357, + "reviewed": 100 + }, + "structural_defects": [] + }, + "network_warning_count": 25, + "status": "passed" +} diff --git a/tests/test_causal_review_batch17.py b/tests/test_causal_review_batch17.py new file mode 100644 index 000000000..de8db1bfa --- /dev/null +++ b/tests/test_causal_review_batch17.py @@ -0,0 +1,112 @@ +"""Keep wild-type fusion evidence distinct from reporter and engineered assays.""" + +import hashlib +from collections import Counter +from pathlib import Path + +import yaml + +ROOT = Path(__file__).resolve().parents[1] +PATH = ROOT / "kb/communities/Clostridium_Acetobutylicum_Ljungdahlii_Fusion_Coculture.yaml" +LEDGER = ROOT / "reports/causal_graph_review/decisions/20261005-one-record-batch17.yaml" + + +def record(): + return yaml.safe_load(PATH.read_text()) + + +def test_engineered_dna_is_not_a_wild_type_graph_endpoint(): + doc = record() + nodes = doc["ecological_interactions"] + assert len(nodes) == 8 + assert not any("genomic integration" in n["name"] for n in nodes) + fusion = nodes[6] + assert "Wild-type electron microscopy" in fusion["description"] + assert "protein-dye exchange" in fusion["description"] + assert "C. acetobutylicum-Halo reporter" in fusion["description"] + assert "outside this wild-type graph" in fusion["description"] + assert "interaction_type" not in fusion + assert len(fusion["downstream"]) == 1 + assert fusion["downstream"][0]["target"] == nodes[7]["name"] + assert fusion["downstream"][0]["description"].startswith("HYPOTHESIZED") + + +def test_supplementation_is_preserved_without_asserting_traced_cross_feeding(): + nodes = record()["ecological_interactions"] + for node in nodes[1:3]: + assert node["description"].startswith("PARTIAL") + assert "supplementation" in node["description"] + assert "monoculture" in node["description"] + assert "HYPOTHESIZED" in node["description"] + assert node["evidence"][0]["supports"] == "PARTIAL" + assert any("two biological replicates" in e["explanation"] for e in node["evidence"]) + assert "ATP-mediated effect" in nodes[1]["description"] + assert "not directly trace donor-derived carbon" in nodes[2]["description"] + + +def test_hydrogen_and_growth_nodes_name_the_measured_endpoints(): + gas, _, _, hydrogen, growth, competition, _, _ = record()["ecological_interactions"] + assert gas["interaction_type"] == "CROSS_FEEDING" + assert "different substrate and gas conditions" in gas["description"] + assert gas["downstream"][0]["target"] == hydrogen["name"] + assert gas["downstream"][0]["description"].startswith("HYPOTHESIZED") + assert "early glucose-consumption rates" in hydrogen["description"] + assert "not a direct hydrogenase assay" in hydrogen["description"] + assert "not direct species-specific growth-rate measurements" in growth["description"] + assert "does not isolate nutrient competition" in competition["description"] + assert all("interaction_type" not in n for n in (hydrogen, growth, competition)) + + +def test_product_emergence_is_condition_specific(): + products = record()["ecological_interactions"][-1] + assert "isopropanol and 2,3-butanediol" in products["name"] + assert "condition-specific emergence" in products["description"] + assert "can in principle produce 2,3-butanediol alone" in products["description"] + assert products["evidence"][1]["supports"] == "PARTIAL" + assert {m["term"]["id"] for m in products["metabolites"]} == { + "CHEBI:17824", + "CHEBI:62064", + } + + +def test_gap_anchors_resolve_after_all_renames_and_removal(): + doc = record() + names = {n["name"] for n in doc["ecological_interactions"]} + assert len(doc["discussions"]) == 2 + anchored = set() + for discussion in doc["discussions"]: + assert discussion["kind"] == "KNOWLEDGE_GAP" + assert discussion["status"] == "OPEN" + anchors = {a.split("#", 1)[1] for a in discussion["attaches_to"]} + assert anchors <= names + anchored.update(anchors) + assert anchored == names + + +def test_batch17_ledger_preserves_removed_evidence_and_every_review_decision(): + ledger = yaml.safe_load(LEDGER.read_text()) + assert ledger["independent_approval"] is False + assert ledger["issues"] == [1316] + assert ledger["open_nongraph_followups"] == [1317] + row = ledger["records"][0] + assert hashlib.sha256(PATH.read_bytes()).hexdigest() == row["record_sha256"] + assert row["curation_events_added"] == 1 + assert len(row["history_files"]) == 1 + assert len(row["renamed_nodes"]) == 4 + assert Counter(d["node"] for d in row["node_decisions"]) == Counter( + n["name"] for n in record()["ecological_interactions"] + ) + removed = row["removed_node_decisions"][0] + assert removed["original_node"]["evidence"][0]["reference"] == "PMID:38214507" + assert "plasmid-carrying" in removed["original_node"]["evidence"][0]["snippet"] + assert len(row["edges_before"]) == 3 + assert len(row["edges_after"]) == 2 + assert len(row["removed_edge_decisions"]) == 1 + renames = row["renamed_nodes"] + assert {(e["source"], e["target"]) for e in row["edges_after"]} == { + (renames.get(e["source"], e["source"]), renames.get(e["target"], e["target"])) + for e in row["edges_before"] + if e["target"] != removed["node"] + } + for path, expected in ledger["reference_cache_original_hashes"].items(): + assert hashlib.sha256((ROOT / path).read_bytes()).hexdigest() == expected