NetCore is a network propagation approach based on node coreness, for phenotype- genotype associations and module identification. NetCore addresses the node degree bias in PPI networks by using node coreness in the random walk with restart procedure, and achieves better re-ranking of genes after propagation. Furthermore, NetCore implements a semi-supervised approach to identify network modules, which include both well-known genes together with new candidates.
NetCore's workflow cosists of three parts:
- Data initialization - includes the extraction of a high quality PPI network, data collection and extraction of aseed gene list from a manually curated database.
- Network propagation using node coreness.
- Module identification in a semi-supervised fashion combining both network propagation results and the seed gene list.
git clone https://github.molgen.mpg.de/barel/NetCore
The following software and packages are required for running NetCore:
- Linux/Unix
- Python (3.6 or 3.7)
- NumPy (1.16.3)
- SciPy (1.2.1)
- Pandas (0.24.2)
- matplotlib (3.1.1)
- seaborn (0.9.0)
- NetworkX (2.3)
After the directory was cloned, please run the following to install NetCore:
python setup.py install
It is also possible to run:
pip3 install NetCore
Explanation on how to run NetCore is avilable in the tutorial notebook
Example data for running NetCore is in the data subdirectory.
The CPDB PPI high confidence network [1] is provided as an edge list. The CPDB PPI network can be downloaded via ConsensusPathDB
GWAS data for Type II diabetes is provided from:
- The GWAS Catalog - all the gene associations were downloaded and the p-values were converted to weights using -log10.
- GWAS list - the genes in this list as known to be associated with Type II Diabetes and can be used as seed genes for NetCore's module identification.