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, it is now a general platform for complex network analysis and visualization.

Today Cytoscape is a family of complementary tools: Cytoscape Desktop, the full-featured application for in-depth analysis; Cytoscape Web, for network visualization and sharing directly in the browser; and Cytoscape.js, a JavaScript library for developers. These tools interoperate through standard formats and NDEx, the Network Data Exchange, for storing and sharing networks.

Additional features are available as Apps (formerly called Plugins) — 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 open Cytoscape API, and App community development is encouraged. Most of the Apps are freely available from the Cytoscape App Store.

The Cytoscape Ecosystem

Cytoscape is no longer a single application — it is a family of complementary tools that share design concepts and interoperate, so you can use the appropriate tool for each task and move networks between them.

  • Cytoscape Desktop — the desktop Java application for large-scale network analysis and visualization, extended by Apps.
  • Cytoscape Web — a browser-based application for visualizing, styling, and sharing networks, with no installation required.
  • Cytoscape.js — an open source JavaScript library for embedding network visualization and analysis in web applications.

These tools interoperate through standard exchange formats (such as CX2) and through NDEx, the Network Data Exchange, where networks can be stored, published, and shared.

Please read the roadmap page for further information.

Cytoscape Desktop

Cytoscape Desktop is the desktop edition of Cytoscape — a modular Java application designed for long-term maintainability and built for large-scale network analysis and visualization. It provides visual styling, filtering, layout algorithms, and image export. Functionality is extended by Apps, installable from the built-in App Store browser. For programmatic and reproducible workflows, it offers automation through the CyREST RESTful API and Commands, usable from Python, R, and Jupyter notebooks. A Model Context Protocol (MCP) app, installable from the App Store, lets large language models (LLMs) use Cytoscape as a tool, enabling AI-assisted network analysis. The 3.10 series adds table visual styles, a lasso selection tool, edge-label rotation, and native Apple-Silicon support.

Cytoscape Web

Cytoscape Web provides Cytoscape network visualization and analysis in the browser, with no installation required. Load networks from NDEx, the Network Data Exchange, or by importing tabular data, then explore them with data-driven visual styling and share them online with collaborators. Cytoscape Web exchanges networks with Cytoscape Desktop through the CX2 format. It is extensible through a native app interface that lets developers add functionality with apps written in the React framework, as well as Service Apps for server-side algorithms that can be implemented in any programming language. Cytoscape Web is built on Cytoscape.js. For details, see the Nucleic Acids Research paper, "Cytoscape Web: bringing network biology to the browser."

Cytoscape.js

Cytoscape.js is an open source JavaScript library for network visualization and analysis — a building block for web applications, not a complete application on its own. It is the rendering engine used by Cytoscape Web. Cytoscape.js shares design concepts such as Visual Styles with Cytoscape Desktop while keeping an independent codebase, and it is used to build data-visualization web applications.

This background is rendered by Cytoscape.js

Which one is right for me?

  • Users, casual users, power users, and Cytoscape App developers: Both Cytoscape Desktop and Cytoscape Web are complete applications that support community-developed Apps. Choose Cytoscape Desktop for in-depth analysis of very large networks and computationally intensive tasks; choose Cytoscape Web to visualize, style, and share networks in the browser with no installation — best suited to small and medium networks (up to ~100,000 elements), since a browser tab has limited memory and computational power.
  • Developers building their own applications: Use Cytoscape.js — a JavaScript library, not a complete application — to embed network visualization and analysis directly in your own web applications.

Cytoscape Desktop 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.

Public Database 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.

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.

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 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.

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.

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.

Search

Search target nodes and edges from Search window. Lucene Syntax is supported for arbitrary complex queries.

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.

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).

Export to Web

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.

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.