Cytoscape Product Roadmap

Introduction

Cytoscape was initially released in 2002, and has undergone numerous development sprints. The most recent major sprint ended in 2014 with the release of Cytoscape v3, which refactored major internal data models and greatly improved support for third party plugin applications (via the App Store, semantic versioning disciplines, published APIs, and code management via OSGi).

Since v3, we have focused on addressing outstanding bugs and upgrading a number of user-facing features, including visual styles (VizMapper), fast node filtering, network capacity, and overall speed and UI consistency. The Cytoscape app developer community has upgraded a number of v2 plugins into v3 apps, and has contributed a steady stream of new apps (apps.cytoscape.org).

As of late 2016, our efforts have been rewarded, as Cytoscape has become more popular than ever – 17,000 downloads per month worldwide.

This page explains our roadmap for future deliveries and activities. Feel free to contribute to this discussion via e-mail at cytoscape-helpdesk@googlegroups.com.

Cytoscape is going down a number of roads simultaneously:

  • Cytoscape Desktop
  • Cytoscape Cyberinfrastructure
  • Cytoscape Community Outreach

For now, this page describes the Cytoscape Desktop (aka Cytoscape) roadmap.

Vision: Cytoscape Core and Core Apps

Before v3.3, we viewed Cytoscape as consisting of the Cytoscape Core as augmented by the Cytoscape Apps. As of v3.3, we have created a middle ground: the Cytoscape Core Apps. The Core is the code that organizes, displays, reads, and writes networks but is agnostic as to network meaning or use – the Core does not contain biology-related functionality. Cytoscape Core Apps are installable modules that perform non-Core functions but are still integral to most Cytoscape usage (e.g., network biology).

Fig. 1: Cytoscape Desktop

To date, a Cytoscape release has consisted of the Core + Core Apps (Fig. 1). Beginning in v3.3, the Core Apps are available individually in the App Store, though they are all installed with the Core when Cytoscape is installed. However, unlike previous Cytoscape versions, Core Apps are upgradable without releasing all of Cytoscape. (For example, bugs can be fixed or features can be added to the Network Merge at any time.) This enables the Cytoscape team to upgrade specific features much more quickly than in the past. Additionally, because the Core is much smaller, too, Cytoscape Desktop itself can be released more frequently, too.

A close cousin to Core Apps is the App Store concept of Collections, which are bundles of apps that apply to a particular workflow. Installing a Collection causes the installation of all apps in the Collection. From time to time, we will add new Collections or add to existing Collections.

Vision: Key Workflows

A top priority for Cytoscape development is to enable efficient execution of new and existing key workflows, including:

  • Cytoscape Main (core network analysis)
  • Functional enrichment analysis
  • Network analysis of proteomics data
  • Pathway analysis of gene expression data

Functionality that implements the Core Apps feature is used to enable the user to customize Cytoscape quickly and easily to implement various workflows. Using a Collection (i.e., an app that represents multiple apps), the user can install all apps needed to execute the Functional Enrichment workflow.

Vision: Themes and Features

ReleaseDateThemesFeatures

3.6

November 2017
  • Database interoperability
  • Service support
  • Cytoscape self-maintenance
  • Network-based sharing
  • Workflow support
  • Improved access to NDEx network repository
  • Log and user experience tracking
  • Improved Cytoscape and app updating
  • Publish network directly to web.cytoscape.org
  • Improved cyREST coverage
  • HTML/Javascript-based panels
  • Streamlined startup workflow

3.7

Mid 2018
  • Larger networks (both nodes and edges)
  • Headless mode
  • New renderer w/GPU support
  • Automation w/o visual display

Policies and Practices

Consequently, we have the following policies, subject to periodic change:

P1: Past releases of Cytoscape Desktop have been made roughly every 12 months, with minor releases for bug fixes and minor features occurring every 3-6 months. Beginning with v3.3, a new version of Cytoscape Desktop is released every six months (~April 15 and ~November 15), with updates of Core Apps to the App Store on an as-needed basis.

