# Enumeration and sampling of minimal pathways in metabolic (sub)networks
Minimal pathways (MPs) are minimal sets of reactions that need to be active (have non-zero flux) in a metabolic (sub)network to satisfy all constraints on the network as a whole [1]. They can also be defined as the set of *support-minimal* flux patterns from elementary flux vectors (EFVs) [2].
An MP can be found by direct minimization of a mixed-integer linear program (MILP) or by iterative minimization of multiple linear programs (LPs). Enumeration of MPs is implemented using both of these approaches, in the iterative case by computing minimal cut sets (MCSs) in a separate binary integer program (BIP) [3]. For iterative minimzation, enumeration can be accelerated by using a graph defined by the known MPs to predict unknown MPs, or it can be randomized to allow random sampling of MPs in cases where complete enumeration is inconvenient or infeasible.
## Installation
The minimal requirements (`cobra`, `gurobipy`, `networkx`, `numpy`, and `pytest`) are installed automatically when `mptool` is installed through pip:
```
pip install mptool
```
The [Gurobi Optimizer](https://www.gurobi.com/) (tested with versions ≥9.0.1)) needs to be installed separately (free academic licenses).
## Citation
If you use `mptool` for a scientific publication please cite [our paper](https://www.biorxiv.org/content/10.1101/2020.07.31.230177v2) [1].
## References
[1] O. Øyås and J. Stelling. "Scalable metabolic pathway analysis". *biorXiv* (2020).
[2] S. Klamt et al. "From elementary flux modes to elementary flux vectors: Metabolic pathway analysis with arbitrary linear flux constraints". *PLoS Computational Biology* 13.4 (2017).
[3] H.S. Song et al. "Sequential computation of elementary modes and minimal cut sets in genome-scale metabolic networks using alternate integer linear programming". *Bioinformatics* 33.15 (2017).
[4] Z.A. King et al. "BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models" *Nucleic Acids Research* 44.D1 (2016).
[5] A. Noronha et al. "The Virtual Metabolic Human database: integrating human and gut microbiome metabolism with nutrition and disease" *Nucleic Acids Research* 47.D1 (2018).
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/csb.ethz/mptool",
"name": "mptool",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3",
"maintainer_email": null,
"keywords": "metabolism, metabolic networks, metabolic pathways, minimal pathways, pathway analysis, pathway enumeration, pathway sampling, constraint-based modeling, metabolic modeling, systems biology",
"author": "Ove \u00d8y\u00e5s",
"author_email": "ove.oyas@nmbu.no",
"download_url": "https://files.pythonhosted.org/packages/ac/fc/62f278218926f217875ae61bc379d3d4a116f5d7a9a56e9892b34127b130/mptool-0.1.3.tar.gz",
"platform": null,
"description": "# Enumeration and sampling of minimal pathways in metabolic (sub)networks\n\nMinimal pathways (MPs) are minimal sets of reactions that need to be active (have non-zero flux) in a metabolic (sub)network to satisfy all constraints on the network as a whole [1]. They can also be defined as the set of *support-minimal* flux patterns from elementary flux vectors (EFVs) [2].\n\nAn MP can be found by direct minimization of a mixed-integer linear program (MILP) or by iterative minimization of multiple linear programs (LPs). Enumeration of MPs is implemented using both of these approaches, in the iterative case by computing minimal cut sets (MCSs) in a separate binary integer program (BIP) [3]. For iterative minimzation, enumeration can be accelerated by using a graph defined by the known MPs to predict unknown MPs, or it can be randomized to allow random sampling of MPs in cases where complete enumeration is inconvenient or infeasible.\n\n## Installation\n\n\nThe minimal requirements (`cobra`, `gurobipy`, `networkx`, `numpy`, and `pytest`) are installed automatically when `mptool` is installed through pip:\n```\npip install mptool\n```\nThe [Gurobi Optimizer](https://www.gurobi.com/) (tested with versions \u22659.0.1)) needs to be installed separately (free academic licenses).\n\n## Citation\n\nIf you use `mptool` for a scientific publication please cite [our paper](https://www.biorxiv.org/content/10.1101/2020.07.31.230177v2) [1].\n\n## References\n\n[1] O. \u00d8y\u00e5s and J. Stelling. \"Scalable metabolic pathway analysis\". *biorXiv* (2020).\n\n[2] S. Klamt et al. \"From elementary flux modes to elementary flux vectors: Metabolic pathway analysis with arbitrary linear flux constraints\". *PLoS Computational Biology* 13.4 (2017).\n\n[3] H.S. Song et al. \"Sequential computation of elementary modes and minimal cut sets in genome-scale metabolic networks using alternate integer linear programming\". *Bioinformatics* 33.15 (2017).\n\n[4] Z.A. King et al. \"BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models\" *Nucleic Acids Research* 44.D1 (2016).\n\n[5] A. Noronha et al. \"The Virtual Metabolic Human database: integrating human and gut microbiome metabolism with nutrition and disease\" *Nucleic Acids Research* 47.D1 (2018).\n",
"bugtrack_url": null,
"license": null,
"summary": "Enumeration and sampling of minimal pathways in metabolic (sub)networks.",
"version": "0.1.3",
"project_urls": {
"Bug Tracker": "https://gitlab.com/csb.ethz/mptool/-/issues",
"Homepage": "https://gitlab.com/csb.ethz/mptool",
"Source": "https://gitlab.com/csb.ethz/mptool"
},
"split_keywords": [
"metabolism",
" metabolic networks",
" metabolic pathways",
" minimal pathways",
" pathway analysis",
" pathway enumeration",
" pathway sampling",
" constraint-based modeling",
" metabolic modeling",
" systems biology"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "afe8ae3f8fcddb6d2ffdb7f9aec46a4e6d00a1bc7f8a825893a0bb9ae8d35137",
"md5": "390eb3e8f4ff006e280e4bb581b023e1",
"sha256": "f36a00ce706d3c134962c8778c50d715bd5101934035ca38b7181dc460e77976"
},
"downloads": -1,
"filename": "mptool-0.1.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "390eb3e8f4ff006e280e4bb581b023e1",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3",
"size": 11275,
"upload_time": "2024-09-26T13:42:28",
"upload_time_iso_8601": "2024-09-26T13:42:28.316366Z",
"url": "https://files.pythonhosted.org/packages/af/e8/ae3f8fcddb6d2ffdb7f9aec46a4e6d00a1bc7f8a825893a0bb9ae8d35137/mptool-0.1.3-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "acfc62f278218926f217875ae61bc379d3d4a116f5d7a9a56e9892b34127b130",
"md5": "3b18b22321e70268521c87329fddf4e9",
"sha256": "dda8dd522feaf073190aa9c463c74fd8c7d40a422f3ec3818ce2f96f254de659"
},
"downloads": -1,
"filename": "mptool-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "3b18b22321e70268521c87329fddf4e9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 13935,
"upload_time": "2024-09-26T13:42:29",
"upload_time_iso_8601": "2024-09-26T13:42:29.659095Z",
"url": "https://files.pythonhosted.org/packages/ac/fc/62f278218926f217875ae61bc379d3d4a116f5d7a9a56e9892b34127b130/mptool-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-26 13:42:29",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "csb.ethz",
"gitlab_project": "mptool",
"lcname": "mptool"
}