===============================
NetColoc
===============================
.. image:: https://img.shields.io/pypi/v/netcoloc.svg
:target: https://pypi.python.org/pypi/netcoloc
.. image:: https://img.shields.io/travis/ceofy/netcoloc.svg
:target: https://travis-ci.org/ceofy/netcoloc
.. image:: https://readthedocs.org/projects/netcoloc/badge/?version=latest
:target: https://netcoloc.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.6654561.svg
:target: https://doi.org/10.5281/zenodo.6654561
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.
Documentation
-------------
For a quick-start on NetColoc's functionality, please see the
`example notebooks <https://github.com/ucsd-ccbb/NetColoc/tree/main/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:
.. note:: All of the following packages minus `DDOT <https://github.com/idekerlab/ddot>`__ and `cdapsutil <https://pypi.org/project/cdapsutil>`__ will be automatically installed via ``pip install netcoloc``
* `click <https://pypi.org/project/click>`__
* `matplotlib <https://pypi.org/project/matplotlib>`__
* `ndex2 <https://pypi.org/project/ndex2>`__
* `networkx <https://pypi.org/project/networkx>`__
* `numpy <https://pypi.org/project/numpy>`__
* `seaborn <https://pypi.org/project/seaborn>`__
* `tqdm <https://pypi.org/project/tqdm>`__
* `mygene >= 3.2.2 <https://pypi.org/project/mygene/>`__
* `scipy >= 1.5.3 <https://pypi.org/project/scipy/>`__
* `statsmodels <https://pypi.org/project/statsmodels/>`__
* `gprofiler-official >= 1.0.0 <https://pypi.org/project/gprofiler-official/>`__
* `ipywidgets <https://pypi.org/project/ipywidgets>`__
* `ipycytoscape <https://ipycytoscape.readthedocs.io/en/latest>`__
* `python3 branch of DDOT <https://github.com/idekerlab/ddot/tree/python3>`__
`DDOT <https://github.com/idekerlab/ddot>`__ can be installed one of
two ways:
1. To install `DDOT <https://github.com/idekerlab/ddot>`__ by downloading
the zip file of the source tree:
.. code-block::
wget https://github.com/idekerlab/ddot/archive/refs/heads/python3.zip
unzip python3.zip
cd ddot-python3
python setup.py bdist_wheel
pip install dist/ddot*py3*whl
2. To install `DDOT <https://github.com/idekerlab/ddot>`__ by cloning the repo:
.. code-block::
git clone --branch python3 https://github.com/idekerlab/ddot.git
cd ddot
python setup.py bdist_wheel
pip install dist/ddot*py3*whl
.. note::
Due to dependency issue DDOT, will not work with Python 3.10 or later
Additional requirements for full functionality of example notebook:
* `cdapsutil >= 0.2.0a1 <https://pypi.org/project/cdapsutil/>`__
Installation
--------------
NetColoc is available on `PyPI <https://pypi.org/>`__
::
pip install netcoloc
License
--------
* Free software: MIT license
Citing NetColoc
---------------
Coming soon...
Credits
-------
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
=======
History
=======
0.1.7 (2022-06-28)
--------------------
* Removed unused `network_localization.py` module
0.1.6 (2022-06-16)
--------------------
* `ipycytoscape <https://ipycytoscape.readthedocs.io/en/latest>`__ added as a dependency
* `ipywidgets <https://ipywidgets.readthedocs.io/en/latest>`__ 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 <https://ipycytoscape.readthedocs.io/en/latest>`__
* `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 <https://pypi.org/project/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.
Raw data
{
"_id": null,
"home_page": "https://github.com/ucsd-ccbb/netcoloc",
"name": "netcoloc",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "netcoloc",
"author": "Brin Rosenthal, Sophie Liu",
"author_email": "sbrosenthal@health.ucsd.edu, sol015@ucsd.edu",
"download_url": "https://files.pythonhosted.org/packages/ca/26/98093699c16f01e5511ccfb0186daefc2d3f03b8534d4e9d7c99767ece6f/netcoloc-0.1.7.tar.gz",
"platform": null,
"description": "===============================\nNetColoc\n===============================\n\n.. image:: https://img.shields.io/pypi/v/netcoloc.svg\n :target: https://pypi.python.org/pypi/netcoloc\n\n.. image:: https://img.shields.io/travis/ceofy/netcoloc.svg\n :target: https://travis-ci.org/ceofy/netcoloc\n\n.. image:: https://readthedocs.org/projects/netcoloc/badge/?version=latest\n :target: https://netcoloc.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.6654561.svg\n :target: https://doi.org/10.5281/zenodo.6654561\n\n\nDescription\n-----------\n\nHere we introduce NetColoc, a tool which evaluates the extent to\nwhich two gene sets are related in network space, i.e. the extent\nto which they are colocalized in a molecular interaction network,\nand interrogates the underlying biological pathways and processes\nusing multiscale community detection.\n\nThis framework may be applied to any number of scenarios in which\ngene sets have been associated with a phenotype or condition,\nincluding rare and common variants within the same disease,\ngenes associated with two comorbid diseases, genetically\ncorrelated GWAS phenotypes, GWAS across two different species,\nor gene expression changes after treatment with two different\ndrugs, to name a few.\n\nNetColoc relies on a dual network propagation\napproach to identify the region of network space which is\nsignificantly proximal to both input gene sets, and as such is\nhighly effective for small to medium input gene sets.\n\n\nDocumentation\n-------------\n\nFor a quick-start on NetColoc's functionality, please see the\n`example notebooks <https://github.com/ucsd-ccbb/NetColoc/tree/main/example_notebooks>`__. \n\n**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. \n\nDependencies\n--------------\n\nNetColoc requires the following python packages:\n\n.. note:: All of the following packages minus `DDOT <https://github.com/idekerlab/ddot>`__ and `cdapsutil <https://pypi.org/project/cdapsutil>`__ will be automatically installed via ``pip install netcoloc``\n\n* `click <https://pypi.org/project/click>`__\n* `matplotlib <https://pypi.org/project/matplotlib>`__\n* `ndex2 <https://pypi.org/project/ndex2>`__\n* `networkx <https://pypi.org/project/networkx>`__\n* `numpy <https://pypi.org/project/numpy>`__\n* `seaborn <https://pypi.org/project/seaborn>`__\n* `tqdm <https://pypi.org/project/tqdm>`__\n* `mygene >= 3.2.2 <https://pypi.org/project/mygene/>`__\n* `scipy >= 1.5.3 <https://pypi.org/project/scipy/>`__\n* `statsmodels <https://pypi.org/project/statsmodels/>`__\n* `gprofiler-official >= 1.0.0 <https://pypi.org/project/gprofiler-official/>`__\n* `ipywidgets <https://pypi.org/project/ipywidgets>`__\n* `ipycytoscape <https://ipycytoscape.readthedocs.io/en/latest>`__\n\n* `python3 branch of DDOT <https://github.com/idekerlab/ddot/tree/python3>`__\n\n `DDOT <https://github.com/idekerlab/ddot>`__ can be installed one of\n two ways:\n\n 1. To install `DDOT <https://github.com/idekerlab/ddot>`__ by downloading\n the zip file of the source tree:\n\n .. code-block::\n\n wget https://github.com/idekerlab/ddot/archive/refs/heads/python3.zip\n unzip python3.zip\n cd ddot-python3\n python setup.py bdist_wheel\n pip install dist/ddot*py3*whl\n\n 2. To install `DDOT <https://github.com/idekerlab/ddot>`__ by cloning the repo:\n\n .. code-block::\n\n git clone --branch python3 https://github.com/idekerlab/ddot.git\n cd ddot\n python setup.py bdist_wheel\n pip install dist/ddot*py3*whl\n\n .. note::\n Due to dependency issue DDOT, will not work with Python 3.10 or later\n\n\nAdditional requirements for full functionality of example notebook:\n\n* `cdapsutil >= 0.2.0a1 <https://pypi.org/project/cdapsutil/>`__\n\n\nInstallation\n--------------\n\nNetColoc is available on `PyPI <https://pypi.org/>`__\n\n::\n\n pip install netcoloc\n\nLicense\n--------\n\n* Free software: MIT license\n\nCiting NetColoc\n---------------\n\nComing soon...\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n=======\nHistory\n=======\n\n0.1.7 (2022-06-28)\n--------------------\n\n* Removed unused `network_localization.py` module\n\n0.1.6 (2022-06-16)\n--------------------\n\n* `ipycytoscape <https://ipycytoscape.readthedocs.io/en/latest>`__ added as a dependency\n\n* `ipywidgets <https://ipywidgets.readthedocs.io/en/latest>`__ added as a dependency\n\n* Added `network_colocalization.sweep_input_pvals()` to sweep p-values and scores\n\n* Added `network_colocalization.calculate_network_enrichment()` to sweep over z-score thresholds\n\n* `netprop.get_individual_heats_matrix()` can take a networkx `Graph` object and internally call\n `netprop.get_normalized_adjancency_matrix()`. Documentation updated in both methods to note\n that the resulting matrices can be saved via `numpy.save()` and retrieved via `numpy.load()`\n\n* `example_notebooks/ASD_CHD_NetColoc_analysis.ipynb` now visualizes hierarchy using\n `ipycytoscape <https://ipycytoscape.readthedocs.io/en/latest>`__\n\n* `example_notebooks/ASD_CHD_NetColoc_analysis.ipynb` updated with a note about using `numpy.save()`\n and `numpy.load()` to save and retrieve result from `netprop.get_individual_heats_matrix()`\n\n\n\n\n\n0.1.5 (2022-03-09)\n--------------------\n\n* Fixed divide by zero error seen when calculating cosine distance by updating `netprop.get_normalized_adjancency_matrix()`\n to properly normalize an adjacency matrix that is asymetric (UD-1863)\n\n0.1.4 (2021-08-31)\n--------------------\n\n* If import of DDOT package fails, only a warning message will be\n displayed unless user invokes ``netcoloc.validation.load_MPO()``\n in which case an ``ImportError`` is raised\n\n* Fixed bug where ``z1_threshold`` parameter was being passed to ``z2_threshold`` parameter in\n ``netcoloc.network_cololcalization.calcualte_network_overlap`` method called by ``netcoloc.network_colocalization.calculate_network_overlap_subgraph`` method\n\n0.1.3 (2021-08-18)\n--------------------\n\n* Added dependency `gprofiler-official <https://pypi.org/project/gprofiler-official>`__\n to ``setup.py`` and ``requirements.txt`` because this is used by\n ``network_colocalization.py``\n\n0.1.2 (2021-08-17)\n--------------------\n\n* Added new `validation.py` module containing mouse knockout database\n functionality\n\n0.1.1 (2021-08-06)\n-------------------\n\n* Fixed netcoloc imports in `netprop_zcore.py`\n\n\n0.1.0 (2021-03-10)\n------------------\n\n* First release on PyPI.\n\n\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "",
"version": "0.1.7",
"project_urls": {
"Homepage": "https://github.com/ucsd-ccbb/netcoloc"
},
"split_keywords": [
"netcoloc"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bba58cbffaab47318007ef8acb8270dabfd5c73e01a610c63a2d247e81c66e5b",
"md5": "0db91cf7ac5806a9b756337dab653586",
"sha256": "2984a933525cc10c3dadb1252c45d5d455eb9b06e2fdc1c33cb7b51850088261"
},
"downloads": -1,
"filename": "netcoloc-0.1.7-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "0db91cf7ac5806a9b756337dab653586",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 22760,
"upload_time": "2022-06-28T17:15:37",
"upload_time_iso_8601": "2022-06-28T17:15:37.291268Z",
"url": "https://files.pythonhosted.org/packages/bb/a5/8cbffaab47318007ef8acb8270dabfd5c73e01a610c63a2d247e81c66e5b/netcoloc-0.1.7-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ca2698093699c16f01e5511ccfb0186daefc2d3f03b8534d4e9d7c99767ece6f",
"md5": "823b80a0202a38f255d95592c65f1ce4",
"sha256": "79e2326af3c1bc6a33d92f50153bc19a97b920c367c37fbbb3b78adc5f92240a"
},
"downloads": -1,
"filename": "netcoloc-0.1.7.tar.gz",
"has_sig": false,
"md5_digest": "823b80a0202a38f255d95592c65f1ce4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 252578,
"upload_time": "2022-06-28T17:15:40",
"upload_time_iso_8601": "2022-06-28T17:15:40.390684Z",
"url": "https://files.pythonhosted.org/packages/ca/26/98093699c16f01e5511ccfb0186daefc2d3f03b8534d4e9d7c99767ece6f/netcoloc-0.1.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-06-28 17:15:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ucsd-ccbb",
"github_project": "netcoloc",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"requirements": [],
"tox": true,
"lcname": "netcoloc"
}