P2: A high risk Core feature (which could substantially affect overall usability or which are impossible to definitively verify) must be built into the Core eight weeks before the Core is released, or the feature will be carried over to the next Core release.

P3: Other features must be built into the Core five weeks before Core release.

P4: Bug fixes may be performed (with proper review) up to ten days before Core release.

P5: An external API must be frozen, documented, and with preliminary implementations eight weeks before the Core is released, or the API will be carried over to the next Core release.

P6: Milestone builds are created and made available to the user and app developer community eight weeks, five weeks, and ten days before a Core release. If bugs need to be fixed, features need to be withdrawn before the release, or developers see a good reason, additional milestone builds are created.

P7: Milestone builds (including nightly builds) are made available via a developer Download page on the Cytoscape web site.

P8: Emerging API definitions (or references to definitions) are posted on the developer Download page, too.

P9: A preliminary feature list is published five months prior to a Core release, and is updated periodically until ten days before a Core release, at which time it is frozen.

P10: Notably, Cytoscape has expanded beyond its role as a desktop application by also exposing Cytoscape functionality to external control via automation features (also known as Cytoscape as a Service). Feature and workflow testing is performed to a large degree through external scripting (e.g., PyUnit tests driven by Python).

Note that core apps are considered to be part of the Cytoscape core, and are subject to the same Q/A process as core code. Particularly, the interaction of P4 with core apps means that changes to core apps intended for immediate deployment must undergo review as if they were last minute changes to the core itself. Core apps will be deployed to the app store by core developers.

Tentative Development Calendar

Vision: Integration with Cytoscape Cyberinfrastructure

As a member of the Cytoscape Cyberinfrastructure (CI), Cytoscape exchanges networks with a number of CI services, including NDEx and viewers based on cytoscape.js.

One long term vision is to tightly integrate Cytoscape and NDEx so that users naturally load and store their networks using the NDEx service. This enables seamless sharing of networks between Cytoscape and other CI services (e.g., Network Based Stratification), and with other users and publishers. Upon startup, Cytoscape will enumerate the NDEx networks best suited for the user’s use, including networks previously saved by the user and/or the user’s NDEx-based groups, networks pertinent to the user’s interest (e.g., by species, curation properties, etc), or other networks proposed by a recommendation engine. Cytoscape and NDEx will cooperate to make sampling of networks nearly costless so as to encourage exploration (e.g., by caching and displaying network layouts and statistics). Finally, once selected, Cytoscape and NDEx will cooperate to make network loads fast enough that users can remain on task. This vision will initially be realized by a new Core App that replaces the Welcome screen with a panel (a sibling of Network and Select panels) that presents NDEx networks and serves as a jumping off point for workflow execution.

Cytoscape currently exports a network as a file that can be used as supplemental material for a journal article. A journal publisher’s online article viewer is free to display the network in an interactive viewer, which allows the user to zoom into the network and move nodes. In our vision, advanced viewers may perform lookups on selected nodes and show the results in windows, perform new layouts and network analysis/clustering, and export the network to NDEx for integration with Cytoscape and other services – the network would be furnished to the publisher via NDEx directly from Cytoscape instead as a file in supplementary data. Currently, Elsevier offers a simple viewer that accepts a network file and allows zooming and node movement:

The ScienceDirect app makes it very easy for a Cytoscape user to generate supplemental material containing a Cytoscape network, as shown in this movie:

Release History

VersionRelease DateFeatures
0.8 Jul 2002
0.9 Nov 2002
1.0 Mar 2003
1.1 May 2003
2.0 07/22/2004
2.1 05/25/2005
2.2 12/06/2005
2.3 06/23/2006
2.3.1 07/19/2006
2.3.2 09/01/2006
2.4.0 01/16/2007
2.4.1 04/25/2007
2.5.0 07/23/2007
2.5.1 08/31/2007
2.5.2 02/01/2008
2.6.0 05/15/2008
2.6.1 09/17/2008
2.6.2 02/24/2009
2.6.3 06/25/2009

