geneontology / noctua

Graph-based modeling environment for biology, including prototype editor and services
http://noctua.geneontology.org/
BSD 3-Clause "New" or "Revised" License
37 stars 13 forks source link

Add "annoton" template creator for general interface #244

Closed kltm closed 8 years ago

kltm commented 8 years ago

An "annoton" template creator for general interface is being bandied about as a general replacement for some of the templates.

cmungall commented 8 years ago

(comment deleted as it was in the wrong ticket)

kltm commented 8 years ago

I think you've misunderstood what we specced out--something much much simpler. I will have a demo for what I talked about with with David in just a bit. This is probably a separate issue (and tied to super grebe?).

On 12/09/2015 12:28 PM, Chris Mungall wrote:

Proposal for how this would work.

Template/Prototype models
  • Each template would live in its own model
  • The model will be like any other model, but will include some additional owl:annotation that indicates its template-like status o a template model will typically not fill in enabled_by since the intent is to reuse in any species o at some point we will want to explore filling in general and ancestral (PTN) gene products, but this is best discussed in a distinct ticket
  • Edges should have evidence in general, but these will typically be non-experimental?
  • A template is always associated with a biological process o Examples: nuclear import, MAPK cascade o Use RO:0002214 'has prototype' to connect. E.g. "nuclear import" has-prototype gomodel:nnnnnnn (but see caveat below) o Cardinality TBD. having max 1 prototype for each process has some advantages

For this component no particular features in Noctua are required beyond having the ability to edit annotations with arbitrary annotation properties in the Model/edit annotations tab. However, having some special purpose widget for doing this will make it more obvious.

Caveat: if we make the link between the model and the BP an OPE, then we are forcing punning. This may or may not be desirable. Another option is that this option creates a class axiom

|BP SubClassOf has-prototype value gomodel;NNNN |

But thus far the minerva API doesn't support this and it takes Noctua beyond a pure ABox editor. This is probably overmodeling here. Best to stick with direct triple, either OPE or APE.

Dropping in a template

This will require some additional widgetry or UI futzing.

Example of how this might work:

  • A menu item "Add template" with sub-items being each model/BP, where these are associated as above
  • Selecting one performs a partially deep copy of the original model into the current model o don't clone entities like PMIDs
  • The copied model should have annotations that retain memory of the fact that this was copied
  • We may want to prohibit the user from editing these

One possibility is to simply copy references into the model without making new individual IDs. But we would have to make sure that the shadow is not editable, or the union of all models will have conflicting statements.

One fun way of doing this would be to show the list of all possible templates graphically. Imagine even having faceted browsing of all thumbnails... best for a new enhancement ticket. One possibility is to put multiple templates into the same model (kind of like a Stencil panel in tools like OmniGraffle)

Modeling of variability

Example: a MAPK cascade where the 4th MAPK activity is optional.

I think it easiest to avoid these situations by making two distinct templates. We can imagine combinatorial explosions. But cross this when we come to it

Other notes

I may retitle the ticket. Not just a template for a single annoton, typically annoton group.

Note this is /huge/ for the ontology development group

— Reply to this email directly or view it on GitHub https://github.com/geneontology/noctua/issues/244#issuecomment-163193941.