cobra.flux_analysis.geometric
=============================

.. py:module:: cobra.flux_analysis.geometric

.. autoapi-nested-parse::

   Provide an implementation of geometric FBA.



Attributes
----------

.. autoapisummary::

   cobra.flux_analysis.geometric.logger


Functions
---------

.. autoapisummary::

   cobra.flux_analysis.geometric.geometric_fba


Module Contents
---------------

.. py:data:: logger

.. py:function:: geometric_fba(model: cobra.Model, epsilon: float = 1e-06, max_tries: int = 200, processes: Optional[int] = None) -> cobra.Solution

   Perform geometric FBA to obtain a unique, centered flux distribution.

   Geometric FBA [1]_ formulates the problem as a polyhedron and then
   solves it by bounding the convex hull of the polyhedron. The bounding
   forms a box around the convex hull which reduces with every iteration
   and extracts a unique solution in this way.

   :param model: The model to perform geometric FBA on.
   :type model: cobra.Model
   :param epsilon: The convergence tolerance of the model (default 1E-06).
   :type epsilon: float, optional
   :param max_tries: Maximum number of iterations (default 200).
   :type max_tries: int, optional
   :param processes: The number of parallel processes to run. If not explicitly passed,
                     will be set from the global configuration singleton (default None).
   :type processes: int, optional

   :returns: The solution object containing all the constraints required for
             geometric FBA.
   :rtype: cobra.Solution

   :raises RuntimeError: If iteration count becomes equal to `max_tries`.

   .. rubric:: References

   .. [1] Smallbone, Kieran & Simeonidis, Vangelis. (2009).
          Flux balance analysis: A geometric perspective.
          Journal of theoretical biology.258. 311-5.
          10.1016/j.jtbi.2009.01.027.


