Skip to main content

pymgpipe | DOI status Python package Tests Docs PyPI version

Coverage

Coverage Report
FileStmtsMissCoverMissing
pymgpipe
   coupling.py39685%20, 43, 46–47, 52, 67
   diet.py1031982%16, 22, 396–397, 437–453, 466–477, 482–485, 494, 496, 525
   fva.py1445959%32, 36, 88–92, 98, 107–113, 116–117, 120–121, 139–149, 165, 174–235, 244
   io.py1063765%17, 55, 61–66, 80–81, 95–96, 108, 111, 117–120, 125–133, 142, 146–147, 152–157, 161–167, 176–177
   main.py1484470%112, 115, 167, 210–212, 243–297, 304, 309–310, 323
   metrics.py242112%5–35
   modeling.py145795%36, 39, 54–57, 129, 131
   nmpc.py64592%95, 132–134, 136
   utils.py23510754%45–46, 49, 52, 67, 73, 83, 87, 102–105, 111, 115–117, 120–138, 142–152, 160, 173–174, 176–177, 199–200, 205–207, 245–248, 250–264, 270, 281–286, 289–293, 313–314, 325–367
pymgpipe/tests
   test_e2e.py90199%197
TOTAL130930677% 

API Docs

https://korem-lab.github.io/pymgpipe/

Installation

pympgipe has been built and tested with python 3.10+. To install and use our PyPi package, run pip install pymgpipe

Additional Dependencies

Need at least one of the following solvers (requirements.txt includes gurobi)-

In order to install the solver interfaces in python, you can use pip install cplex or pip install gurobipy. This does not actually create a license, it just installs the python interface to interact with these solvers. Both gurobipy and cplex offer free academic licenses. To install the licenses themselves, refer to the links provided above.

Inputs

To create multi-species community models with pymgpipe, you need two things to start-

  • Folder with individual taxa models (either in .mat or .xml format)
  • Relative abundance matrix (as a .csv) with samples as columns and taxa as rows. Taxa names should correspond to file names within taxa folder (excluding extension)

Examples of both can be found in the examples/ folder. Individual models for thousands of bacteria can be found and downloaded here.

Outputs

The exact location and names of output files will vary depending on the parameters you pass into each function. However, the default output for pymgpipe's build_models function will look something like this-


* pymgpipe input*
.
├── taxaModels/
│   ├── taxa1.xml
│   ├── taxa2.xml
│   └── ...
├── abundances.csv

# pymgpipe output*
.
├── out/
    ├── reaction_content.csv
    ├── reaction_abundance.csv
    ├── sample_label_conversion.csv
    ├── metabolic_diversity.png
    ├── problems/
    │   ├── mc1.mps.gz
    │   ├── mc2.mps.gz
    │   └── ...
    └── models/
        ├── mc1.xml.gz
        ├── mc2.xml.gz
        └── ...

Here is a breakdown of each output files/directory and their descriptions-

File Type Description
reaction_content CSV Matrix showing binary presence/absence of all reactions within each sample
reaction_abundance CSV Matrix showing scaled abundance (between 0 and 1) of all reactions within each sample
sample_label_conversion CSV Dictionary with conversion between original sample names and model names (default sample_prefix is 'mc')
metabolic_diversity PNG Plot depicting # of unique reactions & taxa present within each sample
problems dir Directory containing LP problems (default format is .mps, with compressed set to True)
models dir Directory containing COBRA moddels (default format is .xml, with compressed set to True)

Examples

Clone and run through workflow.ipynb in the examples/ folder (see below)

Attribution

When using pymgpipe please cite-

Baldini, F., Heinken, A., Heirendt, L., Magnusdottir, S., Fleming, R. M. T., & Thiele, I. (2019). The Microbiome Modeling Toolbox: from microbial interactions to personalized microbial communities. Bioinformatics (Oxford, England), 35(13), 2332–2334. https://doi.org/10.1093/bioinformatics/bty941

Contributing

We warmly welcome and appreciate contributions from everyone. There are several ways you can contribute:

  • Reporting Bugs: If you find a bug, please create a new issue on our GitHub page. Be sure to include as much information as possible so we can reproduce and fix the bug. The more detail you provide, the better.
  • Code Contributions: If you'd like to contribute code, great! Please fork this repository, make your changes in a separate branch, and then submit a pull request. We'll review your changes and discuss any necessary modifications or improvements before merging.

Here are some general guidelines for code contributions:

  1. Fork the repo and create your branch from the master.
  2. If you've added code, add tests.
  3. Ensure the test suite passes.
  4. Issue that pull request!

Reporting Issues

Issues should be reported using the GitHub issue tracker. Please check the existing issues to avoid duplicates. When reporting an issue, please provide as much detail as possible about how to reproduce the problem, including the following information:

  • Operating system and version
  • Details of the problem, including any error messages and screenshots if possible

Thank you for your contributions!

Copyright 2023 The Trustees of Columbia University in the City of New York. See LICENSE for additional details.

Metadata

Release files for pymgpipe 0.16.10

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

Source distribution (sdist)

Source distribution for pymgpipe 0.16.10
File Size Uploaded
pymgpipe-0.16.10.tar.gz 406.7 kB Details

Built distribution (wheel)

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

Total release size: 831.2 kB

Release files / pymgpipe-0.16.10.tar.gz

Download URL pymgpipe-0.16.10.tar.gz
Size 406.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4a3262ae6e4f0857947b133b9b54506e606e4d718ac3c4be4851afaa5958aca5
BLAKE2b-256 checksum
How to use checksums
358229852db2e7a87fc15580878a7f732a6826fcdf2b4803a25349ce1a92126f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release files / pymgpipe-0.16.10-py3-none-any.whl

Download URL pymgpipe-0.16.10-py3-none-any.whl
Size 424.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08a441219b60c1dc72f7cb38eaca3419624b279bd8bb8f3056e89c6a5edcded0
BLAKE2b-256 checksum
How to use checksums
ad26eee0741f42d762a29873043cf0427fbd6d91512709c155195d1b870f5d2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.16.10 This release

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