pombase / canto

The PomBase community curation tool
https://curation.pombase.org
Other
18 stars 7 forks source link

Make interaction editing dialog more intelligent #1962

Closed kimrutherford closed 4 years ago

kimrutherford commented 4 years ago

(Following on from #1915)

Sorry I didn't take good notes on Skype. Please comment if I've got this wrong.

When editing interactions:

and either:

mah11 commented 4 years ago

My memory isn't necessarily more trustworthy, but I think this option:

restrict possible phenotype given the selected interaction type

fits the envisioned workflow (at least as I understand it) a bit better. I'm going on the notion that it's

  1. pick genotype A 1a. (?) pick the affected phenotype of genotype A (optional? did we even actually decide on this?)
  2. pick an interaction type
  3. pick genotype B
  4. pick a phenotype for the genotype A / genotype B combination (is this step to be optional? maybe FlyBase needs it to be optional??)

If the above is generally accurate, then it would make sense to restrict the possible phenotypes at step 4 to ones relevant to the interaction type.

If we also include step 1A, then that phenotype selection/annotation should offer any phenotypes already annotated for genotype A, but also offer the option to add a new one (no restrictions ??). This could well be one of the interface complications that bogged it all down :P

kimrutherford commented 4 years ago

Thanks Midori. Selecting the interaction type and restricting the phenotype sounds logical.

I think we're going to need another configuration file. :-(

ValWood commented 4 years ago

The notes say

1. Gene/Choose gene -> Genotype A /Choose Genotype A
(with an autocomplete search option- this can make use of the proposed genotype filter)

2. Evidence Code -> Choose genetic interaction type (Configuration files of types for FlyBase and PomBase)

3. CHANGE gene field to genotype Interacting gene - > Interacting genotype/ choose Genotype A (with a search option- this can make use of the proposed genotype autocomplete feature https://github.com/pombase/canto/issues/1900)

4. NEW field to select phenotype i) present existing phenotypes of genotype A allow selection or dismissal and go to iii)

I think we decided on the call that we would both need to attach this to the phentype of geneotype A (the one being supressed).

PomBase might then want an additional step to prompt the user if they have not curated any phenotype of genotype A/B and an option to do so, but this is an extra step to get the missing annotation and could be added later on, once the necessary part is working.

Does that make sense to everyone?

ValWood commented 4 years ago

notes are here, I edited during the call: https://docs.google.com/document/d/1lQhZyB9D_R1-XLvrZDIDqmmW67rLouSZZ4J8HEG6ucM/edit

kimrutherford commented 4 years ago

In multi-organism mode I think we'll need an organism selector at the top of the annotation edit dialog. The genotypes in the selectors should both be filtered by organism.

(Currently the genotype A and B can be from different organisms)

jseager7 commented 4 years ago

In multi-organism mode I think we'll need an organism selector at the top of the annotation edit dialog. The genotypes in the selectors should both be filtered by organism.

This sounds like the same problem as #1925.

I'm guessing this involves adding extra fields for 'Organism' and 'Interacting Organism'?

I think in this case we shouldn't need selectors for the strain as well, since Canto technically treats strains as if they're bound to genotypes (and we're working with genotypes here). However, if we don't use a strain selector, then we might need a way to display the strain alongside the genotype name in the genotype selector, and that might look confusing.

jseager7 commented 4 years ago

we might need a way to display the strain alongside the genotype name in the genotype selector...

One thing we could do is group the genotypes by strain, using option groups. Here's an example:

image

kimrutherford commented 4 years ago

This sounds like the same problem as #1925.

I knew I'd seen it somewhere.

I'm guessing this involves adding extra fields for 'Organism' and 'Interacting Organism'?

For interactions it's easier as the organism should be the same for both genotypes.

One thing we could do is group the genotypes by strain, using option groups. Here's an example:

That looks good. We could also display them as:

TRI5Δ (strain PH-1)
TRI5Δ (strain F15)

It depends whether the curators would prefer to see them grouped by strain.

I've been working on the organism selector. I haven't pushed the changes yet because the edit dialog currently broken in PHI mode.

interaction-update-5

vmt25 commented 4 years ago

Hi all,

For FlyBase's purposes, Val's notes are accurate (on step 3 'choose Genotype A' should be 'choose Genotype B' - I corrected the file).

I don't remember us discussing limiting evidence codes depending on the phenotypes or vice-versa. That said, there are a tiny number of cases - viability/lethality - for which some of the evidence codes are not logical, but we/FlyBase should discuss internally whether it would be useful to implement the underlying logic during curation on Canto (as per Kim's question), after curation using our current sanity check program, or simply as curation SOP.

(P.S. I'm away on holidays, so may be slow to reply and to do testing)

kimrutherford commented 4 years ago

That looks good. We could also display them as: TRI5Δ (strain PH-1) TRI5Δ (strain F15)

That's what I've done for now as it was easy. We can improve the display later.

kimrutherford commented 4 years ago

i) present existing phenotypes of genotype A allow selection or dismissal and go to iii)

I'm not sure what the interface for this should look like. Can we chat about it after the conference?

vmt25 commented 4 years ago

i) present existing phenotypes of genotype A allow selection or dismissal and go to iii)

I'm not sure what the interface for this should look like. Can we chat about it after the conference?

I was envisaging the dropdown menu to be something like: list of existing phenotypes for genotype A -> phenotype 1, phenotype 2, phneotype... create phenotype no phenotype

