This page will be used for discussion on how to extend BioPAX to allow storage of visual information on top of the biological model. I tried to make a summary of the ideas that have been proposed so far in our email threads and added my own ideas about a possible implementation. If you have comments, please modify the text below directly and add discussion items marked with a timestamp/username (using ~~~~). -[[User:Thomas|thomas]] 16:22, 19 June 2008 (CEST) == BioPAX + Coordinates == Extend the BioPAX OWL model directly with support for visual information on top of the model. One way to do this is to add a set of utility classes that allow you to link visual information to other classes: * view * ELEMENT: reference to a viewElement * viewElement * X, Y: coordinates of the element in the view * MODEL: reference to a BioPAX element (e.g. physicalEntityParticipant) This approach makes it possible to create multiple views for the same BioPAX model. Below is an example of a simple BioPAX model representing the [http://www.reactome.org/cgi-bin/eventbrowser?DB=gk_current&FOCUS_SPECIES=Homo%20sapiens&ID=114284& Reactome reaction] that represents the release of Cytochrome C from the mitochondria. Note that I left out a lot of code to make it more readable. {{{ Release of Cytochrome c from mitochondria mitochondrial intermembrane space cytosol UniProt:P99999 Cytochrome c }}} Using the new classes, a view for this BioPAX model could then be defined by the code below: {{{ 25 25 125 125 75 75 }}} This will allow a viewer (e.g. Cytoscape) to layout the nodes according to predefined coordinates: [[Image(Reactome_cyc_transport.png)]] === Discussion === * I added the X and Y coordinates as elements, since that seems to be the default in BioPAX. Maybe it would be more clear if they are attributes ( 40 40 CytoC 120 120 CytoC 65 55 0 0 Mitochondrion }}} Note that I left out a lot of SVG code (e.g. the style attributes) to make the example readable. When rendered by a viewer, it would look something like this: [[Image(800px-Test-svg.png)]] This approach would allow any tool to draw a view of a BioPAX model easily, using the available SVG libraries in different programming languages. Note that in this example, I made the coordinates used in the SVG snipped relative to the location of the viewElement. This would make it easy to include/exclude parts of a view into other views. === Discussion === == BioPAX + GPML == Don't extend BioPAX directly, but make a connection between BioPAX and GPML. Similar to SVG, but now using GPML as visual format. === Discussion ===