7.1.2.12. pta.utils
General utility functions.
7.1.2.12.1. Module Contents
- pta.utils.enable_all_logging(level: int = logging.INFO)[source]
Enable detailed logging in PTA and its dependencines. This is useful to debug possible problems.
- Parameters
level (int, optional) – The desired logging level, by default logging.INFO
- pta.utils.floor(value: float, decimals: int = 0) float[source]
Same as
math.floor, except that it rounds to a given number of decimals.
- pta.utils.ceil(value: float, decimals: int = 0)[source]
Same as
math.ceil, except that it rounds to a given number of decimals.
- pta.utils.get_internal_reactions(model: cobra.Model) List[str][source]
Gets the identifiers of all internal (non boundary) reactions in the model.
- Parameters
model (cobra.Model) – The target model.
- Returns
List of identifiers.
- Return type
List[str]
- pta.utils.tighten_model_bounds(model: cobra.Model, margin: float = 0.0001, round_to_digits: int = 6, prevent_loops: bool = False, fva_result: pandas.DataFrame = None)[source]
Apply FVA to a model to reduce the range of the flux bounds. The FVA result (plus a margin) is applied to each reaction if it is tighter than the bounds in the model.
- Parameters
model (cobra.Model) – The model to analyze.
margin (float, optional) – Margin to be applied to the FVA result when the computed bounds are tighter than the original ones. This avoids overconstraining the model in case of numerical inaccuracies in the solution. By default 1e-4.
round_to_digits (int, optional) – Number of digits to which tighter bounds should be rounded to. This limits the range of the coefficients for optimization problems. By default 6.
prevent_loops (bool, optional) – If no FVA solution is provided, determines whether regular or loopless FVA will be used.
fva_result (pd.DataFrame, optional) – Precomputed FVA result. If specified, FVA will not be run again, by default None.
- pta.utils.find_blocked_reactions_from_fva_solution(model: cobra.Model, prevent_loops: bool = False, zero_cutoff: Optional[float] = None, fva_result: pandas.DataFrame = None) List[str][source]
Similar to cobrapy’s find_blocked_reactions(), but optionally takes a precomputed FVA solution as input.
- Parameters
model (cobra.Model) – The model to analyze.
prevent_loops (bool, optional) – If no FVA solution is provided, determines whether regular or loopless FVA will be used.
zero_cutoff (Optional[float], optional) – Flux value which is considered to effectively be zero. The default is set to use model.tolerance (default None).
fva_result (pd.DataFrame, optional) – Precomputed FVA result. If specified, FVA will not be run again, by default None.
- Returns
List of identifiers of the blocked reactions.
- Return type
List[str]
- pta.utils.get_candidate_thermodynamic_constraints(model: Union[pta.flux_space.FluxSpace, cobra.Model], metabolite_interpreter: pta.metabolite_interpreter.MetaboliteInterpreter = None, exclude_compartments: List[str] = None, ccache: equilibrator_cache.CompoundCache = None) List[str][source]
Selects reactions in the flux space that are suitable to be used as thermodynamic constraints. By default this method selects all internal reactions, excluding water transport all boundary and exchange reactions. Optionally, it can exclude reactions where at least one metabolite belongs to certain compartments.
- Parameters
model (Union[FluxSpace, cobra.Model]) – The target model.
metabolite_interpreter (MetaboliteInterpreter, optional) – Specifies how to parse metabolite identifiers.
exclude_compartments (List[str], optional) – List of identifiers of the compartment to exclude from the candidates.
ccache (CompoundCache, optional) – eQuilibrator’s
CompoundCacheobject, used to identify compounds using identifiers from different namespaces. For performance reasons, it is recommended to use a single instance of CompoundCache for all functions in PTA.
- Returns
The identifiers of the candidate reactions.
- Return type
List[str]
- pta.utils.get_reactions_in_internal_cycles(model: cobra.Model, biomass_name: Optional[str] = None, atpm_name: str = 'ATPM') List[str][source]
Find all the reactions in a model involved in one or more internal cycles.
- pta.utils.get_internal_cycles(model: cobra.Model, biomass_name: Optional[str] = None, atpm_name: str = 'ATPM') numpy.ndarray[source]
Uses
efmtoolto enumerate all the internal cycles in the network.- modelcobra.Model
The target model.
- biomass_nameOptional[str], optional
Identifier of the biomass reaction.
- atpm_namestr, optional
Identifier of the ATP maintenance reaction.
- Returns
A n-by-e matrix, where e in the number of EFMs and n is the number of reactions, where each column is an EFM representing an internal cycle.
- Return type
np.ndarray
- pta.utils.to_reactions_idxs(reactions: Union[List[int], List[str], cobra.DictList, List[cobra.Reaction]], model: cobra.Model) List[int][source]
Utility function to obtain a list of reaction indices from different representations.
- pta.utils.to_reactions_ids(reactions: Union[List[int], List[str], cobra.DictList, List[cobra.Reaction]], model: cobra.Model) List[str][source]
Utility function to obtain a list of reaction identifiers from different representations.
- pta.utils.qvector(elements: List[pta.constants.Q]) pta.constants.Q[source]
Converts a list of quantities to a quantity vector.
- Parameters
elements (List[Q]) – List of quantities.
- Returns
Quantity vector.
- Return type
Q
- pta.utils.qrvector(elements: List[pta.constants.Q]) pta.constants.Q[source]
Converts a list of quantities to a quantity row vector.
- Parameters
elements (List[Q]) – List of quantities.
- Returns
Quantity row vector.
- Return type
Q
- pta.utils.apply_transform(value: numpy.ndarray, transform: Tuple[numpy.ndarray, numpy.ndarray]) numpy.ndarray[source]
Applies an affine transform to a matrix.
- Parameters
value (np.ndarray) – The matrix to be transformed.
transform (Tuple[np.ndarray, np.ndarray]) – Tuple describing the linear (transformation matrix) and affine (translation vector) of the transform.
- Returns
The transformed matrix.
- Return type
np.ndarray
- pta.utils.get_path(path: Union[pathlib.Path, str]) pathlib.Path[source]
Gets a
Pathobject from different representations.
- pta.utils.covariance_square_root(covariance: numpy.ndarray, min_eigenvalue: float = default_min_eigenvalue_tds_basis) numpy.ndarray[source]
Gets a full-rank square root of a covariance matrix.
- Parameters
covariance (np.ndarray) – The input covariance matrix.
min_eigenvalue (float, optional) – Minimum eigenvalue to keep during the truncated EVD.
- Returns
A full-rank square root of the covariance.
- Return type
np.ndarray
- pta.utils.load_example_model(model_name: str) cobra.Model[source]
Load an example SBML model in cobrapy.
- Parameters
model_name (str) – Name of the model file (without extension). This can be any of the models in pta/data/models.
- Returns
The loaded model in cobrapy format.
- Return type
cobra.Model
- pta.utils.find_rotation_matrix(x: numpy.ndarray, y: numpy.ndarray) numpy.ndarray[source]
Compute a matrix that rotates the vector x onto vector y (without scaling).
- Parameters
x (np.ndarray) – The starting vector.
y (np.ndarray) – The destination vector.
- Returns
The computed rotation matrix.
- Return type
np.ndarray