-
Notifications
You must be signed in to change notification settings - Fork 3
Home
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.
- 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 onInstall 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.
- 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.
Task: Annotate the S. cerevisiae genetic interaction similarity network (Costanzo~Boone, 2010) with GO biological process data.
- Download the [Cytoscape session containing the Costanzo~Boone, 2010 network] (https://github.com/baryshnikova-lab/safe-java/blob/master/core/src/test/resources/Costanzo_Science_2010.cys) and open it in Cytoscape.
- Download the GO biological process annotation file for S. cerevisiae
- Start the SAFE app.
- At Step 1, click on
Choose
and select the downloaded GO biological process annotation file. TheNode 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. - Leave all other settings at default values.
- Click
Build
. - After a few seconds, SAFE will proceed to Step 2 to show the individual enrichment landscapes of all attributes (i.e., GO terms).
- 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.
- 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 onSelect Significant Nodes
. - At Step 3, leave all settings at default values and click
Build
. - 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 onSelect Significant Nodes
. - 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)
Please direct all questions/comments to Anastasia Baryshnikova (abarysh@princeton.edu). 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.
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