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:

  • 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.1.tar.gz (23.8 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.1-py3-none-any.whl (24.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: coralme-1.2.3.1.tar.gz
  • Upload date:
  • Size: 23.8 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.1.tar.gz
Algorithm Hash digest
SHA256 c927e4a9335c6d8490be359890b478a40623a4f24ccfd336d39474f5f51b3465
MD5 c9e7021bd0f011ef7951b3da6952d34a
BLAKE2b-256 dd96ac41c04217d595f3deadecf73273b680b877ad9fbbb063a3c8a2c3bbcc4d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: coralme-1.2.3.1-py3-none-any.whl
  • Upload date:
  • Size: 24.5 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b82ac669ba6ac54022fc90b76f56b0c91c4fbd89acc82c952011c15da0827d2e
MD5 5e3c266997b90b1aef491dcd459fa46a
BLAKE2b-256 e71bdb308dc64c35328dd50eee4623d86ff3cc321b9ae967ce4d2075aad16225

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