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 3 is the mainstream version of Cytoscape with modular architecture. It is designed for long-term maintainability and it replaced 2.x series. It is a Java desktop application designed for large-scale network analysis and visualization. New features, including new user interfaces, advanced visualization functions, headless (command-line) distribution, RESTful API, and multiple rendering engine support, will be released for this version. As of May 2016, transition from Cytoscape 2.x to 3.x is complete, and 2.x is no longer supported. If you really need to use Plugins only available for 2.x, you may use Cytoscape 2.8.3, but otherwise, please use the latest version of Cytoscape 3.x series.
Please read roadmap page for further information.
Cytoscape.js is a successor of Cytoscape Web. Cytoscape.js is a JavaScript library for network visualization and analysis, and is NOT a complete web application. Cytoscape 3 and cytoscape.js share design-level concepts, such as Visual Styles, but their code bases are completely independent to each other. It is designed to be a building block for complex data visualization web applications for the HTML5 era. The Cytoscape core developer team is trying to improve interoperability of Cytoscape 3 and Cytoscape.js. From Cytoscape 3.2, users can export network visualizations as interactive web application using Cytoscape.js.
Cytoscape 2.x is a legacy version of Cytoscape. This version is now desupported. New features will not be added by the core developers, and it may be hard to get answers to 2.x specific questions. Please do NOT use this version unless you really need to use plugins only for 2.x series.
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.
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.
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.
From version 3.3, Cytoscape supports RESTful API for programmatic access. You can use your choice of programming languages to access Cytoscape core features, such as creating networks, applying layouts, or image export.
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 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.
You can export networks as publishable-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.
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.
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.
Search target nodes and edges from Search window. Lucene Syntax is supported for arbitrary complex queries.
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.
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.
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).
Cytoscape 3 can generate a web application using Cytoscape.js from your Cytoscape session. In addtion, you can easily export your networks as JSON files, and share with your collaborators using external web application such as cyNetShare.
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.