pombase / pombase-chado

PomBase code for accessing Chado
MIT License
5 stars 3 forks source link

run checks to see genetic lethals are equivalent #692

Open ValWood opened 5 years ago

ValWood commented 5 years ago

Background:

Q from JAcky: Are all genetic interactions between 2 genes in the Genetic Interaction section of a gene page or just high through put data. Tiffany asked me if she could find out if a gene of interest was synthetically lethal with any other gene. I thought it would be in Genetic Interactions if it had been curated but wasn’t sure

A. It should be, but I don't know if they are (I'm sure that I haven't done a ~IGI~ GI for every synthetic lethal double mutant phenotype.....I would like this to be 'automatically generated') Tiffany should also look in the multi-allele phenotypes section to see if there are any "inviable vegetative cell population" to be sure....

We could run checks on this... Ideally we would automatically create the ~I~ GI when the multi-allele phenotype is created in some instances.....

kimrutherford commented 5 years ago

Ideally we would automatically create the IGI when the multi-allele phenotype is created in some instances.....

We should be able to do that if you can pin down when it should happen.

kimrutherford commented 2 years ago

It sounds like this needs a bit of thought and discussion. Does this overlap with the genotype-genotype interaction changes?

Val, I'm going to assign this to both of us. And add "discuss".

ValWood commented 7 months ago

This is the query we would need.

~All multi-gene phenotypes (only double mutants, haploid), where none of the contributing genotypes are overexpression, annotated to "inviable vegetative cell population" (FYPO:0002061)~

All multi-gene phenotypes (only haploid), annotated to "inviable vegetative cell population" (FYPO:0002061) where none of the contributing genotypes are overexpression.

