opencobra / cobratoolbox

The COnstraint-Based Reconstruction and Analysis Toolbox. Documentation:
https://opencobra.github.io/cobratoolbox
Other
252 stars 317 forks source link
cobra cobra-toolbox constraint-based-modeling gap-filling human-metabolism metabolic-engineering metabolic-models metabolic-reconstruction metabolomics microbiome-analysis omics-data-integration reconstruction strain-engineering transcriptomics tutorial

.. raw:: html

The COBRA Toolbox |br| COnstraint-Based Reconstruction and Analysis Toolbox

.. raw:: html

All continuous integration builds
Ratio of the number of inefficient code lines and the total number of lines of code (in percent). A: 0-3%, B: 3-6%, C: 6-9%, D: 9-12%, E: 12-15%, F: > 15%.


System Requirements and Solver Installation

.. begin-requirements-marker

|warning| Please follow this guide <https://opencobra.github.io/cobratoolbox/docs/requirements.html>__ in order to configure your system properly.

|warning| Please make sure you install a compatible solver. Check the compatibility here <https://opencobra.github.io/cobratoolbox/docs/compatibility.html>__.

You may install TOMLAB, IBM ILOG CPLEX, GUROBI, or MOSEK by following these detailed instructions <https://opencobra.github.io/cobratoolbox/docs/solvers.html>__.

.. end-requirements-marker

Installation

.. begin-installation-marker

  1. Download this repository (the folder ./cobratoolbox/ will be created). You can clone the repository using:

    .. code-block:: console

    $ git clone --depth=1 https://github.com/opencobra/cobratoolbox.git cobratoolbox

    |warning| Please note the --depth=1 in the clone command. Run this command in Terminal (on |macos| and |linux|) or in Git Bash (on |windows|) - not in |matlab|. Although not recommended, you can download the repository as a compressed archive <https://king.nuigalway.ie/cobratoolbox/releases/theCOBRAToolbox.zip>__.

  2. Change to the folder cobratoolbox/ and run from |matlab|

    .. code-block:: matlab

    initCobraToolbox

.. end-installation-marker

Tutorials, Documentation, and Support

How to contribute

.. begin-how-to-contribute-marker

|thumbsup| |tada| First off, thanks for taking the time to contribute to The COBRA Toolbox <https://github.com/opencobra/cobratoolbox>__! |tada| |thumbsup|

.. raw:: html

devTools

You can install the MATLAB.devTools <https://github.com/opencobra/MATLAB.devTools>__ from within MATLAB by typing:

.. code-block:: matlab

>> installDevTools()

|bulb| Check out MATLAB.devTools <https://github.com/opencobra/MATLAB.devTools> - and contribute the smart way! The official documentation is here <https://opencobra.github.io/MATLAB.devTools/ >.

|thumbsup| Contribute to the opencobra/cobratoolbox repository by following these instructions <https://opencobra.github.io/MATLAB.devTools/stable/contribute.html#the-cobra-toolbox>__:

.. code-block:: matlab

>> contribute('opencobra/cobratoolbox');

|thumbsup| Contribute to the opencobra/COBRA.tutorials repository by following these instructions <https://opencobra.github.io/MATLAB.devTools/stable/contribute.html#cobra-tutorials>__:

.. code-block:: matlab

>> contribute('opencobra/COBRA.tutorials');

If you want to use git via the command line interface and need help, this guide <https://www.digitalocean.com/community/tutorials/how-to-create-a-pull-request-on-github> or the official GitHub guide <https://help.github.com/articles/creating-a-pull-request/> come in handy.

.. end-how-to-contribute-marker

How to cite the COBRA Toolbox

.. begin-how-to-cite-marker

When citing the COBRA Toolbox, it is important to cite the original paper where an algorithm was first reported, as well as its implementation in the COBRA Toolbox. This is important, because the objective of the COBRA Toolbox is to amalgamate and integrate the functionality of a wide range of COBRA algorithms and this will be undermined if contributors of new algorithms do not get their fair share of citations. The following is one example how to approach this within the methods section of a paper (not the supplemental material please):

