Skip to content
Anastasia Baryshnikova edited this page Jan 11, 2018 · 10 revisions

SAFE (or Spatial Analysis of Functional Enrichment) is an automated network annotation algorithm. Given a biological network and a set of functional attributes (e.g., binary GO term annotations or quantitative node properties), SAFE performs local enrichment analysis to determine which regions of the network are over-represented for each attribute. In addition, SAFE visualizes the network and maps the detected enrichments onto the network using distinctive colors.

This repository hosts the Java implementation of SAFE, which can be installed as an app for Cytoscape 3.x. A MATLAB implementation, as well as a standalone Mac OS X application SAFE.app that does not require MATLAB, is available at https://bitbucket.org/abarysh/safe.

Installation

  • Download the latest JAR file for SAFE-Java from https://github.com/baryshnikova-lab/safe-java/releases/
  • Open Cytoscape.
  • Go to Apps > App Manager....
  • Under the Install Apps tab, click on Install from File... (bottom left corner of the window).
  • Select the downloaded JAR file and click Open.
  • The app should be automatically installed and appear under the Currently Installed tab.

Usage

  • Open an existing Cytoscape session or create a new one by loading a network.
  • Make sure that a network layout has been applied and/or that the nodes are positioned as intended (e.g., following a specific biological or topological property).
  • Open SAFE by going to Apps > SAFE.
  • Follow Steps 1 to 4 of the SAFE analysis (see examples).

A list of sample functional annotation files (including GO biological process annotations for S. cerevisiae) is available at https://github.com/baryshnikova-lab/safe-java/wiki/Sample-Data.

Example 1

Task: Annotate the S. cerevisiae genetic interaction similarity network (Costanzo~Boone, 2010) with GO biological process data.

  1. Download the Cytoscape session containing the Costanzo~Boone, 2010 network (see Network 1-i at https://github.com/baryshnikova-lab/safe-java/wiki/Sample-Data) and open it in Cytoscape.
  2. Download the GO biological process annotation file for S. cerevisiae
  3. Start the SAFE app.
  4. At Step 1, click on Choose and select the downloaded GO biological process annotation file. The Node Column field will be automatically updated and will show the network's node attribute that corresponds most closely to the 1st column of the annotation file (in this example, ORF). Underneath, the fraction of the network's nodes matching the annotation file (Network coverage: 92%) and the fraction of the annotation file matching the network (Annotation coverage: 44%) is shown.
  5. Leave all other settings at default values.
  6. Click Build.
  7. After a few seconds, SAFE will proceed to Step 2 to show the individual enrichment landscapes of all attributes (i.e., GO terms).
  8. To find a specific GO term, click on the column headers to sort the table by the term name or by the number of significantly enriched node neighborhoods. Alternatively, filter the GO terms by typing key terms in the search window.
  9. Select a GO term by clicking on its name (e.g., cell cycle process). The network nodes will be colored in shades of yellow corresponding to the enrichment of their neighborhoods: the brighter the color, the stronger the enrichment of a node's neighborhood for the GO term. To get a list of nodes that are significantly enriched for the GO term (p-value < 0.05 after multiple testing correction), click on Select Significant Nodes.
  10. At Step 3, leave all settings at default values and click Build.
  11. After a few seconds, SAFE will proceed to Step 4 to show the composite map produced by grouping the GO term enrichment landscapes into functional domains. To explore each domain individually, click on its name (e.g., membrane protein transport Golgi localization) and, if needed, click on Select Significant Nodes.
  12. To save the results of SAFE analysis, save the current Cytoscape session and/or click on Export Results to store the results in text format. For a description of output file formats, see https://bitbucket.org/abarysh/safe (section "Output file formats").

(more details and examples to follow)

Help

Please direct all questions/comments to Anastasia Baryshnikova (abaryshnnikova@calicolabs.com). The main repository for this code is at https://github.com/baryshnikova-lab/safe-java/. Please subscribe to the repository to receive live updates about new code releases and bug reports.

References

The manuscript describing SAFE and its applications is available at:

Baryshnikova, A. (2016). Systematic Functional Annotation and Visualization of Biological Networks. Cell Systems. http://doi.org/10.1016/j.cels.2016.04.014

Clone this wiki locally