Edit on GitHub

starplast.drug_sensitivity

Drug sensitivity per gene: does disrupting it change survival under a compound.

The second curated table in the map, and it exists for the same reason resistance does -- no genome-wide chemogenomic screen has been published for Toxoplasma, so the answer lives in individual knockout studies rather than in a deposit. Six catalogue sweeps looked for the screen and correctly did not find one; what they were testing was the sentence "no screen exists", which is not the same statement as "the question cannot be answered". A knockout with a measured shift in sensitivity to a named compound answers it one gene at a time.

The bar

A row exists only if a knockout or knockdown showed a measured change in sensitivity to a named compound, read from primary open-access text. Not "an inhibitor of this protein kills the parasite" -- that is target engagement and has its own slot. The direction is recorded, and so is unchanged, because a transporter deleted with no effect on analog sensitivity is a result and suppressing it would leave the column looking like a list of hits.

What the background qualifier is for

TgENT3's effect was measured in a ΔTgAT1 background rather than alone, so it is a genetic-interaction result and not a clean single-gene one. background says so per row. Reading those two rows as though the gene had been deleted on its own would be the same error as reading a double mutant's phenotype off one of its genes.

@dataclass(frozen=True)
class Effect:

One gene against one compound, and everything needed to check it.

Effect( gene: str, product: str, compound: str, direction: str, background: str, pmid: str, evidence: str)
gene: str
product: str
compound: str
direction: str
background: str
pmid: str
evidence: str
DIRECTIONS = ('resistant', 'sensitive', 'unchanged')
EFFECTS = (Effect(gene='TGME49_244440', product='adenosine transporter AT1', compound='Ara-A', direction='resistant', background='parental', pmid='41025776', evidence='plaque and vacuole size across an Ara-A dose range in the single knockout'), Effect(gene='TGME49_244440', product='adenosine transporter AT1', compound='5-FU', direction='resistant', background='parental', pmid='41025776', evidence='resistance to the pyrimidine analog, reported as unexpected for a purine transporter'), Effect(gene='TGME49_233130', product='nucleoside transporter protein', compound='Ara-A', direction='resistant', background='ΔTgAT1', pmid='41025776', evidence='the double knockout formed larger vacuoles than ΔTgAT1 alone under 10 µM'), Effect(gene='TGME49_233130', product='nucleoside transporter protein', compound='5-FU', direction='sensitive', background='ΔTgAT1', pmid='41025776', evidence='heightened sensitivity in the same double knockout'), Effect(gene='TGME49_500147', product='nucleoside transporter, putative', compound='Ara-A', direction='unchanged', background='parental', pmid='41025776', evidence='indistinguishable from parental across every phenotypic assay'), Effect(gene='TGME49_500147', product='nucleoside transporter, putative', compound='5-FU', direction='unchanged', background='parental', pmid='41025776', evidence='indistinguishable from parental across every phenotypic assay'))
def table() -> pandas.DataFrame:

One row per gene, summarising every compound it was tested against.

def sensitivity( base: str = '', log=<built-in function print>, resolve=None) -> pandas.DataFrame:

The curated table, resolved to current accessions. base is unused, kept for symmetry.