What is Cytoscape?

Cytoscape is an open source software platform for visualizing molecular interaction networks and biological pathways and integrating these networks with annotations, gene expression profiles and other state data. Although Cytoscape was originally designed for biological research, now it is a general platform for complex network analysis and visualization.   Cytoscape core distribution provides a basic set of features for data integration, analysis, and visualization.   Additional features are available as Apps (formerly called Plugins).   Apps are available for network and molecular profiling analyses, new layouts, additional file format support, scripting, and connection with databases.   They may be developed by anyone using the Cytoscape open API based on Java™ technology and App community development is encouraged. Most of the Apps are freely available from Cytoscape App Store.

Cytoscape Family

As of February 2014, there are three versions of Cytoscape: Cytoscape 2.x, Cytoscape 3.x, and cytoscape.js.

3.x is the whole new version of Cytoscape with modular architecture. It is designed for long-term maintainability and eventually it replaces 2.x series. New major features, including new user interfaces, headless (command-line) distribution, and multiple rendering engine support, will be released for this version. Currently, Cytoscape community is in the middle of transition from 2.x to 3.x. Core and third party App developers are working hard to port as much as 2.x features and Apps to 3.x series.

Cytoscape 2.x is a legacy version of Cytoscape. This version is in maintenance mode and new features will not be added by the core developers. If you need to use a specific plugin in your workflow, you may need to use this version.

cytoscape.js is a successor of Cytoscape Web. cytoscape.js is a JavaScript library for network visualization, NOT a complete web application. It shares some design-level concepts with Desktop (Java) version of Cytoscape, but code base is completely independent. It is designed to be a building block for complex data visualization web applications for the HTML5 era.

Which one is right for me?

  • Users, Casual Users, and Power Users: Use Cytoscape v3.x -- v2.x has been in the field for several years and will be supported into the future, but over time, v3.x and successors will be better supported. Use v2.x if you have used v2.x in the past and rely on a plugin not supported as a v3.x app in the App Store – keep checking the App Store for new arrivals.
  • App Developers: Please port your 2.x Apps to 3.x series. We recommend to use 3.x for new plugins development. 3.x API is stable enough to develop new Apps, but if you notice any design flaws or bugs, please let us know.
  • Web Application Developers: You can use cytoscape.js as network data visualization engine for your web application. It is a pure JavaScript library and no plugin is required for the web browsers. In the long term, this library and other server-side applications replaces Java Web Start version of Cytoscape.
Original visualization generated by Cytoscape 3
Same network in Cytoscape.js (touch me!)

Cytoscape Core Features

Supports Many Standards

Cytoscape supports a lot of standard network and annotation file formats including: SIF (Simple Interaction Format), GML, XGMML, BioPAX, PSI-MI, GraphML, KGML (KEGG XML), SBML, OBO, and Gene Association. Delimited text files and MS Excel™ Workbook are also supported and you can import data files, such as expression profiles or GO annotations, generated by other applications or spreadsheet programs. Using this feature, you can load and save arbitrary attributes on nodes, edges, and networks. For example, input a set of custom annotation terms for your proteins, create a set of confidence values for your protein-protein interactions.

Web Service Clients

Cytoscape works as a web service client. This means Cytoscape can directly connect to the external public databases and imports network and annotation data. Currently, Pathway Commons, IntAct, BioMart, and NCBI Entrez Gene are supported. And we continue to develop new service clients for popular databases.

Interoperability

Since Cytoscape supports import/export standard file formats, you can easily put Cytoscape into your workflow. For example, if you have a network data generated by igraph or Bioconductor, Cytoscape can load the file as a text table and you can export it in PSI-MI format for other bioinformatics tools or your own applications/scripts.

Session File

You can save your work by a single click. All of settings, data files, and visualizations are packed in a session file. It is called Cytoscape Session (.cys) file. Cytoscape Session file includes networks, attributes (for node/edge/network), Desktop states (selected/hidden nodes and edges, window sizes), Properties, some plugin states, and Visual Styles.

Layout

Layout networks in two dimensions.  A variety of layout algorithms are available, including cyclic, tree, force-directed, edge-weight, and yFiles Organic layouts. You can also use Manual Layout tools similar to other graphics application user interface.

Image Export

You can export networks as publishiable-quality images. Supports PDF, PS, SVG, PNG, JPEG, and BMP files. Vector images (PDF and PS) can be modified by other application such as Adobe Illustrator for further enhancements.

VizMapper

Customize network data display using powerful VisualStyles. View a superposition of gene expression ratios and p-values on the network.   Expression data can be mapped to node color, label, border thickness, or border color, etc. according to user-configurable colors and visualization schemes.

Browsing

Zoom in/out and pan for browsing the network. Use the network manager to easily organize multiple networks. And this structure can be saved in a session file. Use the bird's eye view to easily navigate large networks. Easily navigate large networks (100,000+ nodes and edges) by efficient rendering engine.

Search

Search target nodes and edges by Quick Find or Enhanced Search. Lucene Syntax is supported by Enhanced Search Plugin (ESP) for arbitrary complex queries.

Filter

Filter the network to select subsets of nodes and/or interactions based on the current data.  For instance, users may select nodes involved in a threshold number of interactions, nodes that share a particular GO annotation, or nodes whose gene expression levels change significantly in one or more conditions according to p-values loaded with the gene expression data. You can create new networks from the filtering result.

Find Modules/ Clusters

Find active subnetworks/pathway modules. The network is screened against gene expression data to identify connected sets of interactions, i.e. interaction subnetworks, whose genes show particularly high levels of differential expression.  The interactions contained in each subnetwork provide hypotheses for the regulatory and signaling interactions in control of the observed expression changes. Find clusters (highly interconnected regions) in any network loaded into Cytoscape. Depending on the type of network, clusters may mean different things. For instance, clusters in a protein-protein interaction network have been shown to be protein complexes and parts of pathways. Clusters in a protein similarity network represent protein families.

App Manager and App Store

Apps are available for network and molecular profile analysis. Cytoscape is a software written in Java and you can write your own App for data analysis, import, and visualization by writing Java code. More Apps are available at the Cytoscape App Store. You can install most of the Apps by just one click from App Manager, or directly install from the App Store (this is a Cytoscape 3 feature).

Multilingual

You can use your language for the data files. Most of the features in Cytoscape supports languages other than English, including Eastern Asian languages using two-byte characters.

History and Future

Cytoscape was initially made public in July, 2002 (v0.8); the second release (v0.9) was in November, 2002 and v1.0 was released in March 2003.  Version 1.1.1 is the last stable release for the 1.0 series.  Latest version of Cytoscape 2.x series is 2.8.3.

Cytoscape 3.0, the first release of more modularized, scalable version of Cytoscape, is now available for advanced users and App developers. For more information, please visit this page.