2. Launching Cytoscape¶
Cytoscape is a Java application verified to run on the Linux, Windows, and Mac OS X platforms. Although not officially supported, other UNIX platforms such as Solaris or FreeBSD may run Cytoscape if Java version 8 is available for the platform.
2.1. System Requirements¶
The system requirements for Cytoscape depend on the size of the networks you want to load, view and manipulate.
Note that as of Cytoscape v3.2, networks are loaded faster and in less memory than with previous versions. While this is good news, networks created on v3.2 on a given memory configuration (e.g., 1GB) may not be loadable by prior Cytoscape versions on the same memory configuration.
|Small Network Visualization||Large Network Analysis/Visualization|
|Processor||1GHz||As fast as possible, with multiple cores|
|Graphics Card||Integrated video||High-end graphics card|
|Monitor||XGA (1024X768)||Wide or Dual Monitor|
Specific system requirements, limitations, and configuration options apply to each platform, as described in the Release Notes available on the http://cytoscape.org website.
2.2. Getting Started¶
Cytoscape requires Java 11.
- While Cytoscape versions prior to v3.2 run on Java 6, Oracle and other JVM suppliers have dropped Java 6 support. Consequently, Cytoscape v3.2 and later don’t support Java 6 either. With v3.3, we have also dropped support for Java 7 for the same reason, and with the release of Cytoscape v3.8 we have now dropped support for Java 8.
- We recommend a 64 bit Java Runtime Environment (JRE) such as OpenJDK 11.
For additional information, select the Release Notes button on the Cytoscape web site.
Downloading and Installing¶
There are a number of options for downloading and installing Cytoscape. See the download page at the http://cytoscape.org website for all options.
- Automatic installation packages exist for Windows, Mac OS X, and Linux platforms – best for most users.
- You can install Cytoscape from a compressed archive distribution.
- You can build Cytoscape from the source code. You can check out the latest and greatest software from our Git repository (https://github.com/cytoscape/cytoscape).
The easiest and most common way to install Cytoscape is by executing an automatic installation package downloaded from the Cytoscape web site. This will bring up a wizard that will lead you through the process, presenting choices for the installation directory, license agreement, file associations and privacy settings.
The installation process can be automated and made silent by executing the installation package with the “-q” command parameter (e.g., “Cytoscape_3_8_0-RC1_windows_64bit.exe -q”) from a command line or script. For this to succeed, your execution environment must already have sufficient privileges to install software (e.g., for Windows: administrator priveleges). With a “-q” parameter, the installation package will automatically choose all default settings.
More automation flexibility is available using other settings and pre-programmed response files, as described in Appendix A of the Install4j manual (http://resources.ej-technologies.com/install4j/help/doc/help.pdf).
Cytoscape installations (regardless of platform) containing the following files and directories:
|Directory / File||Description|
|p/Cytoscape_v3.3.0||Cytoscape program files, startup scripts, and default location for session files|
|p/Cytoscape_v3.3.0/Cytoscape.vmoptions||Cytoscape memory configuration settings|
|p/Cytoscape_v3.3.0/sampleData||Preset networks as described in the embedded README.txt file|
|p/Cytoscape_v3.3.0/framework||Cytoscape program files|
|p/Cytoscape_v3.3.0/apps||Cytoscape core app program files|
|u/CytoscapeConfiguration||Cytoscape properties and program cache files|
|u/CytoscapeConfiguration/cytoscape3.props||Cytoscape configuration settings|
p/ directory signifies the program directory, which varies from
platform to platform. For Cytoscape to work properly, all files should
be left in the directory in which they were unpacked. The core Cytoscape
application assumes this directory structure when looking for the
various libraries needed to run the application.
u/ directory signifies the user’s home directory, which varies
from user to user and from platform to platform. To change the user home
directory from the default, one can set the Java environment variable
user.home to the desired directory – this is useful when Cytoscape is
installed on a workstation, but the home directory is stored on a
central file server.
user.home can be set by adding the following
option to the Cytoscape.vmoptions file or the _JAVA_OPTIONS
environment variable, substituting the desired path as appropriate:
Your operating system may have other mechanisms for setting environment variables – see your operating system documentation for further details.
A quick note on upgrading your Cytoscape installation¶
If you have a previous Cytoscape installation you have two options:
- Starting with a clean slate. For this you should delete your
previous installation directory and the
CytoscapeConfigurationdirectory (see below for the location of this directory).
- Just keep what you have and simply pick a distinct, new directory
for installation. In the unlikely event that you should encounter
any problem, delete the
.propsfiles in your
CytoscapeConfigurationdirectory. If that doesn’t help try deleting the
CytoscapeConfigurationdirectory. This latter step will cause you to lose all of the apps that you have installed via the App Store, so only do that if you are having problems or if you don’t mind reinstalling your apps. The core apps will not be affected by this step.
Launch the Application¶
As with any application, launch Cytoscape by double-clicking on the icon
created by the installer, by running
cytoscape.sh from the command
line (Linux or Mac OS X) or by double-clickinging
cytoscape.bat or the
Program Launch icon (Windows).
After launching Cytoscape a window will appear that looks like this:
If your Cytoscape window does not resemble this, further configuration may be required. Consult the Release Notes available on the http://cytoscape.org website.
Note on Memory Consumption¶
For most regular users, Cytoscape will estimate and reserve the proper amount of memory. An incorrect estimate may result in Cytoscape hanging at startup or Cytoscape unable to load your network. Unless Cytoscape fails to start or open your network, it has likely estimated the available memory correctly, and you can continue to the Quick Tour. If Cytoscape misjudges the memory size or can’t allocate enough memory, it could be that you’re running with a 32 bit JRE and could get better results by installing a 64 bit JRE – see the Install Java section above.
When Cytoscape starts, it displays the current memory usage in the lower right corner of the main interface. You can click on the Memory button at any time to access an option to Free Unused Memory. While most users won’t need to use this option, it can be useful for users who have multiple large networks loaded.
Overall Memory Size for Cytoscape¶
By default, Cytoscape uses an estimate for initial and maximum memory allocation based on your operating system, system architecture (32 or 64 bit), and installed memory. You can change Cytoscape’s initial and/or maximum memory size by editing the Cytoscape.vmoptions file, which resides in the same directory as the Cytoscape executable. The file contains one option per line, with each line terminated by a linefeed, and an extra linefeed at the end of the file. Note that for the MacOS platform, the situation is slightly different – if you are launching Cytoscape by clicking on the Cytoscape icon, you must edit the …/Cytoscape.app/Contents/vmoptions.txt file instead. To access this in Finder, you will need to right-click the Cytoscape app icon and select “Show Package Contents”, which will display the Contents subdirectory that contains vmoptions.txt.
For example, if you want Cytoscape to initially allocate 2GB of memory and use up to a maximum of 4GB, edit the Cytoscape.vmoptions file to contain the following lines (… do not forget the linefeed at the end of each line, and an extra linefeed at the end of the file!):
There is one more option related to memory allocation. Some of the
functions in Cytoscape use larger stack space (a temporary memory for
some operations, such as layout). Since this value is set independently
from the values above, sometimes layout algorithms fail due to an out
of memory error. To avoid this, you can set a larger heap size for
Cytoscape tasks by using the taskStackSize option in the
cytoscape3.props file (located in the
directory). This can be edited within Cytoscape using the Preferences
Editor (Edit → Preferences → Properties…*) - look for taskStackSize. The
value should be specified in bytes.