The list of existing phenotypes be i) The create phenotype and no phenotype options would take care of iii)

I'm open to other options and happy to chat about it.

vmt25 commented 4 years ago

and either:

  • restrict possible phenotype given the selected interaction type or:
  • restrict interaction types once a phenotype is selected (which of these is right?)

Yes, we would like for this to be configurable so that some phenotypes can not not be selected for an interaction or only allow for some interaction types.

Would it be possible to have an ontology config for this?

vmt25 commented 4 years ago

When picking a phenotype, please pick the full phenotype+extensions annotations

Annotations with different extensions should be treated as different phenotypes. (the extensions should be editable, though)

Pombase must think about conditions

vmt25 commented 4 years ago

1991 is a sub-ticket of this one

kimrutherford commented 4 years ago

I've made a first attempt at this but it's not very obvious at the moment. It would be confusing for a community curator. Please let me know what changes you'd like and what bugs you find. As usual, here's my dodgy test session: https://curation.pombase.org/flybase-test/curs/2e523d5ee64ea295#

interaction-term-suggestion-1

vmt25 commented 4 years ago

Tried to make an interaction in this session but could not see the phenotype dropdown menu (I can confirm I was logged in).

Screenshot 2019-08-19 at 12 51 06

From your mock-up, would it be possible to: a) make phenotype not optional for fly-Canto? b) show the specific extensions, instead of the the type of extensions? e.g. the 'wing hair' annotations showing 'pupal stage' instead of 'dv qual(FBcv...)' (it is common to have different annotations with the same phneotype CV but with different extensions and the interaction data only applying to one of the cases)

kimrutherford commented 4 years ago

Tried to make an interaction in this session but could not see the phenotype dropdown menu

There are no annotations for for "Pdf[01] / Pdf[01]" in the session. Should Canto be looking for annotations to single allele genotypes if you select a diploid?

a) make phenotype not optional for fly-Canto?

Yep. I'll add a configuration option for that.

b) show the specific extensions, instead of the the type of extensions? e.g. the 'wing hair' annotations showing 'pupal stage' instead of 'dv qual(FBcv...)'

It now shows "wing basal cell - dv_qual(pupal stage)" in the dropdown. Is that what you were thinking of?

kimrutherford commented 4 years ago

a) make phenotype not optional for fly-Canto? Yep. I'll add a configuration option for that.

I've added a new option interaction_term_required to implement that. And I've updated the flybase-test Canto instance so the term is now required for interactions.

vmt25 commented 4 years ago

It now shows "wing basal cell - dv_qual(pupal stage)" in the dropdown. Is that what you were thinking of?

That works fine but I would prefer only showing 'wing basal cell - pupal stage'. It would save some horizontal space (there can be several extensions) and the extension type label does not add any important information.

vmt25 commented 4 years ago

It looks great!

Because there is going to be an additional extension filed for the interaction, would it be possible to label the 'Annotation extension' as 'Phenotype extensions' (plural, as there can be several extensions)?

Similarly to the rescues (#1986), I cannot finalize an annotation because Canto wrongly states that the interaction type is missing:

Untitled 2

kimrutherford commented 4 years ago

would it be possible to label the 'Annotation extension' as 'Phenotype extensions' (plural, as there can be several extensions)?

We call it "Annotation extension" to follow what GO calls it. In PomBase it's all one extension but it has multiple parts. I've changed it to say "Phenotype extensions" in FlyBase mode.

Similarly to the rescues (#1986), I cannot finalize an annotation because Canto wrongly states that the interaction type is missing:

That should be fixed now too.

vmt25 commented 4 years ago

Seems to be working beautifully now! - either selecting from the dropdown of previous phenotype terms, picking new terms or editing extensions. I'll keep on testing with different stuff.

Other than the 'Configure interactions options depending on the phenotype (#1991)', the only other thing missing is allowing for extensions/conditions to the interaction - maybe attaching them to the interaction type?

vmt25 commented 4 years ago

I've seen the interaction extensions and they can be selected during the phenotype annotation. Thanks

1 - Would it be possible to disable them at the phenotype annotation stage and only allowing them on 'edit' during the interaction annotation stage?

2 - I assume you configured on the extension config file. If so, could you provide the file? (or share the lines for the configuration of these extensions?)

kimrutherford commented 4 years ago

1 - Would it be possible to disable them at the phenotype annotation stage and only allowing them on 'edit' during the interaction annotation stage?

I've made a separate issue for that: #2004

2 - I assume you configured on the extension config file. If so, could you provide the file? (or share the lines for the configuration of these extensions?)

Sorry, I meant to do that but forgot. I've updated the copy of flybase_extension_config.tsv in the pombase config repository: https://github.com/pombase/pombase-config/blob/master/canto/flybase/flybase_extension_config.tsv

vmt25 commented 4 years ago

(Not sure tjhis is the best ticket for this issue but...)

FlyBase phenotype interactions are not working at the moment because 'No interaction types available for "short lived"'. The same kind of message shows for every different 'original' phenotype CV I tried.

Screen Shot 2019-09-09 at 16 06 55

Could not check anatomy interactions because anatomy annotations are also not working.

Please see 'https://curation.pombase.org/flybase-test/curs/7e6b097ab9f9fca5#'

ValWood commented 4 years ago

I'm closing this ticket and moving the outstanding bug to a new ticket.