SynBioDex / SBOL-examples

A repository to share/discuss/ask/propose how to represent examples using SBOL and SBOLVisual.
Apache License 2.0
3 stars 4 forks source link

Best practices for abstraction #11

Open jakebeal opened 4 years ago

jakebeal commented 4 years ago

We've been running into an issue around abstraction levels, with different groups representing interactions at different levels of detail. None of these is more "right" than the others, since one legitimately should be representing different details depending on the circumstance.

What is a good way, however, to handle 1) harmonization across different levels and/or 2) actually included more than one equivalent representation in a system.

Consider a simple example of this in how to represent repression of pTet by TetR:

cjmyers commented 4 years ago

I think these potentially can be represented as a hierarchy of abstractions, with each level down exposing more detail.

jakebeal commented 4 years ago

We should work out some examples and run them by people to see how they feel about them.

jamesscottbrown commented 4 years ago

I think these potentially can be represented as a hierarchy of abstractions, with each level down exposing more detail.

Given a more detailed model, it should be possible to automatically do some abstraction, such as first simplifying by removing the mRNA, and then simplifying by removing the protein (sbml-diff does something like this when drawing diagrams of SBML models).

Doing the reverse is much harder: it would require TetR and pTet to be annotated with appropriate identifiers, and some external source of information that explained how they interact.

cjmyers commented 4 years ago

@jamesscottbrown I completely agree. My position has always been to include as much detail as possible, but leave it to tools to do the abstraction.

bbartley commented 4 years ago

An interesting exercise would be to scope out whether it is possible to express in SBOL a representation that is detailed and generalized enough to support abstraction into each of the 3 levels of SBGN representation: process description, entity relationship, activity flow

jamesamcl commented 4 years ago

None of these is more "right" than the others, since one legitimately should be representing different details depending on the circumstance.

Just want to +1 this while the discussion is young. Working out how to handle different levels of abstraction is definitely something we need to do, but it is also important to remember that we cannot require any particular level of detail, even as a best practice. The level of abstraction is part of the design and is entirely up to the designer.