proposed: a bridge between R and Cytoscape
2
0
Entering edit mode
Paul Shannon ★ 1.1k
@paul-shannon-578
Last seen 9.6 years ago
Many years ago, a couple of us wrote the first version of Cytoscape. That project has subsequently, in the hands of others, developed into a fairly popular bioinformatics network exploration tool, with a variety of analytical and layout plugins. I, myself, have spent most of the intervening years analyzing data with R and Bioconductor, doing network visualization with an ad hoc, home-grown rJava & RMI connection I ginned up to an old version of cytoscape. I propose, now, to redo that, probably using sockets (a la the IGV/R bridge) from R, connecting to, and controlling Cytoscape 2.7 via a new plugin. I propose to provide a 'little language' in a bioconductor package, which allows graphs (nodes, edges, and arbitrary attributes) to be passed back and forth; to be laid out; rendered; animated (for example, with time course experimental data); along with some simple manipulations. My little language is excerpted below. The Cytoscape community has expressed some enthusiasm for this idea, and offered some assistance. I hope to find similar interest (and maybe occasional support) from the Bioc and general R communities as well. If you have any comments or suggestions on this idea, I'd love to hear them. I want to do this in such a way that it will be useful to lots of people. - Paul Shannon Institute for Systems Biology Seattle --- the existing R/cytoscape little language send (graph) get () # current subnetwork displayed in Cytoscape select (node.names) selectFirstNeighbors () clear () # clears all current selections invert () # inverts the current selection hide () # hides selected nodes unhide () # reveals everything hidden deleteSelection () destroy () # deletes the current graph layout () # asks that the current layout be applied; actual write.gml (filename) # save current graph to file render () # applies all visual mapping ('vizmap') rules, see below --- vizmap rules: specify node and edge rendering, in which the specified attribute controls visual appearance nodeLabel (graph, nodeAttributeName) nodeFontSize (newSize) nodeShape (graph, nodeAttributeName, keyValuePairs) defaultNodeShape (graph, shape) defaultNodeSize (graph, size) nodeSize (graph, nodeAttributeName, keyValuePairs) nodeColor (graph, nodeAttributeName, keyValuePairs) nodeColorDiscrete (graph, nodeAttributeName, keyValuePairs) defaultNodeColor (graph, color) nodeBorderStyle (graph, nodeAttributeName, keyValuePairs) defaultNodeBorderStyle (graph, style) nodeBorderColor (graph, nodeAttributeName, keyValuePairs) defaultNodeBorderColor (graph, color) edgeColor (graph, edgeAttributeName, keyValuePairs) edgeColorDiscrete (graph, edgeAttributeName, keyValuePairs) defaultEdgeColor (graph, color) edgeStyle (graph, edgeAttributeName, keyValuePairs) defaultEdgeStyle (graph, style) targetArrow (graph, edgeAttributeName, keyValuePairs) defaultTargetArrow (graph, arrow) sourceArrow (graph, edgeAttributeName, keyValuePairs) defaultSourceArrow (graph, arrow)
Visualization Network graph Visualization Network graph • 1.4k views
ADD COMMENT
0
Entering edit mode
@steve-lianoglou-2771
Last seen 14 months ago
United States
Hi Paul, Your talk at the Adv. Bioc. workshop in May got me interested in this topic, which somehow led me to stumble on this post on this Gephi forums: http://forum.gephi.org/viewtopic.php?f=4&t=230 You can see my post (author "lianos") asking if this could let someone drive Gephi from other languages. It seems there are two ways one could go about that (using some toolkit, and also a "graph streaming" project that is underway this summer). Look at the reply from mbastian: http://forum.gephi.org/viewtopic.php?f=4&t=230#p835 Perhaps this can help you in your endeavor. I'm not a big cytoscape user, and haven't really compared cytoscape and Gephi, but some of the videos I've seen of Gephi in action seem pretty cool: http://www.rcasts.com/2010/04/social-network-analysis-using-r-and.html -steve On Mon, Jun 21, 2010 at 5:21 PM, Paul Shannon <pshannon at="" systemsbiology.org=""> wrote: > Many years ago, a couple of us wrote the first version of Cytoscape. ?That project has subsequently, in the hands of others, developed into a fairly popular bioinformatics network exploration tool, with a variety of analytical and layout plugins. > > I, myself, have spent most of the intervening years analyzing data with R and Bioconductor, doing network visualization with an ad hoc, home-grown rJava & RMI connection I ginned up to an old version of cytoscape. > > I propose, now, to redo that, probably using sockets (a la the IGV/R bridge) from R, connecting to, and controlling Cytoscape 2.7 via a new plugin. > > I propose to provide a 'little language' in a bioconductor package, which allows graphs (nodes, edges, and arbitrary attributes) to be passed back and forth; to be laid out; rendered; animated (for example, with time course experimental data); along with some simple manipulations. ?My little language is excerpted below. > > The Cytoscape community has expressed some enthusiasm for this idea, and offered some assistance. ?I hope to find similar interest (and maybe occasional support) from the Bioc and general R communities as well. > > > If you have any comments or suggestions on this idea, I'd love to hear them. ?I want to do this in such a way that it will be useful to lots of people. > > ?- Paul Shannon > ? Institute for Systems Biology > ? Seattle > > > > --- the existing R/cytoscape little language > > send (graph) > get () ? ? ? ?# current subnetwork displayed in Cytoscape > select (node.names) > selectFirstNeighbors () > clear () ? ? # clears all current selections > invert () ? ?# inverts the current selection > hide () ? ? ?# hides selected nodes > unhide () ? ?# reveals everything hidden > deleteSelection () > destroy () ? # deletes the current graph > layout () ? ?# asks that the current layout be applied; ?actual > write.gml (filename) ?# save current graph to file > render () ? ?# applies all visual mapping ('vizmap') rules, see below > > --- vizmap rules: ?specify node and edge rendering, in which the specified attribute controls visual appearance > > nodeLabel (graph, nodeAttributeName) > nodeFontSize (newSize) > nodeShape (graph, nodeAttributeName, keyValuePairs) > defaultNodeShape (graph, shape) > defaultNodeSize (graph, size) > nodeSize (graph, nodeAttributeName, keyValuePairs) > nodeColor (graph, nodeAttributeName, keyValuePairs) > nodeColorDiscrete (graph, nodeAttributeName, keyValuePairs) > defaultNodeColor (graph, color) > nodeBorderStyle (graph, nodeAttributeName, keyValuePairs) > defaultNodeBorderStyle (graph, style) > nodeBorderColor (graph, nodeAttributeName, keyValuePairs) > defaultNodeBorderColor (graph, color) > edgeColor (graph, edgeAttributeName, keyValuePairs) > edgeColorDiscrete (graph, edgeAttributeName, keyValuePairs) > defaultEdgeColor (graph, color) > edgeStyle (graph, edgeAttributeName, keyValuePairs) > defaultEdgeStyle (graph, style) > targetArrow (graph, edgeAttributeName, keyValuePairs) > defaultTargetArrow (graph, arrow) > sourceArrow (graph, edgeAttributeName, keyValuePairs) > defaultSourceArrow (graph, arrow) > > _______________________________________________ > Bioconductor mailing list > Bioconductor at stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor > Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor > -- Steve Lianoglou Graduate Student: Computational Systems Biology | Memorial Sloan-Kettering Cancer Center | Weill Medical College of Cornell University Contact Info: http://cbio.mskcc.org/~lianos/contact
ADD COMMENT
0
Entering edit mode
@cristobal-fresno-rodriguez-3838
Last seen 8.0 years ago
Argentina/Cordoba/Universidad Católica …
Hi Paul I would really appreciate a plugin to connect/control/share data with Cytoscape and R. Great idea! At present I am working on ontologies and I would like to use Cytoscape to get and show some results obtained with R. How can I participate on this idea? Cristóbal Fresno PhD Student, National University of Córdoba, Argentina 2010/6/21 Paul Shannon <pshannon@systemsbiology.org> > Many years ago, a couple of us wrote the first version of Cytoscape. That > project has subsequently, in the hands of others, developed into a fairly > popular bioinformatics network exploration tool, with a variety of > analytical and layout plugins. > > I, myself, have spent most of the intervening years analyzing data with R > and Bioconductor, doing network visualization with an ad hoc, home- grown > rJava & RMI connection I ginned up to an old version of cytoscape. > > I propose, now, to redo that, probably using sockets (a la the IGV/R > bridge) from R, connecting to, and controlling Cytoscape 2.7 via a new > plugin. > > I propose to provide a 'little language' in a bioconductor package, which > allows graphs (nodes, edges, and arbitrary attributes) to be passed back and > forth; to be laid out; rendered; animated (for example, with time course > experimental data); along with some simple manipulations. My little > language is excerpted below. > > The Cytoscape community has expressed some enthusiasm for this idea, and > offered some assistance. I hope to find similar interest (and maybe > occasional support) from the Bioc and general R communities as well. > > > If you have any comments or suggestions on this idea, I'd love to hear > them. I want to do this in such a way that it will be useful to lots of > people. > > - Paul Shannon > Institute for Systems Biology > Seattle > > > > --- the existing R/cytoscape little language > > send (graph) > get () # current subnetwork displayed in Cytoscape > select (node.names) > selectFirstNeighbors () > clear () # clears all current selections > invert () # inverts the current selection > hide () # hides selected nodes > unhide () # reveals everything hidden > deleteSelection () > destroy () # deletes the current graph > layout () # asks that the current layout be applied; actual > write.gml (filename) # save current graph to file > render () # applies all visual mapping ('vizmap') rules, see below > > --- vizmap rules: specify node and edge rendering, in which the specified > attribute controls visual appearance > > nodeLabel (graph, nodeAttributeName) > nodeFontSize (newSize) > nodeShape (graph, nodeAttributeName, keyValuePairs) > defaultNodeShape (graph, shape) > defaultNodeSize (graph, size) > nodeSize (graph, nodeAttributeName, keyValuePairs) > nodeColor (graph, nodeAttributeName, keyValuePairs) > nodeColorDiscrete (graph, nodeAttributeName, keyValuePairs) > defaultNodeColor (graph, color) > nodeBorderStyle (graph, nodeAttributeName, keyValuePairs) > defaultNodeBorderStyle (graph, style) > nodeBorderColor (graph, nodeAttributeName, keyValuePairs) > defaultNodeBorderColor (graph, color) > edgeColor (graph, edgeAttributeName, keyValuePairs) > edgeColorDiscrete (graph, edgeAttributeName, keyValuePairs) > defaultEdgeColor (graph, color) > edgeStyle (graph, edgeAttributeName, keyValuePairs) > defaultEdgeStyle (graph, style) > targetArrow (graph, edgeAttributeName, keyValuePairs) > defaultTargetArrow (graph, arrow) > sourceArrow (graph, edgeAttributeName, keyValuePairs) > defaultSourceArrow (graph, arrow) > > _______________________________________________ > Bioconductor mailing list > Bioconductor@stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor > Search the archives: > http://news.gmane.org/gmane.science.biology.informatics.conductor > [[alternative HTML version deleted]]

Login before adding your answer.

Traffic: 895 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6