Skip to content

Instantly share code, notes, and snippets.

@yochannah
Last active September 20, 2017 09:30
Show Gist options
  • Save yochannah/fd2ed73fe3691f867f26aace1237dbf2 to your computer and use it in GitHub Desktop.
Save yochannah/fd2ed73fe3691f867f26aace1237dbf2 to your computer and use it in GitHub Desktop.
Rendering protein complexes in SBGN-ML
<sbgn>
<map language="entity relationship">
<glyph id="sufu_human" class="entity"><label text="sufu_human"/><bbox y="10" x="10" h="40" w="70"/>
<glyph id="sufu_human_type" class="unit of information"><label text="mt:prot"/><bbox y="40" x="20" h="20" w="50"/></glyph>
</glyph>
<glyph id="gli3_human" class="entity"><label text="gli3_human"/><bbox y="90" x="90" h="40" w="70"/>
<glyph id="gli3_human_type" class="unit of information"><label text="mt:prot"/><bbox y="120" x="100" h="20" w="50"/></glyph>
</glyph>
<arc target="sufu_human" source="gli3_human" class="interaction" id="x">
<glyph id="gli3_human_sufu_human"><bbox y="50" x="10" h="170" w="170"/><start y="50" x="80"/><end y="90" x="90"/></glyph>
</arc>
</map>
</sbgn>

Intro

SBGN-ML is the XML representation of Systems Biology Graphical Notation (SBGN), a visual language to represent biochemical interactions.

Original paper describing SBGN: http://www.nature.com/nbt/journal/v27/n8/full/nbt.1558.html Original paper describing SBGN-ML: https://academic.oup.com/bioinformatics/article/28/15/2016/236089/Software-support-for-SBGN-maps-SBGN-ML-and-LibSBGN - It says laying out SBGN is a 'hard problem'.

SBGN has three sub-languages:

  • Process Diagram, depicting entities over time
  • Entity Relationship
  • Activity Flow, used for scenarios in which broad details are conveyed without necessarily depicting specific entities.

Entity Relationship seems to be most pertinent to depicting the protein complexes shown in the complex viewer.

Specification for SBGN Entity Relationship (ER) Version 2 (August 2015): http://journal.imbio.de/article.php?aid=264 pages 16, 17 have info about interactions.

Re-using existing components

There is no open source web-based client side SBML viewer available in the SBGN homepage list. There is an easy online viewer to allow you to view SBGN-ML files, however, based here: http://sysbioapps.dyndns.org/Layout/ Can we use their web service or algorithm to generate layout for our files? probably not, the most recent SBGN-ML spec is more recent than the last update for this app. They do have a paper describing their algorithms for layout, though (TODO, examine paper).

Validating SBGN-ML:

There doesn't seem to be any easy online validator for ER.
This tool may suffice (desktop) and is good for creating manual / sample sbgn examples. https://immersive-analytics.infotech.monash.edu/vanted/addons/sbgn-ed/download_installation.html

Questions:

How do we represent the binding sites, when known?

Options:

  • location I think that location in the spec (pdf pages 37, 38) is referring to the location of the entity, not a location ON the entity. It can only have one location, another suggestion that this might not be what we're looking for
  • ct:bind (page 28 of the pdf) - this may be what is needed, but the only example in the spec is on page 31 (figure 2.4.2) and doesn't match the integer locations we have available in the JSON

Are there other items from the json that should be represented in the diagram?

I should always contain the diagram in a complex container. sometimes there are loose floating components.

useful paper (wrong type of sbgn) http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1004321

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment