Skip to content

A cultivation_setup can be sourced from a paper that never studied the community #529

Description

@realmarcin

Found selecting the next #183 records. Not a defect in any shipped record — a defect in how I was choosing them, and one the repo has hit before.

The case

Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture looked like the best remaining candidate: 47k characters of cached full text, and a methods section with everything you could want — LABFORS 3 bioreactor, 2 L working volume, 45 °C, 450 rpm, fed-batch switched to chemostat operation.

Its cited reference, PMID:33841379, mentions Galdieria zero times and the word "coculture" zero times. It is a Methylacidiphilum monoculture study of formic acid metabolism. Every one of those numbers describes one member grown alone.

Curating them as the community's cultivation_setup would have been wrong in the way that is hardest to catch later: each value individually correct, each snippet verbatim, just validate and just validate-references both clean, and the block asserting that a two-member coculture was run under conditions that were never applied to it.

This has happened before

Soil_Corrinoid_B12_Reservoir_Community was scored 5/5 on growth conditions belonging to an E. coli reporter strain — the community itself is metagenomic and was never cultured. Only reading the record caught it. Same shape: a rich methods section attached to the wrong organism.

A cheap discriminator that works

Count how many of the record's taxonomy members are named anywhere in the cited source:

record members named in source "coculture" in source
Clostridium_Autoethanogenum_Kluyveri_Syngas_Coculture 2 2 yes
Clostridium_Ljungdahlii_Kluyveri_Syngas_Alcohol_Coculture 2 2 no
SIHUMIx_Human_Intestinal_Model_Community 8 8 no
Methylacidiphilum_Galdieria_Thermoacidophilic_Coculture 2 1 no

The one that fails is the one that should be rejected. It is not proof — a paper can name every member and still report monoculture conditions — but it is a strong, free signal that costs one grep and would have saved the whole analysis above.

Proposed

A test that, for every record carrying cultivation_setup, checks each evidence reference against the member list and fails when a cited source names fewer than half the members — with an exemption list for the legitimate cases (a setup sourced from a methods paper that describes the apparatus generically, say). Half rather than all, because members are often named by strain designation or abbreviated after first use.

Cheap, and it targets the one error class in this sweep that no existing gate can see: validate-references confirms the snippet is verbatim, and nothing confirms the paper is about this community.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions