In version 2.3, a function to save entire Cytoscape session will be added. The file will be called "<filename>.cys" (cys = CYtoscape Session). Basically, this is a zip file containing the following:
A timestamped directory will be created and files above will be stored in the dir. This function is implemented using JAXB.
How to use CytoscapeSessionReader class
Session file will be read through a class called CytoscapeSessionReader. This class has two types of constructor:
The first one is for local files and the second is mainly for remote files. The parametersource should be the location of the.cys file. For example, if plugin writer want to load a session file in a web server http://www.example.net/cytoscape/sample.cys, the code to call the reader will be:
On-demand Loader for Gene Ontology Server (tentative, 2.3 or 2.4)
It is not realistic to save entire biodataserver object to the session file. Also, loading entire Gene Ontology data into memory is not space-efficient. To avoid this problem, some sort of mechanism to load GO data only for loaded network files. This can be done with the following:
Prepare GO file in RDF-XML format (available here).
Save the GO server's location in CySession.xml or cytoscape.prop
- Create a checkbox "Load GO data for the network" in the "load network" dialog.
- Generate query to select annotation only for nodes to be loaded.
Execute query and store them drectry into CyAttributes or add it to BDS object
We need to refactor biodataserver class and add XQuery/SPARQL libraly to the Cytoscape. This method is universal to all data sources written in XML. I.e., if the database is available in XML format, we can query/load the data as a part of attributes in Cytoscape.
List of XML Technologies Related to This Topic
GaryBader - Jan.13.2006 - With the GO parser, we have some experience parsing RDF and Ethan has created a very lightweight class that he wrote to perform some basic Xquery like tasks. It was built for OWL, which is a layer on top of RDF, but it would probably still be useful. Jena is a large and slow library. We should try to avoid adding in large libraries if we only need a few features, since each library increases the size of the Cytoscape distribution and the download time of webstarts (webstarts will probably get more popular over time, especially when we make it easier to create them). Ethan's RDF parser is part of the BioPAX Plugin source code.
KeiichiroOno - Jan.19.2006 - Sounds great. I'll look into the Ethan's source code.