Skip to main content

Comprehensive Reconstruction Algorithm for ME-models (coralME)

Project description

https://github.com/jdtibochab/coralme/blob/main/docs/logo.png Current PyPI Version Supported Python Versions NCBI PubMed DOI

The COmprehensive Reconstruction ALgorithm for ME-models (coralME) is an automatic pipeline for the reconstruction of ME-models. coralME integrates existing ME-modeling packages COBRAme, ECOLIme, and solveME, generalizes their functions for implementation on any prokaryote, and processes readily available organism-specific inputs for the automatic generation of a working ME-model.

coralME has four main objectives:

  1. Synchronize input files to remove contradictory entries.

  2. Complement input files from homology with a template organism to complete the E-matrix.

  3. Reconstruct a ME-model.

  4. Troubleshoot the ME-model to make it functional.

If you use coralME in your research, please cite https://doi.org/10.1016/j.cels.2025.101451

Getting started

With an existing M-model file (JSON or XML) and a corresponding genome GenBank file, run (only v1.2.0+)

coralme --m-model-path PATH_TO_M_MODEL --genbank-path PATH_TO_GENBANK_FILE

To get help:

coralme --help

For more usage information, go to Tutorials.

Installation

Install using pip

  1. pip install coralme

Install locally

  1. Clone repository and navigate to it.

  2. pip install --editable .

Install using docker (tested on Ubuntu 22.04)

  1. Clone repository and navigate to it.

  2. docker build --file "./Dockerfile-Python3.10" . -t "python3.10-coralme"

  3. docker run --detach -p 10000:8888 -v USER/PATH/TO/coralme/:/opt/notebooks/ python3.10-coralme

  4. In your browser, go to localhost:10000

Install using docker (to run MINOS and quad MINOS for Apple Silicon)

  1. Install OrbStack (Docker Desktop alternative - recommended because it automatically uses Rosetta for AMD images).

  2. Clone repository and navigate to coralme/.

  3. docker buildx create --name multiarch --use

  4. docker buildx build --platform linux/amd64 --file "./Dockerfile-Python3.10" . -t "python3.10-coralme:amd64" --load

  5. docker run --detach -p 10000:8888 -v USER/PATH/TO/coralme/:/opt/notebooks/ python3.10-coralme:amd64

  6. In your browser, go to localhost:10000

CLI and GUI

To perform a ME-model reconstruction, command-line and graphical-user interfaces are provided for quick setup:

  • To execute the command-line interface, type coralme. At least, the model and the genome files must be provided. For help, execute coralme --help

  • To execute the graphical-user interface, the user must have installed R and shiny. Then, in a terminal, execute runApp('app.R') and a browser tab should open with the ShinyApp.

Requirements

  • Python3, version 3.9, 3.10, 3.11, 3.12, 3.13 or 3.14

  • Ubuntu 22.04 is recommended (libgfortran.so.5 is required to execute MINOS and quad MINOS)

  • GUROBI and gurobipy are optional. Instead, the user should install GLPK or any solver compatible with COBRApy.

  • Windows and MacOS users need to install Gurobi or IBM CPLEX Optimizer. Alternatively, Windows users can install WSL and Ubuntu. Windows and MacOS users can use as well Docker Desktop to install it. We recommend the installation of Jupyter in the guest and its access through a browser from the host.

The MINOS and quad MINOS solvers

Compiled MINOS and quad MINOS Debian-based OSes are provided here as *.so files under coralme/solver/debian, and have been compiled using:

  • Python3, versions 3.7.17, 3.8.20, 3.9.21, and 3.10.16
    • wheel 0.38.4

    • cython 0.29.32

    • numpy 1.21.6

  • Python3, versions 3.11.11, 3.12.9, 3.13.2, and 3.14.0
    • wheel 0.43.0

    • cython 3.0.10

    • numpy 2.0.0

    • meson 1.8.1

    • ninja 1.11.1.4

EXPERIMENTAL: Compiled MINOS and quad MINOS for RHEL-based OSes are provided here as *.so files under coralme/solver/rhel, and have been compiled using:

  • Python3, versions 3.9.25, 3.10.20, 3.11.15, 3.12.13, 3.13.13, and 3.14.4
    • wheel 0.43.0

    • cython 3.0.10

    • numpy 2.0.0

    • meson 1.8.1

    • ninja 1.11.1.4

Documentation

You can find the documentation as a combined PDF called coralME_Documentation.pdf

Development

Test environments using gh act --bind -j test --rm --rebuild | tee act.log. Use the version.sh script to gather information about package versions.

The coralME package has been tested using the following package versions:

Package

Python 3.8

Python 3.9

Python 3.10

Python 3.11

Python 3.12

Python 3.13

Python 3.14

cobra

0.30.0

0.30.0

0.30.0

0.30.0

0.30.0

0.30.0

0.30.0

numpy

1.24.4

1.26.4

1.26.4

2.2.6

2.2.6

2.2.6

2.2.6

scipy

1.10.1

1.13.1

1.14.0

1.14.0

1.14.0

1.14.1

1.14.0

pandas

2.0.3

2.3.3

2.3.3

2.3.3

2.3.3

2.3.3

2.3.3

biopython

1.83

1.85

1.86

1.86

1.86

1.86

1.86

sympy

1.12.1

1.12.1

1.12.1

1.12.1

1.12.1

1.12.1

1.12.1

pint

0.21.1

0.24.4

0.24.4

0.25.2

0.25.2

0.25.2

0.25.2

anyconfig

0.14.0

0.14.0

0.14.0

0.14.0

0.14.0

0.14.0

0.14.0

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

coralme-1.2.3.tar.gz (22.1 MB view details)

Uploaded Source

Built Distribution

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

coralme-1.2.3-py3-none-any.whl (22.7 MB view details)

Uploaded Python 3

File details

Details for the file coralme-1.2.3.tar.gz.

File metadata

  • Download URL: coralme-1.2.3.tar.gz
  • Upload date:
  • Size: 22.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for coralme-1.2.3.tar.gz
Algorithm Hash digest
SHA256 d2be15b4e47d2e509995fe9a4d6ee9deb73af147c40529ae5c1f0b650931c49b
MD5 14fa1187475f18cd574770d71c899930
BLAKE2b-256 4af6340d346dc5b4a2cf1c007f7ba745bba644cbc7640eed3b5ae131fafa2519

See more details on using hashes here.

File details

Details for the file coralme-1.2.3-py3-none-any.whl.

File metadata

  • Download URL: coralme-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 22.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for coralme-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7e3ec4db8c5343a8cd3f2a34cdfadc10bcab4d6944e1a06e859e0e7f83452517
MD5 73b1dd03e6059e652e0d8c9a93235f80
BLAKE2b-256 3052416efd784181f84068175bab0fa077f5da97c0cf6fbc56ea6e613849df1e

See more details on using hashes here.

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