Skip to content

NarmadaSambaturu/EpiTracer

Repository files navigation

We develop an algorithm, EpiTracer, which identifies the key proteins, or epicenters, 
from which a large number of changes in the protein-protein interaction (PPI) network 
ripple out. We propose a new centrality measure, ripple centrality, which measures how 
effectively a change at a particular node can ripple across the network by identifying 
highest activity paths specific to the condition of interest, obtained by mapping gene 
expression profiles to the PPI network.

***************************************************************************************
PART I - Computing Epicenters
Usage
python2.7 get_epicenters.py control_network disease_network compute_cshan?(True/False) percentile_threshold(If True)

Input files
1. control_network
A tab delimited file with 3 columns (no headers)
Column 1 -> source of edge
Column 2 -> target of edge
Column 3 -> weight of edge

2. disease_network
Tab delimited file similar to control_network

3. compute_cshan? (True/False)
Give 'True' if you want the condition-specific highest activity network (CSHAN) to be computed.
If True, the CSHAN will be printed in files control_cshan.txt and disease_cshan.txt

4. percentile_threshold (floating point number)
If condition-specific highest activity network is to be computed, give the percentile threshold for path costs.

Output files
1. control_cshan.txt (If compute_cshan was given as 'True')
The network induced by the highest activity paths unique to the control condition.
This file is formatted similar to the control_network described above.

2. disease_cshan.txt (If compute_cshan was given as 'True')
The network induced by the highest activity paths unique to the disease condition.
Formatted similar to the control_network described above.

3. disease_specific_ranks.txt
All nodes in disease_cshan ranked according to their ripple centrality.
The top few can be considered as epicenters. In our paper we have taken the top 10.

4. common_ranks.txt
All nodes common to disease_cshan and control_cshan, ranked according to their ripple centrality.
The top few can be considered as epicenters.

***************************************************************************************

PART II: Extracting immediate influence zone and highlighting dysregulated genes

Command: python2.7 influence_zone_processing.py 
Input arguments
argv[1] = network from which to extract influence zone
argv[2] = nodes around which to extract influence zone (file)
argv[3] = node weights (file)
argv[4] = fold change (file)
argv[5] = control-specific highest activity network
argv[6] = disease-specific highest activity network
argv[7] = upstream limit
argv[8] = downstream limit
argv[9] = fold change limit

Input files
1. network from which to extract influence zone

2. nodes around which to extract influence zone (file)
List of epicenters

3. node weights (file)

4. fold change (file)

5. control-specific highest activity network 
control_cshan.txt file generated by get_epicenters.py

6. disease-specific highest activity network
disease_cshan.txt file generated by get_epicenters.py

7. upstream limit
Number of hops up from the epicenter used to generate the influence zone

8. downstream limit
Number of hops down from the epicenter used to generate the influence zone

9. fold change limit (floating point number)
Cutoff used in general is 2.0

Output file
1. <epicenter>_inf_zone.txt (One file per epicenter)
Immediate influence zone (edges) around each epicenter

2. <epicenter>_inf_zone_nodes.txt (One file per epicenter)
Node information of immediate influence zone for each epicenter

3. influence_zone_table.txt
The table similar to Table 1 in the paper

4. summary.txt
Summary statistics of each influence zone

***************************************************************************************
EpiTracer - an algorithm for identifying epicenters in condition-specific biological networks
PMID: 27556637 DOI: 10.1186/s12864-016-2792-1
If you find this code useful, please cite
Sambaturu, Narmada, Madhulika Mishra, and Nagasuma Chandra. "EpiTracer-an algorithm for identifying epicenters in condition-specific biological networks." BMC genomics 17.4 (2016): 543.

Narmada Sambaturu (narmada.sambaturu@gmail.com) (contact for code-related queries)
Madhulika Mishra (madhulika.m21@gmail.com) (contact for network-related queries)
Nagasuma Chandra (nchandra@iisc.ac.in) (corresponding author)
30/August/2016
* The protocol is being updated periodically

About

EpiTracer - an algorithm for identifying epicenters in condition-specific biological networks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages