Skip to main content

Analyze network colocalization of gene sets

Project description

NetColoc

https://img.shields.io/pypi/v/netcoloc.svg https://app.travis-ci.com/ucsd-ccbb/NetColoc.svg?token=nGm2MDyYBLqUCSB4exJZ&branch=main Documentation Status https://zenodo.org/badge/DOI/10.5281/zenodo.6773330.svg

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)

  • obonet added as a dependency, replacing DDOT dependency

  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netcoloc-1.0.0a1.tar.gz (258.4 kB view details)

Uploaded Source

Built Distribution

netcoloc-1.0.0a1-py2.py3-none-any.whl (24.1 kB view details)

Uploaded Python 2 Python 3

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

Hashes for netcoloc-1.0.0a1.tar.gz
Algorithm Hash digest
SHA256 43d8129cf97b768efbc51f1b1f68c912dedc1e982eab48ceabfc40c856f77139
MD5 0b174607bf4d1e10303521c80bf4e051
BLAKE2b-256 c79f6d30bfa5fd3a28fff57a30296dabfc19f2c223dac0128bdea31c772b284f

See more details on using hashes here.

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

Hashes for netcoloc-1.0.0a1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 52e5fe75dd926e71218d38b78caa3f4eaeaa5e1a478ada21d80ea9a6359c498b
MD5 0720b91ba3cd8c85f2f8a96505a2814e
BLAKE2b-256 bafadb0175f45fb94617da71b06a832227d510a118e42356b10c15597dae7dac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page