subtract any of these where the single locus is "inviable vegetative cell population" (FYPO:0002061) (these are not interacting genetically). (ignore this part for now, it shouldn't happen- we can check for this later)

This list should be fewer than 300, I think. Then, for these pairs of genotypes, check if the genes have synthetic lethal genetic interaction and let me know which ones do not (hopefully it won't be too many)

The ones which don't we can easily add to the multi allele phenotype.

kimrutherford commented 2 months ago

where none of the contributing genotypes are overexpression, annotated to "inviable vegetative cell population" (FYPO:0002061) subtract any of these where the single locus is "inviable vegetative cell population" (FYPO:0002061)

You repeated "inviable vegetative cell population" here. Did you mean to?

I will put at medium priority, because I won't have time to do the fixes immediately. But if "quick" you can do sooner.

I'm having a go now.

kimrutherford commented 2 months ago

This list should be fewer than 300, I think.

Is there a constraint missing from your description? I can't guarantee that it's correct, but my query gives ~3000 matching genotypes.

This session on its own has 48 examples:

https://curation.pombase.org/pombe/curs/02289de0acddb1f0/genotype_manage/ro

Do all the genotypes for the single alleles need to have a phenotype annotated?

Current query:

WITH single_allele_genotypes AS
  (SELECT genotype.feature_id
   FROM feature genotype
   WHERE
       (SELECT count(*)
        FROM feature_relationship rel
        JOIN cvterm rel_type ON rel.type_id = rel_type.cvterm_id
        JOIN feature allele ON allele.feature_id = rel.subject_id
        JOIN cvterm allele_type ON allele_type.cvterm_id = allele.type_id
        WHERE rel.object_id = genotype.feature_id
          AND rel_type.name = 'part_of'
          AND allele_type.name = 'allele'
          AND rel.feature_relationship_id IN
            (SELECT feature_relationship_id
             FROM feature_relationshipprop p
             JOIN cvterm pt ON p.type_id = pt.cvterm_id
             WHERE pt.name = 'expression' ) ) = 1 ),
     viable_single_allele_genotypes AS
  (SELECT genotype.feature_id
   FROM feature genotype
   JOIN cvterm genotype_type ON genotype.type_id = genotype_type.cvterm_id
   JOIN feature_cvterm fc ON fc.feature_id = genotype.feature_id
   JOIN feature_relationship rel ON rel.object_id = genotype.feature_id
   JOIN cvterm rel_type ON rel.type_id = rel_type.cvterm_id
   JOIN feature allele ON allele.feature_id = rel.subject_id
   JOIN cvterm allele_type ON allele_type.cvterm_id = allele.type_id
   WHERE genotype_type.name = 'genotype'
     AND rel_type.name = 'part_of'
     AND allele_type.name = 'allele'
     AND rel.feature_relationship_id NOT IN
       (SELECT feature_relationship_id
        FROM feature_relationshipprop p
        JOIN cvterm pt ON p.type_id = pt.cvterm_id
        WHERE pt.name = 'expression' )
     AND fc.cvterm_id NOT IN
       (SELECT cvterm_id
        FROM cvterm
        WHERE name = 'inviable vegetative cell population')
     AND fc.cvterm_id NOT IN
       (SELECT subject_id
        FROM cvtermpath
        WHERE object_id in
            (SELECT cvterm_id
             FROM cvterm
             WHERE name = 'inviable vegetative cell population'))
     AND genotype.feature_id in
       (SELECT *
        FROM single_allele_genotypes) ),
     overexpression_genotype_ids AS
  (SELECT object_id AS feature_id
   FROM feature_relationship g_rel
   JOIN cvterm g_rel_type ON g_rel_type.cvterm_id = g_rel.type_id
   JOIN feature allele ON allele.feature_id = g_rel.subject_id
   JOIN cvterm allele_type ON allele_type.cvterm_id = allele.type_id
   WHERE g_rel_type.name = 'part_of'
     AND allele_type.name = 'allele'
     AND g_rel.feature_relationship_id IN
       (SELECT feature_relationship_id
        FROM feature_relationshipprop p
        JOIN cvterm pt ON p.type_id = pt.cvterm_id
        WHERE pt.name = 'expression' )
     AND allele.feature_id in
       (SELECT subject_id
        FROM feature_relationship
        WHERE object_id in
            (SELECT feature_id
             FROM single_allele_genotypes) ) )
SELECT uniquename
FROM feature genotype
JOIN cvterm genotype_type ON genotype.type_id = genotype_type.cvterm_id
WHERE genotype_type.name = 'genotype'
  AND
    (SELECT count(*)
     FROM feature_relationship rel
     JOIN cvterm rel_type ON rel.type_id = rel_type.cvterm_id
     JOIN feature allele ON allele.feature_id = rel.subject_id
     JOIN cvterm allele_type ON allele_type.cvterm_id = allele.type_id
     WHERE rel.object_id = genotype.feature_id
       AND rel_type.name = 'part_of'
       AND allele_type.name = 'allele') = 2
  AND genotype.feature_id not in
    (SELECT feature_id
     FROM overexpression_genotype_ids)
 ORDER by uniquename;
ValWood commented 2 months ago

is this only "inviable vegetative cell population" (FYPO:0002061) and also in the first instance let's do only double deletions to make it cleaner. We can extend to other types once we nail this one.

ValWood commented 2 months ago

Maybe it is 3000 annotation, which is OK. The question is, how many of these do not have

the genetic interaction "synthetic lethal" also recorded.

ValWood commented 2 months ago

ACtually let's do all allele types except if one (or both if that exists) are overexpression.

It probably is 3000, because the query gave me >500 genes, and many will have multiple annotations of this type

ValWood commented 2 months ago

Actually we should just do ONLY deletions for now.

For other allele types we can maybe be cleverer and map them better to the new stye GIs....

So the immediate question is how many double deletes with FYPO "inviable vegetative cell population " don't have the corresponding BioGRID GI genetic interaction synthetic lethal?

kimrutherford commented 2 months ago

is this only "inviable vegetative cell population" (FYPO:0002061)

Maybe I misunderstand this?:

All multi-gene phenotypes (only double mutants, haploid), where none of the contributing genotypes are overexpression, annotated to "inviable vegetative cell population"

I read it as meaning none of the contributing genotypes are overexpression and none are annotated to "inviable vegetative cell population".

ValWood commented 2 months ago

how many double deletes with FYPO "inviable vegetative cell population " don't have the corresponding BioGRID GI genetic interaction synthetic lethal?

kimrutherford commented 2 months ago

Is it the single allele annotation or the double mutant that should be annotated to "inviable vegetative cell population"?

ValWood commented 2 months ago

I edited the first comment above. To begin lets look at

All multi-gene phenotypes (only haploid, only deletion), annotated to "inviable vegetative cell population" (FYPO:0002061) where none of the contributing genotypes are overexpression.

which do not have a synthethetic lethal annotating for the same pair of genes.

Once we have this correct we can extend to do more stuff.

ValWood commented 2 months ago

i.e ignore the part of singe allele for now, it will be interesting to look but in these cases I don't think we should ever see a case where the single allele is also inviable. I might be wrong...

kimrutherford commented 2 months ago

i.e ignore the part of singe allele for now,

So ignore this too: "where none of the contributing genotypes are overexpression."? I'll still a bit confused.

ValWood commented 2 months ago

At the moment we are only doing double deletes, so non of these will be overexpression.

kimrutherford commented 2 months ago

double deletes with FYPO "inviable vegetative cell population "

After updating the query, there are 176 of those.

WITH deletion_alleles AS
  (SELECT allele.feature_id
   FROM feature allele
   JOIN cvterm t ON allele.type_id = t.cvterm_id
   JOIN featureprop p ON p.feature_id = allele.feature_id
   JOIN cvterm pt ON pt.cvterm_id = p.type_id
   WHERE t.name = 'allele'
     AND pt.name = 'allele_type'
     AND p.value = 'deletion' )
SELECT *
FROM feature genotype
JOIN cvterm genotype_type ON genotype.type_id = genotype_type.cvterm_id
JOIN pombase_feature_cvterm_ext_resolved_terms fc ON fc.feature_id = genotype.feature_id
WHERE genotype_type.name = 'genotype'
  AND fc.cvterm_id IN
         (SELECT cvterm_id
          FROM cvterm
          WHERE name = 'inviable vegetative cell population')
  AND
    (SELECT count(*)
     FROM feature_relationship rel
     JOIN cvterm rel_type ON rel.type_id = rel_type.cvterm_id
     JOIN feature allele ON allele.feature_id = rel.subject_id
     JOIN cvterm allele_type ON allele_type.cvterm_id = allele.type_id
     WHERE rel.object_id = genotype.feature_id
       AND rel_type.name = 'part_of'
       AND allele_type.name = 'allele' ) = 2
  AND
    (SELECT count(*)
     FROM feature_relationship rel
     JOIN cvterm rel_type ON rel.type_id = rel_type.cvterm_id
     JOIN feature allele ON allele.feature_id = rel.subject_id
     JOIN cvterm allele_type ON allele_type.cvterm_id = allele.type_id
     WHERE rel.object_id = genotype.feature_id
       AND rel_type.name = 'part_of'
       AND allele_type.name = 'allele'
       AND allele.feature_id in
         (SELECT feature_id
          FROM deletion_alleles) ) = 2
ORDER BY uniquename;
kimrutherford commented 2 months ago

After updating the query, there are 176 of those.

Of those 176, only 10 have an interaction of any sort.

These are the 166 that don't:

session alleles
https://curation.pombase.org/pombe/curs/006084139334e409 SPAC25B8.18delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, vts1delta
https://curation.pombase.org/pombe/curs/006084139334e409 SPCC584.13delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 ain1delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 alg12delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 ape2delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 atp16delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 bud6delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 byr1delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 byr2delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 csk1delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 ctr4delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 cul3delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 ecm14delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 ect1delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, fub1delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, gpa1delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, hif2delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, iph1delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, lys1delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, mam4delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, map2delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, mst2delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, mug110delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, nit1delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, pef1delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, php5delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, pub1delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, rad55delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, ral2delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, rpl1002delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, rsc4delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, set10delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, sgo2delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, spf31delta
https://curation.pombase.org/pombe/curs/006084139334e409 SPBC19G7.04delta, fan1delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, ste4delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, ste7delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, swc2delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, swd2delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, tht1delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, tma19delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, tom70delta
https://curation.pombase.org/pombe/curs/006084139334e409 fan1delta, vps8delta
https://curation.pombase.org/pombe/curs/098d04fd85e6672d exo70delta, for3delta
https://curation.pombase.org/pombe/curs/09a2ea749be9cd03 hal4delta, trk1delta
https://curation.pombase.org/pombe/curs/0a627529fc025c31 pot1delta, rqh1delta
https://curation.pombase.org/pombe/curs/0e416dbb3b3521ed ppa1delta, ppa2delta
https://curation.pombase.org/pombe/curs/0fb2e4081135c7c3 lac1delta, lag1delta
https://curation.pombase.org/pombe/curs/0ffa8093b9b4d8e5 rad52delta, rqh1delta
https://curation.pombase.org/pombe/curs/104f1a2efcecbd00 hem1delta, shu1delta
https://curation.pombase.org/pombe/curs/1cf182adbddacf73 rad3delta, srs2delta
https://curation.pombase.org/pombe/curs/1cf182adbddacf73 rad26delta, srs2delta
https://curation.pombase.org/pombe/curs/1f78fe7de80af20c fep1delta, fxn1delta
https://curation.pombase.org/pombe/curs/20d4bca6fcf12ef5 mex67delta, rsm1delta
https://curation.pombase.org/pombe/curs/20f80169cf2b419d bqt4delta, lem2delta
https://curation.pombase.org/pombe/curs/260be70a4dcbc884 inp53delta, syj1delta
https://curation.pombase.org/pombe/curs/266a57bb225cd9a6 alp14delta, dis1delta
https://curation.pombase.org/pombe/curs/266a57bb225cd9a6 alp14delta, klp5delta
https://curation.pombase.org/pombe/curs/266a57bb225cd9a6 alp14delta, klp6delta
https://curation.pombase.org/pombe/curs/266a57bb225cd9a6 dis1delta, klp6delta
https://curation.pombase.org/pombe/curs/28977e64fba675ea rgf1delta, wsc1delta
https://curation.pombase.org/pombe/curs/36de390cd2e1923e myo1delta, vrp1delta
https://curation.pombase.org/pombe/curs/37b08171d9751598 pxl1delta, rlc1delta
https://curation.pombase.org/pombe/curs/38ddd4fc7a5de776 alg5delta, gpt1delta
https://curation.pombase.org/pombe/curs/38ddd4fc7a5de776 alg5delta, hut1delta
https://curation.pombase.org/pombe/curs/3c804802186d667e dcr1delta, lsd1delta
https://curation.pombase.org/pombe/curs/3e7e104742b500a5 alg3delta, och1delta
https://curation.pombase.org/pombe/curs/40b664513ff3dccd lsd1delta, set1delta
https://curation.pombase.org/pombe/curs/4194e25ff0b7c9a5 scd1delta, tea1delta
https://curation.pombase.org/pombe/curs/4194e25ff0b7c9a5 ras1delta, tea1delta
https://curation.pombase.org/pombe/curs/4194e25ff0b7c9a5 efc25delta, tea1delta
https://curation.pombase.org/pombe/curs/4290cb5e2c94dfb8 ain1delta, fim1delta
https://curation.pombase.org/pombe/curs/468fa2c5da611313 dga1delta, plh1delta
https://curation.pombase.org/pombe/curs/49c4f596e9b38eb7 pom1delta, tea3delta
https://curation.pombase.org/pombe/curs/4d9c10ab5ce2986c alp14delta, dis1delta
https://curation.pombase.org/pombe/curs/536dc2e074eee139 hhp1delta, hhp2delta
https://curation.pombase.org/pombe/curs/54da5827399abb86 hip1delta, rrp6delta
https://curation.pombase.org/pombe/curs/54da5827399abb86 hip3delta, rrp6delta
https://curation.pombase.org/pombe/curs/5b5e46476125df7d pnk1delta, rad52delta
https://curation.pombase.org/pombe/curs/5b5e46476125df7d pnk1delta, rqh1delta
https://curation.pombase.org/pombe/curs/5c7e25166dfbc44f hxk1delta, hxk2delta
https://curation.pombase.org/pombe/curs/5da5597d14f0cc49 cut8delta, rqh1delta
https://curation.pombase.org/pombe/curs/5da5597d14f0cc49 rad3delta, rqh1delta
https://curation.pombase.org/pombe/curs/60100461d789b19f fet4delta, zrt1delta
https://curation.pombase.org/pombe/curs/60eea6892c654dff fic1delta, wsp1delta
https://curation.pombase.org/pombe/curs/613296d2e91f5cb0 rga7delta, rng10delta
https://curation.pombase.org/pombe/curs/613296d2e91f5cb0 rga8delta, rng10delta
https://curation.pombase.org/pombe/curs/613296d2e91f5cb0 rga7delta, rga8delta
https://curation.pombase.org/pombe/curs/613296d2e91f5cb0 imp2delta, rng10delta
https://curation.pombase.org/pombe/curs/613296d2e91f5cb0 art1delta, rng10delta
https://curation.pombase.org/pombe/curs/613296d2e91f5cb0 pxl1delta, rga7delta
https://curation.pombase.org/pombe/curs/719521c232a83155 dbl2delta, hip3delta
https://curation.pombase.org/pombe/curs/719521c232a83155 alp13delta, dbl2delta
https://curation.pombase.org/pombe/curs/719521c232a83155 dbl2delta, pst2delta
https://curation.pombase.org/pombe/curs/736ae506059f399d cbh1delta, cbp1delta
https://curation.pombase.org/pombe/curs/75f4f061893fee16 dis1delta, klp5delta
https://curation.pombase.org/pombe/curs/76a3cc41b9c66144 rad52delta, rhp18delta
https://curation.pombase.org/pombe/curs/784abb5e1b2aad4e pfh1delta, trt1delta
https://curation.pombase.org/pombe/curs/796a4851ed930759 rqh1delta, slx1delta
https://curation.pombase.org/pombe/curs/796a4851ed930759 rqh1delta, slx4delta
https://curation.pombase.org/pombe/curs/7c93f34f9f6c11b6 csx1delta, sty1delta
https://curation.pombase.org/pombe/curs/7e83e3410ced8531 ctp1delta, nrm1delta
https://curation.pombase.org/pombe/curs/80d942a640ec9e5a dlp1delta, dps1delta
https://curation.pombase.org/pombe/curs/83c8a0868d64f0a1 fic1delta, pxl1delta
https://curation.pombase.org/pombe/curs/8b51c7a94991f857 bub1delta, swi6delta
https://curation.pombase.org/pombe/curs/8d41506ec01aec5b klp5delta, klp6delta
https://curation.pombase.org/pombe/curs/94b54d8b1a931fb9 ctp1delta, rad2delta
https://curation.pombase.org/pombe/curs/9c941de80b158052 hrp1delta, ies6delta
https://curation.pombase.org/pombe/curs/a100cec5b43cc083 bdf1delta, bdf2delta
https://curation.pombase.org/pombe/curs/a28d9f4e4dcc8ef3 mcl1delta, rad2delta
https://curation.pombase.org/pombe/curs/a6d8f45c20c2227d rhp23delta, rpn10delta
https://curation.pombase.org/pombe/curs/a8bdbe7f398d38ff pab2delta, rrp6delta
https://curation.pombase.org/pombe/curs/a8bdbe7f398d38ff cid14delta, pab2delta
https://curation.pombase.org/pombe/curs/ad37ffc7d6aa5f2a mid1delta, pxl1delta
https://curation.pombase.org/pombe/curs/b5af2ff193007911 mcl1delta, pof3delta
https://curation.pombase.org/pombe/curs/b5b9e2e7b7d1213e clp1delta, dis1delta
https://curation.pombase.org/pombe/curs/b6deaed8ee570a51 pck1delta, ppe1delta
https://curation.pombase.org/pombe/curs/b6deaed8ee570a51 pck1delta, ppe1delta
https://curation.pombase.org/pombe/curs/ba57135bde9e7e32 pht1delta, sap14delta
https://curation.pombase.org/pombe/curs/bc6337774fa106c2 bub3delta, klp5delta
https://curation.pombase.org/pombe/curs/bfd3f85ba1c4e658 grx1delta, trr1delta
https://curation.pombase.org/pombe/curs/bfd3f85ba1c4e658 gcs1delta, trr1delta
https://curation.pombase.org/pombe/curs/bfdd2ebf8fdc9f81 rgf1delta, rgf2delta
https://curation.pombase.org/pombe/curs/bfdd2ebf8fdc9f81 exo70delta, gyp10delta
https://curation.pombase.org/pombe/curs/c3eceb1486a6bc53 rgf1delta, rgf2delta
https://curation.pombase.org/pombe/curs/c4f2687cd9a265cf ase1delta, klp9delta
https://curation.pombase.org/pombe/curs/c52a25b43bc64269 ght8delta, uge1delta
https://curation.pombase.org/pombe/curs/c52a25b43bc64269 gms1delta, uge1delta
https://curation.pombase.org/pombe/curs/caf685fa8d7a836f dam1delta, dis2delta
https://curation.pombase.org/pombe/curs/caf685fa8d7a836f dam1delta, klp5delta
https://curation.pombase.org/pombe/curs/cf2a29ebf81ca19b cdc27delta, rfc2delta
https://curation.pombase.org/pombe/curs/d68133bbe06d0602 nbs1delta, rad2delta
https://curation.pombase.org/pombe/curs/d7f404ebd5804111 acp1delta, fim1delta
https://curation.pombase.org/pombe/curs/d9011560b1887e36 rfp1delta, rfp2delta
https://curation.pombase.org/pombe/curs/db750e6d73814392 bub1delta, cid14delta
https://curation.pombase.org/pombe/curs/dd81766bd2cc050a ain1delta, fim1delta
https://curation.pombase.org/pombe/curs/de3fe3d88f14e4a8 acp2delta, fim1delta
https://curation.pombase.org/pombe/curs/dee2cb4000771ecf gef3delta, rho3delta
https://curation.pombase.org/pombe/curs/dee2cb4000771ecf apm1delta, gef3delta
https://curation.pombase.org/pombe/curs/e183fe7f2ecde817 hst4delta, swi1delta
https://curation.pombase.org/pombe/curs/e183fe7f2ecde817 hst4delta, swi3delta
https://curation.pombase.org/pombe/curs/e6d012dea46b05f6 sla1delta, trm1delta
https://curation.pombase.org/pombe/curs/ee41f2de8b73ee9b apn2delta, hst4delta
https://curation.pombase.org/pombe/curs/ee41f2de8b73ee9b hst4delta, mag1delta
https://curation.pombase.org/pombe/curs/ee41f2de8b73ee9b hst4delta, rad13delta
https://curation.pombase.org/pombe/curs/ee41f2de8b73ee9b hst4delta, rad2delta
https://curation.pombase.org/pombe/curs/ee41f2de8b73ee9b hst4delta, rad50delta
https://curation.pombase.org/pombe/curs/ef57da759b1d97c2 mus81delta, swi1delta
https://curation.pombase.org/pombe/curs/ef57da759b1d97c2 mus81delta, swi3delta
https://curation.pombase.org/pombe/curs/f4d5b599093ab44e alp7delta, mad2delta
https://curation.pombase.org/pombe/curs/f4d5b599093ab44e alp7delta, mad1delta
https://curation.pombase.org/pombe/curs/f4d5b599093ab44e alp7delta, mad3delta
https://curation.pombase.org/pombe/curs/f4d5b599093ab44e alp7delta, bub1delta
https://curation.pombase.org/pombe/curs/f4da3c52016e8dca efr3delta, pxl1delta
https://curation.pombase.org/pombe/curs/fb7a0a2c9bb5df54 rep2delta, res1delta
https://curation.pombase.org/pombe/curs/fe7a0f32d4e76d5d alm1delta, cnp3delta
https://curation.pombase.org/pombe/curs/fe7a0f32d4e76d5d alm1delta, mhf1delta
WITH deletion_alleles AS
  (SELECT allele.feature_id
   FROM feature allele
   JOIN cvterm t ON allele.type_id = t.cvterm_id
   JOIN featureprop p ON p.feature_id = allele.feature_id
   JOIN cvterm pt ON pt.cvterm_id = p.type_id
   WHERE t.name = 'allele'
     AND pt.name = 'allele_type'
     AND p.value = 'deletion' ),
double_mutant_with_interaction AS
(select subject_id from feature interaction join feature_relationship rel on rel.object_id = interaction.feature_id join cvterm rel_type on rel_type.cvterm_id = rel.type_id join cvterm int_type on int_type.cvterm_id = interaction.type_id where int_type.name = 'genotype_interaction' and rel_type.name = 'interaction_double_mutant_genotype')
SELECT genotype.uniquename, string_agg(distinct allele.name, ', ')
FROM feature genotype
join feature_relationship rel ON rel.object_id = genotype.feature_id JOIN feature allele on rel.subject_id = allele.feature_id
JOIN cvterm genotype_type ON genotype.type_id = genotype_type.cvterm_id
JOIN pombase_feature_cvterm_ext_resolved_terms fc ON fc.feature_id = genotype.feature_id
WHERE genotype_type.name = 'genotype'
  AND genotype.feature_id NOT in (select * from double_mutant_with_interaction)
  AND fc.cvterm_id IN
         (SELECT cvterm_id
          FROM cvterm
          WHERE name = 'inviable vegetative cell population')
  AND
    (SELECT count(*)
     FROM feature_relationship rel
     JOIN cvterm rel_type ON rel.type_id = rel_type.cvterm_id
     JOIN feature allele ON allele.feature_id = rel.subject_id
     JOIN cvterm allele_type ON allele_type.cvterm_id = allele.type_id
     WHERE rel.object_id = genotype.feature_id
       AND rel_type.name = 'part_of'
       AND allele_type.name = 'allele' ) = 2
  AND
    (SELECT count(*)
     FROM feature_relationship rel
     JOIN cvterm rel_type ON rel.type_id = rel_type.cvterm_id
     JOIN feature allele ON allele.feature_id = rel.subject_id
     JOIN cvterm allele_type ON allele_type.cvterm_id = allele.type_id
     WHERE rel.object_id = genotype.feature_id
       AND rel_type.name = 'part_of'
       AND allele_type.name = 'allele'
       AND allele.feature_id in
         (SELECT feature_id
          FROM deletion_alleles) ) = 2
GROUP BY genotype.uniquename
ORDER BY uniquename;
ValWood commented 1 month ago

re question Do all the genotypes for the single alleles need to have a phenotype annotated?

All of the deletion allees should have a "population viability" phenotype. were there any without one?

ValWood commented 1 month ago

We can talk about the next step when we chat

ValWood commented 1 month ago

Action, find a session with a few examples and fix 1 to the new form as an example

kimrutherford commented 1 month ago

Action, find a session with a few examples and fix 1 to the new form as an example

These two look good for that:

https://curation.pombase.org/pombe/curs/613296d2e91f5cb0/ro/ https://curation.pombase.org/pombe/curs/ee41f2de8b73ee9b/ro/

kimrutherford commented 1 month ago

All of the deletion allees should have a "population viability" phenotype.

Is that "cell population viability" FYPO:0002057?

kimrutherford commented 1 month ago

There are 179 "inviable vegetative cell population" double deletion 10 have interactions already.

All of the deletion allees should have a "population viability" phenotype. were there any without one?

There seem to be a lot. Of the 169 double deletions without an existing interactions, only 25 have a "population viability" phenotype on both the single alleles.

This sessions has examples of single alleles that don't have a "population viability" phenotype: https://curation.pombase.org/pombe/curs/006084139334e409/ro/

kimrutherford commented 1 month ago

Hi @ValWood

I have a script ready to go to add the inferred genetic interactions for this case.

I think it will be quicker to implement the solution for future cases as I had a few false starts.

When you're back from holiday we can run it on the test Canto to confirm that I understand what's needed and that the script is doing the right thing.

ValWood commented 1 month ago

Yes sorry. I was thinking that all should have a population viability phenotype, but not from these papers (i.e from the deletion project) But we don't make the presence of the single mutant necessary to make the double mutant inviable (synthetic lethal) interaction.

kimrutherford commented 1 week ago

As discussed on Zoom, the plan is:

  1. copy the main Canto database over to the test Canto
    • need 5 minutes downtime
  2. run the script to create the inferred interactions on the test Canto
  3. check the results look sensible
  4. run the script on the main Canto one weekend when things are quiet

I plan to do 1 and 2 this weekend and then 4 when it's convenient.

kimrutherford commented 5 days ago
  1. copy the main Canto database over to the test Canto
    • need 5 minutes downtime
  2. run the script to create the inferred interactions on the test Canto

I've done that now but I immediately noticed a bug: sometimes duplicate interactions are created. For example in: https://curation.pombase.org/test/curs/60100461d789b19f/ro I'll fix that bug and try again on Monday.

session inferred interactions
https://curation.pombase.org/test/curs/0e416dbb3b3521ed/ro 1
https://curation.pombase.org/test/curs/1f78fe7de80af20c/ro 1
https://curation.pombase.org/test/curs/260be70a4dcbc884/ro 1
https://curation.pombase.org/test/curs/36de390cd2e1923e/ro 1
https://curation.pombase.org/test/curs/60100461d789b19f/ro 2
https://curation.pombase.org/test/curs/719521c232a83155/ro 3
https://curation.pombase.org/test/curs/80d942a640ec9e5a/ro 1
https://curation.pombase.org/test/curs/885eefd237119afe/ro 1
https://curation.pombase.org/test/curs/a100cec5b43cc083/ro 1
https://curation.pombase.org/test/curs/b5af2ff193007911/ro 1
https://curation.pombase.org/test/curs/ba57135bde9e7e32/ro 2
https://curation.pombase.org/test/curs/c8cdfb930f378170/ro 1
https://curation.pombase.org/test/curs/d7f404ebd5804111/ro 1
https://curation.pombase.org/test/curs/d9011560b1887e36/ro 1
https://curation.pombase.org/test/curs/d96802a70862fa93/ro 1
https://curation.pombase.org/test/curs/dd81766bd2cc050a/ro 1
https://curation.pombase.org/test/curs/de3fe3d88f14e4a8/ro 2
https://curation.pombase.org/test/curs/e1d7e0f4cb098e1f/ro 1
https://curation.pombase.org/test/curs/ef57da759b1d97c2/ro 2
kimrutherford commented 4 days ago

sometimes duplicate interactions are created.

This case happens because there are two annotations that differ only in the conditions. Should be an easy fix.

image

kimrutherford commented 4 days ago

sometimes duplicate interactions are created.

I've fixed that and I've run the script on the test Canto server.

only 25 have a "population viability" phenotype on both the single alleles.

Down to 18 after removing duplicates. Might have been quicker to do manually. :-)

Here are the sessions in the test Canto containing the inferred interactions:

session inferred interactions
https://curation.pombase.org/test/curs/0e416dbb3b3521ed/ro 1
https://curation.pombase.org/test/curs/1f78fe7de80af20c/ro 1
https://curation.pombase.org/test/curs/260be70a4dcbc884/ro 1
https://curation.pombase.org/test/curs/36de390cd2e1923e/ro 1
https://curation.pombase.org/test/curs/60100461d789b19f/ro 1
https://curation.pombase.org/test/curs/719521c232a83155/ro 3
https://curation.pombase.org/test/curs/80d942a640ec9e5a/ro 1
https://curation.pombase.org/test/curs/885eefd237119afe/ro 1
https://curation.pombase.org/test/curs/a100cec5b43cc083/ro 1
https://curation.pombase.org/test/curs/b5af2ff193007911/ro 1
https://curation.pombase.org/test/curs/ba57135bde9e7e32/ro 1
https://curation.pombase.org/test/curs/c8cdfb930f378170/ro 1
https://curation.pombase.org/test/curs/d7f404ebd5804111/ro 1
https://curation.pombase.org/test/curs/d9011560b1887e36/ro 1
https://curation.pombase.org/test/curs/dd81766bd2cc050a/ro 1
https://curation.pombase.org/test/curs/de3fe3d88f14e4a8/ro 1
https://curation.pombase.org/test/curs/e1d7e0f4cb098e1f/ro 1
https://curation.pombase.org/test/curs/ef57da759b1d97c2/ro 2
ValWood commented 3 days ago

Val to check

ValWood commented 2 days ago

I'm a bit confused so we should chat about this on the next call.

I think this is what we need to do:

  1. Check that any multi-gene phenotypes with the phenotype "inviable vegetative population" (double deletion alleles only at this point ), where at least one of the single mutant deletions is viable with the same conditions (Note that this criterion can be from ANY session because we would not always record population viability every time)
  2. Check that there is a synthetic lethal GI for the pair.
  3. If Yes -- If the GI is new style - OK --If the GI is legacy, we can create a new style interaction including the allele information 4 If not create a new type Snthetic lethal genetic interaction for the pair

From the links I looked at I'm not sure, but its difficult to know which pairs I am looking at. Can we report the gene pair concerned along with the link? By looking through the list of genes with advanced query result "inviable population" for a multi-gene phenotype, and viable vegetative population, I found one example where we have a double mutant phenotype "inviable vegetative population" but did'nt have a GI: efc25-delta tea1 delta so we can use that in the testing (should be in the output of 1+2) . I will see if I can find more.

ValWood commented 2 days ago

Note that this ticket is relative low priority compared to lots of others but we will keep chipping away at it on the calls.