Skip to main content

Tools for creating and working with network models of metabolism.

Project description

Welcome to MetworkPy

Metworkpy Logo

MetworkPy is a Python library containing tools for working with and analyzing metabolic networks. This functionality includes:

  • Generating network representations of Genome Scale Metabolic Networks (GSMMs)
  • Integrating gene expression data with GSMMs
  • Evaluating where the metabolism is most perturbed using divergence metrics

Documentation

Documentation can be found at https://metworkpy.readthedocs.io

Usage

MetworkPy can be installed with pip:

pip install metworkpy

The documentation includes some instructions for getting started. For an example of the usage of MetworkPy see the examples directory . For a more advanced example associated associated with the application note for MetworkPy (including some test data) see https://github.com/Ma-Lab-Seattle-Childrens-CGIDR/metworkpy_application_note.

Issues and Pull Requests

If you experience any problems while using MetworkPy (including the documentation), please create a GitHub issue in this repository. When creating an issue, a minimal reproducible example of the issue will make getting you help much easier. You can also create issues for any enhancements you would like to see in MetworkPy. Contributions are welcome! Please see the CONTRIBUTING.md for more information.

Licensing

This project makes use of the following external libraries:

The mutual information implementation where partially inspired by those found in the feature_selection module of scikit-learn, and the tests for those methods were adapted from those in scikit-learn, which is licensed under the BSD-3-Clause. Additionally, the implementation of the iMAT functionality was inspired by gembox (which uses a GPL-3.0-only license), and dexom-python (which uses the GPL-3.0-only license).

The permutation test implementation uses modified code from SciPy's stats module (licensed under the BSD-3-Clause, see above) for estimating the empirical p-value in line with Phipson, B., & Smyth, G. K. (2010).

The code for the centrality submodule is based on code from NetworkX (licensed under the BSD-3-Clause, see above) function closeness_centrality. Specifically,

  • closeness_centrality_subset is based on networkx.algorithms.centrality.closeness_centrality, modified to calculate the closeness only to a susbet of nodes
  • betweenness_centrality_subset is based on networkx.algorithms.centrality.betweenness_centrality_subset, modified to change the rescaling of the nodes to only be relative to the number of paths between the subset of nodes, not all nodes in the graph.
  • _rescale is modified from network.algorithms.centrality.betweenness_centrality_subset._rescale, modified for the changed rescaling of the betweenness_centrality_subset
  • _accumulate_subset is essentially unmodified from network.algorithms.centrality.betweenness_centrality_subset._accumulate_subset (included to avoid issues with later implementation changes in NetworkX).

References

iMAT References

  1. Shlomi T, et al. Network-based prediction of human tissue-specific metabolism, Nat. Biotechnol., 2008, vol. 26 (pg. 1003-1010)
  2. Hadas Zur, Eytan Ruppin, Tomer Shlomi, iMAT: an integrative metabolic analysis tool, Bioinformatics, Volume 26, Issue 24, December 2010, Pages 3140–3142, https://doi.org/10.1093/bioinformatics/btq602

Kullback-Leibler Divergence

  1. Q. Wang, S. R. Kulkarni and S. Verdu, "Divergence Estimation for Multidimensional Densities Via k-Nearest-Neighbor Distances," in IEEE Transactions on Information Theory, vol. 55, no. 5, pp. 2392-2405, May 2009, doi: 10.1109/TIT.2009.2016060.

Mutual Information

  1. Kraskov, A., Stögbauer, H., & Grassberger, P. (2004). Estimating mutual information. Physical Review E, 69(6), 066138.
  2. Ross, B. C. (2014). Mutual Information between Discrete and Continuous Data Sets. PLoS ONE, 9(2), e87357

Permutation Testing

  1. Phipson, B., & Smyth, G. K. (2010). Permutation p-values should never be zero: Calculating exact p-values when permutations are randomly drawn. Statistical Applications in Genetics and Molecular Biology, 9(1). https://doi.org/10.2202/1544-6115.1585

Sampling

  1. Galuzzi, B. G., Milazzo, L., & Damiani, C. (2024). Adjusting for false discoveries in constraint-based differential metabolic flux analysis. Journal of Biomedical Informatics, 150, 104597. https://doi.org/10.1016/j.jbi.2024.104597

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

metworkpy-0.9.0.tar.gz (227.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

metworkpy-0.9.0-py3-none-any.whl (153.8 kB view details)

Uploaded Python 3

File details

Details for the file metworkpy-0.9.0.tar.gz.

File metadata

  • Download URL: metworkpy-0.9.0.tar.gz
  • Upload date:
  • Size: 227.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for metworkpy-0.9.0.tar.gz
Algorithm Hash digest
SHA256 199b244c5976a844f8466fc217c57c1bdbc6a9e98ed2f33ebb8449236595f22c
MD5 01522295fea3f22ad48690e5637657b3
BLAKE2b-256 3d5bdee372c87755aa0d0c84bed4e9e78c2709df93a2d397b03d057363ed552b

See more details on using hashes here.

Provenance

The following attestation bundles were made for metworkpy-0.9.0.tar.gz:

Publisher: build_and_publish.yml on Ma-Lab-Seattle-Childrens-CGIDR/metworkpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file metworkpy-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: metworkpy-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 153.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for metworkpy-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da9d20f8ecaad50bc9727c6ada78c2b1e4bc4edb60b17edb789d38b9324dbc2e
MD5 c20b4ced3e3a0c456fafa762afebad43
BLAKE2b-256 de59ae517157742e0f50f10b7caf71c2981c9104fcdfb71c0b3df779c31d12c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for metworkpy-0.9.0-py3-none-any.whl:

Publisher: build_and_publish.yml on Ma-Lab-Seattle-Childrens-CGIDR/metworkpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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