To generate a context-specific model the FASTCORE algorithm [1], implemented in The COBRA Toolbox v3.0 [2], was employed.

[1] = Vlassis N, Pacheco MP, Sauter T (2014) Fast Reconstruction of
Compact Context-Specific Metabolic Network Models. PLoS Comput Biol
10(1): e1003424.

..

[2] Laurent Heirendt & Sylvain Arreckx, Thomas Pfau, Sebastian N.
Mendoza, Anne Richelle, Almut Heinken, Hulda S. Haraldsdottir, Jacek
Wachowiak, Sarah M. Keating, Vanja Vlasov, Stefania Magnusdottir,
Chiam Yu Ng, German Preciat, Alise Zagare, Siu H.J. Chan, Maike K.
Aurich, Catherine M. Clancy, Jennifer Modamio, John T. Sauls,
Alberto Noronha, Aarash Bordbar, Benjamin Cousins, Diana C. El
Assal, Luis V. Valcarcel, Inigo Apaolaza, Susan Ghaderi, Masoud
Ahookhosh, Marouen Ben Guebila, Andrejs Kostromins, Nicolas
Sompairac, Hoai M. Le, Ding Ma, Yuekai Sun, Lin Wang, James T.
Yurkovich, Miguel A.P. Oliveira, Phan T. Vuong, Lemmer P. El Assal,
Inna Kuperstein, Andrei Zinovyev, H. Scott Hinton, William A.
Bryant, Francisco J. Aragon Artacho, Francisco J. Planes, Egils
Stalidzans, Alejandro Maass, Santosh Vempala, Michael Hucka, Michael
A. Saunders, Costas D. Maranas, Nathan E. Lewis, Thomas Sauter,
Bernhard Ø. Palsson, Ines Thiele, Ronan M.T. Fleming, **Creation and
analysis of biochemical constraint-based models: the COBRA Toolbox
v3.0**, Nature Protocols, volume 14, pages 639–702, 2019
`doi.org/10.1038/s41596-018-0098-2 <https://doi.org/10.1038/s41596-018-0098-2>`__.

.. end-how-to-cite-marker

Binaries and Compatibility

|warning| Please make sure you install a compatible solver. Check the compatibility here <https://opencobra.github.io/cobratoolbox/docs/compatibility.html>__.

.. begin-binaries-marker

For convenience, we provide glpk_mex <https://github.com/blegat/glpkmex> and libSBML-5.17+ <http://sbml.org/Software/libSBML> in /external.

Binaries <https://github.com/opencobra/COBRA.binary>__ for these libraries are provided in a submodule for Mac OS X 10.6 or later (64-bit), GNU/Linux Ubuntu 14.0+ (64-bit), and Microsoft Windows 7+ (64-bit). For unsupported OS, please refer to their respective building instructions (glpk_mex <https://github.com/blegat/glpkmex#instructions-for-compiling-from-source>, libSBML <http://sbml.org/Software/libSBML/5.17.0/docs//cpp-api/libsbml-installation.html>).

Read more on the compatibility with SBML-FBCv2 here <https://opencobra.github.io/cobratoolbox/docs/notes.html>__.

.. end-binaries-marker

Disclaimer

The software provided by the openCOBRA Project is distributed under the GNU GPLv3 or later. However, this software is designed for scientific research and as such may contain algorithms that are associated with patents in the U.S. and abroad. If the user so chooses to use the software provided by the openCOBRA project for commercial endeavors then it is solely the user’s responsibility to license any patents that may exist and respond in full to any legal actions taken by the patent holder.

.. icon-marker

.. |macos| raw:: html

macOS

.. |linux| raw:: html

linux

.. |windows| raw:: html

windows

.. |warning| raw:: html

warning

.. |matlab| raw:: html

matlab

.. |tada| raw:: html

tada

.. |thumbsup| raw:: html

thumbsup

.. |bulb| raw:: html

bulb

.. |tutorials| raw:: html

.. |latest| raw:: html

.. |forum| raw:: html

.. |br| raw:: html