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:
- Synchronize input files to remove contradictory entries.
- Complement input files from homology with a template organism to complete the E-matrix.
- Reconstruct a ME-model.
- 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
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.
pip install coralme
- Clone repository and navigate to it.
pip install --editable .
- Clone repository and navigate to it.
docker build --file "./Dockerfile-Python3.10" . -t "python3.10-coralme"docker run --detach -p 10000:8888 -v USER/PATH/TO/coralme/:/opt/notebooks/ python3.10-coralme- In your browser, go to
localhost:10000
- Install OrbStack (Docker Desktop alternative - recommended because it automatically uses Rosetta for AMD images).
- Clone repository and navigate to coralme/.
docker buildx create --name multiarch --usedocker buildx build --platform linux/amd64 --file "./Dockerfile-Python3.10" . -t "python3.10-coralme:amd64" --loaddocker run --detach -p 10000:8888 -v USER/PATH/TO/coralme/:/opt/notebooks/ python3.10-coralme:amd64- In your browser, go to
localhost:10000
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, executecoralme --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.
- Python3, version 3.8, 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.
Compiled MINOS and quad MINOS are provided here as *.so files under coralme/solver, 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
Compiled MINOS and quad MINOS are provided here as *.so files under coralme/solver, and have been compiled using:
- Python3, versions 3.11.11, 3.12.9, and 3.13.2
- wheel 0.43.0
- cython 3.0.10
- numpy 2.0.0
- meson 1.8.1
- ninja 1.11.1.4
You can find the documentation as a combined PDF called coralME_Documentation.pdf
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 |