VisualisationExchange

= Visualisation and Exchange Workgroup Co-ordination Main Page =

Members

 * Martijn van Iersel
 * Guanming Wu

Goal
The task of this committee is to study how the visual representation of BioPAX models can be exchanged.

= Current state =

I'd propose a simple format that stores coordinates in a separate file. This format will only define basic x,y coordinates for some biopax elements. It is up to the rendering program to define what shapes, colors, arrow styles etc. should be used.

Two proposals have been made for the schema for storing coordinates. One is based on separate stylesheets following an XML schema definition. The second is based on an extension of OWL, and can be stored together with or separate from a given BioPAX document.

1. XML-Schema-based stylesheets
Here is a first proposal for a basic file format for exchanging simple coordinates associated with BioPAX models.

This stylesheet should contain only - a reference to the BioPAX document that it applies to - a list of records, each with x, y coordinates and a reference to an RDF:id

Here is what that might look like in XML:

     

Validation
The current proposal can be validated using a simple XML Schema. Since the coordinate model is much simpler than BioPAX itself, I think strict validation is possible and desirable. I'd propose to create an XML Schema

Implementation
A working implementation can be found here: http://svn.bigcat.unimaas.nl/pvplugins/trunk/Biopax3GPML/src/org/pathvisio/biopax3/BpStyleSheet.java

2. Owl extension
On COMBINE 2010, an owl-extension was proposed.

Implementation
OWL schema's can be found here: http://svn.bigcat.unimaas.nl/bplayout/trunk/

= Relation to SBGN =

It's important that any visualization solution takes into account the Systems Biology Graphical Notation. They are currently developing the SBGNML format.

Scenario's:
 * BPSS is an intermediate solution while SBGNML is being developed
 * BPSS is a simplified version of SBGNML
 * SBGNML is the same as BPSS
 * SBGNML and BPSS are completely different

Coordinate <-> BioPAX class correspondence
Should nodes be attached to specific BioPAX classes, or should any BioPAX instance be allowed to have coordinates? Augustin remarks that we can probably find use cases for coordinates for all instances.

= Ideas =

Cascading style sheets
Igor proposed to make the style sheets cascading, so that styles could be set for a group of instances at once, just as in CSS.

xref { /* a biopax property */ color: red; shape: foo; /*this is be defined in SBGN*/ } Complex { /* a biopax type */ color: red; shape: foo; /*this is be defined in SBGN*/ } Protein { shape: foo; x: +10 /* perhaps, for some classes, can use relative to the parent coordinates (may be ignored)*/ } Bar { /* anything else from the input model; freedom; no explicit reference to any specs! */  shape: boo; } x: 50 y: 50 } x: 100 y: 100 } /* or, even more specific */ x: 100 y: 100 }
 * 1) malate_dehydrogenase_1_dimer__cytosol_1 {
 * 1) malate_dehydrogenase_1__cytosol_ {
 * 1) malate_dehydrogenase_1__cytosol_ Complex component {

here is part of the corresponding biopax owl (using usual xmlns:bp and the xml:base="http://www.reactome.org/biopax#") :

    malate dehydrogenase 1 dimer    Reactome DB_ID: 198471</bp:comment> <bp:entityReference rdf:resource="#UniProt_P40925_MDH1" /> <bp:cellularLocation rdf:resource="#cytosol" /> <bp:feature rdf:resource="#Length_2_334_" /> </bp:Protein> ...

- this biopax is not CSS aware at all (no visualization related things), but we may want to add something like <?xml-stylesheet href="my-bp-sbgn.css" type="text/css"?>...