:py:mod:`cobra.manipulation.delete` =================================== .. py:module:: cobra.manipulation.delete .. autoapi-nested-parse:: Provide functions for pruning reactions, metabolites and genes. Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: cobra.manipulation.delete._GeneRemover Functions ~~~~~~~~~ .. autoapisummary:: cobra.manipulation.delete.prune_unused_metabolites cobra.manipulation.delete.prune_unused_reactions cobra.manipulation.delete.knock_out_model_genes cobra.manipulation.delete.delete_model_genes cobra.manipulation.delete.remove_genes Attributes ~~~~~~~~~~ .. autoapisummary:: cobra.manipulation.delete.logger .. py:data:: logger .. py:function:: prune_unused_metabolites(model: cobra.Model) -> Tuple[cobra.Model, List[cobra.Metabolite]] Remove metabolites not involved in any reactions. :param model: The model to remove unused metabolites from. :type model: cobra.Model :returns: * *cobra.Model* -- Input model with unused metabolites removed. * *list of cobra.Metabolite* -- List of metabolites that were removed. .. py:function:: prune_unused_reactions(model: cobra.Model) -> Tuple[cobra.Model, List[cobra.Reaction]] Remove reactions with no assigned metabolites, returns pruned model. :param model: The model to remove unused reactions from. :type model: cobra.Model :returns: * *cobra.Model* -- Input model with unused reactions removed. * *list of cobra.Reaction* -- List of reactions that were removed. .. py:function:: knock_out_model_genes(model: cobra.Model, gene_list: Iterable[Union[cobra.Gene, int, str]]) -> List[cobra.Reaction] Disable the genes in `gene_list`. It sets the bounds to "zero" for reactions catalysed by the genes in `gene_list` if deleting the genes would stop the reactions from proceeding. The changes are reverted upon exit if executed within the model as context. :param model: The model whose reaction bounds are to be set. :type model: cobra.Model :param gene_list: The list of genes to knock-out. :type gene_list: list of cobra.Gene :returns: A list of cobra.Reactions that had the bounds turned to zero. :rtype: list[cobra.Reaction] .. py:function:: delete_model_genes(model: cobra.Model, gene_list: Union[List[cobra.Gene], Set[cobra.Gene], List[str], Set[str]], cumulative_deletions: bool = True, disable_orphans: bool = False) -> None Temporarily remove the effect of genes in `gene_list`. It sets the bounds to "zero" for reactions catalysed by the genes in `gene_list` if deleting the genes stops the reactions from proceeding. :param model: The model whose reaction bounds are to be set. :type model: cobra.Model :param gene_list: The list of genes to knock-out. :type gene_list: list of cobra.Gene :param cumulative_deletions: If True, then any previous deletions will be maintained in the model (default True). Unused, ignored. :type cumulative_deletions: bool, optional :param disable_orphans: If True, then orphan reactions will be disabled. Currently, this is not implemented (default False). Unused, ignored. :type disable_orphans: bool, optional :param .. deprecated :: 0.25: Use cobra.manipulation.knock_out_model_genes to simulate knockouts and cobra.manipulation.remove_genes to remove genes from the model. .. seealso:: :obj:`knock_out_model_genes`, :obj:`remove_model_genes` .. py:class:: _GeneRemover(target_genes: Set[cobra.Gene], **kwargs) Bases: :py:obj:`ast.NodeTransformer` Class to represent a gene set remover. :param target_genes: A set of genes to be removed. :type target_genes: list or set of cobra.Gene .. py:method:: visit_Name(node: ast.Name) -> Optional[ast.Name] Remove a gene. :param node: The gene to remove. :type node: ast.Name :returns: None if gene object is in `target_genes`. :rtype: cobra.Gene or None .. py:method:: visit_BoolOp(node: ast.BoolOp) -> Optional[Union[ast.BoolOp, ast.Name]] Rules for boolean operations. :param node: The gene to apply rules to. :type node: ast.Name :returns: None if size of Or node values is zero after applying rule, or size of And node values is lower after applying rule. :rtype: ast.Name or None .. py:function:: remove_genes(model: cobra.Model, gene_list: Union[List[cobra.Gene], Set[cobra.Gene], List[str], Union[str]], remove_reactions: bool = True) -> None Remove genes entirely from the model. This will also simplify all gene-reaction rules with the genes inactivated. :param model: The model to remove genes from. :type model: cobra.Model :param gene_list: The list of gene objects to remove. :type gene_list: list of cobra.Gene or gene ids :param remove_reactions: Whether to remove reactions associated with genes in `gene_list` (default True). :type remove_reactions: bool, optional