R01 Award (Initial)

2.7.0 04/27/2010
Data Structure
  • Nested Networks
Visualization
  • New edge types
  • Automatic label wrap
  • Arrow color optionally locked to edge color
  • Nested Network visualization
UI
  • Newlines and list editing in attribute browser
I/O
  • BioPAX Level 3 Support
2.8.0 12/2/2010
Plugin
  • Incorporate Network Analyzer plugin into standard Cytoscape release
Visualization
  • Custom graphics applied to nodes
Analysis
  • Dynamic Filters
UI
  • Spreadsheet-like equations in the attribute browser for working with attributes
Other
  • Support for Java SE 6
2.8.1 02/18/2011
Visualization
  • Improved viz support for node Groups
Plugins
  • Load plugins from local file
I/O
  • Improved XGMML Reader
UI
  • Select All Attribute button added to Table Browser
2.8.2 08/26/2011
UI
  • New Gradient editor in VizMapper
  • Error log console for users
  • Improved CytoPanels
Other
  • Improved memory allocation
2.8.3 05/04/2012
UI
  • Better support for Mac platform without three button mouse
Plugins
  • Reorganized plugin categories/li>
3.0 02/04/2013
Architecture
  • Completely re-designed API
  • Clear separation between views and data models
  • OSGi framework
Attributes
  • New Data Table model for network-local data support
Visualization
  • Edge Bundling
  • Internal support for multiple views of a network model
  • Pluggable rendering engines
Plugins
  • New plugin architecture
  • Ported plugins from 2.x
  • Integration with new Cytoscape App Store
Other
  • Prototype headless mode (command-line Cytoscape application)
  • Performance tuning for network visualization
3.0.1 04/22/2013
UI
  • Reorganized user interface

R01 Award (Renewal)

3.0.2 07/30/2013
UI
  • Reorganized user interface
3.1 02/13/2014
I/O
  • Fast PSICQUIC download and merging
Workflow
  • Fast filter execution - O(n) instead of O(kn)
  • Welcome screen improvements w/D. rerio and E. coli presets
3.1.1 05/27/2014
Workflow
  • Improved network and attribute imports for Excel, CSV, and TXT files
3.2 11/07/2014
Workflow
  • Refactored/optimized visual attribute mapper interface
  • Faster startup, session load, and network merge
Virtualization
  • Ability to show nodes as dynamic charts
Automation
  • RESTful interface enables “Cytoscape as a Service”
Other
  • Higher capacity for large graphs (both memory and draw speed)
Sharing
  • Export graph as a fully packaged web site ready for a web server
  • CyNetShare web-based network viewer
3.2.1 02/11/2015
Other
  • Java 8 support
3.3 11/25/2015
Workflow
  • Network Analyzer is more than 1000x faster
  • Filtering based on properties of adjacent nodes
  • Improved/optimized network and table file importer
  • GPU support for Prefuse layouts (100x faster)
  • New GPU-based graph render (100K nodes in 1/40 second)
Visualization
  • Improvements in Group settings & visualization
  • Default network layout is now force directed
UI
  • Aesthetic and consistency improvements in many dialogs
Architecture
  • Core functions repackaged as apps for frequent improvement
  • Automatic new version alerts for installed apps
  • cyREST as core app delivered with Cytoscape
3.4 05/13/2016
UI
  • Modern window manager enables use of multiple monitors
  • Web-based user manual with improved formatting
Architecture
  • Support for app collections
  • Long running task API
Sharing
  • Support for interactive networks in Elsevier journals
3.5 3/24/2017
Workflow
  • Symbol translation using BridgeDB
  • Drag/drop for network and table files
  • Restored BioMart functionality
Sharing
  • Integration with NDEx network sharing database
  • Added web.cytoscape.org for network sharing
  • Improved/optimized Export dialogs
Visualization
  • CoSE Layout (for compound nodes)
3.5.1 4/26/2017
Bug fixes
  • Malfunctioning slider control
  • Misdirected link in toolbar help icon
  • Search bar missed common words