Skip to main content

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

Metadata

Release files for metworkpy 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for metworkpy 0.10.0
File Size Uploaded
metworkpy-0.10.0.tar.gz 234.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for metworkpy 0.10.0
File Interpreter ABI Platform
metworkpy-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 394.6 kB

Release files / metworkpy-0.10.0.tar.gz

Download URL metworkpy-0.10.0.tar.gz
Size 234.8 kB
Tags Source
SHA-256 checksum
How to use checksums
da8256f4e339be9c42308f5ec53057f2c77f22115d7f898c933bcbb67f9c92e4
BLAKE2b-256 checksum
How to use checksums
38a482be85dfccd57a5f107a4feaaa5cc5c475933c63c414f80895d11080e71a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Release files / metworkpy-0.10.0-py3-none-any.whl

Download URL metworkpy-0.10.0-py3-none-any.whl
Size 159.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
39fca16af671f4f27c2f464a7143291fd6aac31a6839a55c20905931528a1d07
BLAKE2b-256 checksum
How to use checksums
661cf35024b702b174c5dda9b38440f3b18e257e4aa864dde5d92bb4f91d7471
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Release history Release notifications | RSS feed

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

This release

0.10.0 This release

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.29

2 release files

0.1.28

2 release files

0.1.26

2 release files

0.1.25

2 release files

0.1.24

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page