cobra.manipulation.modify
=========================

.. py:module:: cobra.manipulation.modify

.. autoapi-nested-parse::

   Provide functions to modify model components.



Attributes
----------

.. autoapisummary::

   cobra.manipulation.modify._renames


Classes
-------

.. autoapisummary::

   cobra.manipulation.modify._GeneEscaper
   cobra.manipulation.modify._Renamer


Functions
---------

.. autoapisummary::

   cobra.manipulation.modify._escape_str_id
   cobra.manipulation.modify.escape_ID
   cobra.manipulation.modify.rename_genes


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

.. py:data:: _renames
   :value: (('.', '_DOT_'), ('(', '_LPAREN_'), (')', '_RPAREN_'), ('-', '__'), ('[', '_LSQBKT'), (']',...


.. py:function:: _escape_str_id(id_str: str) -> str

   Make a single string ID SBML compliant.

   :param id_str: The ID string to operate on.
   :type id_str: str

   :returns: The SBML compliant ID string.
   :rtype: str


.. py:class:: _GeneEscaper

   Bases: :py:obj:`ast.NodeTransformer`


   Class to represent a gene ID escaper.


   .. py:method:: visit_Name(node: cobra.Gene) -> cobra.Gene

      Escape string ID.

      :param node: The gene object to work on.
      :type node: cobra.Gene

      :returns: The gene object whose ID has been escaped.
      :rtype: cobra.Gene



.. py:function:: escape_ID(model: cobra.Model) -> None

   Make all model component object IDs SBML compliant.

   :param model: The model to operate on.
   :type model: cobra.Model


.. py:class:: _Renamer(rename_dict: Dict[str, str], **kwargs)

   Bases: :py:obj:`ast.NodeTransformer`


   Class to represent a gene renamer.

   :param rename_dict: The dictionary having keys as old gene names
                       and value as new gene names.
   :type rename_dict: dict of {str: str}


   .. py:attribute:: rename_dict


   .. py:method:: visit_Name(node: cobra.Gene) -> cobra.Gene

      Rename a gene.

      :param node: The gene to rename.
      :type node: cobra.Gene

      :returns: The renamed gene object.
      :rtype: cobra.Gene



.. py:function:: rename_genes(model: cobra.Model, rename_dict: Dict[str, str]) -> None

   Rename genes in a model from the `rename_dict`.

   :param model: The model to operate on.
   :type model: cobra.Model
   :param rename_dict: The dictionary having keys as old gene names
                       and value as new gene names.
   :type rename_dict: dict of {str: str}


