Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Best practices for abstraction #11

Open
jakebeal opened this issue Jun 26, 2020 · 6 comments
Open

Best practices for abstraction #11

jakebeal opened this issue Jun 26, 2020 · 6 comments
Assignees

Comments

@jakebeal
Copy link
Contributor

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:

  • The TetR CDS inhibits the pTet promoter
  • The TetR CDS produces TetR protein, which inhibits pTet.
  • The TetR CDS produces mRNA that produces the TetR protein, which inhibits pTet.
@cjmyers
Copy link
Contributor

cjmyers commented Jun 26, 2020

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

@jakebeal
Copy link
Contributor Author

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

@jamesscottbrown
Copy link
Contributor

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
Copy link
Contributor

cjmyers commented Jun 26, 2020

@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
Copy link

bbartley commented Jun 29, 2020

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
Copy link
Member

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.

@LukasBuecherl LukasBuecherl transferred this issue from SynBioDex/SBOL-specification Oct 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants