Analyze network colocalization of gene sets
Project description
NetColoc
Description
Here we introduce NetColoc, a tool which evaluates the extent to which two gene sets are related in network space, i.e. the extent to which they are colocalized in a molecular interaction network, and interrogates the underlying biological pathways and processes using multiscale community detection.
This framework may be applied to any number of scenarios in which gene sets have been associated with a phenotype or condition, including rare and common variants within the same disease, genes associated with two comorbid diseases, genetically correlated GWAS phenotypes, GWAS across two different species, or gene expression changes after treatment with two different drugs, to name a few.
NetColoc relies on a dual network propagation approach to identify the region of network space which is significantly proximal to both input gene sets, and as such is highly effective for small to medium input gene sets.
Installation
NetColoc is available on PyPI
pip install netcoloc
Version Notes
Prior version netcoloc v0.1.6 was utilized in the NetColoc publication: Rosenthal, S. B. et al., “Mapping the common gene networks that underlie related diseases.” Nature Protocols (2023). To install this version, please use the following command:
pip install netcoloc==0.1.6
And follow the additional installation instructions at https://pypi.org/project/netcoloc/0.1.6/.
The original source code and example notebooks can be acquired from Zenodo: DOI:6654561, or from GitHub:
git clone git@github.com:ucsd-ccbb/NetColoc.git git checkout -b v0.1.6 tags/v0.1.6
Documentation
For a quick-start on NetColoc’s functionality, please see the example notebooks.
Usage Note: Please follow steps in example notebooks for correct usage of NetColoc. At this time, individual functionalities have not been tested for independent use.
Dependencies
NetColoc requires the following python packages (automatically installed via pip install netcoloc)
License
Free software: MIT license
Citing NetColoc
Rosenthal, Sara Brin, Sarah N. Wright, Sophie Liu, Christopher Churas, Daisy Chilin-Fuentes, Chi-Hua Chen, Kathleen M. Fisch, Dexter Pratt, Jason F. Kreisberg, and Trey Ideker. “Mapping the common gene networks that underlie related diseases.” Nature protocols (2023): 1-15. https://doi.org/10.1038/s41596-022-00797-1
Other publications utilizing NetColoc:
Rosenthal, S. B. et al. A convergent molecular network underlying autism and congenital heart disease. Cell Syst. 12, 1094-1107.e6 (2021). 10.1016/j.cels.2021.07.009
Wright, S. N. et al. Genome-wide association studies of human and rat BMI converge on synapse, epigenome, and hormone signaling networks. Cell Rep. 42, 112873 (2023). 10.1016/j.celrep.2023.112873
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
1.0.0 (2024-10-10)
cdapsutil added as a dependency
network_colocalization updated for compatability with pandas>=2.0
validation updated for compatability with obonet. Added validation.focus_ontology() to replace ddot.Ontology.focus() functionality, and validation.find_related_terms() and validation.get_MP_description() for analyzing Mammalian Phenotype Ontology terms.
example_notebooks updated for compatibility with pandas>=2.0 and obonet
requirements_dev.txt updated for python=3.13
0.1.7 (2022-06-28)
Removed unused network_localization.py module
0.1.6 (2022-06-16)
ipycytoscape added as a dependency
ipywidgets added as a dependency
Added network_colocalization.sweep_input_pvals() to sweep p-values and scores
Added network_colocalization.calculate_network_enrichment() to sweep over z-score thresholds
netprop.get_individual_heats_matrix() can take a networkx Graph object and internally call netprop.get_normalized_adjancency_matrix(). Documentation updated in both methods to note that the resulting matrices can be saved via numpy.save() and retrieved via numpy.load()
example_notebooks/ASD_CHD_NetColoc_analysis.ipynb now visualizes hierarchy using ipycytoscape
example_notebooks/ASD_CHD_NetColoc_analysis.ipynb updated with a note about using numpy.save() and numpy.load() to save and retrieve result from netprop.get_individual_heats_matrix()
0.1.5 (2022-03-09)
Fixed divide by zero error seen when calculating cosine distance by updating netprop.get_normalized_adjancency_matrix() to properly normalize an adjacency matrix that is asymetric (UD-1863)
0.1.4 (2021-08-31)
If import of DDOT package fails, only a warning message will be displayed unless user invokes netcoloc.validation.load_MPO() in which case an ImportError is raised
Fixed bug where z1_threshold parameter was being passed to z2_threshold parameter in netcoloc.network_cololcalization.calcualte_network_overlap method called by netcoloc.network_colocalization.calculate_network_overlap_subgraph method
0.1.3 (2021-08-18)
Added dependency gprofiler-official to setup.py and requirements.txt because this is used by network_colocalization.py
0.1.2 (2021-08-17)
Added new validation.py module containing mouse knockout database functionality
0.1.1 (2021-08-06)
Fixed netcoloc imports in netprop_zcore.py
0.1.0 (2021-03-10)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file netcoloc-1.0.0a1.tar.gz
.
File metadata
- Download URL: netcoloc-1.0.0a1.tar.gz
- Upload date:
- Size: 258.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.20 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43d8129cf97b768efbc51f1b1f68c912dedc1e982eab48ceabfc40c856f77139 |
|
MD5 | 0b174607bf4d1e10303521c80bf4e051 |
|
BLAKE2b-256 | c79f6d30bfa5fd3a28fff57a30296dabfc19f2c223dac0128bdea31c772b284f |
File details
Details for the file netcoloc-1.0.0a1-py2.py3-none-any.whl
.
File metadata
- Download URL: netcoloc-1.0.0a1-py2.py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.20 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52e5fe75dd926e71218d38b78caa3f4eaeaa5e1a478ada21d80ea9a6359c498b |
|
MD5 | 0720b91ba3cd8c85f2f8a96505a2814e |
|
BLAKE2b-256 | bafadb0175f45fb94617da71b06a832227d510a118e42356b10c15597dae7dac |