Metadata-Version: 2.1
Name: cobra
Version: 0.24.0
Summary: COBRApy is a package for constraint-based modeling of metabolic networks.
Home-page: https://opencobra.github.io/cobrapy
Author: The cobrapy core development team.
Author-email: cobra-pie@googlegroups.com
Maintainer: Moritz E. Beber
Maintainer-email: moritz.beber@gmail.com
License: LGPL-2.0-or-later OR GPL-2.0-or-later
Download-URL: https://pypi.org/project/cobra
Project-URL: Source Code, https://github.com/opencobra/cobrapy
Project-URL: Documentation, https://cobrapy.readthedocs.io
Project-URL: Bug Tracker, https://github.com/opencobra/cobrapy/issues
Keywords: metabolism,biology,constraint-based,linear programming,mixed-integer,optimization,flux-balance analysis,reconstruction
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Description-Content-Type: text/x-rst
Provides-Extra: array
Provides-Extra: development
License-File: LICENSE

================================================================
COBRApy - Constraint-Based Reconstruction and Analysis in Python
================================================================

.. image:: https://img.shields.io/pypi/v/cobra.svg
   :target: https://pypi.org/project/cobra/
   :alt: Current PyPI Version

.. image:: https://img.shields.io/pypi/pyversions/cobra.svg
   :target: https://pypi.org/project/cobra/
   :alt: Supported Python Versions

.. image:: https://img.shields.io/pypi/l/cobra.svg
   :target: https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html
   :alt: GNU Lesser General Public License 2 or later

.. image:: https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg
   :target: https://github.com/opencobra/cobrapy/blob/devel/.github/CODE_OF_CONDUCT.md
   :alt: Code of Conduct

.. image:: https://github.com/opencobra/cobrapy/workflows/CI-CD/badge.svg
   :target: https://github.com/opencobra/cobrapy/workflows/CI-CD
   :alt: GitHub Actions CI/CD Status

.. image:: https://codecov.io/gh/opencobra/cobrapy/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/opencobra/cobrapy
   :alt: Codecov

.. image:: https://readthedocs.org/projects/cobrapy/badge/?version=latest
   :target: https://cobrapy.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status

.. image:: https://badges.gitter.im/opencobra/cobrapy.svg
   :target: https://gitter.im/opencobra/cobrapy
   :alt: Gitter Chat Room

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/ambv/black
   :alt: Black

.. image:: https://zenodo.org/badge/6510063.svg
   :target: https://zenodo.org/badge/latestdoi/6510063
   :alt: Zenodo DOI

What is COBRApy?
================

COBRA methods are widely used for genome-scale modeling of metabolic networks in
both prokaryotes and eukaryotes. **COBRApy** is a constraint-based modeling
package that is designed to accommodate the biological complexity of the next
generation of COBRA models and provides access to commonly used COBRA methods,
such as flux balance analysis, flux variability analysis, and gene deletion
analyses.

Our aim with COBRApy is to provide useful, efficient infrastructure for:

- creating and managing metabolic models
- accessing popular solvers
- analyzing models with methods such as FVA, FBA, pFBA, MOMA etc.
- inspecting models and drawing conclusions on gene essentiality, testing
  consequences of knock-outs etc.

Our goal with COBRApy is for it to be useful on its own, and for it to be the
natural choice of infrastructure for developers that want to build new COBRA
related python packages for e.g. visualization, strain-design and data driven
analysis. By re-using the same classes and design principles, we can make new
methods both easier to implement and easier to use, thereby bringing the power
of COBRA to more researchers.

The documentation is browseable online at `readthedocs
<https://cobrapy.readthedocs.org/en/stable/>`_ and can also be `downloaded
<https://readthedocs.org/projects/cobrapy/downloads/>`_.

Please use the `Google Group <http://groups.google.com/group/cobra-pie>`_ for
help. By writing a well formulated question, with sufficient detail, you are
much more likely to quickly receive a good answer! Please refer to these
`StackOverflow guidelines <https://stackoverflow.com/help/how-to-ask>`_ on how
to ask questions.  Alternatively, you can use `gitter.im
<https://gitter.im/opencobra/cobrapy>`_ for quick questions and discussions
about COBRApy (faster response times). Please keep in mind that answers are
provided on a volunteer basis.

More information about opencobra is available at the `website
<http://opencobra.github.io/>`_.

If you use COBRApy in a scientific publication, please cite
`doi:10.1186/1752-0509-7-74 <http://dx.doi.org/doi:10.1186/1752-0509-7-74>`_

Installation
============

Use pip to `install COBRApy from PyPI <https://pypi.org/project/cobra/>`_ (we
recommend doing this inside a `virtual environment
<http://docs.python-guide.org/en/latest/dev/virtualenvs/>`_)::

    pip install cobra

If you want to load MATLAB models, you will need additional dependencies. Please
install::

    pip install cobra[array]

For further information, please follow the `detailed installation instructions
<INSTALL.rst>`_.

Contributing
============

Contributions are always welcome! Please read the `contributing guidelines
<https://github.com/opencobra/cobrapy/blob/devel/.github/CONTRIBUTING.rst>`_ to
get started.

License
=======

The COBRApy source is released under both the GPL and LGPL licenses version 2 or
later. You may choose which license you choose to use the software under.

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License or the GNU Lesser General Public
License as published by the Free Software Foundation, either version 2 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

=======================
Installation of COBRApy
=======================

For installation help, please use the `Google Group
<http://groups.google.com/group/cobra-pie>`_. For usage instructions, please see
the `documentation <https://cobrapy.readthedocs.org/en/latest/>`_.

We only test against Python 3.6+, however, Python 3.4 or higher and even 2.7
should work mostly. For Windows users and possibly also Mac OS users, we
recommend using the `Anaconda Python <https://www.anaconda.com/>`_ distribution.

Stable version installation
===========================

COBRApy can be installed with any recent installation of pip.  Instructions for
several operating systems are below:

Mac OS X or Linux
-----------------

1. We highly recommend that you create a `Python virtual environment
   <https://realpython.com/python-virtual-environments-a-primer>`_.
2. Install COBRApy when an environment is active by running ``pip install
   cobra`` in the terminal.

Microsoft Windows
-----------------

If you heed our recommendation to use Anaconda, you can open an Anaconda shell
and install COBRApy from the ``bioconda`` channel. Soon it should also be
available from the ``conda-forge`` channel.

.. code-block:: console

    conda install -c bioconda cobra

Installation for development
============================

Get the `detailed contribution instructions <.github/CONTRIBUTING.rst>`_ for
contributing to COBRApy.

Solvers
=======

COBRApy uses `optlang <http://optlang.readthedocs.io>`_ to interface the
mathematical solvers used to optimize the created COBRA models.  At the time of
writing the supported solvers are:

- ILOG/CPLEX (available with `Academic
  <https://www.ibm.com/developerworks/university/academicinitiative/>`_ and
  `Commercial
  <http://www.ibm.com/software/integration/optimization/cplex-optimizer/>`_
  licenses)
- `Gurobi <http://gurobi.com>`_
- `GLPK <http://www.gnu.org/software/glpk/>`_ which is automatically installed
  as swiglpk


