Cytoscape plugin
From PathVisio Wiki
The GPML plugin for Cytoscape is a converter between Cytoscape networks and the GPML (GenMAPP Pathway Markup Language) pathway format. This plugin makes it possible to use GPML pathways (which you can find on WikiPathways) as Cytoscape networks and improve the GPML pathway content using Cytoscape features.
Contents |
Features
- Open PathVisio pathways in Cytoscape, including visual annotations
- Save Cytoscape networks to the GPML format, for use in PathVisio
- Copy/paste pathway elements or nodes and edges between Cytoscape and PathVisio
See the plugin in action!.
The GPML plugin is still in an early stage of development, but if you want to try it (at your own risk!), install the plugin via the plugin manager in Cytoscape or download it here.
You can also view and download the latest source code from the svn repository.
Applications
- Improving pathways using Cytoscape
- The LitSearch plugin is a great example of how Cytoscape can be used to improve pathway content. By using the 'extend network from literature' feature, you can easily find new genes and interactions that can be potential additions to the pathway, based on the genes that are already in there. Or you can build a new network based on a list of genes and export this network to GPML. This is much easier than building a pathway from scratch based on a pubmed search and literature study.
- The LitSearch plugin could also be used to improve microarray analysis. For example, with MAPPFinder you often end up with a pathway that is just a list of genes (e.g. a GO category, or a pathway in the Molecular Function category), which would be much more informative if you would see interactions between these genes. If you copy this pathway to Cytoscape and apply the LitSearch plugin, you have a network you can map the data onto (either in Cytoscape, or copied back into PathVisio/GenMAPP).
- Integrating interaction data with pathways
- Similar to the LitSearch plugin, you could use protein-protein interaction data to extend pathways. For example, you can look up a selection of pathway nodes in the interaction network, select the first neighbors, and merge these back into the pathway. Maybe it is useful if this is automated in a 'extend network' feature like LitSearch. I was looking for something like that for cPath data, but I could only create a new network, based on a node name.
- Maybe we could also think the other way around: using pathways to analyze HTP interaction data. Pathways usually contain reviewed interactions of high confidence. If you merge the pathway into the interaction data, you could extract a body of interactions with high confidence. Based on this body, you could maybe find other relevant interactions. I'm not sure if this is useful, because I'm not familiar with interaction data.
- Performing network analysis on pathways
- When a pathways is in Cytoscape, you can perform all Cytoscape's network analysis tools. E.g. you can find shortest paths, network motifs and cluster the network. A cool think to do is to create a super network containing all pathways on WikiPathways. If we can make sure all identical datanodes (across pathways) end up as the same node, we can for example investigate the connectivity between pathways.
Issues
- Incomplete edge start/end shape mapping
- Not all GPML arrowheads cannot be mapped to edge start/end shapes in Cytoscape, since Cytoscape has only a limited number of shapes
- Duplicate proteins
- Pathways may contain duplicate datanodes that represent the same protein. Currently, the plugin creates a new node for every duplicate datanode (with an unique identifier), however, it may be better to create a single node with different nodeviews (within one network view). Is this possible?
Groups
Groups have two uses in GPML:
- Group graphical elements: for editing convenience
- Semantic grouping: e.g. grouping a set of datanodes to indicate that they are forming a complex
Groups as used in the second use case need to be properly converted to Cytoscape. An example of this can be found in the image below, where complex 1 inhibits complex 2.
The current implementation of the GPML plugin converts this to the following network:
The code works like this: For each GPML group:
- create a CyGroup
For each GPML datanode in that group:
- create a CyNode
- add the CyNode to the CyGroup
- create an edge from the GroupNode to the CyNode and set 'interaction' to 'contains'
For each GPML edge that links to the group:
- create a CyEdge that links to the GroupNode
Here are a few questions about this approach:
- Is this the way it should work in Cytoscape? The disadvantage of this approach is that GroupNodes are treated the same way as any other node. So when you are going to perform network analysis, the group nodes are included (e.g. when calculating shortest path).
- The reason I put edges between the GroupNode and nodes that are part of the group is that this was the only way to connect them
- Is it possible to use meta-nodes, e.g. to collapse or expand a group. Should the edges between the GroupNode and the group elements still be there?
Anchors
GPML supports line anchors for better representation of metabolic reactions and MIM maps. An example of a metabolic reaction is shown in the image below.
Currently, all line anchors for a single line are converted into a node. All lines connecting to the anchor will become edges to that node.


