Source code for cobra.flux_analysis.helpers

"""Helper functions for all flux analysis methods."""

from typing import TYPE_CHECKING, Optional


if TYPE_CHECKING:
    from cobra import Model


[docs]def normalize_cutoff(model: "Model", zero_cutoff: Optional[float] = None) -> float: """Return a valid zero cutoff value. Parameters ---------- model : cobra.Model The model to operate on. zero_cutoff : positive float, optional The zero cutoff value. If not specified, defaults to `model.tolerance` (default None). Returns ------- float The normalized zero cutoff value. Raises ------ ValueError If the specified `zero_cutoff` is lesser than `model.tolerance`. """ if zero_cutoff is None: return model.tolerance else: if zero_cutoff < model.tolerance: raise ValueError( "The chosen zero cutoff cannot be less than the model's " "tolerance value." ) else: return zero_cutoff