pax_global_header00006660000000000000000000000064126360647370014530gustar00rootroot0000000000000052 comment=def2091abdc7a7a2a8d7f9a5c67fa717e43f35a2 cobrapy-0.4.0b6/000077500000000000000000000000001263606473700134205ustar00rootroot00000000000000cobrapy-0.4.0b6/.coveragerc000066400000000000000000000021071263606473700155410ustar00rootroot00000000000000# .coveragerc to control coverage.py [run] branch = True source = cobra omit = cobra/solvers/* cobra/test/data/* cobra/test_all.py cobra/version.py cobra/oven/* # deprecated code cobra/core/Formula.py # can not be run with free solver cobra/flux_analysis/moma.py [report] # Regexes for lines to exclude from consideration exclude_lines = # Have to re-enable the standard pragma pragma: no cover # Don't complain about missing debug-only code: def __repr__ if self\.debug print # Don't complain about missing legacy code _legacy # Don't complain if tests don't hit defensive assertion code: raise AssertionError raise NotImplementedError # Don't complain about code for importing import except ImportError # Don't complain if non-runnable code isn't run: if 0: if __name__ == .__main__.: # Don't complain about warnings warn partial_branches: pragma: no branch # Don't complain about missing legacy code _legacy ignore_errors = True [html] directory = coverage cobrapy-0.4.0b6/.gitignore000066400000000000000000000003751263606473700154150ustar00rootroot00000000000000*.pyc gurobi.log *$py.class documentation cobra.egg-info build/ dist/ .DS_Store .eggs/ setuptools-*egg setuptools-*.tar.gz cobra/solvers/cglpk.c cobra/solvers/*so glpk.h libglpk.a .idea/ .ipynb_checkpoints examples/faq.py documentation_builder/test*\.* cobrapy-0.4.0b6/.travis.yml000066400000000000000000000023071263606473700155330ustar00rootroot00000000000000language: python sudo: false cache: directories: - $HOME/.cache/pip python: - "2.7" - "3.4" - "3.5" addons: apt: packages: - gfortran - libatlas-dev - libatlas-base-dev - liblapack-dev - libgmp-dev - libglpk-dev - libmpfr-dev # command to install dependencies env: - PIP_CACHE_DIR=$HOME/.cache/pip before_install: - pip install pip --upgrade # These get cached - pip install numpy scipy python-libsbml -v # verbose for long-running compiles - pip install cython coveralls jsonschema six matplotlib - if [[ $TRAVIS_PYTHON_VERSION == 2* ]]; then pip install lxml glpk pep8 palettable; fi # Download esolver and add it to the path - wget https://opencobra.github.io/pypi_cobrapy_travis/esolver.gz - gzip -d esolver.gz; chmod +x esolver; export PATH=$PATH:$PWD - mkdir -p $HOME/.config/matplotlib - "echo 'backend: Agg' >> $HOME/.config/matplotlib/matplotlibrc" install: - python setup.py develop # # command to run tests script: - coverage run --source=cobra setup.py test - if [[ $TRAVIS_PYTHON_VERSION == 2* ]]; then pep8 cobra/core cobra/design cobra/manipulation cobra/test cobra/version.py; fi after_success: - coveralls cobrapy-0.4.0b6/CONTRIBUTING.md000066400000000000000000000023411263606473700156510ustar00rootroot00000000000000Contribution Guidelines ----------------------- Generally, the following practices are recommended for making contributions to cobrapy. These aren't all necessarily hard-and-fast rules, but should serve as guidelines in most cases. 1. Please comment code. 2. All new python code should be pep8 compliant. 3. Please use git best practices, with a 50 line summary for each commit. Generally, separate features should be made in separate commits so they can be tested and merged independently. For example, adding a new solver would be a separate commit from fixing whitespace in cobra.core. 4. Documentation is written as IPython/jupyter notebooks in the ```documentation_builder``` directory, which are then converted to rst by the ```autodoc.sh``` script. 5. Tests are in the ```cobra/test``` directory. They are automatically run through continuous integration services on both python 2 and python 3 when pull requests are made. 6. Please write tests for new functions. Writing documentation as well would also be very helpful. 7. Ensure code will work with both python 2 and python 3. For example, instead of ```my_dict.iteritems()``` use ```six.iteritems(my_dict)``` Thank you very much for contributing to cobrapy. cobrapy-0.4.0b6/INSTALL.md000066400000000000000000000107741263606473700150610ustar00rootroot00000000000000#Installation of cobrapy For installation help, please use the [Google Group](http://groups.google.com/group/cobra-pie). For usage instructions, please see the [documentation](https://cobrapy.readthedocs.org/en/latest/). -------------------------------------------------------------------------------- All releases require Python 2.7+ or 3.4+ to be installed before proceeding. Mac OS X (10.7+) and Ubuntu ship with Python. Windows users without python can download and install python from the [python website](https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi). Please note that though Anaconda and other python distributions may work with cobrapy, they are not explicitly supported (yet!). ## Stable version installation cobrapy can be installed with any recent installation of pip. Instructions for several operating systems are below: ### Mac OS X 0. [install pip](http://pip.readthedocs.org/en/latest/installing.html). 1. In a terminal, run ```sudo pip install cobra``` ### Ubuntu or Debian Linux 0. [install pip](http://pip.readthedocs.org/en/latest/installing.html). 1. Install the python and glpk development libraries. On debian-based systems (including Ubuntu and Mint), this can be done with ```sudo apt-get install python-dev libglpk-dev``` 3. In a terminal, run ```sudo pip install cobra``` ### Microsoft Windows The preferred installation method on Windows is also to use pip. The latest Windows installers for Python 2.7 and 3.4 include pip, so if you use those you will already have pip. 1. In a terminal, run ```C:\Python27\Scripts\pip.exe install cobra``` (you may need to adjust the path accordingly). To install without pip, you will need to download and use the appropriate installer for your version of python from the [python package index](https://pypi.python.org/pypi/cobra/). ## Hacking version installation Use pip to install [Cython](http://cython.org/). Install libglpk using your package manger. This would be ```brew install homebrew/science/glpk``` on a Mac and ```sudo apt-get install libglpk-dev``` on debian-based systems (including Ubuntu and Mint). GLPK can also be compiled from the released source. Clone the git repository using your preferred mothod. Cloning from your own [github fork](https://help.github.com/articles/fork-a-repo) is recommended! Afterwards, open a terminal, enter the cobrapy repository and run the following command: python setup.py develop --user # Installation of optional dependencies ## Optional Dependencies On windows, these can downloaded from [this site] (http://www.lfd.uci.edu/~gohlke/pythonlibs/). On Mac/Linux, they can be installed using pip, or from the OS package manager (e.g brew, apt, yum). 1. [libsbml](http://sbml.org) >= 5.10 to read/write SBML level 2 files * [Windows installer](http://www.lfd.uci.edu/~gohlke/pythonlibs/#libsbml) * Use ```sudo pip install python-libsbml``` on Mac/Linux 2. [lxml](http://lxml.de/) to speed up read/write of SBML level 3 files. 3. [numpy](http://numpy.org) >= 1.6.1 for double deletions * [Windows installer](http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy) 4. [scipy](http://scipy.org) >= 0.11 for ArrayBasedModel and saving to *.mat files. * [Windows installer](http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy) ## Other solvers cobrapy comes with bindings to the GNU Linear Programming Kit ([glpk] (http://www.gnu.org/software/glpk/)) using its own bindings called "cglpk" in cobrapy. In addition, cobrapy currently supports these linear programming solvers: * ILOG/CPLEX (available with [Academic](https://www.ibm.com/developerworks/university/academicinitiative/) and [Commercial](http://www.ibm.com/software/integration/optimization/cplex-optimizer/) licenses). * [gurobi](http://gurobi.com) * [QSopt_ex esolver](http://www.dii.uchile.cl/~daespino/ESolver_doc/main.html) * [MOSEK](http://www.mosek.com/) * [coin-or clp and cbc](http://coin-or.org/) through [cylp](https://github.com/coin-or/CyLP). ILOG/CPLEX, MOSEK, and Gurobi are commercial software packages that currently provide free licenses for academics and support both linear and quadratic programming. GLPK and clp are open source linear programming solvers; however, they may not be as robsut as the commercial solvers for mixed-integer and quadratic programming. QSopt_ex esolver is also open source, and can solve linear programs using rational operations, giving exact solutions. # Testing your installation 1. Start python 2. Type the following into the Python shell ```python from cobra.test import test_all test_all() ``` cobrapy-0.4.0b6/LICENSE000066400000000000000000001155401263606473700144330ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS ---------------------------------------------------------------------------- GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS cobrapy-0.4.0b6/MANIFEST.in000066400000000000000000000001501263606473700151520ustar00rootroot00000000000000include README.md INSTALL.md LICENSE ez_setup.py include cobra/solvers/cglpk.pyx cobra/solvers/glpk.pxd cobrapy-0.4.0b6/README.md000066400000000000000000000045731263606473700147100ustar00rootroot00000000000000cobrapy ======= [![Build Status](https://travis-ci.org/opencobra/cobrapy.svg?branch=master)](https://travis-ci.org/opencobra/cobrapy) [![Coverage Status](https://coveralls.io/repos/opencobra/cobrapy/badge.svg?branch=master&service=github)](https://coveralls.io/github/opencobra/cobrapy?branch=master) [![Build status](https://ci.appveyor.com/api/projects/status/2o549lhjyukke8nd/branch/master?svg=true)](https://ci.appveyor.com/project/aebrahim/cobrapy/branch/master) [![PyPI](https://img.shields.io/pypi/v/cobra.svg)](https://pypi.python.org/pypi/cobra) COnstraint-Based Reconstruction and Analysis (COBRA) methods are widely used for genome-scale modeling of metabolic networks in both prokaryotes and eukaryotes. COBRApy is a constraint-based modeling package that is designed to accomodate the biological complexity of the next generation of COBRA models and provides access to commonly used COBRA methods, such as flux balance analysis, flux variability analysis, and gene deletion analyses. To install, please follow the [instructions](INSTALL.md). The documentation is browseable online at [readthedocs](https://cobrapy.readthedocs.org/en/stable/) and can also be [downloaded](https://readthedocs.org/projects/cobrapy/downloads/). Please use the [Google Group](http://groups.google.com/group/cobra-pie) for help. More information about opencobra is available at the [website](http://opencobra.github.io/). If you use cobrapy in a scientific publication, please cite [doi:10.1186/1752-0509-7-74](http://dx.doi.org/doi:10.1186/1752-0509-7-74) License ------- The cobrapy source is released under both the GPL and LGPL licenses. You may choose which license you choose to use the software under. However, please note that binary packages which include GLPK (such as the binary wheels for Windows and Mac OS X distributed at https://pypi.python.org/pypi/cobra) will be bound by its license as well. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License or the Lesser GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. cobrapy-0.4.0b6/appveyor.yml000066400000000000000000000030471263606473700160140ustar00rootroot00000000000000environment: global: # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the # /E:ON and /V:ON options are not enabled in the batch script intepreter # See: http://stackoverflow.com/a/13751649/163740 WITH_COMPILER: "cmd /E:ON /V:ON /C .\\appveyor\\run_with_env.cmd" UCRT: " " matrix: - PYTHON: "C:\\Python27" PYTHON_VERSION: "2.7.10" PYTHON_ARCH: "32" - PYTHON: "C:\\Python34" PYTHON_VERSION: "3.4.3" PYTHON_ARCH: "32" - PYTHON: "C:\\Python27-x64" PYTHON_VERSION: "2.7.10" PYTHON_ARCH: "64" - PYTHON: "C:\\Python34-x64" PYTHON_VERSION: "3.4.3" PYTHON_ARCH: "64" - PYTHON: "C:\\Python35-x64" PYTHON_VERSION: "3.5.0" PYTHON_ARCH: "64" UCRT: "UCRT" clone_depth: 25 init: - "ECHO %PYTHON% %PYTHON_VERSION% %PYTHON_ARCH% %UCRT%" install: - "powershell appveyor\\install.ps1" - ps: Start-FileDownload 'https://bitbucket.org/gutworth/six/raw/default/six.py' # Download glpk.h and glpk.lib (separate files for 32/64 bit) - ps: Start-FileDownload 'https://opencobra.github.io/pypi_cobrapy_travis/glpk.h' - "appveyor DownloadFile https://opencobra.github.io/pypi_cobrapy_travis/glpk.lib%PYTHON_ARCH%%UCRT% -FileName glpk.lib" - "%PYTHON%/python -m pip install Cython" build: off test_script: - "%WITH_COMPILER% %PYTHON%/python setup.py test" after_test: - "%WITH_COMPILER% %PYTHON%/python setup.py bdist_wheel bdist_wininst" artifacts: - path: dist\* #on_success: # - TODO: upload the content of dist/*.whl to a public wheelhouse cobrapy-0.4.0b6/appveyor/000077500000000000000000000000001263606473700152655ustar00rootroot00000000000000cobrapy-0.4.0b6/appveyor/install.ps1000066400000000000000000000053421263606473700173640ustar00rootroot00000000000000# Sample script to install Python and pip under Windows # Authors: Olivier Grisel and Kyle Kastner # License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/ $BASE_URL = "https://www.python.org/ftp/python/" $GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py" $GET_PIP_PATH = "C:\get-pip.py" function DownloadPython ($python_version, $platform_suffix) { $webclient = New-Object System.Net.WebClient $filename = "python-" + $python_version + $platform_suffix + ".msi" $url = $BASE_URL + $python_version + "/" + $filename $basedir = $pwd.Path + "\" $filepath = $basedir + $filename if (Test-Path $filename) { Write-Host "Reusing" $filepath return $filepath } # Download and retry up to 5 times in case of network transient errors. Write-Host "Downloading" $filename "from" $url $retry_attempts = 3 for($i=0; $i -lt $retry_attempts; $i++){ try { $webclient.DownloadFile($url, $filepath) break } Catch [Exception]{ Start-Sleep 1 } } Write-Host "File saved at" $filepath return $filepath } function InstallPython ($python_version, $architecture, $python_home) { Write-Host "Installing Python" $python_version "for" $architecture "bit architecture to" $python_home if (Test-Path $python_home) { Write-Host $python_home "already exists, skipping." return $false } if ($architecture -eq "32") { $platform_suffix = "" } else { $platform_suffix = ".amd64" } $filepath = DownloadPython $python_version $platform_suffix Write-Host "Installing" $filepath "to" $python_home $args = "/qn /i $filepath TARGETDIR=$python_home" Write-Host "msiexec.exe" $args Start-Process -FilePath "msiexec.exe" -ArgumentList $args -Wait -Passthru Write-Host "Python $python_version ($architecture) installation complete" return $true } function InstallPip ($python_home) { $pip_path = $python_home + "/Scripts/pip.exe" $python_path = $python_home + "/python.exe" if (-not(Test-Path $pip_path)) { Write-Host "Installing pip..." $webclient = New-Object System.Net.WebClient $webclient.DownloadFile($GET_PIP_URL, $GET_PIP_PATH) Write-Host "Executing:" $python_path $GET_PIP_PATH Start-Process -FilePath "$python_path" -ArgumentList "$GET_PIP_PATH" -Wait -Passthru } else { Write-Host "pip already installed." } } function InstallPackage ($python_home, $pkg) { $pip_path = $python_home + "/Scripts/pip.exe" & $pip_path install $pkg } function main () { InstallPython $env:PYTHON_VERSION $env:PYTHON_ARCH $env:PYTHON InstallPip $env:PYTHON InstallPackage $env:PYTHON wheel } main cobrapy-0.4.0b6/appveyor/run_with_env.cmd000066400000000000000000000064461263606473700204730ustar00rootroot00000000000000:: To build extensions for 64 bit Python 3, we need to configure environment :: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of: :: MS Windows SDK for Windows 7 and .NET Framework 4 (SDK v7.1) :: :: To build extensions for 64 bit Python 2, we need to configure environment :: variables to use the MSVC 2008 C++ compilers from GRMSDKX_EN_DVD.iso of: :: MS Windows SDK for Windows 7 and .NET Framework 3.5 (SDK v7.0) :: :: 32 bit builds, and 64-bit builds for 3.5 and beyond, do not require specific :: environment configurations. :: :: Note: this script needs to be run with the /E:ON and /V:ON flags for the :: cmd interpreter, at least for (SDK v7.0) :: :: More details at: :: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows :: http://stackoverflow.com/a/13751649/163740 :: :: Author: Olivier Grisel :: License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/ :: :: Notes about batch files for Python people: :: :: Quotes in values are literally part of the values: :: SET FOO="bar" :: FOO is now five characters long: " b a r " :: If you don't want quotes, don't include them on the right-hand side. :: :: The CALL lines at the end of this file look redundant, but if you move them :: outside of the IF clauses, they do not run properly in the SET_SDK_64==Y :: case, I don't know why. @ECHO OFF SET COMMAND_TO_RUN=%* SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows SET WIN_WDK=c:\Program Files (x86)\Windows Kits\10\Include\wdf :: Extract the major and minor versions, and allow for the minor version to be :: more than 9. This requires the version number to have two dots in it. SET MAJOR_PYTHON_VERSION=%PYTHON_VERSION:~0,1% IF "%PYTHON_VERSION:~3,1%" == "." ( SET MINOR_PYTHON_VERSION=%PYTHON_VERSION:~2,1% ) ELSE ( SET MINOR_PYTHON_VERSION=%PYTHON_VERSION:~2,2% ) :: Based on the Python version, determine what SDK version to use, and whether :: to set the SDK for 64-bit. IF %MAJOR_PYTHON_VERSION% == 2 ( SET WINDOWS_SDK_VERSION="v7.0" SET SET_SDK_64=Y ) ELSE ( IF %MAJOR_PYTHON_VERSION% == 3 ( SET WINDOWS_SDK_VERSION="v7.1" IF %MINOR_PYTHON_VERSION% LEQ 4 ( SET SET_SDK_64=Y ) ELSE ( SET SET_SDK_64=N IF EXIST "%WIN_WDK%" ( :: See: https://connect.microsoft.com/VisualStudio/feedback/details/1610302/ REN "%WIN_WDK%" 0wdf ) ) ) ELSE ( ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%" EXIT 1 ) ) IF %PYTHON_ARCH% == 64 ( IF %SET_SDK_64% == Y ( ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture SET DISTUTILS_USE_SDK=1 SET MSSdk=1 "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION% "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release ECHO Executing: %COMMAND_TO_RUN% call %COMMAND_TO_RUN% || EXIT 1 ) ELSE ( ECHO Using default MSVC build environment for 64 bit architecture ECHO Executing: %COMMAND_TO_RUN% call %COMMAND_TO_RUN% || EXIT 1 ) ) ELSE ( ECHO Using default MSVC build environment for 32 bit architecture ECHO Executing: %COMMAND_TO_RUN% call %COMMAND_TO_RUN% || EXIT 1 ) cobrapy-0.4.0b6/cobra/000077500000000000000000000000001263606473700145065ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/VERSION000066400000000000000000000000101263606473700155450ustar00rootroot000000000000000.4.0b6 cobrapy-0.4.0b6/cobra/__init__.py000066400000000000000000000016371263606473700166260ustar00rootroot00000000000000# set the warning format to be on a single line import warnings as _warnings from os.path import abspath as _abspath, dirname as _dirname from os import name as _name # set the warning format to be prettier and fit on one line _cobra_path = _dirname(_abspath(__file__)) if _name == "posix": _warning_base = "%s:%s \x1b[1;31m%s\x1b[0m: %s\n" # colors else: _warning_base = "%s:%s %s: %s\n" def _warn_format(message, category, filename, lineno, file=None, line=None): shortname = filename.replace(_cobra_path, "cobra", 1) return _warning_base % (shortname, lineno, category.__name__, message) _warnings.formatwarning = _warn_format from .version import get_version __version__ = get_version() from .core import Object, Metabolite, Gene, Reaction, Model, \ DictList, Species from . import io, flux_analysis, design try: from .core import ArrayBasedModel except ImportError: None del get_version cobrapy-0.4.0b6/cobra/clean.sh000066400000000000000000000001241263606473700161210ustar00rootroot00000000000000find . -type f -regex '.*pyc' | xargs rm find . -type f -regex '.*class' | xargs rm cobrapy-0.4.0b6/cobra/core/000077500000000000000000000000001263606473700154365ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/core/ArrayBasedModel.py000066400000000000000000000403131263606473700210070ustar00rootroot00000000000000from sys import maxsize from copy import deepcopy from warnings import warn from numpy import array, hstack, ndarray from scipy.sparse import lil_matrix, dok_matrix from .Model import Model from six import iteritems class ArrayBasedModel(Model): """ArrayBasedModel is a class that adds arrays and vectors to a cobra.Model to make it easier to perform linear algebra operations. """ def __init__(self, description=None, deepcopy_model=False, matrix_type='scipy.lil_matrix'): """ description: None | String | cobra.Model deepcopy_model: Boolean. If True and description is a cobra.Model then make a deepcopy of the Model before creating the ArrayBasedModel. matrix_type: 'scipy.lil_matrix' or 'scipy.dok_matrix' Specifies which type of backend matrix to use for S. """ if deepcopy_model and isinstance(description, Model): description = description.copy() Model.__init__(self, description) self._S = None self.matrix_type = matrix_type self.update() # no setter for S at the moment @property def S(self): """Stoichiometric matrix of the model This will be formatted as either :class:`~scipy.sparse.lil_matrix` or :class:`~scipy.sparse.dok_matrix` """ return self._S @property def lower_bounds(self): return self._lower_bounds @lower_bounds.setter def lower_bounds(self, vector): self._update_from_vector("lower_bounds", vector) @property def upper_bounds(self): return self._upper_bounds @upper_bounds.setter def upper_bounds(self, vector): self._update_from_vector("upper_bounds", vector) @property def objective_coefficients(self): return self._objective_coefficients @objective_coefficients.setter def objective_coefficients(self, vector): self._update_from_vector("objective_coefficients", vector) @property def b(self): """bounds for metabolites as :class:`numpy.ndarray`""" return self._b @b.setter def b(self, b): self._update_from_vector("b", vector) @property def constraint_sense(self): return self._constraint_sense @constraint_sense.setter def constraint_sense(self, vector): self._update_from_vector("_constraint_sense", vector) def copy(self): """Provides a partial 'deepcopy' of the Model. All of the Metabolite, Gene, and Reaction objects are created anew but in a faster fashion than deepcopy """ the_copy = Model.copy(self) the_copy.update() return the_copy def add_metabolites(self, metabolite_list, expand_stoichiometric_matrix=True): """Will add a list of metabolites to the the object, if they do not exist and then expand the stochiometric matrix metabolite_list: A list of :class:`~cobra.core.Metabolite` objects expand_stoichimetric_matrix: Boolean. If True and self.S is not None then it will add rows to self.S. self.S must be created after adding reactions and metabolites to self before it can be expanded. Trying to expand self.S when self only contains metabolites is ludacris. """ Model.add_metabolites(self, metabolite_list) if self._S is not None and expand_stoichiometric_matrix: s_expansion = len(self.metabolites) - self._S.shape[0] if s_expansion > 0: self._S.resize((self._S.shape[0] + s_expansion, self._S.shape[1])) self._update_metabolite_vectors() def _update_from_vector(self, attribute, vector): """convert from model.reactions = v to model.reactions[:] = v""" # this will fail if vector is the wrong length getattr(self, attribute)[:] = vector def _update_reaction(self, reaction): """Updates everything associated with the reaction.id of reaction. reaction: A cobra.Reaction object, or a list of these objects. WARNING: This function is only used after the Model has been converted to matrices. It is typically faster to access the objects in the Model directly. This function will eventually moved to another module for advanced users due to the potential for mistakes. """ if not hasattr(reaction, '__iter__'): reaction = [reaction] Model._update_reaction(reaction) for the_reaction in reaction: try: reaction_index = self.reactions.index(the_reaction.id) except KeyError: warn(the_reaction.id + ' is not in the model') continue # zero reaction stoichiometry column the_column = self._S[:, reaction_index] for nonzero_index in the_column.nonzero()[0]: the_column[nonzero_index, 0] = 0 self._lower_bounds[reaction_index] = the_reaction.lower_bound self._upper_bounds[reaction_index] = the_reaction.upper_bound self.objective_coefficients[ reaction_index] = the_reaction.objective_coefficient self.add_metabolites(the_reaction._metabolites) # Make sure that the metabolites are the ones contained in the # model the_reaction._metabolites = [self.metabolite.get_by_id(x.id) for x in the_reaction._metabolites] # Update the stoichiometric matrix metabolite_indices = map( self.metabolites.index, the_reaction._metabolites) for (index, metabolite_index) in enumerate(metabolite_indices): self._S[metabolite_index, reaction_index] = \ the_reaction.stoichiometric_coefficients[index] def add_reactions(self, reaction_list, update_matrices=True): """Will add a cobra.Reaction object to the model, if reaction.id is not in self.reactions. reaction_list: A :class:`~cobra.core.Reaction` object or a list of them update_matrices: Boolean. If true populate / update matrices S, lower_bounds, upper_bounds, .... Note this is slow to run for very large models and using this option with repeated calls will degrade performance. Better to call self.update() after adding all reactions. If the stoichiometric matrix is initially empty then initialize a 1x1 sparse matrix and add more rows as needed in the self.add_metabolites function """ Model.add_reactions(self, reaction_list) if update_matrices: self._update_matrices(reaction_list) def remove_reactions(self, reactions, update_matrices=True, **kwargs): """remove reactions from the model See :func:`cobra.core.Model.Model.remove_reactions` update_matrices: Boolean If true populate / update matrices S, lower_bounds, upper_bounds. Note that this is slow to run for very large models, and using this option with repeated calls will degrade performance. """ Model.remove_reactions(self, reactions, **kwargs) if update_matrices: self._update_matrices() def _construct_matrices(self): """Large sparse matrices take time to construct and to read / write. This function allows one to let the model exists without cobra_model.S and then generate it at needed. """ self._update_matrices() # This does basic construction as well. def _update_reaction_vectors(self): """regenerates the lower_bounds, upper_bounds, and objective_coefficients vectors. WARNING: This function is only used after the Model has been converted to matrices. It is typically faster to access the objects in the Model directly. This function will eventually moved to another module for advanced users due to the potential for mistakes. """ self._lower_bounds = LinkedArray(self.reactions, "lower_bound") self._upper_bounds = LinkedArray(self.reactions, "upper_bound") self._objective_coefficients = LinkedArray(self.reactions, "objective_coefficient") def _update_metabolite_vectors(self): """regenerates _b and _constraint_sense WARNING: This function is only used after the Model has been converted to matrices. It is typically faster to access the objects in the Model directly. This function will eventually moved to another module for advanced users due to the potential for mistakes. """ self._b = LinkedArray(self.metabolites, "_bound") self._constraint_sense = LinkedArray( self.metabolites, "_constraint_sense") def _update_matrices(self, reaction_list=None): """ reaction_list: None or a list of cobra.Reaction objects that are in self.reactions. If None then reconstruct the whole matrix. NOTE: reaction_list is assumed to be at the end of self.reactions. In the future, we'll be able to use reactions from anywhere in the list WARNING: This function is only used after the Model has been converted to matrices. It is typically faster to access the objects in the Model directly. This function will eventually moved to another module for advanced users due to the potential for mistakes. """ # no need to create matrix if there are no reactions or metabolites if len(self.reactions) == 0 and len(self.metabolites) == 0: return elif len(self.metabolites) == 0: self._update_reaction_vectors() return elif len(self.reactions) == 0: self._update_metabolite_vectors() return # Pretty much all of these things are unnecessary to use the objects # and interact with the optimization solvers. It might be best to move # them to linear algebra modules. If no reactions are present in the # Model, initialize the arrays if self._S is None or reaction_list is None: reaction_list = self.reactions SMatrix = SMatrix_classes[self.matrix_type] self._S = SMatrix((len(self.metabolites), len(self.reactions)), model=self) self._update_reaction_vectors() else: # Expand the arrays to accomodate the new reaction self._S.resize((len(self.metabolites), len(self.reactions))) lower_bounds = array([x.lower_bound for x in reaction_list]) upper_bounds = array([x.upper_bound for x in reaction_list]) objective_coefficients = array([x.objective_coefficient for x in reaction_list]) self._lower_bounds._extend(lower_bounds) self._upper_bounds._extend(upper_bounds) self._objective_coefficients._extend(objective_coefficients) coefficient_dictionary = {} for the_reaction in reaction_list: reaction_index = self.reactions.index(the_reaction.id) for the_key, the_value in the_reaction._metabolites.items(): coefficient_dictionary[(self.metabolites.index(the_key.id), reaction_index)] = the_value self._S.update(coefficient_dictionary) def update(self): """Regenerates the stoichiometric matrix and vectors""" self._update_matrices() self._update_metabolite_vectors() class LinkedArray(ndarray): """A :class:`numpy.ndarray` which updates an attribute from a list""" def __new__(cls, list, attribute): # construct a new ndarray with the values from the list # For example, if the list if model.reactions and the attribute is # "lower_bound" create an array of [reaction.lower_bound for ... ] x = array([getattr(i, attribute) for i in list]).view(cls) return x.copy() def __init__(self, list, attribute): self._list = list self._attr = attribute def __setitem__(self, index, value): ndarray.__setitem__(self, index, value) if isinstance(index, slice): for i, entry in enumerate(self._list[index]): setattr(entry, self._attr, value) else: setattr(self._list[index], self._attr, value) def __setslice__(self, i, j, value): ndarray.__setitem__(self, slice(i, j), value) if j == maxsize: j = len(self) if hasattr(value, "__getitem__"): # setting to a list for index in range(i, j): setattr(self._list[index], self._attr, value[index]) else: for index in range(i, j): setattr(self._list[index], self._attr, value) def _extend(self, other): old_size = len(self) new_size = old_size + len(other) self.resize(new_size, refcheck=False) ndarray.__setitem__(self, slice(old_size, new_size), other) class SMatrix_dok(dok_matrix): """A 2D sparse dok matrix which maintains links to a cobra Model""" def __init__(self, *args, **kwargs): dok_matrix.__init__(self, *args) self.format = "dok" self._model = kwargs["model"] if "model" in kwargs else None def __setitem__(self, index, value): dok_matrix.__setitem__(self, index, value) if isinstance(index[0], int) and isinstance(index[1], int): reaction = self._model.reactions[index[1]] if value != 0: reaction.add_metabolites( {self._model.metabolites[index[0]]: value}, combine=False) else: # setting 0 means metabolites should be removed metabolite = self._model.metabolites[index[0]] if metabolite in reaction._metabolites: reaction.pop(metabolite) def tolil(self): new = SMatrix_lil(dok_matrix.tolil(self), model=self._model) return new class SMatrix_lil(lil_matrix): """A 2D sparse lil matrix which maintains links to a cobra Model""" def __init__(self, *args, **kwargs): lil_matrix.__init__(self, *args) self.format = "lil" self._model = kwargs["model"] if "model" in kwargs else None def __setitem__(self, index, value): lil_matrix.__setitem__(self, index, value) if isinstance(index[0], int): metabolites = [self._model.metabolites[index[0]]] else: metabolites = self._model.metabolites[index[0]] if isinstance(index[1], int): reactions = [self._model.reactions[index[1]]] else: reactions = self._model.reactions[index[1]] if value == 0: # remove_metabolites met_set = set(metabolites) for reaction in reactions: to_remove = met_set.intersection(reaction._metabolites) for i in to_remove: reaction.pop(i) else: # add metabolites met_dict = {met: value for met in metabolites} for reaction in reactions: reaction.add_metabolites(met_dict, combine=False) def update(self, value_dict): """update matrix without propagating to model""" if len(value_dict) < 100: # TODO benchmark for heuristic for index, value in iteritems(value_dict): lil_matrix.__setitem__(self, index, value) else: matrix = lil_matrix.todok(self) matrix.update(value_dict) self = SMatrix_lil(matrix.tolil(), model=self._model) self._model._S = self def todok(self): new = SMatrix_dok(lil_matrix.todok(self), model=self._model) return new # TODO: check if implemented before using own function def resize(self, shape): matrix = lil_matrix.todok(self) matrix.resize(shape) self = SMatrix_lil(matrix.tolil(), model=self._model) self._model._S = self SMatrix_classes = {"scipy.dok_matrix": SMatrix_dok, "scipy.lil_matrix": SMatrix_lil} cobrapy-0.4.0b6/cobra/core/DictList.py000066400000000000000000000276701263606473700175430ustar00rootroot00000000000000from copy import copy, deepcopy import re from six import string_types, iteritems, PY3 from itertools import islice try: from numpy import bool_ except: bool_ = bool class DictList(list): """A combined dict and list This object behaves like a list, but has the O(1) speed benefits of a dict when looking up elements by their id. """ def __init__(self, *args): if len(args) > 2: raise TypeError("takes at most 1 argument (%d given)" % len(args)) list.__init__(self) self._dict = {} if len(args) == 1: other = args[0] if isinstance(other, DictList): list.extend(self, other) self._dict = other._dict.copy() else: self.extend(other) def has_id(self, id): return id in self._dict def _check(self, id): """make sure duplicate id's are not added. This function is called before adding in elements. """ if id in self._dict: raise ValueError("id %s is already present in list" % str(id)) def _generate_index(self): """rebuild the _dict index""" self._dict = {v.id: k for k, v in enumerate(self)} def get_by_id(self, id): """return the element with a matching id""" return list.__getitem__(self, self._dict[id]) def list_attr(self, attribute): """return a list of the given attribute for every object """ return [getattr(i, attribute) for i in self] def query(self, search_function, attribute="id"): """query the list search_function: used to select which objects to return * a string, in which case any object.attribute containing the string will be returned * a compiled regular expression * a function which takes one argument and returns True for desired values attribute: the attribute to be searched for (default is 'id'). If this is None, the object itself is used. returns: a list of objects which match the query """ if attribute is None: def select_attribute(x): return x else: def select_attribute(x): return getattr(x, attribute) # if the search_function is a regular expression if isinstance(search_function, str): search_function = re.compile(search_function) if hasattr(search_function, "findall"): matches = (i for i in self if search_function.findall(select_attribute(i)) != []) else: matches = (i for i in self if search_function(select_attribute(i))) results = self.__class__() results._extend_nocheck(matches) return results def _replace_on_id(self, new_object): """Replace an object by another with the same id.""" the_id = new_object.id the_index = self._dict[the_id] list.__setitem__(self, the_index, new_object) # overriding default list functions with new ones def append(self, object): """append object to end""" the_id = object.id self._check(the_id) self._dict[the_id] = len(self) list.append(self, object) def union(self, iterable): """adds elements with id's not already in the model""" _dict = self._dict append = self.append for i in iterable: if i.id not in _dict: append(i) def extend(self, iterable): """extend list by appending elements from the iterable""" # Sometimes during initialization from an older pickle, _dict # will not have initialized yet, because the initialization class was # left unspecified. This is an issue because unpickling calls # DictList.extend, which requires the presence of _dict. Therefore, # the issue is caught and addressed here. if not hasattr(self, "_dict") or self._dict is None: self._dict = {} _dict = self._dict current_length = len(self) list.extend(self, iterable) for i, obj in enumerate(islice(self, current_length, None), current_length): the_id = obj.id if the_id not in _dict: _dict[the_id] = i else: # undo the extend and raise an error self = self[:current_length] self._check(the_id) # if the above succeeded, then the id must be present # twice in the list being added raise ValueError("id '%s' at index %d is non-unique. " "Is it present twice?" % (str(the_id), i)) def _extend_nocheck(self, iterable): """extends without checking for uniqueness This function should only be used internally by DictList when it can guarentee elements are already unique (as in when coming from self or other DictList). It will be faster because it skips these checks. """ current_length = len(self) list.extend(self, iterable) _dict = self._dict if current_length is 0: self._generate_index() return for i, obj in enumerate(islice(self, current_length, None), current_length): _dict[obj.id] = i def __add__(self, other): """x.__add__(y) <==> x + y other: iterable other must contain only unique id's which do not intersect with self """ total = DictList() total.extend(self) total.extend(other) return total def __iadd__(self, other): """x.__iadd__(y) <==> x += y other: iterable other must contain only unique id's whcih do not intersect with self """ self.extend(other) return self def __reduce__(self): return (self.__class__, (), self.__getstate__(), self.__iter__()) def __getstate__(self): """gets internal state This is only provided for backwards compatibilty so older versions of cobrapy can load pickles generated with cobrapy. In reality, the "_dict" state is ignored when loading a pickle""" return {"_dict": self._dict} def __setstate__(self, state): """sets internal state Ignore the passed in state and recalculate it. This is only for compatibility with older pickles which did not correctly specify the initialization class""" self._generate_index() def index(self, id, *args): """Determine the position in the list id: A string or a :class:`~cobra.core.Object.Object` """ # because values are unique, start and stop are not relevant if isinstance(id, string_types): try: return self._dict[id] except KeyError: raise ValueError("%s not found" % id) try: i = self._dict[id.id] if self[i] is not id: raise ValueError( "Another object with the identical id (%s) found" % id.id) return i except KeyError: raise ValueError("%s not found" % str(id)) def __contains__(self, object): """DictList.__contains__(object) <==> object in DictList object: str or :class:`~cobra.core.Object.Object` """ if hasattr(object, "id"): the_id = object.id # allow to check with the object itself in addition to the id else: the_id = object return the_id in self._dict def __copy__(self): the_copy = DictList() list.extend(the_copy, self) the_copy._dict = self._dict.copy() return the_copy def insert(self, index, object): """insert object before index""" self._check(object.id) list.insert(self, index, object) # all subsequent entries now have been shifted up by 1 _dict = self._dict for i, j in iteritems(_dict): if j >= index: _dict[i] = j + 1 _dict[object.id] = index def pop(self, *args): """remove and return item at index (default last).""" value = list.pop(self, *args) index = self._dict.pop(value.id) # If the pop occured from a location other than the end of the list, # we will need to subtract 1 from every entry afterwards if len(args) == 0 or args == [-1]: # removing from the end of the list return value _dict = self._dict for i, j in iteritems(_dict): if j > index: _dict[i] = j - 1 return value def remove(self, x): """.. warning :: Internal use only""" # Each item is unique in the list which allows this # It is much faster to do a dict lookup than n string comparisons self.pop(self.index(x)) # these functions are slower because they rebuild the _dict every time def reverse(self): """reverse *IN PLACE*""" list.reverse(self) self._generate_index() def sort(self, cmp=None, key=None, reverse=False): """stable sort *IN PLACE* cmp(x, y) -> -1, 0, 1 """ if key is None: def key(i): return i.id if PY3: list.sort(self, key=key, reverse=reverse) else: list.sort(self, cmp=cmp, key=key, reverse=reverse) self._generate_index() def __getitem__(self, i): if isinstance(i, int): return list.__getitem__(self, i) elif isinstance(i, slice): selection = self.__class__() selection._extend_nocheck(list.__getitem__(self, i)) return selection elif hasattr(i, "__len__"): if len(i) == len(self) and isinstance(i[0], (bool, bool_)): selection = self.__class__() result = (o for j, o in enumerate(self) if i[j]) selection._extend_nocheck(result) return selection else: return self.__class__(list.__getitem__(self, i)) else: return list.__getitem__(self, i) def __setitem__(self, i, y): if isinstance(i, slice): # In this case, y needs to be a list. We will ensure all # the id's are unique for obj in y: # need to be setting to a list self._check(obj.id) # Insert a temporary placeholder so we catch the presence # of a duplicate in the items being added self._dict[obj.id] = None list.__setitem__(self, i, y) self._generate_index() return self._dict.pop(self[i].id) the_id = y.id self._check(the_id) list.__setitem__(self, i, y) self._dict[the_id] = i def __delitem__(self, index): removed = self[index] list.__delitem__(self, index) if isinstance(removed, list): self._generate_index() return _dict = self._dict _dict.pop(removed.id) for i, j in iteritems(_dict): if j > index: _dict[i] = j - 1 def __getslice__(self, i, j): return self.__getitem__(slice(i, j)) def __setslice__(self, i, j, y): self.__setitem__(slice(i, j), y) def __delslice__(self, i, j): self.__delitem__(slice(i, j)) def __getattr__(self, attr): try: return DictList.get_by_id(self, attr) except KeyError: raise AttributeError("DictList has no attribute or entry %s" % (attr)) def __dir__(self): # override this to allow tab complete of items by their id attributes = dir(self.__class__) attributes.append("_dict") attributes.extend(self._dict.keys()) return attributes cobrapy-0.4.0b6/cobra/core/Formula.py000066400000000000000000000123031263606473700174140ustar00rootroot00000000000000import re from warnings import warn from copy import deepcopy from .Object import Object # Numbers are not required because of the |(?=[A-Z])? block. See the # discussion in https://github.com/opencobra/cobrapy/issues/128 for # more details. element_re = re.compile("([A-Z][a-z]?)([0-9.]+[0-9.]?|(?=[A-Z])?)") class Formula(Object): """Describes a Chemical Formula A legal formula string contains only letters and numbers. """ def __init__(self, formula=None): Object.__init__(self, formula) self.formula = formula self.elements = {} if self.formula is not None: self.parse_composition() def __add__(self, other_formula): """Combine two molecular formulas. other_formula: cobra.Formula or str of a chemical Formula. """ return Formula(self.formula + other_formula.formula) def parse_composition(self): """Breaks the chemical formula down by element.""" tmp_formula = self.formula # commonly occuring characters in incorrectly constructed formulas if "*" in tmp_formula: warn("invalid character '*' found in formula '%s'" % self.formula) tmp_formula = self.formula.replace("*", "") if "(" in tmp_formula or ")" in tmp_formula: warn("parenthesis found in formula '%s'" % self.formula) return composition = {} parsed = element_re.findall(tmp_formula) for (element, count) in parsed: if count == '': count = 1 else: try: count = float(count) int_count = int(count) if count == int_count: count = int_count else: warn("%s is not an integer (in formula %s)" % (count, self.formula)) except ValueError: warn("failed to parse %s (in formula %s)" % (count, self.formula)) self.elements = {} return if element in composition: composition[element] += count else: composition[element] = count self.elements = composition @property def weight(self): """Calculate the formula weight""" weight_dict = elements_and_molecular_weights try: return sum([count * elements_and_molecular_weights[element] for element, count in self.elements.items()]) except KeyError as e: warn("The element %s does not appear in the peridic table" % e) elements_and_molecular_weights = { 'H': 1.007940, 'He': 4.002602, 'Li': 6.941000, 'Be': 9.012182, 'B': 10.811000, 'C': 12.010700, 'N': 14.006700, 'O': 15.999400, 'F': 18.998403, 'Ne': 20.179700, 'Na': 22.989770, 'Mg': 24.305000, 'Al': 26.981538, 'Si': 28.085500, 'P': 30.973761, 'S': 32.065000, 'Cl': 35.453000, 'Ar': 39.948000, 'K': 39.098300, 'Ca': 40.078000, 'Sc': 44.955910, 'Ti': 47.867000, 'V': 50.941500, 'Cr': 51.996100, 'Mn': 54.938049, 'Fe': 55.845000, 'Co': 58.933200, 'Ni': 58.693400, 'Cu': 63.546000, 'Zn': 65.409000, 'Ga': 69.723000, 'Ge': 72.640000, 'As': 74.921600, 'Se': 78.960000, 'Br': 79.904000, 'Kr': 83.798000, 'Rb': 85.467800, 'Sr': 87.620000, 'Y': 88.905850, 'Zr': 91.224000, 'Nb': 92.906380, 'Mo': 95.940000, 'Tc': 98.000000, 'Ru': 101.070000, 'Rh': 102.905500, 'Pd': 106.420000, 'Ag': 107.868200, 'Cd': 112.411000, 'In': 114.818000, 'Sn': 118.710000, 'Sb': 121.760000, 'Te': 127.600000, 'I': 126.904470, 'Xe': 131.293000, 'Cs': 132.905450, 'Ba': 137.327000, 'La': 138.905500, 'Ce': 140.116000, 'Pr': 140.907650, 'Nd': 144.240000, 'Pm': 145.000000, 'Sm': 150.360000, 'Eu': 151.964000, 'Gd': 157.250000, 'Tb': 158.925340, 'Dy': 162.500000, 'Ho': 164.930320, 'Er': 167.259000, 'Tm': 168.934210, 'Yb': 173.040000, 'Lu': 174.967000, 'Hf': 178.490000, 'Ta': 180.947900, 'W': 183.840000, 'Re': 186.207000, 'Os': 190.230000, 'Ir': 192.217000, 'Pt': 195.078000, 'Au': 196.966550, 'Hg': 200.590000, 'Tl': 204.383300, 'Pb': 207.200000, 'Bi': 208.980380, 'Po': 209.000000, 'At': 210.000000, 'Rn': 222.000000, 'Fr': 223.000000, 'Ra': 226.000000, 'Ac': 227.000000, 'Th': 232.038100, 'Pa': 231.035880, 'U': 238.028910, 'Np': 237.000000, 'Pu': 244.000000, 'Am': 243.000000, 'Cm': 247.000000, 'Bk': 247.000000, 'Cf': 251.000000, 'Es': 252.000000, 'Fm': 257.000000, 'Md': 258.000000, 'No': 259.000000, 'Lr': 262.000000, 'Rf': 261.000000, 'Db': 262.000000, 'Sg': 266.000000, 'Bh': 264.000000, 'Hs': 277.000000, 'Mt': 268.000000, 'Ds': 281.000000, 'Rg': 272.000000, 'Cn': 285.000000, 'Uuq': 289.000000, 'Uuh': 292.000000 } cobrapy-0.4.0b6/cobra/core/Gene.py000066400000000000000000000154401263606473700166720ustar00rootroot00000000000000import re from warnings import warn from ast import parse as ast_parse, Name, And, Or, BitOr, BitAnd, BinOp, \ BoolOp, Attribute, Expression, NodeTransformer from keyword import kwlist from .Species import Species keywords = list(kwlist) keywords.remove("and") keywords.remove("or") keywords.extend(("True", "False")) keyword_re = re.compile(r"(?=\b(%s)\b)" % "|".join(keywords)) number_start_re = re.compile(r"(?=\b[0-9])") replacements = ( (".", "__COBRA_DOT__"), ("'", "__COBRA_SQUOTE__"), ('"', "__COBRA_DQUOTE__"), (":", "__COBRA_COLON__"), ("/", "__COBRA_FSLASH__"), ("\\", "__COBRA_BSLASH"), ("-", "__COBRA_DASH__"), ("=", "__COBRA_EQ__") ) # functions for gene reaction rules def ast2str(expr, level=0, names=None): """convert compiled ast to gene_reaction_rule str expr: str of a gene reaction rule level: internal use only names: optional dict of {Gene.id: Gene.name} Use this to get a rule str which uses names instead. This should be done for display purposes only. All gene_reaction_rule strings which are computed with should use the id. """ if isinstance(expr, Expression): return ast2str(expr.body, 0, names) \ if hasattr(expr, "body") else "" elif isinstance(expr, Name): return names.get(expr.id, expr.id) if names else expr.id elif isinstance(expr, BoolOp): op = expr.op if isinstance(op, Or): str_exp = " or ".join(ast2str(i, level + 1, names) for i in expr.values) elif isinstance(op, And): str_exp = " and ".join(ast2str(i, level + 1, names) for i in expr.values) else: raise TypeError("unsupported operation " + op.__class__.__name) return "(" + str_exp + ")" if level else str_exp elif expr is None: return "" else: raise TypeError("unsupported operation " + repr(expr)) def eval_gpr(expr, knockouts): """evaluate compiled ast of gene_reaction_rule with knockouts""" if isinstance(expr, Expression): return eval_gpr(expr.body, knockouts) elif isinstance(expr, Name): return expr.id not in knockouts elif isinstance(expr, BoolOp): op = expr.op if isinstance(op, Or): return any(eval_gpr(i, knockouts) for i in expr.values) elif isinstance(op, And): return all(eval_gpr(i, knockouts) for i in expr.values) else: raise TypeError("unsupported operation " + op.__class__.__name__) elif expr is None: return True else: raise TypeError("unsupported operation " + repr(expr)) class GPRCleaner(NodeTransformer): """Parses compiled ast of a gene_reaction_rule and identifies genes Parts of the tree are rewritten to allow periods in gene ID's and bitwise boolean operations""" def __init__(self): NodeTransformer.__init__(self) self.gene_set = set() def visit_Name(self, node): if node.id.startswith("__cobra_escape__"): node.id = node.id[16:] for char, escaped in replacements: if escaped in node.id: node.id = node.id.replace(escaped, char) self.gene_set.add(node.id) return node def visit_BinOp(self, node): self.generic_visit(node) if isinstance(node.op, BitAnd): return BoolOp(And(), (node.left, node.right)) elif isinstance(node.op, BitOr): return BoolOp(Or(), (node.left, node.right)) else: raise TypeError("unsupported operation '%s'" % node.op.__class__.__name__) def parse_gpr(str_expr): """parse gpr into AST returns: (ast_tree, {gene_ids})""" str_expr = str_expr.strip() if len(str_expr) == 0: return None, set() for char, escaped in replacements: if char in str_expr: str_expr = str_expr.replace(char, escaped) escaped_str = keyword_re.sub("__cobra_escape__", str_expr) escaped_str = number_start_re.sub("__cobra_escape__", escaped_str) tree = ast_parse(escaped_str, "", "eval") cleaner = GPRCleaner() cleaner.visit(tree) eval_gpr(tree, set()) # ensure the rule can be evaluated return tree, cleaner.gene_set class Gene(Species): def __init__(self, id=None, name="", functional=True): """ id: A string. name: String. A human readable name. functional: Boolean. Indicate whether the gene is functional. If it is not functional then it cannot be used in an enzyme complex nor can its products be used. """ Species.__init__(self, id=id, name=name) self.functional = functional def remove_from_model(self, model=None, make_dependent_reactions_nonfunctional=True): """Removes the association make_dependent_reactions_nonfunctional: Boolean. If True then replace the gene with 'False' in the gene association, else replace the gene with 'True' .. deprecated :: 0.4 Use cobra.manipulation.delete_model_genes to simulate knockouts and cobra.manipulation.remove_genes to remove genes from the model. """ warn("Use cobra.manipulation.remove_genes instead") if model is not None: if model != self._model: raise Exception("%s is a member of %s, not %s" % (repr(self), repr(self._model), repr(model))) if self._model is None: raise Exception('%s is not in a model' % repr(self)) if make_dependent_reactions_nonfunctional: gene_state = 'False' else: gene_state = 'True' the_gene_re = re.compile('(^|(?<=( |\()))%s(?=( |\)|$))' % re.escape(self.id)) self._model.genes.remove(self) self._model = None for the_reaction in list(self._reaction): the_reaction._gene_reaction_rule = the_gene_re.sub( gene_state, the_reaction.gene_reaction_rule) the_reaction._genes.remove(self) # Now, deactivate the reaction if its gene association evaluates # to False the_gene_reaction_relation = the_reaction.gene_reaction_rule for other_gene in the_reaction._genes: other_gene_re = re.compile('(^|(?<=( |\()))%s(?=( |\)|$))' % re.escape(other_gene.id)) the_gene_reaction_relation = other_gene_re.sub( 'True', the_gene_reaction_relation) if not eval(the_gene_reaction_relation): the_reaction.lower_bound = 0 the_reaction.upper_bound = 0 self._reaction.clear() cobrapy-0.4.0b6/cobra/core/Metabolite.py000066400000000000000000000167121263606473700201040ustar00rootroot00000000000000from warnings import warn import re from .Species import Species # Numbers are not required because of the |(?=[A-Z])? block. See the # discussion in https://github.com/opencobra/cobrapy/issues/128 for # more details. element_re = re.compile("([A-Z][a-z]?)([0-9.]+[0-9.]?|(?=[A-Z])?)") class Metabolite(Species): """Metabolite is a class for holding information regarding a metabolite in a cobra.Reaction object. """ def __init__(self, id=None, formula=None, name="", compartment=None): """ id: str formula: str Chemical formula (i.e. H2O) name: str A human readable name. compartment: None or a dictionary indicating the cellular location of the metabolite. Used when in a cobra.Reaction or Model object """ Species.__init__(self, id, name) self.formula = formula # because in a Model a metabolite may participate in multiple Reactions self.compartment = compartment self.charge = None self._constraint_sense = 'E' self._bound = 0. @property def elements(self): tmp_formula = self.formula if tmp_formula is None: return {} # necessary for some old pickles which use the deprecated # Formula class tmp_formula = str(self.formula) # commonly occuring characters in incorrectly constructed formulas if "*" in tmp_formula: warn("invalid character '*' found in formula '%s'" % self.formula) tmp_formula = tmp_formula.replace("*", "") if "(" in tmp_formula or ")" in tmp_formula: warn("invalid formula (has parenthesis) in '%s'" % self.formula) return None composition = {} parsed = element_re.findall(tmp_formula) for (element, count) in parsed: if count == '': count = 1 else: try: count = float(count) int_count = int(count) if count == int_count: count = int_count else: warn("%s is not an integer (in formula %s)" % (count, self.formula)) except ValueError: warn("failed to parse %s (in formula %s)" % (count, self.formula)) return None if element in composition: composition[element] += count else: composition[element] = count return composition @property def formula_weight(self): """Calculate the formula weight""" weight_dict = elements_and_molecular_weights try: return sum([count * elements_and_molecular_weights[element] for element, count in self.elements.items()]) except KeyError as e: warn("The element %s does not appear in the peridic table" % e) @property def y(self): """The shadow price for the metabolite in the most recent solution Shadow prices are computed from the dual values of the bounds in the solution. """ try: return self._model.solution.y_dict[self.id] except Exception as e: if self._model is None: raise Exception("not part of a model") if not hasattr(self._model, "solution") or \ self._model.solution is None or \ self._model.solution.status == "NA": raise Exception("model has not been solved") if self._model.solution.status != "optimal": raise Exception("model solution was not optimal") raise e # Not sure what the exact problem was def remove_from_model(self, method='subtractive', **kwargs): """Removes the association from self.model method: 'subtractive' or 'destructive'. If 'subtractive' then the metabolite is removed from all associated reactions. If 'destructive' then all associated reactions are removed from the Model. """ # why is model being taken in as a parameter? This plays # back to the question of allowing a Metabolite to be associated # with multiple Models if "model" in kwargs: warn("model argument deprecated") self._model.metabolites.remove(self) self._model = None if method.lower() == 'subtractive': for the_reaction in list(self._reaction): the_coefficient = the_reaction._metabolites[self] the_reaction.subtract_metabolites({self: the_coefficient}) elif method.lower() == 'destructive': for x in self._reaction: x.remove_from_model() else: raise Exception(method + " is not 'subtractive' or 'destructive'") elements_and_molecular_weights = { 'H': 1.007940, 'He': 4.002602, 'Li': 6.941000, 'Be': 9.012182, 'B': 10.811000, 'C': 12.010700, 'N': 14.006700, 'O': 15.999400, 'F': 18.998403, 'Ne': 20.179700, 'Na': 22.989770, 'Mg': 24.305000, 'Al': 26.981538, 'Si': 28.085500, 'P': 30.973761, 'S': 32.065000, 'Cl': 35.453000, 'Ar': 39.948000, 'K': 39.098300, 'Ca': 40.078000, 'Sc': 44.955910, 'Ti': 47.867000, 'V': 50.941500, 'Cr': 51.996100, 'Mn': 54.938049, 'Fe': 55.845000, 'Co': 58.933200, 'Ni': 58.693400, 'Cu': 63.546000, 'Zn': 65.409000, 'Ga': 69.723000, 'Ge': 72.640000, 'As': 74.921600, 'Se': 78.960000, 'Br': 79.904000, 'Kr': 83.798000, 'Rb': 85.467800, 'Sr': 87.620000, 'Y': 88.905850, 'Zr': 91.224000, 'Nb': 92.906380, 'Mo': 95.940000, 'Tc': 98.000000, 'Ru': 101.070000, 'Rh': 102.905500, 'Pd': 106.420000, 'Ag': 107.868200, 'Cd': 112.411000, 'In': 114.818000, 'Sn': 118.710000, 'Sb': 121.760000, 'Te': 127.600000, 'I': 126.904470, 'Xe': 131.293000, 'Cs': 132.905450, 'Ba': 137.327000, 'La': 138.905500, 'Ce': 140.116000, 'Pr': 140.907650, 'Nd': 144.240000, 'Pm': 145.000000, 'Sm': 150.360000, 'Eu': 151.964000, 'Gd': 157.250000, 'Tb': 158.925340, 'Dy': 162.500000, 'Ho': 164.930320, 'Er': 167.259000, 'Tm': 168.934210, 'Yb': 173.040000, 'Lu': 174.967000, 'Hf': 178.490000, 'Ta': 180.947900, 'W': 183.840000, 'Re': 186.207000, 'Os': 190.230000, 'Ir': 192.217000, 'Pt': 195.078000, 'Au': 196.966550, 'Hg': 200.590000, 'Tl': 204.383300, 'Pb': 207.200000, 'Bi': 208.980380, 'Po': 209.000000, 'At': 210.000000, 'Rn': 222.000000, 'Fr': 223.000000, 'Ra': 226.000000, 'Ac': 227.000000, 'Th': 232.038100, 'Pa': 231.035880, 'U': 238.028910, 'Np': 237.000000, 'Pu': 244.000000, 'Am': 243.000000, 'Cm': 247.000000, 'Bk': 247.000000, 'Cf': 251.000000, 'Es': 252.000000, 'Fm': 257.000000, 'Md': 258.000000, 'No': 259.000000, 'Lr': 262.000000, 'Rf': 261.000000, 'Db': 262.000000, 'Sg': 266.000000, 'Bh': 264.000000, 'Hs': 277.000000, 'Mt': 268.000000, 'Ds': 281.000000, 'Rg': 272.000000, 'Cn': 285.000000, 'Uuq': 289.000000, 'Uuh': 292.000000 } cobrapy-0.4.0b6/cobra/core/Model.py000066400000000000000000000341521263606473700170550ustar00rootroot00000000000000from warnings import warn from copy import deepcopy, copy from six import iteritems, string_types from ..solvers import optimize from .Object import Object from .Solution import Solution from .Reaction import Reaction from .DictList import DictList # Note, when a reaction is added to the Model it will no longer keep personal # instances of its Metabolites, it will reference Model.metabolites to improve # performance. When doing this, take care to monitor metabolite coefficients. # Do the same for Model.reactions[:].genes and Model.genes class Model(Object): """Metabolic Model Refers to Metabolite, Reaction, and Gene Objects. """ def __setstate__(self, state): """Make sure all cobra.Objects in the model point to the model""" self.__dict__.update(state) for y in ['reactions', 'genes', 'metabolites']: for x in getattr(self, y): x._model = self if not hasattr(self, "name"): self.name = None def __init__(self, id_or_model=None, name=None): if isinstance(id_or_model, Model): Object.__init__(self, name=name) self.__setstate__(id_or_model.__dict__) if not hasattr(self, "name"): self.name = None else: Object.__init__(self, id_or_model, name=name) self._trimmed = False self._trimmed_genes = [] self._trimmed_reactions = {} self.genes = DictList() self.reactions = DictList() # A list of cobra.Reactions self.metabolites = DictList() # A list of cobra.Metabolites # genes based on their ids {Gene.id: Gene} self.compartments = {} self.solution = Solution(None) self.media_compositions = {} @property def description(self): warn("description deprecated") return self.name if self.name is not None else "" @description.setter def description(self, value): self.name = value warn("description deprecated") def __add__(self, other_model): """Adds two models. + The issue of reactions being able to exists in multiple Models now arises, the same for metabolites and such. This might be a little difficult as a reaction with the same name / id in two models might have different coefficients for their metabolites due to pH and whatnot making them different reactions. """ new_model = self.copy() new_reactions = deepcopy(other_model.reactions) new_model.add_reactions(new_reactions) new_model.id = self.id + '_' + other_model.id return new_model def __iadd__(self, other_model): """Adds a Model to this model += The issue of reactions being able to exists in multiple Models now arises, the same for metabolites and such. This might be a little difficult as a reaction with the same name / id in two models might have different coefficients for their metabolites due to pH and whatnot making them different reactions. """ new_reactions = deepcopy(other_model.reactions) self.add_reactions(new_reactions) self.id = self.id + '_' + other_model.id return self def copy(self): """Provides a partial 'deepcopy' of the Model. All of the Metabolite, Gene, and Reaction objects are created anew but in a faster fashion than deepcopy """ new = self.__class__() do_not_copy = {"metabolites", "reactions", "genes"} for attr in self.__dict__: if attr not in do_not_copy: new.__dict__[attr] = self.__dict__[attr] new.metabolites = DictList() do_not_copy = {"_reaction", "_model"} for metabolite in self.metabolites: new_met = metabolite.__class__() for attr, value in iteritems(metabolite.__dict__): if attr not in do_not_copy: new_met.__dict__[attr] = copy( value) if attr == "formula" else value new_met._model = new new.metabolites.append(new_met) new.genes = DictList() for gene in self.genes: new_gene = gene.__class__(None) for attr, value in iteritems(gene.__dict__): if attr not in do_not_copy: new_gene.__dict__[attr] = copy( value) if attr == "formula" else value new_gene._model = new new.genes.append(new_gene) new.reactions = DictList() do_not_copy = {"_model", "_metabolites", "_genes"} for reaction in self.reactions: new_reaction = reaction.__class__() for attr, value in iteritems(reaction.__dict__): if attr not in do_not_copy: new_reaction.__dict__[attr] = value new_reaction._model = new new.reactions.append(new_reaction) # update awareness for metabolite, stoic in iteritems(reaction._metabolites): new_met = new.metabolites.get_by_id(metabolite.id) new_reaction._metabolites[new_met] = stoic new_met._reaction.add(new_reaction) for gene in reaction._genes: new_gene = new.genes.get_by_id(gene.id) new_reaction._genes.add(new_gene) new_gene._reaction.add(new_reaction) return new def add_metabolites(self, metabolite_list): """Will add a list of metabolites to the the object, if they do not exist and then expand the stochiometric matrix metabolite_list: A list of :class:`~cobra.core.Metabolite` objects """ if not hasattr(metabolite_list, '__iter__'): metabolite_list = [metabolite_list] # First check whether the metabolites exist in the model metabolite_list = [x for x in metabolite_list if x.id not in self.metabolites] for x in metabolite_list: x._model = self self.metabolites += metabolite_list def add_reaction(self, reaction): """Will add a cobra.Reaction object to the model, if reaction.id is not in self.reactions. reaction: A :class:`~cobra.core.Reaction` object """ self.add_reactions([reaction]) def add_reactions(self, reaction_list): """Will add a cobra.Reaction object to the model, if reaction.id is not in self.reactions. reaction_list: A list of :class:`~cobra.core.Reaction` objects """ # Only add the reaction if one with the same ID is not already # present in the model. # This function really should not used for single reactions if not hasattr(reaction_list, "__len__"): reaction_list = [reaction_list] warn("Use add_reaction for single reactions") reaction_list = DictList(reaction_list) reactions_in_model = [ i.id for i in reaction_list if self.reactions.has_id( i.id)] if len(reactions_in_model) > 0: raise Exception("Reactions already in the model: " + ", ".join(reactions_in_model)) # Add reactions. Also take care of genes and metabolites in the loop for reaction in reaction_list: reaction._model = self # the reaction now points to the model # keys() is necessary because the dict will be modified during # the loop for metabolite in list(reaction._metabolites.keys()): # if the metabolite is not in the model, add it # should we be adding a copy instead. if not self.metabolites.has_id(metabolite.id): self.metabolites.append(metabolite) metabolite._model = self # this should already be the case. Is it necessary? metabolite._reaction = set([reaction]) # A copy of the metabolite exists in the model, the reaction # needs to point to the metabolite in the model. else: stoichiometry = reaction._metabolites.pop(metabolite) model_metabolite = self.metabolites.get_by_id( metabolite.id) reaction._metabolites[model_metabolite] = stoichiometry model_metabolite._reaction.add(reaction) for gene in list(reaction._genes): # If the gene is not in the model, add it if not self.genes.has_id(gene.id): self.genes.append(gene) gene._model = self # this should already be the case. Is it necessary? gene._reaction = set([reaction]) # Otherwise, make the gene point to the one in the model else: model_gene = self.genes.get_by_id(gene.id) if model_gene is not gene: reaction._dissociate_gene(gene) reaction._associate_gene(model_gene) self.reactions += reaction_list def to_array_based_model(self, deepcopy_model=False, **kwargs): """Makes a :class:`~cobra.core.ArrayBasedModel` from a cobra.Model which may be used to perform linear algebra operations with the stoichiomatric matrix. deepcopy_model: Boolean. If False then the ArrayBasedModel points to the Model """ from .ArrayBasedModel import ArrayBasedModel return ArrayBasedModel(self, deepcopy_model=deepcopy_model, **kwargs) def optimize(self, objective_sense='maximize', **kwargs): r"""Optimize model using flux balance analysis objective_sense: 'maximize' or 'minimize' solver: 'glpk', 'cglpk', 'gurobi', 'cplex' or None quadratic_component: None or :class:`scipy.sparse.dok_matrix` The dimensions should be (n, n) where n is the number of reactions. This sets the quadratic component (Q) of the objective coefficient, adding :math:`\\frac{1}{2} v^T \cdot Q \cdot v` to the objective. tolerance_feasibility: Solver tolerance for feasibility. tolerance_markowitz: Solver threshold during pivot time_limit: Maximum solver time (in seconds) .. NOTE :: Only the most commonly used parameters are presented here. Additional parameters for cobra.solvers may be available and specified with the appropriate keyword argument. """ solution = optimize(self, objective_sense=objective_sense, **kwargs) self.solution = solution return solution def remove_reactions(self, reactions, delete=True, remove_orphans=False): """remove reactions from the model reactions: [:class:`~cobra.core.Reaction.Reaction`] or [str] The reactions (or their id's) to remove delete: Boolean Whether or not the reactions should be deleted after removal. If the reactions are not deleted, those objects will be recreated with new metabolite and gene objects. remove_orphans: Boolean Remove orphaned genes and metabolites from the model as well """ if isinstance(reactions, string_types) or hasattr(reactions, "id"): warn("need to pass in a list") reactions = [reactions] for reaction in reactions: try: reaction = self.reactions[self.reactions.index(reaction)] except ValueError: warn('%s not in %s' % (reaction, self)) else: if delete: reaction.delete(remove_orphans=remove_orphans) else: reaction.remove_from_model(remove_orphans=remove_orphans) def repair(self, rebuild_index=True, rebuild_relationships=True): """Update all indexes and pointers in a model""" if rebuild_index: # DictList indexes self.reactions._generate_index() self.metabolites._generate_index() self.genes._generate_index() if rebuild_relationships: for met in self.metabolites: met._reaction.clear() for gene in self.genes: gene._reaction.clear() for rxn in self.reactions: for met in rxn._metabolites: met._reaction.add(rxn) for gene in rxn._genes: gene._reaction.add(rxn) # point _model to self for l in (self.reactions, self.genes, self.metabolites): for e in l: e._model = self if self.solution is None: self.solution = Solution(None) return def change_objective(self, objectives): """Change the model objective""" self.objective = objectives @property def objective(self): return {reaction: reaction.objective_coefficient for reaction in self.reactions if reaction.objective_coefficient != 0} @objective.setter def objective(self, objectives): # set all objective coefficients to 0 initially for x in self.reactions: x.objective_coefficient = 0. # case of a single reaction if isinstance(objectives, string_types) or \ isinstance(objectives, Reaction): self.reactions.get_by_id(str(objectives)).objective_coefficient = 1 elif isinstance(objectives, int): self.reactions[objectives].objective_coefficient = 1 # case of an iterable else: for reaction_id in objectives: if isinstance(reaction_id, int): # index in a list reaction = self.reactions[reaction_id] else: reaction = self.reactions.get_by_id(str(reaction_id)) # objective coefficient obtained from a dict, and is 1. if # from a list. reaction.objective_coefficient = objectives[reaction_id] \ if hasattr(objectives, "items") else 1. cobrapy-0.4.0b6/cobra/core/Object.py000066400000000000000000000012461263606473700172210ustar00rootroot00000000000000from six import iteritems class Object(object): """Defines common behavior of object in cobra.core""" def __init__(self, id=None, name=""): """ id: None or a string """ self.id = id self.name = name self.notes = {} self.annotation = {} def __getstate__(self): """To prevent excessive replication during deepcopy.""" state = self.__dict__.copy() if '_model' in state: state['_model'] = None return state def __repr__(self): return "<%s %s at 0x%x>" % (self.__class__.__name__, self.id, id(self)) def __str__(self): return str(self.id) cobrapy-0.4.0b6/cobra/core/Reaction.py000066400000000000000000000575441263606473700175730ustar00rootroot00000000000000from __future__ import print_function from collections import defaultdict import re from copy import copy, deepcopy from warnings import warn from six import string_types, iteritems from .Object import Object from .Gene import Gene, parse_gpr, ast2str from .Metabolite import Metabolite class Frozendict(dict): """Read-only dictionary view""" def __setitem__(self, key, value): raise NotImplementedError("read-only") def __delitem__(self, key): raise NotImplementedError("read-only") def pop(self, key, value): raise NotImplementedError("read-only") def popitem(self): raise NotImplementedError("read-only") # precompiled regular expressions # Matches and/or in a gene reaction rule and_or_search = re.compile(r'\(| and| or|\+|\)', re.IGNORECASE) gpr_clean = re.compile(' {2,}') # This regular expression finds any single letter compartment enclosed in # square brackets at the beginning of the string. For example [c] : foo --> bar compartment_finder = re.compile("^\s*(\[[A-Za-z]\])\s*:*") # Regular expressions to match the arrows _reversible_arrow_finder = re.compile("<(-+|=+)>") _forward_arrow_finder = re.compile("(-+|=+)>") _reverse_arrow_finder = re.compile("<(-+|=+)") class Reaction(Object): """Reaction is a class for holding information regarding a biochemical reaction in a cobra.Model object """ def __init__(self, id=None, name='', subsystem='', lower_bound=0., upper_bound=1000., objective_coefficient=0.): """An object for housing reactions and associated information for cobra modeling. """ Object.__init__(self, id, name) self._gene_reaction_rule = '' self.subsystem = subsystem # The cobra.Genes that are used to catalyze the reaction self._genes = set() # A dictionary of metabolites and their stoichiometric coefficients in # this reaction. self._metabolites = {} # self.model is None or refers to the cobra.Model that # contains self self._model = None self.objective_coefficient = objective_coefficient self.upper_bound = upper_bound self.lower_bound = lower_bound # Used during optimization. Indicates whether the # variable is modeled as continuous, integer, binary, semicontinous, or # semiinteger. self.variable_kind = 'continuous' # read-only @property def metabolites(self): return Frozendict(self._metabolites) @property def genes(self): return frozenset(self._genes) @property def gene_reaction_rule(self): return self._gene_reaction_rule @gene_reaction_rule.setter def gene_reaction_rule(self, new_rule): self._gene_reaction_rule = new_rule.strip() try: _, gene_names = parse_gpr(self._gene_reaction_rule) except (SyntaxError, TypeError) as e: warn("malformed gene_reaction_rule '%s' for %s" % (new_rule, repr(self))) tmp_str = and_or_search.sub('', self._gene_reaction_rule) gene_names = set((gpr_clean.sub(' ', tmp_str).split(' '))) if '' in gene_names: gene_names.remove('') old_genes = self._genes if self._model is None: self._genes = {Gene(i) for i in gene_names} else: model_genes = self._model.genes self._genes = set() for id in gene_names: if model_genes.has_id(id): self._genes.add(model_genes.get_by_id(id)) else: new_gene = Gene(id) new_gene._model = self._model self._genes.add(new_gene) model_genes.append(new_gene) # Make the genes aware that it is involved in this reaction for g in self._genes: g._reaction.add(self) # make the old genes aware they are no longer involved in this reaction for g in old_genes: if g not in self._genes: # if an old gene is not a new gene try: g._reaction.remove(self) except: warn("could not remove old gene %s from reaction %s" % (g.id, self.id)) @property def gene_name_reaction_rule(self): """Display gene_reaction_rule with names intead. Do NOT use this string for computation. It is intended to give a representation of the rule using more familiar gene names instead of the often cryptic ids. """ names = {i.id: i.name for i in self._genes} ast = parse_gpr(self._gene_reaction_rule)[0] return ast2str(ast, names=names) @property def x(self): """The flux through the reaction in the most recent solution Flux values are computed from the primal values of the variables in the solution. """ try: return self._model.solution.x_dict[self.id] except Exception as e: if self._model is None: raise Exception("not part of a model") if not hasattr(self._model, "solution") or \ self._model.solution is None or \ self._model.solution.status == "NA": raise Exception("model has not been solved") if self._model.solution.status != "optimal": raise Exception("model solution was not optimal") raise e # Not sure what the exact problem was @property def reversibility(self): """Whether the reaction can proceed in both directions (reversible) This is computed from the current upper and lower bounds. """ return self.lower_bound < 0 and self.upper_bound > 0 @reversibility.setter def reversibility(self, value): warn("Setting reaction reversibility is ignored") @property def boundary(self): # single metabolite implies it must be a boundary if len(self._metabolites) == 1: return "system_boundary" # if there is more than one metabolite, if it ONLY produces or ONLY # consumes, it is also a boundary. all_stoichiometry = self._metabolites.values() if not min(all_stoichiometry) < 0 < max(all_stoichiometry): return "system_boundary" return None @property def model(self): """returns the model the reaction is a part of""" return self._model def _update_awareness(self): """Make sure all metabolites and genes that are associated with this reaction are aware of it. """ for x in self._metabolites: x._reaction.add(self) for x in self._genes: x._reaction.add(self) def remove_from_model(self, model=None, remove_orphans=False): """Removes the reaction from the model while keeping it intact remove_orphans: Boolean Remove orphaned genes and metabolites from the model as well model: deprecated argument, must be None """ if model is not None: warn("model does not need to be passed into remove_from_model") if model != self._model: raise Exception("Can not remove from a different model") if self._model is None: raise Exception("Reaction %s not in a model" % self.id) # preserve the original attributes (but as copies) model = self._model new_metabolites = {copy(met): value for met, value in iteritems(self._metabolites)} new_genes = {copy(i) for i in self._genes} # Begin removing from the model self._model = None model.reactions.remove(self) for x in self._metabolites: x._reaction.remove(self) if remove_orphans and len(x._reaction) == 0: model.metabolites.remove(x) for x in self._genes: x._reaction.remove(self) if remove_orphans and len(x._reaction) == 0: model.genes.remove(x) # Rebuild the model with the new independent genes/metabolites self._metabolites = {} self.add_metabolites(new_metabolites) self._genes = set() for k in new_genes: self._associate_gene(k) def delete(self, remove_orphans=False): """Completely delete a reaction This removes all associations between a reaction the associated model, metabolites and genes (unlike remove_from_model which only dissociates the reaction from the model). remove_orphans: Boolean Remove orphaned genes and metabolites from the model as well """ model = self._model if model is not None: self._model.reactions.remove(self) elif remove_orphans: # can't remove orphans if not part of a model remove_orphans = False self._model = None for x in self._metabolites: if self in x._reaction: x._reaction.remove(self) if remove_orphans and len(x._reaction) == 0: model.metabolites.remove(x) for x in self._genes: if self in x._reaction: x._reaction.remove(self) if remove_orphans and len(x._reaction) == 0: model.genes.remove(x) self._metabolites = {} self._genes = set() def __setstate__(self, state): """Probably not necessary to set _model as the cobra.Model that contains self sets the _model attribute for all metabolites and genes in the reaction. However, to increase performance speed we do want to let the metabolite and gene know that they are employed in this reaction """ # These are necessary for old pickles which store attributes # which have since been superceded by properties. if "reaction" in state: state.pop("reaction") if "gene_reaction_rule" in state: state["_gene_reaction_rule"] = state.pop("gene_reaction_rule") self.__dict__.update(state) for x in state['_metabolites']: setattr(x, '_model', self._model) x._reaction.add(self) for x in state['_genes']: setattr(x, '_model', self._model) x._reaction.add(self) def copy(self): """When copying a reaction, it is necessary to deepcopy the components so the list references aren't carried over. Additionally, a copy of a reaction is no longer in a cobra.Model. This should be fixed with self.__deecopy__ if possible """ # the_model = self._model # self._model = None new_reaction = deepcopy(self) # self._model = the_model return new_reaction def pop(self, metabolite_id): """Remove a metabolite from the reaction and return the stoichiometric coefficient. metabolite_id: str or :class:`~cobra.core.Metabolite.Metabolite` """ the_metabolite = metabolite_id if isinstance(the_metabolite, string_types): found_match = None for possible_match in self._metabolites: if possible_match.id == the_metabolite: found_match = possible_match break if found_match is None: raise KeyError( "No metabolite named %s in the reaction" % the_metabolite) else: the_metabolite = found_match the_coefficient = self._metabolites.pop(the_metabolite) the_metabolite._reaction.remove(self) return the_coefficient def __add__(self, other_reaction): """Adds two reactions to each other. Default behavior is to combine the metabolites but only use the remaining parameters from the first object. TODO: Either clean up metabolite associations or remove function TODO: Deal with gene association logic from adding reactions. TODO: Simplify and add in an __iadd__ """ new_reaction = deepcopy(self) new_reaction.id = self.id + '_' + other_reaction.id new_reaction.add_metabolites(deepcopy(other_reaction._metabolites)) new_reaction._genes.update(deepcopy(other_reaction._genes)) # Make all the genes aware of this reaction [x._reaction.add(new_reaction) for x in new_reaction._genes] gpr_1 = new_reaction.gene_reaction_rule gpr_2 = other_reaction.gene_reaction_rule if gpr_1 != '' and gpr_2 != '': new_reaction.gene_reaction_rule = '%s and %s' % (gpr_1, gpr_2) elif gpr_2 != '': new_reaction.gene_reaction_rule = gpr_2 return new_reaction def __sub__(self, other_reaction): """Subtracts two reactions. Default behavior is to combine the metabolites but only use the remaining parameters from the first object. Note: This is equivalent to adding reactions after changing the sign of the metabolites in other_reaction """ new_reaction = deepcopy(self) if self is other_reaction: other_reaction = deepcopy(other_reaction) new_reaction.id = self.id + '_' + other_reaction.id new_reaction.subtract_metabolites( deepcopy(other_reaction._metabolites)) return new_reaction def __imul__(self, the_coefficient): """Allows the reaction coefficients to be rapidly scaled. """ self._metabolites = {k: the_coefficient * v for k, v in iteritems(self._metabolites)} return self def __mul__(self, the_coefficient): """Allows a reaction to be multiplied by a coefficient. TODO: this should return a new reaction. """ self *= the_coefficient return self @property def reactants(self): """Return a list of reactants for the reaction.""" return [k for k, v in self._metabolites.items() if v < 0] @property def products(self): """Return a list of products for the reaction""" return [k for k, v in self._metabolites.items() if v > 0] def get_coefficient(self, metabolite_id): """Return the stoichiometric coefficient for a metabolite in the reaction. metabolite_id: str or :class:`~cobra.core.Metabolite.Metabolite` """ _id_to_metabolites = dict([(x.id, x) for x in self._metabolites]) if hasattr(metabolite_id, 'id'): metabolite_id = metabolite_id.id return self._metabolites[_id_to_metabolites[metabolite_id]] def get_coefficients(self, metabolite_ids): """Return the stoichiometric coefficients for a list of metabolites in the reaction. metabolite_ids: iterable Containing str or :class:`~cobra.core.Metabolite.Metabolite` """ return map(self.get_coefficient, metabolite_ids) def add_metabolites(self, metabolites, combine=True, add_to_container_model=True): """Add metabolites and stoichiometric coefficients to the reaction. If the final coefficient for a metabolite is 0 then it is removed from the reaction. metabolites: dict {:class:`~cobra.core.Metabolite.Metabolite`: coefficient} combine: Boolean. Describes behavior a metabolite already exists in the reaction. True causes the coefficients to be added. False causes the coefficient to be replaced. True and a metabolite already exists in the add_to_container_model: Boolean. Add the metabolite to the :class:`~cobra.core.Model.Model` the reaction is associated with (i.e. self.model) """ _id_to_metabolites = {x.id: x for x in self._metabolites} new_metabolites = [] for metabolite, coefficient in iteritems(metabolites): # If a metabolite already exists in the reaction then # just add them. if metabolite.id in _id_to_metabolites: reaction_metabolite = _id_to_metabolites[metabolite.id] if combine: self._metabolites[reaction_metabolite] += coefficient else: self._metabolites[reaction_metabolite] = coefficient else: # If the reaction is in a model, ensure we aren't using # a duplicate metabolite. try: metabolite = \ self._model.metabolites.get_by_id(metabolite.id) except: new_metabolites.append(metabolite) self._metabolites[metabolite] = coefficient # make the metabolite aware that it is involved in this # reaction metabolite._reaction.add(self) for metabolite, the_coefficient in list(self._metabolites.items()): if the_coefficient == 0: # make the metabolite aware that it no longer participates # in this reaction metabolite._reaction.remove(self) self._metabolites.pop(metabolite) if add_to_container_model and hasattr(self._model, 'add_metabolites'): self._model.add_metabolites(new_metabolites) def subtract_metabolites(self, metabolites): """This function will 'subtract' metabolites from a reaction, which means add the metabolites with -1*coefficient. If the final coefficient for a metabolite is 0 then the metabolite is removed from the reaction. metabolites: dict of {:class:`~cobra.core.Metabolite`: coefficient} These metabolites will be added to the reaction .. note:: A final coefficient < 0 implies a reactant. """ self.add_metabolites({k: -v for k, v in iteritems(metabolites)}) def clear_metabolites(self): """Remove all metabolites from the reaction""" for metabolite in list(self._metabolites.keys()): self.pop(metabolite) @property def reaction(self): """Human readable reaction string""" return self.build_reaction_string() @reaction.setter def reaction(self, value): return self.build_reaction_from_string(value) def build_reaction_string(self, use_metabolite_names=False): """Generate a human readable reaction string""" def format(number): return "" if number == 1 else str(number).rstrip(".") + " " reactant_dict = {} product_dict = {} id_type = 'id' if use_metabolite_names: id_type = 'name' reactant_bits = [] product_bits = [] for the_metabolite, coefficient in iteritems(self._metabolites): name = str(getattr(the_metabolite, id_type)) if coefficient > 0: product_bits.append(format(coefficient) + name) else: reactant_bits.append(format(abs(coefficient)) + name) reaction_string = ' + '.join(reactant_bits) if not self.reversibility: if self.lower_bound < 0 and self.upper_bound <= 0: reaction_string += ' <-- ' else: reaction_string += ' --> ' else: reaction_string += ' <=> ' reaction_string += ' + '.join(product_bits) return reaction_string def check_mass_balance(self): """Compute mass and charge balance for the reaction returns a dict of {element: amount} for unbalanced elements. "charge" is treated as an element in this dict This should be empty for balanced reactions. """ reaction_element_dict = defaultdict(int) for metabolite, coefficient in self._metabolites.items(): if metabolite.charge is not None: reaction_element_dict["charge"] += \ coefficient * metabolite.charge for element, amount in iteritems(metabolite.elements): reaction_element_dict[element] += coefficient * amount # filter out 0 values return {k: v for k, v in iteritems(reaction_element_dict) if v != 0} def get_compartments(self): """lists compartments the metabolites are in""" return list({x.compartment for x in self._metabolites}) def _associate_gene(self, cobra_gene): """Associates a cobra.Gene object with a cobra.Reaction. cobra_gene : :class:`~cobra.core.Gene.Gene` """ self._genes.add(cobra_gene) cobra_gene._reaction.add(self) cobra_gene._model = self._model def _dissociate_gene(self, cobra_gene): """Dissociates a cobra.Gene object with a cobra.Reaction. cobra_gene : :class:`~cobra.core.Gene.Gene` """ self._genes.remove(cobra_gene) cobra_gene._reaction.remove(self) def knock_out(self): """Change the upper and lower bounds of the reaction to 0.""" self.lower_bound = 0 self.upper_bound = 0 def build_reaction_from_string(self, reaction_str, verbose=True, fwd_arrow=None, rev_arrow=None, reversible_arrow=None, term_split="+"): # set the arrows forward_arrow_finder = _forward_arrow_finder if fwd_arrow is None \ else re.compile(re.escape(fwd_arrow)) reverse_arrow_finder = _reverse_arrow_finder if rev_arrow is None \ else re.compile(re.escape(rev_arrow)) reversible_arrow_finder = _reversible_arrow_finder \ if reversible_arrow is None \ else re.compile(re.escape(reversible_arrow)) if self._model is None: warn("no model found") model = None else: model = self._model original_str = "" + reaction_str # copy found_compartments = compartment_finder.findall(reaction_str) if len(found_compartments) == 1: compartment = found_compartments[0] reaction_str = compartment_finder.sub("", reaction_str) else: compartment = "" # reversible case arrow_match = reversible_arrow_finder.search(reaction_str) if arrow_match is not None: self.lower_bound = -1000 self.upper_bound = 1000 else: # irreversible # try forward arrow_match = forward_arrow_finder.search(reaction_str) if arrow_match is not None: self.upper_bound = 1000 self.lower_bound = 0 else: # must be reverse arrow_match = reverse_arrow_finder.search(reaction_str) if arrow_match is None: raise ValueError("no suitable arrow found in '%s'" % reaction_str) else: self.upper_bound = 0 self.lower_bound = -1000 reactant_str = reaction_str[:arrow_match.start()].strip() product_str = reaction_str[arrow_match.end():].strip() self.clear_metabolites() for substr, factor in ((reactant_str, -1), (product_str, 1)): if len(substr) == 0: continue for term in substr.split(term_split): term = term.strip() if term.lower() == "nothing": continue if " " in term: num_str, met_id = term.split() num = float(num_str.lstrip("(").rstrip(")")) * factor else: met_id = term num = factor met_id += compartment try: met = model.metabolites.get_by_id(met_id) except KeyError: if verbose: print("unknown metabolite '%s' created" % met_id) met = Metabolite(met_id) self.add_metabolites({met: num}) cobrapy-0.4.0b6/cobra/core/Solution.py000066400000000000000000000023171263606473700176270ustar00rootroot00000000000000class Solution(object): """Stores the solution from optimizing a cobra.Model. This is used to provide a single interface to results from different solvers that store their values in different ways. f: The objective value solver: A string indicating which solver package was used. x: List or Array of the values from the primal. x_dict: A dictionary of reaction ids that maps to the primal values. y: List or Array of the values from the dual. y_dict: A dictionary of reaction ids that maps to the dual values. """ def __init__(self, f, x=None, x_dict=None, y=None, y_dict=None, solver=None, the_time=0, status='NA'): self.solver = solver self.f = f self.x = x self.x_dict = x_dict self.status = status self.y = y self.y_dict = y_dict def dress_results(self, model): """.. warning :: deprecated""" from warning import warn warn("unnecessary to call this deprecated function") def __repr__(self): if self.f is None: return "" % (self.status, id(self)) return "" % (self.f, id(self)) cobrapy-0.4.0b6/cobra/core/Species.py000066400000000000000000000023311263606473700174020ustar00rootroot00000000000000from warnings import warn from copy import deepcopy from .Object import Object class Species(Object): """Species is a class for holding information regarding a chemical Species """ def __init__(self, id=None, name=None): """ id: A string. name: String. A human readable name. """ Object.__init__(self, id, name) self._model = None # references to reactions that operate on this species self._reaction = set() @property def reactions(self): return frozenset(self._reaction) def __getstate__(self): """Remove the references to container reactions when serializing to avoid problems associated with recursion. """ state = Object.__getstate__(self) state['_reaction'] = set() return state def copy(self): """When copying a reaction, it is necessary to deepcopy the components so the list references aren't carried over. Additionally, a copy of a reaction is no longer in a cobra.Model. This should be fixed with self.__deecopy__ if possible """ return deepcopy(self) @property def model(self): return(self._model) cobrapy-0.4.0b6/cobra/core/__init__.py000066400000000000000000000006721263606473700175540ustar00rootroot00000000000000from .DictList import DictList from .Object import Object from .Gene import Gene from .Metabolite import Metabolite from .Reaction import Reaction from .Solution import Solution from .Model import Model from .Species import Species try: import scipy except: scipy = None if scipy: from .ArrayBasedModel import ArrayBasedModel else: from warnings import warn warn("ArrayBasedModel requires scipy") del warn del scipy cobrapy-0.4.0b6/cobra/design/000077500000000000000000000000001263606473700157575ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/design/__init__.py000066400000000000000000000000411263606473700200630ustar00rootroot00000000000000from .design_algorithms import * cobrapy-0.4.0b6/cobra/design/design_algorithms.py000066400000000000000000000376211263606473700220440ustar00rootroot00000000000000from ..core import Model, Reaction, Metabolite from ..manipulation.modify import convert_to_irreversible, canonical_form from six import iteritems from collections import defaultdict from itertools import chain from copy import deepcopy def _add_decision_variable(model, reaction_id): """Add an integer decision variable for the given reaction.""" reaction = model.reactions.get_by_id(reaction_id) # add integer variable var = Reaction("%s_decision_var" % reaction_id) var.lower_bound = 0 var.upper_bound = 1 var.variable_kind = "integer" var.decision_reaction_id = reaction_id model.add_reaction(var) # add constraints # v <= ub * y --> v - ub * y <= 0 ub_constr = Metabolite("%s_upper_bound" % var.id) ub_constr._constraint_sense = "L" # v >= lb * y --> - v + lb * y <= 0 lb_constr = Metabolite("%s_lower_bound" % var.id) lb_constr._constraint_sense = "L" reaction.add_metabolites({lb_constr: - 1, ub_constr: 1}) var.add_metabolites({lb_constr: reaction.lower_bound, ub_constr: - reaction.upper_bound}) return var def set_up_optknock(model, chemical_objective, knockable_reactions, biomass_objective=None, n_knockouts=5, n_knockouts_required=True, dual_maximum=1000, copy=True): """Set up the OptKnock problem described by Burgard et al., 2003: Burgard AP, Pharkya P, Maranas CD. Optknock: a bilevel programming framework for identifying gene knockout strategies for microbial strain optimization. Biotechnol Bioeng. 2003;84(6):647-57. http://dx.doi.org/10.1002/bit.10803. model : :class:`~cobra.core.Model` object. chemical_objective: str. The ID of the reaction to maximize in the outer problem. knockable_reactions: [str]. A list of reaction IDs that can be knocked out. biomass_objective: str. The ID of the reaction to maximize in the inner problem. By default, this is the existing objective function in the passed model. n_knockouts: int. The number of knockouts allowable. n_knockouts_required: bool. Require exactly the number of knockouts specified by n_knockouts. dual_maximum: float or int. The upper bound for dual variables. copy: bool. Copy the model before making any modifications. Zachary King 2015 """ if copy: model = model.copy() # add the integer decision variables decision_variable_ids = [_add_decision_variable(model, r_id).id for r_id in knockable_reactions] # inner problem inner_problem = model.copy() if biomass_objective: found = False for reaction in inner_problem.reactions: obj = reaction.id == biomass_objective reaction.objective_coefficient = 1 if obj else 0 if obj: found = True if not found: raise Exception("Could not find biomass_objective %s in model" % biomass_objective) # dual of inner problem inner_dual = dual_problem(inner_problem, integer_vars_to_maintain=decision_variable_ids, already_irreversible=False, copy=False, dual_maximum=dual_maximum) # add constraints and variables from inner problem to outer problem inner_objectives = {} for reaction in inner_dual.reactions: inner_objectives[reaction.id] = reaction.objective_coefficient reaction.objective_coefficient = 0 if reaction.id in model.reactions: existing_reaction = model.reactions.get_by_id(reaction.id) for met, coeff in iteritems(reaction.metabolites): if met.id in model.metabolites: existing_reaction.add_metabolites( {model.metabolites.get_by_id(met.id): coeff}) else: existing_reaction.add_metabolites({deepcopy(met): coeff}) else: model.add_reaction(reaction) # constraint to set outer and inner objectives equal, and set chemical # objective equal_objectives_constr = Metabolite("equal_objectives_constraint") equal_objectives_constr._constraint_sense = "E" equal_objectives_constr._bound = 0 for reaction in model.reactions: if reaction.objective_coefficient != 0: reaction.add_metabolites({equal_objectives_constr: reaction.objective_coefficient}) inner_objective = inner_objectives.get(reaction.id, 0) if inner_objective: reaction.add_metabolites( {equal_objectives_constr: - inner_objective}) # set chemical objective reaction.objective_coefficient = 1 \ if reaction.id == chemical_objective else 0 # add the n_knockouts constraint n_knockouts_constr = Metabolite("n_knockouts_constraint") n_knockouts_constr._constraint_sense = "E" if n_knockouts_required else "G" n_knockouts_constr._bound = len(decision_variable_ids) - n_knockouts for r_id in decision_variable_ids: reaction = model.reactions.get_by_id(r_id) reaction.add_metabolites({n_knockouts_constr: 1}) return model def run_optknock(optknock_problem, solver=None, tolerance_integer=1e-9, **kwargs): """Run the OptKnock problem created with set_up_optknock. optknock_problem: :class:`~cobra.core.Model` object. The problem generated by set_up_optknock. solver: str. The name of the preferred solver. tolerance_integer: float. The integer tolerance for the MILP. **kwargs: Keyword arguments are passed to Model.optimize(). Zachary King 2015 """ solution = optknock_problem.optimize(solver=solver, tolerance_integer=tolerance_integer, **kwargs) solution.knockouts = [] for reaction in optknock_problem.reactions: if solution.x_dict.get(reaction.id, None) == 0: r_id = getattr(reaction, "decision_reaction_id", None) if r_id is not None: solution.knockouts.append(r_id) return solution # This function will generalize the set_up_optknock code to other MILPs: # def dual_embed(outer_model, inner_model, ..., objective_sense="maximize", # integer_vars_to_maintain=[], already_irreversible=False, # copy=True, dual_maximum=1000): # """Embed the dual of the inner model within the outer model""" def dual_problem(model, objective_sense="maximize", integer_vars_to_maintain=[], already_irreversible=False, copy=True, dual_maximum=1000): """Return a new model representing the dual of the model. Make the problem irreversible, then take the dual. Convert the problem: Maximize (c^T)x subject to Ax <= b, x >= 0 which is something like this in COBRApy: Maximize sum(objective_coefficient_j * reaction_j for all j) s.t. sum(coefficient_i_j * reaction_j for all j) <= metabolite_bound_i reaction_j <= upper_bound_j reaction_j >= 0 to the problem: Minimize (b^T)w subject to (A^T)w >= c, w >= 0 which is something like this in COBRApy (S matrix is m x n): Minimize sum( metabolite_bound_i * dual_i for all i ) + sum( upper_bound_j * dual_m+j for all j ) + s.t. sum( coefficient_i_j * dual_i for all i ) + sum( dual_2m+j' for all j' ) >= objective_coefficient_j dual_k >= 0 Arguments --------- model : :class:`~cobra.core.Model` object. objective_sense: str. The objective sense of the starting problem, either 'maximize' or 'minimize'. A minimization problems will be converted to a maximization before taking the dual. This function always returns a minimization problem. iteger_vars_to_maintain: [str]. A list of IDs for Boolean integer variables to be maintained in the dual problem. See 'Maintaining integer variables' below for more details already_irreversible: Boolean. If True, then do not convert the model to irreversible. copy: bool. If True, then make a copy of the model before modifying it. This is not necessary if already_irreversible is True. dual_maximum: float or int. The upper bound for dual variables. Maintaining integer variables ----------------------------- The argument integer_vars_to_maintain can be used to specify certin Boolean integer variables that will be maintained in the dual problem. This makes it possible to join outer and inner problems in a bi-level MILP. The method for maintaining integer variables is described by Tepper and Shlomi, 2010: Tepper N, Shlomi T. Predicting metabolic engineering knockout strategies for chemical production: accounting for competing pathways. Bioinformatics. 2010;26(4):536-43. doi:10.1093/bioinformatics/btp704. In COBRApy, this roughly translates to transforming (decision variables p, integer constraints o): Maximize (c^T)x subject to (A_x)x + (A_y)y <= b, x >= 0 (1) Maximize sum(objective_coefficient_j * reaction_j for all j) s.t. (2) sum(coeff_i_j * reaction_j for all j) + sum(decision_coeff_i_j * decision_var_j for all j) <= metabolite_bound_i (3) reaction_j <= upper_bound_j (4) reaction_j >= 0 to the problem: Minimize (b - (A_y)y)^T w subject to (A_x^T)w >= c, w >= 0 which linearizes to (with auxiliary variables z): Minimize (b^T)w - { ((A_y)y)^T w with yw --> z } subject to (A_x^T)w >= c, linearization constraints, w >= 0 Linearization constraints: z <= w_max * y, z <= w, z >= w - w_max * (1 - y), z >= 0 (5) Minimize sum( metabolite_bound_i * dual_i for all i ) + sum( upper_bound_j * dual_m+j for all j ) + - sum( decision_coeff_i_j * auxiliary_var_i_j for all combinations i, j ) s.t. (6) - sum( coefficient_i_j * dual_i for all i ) - dual_m+j <= - objective_coefficient_j (7) auxiliary_var_i_j - dual_maximum * decision_var_j <= 0 (8) auxiliary_var_i_j - dual_i <= 0 (9) - auxiliary_var_i_j + dual_i + dual_maximum * decision_var_j <= dual_maximum (10) dual_maximum >= dual_i >= 0 (11) dual_maximum >= dual_m+j >= 0 (12) dual_maximum >= auxiliary_var_i_j >= 0 (13) 1 >= decision_var_j >= 0 Zachary King 2015 """ # convert to canonical form and copy model = canonical_form(model, objective_sense=objective_sense, already_irreversible=already_irreversible, copy=copy) # new model for the dual dual = Model("%s_dual" % model.id) # keep track of dual_i dual_var_for_met = {} # add dual variables for constraints. (2) --> dual_i for metabolite in model.metabolites: # add constraints based on metabolite constraint sense if metabolite._constraint_sense != "L": raise Exception("Not a less than or equal constraint: %s" % metabolite.id) var = Reaction("%s__dual" % metabolite.id) # Without auxiliary variables, the objective coefficient would include # integer variables when present. However, we will separate out the # integer parts into objective coefficients for auxiliary variables. var.objective_coefficient = metabolite._bound # (5) # [dual_vars] >= 0 var.lower_bound = 0 var.upper_bound = dual_maximum dual.add_reaction(var) # remember dual_var_for_met[metabolite.id] = var # keep track of decision variables (integer_vars_to_maintain) as tuples: # (reaction in dual problem, reaction in original problem) integer_vars_added = [] # add constraints and upper bound variables for reaction in model.reactions: # integer vars to maintain if reaction.id in integer_vars_to_maintain: # keep these integer variables in the dual, with new transformed # constraints if (reaction.lower_bound not in [0, 1] or reaction.upper_bound not in [0, 1] or reaction.variable_kind != "integer"): raise Exception("Reaction %s from integer_vars_to_maintain is " "not a Boolean integer variable" % reaction.id) integer_var = Reaction(reaction.id) integer_var.upper_bound = reaction.upper_bound integer_var.lower_bound = reaction.lower_bound integer_var.variable_kind = reaction.variable_kind integer_var.objective_coefficient = 0 # constraints dual.add_reaction(integer_var) integer_vars_added.append((integer_var, reaction)) # other vars else: # other variables become constraints, (1) to (6) constr = Metabolite("%s__dual_constrained_by_c" % reaction.id) # (6) constr._constraint_sense = "L" constr._bound = - reaction.objective_coefficient for met, coeff in iteritems(reaction.metabolites): dual_var = dual_var_for_met[met.id] dual_var.add_metabolites({constr: - coeff}) # upper bound constraints -> variables (3) to (5) and (6) var_bound = Reaction("%s__dual_for_upper_bound_constraint" % reaction.id) # dual_m+j var_bound.objective_coefficient = reaction.upper_bound # (5) # [dual_vars] >= 0 var_bound.lower_bound = 0 var_bound.upper_bound = dual_maximum # add bound dual variables to dual constraints var_bound.add_metabolites({constr: -1}) # (6) dual.add_reaction(var_bound) # add auxiliary variables for integer_var, original_reaction in integer_vars_added: for metabolite, coeff in iteritems(original_reaction.metabolites): dual_var = dual_var_for_met[metabolite.id] # create an auxiliary variable aux_var = Reaction("%s__auxiliary__%s" % (integer_var.id, dual_var.id)) aux_var.lower_bound = 0 aux_var.upper_bound = dual_maximum aux_var.objective_coefficient = - coeff dual.add_reaction(aux_var) # add linearization constraints # (7) auxiliary_var_i_j - dual_maximum * decision_var_j <= 0 le_decision_constr = Metabolite("%s__le_decision" % aux_var.id) le_decision_constr._constraint_sense = "L" le_decision_constr._bound = 0 aux_var.add_metabolites({le_decision_constr: 1}) integer_var.add_metabolites({le_decision_constr: - dual_maximum}) # (8) auxiliary_var_i_j - dual_i <= 0 le_dual_constr = Metabolite("%s__le_dual" % aux_var.id) le_dual_constr._constraint_sense = "L" le_dual_constr._bound = 0 aux_var.add_metabolites({le_dual_constr: 1}) dual_var.add_metabolites({le_dual_constr: -1}) # (9) - auxiliary_var_i_j + dual_i + # dual_maximum * decision_var_j <= dual_maximum g_constr = Metabolite("%s__g_dual" % aux_var.id) g_constr._constraint_sense = "L" g_constr._bound = dual_maximum aux_var.add_metabolites({g_constr: -1}) dual_var.add_metabolites({g_constr: 1}) integer_var.add_metabolites({g_constr: dual_maximum}) return dual cobrapy-0.4.0b6/cobra/flux_analysis/000077500000000000000000000000001263606473700173675ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/flux_analysis/__init__.py000066400000000000000000000012411263606473700214760ustar00rootroot00000000000000try: import numpy except: numpy = None from .essentiality import assess_medium_component_essentiality from .variability import flux_variability_analysis, find_blocked_reactions from .single_deletion import single_gene_deletion, single_reaction_deletion from .parsimonious import optimize_minimal_flux from .loopless import construct_loopless_model from .gapfilling import growMatch if numpy: from .double_deletion import double_reaction_deletion, double_gene_deletion from .phenotype_phase_plane import calculate_phenotype_phase_plane else: from warnings import warn warn("double deletions and phase planes requires numpy") del warn del numpy cobrapy-0.4.0b6/cobra/flux_analysis/deletion_worker.py000066400000000000000000000134701263606473700231420ustar00rootroot00000000000000from multiprocessing import Queue, Process, cpu_count from ..solvers import get_solver_name, solver_dict from six import iteritems def compute_fba_deletion_worker(cobra_model, solver, job_queue, output_queue, **kwargs): solver = solver_dict[get_solver_name() if solver is None else solver] lp = solver.create_problem(cobra_model) solver_args = kwargs solver.solve_problem(lp) while True: indexes, label = job_queue.get() label = indexes if label is None else label result = compute_fba_deletion(lp, solver, cobra_model, indexes, **solver_args) output_queue.put((label, result)) def compute_fba_deletion(lp, solver_object, model, indexes, **kwargs): s = solver_object old_bounds = {} for i in indexes: reaction = model.reactions[i] old_bounds[i] = (reaction.lower_bound, reaction.upper_bound) s.change_variable_bounds(lp, i, 0., 0.) try: s.solve_problem(lp, **kwargs) except Exception as e: return RuntimeError("solver failure when deleting %s: %s" % (str(indexes), repr(e))) status = s.get_status(lp) objective = s.get_objective_value(lp) if status == "optimal" else 0. # reset the problem, which must be done after reading the solution for index, bounds in iteritems(old_bounds): s.change_variable_bounds(lp, index, bounds[0], bounds[1]) if status == "infeasible" or status == "optimal": return objective else: return RuntimeError("solver failure (status %s) for when deleting %s" % (status, str(indexes))) class CobraDeletionPool(object): """A pool of workers for solving deletions submit jobs to the pool using submit and recieve results using receive_all """ # Having an existing basis makes solving an existing LP much faster. The # most efficient approach is to have a worker function which modifies an LP # object and reverts it back after each calculation. Each lp object stores # the basis so subsequent LP's are solved more quickely, and memory does # not need to be re-allocated each time to create a new problem. Because # state is being saved, the workers in the deletion pool are careful about # reverting the object after simulating a deletion, and are written to be # flexible enough so they can be used in most applications instead of # writing a custom worker each time. def __init__(self, cobra_model, n_processes=None, solver=None, **kwargs): if n_processes is None: n_processes = min(cpu_count(), 4) # start queues self.job_queue = Queue() # format is (indexes, job_label) self.n_submitted = 0 self.n_complete = 0 self.output_queue = Queue() # format is (job_label, growth_rate) # start processes self.processes = [] for i in range(n_processes): p = Process(target=compute_fba_deletion_worker, args=[cobra_model, solver, self.job_queue, self.output_queue], kwargs=kwargs) self.processes.append(p) def start(self): for p in self.processes: p.start() def terminate(self): for p in self.processes: p.terminate() def __enter__(self): self.start() return self def __exit__(self, exc_type, exc_val, exc_tb): self.terminate() def submit(self, indexes, label=None): self.job_queue.put((indexes, label)) self.n_submitted += 1 def receive_one(self): """This function blocks""" self.n_complete += 1 result = self.output_queue.get() if isinstance(result[1], Exception): raise result[1] return result def receive_all(self): while self.n_complete < self.n_submitted: self.n_complete += 1 result = self.output_queue.get() if isinstance(result[1], Exception): raise result[1] yield result @property def pids(self): return [p.pid for p in self.processes] def __del__(self): for process in self.processes: process.terminate() process.join() class CobraDeletionMockPool(object): """Mock pool solves LP's in the same process""" def __init__(self, cobra_model, n_processes=1, solver=None, **kwargs): if n_processes != 1: from warnings import warn warn("Mock Pool does not do multiprocessing") self.job_queue = [] self.solver_args = kwargs solver_name = get_solver_name() if solver is None else solver self.solver = solver_dict[solver_name] self.lp = self.solver.create_problem(cobra_model) self.solver.solve_problem(self.lp) self.model = cobra_model def submit(self, indexes, label=None): self.job_queue.append((indexes, label)) def receive_one(self): indexes, label = self.job_queue.pop() result = compute_fba_deletion(self.lp, self.solver, self.model, indexes, **self.solver_args) if isinstance(result, Exception): raise result return (label, result) def receive_all(self): for i in range(len(self.job_queue)): indexes, label = self.job_queue.pop() result = compute_fba_deletion(self.lp, self.solver, self.model, indexes, **self.solver_args) if isinstance(result, Exception): raise result yield (label, result) def start(self): None def terminate(self): None def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): None cobrapy-0.4.0b6/cobra/flux_analysis/double_deletion.py000066400000000000000000000553401263606473700231050ustar00rootroot00000000000000from warnings import warn from itertools import chain, product from six import iteritems, string_types import numpy from ..solvers import get_solver_name, solver_dict from ..manipulation.delete import find_gene_knockout_reactions, \ get_compiled_gene_reaction_rules from .deletion_worker import CobraDeletionPool, CobraDeletionMockPool try: import scipy except ImportError: moma = None else: from . import moma try: from pandas import DataFrame except: DataFrame = None # Utility functions def generate_matrix_indexes(ids1, ids2): """map an identifier to an entry in the square result matrix""" return {id: index for index, id in enumerate(set(chain(ids1, ids2)))} def yield_upper_tria_indexes(ids1, ids2, id_to_index): """gives the necessary indexes in the upper triangle ids1 and ids2 are lists of the identifiers i.e. gene id's or reaction indexes to be knocked out. id_to_index maps each identifier to its index in the result matrix. Note that this does not return indexes for the diagonal. Those have to be computed separately.""" # sets to check for inclusion in o(1) id_set1 = set(ids1) id_set2 = set(ids2) for id1, id2 in product(ids1, ids2): # indexes in the result matrix index1 = id_to_index[id1] index2 = id_to_index[id2] # upper triangle if index2 > index1: yield ((index1, index2), (id1, id2)) # lower triangle but would be skipped, so return in upper triangle elif id2 not in id_set1 or id1 not in id_set2: yield((index2, index1), (id2, id1)) # note that order flipped def _format_upper_triangular_matrix(row_indexes, column_indexes, matrix): """reformat the square upper-triangular result matrix For example, results may look like this [[ A B C D] [ - - - -] [ - - E F] [ - - - G]] In this case, the second row was skipped. This means we have row_indexes [0, 2, 3] and column_indexes [0, 1, 2, 3] First, it will reflect the upper triangle into the lower triangle [[ A B C D] [ B - - -] [ C - E F] [ D - F G]] Finally, it will remove the missing rows and return [[ A B C D] [ C - E F] [ D - F G]] """ results = matrix.copy() # Thse select the indexes for the upper triangle. However, switching # the order selects the lower triangle. triu1, triu2 = numpy.triu_indices(matrix.shape[0]) # This makes reflection pretty easy results[triu2, triu1] = results[triu1, triu2] # Remove the missing rows and return. return results[row_indexes, :][:, column_indexes] def format_results_frame(row_ids, column_ids, matrix, return_frame=False): """format results as a pandas.DataFrame if desired/possible Otherwise returns a dict of {"x": row_ids, "y": column_ids", "data": result_matrx}""" if return_frame and DataFrame: return DataFrame(data=matrix, index=row_ids, columns=column_ids) elif return_frame and not DataFrame: warn("could not import pandas.DataFrame") return {"x": row_ids, "y": column_ids, "data": matrix} def double_deletion(cobra_model, element_list_1=None, element_list_2=None, element_type='gene', **kwargs): """Wrapper for double_gene_deletion and double_reaction_deletion .. deprecated :: 0.4 Use double_reaction_deletion and double_gene_deletion """ warn("deprecated - use single_reaction_deletion and single_gene_deletion") if element_type == "reaction": return double_reaction_deletion(cobra_model, element_list_1, element_list_2, **kwargs) elif element_type == "gene": return double_gene_deletion(cobra_model, element_list_1, element_list_2, **kwargs) else: raise Exception("unknown element type") def double_reaction_deletion(cobra_model, reaction_list1=None, reaction_list2=None, method="fba", return_frame=False, solver=None, zero_cutoff=1e-12, **kwargs): """sequentially knocks out pairs of reactions in a model cobra_model : :class:`~cobra.core.Model.Model` cobra model in which to perform deletions reaction_list1 : [:class:`~cobra.core.Reaction.Reaction`:] (or their id's) Reactions to be deleted. These will be the rows in the result. If not provided, all reactions will be used. reaction_list2 : [:class:`~cobra.core.Reaction`:] (or their id's) Reactions to be deleted. These will be the rows in the result. If not provided, reaction_list1 will be used. method: "fba" or "moma" Procedure used to predict the growth rate solver: str for solver name This must be a QP-capable solver for MOMA. If left unspecified, a suitable solver will be automatically chosen. zero_cutoff: float When checking to see if a value is 0, this threshold is used. return_frame: bool If true, formats the results as a pandas.Dataframe. Otherwise returns a dict of the form: {"x": row_labels, "y": column_labels", "data": 2D matrix} """ # handle arguments which need to be passed on if solver is None: solver = get_solver_name(qp=(method == "moma")) kwargs["solver"] = solver kwargs["zero_cutoff"] = zero_cutoff # generate other arguments # identifiers for reactions are their indexes if reaction_list1 is None: reaction_indexes1 = range(len(cobra_model.reactions)) else: reaction_indexes1 = [cobra_model.reactions.index(r) for r in reaction_list1] if reaction_list2 is None: reaction_indexes2 = reaction_indexes1 else: reaction_indexes2 = [cobra_model.reactions.index(r) for r in reaction_list2] reaction_to_result = generate_matrix_indexes(reaction_indexes1, reaction_indexes2) # Determine 0 flux reactions. If an optimal solution passes no flux # through the deleted reactions, then we know removing them will # not change the solution. wt_solution = solver_dict[solver].solve(cobra_model) if wt_solution.status == "optimal": kwargs["wt_growth_rate"] = wt_solution.f kwargs["no_flux_reaction_indexes"] = \ {i for i, v in enumerate(wt_solution.x) if abs(v) < zero_cutoff} else: warn("wild-type solution status is '%s'" % wt_solution.status) # call the computing functions if method == "fba": results = _double_reaction_deletion_fba( cobra_model, reaction_indexes1, reaction_indexes2, reaction_to_result, **kwargs) elif method == "moma": results = _double_reaction_deletion_moma( cobra_model, reaction_indexes1, reaction_indexes2, reaction_to_result, **kwargs) else: raise ValueError("Unknown deletion method '%s'" % method) # convert upper triangular matrix to full matrix full_result = _format_upper_triangular_matrix( [reaction_to_result[i] for i in reaction_indexes1], # row indexes [reaction_to_result[i] for i in reaction_indexes2], # col indexes results) # format appropriately with labels row_ids = [cobra_model.reactions[i].id for i in reaction_indexes1] column_ids = [cobra_model.reactions[i].id for i in reaction_indexes2] return format_results_frame(row_ids, column_ids, full_result, return_frame) def double_gene_deletion(cobra_model, gene_list1=None, gene_list2=None, method="fba", return_frame=False, solver=None, zero_cutoff=1e-12, **kwargs): """sequentially knocks out pairs of genes in a model cobra_model : :class:`~cobra.core.Model.Model` cobra model in which to perform deletions gene_list1 : [:class:`~cobra.core.Gene.Gene`:] (or their id's) Genes to be deleted. These will be the rows in the result. If not provided, all reactions will be used. gene_list1 : [:class:`~cobra.core.Gene.Gene`:] (or their id's) Genes to be deleted. These will be the rows in the result. If not provided, reaction_list1 will be used. method: "fba" or "moma" Procedure used to predict the growth rate solver: str for solver name This must be a QP-capable solver for MOMA. If left unspecified, a suitable solver will be automatically chosen. zero_cutoff: float When checking to see if a value is 0, this threshold is used. number_of_processes: int for number of processes to use. If unspecified, the number of parallel processes to use will be automatically determined. Setting this to 1 explicitly disables used of the multiprocessing library. .. note:: multiprocessing is not supported with method=moma return_frame: bool If true, formats the results as a pandas.Dataframe. Otherwise returns a dict of the form: {"x": row_labels, "y": column_labels", "data": 2D matrix} """ # handle arguments which need to be passed on if solver is None: solver = get_solver_name(qp=(method == "moma")) kwargs["solver"] = solver kwargs["zero_cutoff"] = zero_cutoff # generate other arguments # identifiers for genes if gene_list1 is None: gene_ids1 = cobra_model.genes.list_attr("id") else: gene_ids1 = [str(i) for i in gene_list1] if gene_list2 is None: gene_ids2 = gene_ids1 else: gene_ids2 = [str(i) for i in gene_list2] # The gene_id_to_result dict will map each gene id to the index # in the result matrix. gene_id_to_result = generate_matrix_indexes(gene_ids1, gene_ids2) # Determine 0 flux reactions. If an optimal solution passes no flux # through the deleted reactions, then we know removing them will # not change the solution. wt_solution = solver_dict[solver].solve(cobra_model) if wt_solution.status == "optimal": kwargs["wt_growth_rate"] = wt_solution.f kwargs["no_flux_reaction_indexes"] = \ {i for i, v in enumerate(wt_solution.x) if abs(v) < zero_cutoff} else: warn("wild-type solution status is '%s'" % wt_solution.status) if method == "fba": result = _double_gene_deletion_fba(cobra_model, gene_ids1, gene_ids2, gene_id_to_result, **kwargs) elif method == "moma": result = _double_gene_deletion_moma(cobra_model, gene_ids1, gene_ids2, gene_id_to_result, **kwargs) else: raise ValueError("Unknown deletion method '%s'" % method) # convert upper triangular matrix to full matrix full_result = _format_upper_triangular_matrix( [gene_id_to_result[id] for id in gene_ids1], # row indexes [gene_id_to_result[id] for id in gene_ids2], # col indexes, result) # format as a Dataframe if required return format_results_frame(gene_ids1, gene_ids2, full_result, return_frame) def _double_reaction_deletion_fba(cobra_model, reaction_indexes1, reaction_indexes2, reaction_to_result, solver, number_of_processes=None, zero_cutoff=1e-15, wt_growth_rate=None, no_flux_reaction_indexes=set(), **kwargs): """compute double reaction deletions using fba cobra_model: model reaction_indexes1, reaction_indexes2: reaction indexes (used as unique identifiers) reaction_to_result: maps each reaction identifier to the entry in the result matrix no_flux_reaction_indexes: set of indexes for reactions in the model which carry no flux in an optimal solution. For deletions only in this set, the result will beset to wt_growth_rate. returns an upper triangular square matrix """ if solver is None: solver = get_solver_name() # generate the square result matrix n_results = len(reaction_to_result) results = numpy.empty((n_results, n_results)) results.fill(numpy.nan) PoolClass = CobraDeletionMockPool if number_of_processes == 1 \ else CobraDeletionPool # explicitly disable multiprocessing with PoolClass(cobra_model, n_processes=number_of_processes, solver=solver, **kwargs) as pool: # precompute all single deletions in the pool and store them along # the diagonal for reaction_index, result_index in iteritems(reaction_to_result): pool.submit((reaction_index, ), label=result_index) for result_index, value in pool.receive_all(): # if singly lethal, set everything in row and column to 0 value = value if abs(value) > zero_cutoff else 0. if value == 0.: results[result_index, :] = 0. results[:, result_index] = 0. else: # only the diagonal needs to be set results[result_index, result_index] = value # Run double knockouts in the upper triangle index_selector = yield_upper_tria_indexes( reaction_indexes1, reaction_indexes2, reaction_to_result) for result_index, (r1_index, r2_index) in index_selector: # skip if the result was already computed to be lethal if results[result_index] == 0: continue # reactions removed carry no flux if r1_index in no_flux_reaction_indexes and \ r2_index in no_flux_reaction_indexes: results[result_index] = wt_growth_rate continue pool.submit((r1_index, r2_index), label=result_index) # get results for result in pool.receive_all(): results[result[0]] = result[1] return results def _double_gene_deletion_fba(cobra_model, gene_ids1, gene_ids2, gene_id_to_result, solver, number_of_processes=None, zero_cutoff=1e-12, wt_growth_rate=None, no_flux_reaction_indexes=set(), **kwargs): """compute double gene deletions using fba cobra_model: model gene_ids1, gene_ids2: lists of id's to be knocked out gene_id_to_result: maps each gene identifier to the entry in the result matrix no_flux_reaction_indexes: set of indexes for reactions in the model which carry no flux in an optimal solution. For deletions only in this set, the result will beset to wt_growth_rate. returns an upper triangular square matrix """ # Because each gene reaction rule will be evaluated multiple times # the reaction has multiple associated genes being deleted, compiling # the gene reaction rules ahead of time increases efficiency greatly. compiled_rules = get_compiled_gene_reaction_rules(cobra_model) n_results = len(gene_id_to_result) results = numpy.empty((n_results, n_results)) results.fill(numpy.nan) if number_of_processes == 1: # explicitly disable multiprocessing PoolClass = CobraDeletionMockPool else: PoolClass = CobraDeletionPool with PoolClass(cobra_model, n_processes=number_of_processes, solver=solver, **kwargs) as pool: # precompute all single deletions in the pool and store them along # the diagonal for gene_id, gene_result_index in iteritems(gene_id_to_result): ko_reactions = find_gene_knockout_reactions( cobra_model, (cobra_model.genes.get_by_id(gene_id),)) ko_indexes = [cobra_model.reactions.index(i) for i in ko_reactions] pool.submit(ko_indexes, label=gene_result_index) for result_index, value in pool.receive_all(): # if singly lethal, set everything in row and column to 0 value = value if abs(value) > zero_cutoff else 0. if value == 0.: results[result_index, :] = 0. results[:, result_index] = 0. else: # only the diagonal needs to be set results[result_index, result_index] = value # Run double knockouts in the upper triangle index_selector = yield_upper_tria_indexes(gene_ids1, gene_ids2, gene_id_to_result) for result_index, (gene1, gene2) in index_selector: # if singly lethal the results have already been set if results[result_index] == 0: continue ko_reactions = find_gene_knockout_reactions( cobra_model, (gene1, gene2), compiled_rules) ko_indexes = [cobra_model.reactions.index(i) for i in ko_reactions] # if all removed gene indexes carry no flux if len(set(ko_indexes) - no_flux_reaction_indexes) == 0: results[result_index] = wt_growth_rate continue pool.submit(ko_indexes, label=result_index) for result in pool.receive_all(): value = result[1] if value < zero_cutoff: value = 0 results[result[0]] = value return results def _double_reaction_deletion_moma(cobra_model, reaction_indexes1, reaction_indexes2, reaction_to_result, solver, number_of_processes=1, zero_cutoff=1e-15, wt_growth_rate=None, no_flux_reaction_indexes=set(), **kwargs): """compute double reaction deletions using moma cobra_model: model reaction_indexes1, reaction_indexes2: reaction indexes (used as unique identifiers) reaction_to_result: maps each reaction identifier to the entry in the result matrix no_flux_reaction_indexes: set of indexes for reactions in the model which carry no flux in an optimal solution. For deletions only in this set, the result will beset to wt_growth_rate. number_of_processes: must be 1. Parallel MOMA not yet implmemented returns an upper triangular square matrix """ if number_of_processes > 1: raise NotImplementedError("parallel MOMA not implemented") if moma is None: raise RuntimeError("scipy required for MOMA") # generate the square result matrix n_results = len(reaction_to_result) results = numpy.empty((n_results, n_results)) results.fill(numpy.nan) # function to compute reaction knockouts with moma moma_model, moma_obj = moma.create_euclidian_moma_model(cobra_model) def run(indexes): # If all the reactions carry no flux, deletion will have no effect. if no_flux_reaction_indexes.issuperset(indexes): return wt_growth_rate return moma.moma_knockout(moma_model, moma_obj, indexes, solver=solver, **kwargs).f # precompute all single deletions and store them along the diagonal for reaction_index, result_index in iteritems(reaction_to_result): value = run((reaction_index,)) value = value if abs(value) > zero_cutoff else 0. results[result_index, result_index] = value # if singly lethal, the entire row and column are set to 0 if value == 0.: results[result_index, :] = 0. results[:, result_index] = 0. # Run double knockouts in the upper triangle index_selector = yield_upper_tria_indexes( reaction_indexes1, reaction_indexes2, reaction_to_result) for result_index, (r1_index, r2_index) in index_selector: # skip if the result was already computed to be lethal if results[result_index] == 0: continue else: results[result_index] = run((r1_index, r2_index)) return results def _double_gene_deletion_moma(cobra_model, gene_ids1, gene_ids2, gene_id_to_result, solver, number_of_processes=1, zero_cutoff=1e-12, wt_growth_rate=None, no_flux_reaction_indexes=set(), **kwargs): """compute double gene deletions using moma cobra_model: model gene_ids1, gene_ids2: lists of id's to be knocked out gene_id_to_result: maps each gene identifier to the entry in the result matrix number_of_processes: must be 1. Parallel MOMA not yet implemented no_flux_reaction_indexes: set of indexes for reactions in the model which carry no flux in an optimal solution. For deletions only in this set, the result will beset to wt_growth_rate. returns an upper triangular square matrix """ if number_of_processes > 1: raise NotImplementedError("parallel MOMA not implemented") if moma is None: raise RuntimeError("scipy required for MOMA") # Because each gene reaction rule will be evaluated multiple times # the reaction has multiple associated genes being deleted, compiling # the gene reaction rules ahead of time increases efficiency greatly. compiled_rules = get_compiled_gene_reaction_rules(cobra_model) # function to compute reaction knockouts with moma moma_model, moma_obj = moma.create_euclidian_moma_model(cobra_model) def run(gene_ids): ko_reactions = find_gene_knockout_reactions(cobra_model, gene_ids) ko_indexes = map(cobra_model.reactions.index, ko_reactions) # If all the reactions carry no flux, deletion will have no effect. if no_flux_reaction_indexes.issuperset(gene_ids): return wt_growth_rate return moma.moma_knockout(moma_model, moma_obj, ko_indexes, solver=solver, **kwargs).f n_results = len(gene_id_to_result) results = numpy.empty((n_results, n_results)) results.fill(numpy.nan) # precompute all single deletions and store them along the diagonal for gene_id, result_index in iteritems(gene_id_to_result): value = run((gene_id,)) value = value if abs(value) > zero_cutoff else 0. results[result_index, result_index] = value # If singly lethal, the entire row and column are set to 0. if value == 0.: results[result_index, :] = 0. results[:, result_index] = 0. # Run double knockouts in the upper triangle index_selector = yield_upper_tria_indexes(gene_ids1, gene_ids2, gene_id_to_result) for result_index, (gene1, gene2) in index_selector: # if singly lethal the results have already been set if results[result_index] == 0: continue results[result_index] = run((gene1, gene2)) return results cobrapy-0.4.0b6/cobra/flux_analysis/essentiality.py000066400000000000000000000057671263606473700224750ustar00rootroot00000000000000from warnings import warn try: from cobra.flux_analysis.moma import moma except: warn("moma does not appear to be functional on your system") from cobra.manipulation import initialize_growth_medium def assess_medium_component_essentiality(cobra_model, the_components=None, the_medium=None, medium_compartment='e', solver='glpk', the_problem='return', the_condition=None, method='fba'): """Determines which components in an in silico medium are essential for growth in the context of the remaining components. cobra_model: A Model object. the_components: None or a list of external boundary reactions that will be sequentially disabled. the_medium: Is None, a string, or a dictionary. If a string then the initialize_growth_medium function expects that the_model has an attribute dictionary called media_compositions, which is a dictionary of dictionaries for various medium compositions. Where a medium composition is a dictionary of external boundary reaction ids for the medium components and the external boundary fluxes for each medium component. medium_compartment: the compartment in which the boundary reactions supplying the medium components exist NOTE: that these fluxes must be negative because the convention is backwards means something is feed into the system. solver: 'glpk', 'gurobi', or 'cplex' the_problem: Is None, 'return', or an LP model object for the solver. returns: essentiality_dict: A dictionary providing the maximum growth rate accessible when the respective component is removed from the medium. """ if method.lower() == 'moma': wt_model = cobra_model.copy() cobra_model = cobra_model.copy() if isinstance(the_medium, str): try: the_medium = cobra_model.media_compositions[the_medium] except: raise Exception(the_medium + " is not in cobra_model.media_compositions") if the_medium is not None: initialize_growth_medium(cobra_model, the_medium, medium_compartment) if the_components is None: the_components = the_medium.keys() if not the_components: raise Exception("You need to specify the_components or the_medium") essentiality_dict = {} for the_component in the_components: the_reaction = cobra_model.reactions.get_by_id(the_component) original_lower_bound = float(the_reaction.lower_bound) the_reaction.lower_bound = 0. if method.lower() == 'fba': cobra_model.optimize(solver=solver, the_problem=the_problem) objective_value = cobra_model.solution.f elif method.lower() == 'moma': objective_value = moma(wt_model, cobra_model, solver=solver)['objective_value'] essentiality_dict[the_component] = objective_value the_reaction.lower_bound = original_lower_bound return(essentiality_dict) cobrapy-0.4.0b6/cobra/flux_analysis/gapfilling.py000066400000000000000000000156341263606473700220660ustar00rootroot00000000000000from __future__ import print_function from ..core import Model, Reaction, Metabolite from ..solvers import get_solver_name from ..manipulation import modify class SUXModelMILP(Model): """Model with additional Universal and Exchange reactions. Adds corresponding dummy reactions and dummy metabolites for each added reaction which are used to impose MILP constraints to minimize the total number of added reactions. See the figure for more information on the structure of the matrix. """ def __init__(self, model, Universal=None, threshold=.05, penalties=None, dm_rxns=True, ex_rxns=False): Model.__init__(self, "") # store parameters self.threshold = threshold if penalties is None: self.penalties = {"Universal": 1, "Exchange": 100, "Demand": 1} else: self.penalties = penalties # want to only operate on a copy of Universal so as not to mess up # is this necessary? if Universal is None: Universal = Model("Universal_Reactions") else: Universal = Universal.copy() modify.convert_to_irreversible(Universal) for rxn in Universal.reactions: rxn.notes["gapfilling_type"] = "Universal" # SUX += Exchange (when exchange generator has been written) # For now, adding exchange reactions to Universal - could add to a new # model called exchange and allow their addition or not.... if ex_rxns: for m in model.metabolites: rxn = Reaction('SMILEY_EX_' + m.id) rxn.lower_bound = 0 rxn.upper_bound = 1000 rxn.add_metabolites({m: 1.0}) rxn.notes["gapfilling_type"] = "Exchange" Universal.add_reaction(rxn) if dm_rxns: # ADD DEMAND REACTIONS FOR ALL METABOLITES TO UNIVERSAL MODEL for m in model.metabolites: rxn = Reaction('SMILEY_DM_' + m.id) rxn.lower_bound = 0 rxn.upper_bound = 1000 rxn.add_metabolites({m: -1.0}) rxn.notes["gapfilling_type"] = "Demand" Universal.add_reaction(rxn) Model.add_reactions(self, model.copy().reactions) Model.add_reactions(self, Universal.reactions) # all reactions with an index < len(model.reactions) were original self.original_reactions = self.reactions[:len(model.reactions)] self.added_reactions = self.reactions[len(model.reactions):] # Add MILP indicator reactions indicators = [] for reaction in self.added_reactions: dummy_metabolite = Metabolite("dummy_met_" + reaction.id) dummy_metabolite._constraint_sense = "L" reaction.add_metabolites({dummy_metabolite: 1}) indicator_reaction = Reaction("indicator_" + reaction.id) indicator_reaction.add_metabolites( {dummy_metabolite: -1 * reaction.upper_bound}) indicator_reaction.lower_bound = 0 indicator_reaction.upper_bound = 1 indicator_reaction.variable_kind = "integer" indicator_reaction.objective_coefficient = \ self.penalties[reaction.notes["gapfilling_type"]] indicators.append(indicator_reaction) Model.add_reactions(self, indicators) # original reaction objectives need to be set to lower bounds self._update_objectives() def _update_objectives(self, added=True): """Update the metabolite which encodes the objective function with the objective coefficients for the reaction, and impose penalties for added reactions. """ for reaction in self.original_reactions: if reaction.objective_coefficient > 0: reaction.lower_bound = max( reaction.lower_bound, reaction.objective_coefficient * self.threshold) reaction.objective_coefficient = 0 def add_reactions(self, reactions): Model.add_reactions(self, reactions) self.original_reactions.extend(reactions) self._update_objectives() def solve(self, solver=None, iterations=1, debug=False, time_limit=100, **solver_parameters): """solve the MILP problem""" if solver is None: solver = get_solver_name(mip=True) used_reactions = [None] * iterations numeric_error_cutoff = 0.0001 self._update_objectives() for i in range(iterations): used_reactions[i] = [] self.optimize(objective_sense="minimize", solver=solver, **solver_parameters) if debug: print("Iteration %d: Status is %s" % (i, self.solution.status)) for reaction in self.added_reactions: # The dummy reaction should have a flux of either 0 or 1. # If it is 1 (nonzero), then the reaction was used in # the solution. ind = self.reactions.get_by_id("indicator_" + reaction.id) if ind.x > numeric_error_cutoff: used_reactions[i].append(reaction) ind.objective_coefficient += \ self.penalties[reaction.notes["gapfilling_type"]] if debug: print(' ', reaction, reaction.objective_coefficient) return used_reactions def growMatch(model, Universal, dm_rxns=False, ex_rxns=False, penalties=None, **solver_parameters): """runs growMatch""" SUX = SUXModelMILP(model, Universal, dm_rxns=dm_rxns, ex_rxns=ex_rxns, penalties=penalties) return SUX.solve(**solver_parameters) def SMILEY(model, metabolite_id, Universal, dm_rxns=False, ex_rxns=False, panalties=None, **solver_parameters): """ runs the SMILEY algorithm to determine which gaps should be filled in order for the model to create the metabolite with the given metabolite_id. This function is good for running the algorithm once. For more fine- grained control, create a SUXModelMILP object, add a demand reaction for the given metabolite_id, and call the solve function on the SUXModelMILP object. """ SUX = SUXModelMILP(model, Universal, dm_rxns=dm_rxns, ex_rxns=ex_rxns, penalties=penalties) # change the objective to be the metabolite for reaction in SUX.original_reactions: reaction.objective_coefficient = 0 demand_name = "SMILEY_DM_" + metabolite_id if demand_name not in SUX.reactions: demand_reaction = Reaction(demand_name) demand_reaction.add_metabolites( {SUX.metabolites.get_by_id(metabolite_id): -1}) SUX.add_reaction(demand_reaction) else: demand_reaction = SUX.reactions.get_by_id(demand_name) demand_reaction.lower_bound = SUX.threshold return SUX.solve(**solver_parameters) cobrapy-0.4.0b6/cobra/flux_analysis/loopless.py000066400000000000000000000047331263606473700216100ustar00rootroot00000000000000from ..core import Reaction, Metabolite from ..manipulation.modify import convert_to_irreversible from six import iteritems def construct_loopless_model(cobra_model): """construct a loopless model This adds MILP constraints to prevent flux from proceeding in a loop, as done in http://dx.doi.org/10.1016/j.bpj.2010.12.3707 Please see the documentation for an explanation of the algorithm. This must be solved with an MILP capable solver. """ # copy the model and make it irreversible model = cobra_model.copy() convert_to_irreversible(model) max_ub = max(model.reactions.list_attr("upper_bound")) # a dict for storing S^T thermo_stoic = {"thermo_var_" + metabolite.id: {} for metabolite in model.metabolites} # Slice operator is so that we don't get newly added metabolites original_metabolites = model.metabolites[:] for reaction in model.reactions[:]: # Boundary reactions are not subjected to these constraints if len(reaction._metabolites) == 1: continue # populate the S^T dict bound_id = "thermo_bound_" + reaction.id for met, stoic in iteritems(reaction._metabolites): thermo_stoic["thermo_var_" + met.id][bound_id] = stoic # I * 1000 > v --> I * 1000 - v > 0 reaction_ind = Reaction(reaction.id + "_indicator") reaction_ind.variable_kind = "integer" reaction_ind.upper_bound = 1 reaction_ub = Metabolite(reaction.id + "_ind_ub") reaction_ub._constraint_sense = "G" reaction.add_metabolites({reaction_ub: -1}) reaction_ind.add_metabolites({reaction_ub: max_ub}) # This adds a compensating term for 0 flux reactions, so we get # S^T x - (1 - I) * 1001 < -1 which becomes # S^T x < 1000 for 0 flux reactions and # S^T x < -1 for reactions with nonzero flux. reaction_bound = Metabolite(bound_id) reaction_bound._constraint_sense = "L" reaction_bound._bound = max_ub reaction_ind.add_metabolites({reaction_bound: max_ub + 1}) model.add_reaction(reaction_ind) for metabolite in original_metabolites: metabolite_var = Reaction("thermo_var_" + metabolite.id) metabolite_var.lower_bound = -max_ub model.add_reaction(metabolite_var) metabolite_var.add_metabolites( {model.metabolites.get_by_id(k): v for k, v in iteritems(thermo_stoic[metabolite_var.id])}) return model cobrapy-0.4.0b6/cobra/flux_analysis/moma.py000066400000000000000000000104331263606473700206730ustar00rootroot00000000000000from scipy.sparse import dok_matrix from ..solvers import get_solver_name, solver_dict def create_euclidian_moma_model(cobra_model, wt_model=None, **solver_args): # make the wild type copy if none was supplied if wt_model is None: wt_model = cobra_model.copy() else: wt_model = wt_model.copy() # ensure single objective wt_obj = wt_model.reactions.query(lambda x: x > 0, "objective_coefficient") if len(wt_obj) != 1: raise ValueError("wt_model must have exactly 1 objective, %d found" % len(wt_obj)) obj = cobra_model.reactions.query(lambda x: x > 0, "objective_coefficient") if len(obj) == 1: objective_id = obj[0].id else: raise ValueError("model must have exactly 1 objective, %d found" % len(obj)) wt_model.optimize(**solver_args) for reaction in wt_model.reactions: # we don't want delete_model_gene to remove the wt reaction as well reaction.gene_reaction_rule = '' if reaction.objective_coefficient != 0: reaction.objective_coefficient = 0 reaction.upper_bound = reaction.lower_bound = reaction.x reaction.id = "MOMA_wt_" + reaction.id for metabolite in wt_model.metabolites: metabolite.id = "MOMA_wt_" + metabolite.id wt_model.repair() # make the moma model by combining both moma_model = cobra_model.copy() for reaction in moma_model.reactions: reaction.objective_coefficient = 0 moma_model.add_reactions(wt_model.reactions) return moma_model, objective_id def create_euclidian_distance_objective(n_moma_reactions): """returns a matrix which will minimze the euclidian distance This matrix has the structure [ I -I] [-I I] where I is the identity matrix the same size as the number of reactions in the original model. n_moma_reactions: int This is the number of reactions in the MOMA model, which should be twice the number of reactions in the original model""" if n_moma_reactions % 2 != 0: raise ValueError("must be even") n_reactions = n_moma_reactions // 2 Q = dok_matrix((n_reactions * 2, n_reactions * 2)) for i in range(2 * n_reactions): Q[i, i] = 1 for i in range(n_reactions): Q[i, n_reactions + i] = -1 Q[n_reactions + i, i] = -1 return Q def create_euclidian_distance_lp(moma_model, solver): Q = create_euclidian_distance_objective(len(moma_model.reactions)) lp = solver.create_problem(moma_model, objective_sense="minimize", quadratic_component=Q) return lp def solve_moma_model(moma_model, objective_id, solver=None, **solver_args): solver = solver_dict[solver if solver else get_solver_name(qp=True)] lp = create_euclidian_distance_lp(moma_model, solver=solver) solver.solve_problem(lp, **solver_args) solution = solver.format_solution(lp, moma_model) solution.f = 0. if solution.x_dict is None \ else solution.x_dict[objective_id] moma_model.solution = solution return solution def moma(wt_model, mutant_model, solver=None, **solver_args): if "norm_type" in solver_args: print("only euclidian norm type supported for moma") solver_args.pop("norm_type") moma_model, objective_id = create_euclidian_moma_model(mutant_model, wt_model) return solve_moma_model(moma_model, objective_id, solver=solver, **solver_args) def moma_knockout(moma_model, moma_objective, reaction_indexes, **moma_args): """computes result of reaction_knockouts using moma""" n = len(moma_model.reactions) // 2 # knock out the reaction for i in reaction_indexes: mutant_reaction = moma_model.reactions[i] mutant_reaction.lower_bound, mutant_reaction.upper_bound = (0., 0.) result = solve_moma_model(moma_model, moma_objective, **moma_args) # reset the knockouts for i in reaction_indexes: mutant_reaction = moma_model.reactions[i] wt_reaction = moma_model.reactions[n + i] mutant_reaction.lower_bound = wt_reaction.lower_bound mutant_reaction.upper_bound = wt_reaction.upper_bound return result cobrapy-0.4.0b6/cobra/flux_analysis/parsimonious.py000066400000000000000000000051641263606473700224770ustar00rootroot00000000000000from ..manipulation import modify def optimize_minimal_flux(model, already_irreversible=False, **optimize_kwargs): """Perform basic pFBA (parsimonius FBA) and minimize total flux. The function attempts to act as a drop-in replacement for optimize. It will make the reaction reversible and perform an optimization, then force the objective value to remain the same and minimize the total flux. Finally, it will convert the reaction back to the irreversible form it was in before. See http://dx.doi.org/10.1038/msb.2010.47 model : :class:`~cobra.core.Model` object already_irreversible : bool, optional By default, the model is converted to an irreversible one. However, if the model is already irreversible, this step can be skipped. """ if not already_irreversible: modify.convert_to_irreversible(model) model.optimize(**optimize_kwargs) # if the problem is infeasible if model.solution.f is None: raise Exception("model could not be solved") old_f = model.solution.f old_objective_coefficients = {} old_lower_bounds = {} old_upper_bounds = {} for reaction in model.reactions: # if the reaction has a nonzero objective coefficient, then # the same flux should be maintained through that reaction if reaction.objective_coefficient != 0: old_objective_coefficients[reaction] = \ reaction.objective_coefficient old_lower_bounds[reaction] = reaction.lower_bound old_upper_bounds[reaction] = reaction.upper_bound x = model.solution.x_dict[reaction.id] reaction.lower_bound = x reaction.upper_bound = x reaction.objective_coefficient = 0 else: reaction.objective_coefficient = 1 # set to minimize flux optimize_kwargs["objective_sense"] = "minimize" model.optimize(**optimize_kwargs) # make the model back the way it was for reaction in model.reactions: if reaction in old_objective_coefficients: reaction.objective_coefficient = \ old_objective_coefficients[reaction] reaction.lower_bound = old_lower_bounds[reaction] reaction.upper_bound = old_upper_bounds[reaction] else: reaction.objective_coefficient = 0 # if the minimization problem was successful if model.solution.f is not None: model.solution.f = old_f if not already_irreversible: modify.revert_to_reversible(model) return model.solution cobrapy-0.4.0b6/cobra/flux_analysis/phenotype_phase_plane.py000066400000000000000000000276131263606473700243240ustar00rootroot00000000000000from numpy import linspace, zeros, array, meshgrid, abs, empty, arange, \ int32, unravel_index, dtype from multiprocessing import Pool from ..solvers import solver_dict, get_solver_name # attempt to import plotting libraries try: from matplotlib import pyplot from mpl_toolkits.mplot3d import axes3d except ImportError: pyplot = None axes3d = None mlab = None # mayavi may crash python try: # for prettier colors from palettable.colorbrewer import get_map except ImportError: try: from brewer2mpl import get_map except ImportError: get_map = None class phenotypePhasePlaneData: """class to hold results of a phenotype phase plane analysis""" def __init__(self, reaction1_name, reaction2_name, reaction1_range_max, reaction2_range_max, reaction1_npoints, reaction2_npoints): self.reaction1_name = reaction1_name self.reaction2_name = reaction2_name self.reaction1_range_max = reaction1_range_max self.reaction2_range_max = reaction2_range_max self.reaction1_npoints = reaction1_npoints self.reaction2_npoints = reaction2_npoints self.reaction1_fluxes = linspace(0, reaction1_range_max, reaction1_npoints) self.reaction2_fluxes = linspace(0, reaction2_range_max, reaction2_npoints) self.growth_rates = zeros((reaction1_npoints, reaction2_npoints)) self.shadow_prices1 = zeros((reaction1_npoints, reaction2_npoints)) self.shadow_prices2 = zeros((reaction1_npoints, reaction2_npoints)) self.segments = zeros(self.growth_rates.shape, dtype=int32) self.phases = [] def plot(self): """plot the phenotype phase plane in 3D using any available backend""" if pyplot is not None: self.plot_matplotlib() elif mlab is not None: self.plot_mayavi() else: raise ImportError("No suitable 3D plotting package found") def plot_matplotlib(self, theme="Paired", scale_grid=False): """Use matplotlib to plot a phenotype phase plane in 3D. theme: color theme to use (requires palettable) returns: maptlotlib 3d subplot object""" if pyplot is None: raise ImportError("Error importing matplotlib 3D plotting") colors = empty(self.growth_rates.shape, dtype=dtype((str, 7))) n_segments = self.segments.max() # pick colors if get_map is None: color_list = ['#A6CEE3', '#1F78B4', '#B2DF8A', '#33A02C', '#FB9A99', '#E31A1C', '#FDBF6F', '#FF7F00', '#CAB2D6', '#6A3D9A', '#FFFF99', '#B15928'] else: color_list = get_map(theme, 'Qualitative', n_segments).hex_colors if n_segments > len(color_list): from warnings import warn warn("not enough colors to color all detected phases") if n_segments > 0 and n_segments <= len(color_list): for i in range(n_segments): colors[self.segments == (i + 1)] = color_list[i] else: colors[:, :] = 'b' if scale_grid: # grid wires should not have more than ~20 points xgrid_scale = int(self.reaction1_npoints / 20) ygrid_scale = int(self.reaction2_npoints / 20) else: xgrid_scale, ygrid_scale = (1, 1) figure = pyplot.figure() xgrid, ygrid = meshgrid(self.reaction1_fluxes, self.reaction2_fluxes) axes = figure.add_subplot(111, projection="3d") xgrid = xgrid.transpose() ygrid = ygrid.transpose() axes.plot_surface(xgrid, ygrid, self.growth_rates, rstride=1, cstride=1, facecolors=colors, linewidth=0, antialiased=False) axes.plot_wireframe(xgrid, ygrid, self.growth_rates, color="black", rstride=xgrid_scale, cstride=ygrid_scale) axes.set_xlabel(self.reaction1_name) axes.set_ylabel(self.reaction2_name) axes.set_zlabel("Growth rate") axes.view_init(elev=30, azim=-135) return axes def plot_mayavi(self): """Use mayavi to plot a phenotype phase plane in 3D. The resulting figure will be quick to interact with in real time, but might be difficult to save as a vector figure. returns: mlab figure object""" from mayavi import mlab figure = mlab.figure(bgcolor=(1, 1, 1), fgcolor=(0, 0, 0)) figure.name = "Phenotype Phase Plane" max = 10.0 xmax = self.reaction1_fluxes.max() ymax = self.reaction2_fluxes.max() zmax = self.growth_rates.max() xgrid, ygrid = meshgrid(self.reaction1_fluxes, self.reaction2_fluxes) xgrid = xgrid.transpose() ygrid = ygrid.transpose() xscale = max / xmax yscale = max / ymax zscale = max / zmax mlab.surf(xgrid * xscale, ygrid * yscale, self.growth_rates * zscale, representation="wireframe", color=(0, 0, 0), figure=figure) mlab.mesh(xgrid * xscale, ygrid * yscale, self.growth_rates * zscale, scalars=self.shadow_prices1 + self.shadow_prices2, resolution=1, representation="surface", opacity=0.75, figure=figure) # draw axes mlab.outline(extent=(0, max, 0, max, 0, max)) mlab.axes(opacity=0, ranges=[0, xmax, 0, ymax, 0, zmax]) mlab.xlabel(self.reaction1_name) mlab.ylabel(self.reaction2_name) mlab.zlabel("Growth rates") return figure def segment(self, threshold=0.01): """attempt to segment the data and identify the various phases""" self.segments *= 0 # each entry in phases will consist of the following tuple # ((x, y), shadow_price1, shadow_price2) self.phases = [] # initialize the area to be all False covered_area = (self.growth_rates * 0 == 1) # as long as part of the area has not been covered segment_id = 0 while self.segments.min() == 0: segment_id += 1 # i and j are indices for a current point which has not been # assigned a segment yet i, j = unravel_index(self.segments.argmin(), self.segments.shape) # update the segment id for any point with a similar shadow price # to the current point d1 = abs(self.shadow_prices1 - self.shadow_prices1[i, j]) d2 = abs(self.shadow_prices2 - self.shadow_prices2[i, j]) self.segments[(d1 < threshold) * (d2 < threshold)] += segment_id # add the current point as one of the phases self.phases.append(( (self.reaction1_fluxes[i], self.reaction2_fluxes[j]), self.shadow_prices1[i, j], self.shadow_prices2[i, j])) def _calculate_subset(arguments): """Calculate a subset of the phenotype phase plane data. Store each result tuple as: (i, j, growth_rate, shadow_price1, shadow_price2)""" model = arguments["model"] reaction1_fluxes = arguments["reaction1_fluxes"] reaction2_fluxes = arguments["reaction2_fluxes"] metabolite1_name = arguments["metabolite1_name"] metabolite2_name = arguments["metabolite2_name"] index1 = arguments["index1"] index2 = arguments["index2"] i_list = arguments["i_list"] j_list = arguments["j_list"] tolerance = arguments["tolerance"] solver = solver_dict[arguments["solver"]] results = [] reaction1 = model.reactions[index1] reaction2 = model.reactions[index2] problem = solver.create_problem(model) solver.solve_problem(problem) for a, flux1 in enumerate(reaction1_fluxes): i = i_list[a] # flux is actually negative for uptake. Also some solvers require # float instead of numpy.float64 flux1 = float(-1 * flux1) # change bounds on reaction 1 solver.change_variable_bounds(problem, index1, flux1 - tolerance, flux1 + tolerance) for b, flux2 in enumerate(reaction2_fluxes): j = j_list[b] flux2 = float(-1 * flux2) # same story as flux1 # change bounds on reaction 2 solver.change_variable_bounds(problem, index2, flux2 - tolerance, flux2 + tolerance) # solve the problem and save results solver.solve_problem(problem) solution = solver.format_solution(problem, model) if solution is not None and solution.status == "optimal": results.append((i, j, solution.f, solution.y_dict[metabolite1_name], solution.y_dict[metabolite2_name])) else: results.append((i, j, 0, 0, 0)) # reset reaction 2 bounds solver.change_variable_bounds(problem, index2, float(reaction2.lower_bound), float(reaction2.upper_bound)) # reset reaction 1 bounds solver.change_variable_bounds(problem, index1, float(reaction1.lower_bound), float(reaction1.upper_bound)) return results def calculate_phenotype_phase_plane( model, reaction1_name, reaction2_name, reaction1_range_max=20, reaction2_range_max=20, reaction1_npoints=50, reaction2_npoints=50, solver=None, n_processes=1, tolerance=1e-6): """calculates the growth rates while varying the uptake rates for two reactions. returns: an object containing the growth rates for the uptake rates. To plot the result, call the plot function of the returned object. Example: data = calculate_phenotype_phase_plane(my_model, "EX_foo", "EX_bar") data.plot() """ if solver is None: solver = get_solver_name() data = phenotypePhasePlaneData( str(reaction1_name), str(reaction2_name), reaction1_range_max, reaction2_range_max, reaction1_npoints, reaction2_npoints) # find the objects for the reactions and metabolites index1 = model.reactions.index(data.reaction1_name) index2 = model.reactions.index(data.reaction2_name) metabolite1_name = list(model.reactions[index1]._metabolites)[0].id metabolite2_name = list(model.reactions[index2]._metabolites)[0].id if n_processes > reaction1_npoints: # limit the number of processes n_processes = reaction1_npoints range_add = reaction1_npoints // n_processes # prepare the list of arguments for each _calculate_subset call arguments_list = [] i = arange(reaction1_npoints) j = arange(reaction2_npoints) for n in range(n_processes): start = n * range_add if n != n_processes - 1: r1_range = data.reaction1_fluxes[start:start + range_add] i_list = i[start:start + range_add] else: r1_range = data.reaction1_fluxes[start:] i_list = i[start:] arguments_list.append({ "model": model, "index1": index1, "index2": index2, "metabolite1_name": metabolite1_name, "metabolite2_name": metabolite2_name, "reaction1_fluxes": r1_range, "reaction2_fluxes": data.reaction2_fluxes.copy(), "i_list": i_list, "j_list": j.copy(), "tolerance": tolerance, "solver": solver}) if n_processes > 1: p = Pool(n_processes) results = list(p.map(_calculate_subset, arguments_list)) else: results = [_calculate_subset(arguments_list[0])] for result_list in results: for result in result_list: i = result[0] j = result[1] data.growth_rates[i, j] = result[2] data.shadow_prices1[i, j] = result[3] data.shadow_prices2[i, j] = result[4] data.segment() return data cobrapy-0.4.0b6/cobra/flux_analysis/reaction.py000066400000000000000000000157111263606473700215520ustar00rootroot00000000000000#cobra.flux_analysis.reaction.py #functions for analyzing / creating objective functions from ..core.Reaction import Reaction from six import iteritems def assess(model, reaction, flux_coefficient_cutoff=0.001): """Assesses the capacity of the model to produce the precursors for the reaction and absorb the production of the reaction while the reaction is operating at, or above, the specified cutoff. model: A :class:`~cobra.core.Model` object reaction: A :class:`~cobra.core.Reaction` object flux_coefficient_cutoff: Float. The minimum flux that reaction must carry to be considered active. returns: True if the model can produce the precursors and absorb the products for the reaction operating at, or above, flux_coefficient_cutoff. Otherwise, a dictionary of {'precursor': Status, 'product': Status}. Where Status is the results from assess_precursors and assess_products, respectively. """ reaction = model.reactions.get_by_id(reaction.id) model.optimize(new_objective={reaction: 1}) if model.solution.f >= flux_coefficient_cutoff: return(True) else: results = {} results['precursors'] = assess_precursors(model, reaction, flux_coefficient_cutoff) results['products'] = assess_products(model, reaction, flux_coefficient_cutoff) return(results) def assess_precursors(model, reaction, flux_coefficient_cutoff=0.001): """Assesses the ability of the model to provide sufficient precursors for a reaction operating at, or beyond, the specified cutoff. model: A :class:`~cobra.core.Model` object reaction: A :class:`~cobra.core.Reaction` object flux_coefficient_cutoff: Float. The minimum flux that reaction must carry to be considered active. returns: True if the precursors can be simultaneously produced at the specified cutoff. False, if the model has the capacity to produce each individual precursor at the specified threshold but not all precursors at the required level simultaneously. Otherwise a dictionary of the required and the produced fluxes for each reactant that is not produced in sufficient quantities. """ model = model.copy() reaction = model.reactions.get_by_id(reaction.id) model.optimize(new_objective={reaction: 1}) if model.solution.f >= flux_coefficient_cutoff: return(True) # simulation_results = {} #build the sink reactions and add all at once sink_reactions = {} for the_component in reaction.get_reactants(): #add in a sink reaction for each component sink_reaction = Reaction('test_sink_%s'%the_component.id) #then simulate production ability #then check it can exceed objective cutoff * component stoichiometric #coefficient. coefficient = reaction.get_coefficient(the_component) sink_reaction.add_metabolites({the_component: coefficient}) sink_reaction.upper_bound = 1000 sink_reactions[sink_reaction] = (the_component, coefficient) #First assess whether all precursors can pbe produced simultaneously super_sink = Reaction("super_sink") for reaction in sink_reactions: super_sink += reaction super_sink.id = 'super_sink' model.add_reactions(sink_reactions.keys() + [super_sink]) model.optimize(new_objective=super_sink) if flux_coefficient_cutoff <= model.solution.f: return(True) #Otherwise assess the ability of the model to produce each precursor individually. #Now assess the ability of the model to produce each reactant for a reaction for sink_reaction, (component, coefficient) in iteritems(sink_reactions): model.optimize(new_objective=sink_reaction) #Calculate the maximum amount of the #metabolite that can be produced. if flux_coefficient_cutoff > model.solution.f: #Scale the results to a single unit simulation_results.update({component:{'required':flux_coefficient_cutoff/abs(coefficient), 'produced':model.solution.f/abs(coefficient)}}) if len(simulation_results) == 0: simulation_results = False return(simulation_results) def assess_products(model, reaction, flux_coefficient_cutoff=0.001): """Assesses whether the model has the capacity to absorb the products of a reaction at a given flux rate. Useful for identifying which components might be blocking a reaction from achieving a specific flux rate. model: A :class:`~cobra.core.Model` object reaction: A :class:`~cobra.core.Reaction` object flux_coefficient_cutoff: Float. The minimum flux that reaction must carry to be considered active. returns: True if the model has the capacity to absorb all the reaction products being simultaneously given the specified cutoff. False, if the model has the capacity to absorb each individual product but not all products at the required level simultaneously. Otherwise a dictionary of the required and the capacity fluxes for each product that is not absorbed in sufficient quantities. """ model = model.copy() reaction = model.reactions.get_by_id(reaction.id) model.optimize(new_objective={reaction: 1}) if model.solution.f >= flux_coefficient_cutoff: return(True) # simulation_results = {} #build the sink reactions and add all at once source_reactions = {} for the_component in reaction.get_products(): #add in a sink reaction for each component source_reaction = Reaction('test_source_%s'%the_component.id) #then simulate production ability #then check it can exceed objective cutoff * component stoichiometric #coefficient. coefficient = reaction.get_coefficient(the_component) source_reaction.add_metabolites({the_component: coefficient}) source_reaction.upper_bound = 1000 source_reactions[source_reaction] = (the_component, coefficient) # super_source = Reaction('super_source') for reaction in source_reactions: super_source += reaction super_source.id = 'super_source' model.add_reactions(source_reactions.keys() + [super_source]) model.optimize(new_objective=super_source) if flux_coefficient_cutoff <= model.solution.f: return(True) #Now assess the ability of the model to produce each reactant for a reaction for source_reaction, (component, coefficient) in iteritems(source_reactions): model.optimize(new_objective=source_reaction) #Calculate the maximum amount of the #metabolite that can be produced. if flux_coefficient_cutoff > model.solution.f: #Scale the results to a single unit simulation_results.update({component:{'required':flux_coefficient_cutoff/abs(coefficient), 'capacity':model.solution.f/abs(coefficient)}}) if len(simulation_results) == 0: simulation_results = False return(simulation_results) cobrapy-0.4.0b6/cobra/flux_analysis/single_deletion.py000066400000000000000000000156071263606473700231160ustar00rootroot00000000000000from warnings import warn from six import string_types, iteritems from ..manipulation import delete_model_genes, undelete_model_genes from ..manipulation.delete import find_gene_knockout_reactions from ..solvers import solver_dict, get_solver_name try: import scipy except ImportError: moma = None else: from . import moma def single_deletion(cobra_model, element_list=None, element_type='gene', **kwargs): """Wrapper for single_gene_deletion and single_reaction_deletion .. deprecated :: 0.4 Use single_reaction_deletion and single_gene_deletion """ warn("deprecated - use single_reaction_deletion and single_gene_deletion") if element_type == "reaction": return single_reaction_deletion(cobra_model, element_list, **kwargs) elif element_type == "gene": return single_gene_deletion(cobra_model, element_list, **kwargs) else: raise Exception("unknown element type") def single_reaction_deletion(cobra_model, reaction_list=None, solver=None, method="fba", **solver_args): """sequentially knocks out each reaction in a model reaction_list: list of reaction_ids or cobra.Reaction method: "fba" or "moma" returns ({reaction_id: growth_rate}, {reaction_id: status})""" if reaction_list is None: reaction_list = cobra_model.reactions else: reaction_list = [cobra_model.reactions.get_by_id(i) if isinstance(i, string_types) else i for i in reaction_list] if method == "fba": return single_reaction_deletion_fba(cobra_model, reaction_list, solver=solver, **solver_args) elif method == "moma": return single_reaction_deletion_moma(cobra_model, reaction_list, solver=solver, **solver_args) else: raise ValueError("Unknown deletion method '%s'" % method) def single_reaction_deletion_fba(cobra_model, reaction_list, solver=None, **solver_args): """sequentially knocks out each reaction in a model using FBA reaction_list: list of reaction_ids or cobra.Reaction method: "fba" or "moma" returns ({reaction_id: growth_rate}, {reaction_id: status})""" solver = solver_dict[get_solver_name() if solver is None else solver] lp = solver.create_problem(cobra_model) growth_rate_dict = {} status_dict = {} for reaction in reaction_list: old_bounds = (reaction.lower_bound, reaction.upper_bound) index = cobra_model.reactions.index(reaction) solver.change_variable_bounds(lp, index, 0., 0.) solver.solve_problem(lp, **solver_args) # get the status and growth rate status = solver.get_status(lp) status_dict[reaction.id] = status growth_rate_dict[reaction.id] = solver.get_objective_value(lp) \ if status == "optimal" else 0. # reset the problem solver.change_variable_bounds(lp, index, old_bounds[0], old_bounds[1]) return (growth_rate_dict, status_dict) def single_reaction_deletion_moma(cobra_model, reaction_list, solver=None, **solver_args): """sequentially knocks out each reaction in a model using MOMA reaction_list: list of reaction_ids or cobra.Reaction returns ({reaction_id: growth_rate}, {reaction_id: status})""" # The same function can not be used because MOMA can not re-use the # same LP object. Problem re-use leads to incorrect solutions. if moma is None: raise RuntimeError("scipy required for moma") solver = solver_dict[solver if solver else get_solver_name(qp=True)] moma_model, moma_obj = moma.create_euclidian_moma_model(cobra_model) growth_rate_dict = {} status_dict = {} for reaction in reaction_list: index = cobra_model.reactions.index(reaction) solution = moma.moma_knockout(moma_model, moma_objective, (index,), solver=solver, **solver_args) status_dict[reaction.id] = solution.status growth_rate_dict[reaction.id] = solution.f return (growth_rate_dict, status_dict) def single_gene_deletion(cobra_model, gene_list=None, solver=None, method="fba", **solver_args): """sequentially knocks out each gene in a model gene_list: list of gene_ids or cobra.Gene method: "fba" or "moma" returns ({gene_id: growth_rate}, {gene_id: status})""" if gene_list is None: gene_list = cobra_model.genes else: gene_list = [cobra_model.genes.get_by_id(i) if isinstance(i, string_types) else i for i in gene_list] if method == "fba": return single_gene_deletion_fba(cobra_model, gene_list, solver=solver, **solver_args) elif method == "moma": return single_gene_deletion_moma(cobra_model, gene_list, solver=solver, **solver_args) else: raise ValueError("Unknown deletion method '%s'" % method) def single_gene_deletion_fba(cobra_model, gene_list, solver=None, **solver_args): solver = solver_dict[get_solver_name() if solver is None else solver] lp = solver.create_problem(cobra_model) growth_rate_dict = {} status_dict = {} for gene in gene_list: old_bounds = {} for reaction in find_gene_knockout_reactions(cobra_model, [gene]): index = cobra_model.reactions.index(reaction) old_bounds[index] = (reaction.lower_bound, reaction.upper_bound) solver.change_variable_bounds(lp, index, 0., 0.) solver.solve_problem(lp, **solver_args) # get the status and growth rate status = solver.get_status(lp) status_dict[gene.id] = status growth_rate = solver.get_objective_value(lp) \ if status == "optimal" else 0. growth_rate_dict[gene.id] = growth_rate # reset the problem for index, bounds in iteritems(old_bounds): solver.change_variable_bounds(lp, index, bounds[0], bounds[1]) return (growth_rate_dict, status_dict) def single_gene_deletion_moma(cobra_model, gene_list, solver=None, **solver_args): if moma is None: raise RuntimeError("scipy required for moma") solver = solver if solver else get_solver_name(qp=True) moma_model, moma_obj = moma.create_euclidian_moma_model(cobra_model) growth_rate_dict = {} status_dict = {} for gene in gene_list: delete_model_genes(moma_model, [gene.id]) solution = moma.solve_moma_model(moma_model, moma_obj, solver=solver, **solver_args) status_dict[gene.id] = solution.status growth_rate_dict[gene.id] = solution.f undelete_model_genes(moma_model) return (growth_rate_dict, status_dict) cobrapy-0.4.0b6/cobra/flux_analysis/variability.py000066400000000000000000000105201263606473700222560ustar00rootroot00000000000000from warnings import warn from six import iteritems, string_types from ..core.Metabolite import Metabolite from ..solvers import solver_dict, get_solver_name def flux_variability_analysis(cobra_model, reaction_list=None, fraction_of_optimum=1.0, solver=None, objective_sense="maximize", **solver_args): """Runs flux variability analysis to find max/min flux values cobra_model : :class:`~cobra.core.Model`: reaction_list : list of :class:`~cobra.core.Reaction`: or their id's The id's for which FVA should be run. If this is None, the bounds will be comptued for all reactions in the model. fraction_of_optimum : fraction of optimum which must be maintained. The original objective reaction is constrained to be greater than maximal_value * fraction_of_optimum solver : string of solver name If None is given, the default solver will be used. """ if reaction_list is None and "the_reactions" in solver_args: reaction_list = solver_args.pop("the_reactions") warn("the_reactions is deprecated. Please use reaction_list=") if reaction_list is None: reaction_list = cobra_model.reactions solver = solver_dict[get_solver_name() if solver is None else solver] lp = solver.create_problem(cobra_model) solver.solve_problem(lp, objective_sense=objective_sense) solution = solver.format_solution(lp, cobra_model) if solution.status != "optimal": raise ValueError("FVA requires the solution status to be optimal, not " + solution.status) # set all objective coefficients to 0 for i, r in enumerate(cobra_model.reactions): if r.objective_coefficient != 0: f = solution.x_dict[r.id] new_bounds = (f * fraction_of_optimum, f) solver.change_variable_bounds(lp, i, min(new_bounds), max(new_bounds)) solver.change_variable_objective(lp, i, 0.) return calculate_lp_variability(lp, solver, cobra_model, reaction_list, **solver_args) def calculate_lp_variability(lp, solver, cobra_model, reaction_list, **solver_args): """calculate max and min of selected variables in an LP""" fva_results = {} for r in reaction_list: r_id = str(r) i = cobra_model.reactions.index(r_id) fva_results[r_id] = {} solver.change_variable_objective(lp, i, 1.) solver.solve_problem(lp, objective_sense="maximize", **solver_args) fva_results[r_id]["maximum"] = solver.get_objective_value(lp) solver.solve_problem(lp, objective_sense="minimize", **solver_args) fva_results[r_id]["minimum"] = solver.get_objective_value(lp) # revert the problem to how it was before solver.change_variable_objective(lp, i, 0.) return fva_results def find_blocked_reactions(cobra_model, reaction_list=None, solver=None, zero_cutoff=1e-9, open_exchanges=False, **solver_args): """Finds reactions that cannot carry a flux with the current exchange reaction settings for cobra_model, using flux variability analysis. """ if solver is None: solver = get_solver_name() if open_exchanges: # should not unnecessarily change model cobra_model = cobra_model.copy() for reaction in cobra_model.reactions: if reaction.boundary: reaction.lower_bound = min(reaction.lower_bound, -1000) reaction.upper_bound = max(reaction.upper_bound, 1000) if reaction_list is None: reaction_list = cobra_model.reactions # limit to reactions which are already 0. If the reactions alread # carry flux in this solution, then they can not be blocked. solution = solver_dict[solver].solve(cobra_model, **solver_args) reaction_list = [i for i in reaction_list if abs(solution.x_dict[i.id]) < zero_cutoff] # run fva to find reactions where both max and min are 0 flux_span_dict = flux_variability_analysis( cobra_model, fraction_of_optimum=0., reaction_list=reaction_list, solver=solver, **solver_args) return [k for k, v in iteritems(flux_span_dict) if max(map(abs, v.values())) < zero_cutoff] cobrapy-0.4.0b6/cobra/io/000077500000000000000000000000001263606473700151155ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/io/__init__.py000066400000000000000000000011261263606473700172260ustar00rootroot00000000000000from warnings import warn from .sbml3 import read_sbml_model, write_sbml_model from .json import load_json_model, save_json_model, to_json # These functions have other dependencies try: import libsbml except ImportError: warn("cobra.io.sbml requires libsbml") libsbml = None else: from .sbml import read_legacy_sbml from .sbml import write_cobra_model_to_sbml_file as write_legacy_sbml try: import scipy except ImportError: warn("cobra.io.mat requires scipy") scipy = None else: from .mat import load_matlab_model, save_matlab_model del libsbml, scipy, warn cobrapy-0.4.0b6/cobra/io/json.py000066400000000000000000000231751263606473700164500ustar00rootroot00000000000000from __future__ import absolute_import import json from warnings import warn from .. import Model, Metabolite, Reaction, Gene from six import iteritems, string_types # Detect numpy types to replace them. try: from numpy import float_, bool_ except ImportError: class float_: pass class bool_: pass _REQUIRED_REACTION_ATTRIBUTES = {"id", "name", "metabolites", "lower_bound", "upper_bound", "gene_reaction_rule"} _OPTIONAL_REACTION_ATTRIBUTES = { "objective_coefficient": 0, "variable_kind": "continuous", "subsystem": "", "notes": {}, "annotation": {}, } _REQUIRED_METABOLITE_ATTRIBUTES = {"id", "name", "compartment"} _OPTIONAL_METABOLITE_ATTRIBUTES = { "charge": None, "formula": None, "_bound": 0, "_constraint_sense": "E", "notes": {}, "annotation": {}, } _REQUIRED_GENE_ATTRIBUTES = {"id", "name"} _OPTIONAL_GENE_ATTRIBUTES = { "notes": {}, "annotation": {}, } _OPTIONAL_MODEL_ATTRIBUTES = { "name": None, # "description": None, should not actually be included "compartments": {}, "notes": {}, "annotation": {}, } def _fix_type(value): """convert possible types to str, float, and bool""" # Because numpy floats can not be pickled to json if isinstance(value, string_types): return str(value) if isinstance(value, float_): return float(value) if isinstance(value, bool_): return bool(value) # handle legacy Formula type if value.__class__.__name__ == "Formula": return str(value) if value is None: return '' return value def _from_dict(obj): """build a model from a dict""" if 'reactions' not in obj: raise Exception('JSON object has no reactions attribute. Cannot load.') model = Model() # add metabolites new_metabolites = [] for metabolite in obj['metabolites']: new_metabolite = Metabolite() for k, v in iteritems(metabolite): setattr(new_metabolite, k, v) new_metabolites.append(new_metabolite) model.add_metabolites(new_metabolites) # add genes for gene in obj['genes']: new_gene = Gene(gene["id"]) for k, v in iteritems(gene): setattr(new_gene, k, _fix_type(v)) model.genes.append(new_gene) # add reactions new_reactions = [] for reaction in obj['reactions']: new_reaction = Reaction() for k, v in iteritems(reaction): if k == 'reversibility' or k == "reaction": continue elif k == 'metabolites': new_reaction.add_metabolites( {model.metabolites.get_by_id(str(met)): coeff for met, coeff in iteritems(v)}) else: setattr(new_reaction, k, _fix_type(v)) new_reactions.append(new_reaction) model.add_reactions(new_reactions) for k, v in iteritems(obj): if k in {'id', 'name', 'notes', 'compartments', 'annotation'}: setattr(model, k, v) return model def _update_optional(cobra_object, new_dict, optional_attribute_dict): """update new_dict with optional attributes from cobra_object""" for key, default_value in iteritems(optional_attribute_dict): value = getattr(cobra_object, key) if value is not None and value != default_value: new_dict[key] = _fix_type(value) def _to_dict(model): """convert the model to a dict""" new_reactions = [] new_metabolites = [] new_genes = [] for reaction in model.reactions: new_reaction = {key: _fix_type(getattr(reaction, key)) for key in _REQUIRED_REACTION_ATTRIBUTES if key != "metabolites"} _update_optional(reaction, new_reaction, _OPTIONAL_REACTION_ATTRIBUTES) # set metabolites mets = {str(met): coeff for met, coeff in iteritems(reaction._metabolites)} new_reaction['metabolites'] = mets new_reactions.append(new_reaction) for metabolite in model.metabolites: new_metabolite = {key: _fix_type(getattr(metabolite, key)) for key in _REQUIRED_METABOLITE_ATTRIBUTES} _update_optional(metabolite, new_metabolite, _OPTIONAL_METABOLITE_ATTRIBUTES) new_metabolites.append(new_metabolite) for gene in model.genes: new_gene = {key: str(getattr(gene, key)) for key in _REQUIRED_GENE_ATTRIBUTES} _update_optional(gene, new_gene, _OPTIONAL_GENE_ATTRIBUTES) new_genes.append(new_gene) obj = {'reactions': new_reactions, 'metabolites': new_metabolites, 'genes': new_genes, 'id': model.id, } _update_optional(model, obj, _OPTIONAL_MODEL_ATTRIBUTES) # add in the JSON version obj["version"] = 1 return obj def to_json(model): """Save the cobra model as a json string""" return json.dumps(_to_dict(model), allow_nan=False) def from_json(jsons): """Load cobra model from a json string""" return _from_dict(json.loads(jsons)) def load_json_model(file_name): """Load a cobra model stored as a json file file_name : str or file-like object """ # open the file should_close = False if isinstance(file_name, string_types): file_name = open(file_name, 'r') should_close = True model = _from_dict(json.load(file_name)) if should_close: file_name.close() return model def save_json_model(model, file_name, pretty=False): """Save the cobra model as a json file. model : :class:`~cobra.core.Model.Model` object file_name : str or file-like object """ # open the file should_close = False if isinstance(file_name, string_types): file_name = open(file_name, 'w') should_close = True if pretty: dump_opts = {"indent": 4, "separators": (",", ": "), "sort_keys": True} else: dump_opts = {} json.dump(_to_dict(model), file_name, allow_nan=False, **dump_opts) if should_close: file_name.close() json_schema = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "COBRA", "description": "JSON representation of COBRA model", "type": "object", "properties": { "id": {"type": "string"}, "name": {"type": "string"}, "description": {"type": "string"}, "version": { "type": "integer", "default": 1, }, "reactions": { "type": "array", "items": { "type": "object", "properties": { "id": {"type": "string"}, "name": {"type": "string"}, "metabolites": { "type": "object", "patternProperties": { ".*": {"type": "number"}, } }, "gene_reaction_rule": {"type": "string"}, "lower_bound": {"type": "number"}, "upper_bound": {"type": "number"}, "objective_coefficient": { "type": "number", "default": 0, }, "variable_kind": { "type": "string", "pattern": "integer|continuous", "default": "continuous" }, "subsystem": {"type": "string"}, "notes": {"type": "object"}, "annotation": {"type": "object"}, }, "required": ["id", "name", "metabolites", "lower_bound", "upper_bound", "gene_reaction_rule"], "additionalProperties": False, } }, "metabolites": { "type": "array", "items": { "type": "object", "properties": { "id": {"type": "string"}, "name": {"type": "string"}, "compartment": { "type": "string", "pattern": "[a-z]{1,2}" }, "charge": {"type": "integer"}, "formula": {"type": "string"}, "_bound": { "type": "number", "default": 0 }, "_constraint_sense": { "type": "string", "default": "E", "pattern": "E|L|G", }, "notes": {"type": "object"}, "annotation": {"type": "object"}, }, "required": ["id", "name", "compartment"], "additionalProperties": False, } }, "genes": { "type": "array", "items": { "type": "object", "properties": { "id": {"type": "string"}, "name": {"type": "string"}, "notes": {"type": "object"}, "annotation": {"type": "object"}, }, "required": ["id", "name"], "additionalProperties": False, } }, "compartments": { "type": "object", "patternProperties": { "[a-z]{1,2}": {"type": "string"} } }, "notes": {"type": "object"}, "annotation": {"type": "object"}, }, "required": ["id", "reactions", "metabolites", "genes"], "additionalProperties": False, } cobrapy-0.4.0b6/cobra/io/mat.py000066400000000000000000000202461263606473700162540ustar00rootroot00000000000000import re from uuid import uuid4 from warnings import warn from numpy import array, object as np_object from scipy.io import loadmat, savemat from scipy.sparse import coo_matrix from .. import Model, Metabolite, Reaction # try to use an ordered dict try: from scipy.version import short_version scipy_version = int(short_version.split(".")[1]) # if scipy version is earlier than 0.11, OrderedDict will not work, so use # a dict instead if scipy_version < 11: dicttype = dict else: from collections import OrderedDict as dicttype del short_version, scipy_version except ImportError: dicttype = dict # precompiled regular expressions _bracket_re = re.compile("r\[[a-z]\]$") _underscore_re = re.compile(r"_[a-z]$") def _get_id_comparment(id): """extract the compartment from the id string""" bracket_search = _bracket_re.findall(id) if len(bracket_search) == 1: return bracket_search[0][1] underscore_search = _underscore_re.findall(id) if len(underscore_search) == 1: return underscore_search[0][1] return None def _cell(x): """translate an array x into a MATLAB cell array""" x_no_none = [i if i is not None else "" for i in x] return array(x_no_none, dtype=np_object) def load_matlab_model(infile_path, variable_name=None): """Load a cobra model stored as a .mat file infile_path : str variable_name : str, optional The variable name of the model in the .mat file. If this is not specified, then the first MATLAB variable which looks like a COBRA model will be used """ data = loadmat(infile_path) if variable_name is None: # skip meta variables meta_vars = {"__globals__", "__header__", "__version__"} possible_names = sorted(i for i in data if i not in meta_vars) if len(possible_names) == 1: variable_name = possible_names[0] if variable_name is not None: return from_mat_struct(data[variable_name], model_id=variable_name) for possible_name in possible_names: try: return from_mat_struct(data[possible_name], model_id=possible_name) except ValueError: None # If code here is executed, then no model was found. raise Exception("no COBRA model found") def save_matlab_model(model, file_name, varname=None): """Save the cobra model as a .mat file. This .mat file can be used directly in the MATLAB version of COBRA. model : :class:`~cobra.core.Model.Model` object file_name : str or file-like object """ if varname is None: varname = str(model.id) \ if model.id is not None and len(model.id) > 0 \ else "exported_model" mat = create_mat_dict(model) savemat(file_name, {varname: mat}, appendmat=True, oned_as="column") def create_mat_dict(model): """create a dict mapping model attributes to arrays""" model = model.to_array_based_model() rxns = model.reactions mets = model.metabolites mat = dicttype() mat["mets"] = _cell(mets.list_attr("id")) mat["metNames"] = _cell(mets.list_attr("name")) mat["metFormulas"] = _cell([str(m.formula) for m in mets]) try: mat["metCharge"] = array(mets.list_attr("charge")) * 1. except TypeError: # can't have any None entries for charge, or this will fail pass mat["genes"] = _cell(model.genes.list_attr("id")) mat["grRules"] = _cell(rxns.list_attr("gene_reaction_rule")) mat["rxns"] = _cell(rxns.list_attr("id")) mat["rxnNames"] = _cell(rxns.list_attr("name")) mat["subSystems"] = _cell(rxns.list_attr("subsystem")) mat["csense"] = "".join(model._constraint_sense) mat["S"] = model.S if model.S is not None else [[]] # multiply by 1 to convert to float, working around scipy bug # https://github.com/scipy/scipy/issues/4537 mat["lb"] = array(rxns.list_attr("lower_bound")) * 1. mat["ub"] = array(rxns.list_attr("upper_bound")) * 1. mat["b"] = array(mets.list_attr("_bound")) * 1. mat["c"] = array(rxns.list_attr("objective_coefficient")) * 1. mat["rev"] = array(rxns.list_attr("reversibility")) * 1 mat["description"] = str(model.id) return mat def from_mat_struct(mat_struct, model_id=None): """create a model from the COBRA toolbox struct The struct will be a dict read in by scipy.io.loadmat """ m = mat_struct if m.dtype.names is None: raise ValueError("not a valid mat struct") if not set(["rxns", "mets", "S", "lb", "ub"]) <= set(m.dtype.names): raise ValueError("not a valid mat struct") if "c" in m.dtype.names: c_vec = m["c"][0, 0] else: c_vec = None warn("objective vector 'c' not found") model = Model() if "description" in m: model.id = m["description"][0, 0][0] elif model_id is not None: model.id = model_id else: model.id = "imported_model" for i, name in enumerate(m["mets"][0, 0]): new_metabolite = Metabolite() new_metabolite.id = str(name[0][0]) new_metabolite.compartment = _get_id_comparment(new_metabolite.id) try: new_metabolite.name = str(m["metNames"][0, 0][i][0][0]) except (IndexError, ValueError): pass try: new_metabolite.formula = str(m["metFormulas"][0][0][i][0][0]) except (IndexError, ValueError): pass try: new_metabolite.charge = float(m["metCharge"][0, 0][i][0]) int_charge = int(new_metabolite.charge) if new_metabolite.charge == int_charge: new_metabolite.charge = int_charge except (IndexError, ValueError): pass model.add_metabolites([new_metabolite]) new_reactions = [] for i, name in enumerate(m["rxns"][0, 0]): new_reaction = Reaction() new_reaction.id = str(name[0][0]) new_reaction.lower_bound = float(m["lb"][0, 0][i][0]) new_reaction.upper_bound = float(m["ub"][0, 0][i][0]) if c_vec is not None: new_reaction.objective_coefficient = float(c_vec[i][0]) try: new_reaction.gene_reaction_rule = str(m['grRules'][0, 0][i][0][0]) except (IndexError, ValueError): pass try: new_reaction.name = str(m["rxnNames"][0, 0][i][0][0]) except (IndexError, ValueError): pass try: new_reaction.subsystem = str(m['subSystems'][0, 0][i][0][0]) except (IndexError, ValueError): pass new_reactions.append(new_reaction) model.add_reactions(new_reactions) coo = coo_matrix(m["S"][0, 0]) for i, j, v in zip(coo.row, coo.col, coo.data): model.reactions[j].add_metabolites({model.metabolites[i]: v}) return model def _check(result): """ensure success of a pymatbridge operation""" if result["success"] is not True: raise RuntimeError(result["content"]["stdout"]) def model_to_pymatbridge(model, variable_name="model", matlab=None): """send the model to a MATLAB workspace through pymatbridge This model can then be manipulated through the COBRA toolbox variable_name: str The variable name to which the model will be assigned in the MATLAB workspace matlab: None or pymatbridge.Matlab instance The MATLAB workspace to which the variable will be sent. If this is None, then this will be sent to the same environment used in IPython magics. """ if matlab is None: # assumed to be running an IPython magic from IPython import get_ipython matlab = get_ipython().magics_manager.registry["MatlabMagics"].Matlab model_info = create_mat_dict(model) S = model_info["S"].todok() model_info["S"] = 0 temp_S_name = "cobra_pymatbridge_temp_" + uuid4().hex _check(matlab.set_variable(variable_name, model_info)) _check(matlab.set_variable(temp_S_name, S)) _check(matlab.run_code("%s.S = %s;" % (variable_name, temp_S_name))) # all vectors need to be transposed for i in model_info.keys(): if i == "S": continue _check(matlab.run_code("{0}.{1} = {0}.{1}';".format(variable_name, i))) _check(matlab.run_code("clear %s;" % temp_S_name)) cobrapy-0.4.0b6/cobra/io/sbml.py000066400000000000000000000751471263606473700164420ustar00rootroot00000000000000#cobra/sbml.py: Tools for reading / writing SBML now contained in #this module #System modules from .. import Model, Reaction, Metabolite from os.path import isfile from os import name as __name from warnings import warn import re from math import isnan, isinf from six import iteritems # if __name == 'java': from org.sbml.jsbml import SBMLDocument, SpeciesReference, KineticLaw, Parameter from org.sbml.jsbml import SBMLReader, SBMLWriter __tmp_reader = SBMLReader() __tmp_writer = SBMLWriter() readSBML = __tmp_reader.readSBMLFromFile writeSBML = __tmp_writer.writeSBMLToFile from org.sbml.jsbml.Unit import Kind as __Kind UNIT_KIND_MOLE = __Kind.MOLE UNIT_KIND_GRAM = __Kind.GRAM UNIT_KIND_SECOND = __Kind.SECOND UNIT_KIND_DIMENSIONLESS = __Kind.DIMENSIONLESS else: from libsbml import SBMLDocument, SpeciesReference, KineticLaw, Parameter from libsbml import readSBML, writeSBML from libsbml import UNIT_KIND_MOLE, UNIT_KIND_GRAM, UNIT_KIND_SECOND, UNIT_KIND_DIMENSIONLESS def parse_legacy_id(the_id, the_compartment=None, the_type='metabolite', use_hyphens=False): """Deals with a bunch of problems due to bigg.ucsd.edu not following SBML standards the_id: String. the_compartment: String. the_type: String. Currently only 'metabolite' is supported use_hyphens: Boolean. If True, double underscores (__) in an SBML ID will be converted to hyphens """ if use_hyphens: the_id = the_id.replace('__','-') if the_type == 'metabolite': if the_id.split('_')[-1] == the_compartment: #Reformat Ids to match convention in Palsson Lab. the_id = the_id[:-len(the_compartment)-1] the_id += '[%s]'%the_compartment return the_id def create_cobra_model_from_sbml_file(sbml_filename, old_sbml=False, legacy_metabolite=False, print_time=False, use_hyphens=False): """convert an SBML XML file into a cobra.Model object. Supports SBML Level 2 Versions 1 and 4. The function will detect if the SBML fbc package is used in the file and run the converter if the fbc package is used. sbml_filename: String. old_sbml: Boolean. Set to True if the XML file has metabolite formula appended to metabolite names. This was a poorly designed artifact that persists in some models. legacy_metabolite: Boolean. If True then assume that the metabolite id has the compartment id appended after an underscore (e.g. _c for cytosol). This has not been implemented but will be soon. print_time: deprecated use_hyphens: Boolean. If True, double underscores (__) in an SBML ID will be converted to hyphens """ __default_lower_bound = -1000 __default_upper_bound = 1000 __default_objective_coefficient = 0 # Ensure that the file exists if not isfile(sbml_filename): raise IOError('Your SBML file is not found: %s'%sbml_filename) #Expressions to change SBML Ids to Palsson Lab Ids metabolite_re = re.compile('^M_') reaction_re = re.compile('^R_') compartment_re = re.compile('^C_') if print_time: warn("print_time is deprecated") model_doc = readSBML(sbml_filename) if (model_doc.getPlugin("fbc") != None): from libsbml import ConversionProperties, LIBSBML_OPERATION_SUCCESS conversion_properties = ConversionProperties() conversion_properties.addOption("convert fbc to cobra", True, "Convert FBC model to Cobra model") result = model_doc.convert(conversion_properties) if result != LIBSBML_OPERATION_SUCCESS: raise(Exception("Conversion of SBML+fbc to COBRA failed")) sbml_model = model_doc.getModel() sbml_model_id = sbml_model.getId() sbml_species = sbml_model.getListOfSpecies() sbml_reactions = sbml_model.getListOfReactions() sbml_compartments = sbml_model.getListOfCompartments() compartment_dict = dict([(compartment_re.split(x.getId())[-1], x.getName()) for x in sbml_compartments]) if legacy_metabolite: #Deal with the palsson lab appending the compartment id to the metabolite id new_dict = {} for the_id, the_name in compartment_dict.items(): if the_name == '': new_dict[the_id[0].lower()] = the_id else: new_dict[the_id] = the_name compartment_dict = new_dict legacy_compartment_converter = dict([(v,k) for k, v in compartment_dict.items()]) cobra_model = Model(sbml_model_id) metabolites = [] metabolite_dict = {} #Convert sbml_metabolites to cobra.Metabolites for sbml_metabolite in sbml_species: #Skip sbml boundary species if sbml_metabolite.getBoundaryCondition(): continue if (old_sbml or legacy_metabolite) and \ sbml_metabolite.getId().endswith('_b'): #Deal with incorrect sbml from bigg.ucsd.edu continue tmp_metabolite = Metabolite() metabolite_id = tmp_metabolite.id = sbml_metabolite.getId() tmp_metabolite.compartment = compartment_re.split(sbml_metabolite.getCompartment())[-1] if legacy_metabolite: if tmp_metabolite.compartment not in compartment_dict: tmp_metabolite.compartment = legacy_compartment_converter[tmp_metabolite.compartment] tmp_metabolite.id = parse_legacy_id(tmp_metabolite.id, tmp_metabolite.compartment, use_hyphens=use_hyphens) if use_hyphens: tmp_metabolite.id = metabolite_re.split(tmp_metabolite.id)[-1].replace('__','-') else: #Just in case the SBML ids are ill-formed and use - tmp_metabolite.id = metabolite_re.split(tmp_metabolite.id)[-1].replace('-','__') tmp_metabolite.name = sbml_metabolite.getName() tmp_formula = '' tmp_metabolite.notes = parse_legacy_sbml_notes(sbml_metabolite.getNotesString()) if sbml_metabolite.isSetCharge(): tmp_metabolite.charge = sbml_metabolite.getCharge() if "CHARGE" in tmp_metabolite.notes: note_charge = tmp_metabolite.notes["CHARGE"][0] try: note_charge = float(note_charge) if note_charge == int(note_charge): note_charge = int(note_charge) except: warn("charge of %s is not a number (%s)" % (tmp_metabolite.id, str(note_charge))) else: if tmp_metabolite.charge is None or tmp_metabolite.charge == note_charge: tmp_metabolite.notes.pop("CHARGE") else: # tmp_metabolite.charge != note_charge msg = "different charges specified for %s (%d and %d)" msg = msg % (tmp_metabolite.id, tmp_metabolite.charge, note_charge) warn(msg) for the_key in tmp_metabolite.notes.keys(): if the_key.lower() == 'formula': tmp_formula = tmp_metabolite.notes.pop(the_key)[0] break if tmp_formula == '' and old_sbml: tmp_formula = tmp_metabolite.name.split('_')[-1] tmp_metabolite.name = tmp_metabolite.name[:-len(tmp_formula)-1] tmp_metabolite.formula = tmp_formula metabolite_dict.update({metabolite_id: tmp_metabolite}) metabolites.append(tmp_metabolite) cobra_model.add_metabolites(metabolites) #Construct the vectors and matrices for holding connectivity and numerical info #to feed to the cobra toolbox. #Always assume steady state simulations so b is set to 0 cobra_reaction_list = [] for sbml_reaction in sbml_reactions: if use_hyphens: #Change the ids to match conventions used by the Palsson lab. reaction = Reaction(reaction_re.split(sbml_reaction.getId())[-1].replace('__','-')) else: #Just in case the SBML ids are ill-formed and use - reaction = Reaction(reaction_re.split(sbml_reaction.getId())[-1].replace('-','__')) cobra_reaction_list.append(reaction) #reaction.exchange_reaction = 0 reaction.name = sbml_reaction.getName() cobra_metabolites = {} #Use the cobra.Metabolite class here for sbml_metabolite in sbml_reaction.getListOfReactants(): tmp_metabolite_id = sbml_metabolite.getSpecies() #This deals with boundary metabolites if tmp_metabolite_id in metabolite_dict: tmp_metabolite = metabolite_dict[tmp_metabolite_id] cobra_metabolites[tmp_metabolite] = -sbml_metabolite.getStoichiometry() for sbml_metabolite in sbml_reaction.getListOfProducts(): tmp_metabolite_id = sbml_metabolite.getSpecies() #This deals with boundary metabolites if tmp_metabolite_id in metabolite_dict: tmp_metabolite = metabolite_dict[tmp_metabolite_id] # Handle the case where the metabolite was specified both # as a reactant and as a product. if tmp_metabolite in cobra_metabolites: warn("%s appears as a reactant and product %s" % (tmp_metabolite_id, reaction.id)) cobra_metabolites[tmp_metabolite] += sbml_metabolite.getStoichiometry() # if the combined stoichiometry is 0, remove the metabolite if cobra_metabolites[tmp_metabolite] == 0: cobra_metabolites.pop(tmp_metabolite) else: cobra_metabolites[tmp_metabolite] = sbml_metabolite.getStoichiometry() reaction.add_metabolites(cobra_metabolites) #Parse the kinetic law info here. parameter_dict = {} #If lower and upper bounds are specified in the Kinetic Law then #they override the sbml reversible attribute. If they are not #specified then the bounds are determined by getReversible. if not sbml_reaction.getKineticLaw(): if sbml_reaction.getReversible(): parameter_dict['lower_bound'] = __default_lower_bound parameter_dict['upper_bound'] = __default_upper_bound else: #Assume that irreversible reactions only proceed from left to right. parameter_dict['lower_bound'] = 0 parameter_dict['upper_bound'] = __default_upper_bound parameter_dict['objective_coefficient'] = __default_objective_coefficient else: for sbml_parameter in sbml_reaction.getKineticLaw().getListOfParameters(): parameter_dict[sbml_parameter.getId().lower()] = sbml_parameter.getValue() if 'lower_bound' in parameter_dict: reaction.lower_bound = parameter_dict['lower_bound'] elif 'lower bound' in parameter_dict: reaction.lower_bound = parameter_dict['lower bound'] elif sbml_reaction.getReversible(): reaction.lower_bound = __default_lower_bound else: reaction.lower_bound = 0 if 'upper_bound' in parameter_dict: reaction.upper_bound = parameter_dict['upper_bound'] elif 'upper bound' in parameter_dict: reaction.upper_bound = parameter_dict['upper bound'] else: reaction.upper_bound = __default_upper_bound if 'objective_coefficient' in parameter_dict: reaction.objective_coefficient = parameter_dict['objective_coefficient'] elif 'objective coefficient' in parameter_dict: reaction.objective_coefficient = parameter_dict['objective coefficient'] else: reaction.objective_coefficient = __default_objective_coefficient # ensure values are not set to nan or inf if isnan(reaction.lower_bound) or isinf(reaction.lower_bound): reaction.lower_bound = __default_lower_bound if isnan(reaction.upper_bound) or isinf(reaction.upper_bound): reaction.upper_bound = __default_upper_bound reaction_note_dict = parse_legacy_sbml_notes(sbml_reaction.getNotesString()) #Parse the reaction notes. #POTENTIAL BUG: DEALING WITH LEGACY 'SBML' THAT IS NOT IN A #STANDARD FORMAT #TODO: READ IN OTHER NOTES AND GIVE THEM A reaction_ prefix. #TODO: Make sure genes get added as objects if 'GENE ASSOCIATION' in reaction_note_dict: rule = reaction_note_dict['GENE ASSOCIATION'][0] try: rule.encode('ascii') except (UnicodeEncodeError, UnicodeDecodeError): warn("gene_reaction_rule '%s' is not ascii compliant" % rule) if rule.startswith(""") and rule.endswith("""): rule = rule[6:-6] reaction.gene_reaction_rule = rule if 'GENE LIST' in reaction_note_dict: reaction.systematic_names = reaction_note_dict['GENE LIST'][0] elif 'GENES' in reaction_note_dict and \ reaction_note_dict['GENES'] != ['']: reaction.systematic_names = reaction_note_dict['GENES'][0] elif 'LOCUS' in reaction_note_dict: gene_id_to_object = dict([(x.id, x) for x in reaction._genes]) for the_row in reaction_note_dict['LOCUS']: tmp_row_dict = {} the_row = 'LOCUS:' + the_row.lstrip('_').rstrip('#') for the_item in the_row.split('#'): k, v = the_item.split(':') tmp_row_dict[k] = v tmp_locus_id = tmp_row_dict['LOCUS'] if 'TRANSCRIPT' in tmp_row_dict: tmp_locus_id = tmp_locus_id + '.' + tmp_row_dict['TRANSCRIPT'] if 'ABBREVIATION' in tmp_row_dict: gene_id_to_object[tmp_locus_id].name = tmp_row_dict['ABBREVIATION'] if 'SUBSYSTEM' in reaction_note_dict: reaction.subsystem = reaction_note_dict.pop('SUBSYSTEM')[0] reaction.notes = reaction_note_dict #Now, add all of the reactions to the model. cobra_model.id = sbml_model.getId() #Populate the compartment list - This will be done based on cobra.Metabolites #in cobra.Reactions in the future. cobra_model.compartments = compartment_dict cobra_model.add_reactions(cobra_reaction_list) #cobra_model.update_rules() return cobra_model def parse_legacy_sbml_notes(note_string, note_delimiter = ':'): """Deal with legacy SBML format issues arising from the COBRA Toolbox for MATLAB and BiGG.ucsd.edu developers. """ note_dict = {} start_tag = '

' end_tag = '

' if '' in note_string: start_tag = '' end_tag = '' while start_tag in note_string and end_tag in note_string: note_start = note_string.index(start_tag) note_end = note_string.index(end_tag) the_note = note_string[(note_start + len(start_tag)):note_end].lstrip(' ').rstrip(' ') if note_delimiter in the_note: note_delimiter_index = the_note.index(note_delimiter) note_field = the_note[:note_delimiter_index].lstrip(' ').rstrip(' ').replace('_',' ').upper() note_value = the_note[(note_delimiter_index+1):].lstrip(' ').rstrip(' ') if note_field in note_dict: note_dict[note_field].append(note_value) else: note_dict[note_field] = [note_value] note_string = note_string[(note_end+len(end_tag)): ] if 'CHARGE' in note_dict and note_dict['CHARGE'][0].lower() in ['none', 'na', 'nan']: note_dict.pop('CHARGE') #Remove non-numeric charges return(note_dict) def write_cobra_model_to_sbml_file(cobra_model, sbml_filename, sbml_level=2, sbml_version=1, print_time=False, use_fbc_package=True): """Write a cobra.Model object to an SBML XML file. cobra_model: :class:`~cobra.core.Model.Model` object sbml_filename: The file to write the SBML XML to. sbml_level: 2 is the only level supported at the moment. sbml_version: 1 is the only version supported at the moment. use_fbc_package: Boolean. Convert the model to the FBC package format to improve portability. http://sbml.org/Documents/Specifications/SBML_Level_3/Packages/Flux_Balance_Constraints_(flux) TODO: Update the NOTES to match the SBML standard and provide support for Level 2 Version 4 """ sbml_doc = get_libsbml_document(cobra_model, sbml_level=sbml_level, sbml_version=sbml_version, print_time=print_time, use_fbc_package=use_fbc_package) writeSBML(sbml_doc, sbml_filename) def get_libsbml_document(cobra_model, sbml_level=2, sbml_version=1, print_time=False, use_fbc_package=True): """ Return a libsbml document object for writing to a file. This function is used by write_cobra_model_to_sbml_file(). """ note_start_tag, note_end_tag = '

', '

' if sbml_level > 2 or (sbml_level == 2 and sbml_version == 4): note_start_tag, note_end_tag = '', '' sbml_doc = SBMLDocument(sbml_level, sbml_version) sbml_model = sbml_doc.createModel(cobra_model.id.split('.')[0]) #Note need to set units reaction_units = 'mmol_per_gDW_per_hr' model_units = sbml_model.createUnitDefinition() model_units.setId(reaction_units) sbml_unit = model_units.createUnit() sbml_unit.setKind(UNIT_KIND_MOLE) sbml_unit.setScale(-3) sbml_unit = model_units.createUnit() sbml_unit.setKind(UNIT_KIND_GRAM) sbml_unit.setExponent(-1) sbml_unit = model_units.createUnit() sbml_unit.setKind(UNIT_KIND_SECOND) sbml_unit.setMultiplier(1.0/60/60) sbml_unit.setExponent(-1) #Add in the common compartment abbreviations. If there are additional compartments #they also need to be added. if not cobra_model.compartments: cobra_model.compartments = {'c': 'cytosol', 'p': 'periplasm', 'e': 'extracellular'} for the_key in cobra_model.compartments.keys(): sbml_comp = sbml_model.createCompartment() sbml_comp.setId(the_key) sbml_comp.setName(cobra_model.compartments[the_key]) sbml_comp.setSize(1) #Just to get rid of warnings if print_time: warn("print_time is deprecated") #Use this dict to allow for fast look up of species id #for references created in the reaction section. metabolite_dict = {} for cobra_metabolite in cobra_model.metabolites: metabolite_dict[cobra_metabolite.id] = add_sbml_species(sbml_model, cobra_metabolite, note_start_tag=note_start_tag, note_end_tag=note_end_tag) for the_reaction in cobra_model.reactions: #This is probably the culprit. Including cobra.Reaction #objects explicitly in cobra.Model will speed this up. sbml_reaction = sbml_model.createReaction() #Need to remove - for proper SBML. Replace with __ the_reaction_id = 'R_' + the_reaction.id.replace('-','__' ) sbml_reaction.setId(the_reaction_id) # The reason we are not using the Reaction.reversibility property # is because the SBML definition of reversibility does not quite # match with the cobra definition. In cobra, reversibility implies # that both positive and negative flux values are feasible. However, # SBML requires negative-flux-only reactions to still be classified # as reversible. To quote from the SBML Level 3 Version 1 Spec: # > However, labeling a reaction as irreversible is interpreted as # > an assertion that the rate expression will not have negative # > values during a simulation. # (Page 60 lines 44-45) sbml_reaction.setReversible(the_reaction.lower_bound < 0) if the_reaction.name: sbml_reaction.setName(the_reaction.name) else: sbml_reaction.setName(the_reaction.id) #Add in the reactant/product references for the_metabolite, the_coefficient in the_reaction._metabolites.items(): sbml_stoichiometry = the_coefficient metabolite_id = str(metabolite_dict[the_metabolite.id]) #Each SpeciesReference must have a unique id if sbml_stoichiometry < 0: species_reference = sbml_reaction.createReactant() else: species_reference = sbml_reaction.createProduct() species_reference.setId(metabolite_id + '_' + the_reaction_id) species_reference.setSpecies(metabolite_id) species_reference.setStoichiometry(abs(sbml_stoichiometry)) #Deal with the case where the reaction is a boundary reaction if len(the_reaction._metabolites) == 1: the_metabolite, the_coefficient = list(the_reaction._metabolites.items())[0] metabolite_id = add_sbml_species(sbml_model, the_metabolite, note_start_tag=note_start_tag, note_end_tag=note_end_tag, boundary_metabolite=True) sbml_stoichiometry = -the_coefficient #Each SpeciesReference must have a unique id if sbml_stoichiometry < 0: species_reference = sbml_reaction.createReactant() else: species_reference = sbml_reaction.createProduct() species_reference.setId(metabolite_id + '_' + the_reaction_id) species_reference.setSpecies(metabolite_id) species_reference.setStoichiometry(abs(sbml_stoichiometry)) #Add in the kineticLaw sbml_law = KineticLaw(sbml_level, sbml_version) if hasattr(sbml_law, 'setId'): sbml_law.setId('FLUX_VALUE') sbml_law.setFormula('FLUX_VALUE') reaction_parameter_dict = {'LOWER_BOUND': [the_reaction.lower_bound, reaction_units], 'UPPER_BOUND': [the_reaction.upper_bound, reaction_units], 'FLUX_VALUE': [0, reaction_units], 'OBJECTIVE_COEFFICIENT': [the_reaction.objective_coefficient, 'dimensionless']} for k, v in reaction_parameter_dict.items(): sbml_parameter = Parameter(sbml_level, sbml_version) sbml_parameter.setId(k) if hasattr(v, '__iter__'): sbml_parameter.setValue(v[0]) sbml_parameter.setUnits(v[1]) else: sbml_parameter.setValue(v) sbml_law.addParameter(sbml_parameter) sbml_reaction.setKineticLaw(sbml_law) #Checks if GPR and Subsystem annotations are present in the notes section and if they are the same as those in #the reaction's gene_reaction_rule/ subsystem attribute #If they are not identical, they are set to be identical note_dict = the_reaction.notes.copy() if the_reaction.gene_reaction_rule: note_dict['GENE_ASSOCIATION'] = [str(the_reaction.gene_reaction_rule)] if the_reaction.subsystem: note_dict['SUBSYSTEM'] = [str(the_reaction.subsystem)] #In a cobrapy model the notes section is stored as a dictionary. The following section turns the key-value-pairs #of the dictionary into a string and replaces recurring symbols so that the string has the required syntax for #an SBML doc. note_str = str(list(iteritems(note_dict))) note_start_tag, note_end_tag, note_delimiter = '

', '

', ':' note_str = note_str.replace('(\'',note_start_tag) note_str = note_str.replace('\']),',note_end_tag) note_str = note_str.replace('\',',note_delimiter) note_str = note_str.replace('\']','') note_str = note_str.replace('[\'','') note_str = note_str.replace('[','') note_str = note_str.replace(')]',note_end_tag+'') sbml_reaction.setNotes(note_str) if use_fbc_package: try: from libsbml import ConversionProperties, LIBSBML_OPERATION_SUCCESS conversion_properties = ConversionProperties() conversion_properties.addOption("convert cobra", True, "Convert Cobra model") result = sbml_doc.convert(conversion_properties) if result != LIBSBML_OPERATION_SUCCESS: raise Exception("Conversion of COBRA to SBML+fbc failed") except Exception as e: error_string = 'Error saving as SBML+fbc. %s' try: #Check whether the FbcExtension is there from libsbml import FbcExtension error_string = error_string%e except ImportError: error_string = error_string%'FbcExtension not available in libsbml. ' +\ 'If use_fbc_package == True then libsbml must be compiled with ' +\ 'the fbc extension. ' from libsbml import getLibSBMLDottedVersion _sbml_version = getLibSBMLDottedVersion() _major, _minor, _patch = map(int, _sbml_version.split('.')) if _major < 5 or (_major == 5 and _minor < 8): error_string += "You've got libsbml %s installed. You need 5.8.0 or later with the fbc package" raise(Exception(error_string)) return sbml_doc def add_sbml_species(sbml_model, cobra_metabolite, note_start_tag, note_end_tag, boundary_metabolite=False): """A helper function for adding cobra metabolites to an sbml model. sbml_model: sbml_model object cobra_metabolite: a cobra.Metabolite object note_start_tag: the start tag for parsing cobra notes. this will eventually be supplanted when COBRA is worked into sbml. note_end_tag: the end tag for parsing cobra notes. this will eventually be supplanted when COBRA is worked into sbml. """ sbml_species = sbml_model.createSpecies() the_id = 'M_' + cobra_metabolite.id.replace('-', '__') #Deal with legacy naming issues the_compartment = cobra_metabolite.compartment if the_id.endswith('[%s]'%the_compartment): the_id = the_id[:-len('[%s]'%the_compartment)] elif not the_id.endswith('_%s'%the_compartment): the_id += '_%s'%the_compartment if boundary_metabolite: the_id += '_boundary' sbml_species.setId(the_id) metabolite_id = the_id if boundary_metabolite: sbml_species.setBoundaryCondition(True) if cobra_metabolite.name: sbml_species.setName(cobra_metabolite.name) else: sbml_species.setName(cobra_metabolite.id) if the_compartment is not None: try: sbml_species.setCompartment(the_compartment) except: warn('metabolite failed: ' + the_id) return cobra_metabolite if cobra_metabolite.charge is not None: sbml_species.setCharge(cobra_metabolite.charge) #Deal with cases where the formula in the model is not an object but as a string if cobra_metabolite.formula or cobra_metabolite.notes: tmp_note = '' if hasattr(cobra_metabolite.formula, 'id'): tmp_note += '%sFORMULA: %s%s'%(note_start_tag, cobra_metabolite.formula.id, note_end_tag) else: tmp_note += '%sFORMULA: %s%s'%(note_start_tag, cobra_metabolite.formula, note_end_tag) if hasattr(cobra_metabolite.notes, 'items'): for the_id_type, the_id in cobra_metabolite.notes.items(): if the_id_type.lower() == 'charge': continue #Use of notes['CHARGE'] has been deprecated in favor of metabolite.charge if not isinstance(the_id_type, str): the_id_type = str(the_id_type) if hasattr(the_id, '__iter__') and len(the_id) == 1: the_id = the_id[0] if not isinstance(the_id, str): the_id = str(the_id) tmp_note += '%s%s: %s%s'%(note_start_tag, the_id_type, the_id, note_end_tag) sbml_species.setNotes(tmp_note + '') return metabolite_id def fix_legacy_id(id, use_hyphens=False, fix_compartments=False): id = id.replace('_DASH_', '__') id = id.replace('_FSLASH_', '/') id = id.replace('_BSLASH_', "\\") id = id.replace('_LPAREN_', '(') id = id.replace('_LSQBKT_', '[') id = id.replace('_RSQBKT_', ']') id = id.replace('_RPAREN_', ')') id = id.replace('_COMMA_', ',') id = id.replace('_PERIOD_', '.') id = id.replace('_APOS_', "'") id = id.replace('&', '&') id = id.replace('<', '<') id = id.replace('>', '>') id = id.replace('"', '"') if use_hyphens: id = id.replace('__', '-') else: id = id.replace("-", "__") if fix_compartments: if len(id) > 2: if (id[-3] == "(" and id[-1] == ")") or \ (id[-3] == "[" and id[-1] == "]"): id = id[:-3] + "_" + id[-2] return id def read_legacy_sbml(filename, use_hyphens=False): """read in an sbml file and fix the sbml id's""" model = create_cobra_model_from_sbml_file(filename, old_sbml=True) for metabolite in model.metabolites: metabolite.id = fix_legacy_id(metabolite.id) model.metabolites._generate_index() for reaction in model.reactions: reaction.id = fix_legacy_id(reaction.id) if reaction.id.startswith("EX_") and reaction.id.endswith("(e)"): reaction.id = reaction.id[:-3] + "_e" model.reactions._generate_index() # remove boundary metabolites (end in _b and only present in exchanges) for metabolite in list(model.metabolites): if not metabolite.id.endswith("_b"): continue if len(metabolite._reaction) == 1: if list(metabolite._reaction)[0].id.startswith("EX_"): metabolite.remove_from_model() model.metabolites._generate_index() return model cobrapy-0.4.0b6/cobra/io/sbml3.py000066400000000000000000000661511263606473700165200ustar00rootroot00000000000000from collections import defaultdict from warnings import warn, catch_warnings, simplefilter from decimal import Decimal from ast import parse as ast_parse, Name, Or, And, BoolOp from gzip import GzipFile from bz2 import BZ2File from tempfile import NamedTemporaryFile import re from six import iteritems, string_types from .. import Metabolite, Reaction, Gene, Model from ..core.Gene import parse_gpr from ..manipulation.modify import _renames from ..manipulation.validate import check_reaction_bounds, \ check_metabolite_compartment_formula try: from lxml.etree import parse, Element, SubElement, \ ElementTree, register_namespace, ParseError, XPath _with_lxml = True except ImportError: warn("Install lxml for faster SBML I/O") _with_lxml = False try: from xml.etree.cElementTree import parse, Element, SubElement, \ ElementTree, register_namespace, ParseError except ImportError: from xml.etree.ElementTree import parse, Element, SubElement, \ ElementTree, register_namespace, ParseError # use sbml level 2 from sbml.py (which uses libsbml). Eventually, it would # be nice to use the libSBML converters directly instead. try: import libsbml except ImportError: libsbml = None else: from .sbml import create_cobra_model_from_sbml_file as read_sbml2 from .sbml import write_cobra_model_to_sbml_file as write_sbml2 try: from sympy import Basic except: class Basic: pass # deal with namespaces namespaces = {"fbc": "http://www.sbml.org/sbml/level3/version1/fbc/version2", "sbml": "http://www.sbml.org/sbml/level3/version1/core", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "bqbiol": "http://biomodels.net/biology-qualifiers/"} for key in namespaces: register_namespace(key, namespaces[key]) def ns(query): """replace prefixes with namespace""" for prefix, uri in iteritems(namespaces): query = query.replace(prefix + ":", "{" + uri + "}") return query # XPATH query wrappers fbc_prefix = "{" + namespaces["fbc"] + "}" sbml_prefix = "{" + namespaces["sbml"] + "}" SBML_DOT = "__SBML_DOT__" # FBC TAGS OR_TAG = ns("fbc:or") AND_TAG = ns("fbc:and") GENEREF_TAG = ns("fbc:geneProductRef") GPR_TAG = ns("fbc:geneProductAssociation") GENELIST_TAG = ns("fbc:listOfGeneProducts") GENE_TAG = ns("fbc:geneProduct") # XPATHS BOUND_XPATH = ns("sbml:listOfParameters/sbml:parameter[@value]") COMPARTMENT_XPATH = ns("sbml:listOfCompartments/sbml:compartment") GENES_XPATH = GENELIST_TAG + "/" + GENE_TAG SPECIES_XPATH = ns("sbml:listOfSpecies/sbml:species[@boundaryCondition='%s']") OBJECTIVES_XPATH = ns("fbc:objective[@fbc:id='%s']/" "fbc:listOfFluxObjectives/" "fbc:fluxObjective") if _with_lxml: RDF_ANNOTATION_XPATH = ("sbml:annotation/rdf:RDF/" "rdf:Description[@rdf:about=$metaid]/" "*[self::bqbiol:isEncodedBy or self::bqbiol:is]/" "rdf:Bag/rdf:li/@rdf:resource") extract_rdf_annotation = XPath(RDF_ANNOTATION_XPATH, namespaces=namespaces, smart_strings=False) else: RDF_ANNOTATION_XPATH = ns("sbml:annotation/rdf:RDF/" "rdf:Description[@rdf:about='%s']/" "bqbiol:isEncodedBy/" "rdf:Bag/rdf:li[@rdf:resource]") def extract_rdf_annotation(sbml_element, metaid): search_xpath = RDF_ANNOTATION_XPATH % metaid for i in sbml_element.iterfind(search_xpath): yield get_attrib(i, "rdf:resource") for i in sbml_element.iterfind(search_xpath .replace("isEncodedBy", "is")): yield get_attrib(i, "rdf:resource") class CobraSBMLError(Exception): pass def get_attrib(tag, attribute, type=lambda x: x, require=False): value = tag.get(ns(attribute)) if require and value is None: msg = "required attribute '%s' not found in tag '%s'" % \ (attribute, tag.tag) if tag.get("id") is not None: msg += "with id '%s'" % tag.get("id") raise CobraSBMLError(msg) return type(value) if value is not None else None def set_attrib(xml, attribute_name, value): if value is None or value == "": return xml.set(ns(attribute_name), str(value)) def parse_stream(filename): """parses filename or compressed stream to xml""" try: if hasattr(filename, "read"): return parse(filename) elif filename.endswith(".gz"): with GzipFile(filename) as infile: return parse(infile) elif filename.endswith(".bz2"): with BZ2File(filename) as infile: return parse(infile) else: return parse(filename) except ParseError as e: raise CobraSBMLError("Malformed XML file: " + str(e)) # string utility functions def clip(string, prefix): """clips a prefix from the beginning of a string if it exists >>> clip("R_pgi", "R_") "pgi" """ return string[len(prefix):] if string.startswith(prefix) else string def strnum(number): """Utility function to convert a number to a string""" if isinstance(number, (Decimal, Basic, str)): return str(number) s = "%.15g" % number return s.rstrip(".") def construct_gpr_xml(parent, expression): """create gpr xml under parent node""" if isinstance(expression, BoolOp): op = expression.op if isinstance(op, And): new_parent = SubElement(parent, AND_TAG) elif isinstance(op, Or): new_parent = SubElement(parent, OR_TAG) else: raise Exception("unsupported operation " + op.__class__) for arg in expression.values: construct_gpr_xml(new_parent, arg) elif isinstance(expression, Name): gene_elem = SubElement(parent, GENEREF_TAG) set_attrib(gene_elem, "fbc:geneProduct", "G_" + expression.id) else: raise Exception("unsupported operation " + repr(expression)) def annotate_cobra_from_sbml(cobra_element, sbml_element): sbo_term = sbml_element.get("sboTerm") if sbo_term is not None: cobra_element.annotation["SBO"] = sbo_term meta_id = get_attrib(sbml_element, "metaid") if meta_id is None: return annotation = cobra_element.annotation for uri in extract_rdf_annotation(sbml_element, metaid="#" + meta_id): if not uri.startswith("http://identifiers.org/"): warn("%s does not start with http://identifiers.org/" % uri) continue try: provider, identifier = uri[23:].split("/", 1) except ValueError: warn("%s does not conform to http://identifiers.org/provider/id" % uri) continue # handle multiple id's in the same database if provider in annotation: # make into a list if necessary if isinstance(annotation[provider], string_types): annotation[provider] = [annotation[provider]] annotation[provider].append(identifier) else: cobra_element.annotation[provider] = identifier def annotate_sbml_from_cobra(sbml_element, cobra_element): if len(cobra_element.annotation) == 0: return # get the id so we can set the metaid tag = sbml_element.tag if tag.startswith(sbml_prefix) or tag[0] != "{": prefix = "" elif tag.startswith(fbc_prefix): prefix = fbc_prefix else: raise ValueError("Can not annotate " + repr(sbml_element)) id = sbml_element.get(prefix + "id") if len(id) == 0: raise ValueError("%s does not have id set" % repr(sbml_element)) set_attrib(sbml_element, "metaid", id) annotation = SubElement(sbml_element, ns("sbml:annotation")) rdf_desc = SubElement(SubElement(annotation, ns("rdf:RDF")), ns("rdf:Description")) set_attrib(rdf_desc, "rdf:about", "#" + id) bag = SubElement(SubElement(rdf_desc, ns("bqbiol:is")), ns("rdf:Bag")) for provider, identifiers in sorted(iteritems(cobra_element.annotation)): if provider == "SBO": set_attrib(sbml_element, "sboTerm", identifiers) continue if isinstance(identifiers, string_types): identifiers = (identifiers,) for identifier in identifiers: li = SubElement(bag, ns("rdf:li")) set_attrib(li, "rdf:resource", "http://identifiers.org/%s/%s" % (provider, identifier)) def parse_xml_into_model(xml, number=float): xml_model = xml.find(ns("sbml:model")) if get_attrib(xml_model, "fbc:strict") != "true": warn('loading SBML model without fbc:strict="true"') model_id = get_attrib(xml_model, "id") model = Model(model_id) model.name = xml_model.get("name") model.compartments = {c.get("id"): c.get("name") for c in xml_model.findall(COMPARTMENT_XPATH)} # add metabolites for species in xml_model.findall(SPECIES_XPATH % 'false'): met = Metabolite(clip(species.get("id"), "M_")) met.name = species.get("name") annotate_cobra_from_sbml(met, species) met.compartment = species.get("compartment") met.charge = get_attrib(species, "fbc:charge", int) met.formula = get_attrib(species, "fbc:chemicalFormula") model.add_metabolites([met]) # Detect boundary metabolites - In case they have been mistakenly # added. They should not actually appear in a model boundary_metabolites = {clip(i.get("id"), "M_") for i in xml_model.findall(SPECIES_XPATH % 'true')} # add genes for sbml_gene in xml_model.iterfind(GENES_XPATH): gene_id = get_attrib(sbml_gene, "fbc:id").replace(SBML_DOT, ".") gene = Gene(clip(gene_id, "G_")) gene.name = get_attrib(sbml_gene, "fbc:name") if gene.name is None: gene.name = get_attrib(sbml_gene, "fbc:label") annotate_cobra_from_sbml(gene, sbml_gene) model.genes.append(gene) def process_gpr(sub_xml): """recursively convert gpr xml to a gpr string""" if sub_xml.tag == OR_TAG: return "( " + ' or '.join(process_gpr(i) for i in sub_xml) + " )" elif sub_xml.tag == AND_TAG: return "( " + ' and '.join(process_gpr(i) for i in sub_xml) + " )" elif sub_xml.tag == GENEREF_TAG: gene_id = get_attrib(sub_xml, "fbc:geneProduct", require=True) return clip(gene_id, "G_") else: raise Exception("unsupported tag " + sub_xml.tag) bounds = {bound.get("id"): get_attrib(bound, "value", type=number) for bound in xml_model.iterfind(BOUND_XPATH)} # add reactions reactions = [] for sbml_reaction in xml_model.iterfind( ns("sbml:listOfReactions/sbml:reaction")): reaction = Reaction(clip(sbml_reaction.get("id"), "R_")) reaction.name = sbml_reaction.get("name") annotate_cobra_from_sbml(reaction, sbml_reaction) lb_id = get_attrib(sbml_reaction, "fbc:lowerFluxBound", require=True) ub_id = get_attrib(sbml_reaction, "fbc:upperFluxBound", require=True) try: reaction.upper_bound = bounds[ub_id] reaction.lower_bound = bounds[lb_id] except KeyError as e: raise CobraSBMLError("No constant bound with id '%s'" % e.message) reactions.append(reaction) stoichiometry = defaultdict(lambda: 0) for species_reference in sbml_reaction.findall( ns("sbml:listOfReactants/sbml:speciesReference")): met_name = clip(species_reference.get("species"), "M_") stoichiometry[met_name] -= \ number(species_reference.get("stoichiometry")) for species_reference in sbml_reaction.findall( ns("sbml:listOfProducts/sbml:speciesReference")): met_name = clip(species_reference.get("species"), "M_") stoichiometry[met_name] += \ get_attrib(species_reference, "stoichiometry", type=number, require=True) # needs to have keys of metabolite objects, not ids object_stoichiometry = {} for met_id in stoichiometry: if met_id in boundary_metabolites: warn("Boundary metabolite '%s' used in reaction '%s'" % (met_id, reaction.id)) continue try: metabolite = model.metabolites.get_by_id(met_id) except KeyError: warn("ignoring unknown metabolite '%s' in reaction %s" % (met_id, reaction.id)) continue object_stoichiometry[metabolite] = stoichiometry[met_id] reaction.add_metabolites(object_stoichiometry) # set gene reaction rule gpr_xml = sbml_reaction.find(GPR_TAG) if gpr_xml is not None and len(gpr_xml) != 1: warn("ignoring invalid geneAssocation for " + repr(reaction)) gpr_xml = None gpr = process_gpr(gpr_xml[0]) if gpr_xml is not None else '' # remove outside parenthesis, if any if gpr.startswith("(") and gpr.endswith(")"): gpr = gpr[1:-1].strip() gpr = gpr.replace(SBML_DOT, ".") reaction.gene_reaction_rule = gpr model.add_reactions(reactions) # objective coefficients are handled after all reactions are added obj_list = xml_model.find(ns("fbc:listOfObjectives")) if obj_list is None: warn("listOfObjectives element not found") return model target_objective = get_attrib(obj_list, "fbc:activeObjective") obj_query = OBJECTIVES_XPATH % target_objective for sbml_objective in obj_list.findall(obj_query): rxn_id = clip(get_attrib(sbml_objective, "fbc:reaction"), "R_") try: objective_reaction = model.reactions.get_by_id(rxn_id) except KeyError as e: raise CobraSBMLError("Objective reaction '%s' not found" % rxn_id) objective_reaction.objective_coefficient = \ get_attrib(sbml_objective, "fbc:coefficient", type=number) return model def model_to_xml(cobra_model, units=True): xml = Element("sbml", xmlns=namespaces["sbml"], level="3", version="1", sboTerm="SBO:0000624") set_attrib(xml, "fbc:required", "false") xml_model = SubElement(xml, "model") set_attrib(xml_model, "fbc:strict", "true") if cobra_model.id is not None: xml_model.set("id", cobra_model.id) if cobra_model.name is not None: xml_model.set("name", cobra_model.name) # if using units, add in mmol/gdw/hr if units: unit_def = SubElement( SubElement(xml_model, "listOfUnitDefinitions"), "unitDefinition", id="mmol_per_gDW_per_hr") list_of_units = SubElement(unit_def, "listOfUnits") SubElement(list_of_units, "unit", kind="mole", scale="-3", multiplier="1", exponent="1") SubElement(list_of_units, "unit", kind="gram", scale="0", multiplier="1", exponent="-1") SubElement(list_of_units, "unit", kind="second", scale="0", multiplier="3600", exponent="-1") # create the element for the flux objective obj_list_tmp = SubElement(xml_model, ns("fbc:listOfObjectives")) set_attrib(obj_list_tmp, "fbc:activeObjective", "obj") obj_list_tmp = SubElement(obj_list_tmp, ns("fbc:objective")) set_attrib(obj_list_tmp, "fbc:id", "obj") set_attrib(obj_list_tmp, "fbc:type", "maximize") flux_objectives_list = SubElement(obj_list_tmp, ns("fbc:listOfFluxObjectives")) # create the element for the flux bound parameters parameter_list = SubElement(xml_model, "listOfParameters") param_attr = {"constant": "true"} if units: param_attr["units"] = "mmol_per_gDW_per_hr" # the most common bounds are the minimum, maxmium, and 0 if len(cobra_model.reactions) > 0: min_value = min(cobra_model.reactions.list_attr("lower_bound")) max_value = max(cobra_model.reactions.list_attr("upper_bound")) else: min_value = -1000 max_value = 1000 SubElement(parameter_list, "parameter", value=strnum(min_value), id="cobra_default_lb", sboTerm="SBO:0000626", **param_attr) SubElement(parameter_list, "parameter", value=strnum(max_value), id="cobra_default_ub", sboTerm="SBO:0000626", **param_attr) SubElement(parameter_list, "parameter", value="0", id="cobra_0_bound", sboTerm="SBO:0000626", **param_attr) def create_bound(reaction, bound_type): """returns the str id of the appropriate bound for the reaction The bound will also be created if necessary""" value = getattr(reaction, bound_type) if value == min_value: return "cobra_default_lb" elif value == 0: return "cobra_0_bound" elif value == max_value: return "cobra_default_ub" else: param_id = "R_" + reaction.id + "_" + bound_type SubElement(parameter_list, "parameter", id=param_id, value=strnum(value), sboTerm="SBO:0000625", **param_attr) return param_id # add in compartments compartmenst_list = SubElement(xml_model, "listOfCompartments") compartments = cobra_model.compartments for compartment, name in iteritems(compartments): SubElement(compartmenst_list, "compartment", id=compartment, name=name, constant="true") # add in metabolites species_list = SubElement(xml_model, "listOfSpecies") for met in cobra_model.metabolites: species = SubElement(species_list, "species", id="M_" + met.id, # Useless required SBML parameters constant="false", boundaryCondition="false", hasOnlySubstanceUnits="false") set_attrib(species, "name", met.name) annotate_sbml_from_cobra(species, met) set_attrib(species, "compartment", met.compartment) set_attrib(species, "fbc:charge", met.charge) set_attrib(species, "fbc:chemicalFormula", met.formula) # add in genes if len(cobra_model.genes) > 0: genes_list = SubElement(xml_model, GENELIST_TAG) for gene in cobra_model.genes: gene_id = gene.id.replace(".", SBML_DOT) sbml_gene = SubElement(genes_list, GENE_TAG) set_attrib(sbml_gene, "fbc:id", "G_" + gene_id) name = gene.name if name is None or len(name) == 0: name = gene.id set_attrib(sbml_gene, "fbc:label", gene_id) set_attrib(sbml_gene, "fbc:name", gene.name) annotate_sbml_from_cobra(sbml_gene, gene) # add in reactions reactions_list = SubElement(xml_model, "listOfReactions") for reaction in cobra_model.reactions: id = "R_" + reaction.id sbml_reaction = SubElement( reactions_list, "reaction", id=id, # Useless required SBML parameters fast="false", reversible=str(reaction.lower_bound < 0).lower()) set_attrib(sbml_reaction, "name", reaction.name) annotate_sbml_from_cobra(sbml_reaction, reaction) # add in bounds set_attrib(sbml_reaction, "fbc:upperFluxBound", create_bound(reaction, "upper_bound")) set_attrib(sbml_reaction, "fbc:lowerFluxBound", create_bound(reaction, "lower_bound")) # objective coefficient if reaction.objective_coefficient != 0: objective = SubElement(flux_objectives_list, ns("fbc:fluxObjective")) set_attrib(objective, "fbc:reaction", id) set_attrib(objective, "fbc:coefficient", strnum(reaction.objective_coefficient)) # stoichiometry reactants = {} products = {} for metabolite, stoichiomety in iteritems(reaction._metabolites): met_id = "M_" + metabolite.id if stoichiomety > 0: products[met_id] = strnum(stoichiomety) else: reactants[met_id] = strnum(-stoichiomety) if len(reactants) > 0: reactant_list = SubElement(sbml_reaction, "listOfReactants") for met_id, stoichiomety in sorted(iteritems(reactants)): SubElement(reactant_list, "speciesReference", species=met_id, stoichiometry=stoichiomety, constant="true") if len(products) > 0: product_list = SubElement(sbml_reaction, "listOfProducts") for met_id, stoichiomety in sorted(iteritems(products)): SubElement(product_list, "speciesReference", species=met_id, stoichiometry=stoichiomety, constant="true") # gene reaction rule gpr = reaction.gene_reaction_rule if gpr is not None and len(gpr) > 0: gpr = gpr.replace(".", SBML_DOT) gpr_xml = SubElement(sbml_reaction, GPR_TAG) try: parsed = parse_gpr(gpr)[0] construct_gpr_xml(gpr_xml, parsed.body) except Exception as e: print("failed on '%s' in %s" % (reaction.gene_reaction_rule, repr(reaction))) raise e return xml def read_sbml_model(filename, number=float, **kwargs): xmlfile = parse_stream(filename) xml = xmlfile.getroot() # use libsbml if not l3v1 with fbc v2 if xml.get("level") != "3" or xml.get("version") != "1" or \ get_attrib(xml, "fbc:required") is None: if libsbml is None: raise Exception("libSBML required for fbc < 2") # libsbml needs a file string, so write to temp file if a file handle if hasattr(filename, "read"): with NamedTemporaryFile(suffix=".xml", delete=False) as outfile: xmlfile.write(outfile, encoding="UTF-8") filename = outfile.name return read_sbml2(filename, **kwargs) return parse_xml_into_model(xml, number=number, **kwargs) id_required = {ns(i) for i in ("sbml:model", "sbml:reaction:", "sbml:species", "fbc:geneProduct", "sbml:compartment", "sbml:paramter", "sbml:UnitDefinition", "fbc:objective")} invalid_id_detector = re.compile("|".join(re.escape(i[0]) for i in _renames)) def validate_sbml_model(filename, check_model=True): """returns the model along with a list of errors""" xmlfile = parse_stream(filename) xml = xmlfile.getroot() # use libsbml if not l3v1 with fbc v2 if xml.get("level") != "3" or xml.get("version") != "1" or \ get_attrib(xml, "fbc:required") is None: raise CobraSBMLError("XML is not SBML level 3 v1 with fbc v2") sbml_errors = [] def err(err_msg): sbml_errors.append(err_msg) # make sure there is exactly one model xml_models = xml.findall(ns("sbml:model")) if len(xml_models) > 1: err("More than 1 SBML model detected in file") elif len(xml_models) == 0: err("No SBML model detected in file") else: xml_model = xml_models[0] # make sure all sbml id's are valid all_ids = set() for element in xmlfile.iter(): if element.tag.startswith(fbc_prefix): prefix = fbc_prefix elif element.tag.startswith(sbml_prefix): prefix = "" else: continue str_id = element.get(prefix + "id", None) element_name = element.tag.split("}")[-1] id_repr = "%s id '%s' " % (element_name, str_id) if str_id is None or len(str_id) == 0: if element.tag in id_required: err(element_name + " missing id") else: if str_id in all_ids: err("duplicate id for " + id_repr) all_ids.add(str_id) try: str_id.encode("ascii") except UnicodeEncodeError as e: err("invalid character '%s' found in %s" % (str_id[e.start:e.end], id_repr)) if invalid_id_detector.search(str_id): bad_chars = "".join(invalid_id_detector.findall(str_id)) err("invalid character%s '%s' found in %s" % ("s" if len(bad_chars) > 1 else "", bad_chars, id_repr)) if not str_id[0].isalpha(): err("%s does not start with alphabet character" % id_repr) # check SBO terms for element in xml.findall(".//*[@sboTerm]"): sbo_term = element.get("sboTerm") if not sbo_term.startswith("SBO:"): err("sboTerm '%s' does not begin with 'SBO:'" % sbo_term) # ensure can be made into model # all warnings generated while loading will be logged as errors with catch_warnings(record=True) as warning_list: simplefilter("always") try: model = parse_xml_into_model(xml) except CobraSBMLError as e: err(str(e)) return (None, sbml_errors) sbml_errors.extend(str(i.message) for i in warning_list) # check genes xml_genes = { get_attrib(i, "fbc:id").replace(SBML_DOT, ".") for i in xml_model.iterfind(GENES_XPATH)} for gene in model.genes: if "G_" + gene.id not in xml_genes and gene.id not in xml_genes: err("No gene specfied with id 'G_%s'" % gene.id) if check_model: sbml_errors.extend(check_reaction_bounds(model)) sbml_errors.extend(check_metabolite_compartment_formula(model)) return model, sbml_errors def write_sbml_model(cobra_model, filename, use_fbc_package=True, **kwargs): if not use_fbc_package: if libsbml is None: raise Exception("libSBML required to write non-fbc models") write_sbml2(cobra_model, filename, use_fbc_package=False, **kwargs) return # create xml xml = model_to_xml(cobra_model, **kwargs) write_args = {"encoding": "UTF-8", "xml_declaration": True} if _with_lxml: write_args["pretty_print"] = True write_args["pretty_print"] = True else: indent_xml(xml) # write xml to file should_close = True if hasattr(filename, "write"): xmlfile = filename should_close = False elif filename.endswith(".gz"): xmlfile = GzipFile(filename, "wb") elif filename.endswith(".bz2"): xmlfile = BZ2File(filename, "wb") else: xmlfile = open(filename, "wb") ElementTree(xml).write(xmlfile, **write_args) if should_close: xmlfile.close() # inspired by http://effbot.org/zone/element-lib.htm#prettyprint def indent_xml(elem, level=0): """indent xml for pretty printing""" i = "\n" + level * " " if len(elem): if not elem.text or not elem.text.strip(): elem.text = i + " " if not elem.tail or not elem.tail.strip(): elem.tail = i for elem in elem: indent_xml(elem, level + 1) if not elem.tail or not elem.tail.strip(): elem.tail = i else: if level and (not elem.tail or not elem.tail.strip()): elem.tail = i cobrapy-0.4.0b6/cobra/manipulation/000077500000000000000000000000001263606473700172065ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/manipulation/__init__.py000066400000000000000000000006361263606473700213240ustar00rootroot00000000000000from .delete import delete_model_genes, undelete_model_genes, remove_genes, \ find_gene_knockout_reactions from .modify import initialize_growth_medium, convert_to_irreversible, \ revert_to_reversible, escape_ID, canonical_form, \ get_compiled_gene_reaction_rules from .annotate import add_SBO from .validate import check_mass_balance, check_reaction_bounds, \ check_metabolite_compartment_formula cobrapy-0.4.0b6/cobra/manipulation/annotate.py000066400000000000000000000015011263606473700213660ustar00rootroot00000000000000from six import iteritems def add_SBO(model): """adds SBO terms for demands and exchanges This works for models which follow the standard convention for constructing and naming these reactions. The reaction should only contain the single metabolite being exchanged, and the id should be EX_metid or DM_metid """ for r in model.reactions: # don't annotate already annotated reactions if r.annotation.get("SBO"): continue # only doing exchanges if len(r.metabolites) != 1: continue met_id = list(r.metabolites)[0].id if r.id.startswith("EX_") and r.id == "EX_" + met_id: r.annotation["SBO"] = "SBO:0000627" elif r.id.startswith("DM_") and r.id == "DM_" + met_id: r.annotation["SBO"] = "SBO:0000628" cobrapy-0.4.0b6/cobra/manipulation/delete.py000066400000000000000000000206311263606473700210240ustar00rootroot00000000000000import re from copy import deepcopy from warnings import warn from ast import NodeTransformer, And from six import iteritems, string_types from ..core.Gene import eval_gpr, parse_gpr, ast2str def prune_unused_metabolites(cobra_model): """Removes metabolites that aren't involved in any reactions in the model cobra_model: A Model object. """ inactive_metabolites = [] active_metabolites = [] for the_metabolite in cobra_model.metabolites: if len(the_metabolite._reaction) == 0: the_metabolite.remove_from_model(cobra_model) inactive_metabolites.append(the_metabolite) else: active_metabolites.append(the_metabolite) if inactive_metabolites: return inactive_metabolites else: warn('All metabolites used in at least 1 reaction') def prune_unused_reactions(cobra_model): """Removes reactions from cobra_model. cobra_model: A Model object. reactions_to_prune: None, a string matching a reaction.id, a cobra.Reaction, or as list of the ids / Reactions to remove from cobra_model. If None then the function will delete reactions that have no active metabolites in the model. """ pruned_reactions = [] reactions_to_prune = [x for x in cobra_model.reactions if len(x._metabolites) == 0] for the_reaction in reactions_to_prune: try: the_reaction.remove_from_model(cobra_model) pruned_reactions.append(the_reaction) except: warn('%s not in %s' % (the_reaction.id, cobra_model.id)) if not pruned_reactions: warn('All reactions have at least 1 metabolite') return def undelete_model_genes(cobra_model): """Undoes the effects of a call to delete_model_genes in place. cobra_model: A cobra.Model which will be modified in place """ if cobra_model._trimmed_genes is not None: for x in cobra_model._trimmed_genes: x.functional = True if cobra_model._trimmed_reactions is not None: for the_reaction, (lower_bound, upper_bound) in \ cobra_model._trimmed_reactions.items(): the_reaction.lower_bound = lower_bound the_reaction.upper_bound = upper_bound cobra_model._trimmed_genes = [] cobra_model._trimmed_reactions = {} cobra_model._trimmed = False def get_compiled_gene_reaction_rules(cobra_model): """Generates a dict of compiled gene_reaction_rules Any gene_reaction_rule expressions which cannot be compiled or do not evaluate after compiling will be excluded. The result can be used in the find_gene_knockout_reactions function to speed up evaluation of these rules. """ return {r: parse_gpr(r.gene_reaction_rule)[0] for r in cobra_model.reactions} def find_gene_knockout_reactions(cobra_model, gene_list, compiled_gene_reaction_rules=None): """identify reactions which will be disabled when the genes are knocked out cobra_model: :class:`~cobra.core.Model.Model` gene_list: iterable of :class:`~cobra.core.Gene.Gene` compiled_gene_reaction_rules: dict of {reaction_id: compiled_string} If provided, this gives pre-compiled gene_reaction_rule strings. The compiled rule strings can be evaluated much faster. If a rule is not provided, the regular expression evaluation will be used. Because not all gene_reaction_rule strings can be evaluated, this dict must exclude any rules which can not be used with eval. """ potential_reactions = set() for gene in gene_list: if isinstance(gene, string_types): gene = cobra_model.genes.get_by_id(gene) potential_reactions.update(gene._reaction) gene_set = {str(i) for i in gene_list} if compiled_gene_reaction_rules is None: compiled_gene_reaction_rules = {r: parse_gpr(r.gene_reaction_rule)[0] for r in potential_reactions} return [r for r in potential_reactions if not eval_gpr(compiled_gene_reaction_rules[r], gene_set)] def delete_model_genes(cobra_model, gene_list, cumulative_deletions=True, disable_orphans=False): """delete_model_genes will set the upper and lower bounds for reactions catalysed by the genes in gene_list if deleting the genes means that the reaction cannot proceed according to cobra_model.reactions[:].gene_reaction_rule cumulative_deletions: False or True. If True then any previous deletions will be maintained in the model. """ if disable_orphans: raise NotImplementedError("disable_orphans not implemented") if not hasattr(cobra_model, '_trimmed'): cobra_model._trimmed = False cobra_model._trimmed_genes = [] cobra_model._trimmed_reactions = {} # Store the old bounds in here. # older models have this if cobra_model._trimmed_genes is None: cobra_model._trimmed_genes = [] if cobra_model._trimmed_reactions is None: cobra_model._trimmed_reactions = {} # Allow a single gene to be fed in as a string instead of a list. if not hasattr(gene_list, '__iter__') or \ hasattr(gene_list, 'id'): # cobra.Gene has __iter__ gene_list = [gene_list] if not hasattr(gene_list[0], 'id'): if gene_list[0] in cobra_model.genes: tmp_gene_dict = dict([(x.id, x) for x in cobra_model.genes]) else: # assume we're dealing with names if no match to an id tmp_gene_dict = dict([(x.name, x) for x in cobra_model.genes]) gene_list = [tmp_gene_dict[x] for x in gene_list] # Make the genes non-functional for x in gene_list: x.functional = False if cumulative_deletions: gene_list.extend(cobra_model._trimmed_genes) else: undelete_model_genes(cobra_model) for the_reaction in find_gene_knockout_reactions(cobra_model, gene_list): # Running this on an already deleted reaction will overwrite the # stored reaction bounds. if the_reaction in cobra_model._trimmed_reactions: continue old_lower_bound = the_reaction.lower_bound old_upper_bound = the_reaction.upper_bound cobra_model._trimmed_reactions[the_reaction] = (old_lower_bound, old_upper_bound) the_reaction.lower_bound = 0. the_reaction.upper_bound = 0. cobra_model._trimmed = True cobra_model._trimmed_genes = list(set(cobra_model._trimmed_genes + gene_list)) class _GeneRemover(NodeTransformer): def __init__(self, target_genes): NodeTransformer.__init__(self) self.target_genes = {str(i) for i in target_genes} def visit_Name(self, node): return None if node.id in self.target_genes else node def visit_BoolOp(self, node): original_n = len(node.values) self.generic_visit(node) if len(node.values) == 0: return None # AND with any entities removed if len(node.values) < original_n and isinstance(node.op, And): return None # if one entity in an OR was removed, just that entity passed up if len(node.values) == 1: return node.values[0] return node def remove_genes(cobra_model, gene_list, remove_reactions=True): """remove genes entirely from the model This will also simplify all gene_reaction_rules with this gene inactivated.""" gene_set = {cobra_model.genes.get_by_id(str(i)) for i in gene_list} gene_id_set = {i.id for i in gene_set} remover = _GeneRemover(gene_id_set) ast_rules = get_compiled_gene_reaction_rules(cobra_model) target_reactions = [] for reaction, rule in iteritems(ast_rules): if reaction.gene_reaction_rule is None or \ len(reaction.gene_reaction_rule) == 0: continue # reactions to remove if remove_reactions and not eval_gpr(rule, gene_id_set): target_reactions.append(reaction) else: # if the reaction is not removed, remove the gene # from its gpr remover.visit(rule) new_rule = ast2str(rule) if new_rule != reaction.gene_reaction_rule: reaction.gene_reaction_rule = new_rule for gene in gene_set: cobra_model.genes.remove(gene) cobra_model.remove_reactions(target_reactions) cobrapy-0.4.0b6/cobra/manipulation/modify.py000066400000000000000000000305511263606473700210530ustar00rootroot00000000000000from copy import deepcopy from warnings import warn from itertools import chain from ast import NodeTransformer from six import iteritems from .. import Reaction, Metabolite from .delete import get_compiled_gene_reaction_rules from ..core.Gene import ast2str _renames = ( (".", "_DOT_"), ("(", "_LPAREN_"), (")", "_RPAREN_"), ("-", "__"), ("[", "_LSQBKT"), ("]", "_RSQBKT"), (",", "_COMMA_"), (":", "_COLON_"), (">", "_GT_"), ("<", "_LT"), ("/", "_FLASH"), ("\\", "_BSLASH"), ("+", "_PLUS_"), ("=", "_EQ_"), (" ", "_SPACE_"), ("'", "_SQUOT_"), ('"', "_DQUOT_"), ) def _escape_str_id(id_str): """make a single string id SBML compliant""" for c in ("'", '"'): if id_str.startswith(c) and id_str.endswith(c) \ and id_str.count(c) == 2: id_str = id_str.strip(c) for char, escaped_char in _renames: id_str = id_str.replace(char, escaped_char) return id_str class _GeneRenamer(NodeTransformer): def visit_Name(self, node): node.id = _escape_str_id(node.id) return node def escape_ID(cobra_model): """makes all ids SBML compliant""" for x in chain([cobra_model], cobra_model.metabolites, cobra_model.reactions, cobra_model.genes): x.id = _escape_str_id(x.id) cobra_model.repair() gene_renamer = _GeneRenamer() for rxn, rule in iteritems(get_compiled_gene_reaction_rules(cobra_model)): if rule is not None: rxn._gene_reaction_rule = ast2str(gene_renamer.visit(rule)) def initialize_growth_medium(cobra_model, the_medium='MgM', external_boundary_compartment='e', external_boundary_reactions=None, reaction_lower_bound=0., reaction_upper_bound=1000., irreversible=False, reactions_to_disable=None): """Sets all of the input fluxes to the model to zero and then will initialize the input fluxes to the values specified in the_medium if it is a dict or will see if the model has a composition dict and use that to do the initialization. cobra_model: A cobra.Model object. the_medium: A string, or a dictionary. If a string then the initialize_growth_medium function expects that the_model has an attribute dictionary called media_compositions, which is a dictionary of dictionaries for various medium compositions. Where a medium composition is a dictionary of external boundary reaction ids for the medium components and the external boundary fluxes for each medium component. external_boundary_compartment: None or a string. If not None then it specifies the compartment in which to disable all of the external systems boundaries. external_boundary_reactions: None or a list of external_boundaries that are to have their bounds reset. This acts in conjunction with external_boundary_compartment. reaction_lower_bound: Float. The default value to use for the lower bound for the boundary reactions. reaction_upper_bound: Float. The default value to use for the upper bound for the boundary. irreversible: Boolean. If the model is irreversible then the medium composition is taken as the upper bound reactions_to_disable: List of reactions for which the upper and lower bounds are disabled. This is superceded by the contents of media_composition """ # Zero all of the inputs to the model if hasattr(the_medium, 'keys'): medium_composition = the_medium else: if hasattr(cobra_model, 'media_compositions'): if the_medium in cobra_model.media_compositions: medium_composition = cobra_model.media_compositions[the_medium] else: raise Exception("%s is not in the model's media list" % the_medium) else: raise Exception("the model doesn't have attribute " "media_compositions and the medium is not a dict") if external_boundary_reactions is not None: if isinstance(external_boundary_reactions[0], str): external_boundary_reactions = map(cobra_model.reactions.get_by_id, external_boundary_reactions) elif external_boundary_compartment is None: warn("We are initializing the medium without first adjusting all" "external boundary reactions") # Select the system_boundary reactions to reset if external_boundary_compartment is not None: _system_boundaries = dict([(x, x.get_compartments()) for x in cobra_model.reactions if x.boundary == 'system_boundary']) [_system_boundaries.pop(k) for k, v in list(_system_boundaries.items()) if len(v) == 1 and external_boundary_compartment not in v] if external_boundary_reactions is None: external_boundary_reactions = _system_boundaries.keys() else: external_boundary_reactions += _system_boundaries.keys() for the_reaction in external_boundary_reactions: the_reaction.lower_bound = reaction_lower_bound if the_reaction.upper_bound == 0: the_reaction.upper_bound = reaction_upper_bound # Disable specified reactions if reactions_to_disable is not None: if isinstance(reactions_to_disable[0], str): reactions_to_disable = map(cobra_model.reactions.get_by_id, reactions_to_disable) for the_reaction in reactions_to_disable: the_reaction.lower_bound = the_reaction.upper_bound = 0. # Update the model inputs based on the_medium for the_component in medium_composition.keys(): the_reaction = cobra_model.reactions.get_by_id(the_component) if irreversible: the_reaction.upper_bound = medium_composition[the_component] else: the_reaction.lower_bound = medium_composition[the_component] def convert_to_irreversible(cobra_model): """Split reversible reactions into two irreversible reactions These two reactions will proceed in opposite directions. This guarentees that all reactions in the model will only allow positive flux values, which is useful for some modeling problems. cobra_model: A Model object which will be modified in place. """ reactions_to_add = [] for reaction in cobra_model.reactions: # If a reaction is reverse only, the forward reaction (which # will be constrained to 0) will be left in the model. if reaction.lower_bound < 0: reverse_reaction = Reaction(reaction.id + "_reverse") reverse_reaction.lower_bound = max(0, -reaction.upper_bound) reverse_reaction.upper_bound = -reaction.lower_bound reverse_reaction.objective_coefficient = \ reaction.objective_coefficient * -1 reaction.lower_bound = max(0, reaction.lower_bound) reaction.upper_bound = max(0, reaction.upper_bound) # Make the directions aware of each other reaction.notes["reflection"] = reverse_reaction.id reverse_reaction.notes["reflection"] = reaction.id reaction_dict = {k: v * -1 for k, v in iteritems(reaction._metabolites)} reverse_reaction.add_metabolites(reaction_dict) reverse_reaction._model = reaction._model reverse_reaction._genes = reaction._genes for gene in reaction._genes: gene._reaction.add(reverse_reaction) reverse_reaction.subsystem = reaction.subsystem reverse_reaction._gene_reaction_rule = reaction._gene_reaction_rule reactions_to_add.append(reverse_reaction) cobra_model.add_reactions(reactions_to_add) def revert_to_reversible(cobra_model, update_solution=True): """This function will convert a reversible model made by convert_to_irreversible into a reversible model. cobra_model: A cobra.Model which will be modified in place. """ reverse_reactions = [x for x in cobra_model.reactions if "reflection" in x.notes and x.id.endswith('_reverse')] # If there are no reverse reactions, then there is nothing to do if len(reverse_reactions) == 0: return update_solution = update_solution and cobra_model.solution is not None \ and cobra_model.solution.status != "NA" if update_solution: x_dict = cobra_model.solution.x_dict for reverse in reverse_reactions: forward_id = reverse.notes.pop("reflection") forward = cobra_model.reactions.get_by_id(forward_id) forward.lower_bound = -reverse.upper_bound if forward.upper_bound == 0: forward.upper_bound = -reverse.lower_bound # update the solution dict if update_solution: if reverse.id in x_dict: x_dict[forward_id] -= x_dict.pop(reverse.id) if "reflection" in forward.notes: forward.notes.pop("reflection") # Since the metabolites and genes are all still in # use we can do this faster removal step. We can # probably speed things up here. cobra_model.remove_reactions(reverse_reactions) # update the solution vector if update_solution: cobra_model.solution.x_dict = x_dict cobra_model.solution.x = [x_dict[r.id] for r in cobra_model.reactions] def canonical_form(model, objective_sense='maximize', already_irreversible=False, copy=True): """Return a model (problem in canonical_form). Converts a minimization problem to a maximization, makes all variables positive by making reactions irreversible, and converts all constraints to <= constraints. model: class:`~cobra.core.Model`. The model/problem to convert. objective_sense: str. The objective sense of the starting problem, either 'maximize' or 'minimize'. A minimization problems will be converted to a maximization. already_irreversible: bool. If the model is already irreversible, then pass True. copy: bool. Copy the model before making any modifications. """ if copy: model = model.copy() if not already_irreversible: convert_to_irreversible(model) if objective_sense == "minimize": # if converting min to max, reverse all the objective coefficients for reaction in model.reactions: reaction.objective_coefficient = - reaction.objective_coefficient elif objective_sense != "maximize": raise Exception("Invalid objective sense '%s'. " "Must be 'minimize' or 'maximize'." % objective_sense) # convert G and E constraints to L constraints for metabolite in model.metabolites: if metabolite._constraint_sense == "G": metabolite._constraint_sense = "L" metabolite._bound = - metabolite._bound for reaction in metabolite.reactions: coeff = reaction.get_coefficient(metabolite) # reverse the coefficient reaction.add_metabolites({metabolite: -2 * coeff}) elif metabolite._constraint_sense == "E": # change existing constraint to L metabolite._constraint_sense = "L" # add new constraint new_constr = Metabolite("%s__GE_constraint" % metabolite.id) new_constr._constraint_sense = "L" new_constr._bound = - metabolite._bound for reaction in metabolite.reactions: coeff = reaction.get_coefficient(metabolite) reaction.add_metabolites({new_constr: -coeff}) # convert lower bounds to LE constraints for reaction in model.reactions: if reaction.lower_bound < 0: raise Exception("Bounds of irreversible reactions should be >= 0," " for %s" % reaction.id) elif reaction.lower_bound == 0: continue # new constraint for lower bound lb_constr = Metabolite("%s__LB_constraint" % reaction.id) lb_constr._constraint_sense = "L" lb_constr._bound = - reaction.lower_bound reaction.add_metabolites({lb_constr: -1}) reaction.lower_bound = 0 return model cobrapy-0.4.0b6/cobra/manipulation/validate.py000066400000000000000000000040771263606473700213610ustar00rootroot00000000000000from math import isinf, isnan NOT_MASS_BALANCED_TERMS = {"SBO:0000627", # EXCHANGE "SBO:0000628", # DEMAND "SBO:0000629", # BIOMASS "SBO:0000631", # PSEUDOREACTION "SBO:0000632", # SINK } def check_mass_balance(model): warnings = [] unbalanced = {} for reaction in model.reactions: if reaction.annotation.get("SBO") not in NOT_MASS_BALANCED_TERMS: balance = reaction.check_mass_balance() if balance: unbalanced[reaction] = balance return unbalanced def check_reaction_bounds(model): errors = [] for reaction in model.reactions: if reaction.lower_bound > reaction.upper_bound: errors.append("Reaction '%s' has lower bound > upper bound" % reaction.id) if isinf(reaction.lower_bound): errors.append("Reaction '%s' has infinite lower_bound" % reaction.id) elif isnan(reaction.lower_bound): errors.append("Reaction '%s' has NaN for lower_bound" % reaction.id) if isinf(reaction.upper_bound): errors.append("Reaction '%s' has infinite upper_bound" % reaction.id) elif isnan(reaction.upper_bound): errors.append("Reaction '%s' has NaN for upper_bound" % reaction.id) return errors def check_metabolite_compartment_formula(model): errors = [] for met in model.metabolites: if met.compartment is not None and \ met.compartment not in model.compartments: errors.append("Metabolite '%s' compartment '%s' not found" % (met.id, met.compartment)) if met.formula is not None and len(met.formula) > 0: if not met.formula.isalnum(): errors.append("Metabolite '%s' formula '%s' not alphanumeric" % (met.id, met.formula)) return errors cobrapy-0.4.0b6/cobra/oven/000077500000000000000000000000001263606473700154555ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/README000066400000000000000000000032151263606473700163360ustar00rootroot00000000000000This is the location for self-contained add-ons that are currently baking. Please try to organize your buns into rational categories. Occasionally, I will reorganize items in a logical fashion as the module set grows and my vision develops. If you want to contribute to the oven, please create a directory with your sourceforge username and put all files in it. For modifications to the pre-existing code, please continue to use the patch tracker or contact the sourceforge username associated with the files. Please follow the python style guide http://www.python.org/dev/peps/pep-0008/ and document thoroughly. Modules that deviate from these two commandments will not make it into the core and may result in revocation of svn privileges. Also, remember the following: 1) Document thoroughly. The world is much bigger than you really seem to think. 2) No camelCase or camelToes no matter who sports them. The exception: classes must be defined with CamelToeCase. 3) No non-standard lazy abbreviations kegg is acceptable mets, rxns, and coefs are not. 4) phrasesmusthaveunderscores is bad phrases_must_have_underscores is good 5) For default values in functions don't put spaces around the =. def my_cat(color = 'black') is bad. def my_cat(color='black') is good. 6) Also, unless absolutely necessary you should import functions from modules and not use the whole path name. This allows for faster transitions if we need to change an upstream module or want to maintain python and jython compatibility, or want to test some new package. If a function something requires a very specific set of data files then it is best to make a module. Happy coding! Dr. S. cobrapy-0.4.0b6/cobra/oven/WARNING000066400000000000000000000001511263606473700165020ustar00rootroot00000000000000THIS DIRECTORY IS SUBJECT TO RANDOM MUTATIONS THAT ARE AESTHETICALLY APPEALING TO YOUR FRIENDLY FASCIST. cobrapy-0.4.0b6/cobra/oven/__init__.py000066400000000000000000000002071263606473700175650ustar00rootroot00000000000000from warnings import warn warn("Functions in cobra.oven are still being baked thus are not officially supported and may not function") cobrapy-0.4.0b6/cobra/oven/aliebrahim/000077500000000000000000000000001263606473700175525ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/aliebrahim/__init__.py000066400000000000000000000000001263606473700216510ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/aliebrahim/designAnalysis.py000066400000000000000000000136101263606473700231020ustar00rootroot00000000000000import numpy import pylab #from ... import solvers from cobra import solvers from itertools import combinations def plot_production_envelope(model, target_id, n_points=20, plot=True, solver_name="glpk"): """Plot the production envelope for the model given a target Parameters ---------- model : cobra model The cobra model should already have the uptake rates se target_id : str The id of the exchange reaction for the target compound n_points : int The number of points to calculate for the production envolope plot : bool, optional Whether or not a plot should be made of the production envelope Returns ------- growth_rates : :class:`numpy.ndarray` An array of growth rates production_rates : :class:`numpy.ndarray` An array of the corresponding maximum production rate at the given growth rate. """ solver = solvers.solver_dict[solver_name] target_id = str(target_id) target_reaction = model.reactions.get_by_id(target_id) original_target_bounds = (target_reaction.lower_bound, target_reaction.upper_bound) lp = solver.create_problem(model) if solver.solve_problem(lp) != "optimal": return ([0], [0]) solution = solver.format_solution(lp, model) max_growth_rate = solution.f max_growth_production = solution.x_dict[target_reaction.id] #growth_coupled = max_growth_production > 0 # extract the current objective so it can be changed original_objectives = {} for reaction in model.reactions: if reaction.objective_coefficient != 0: original_objectives[reaction] = reaction.objective_coefficient reaction.objective_coefficient = 0 # calculate the maximum possible production rate target_reaction.objective_coefficient = 1 model.optimize(objective_sense="minimize") min_production_rate = model.solution.f model.optimize(objective_sense="maximize") max_production_rate = model.solution.f production_rates = numpy.linspace(min_production_rate, max_production_rate, n_points) # ensure the point of production at maximum growth is included production_rates[ numpy.abs(production_rates - max_growth_production).argmin()] = \ max_growth_production # if the 0 point was overwritten in the last operation if production_rates[0] != 0: production_rates[1] = production_rates[0] production_rates[0] = 0 growth_rates = production_rates * 0 # make the objective coefficient what it was before target_reaction.objective_coefficient = 0 for reaction, coefficient in original_objectives.iteritems(): reaction.objective_coefficient = coefficient # calculate the maximum growth rate at each production rate for i in range(n_points): target_reaction.lower_bound = production_rates[i] target_reaction.upper_bound = production_rates[i] solver.update_problem(lp, model) if solver.solve_problem(lp) == "optimal": growth_rates[i] = solver.get_objective_value(lp) else: growth_rates[i] = 0 # reset the bounds on the target reaction target_reaction.lower_bound = original_target_bounds[0] target_reaction.upper_bound = original_target_bounds[1] if plot: pylab.plot(growth_rates, production_rates) pylab.title("Production envelope for %s" % (target_id)) pylab.xlabel("Growth rate") pylab.ylabel("Production rate") pylab.xlim(xmin=0) pylab.ylim(ymin=0) return (growth_rates, production_rates) def analyze_growth_coupled_num_knockouts(model, knockout_reaction, target_name="EX_etoh_e"): None def analyze_growth_coupled_design_subset(model, knockout_reactions, knockout_count, target_name="EX_etoh_e"): lp = model.optimize() best_score = 0 best = [] lb = [None] * k # store lower bounds when reactions are knocked out ub = [None] * k # store upper bounds when reactions are knocked out for subset in combinations(knockout_reactions, knockout_reactions): # knockout reactions for i, reaction_name in enumerate(subset): reaction = model.reactions.get_by_id(str(reaction_name)) (lb[i], ub[i]) = (reaction.lower_bound, reaction.upper_bound) (reaction.lower_bound, reaction.upper_bound) = (0.0, 0.0) model.optimize() production = model.solution.x_dict[target_name] # identical performance if abs(production - best_score) < 0.001: best.append(subset) # better performance elif production > best_score: best_score = model.solution.x_dict[target_name] best = [subset] print model.solution.f, model.solution.x_dict[target_name] # reset reactions for i, reaction_name in enumerate(subset): (reaction.lower_bound, reaction.upper_bound) = (lb[i], ub[i]) return best_score, best if __name__ == "__main__": from cobra.test import ecoli_pickle, create_test_model from time import time model = create_test_model(ecoli_pickle) #from IPython import embed; embed() model.reactions.get_by_id("EX_o2_e").lower_bound = 0 #analyze_strain_design(model, ["ABTA", "ACALD", "ACKr", "ATPS4rpp", "F6PA", # "GLUDy", "LDH_D", "MGSA", "PFL", "TPI"]) for i in ["ABTA", "ACALD", "ACKr", "ATPS4rpp", "F6PA", "GLUDy", "LDH_D", "MGSA", "PFL", "TPI"]: model.reactions.get_by_id(i).lower_bound = 0 model.reactions.get_by_id(i).upper_bound = 0 start = time() plot_production_envelope(model, "EX_etoh_e", solver_name="glpk", n_points=40, plot=True) print "ran in %.2f seconds" % (time() - start) pylab.show() # calculates in approx 1 seconds on 3.4 GHz i7 cobrapy-0.4.0b6/cobra/oven/aliebrahim/gapAnalysis_MILP_figure.svg000066400000000000000000000167551263606473700247460ustar00rootroot00000000000000 Original Model SUX Model I -vI X = Original Reactions Added Reactions Dummies 0 0 Objective function 0 0 1 Fluxes Metaboliteproduction {0,1} >t <0 =0 =0 : Fluxes {0,1} 0 Penalties is minimized cobrapy-0.4.0b6/cobra/oven/aliebrahim/keggIO.py000066400000000000000000000141201263606473700212670ustar00rootroot00000000000000import csv import re import copy from os.path import join, abspath, split import cobra # the default file locations kegg_directory = join(split(abspath(__file__))[0], "kegg_files") keggdictpath_default = join(kegg_directory, "kegg_dict.csv") reactionlst_default = join(kegg_directory, "reaction.lst") blacklistpath_default = join(kegg_directory, "kegg_blacklist.csv") def _intify(string): """returns integer representation of the str If str is a single letter, it will return 1""" if string.isdigit(): return int(string) # if the expression contains n, the default value is 2 n = 2 if string == "2n": return 2 * n try: return eval(string) except: raise ValueError(string) def _parse_split_array(str_array): """takes in an array of strings, each of which is either - a compound OR - a number followed by a compound returns [array_of_metabolites, corresponding_coefficient]""" metabolites = [] coefficients = [] for string in str_array: string = string.strip() if string[0].isupper(): # starts with an uppercase letter # there is no number associated, so it should be 1 metabolites.append(string) coefficients.append(1) else: the_coefficient, the_metabolite = string.split() metabolites.append(the_metabolite) coefficients.append(_intify(the_coefficient)) return [metabolites, coefficients] def import_kegg_reactions(compartment="c", reactionlstpath=None, keggdictpath=None, blacklistpath=None): """reads in kegg reactions from the three given files compartment: the compartment to which each reaction will be added If no file is specified for any of these, a default file will be used: reactionlstpath: path to path of kegg reactions the format should be reactionid: Met1 + 2 Met2 <=> Met3 + 2 Met4 keggdictpath: The path to a csv file translating between kegg and cobra metabolite ID's, where the first column contains the kegg ID, and the second contains cobra id blacklistpath: path to a file listing the blacklisted reactions, with one per line returns: cobra model with all of the included reactions """ if reactionlstpath is None: reactionlstpath = reactionlst_default if keggdictpath is None: keggdictpath = keggdictpath_default if blacklistpath is None: blacklistpath = blacklistpath_default # read in kegg dictionary to translate between kegg and cobra id's keggdictfile = open(keggdictpath, "r") keggdictcsv = csv.reader(keggdictfile) keggdict = {} for line in keggdictcsv: keggdict[line[1]] = line[0] keggdictfile.close() # read in the kegg blacklist keggblacklistfile = open(blacklistpath, "r") keggblacklistcsv = csv.reader(keggblacklistfile) keggblacklist = [] for line in keggblacklistcsv: keggblacklist.append(line[0]) keggblacklistfile.close() # parse the file of kegg reactions keggfile = open(reactionlstpath, "r") # regular expressions to split strings colon_sep = re.compile(":").split arrow_sep = re.compile("<=>").split plus_sep = re.compile(" \+ ").split keggreactions = [] cobra_reactions = [] used_metabolites = {} for line in keggfile: [id, reactionstr] = colon_sep(line, maxsplit=1) # remove whitespace id = id.strip() # if the id is in the blacklist, no need to proceed if id in keggblacklist: continue # split into reactants and products reactants_str, products_str = arrow_sep(reactionstr, maxsplit=1) # break up reactant and product strings into arrays of # metabolites and coefficients reactant_metabolites, reactant_coefficients = \ _parse_split_array(plus_sep(reactants_str)) product_metabolites, product_coefficients = \ _parse_split_array(plus_sep(products_str)) # reactant coefficients all need to be multiplied by -1 for i, coeff in enumerate(reactant_coefficients): reactant_coefficients[i] = coeff * -1 # make one array for all compoenents kegg_metabolites = reactant_metabolites coefficients = reactant_coefficients kegg_metabolites.extend(product_metabolites) coefficients.extend(product_coefficients) # translate the metabolites from kegg to cobra metabolites = [] try: for the_kegg_metabolite in kegg_metabolites: metabolites.append(keggdict[the_kegg_metabolite]) # if one of the metabolites is not found, skip to the next line except KeyError: continue # make a Kegg reaction reaction = cobra.Reaction(id) metabolite_dict = {} # dict of {metabolite : coefficient} for i, the_metabolite in enumerate(metabolites): metabolite_id = the_metabolite + "_" + compartment # if the metabolite already exists if metabolite_id in used_metabolites: used_metabolites[metabolite_id] = coefficients[i] else: # use a new metabolite new_metabolite = cobra.Metabolite(metabolite_id) used_metabolites[metabolite_id] = new_metabolite metabolite_dict[cobra.Metabolite(metabolite_id)] = \ coefficients[i] reaction.add_metabolites(metabolite_dict) reaction.notes["temporary_gapfilling_type"] = "Universal" # because the model will be converted to irreversible reaction.lower_bound = -1 * reaction.upper_bound cobra_reactions.append(reaction) keggfile.close() # add all of the reactions to a cobra model Universal = cobra.Model("Kegg_Universal_Reactions") Universal.add_reactions(cobra_reactions) return Universal if __name__ == "__main__": from time import time start_time = time() test_import = import_kegg_reactions() duration = time() - start_time print "imported %d reactions in %.2f sec" % \ (len(test_import.reactions), duration) cobrapy-0.4.0b6/cobra/oven/aliebrahim/simphenyIO.py000066400000000000000000000151051263606473700222120ustar00rootroot00000000000000from os.path import isfile import csv import re from warnings import warn import cobra def export_flux_distribution(model, filepath): """Export flux distribution to import into Simpheny. Parameters ---------- model : cobra.Model filepath: str """ from simphenyMapping import mapping outfile = open(filepath, "w") outcsv = csv.writer(outfile, delimiter="\t", lineterminator="\n") outcsv.writerow(["Reaction Number", "Flux Value", "Lower Bound", "Upper Bound"]) for reaction_name, reaction_flux in model.solution.x_dict.iteritems(): reaction = model.reactions.get_by_id(reaction_name) try: outcsv.writerow([mapping[reaction_name], reaction_flux, reaction.lower_bound, reaction.upper_bound]) except KeyError, e: print "Simpheny id number not found for", e outfile.close() def _header_count(filename): """count the number of header lines in a file The header is defined as over when a line is found which begins with a number""" file = open(filename, "r") for i, line in enumerate(file): if line[0].isdigit(): file.close() return i file.close() return False def _open_and_skip_header(filename): """returns a csv file with the header skipped""" count = _header_count(filename) if not count: raise (IOError, "%s corrupted" % filename) file = open(filename, "r") for i in range(count): file.readline() return csv.reader(file, delimiter="\t") def _find_metabolites_by_base(base, metabolites): """search for all metabolites in the list which match the base name. For example, "h2o" will identify both "h2o(c)" and "h2o(e)" """ search = re.compile(base + "\([a-z]\)") found = [] for the_metabolite in metabolites: if search.match(the_metabolite.id) is not None: found.append(the_metabolite) return found def read_simpheny(baseName, min_lower_bound=-1000, max_upper_bound=1000, maximize_info=True): r"""Imports files exported from a SimPheny simulation as a cobra model. .. warning:: Use with caution. This is a legacy import function, and errors have been observed in the converted gene-reaction rules. Parameters ---------- baseName : str The filepath to the exported SimPheny files without any of the extensions. On Windows, it helps if baseName is a raw string (i.e. r"Path\\to\\files") min_lower_bound, max_upper_bound : float or int, optional The bounds on the lower and upper bounds of fluxes in model. maximize_info : bool, optional An optional boolean keyword argument. If True, then an attempt will be made to parse the gpr and metabolite info files, and the function will take a little bit longer. Returns ------- model : cobra.Model the imported simpheny model """ # check to make sure the files can be read if not(isfile(baseName + ".met") and isfile(baseName + ".rxn") and isfile(baseName + ".sto")): # try again with modifying the baseName baseName = baseName.encode("string-escape") if not(isfile(baseName + ".met") and isfile(baseName + ".rxn") and isfile(baseName + ".sto")): raise (IOError, "Input file(s) not found") model = cobra.Model("SimPheny import from " + baseName) # read in metabolite file metfile = _open_and_skip_header(baseName + ".met") metabolites = [] for line in metfile: if len(line) == 0: break metabolite = cobra.Metabolite(id=line[1], name=line[2], compartment=line[3]) if maximize_info: compartment_search = re.findall("\([a-z]\)$", metabolite.id) if compartment_search != []: metabolite.compartment = compartment_search[0][1] model.compartments[metabolite.compartment] = line[3] metabolites.append(metabolite) model.add_metabolites(metabolites) # scalefunc will limit the maximum and minumum fluxes scalefunc = lambda x: max(min(max_upper_bound, x), min_lower_bound) # read in reaction file reaction_file = _open_and_skip_header(baseName + ".rxn") reactions = [] for line in reaction_file: if len(line) == 0: break the_reaction = cobra.Reaction() the_reaction.id = line[1] the_reaction.name = line[2] if line[3].lower() == "reversible": the_reaction.reversibility = 1 elif line[3].lower() == "irreversible": the_reaction.reversibility = 0 the_reaction.lower_bound = scalefunc(float(line[4])) the_reaction.upper_bound = scalefunc(float(line[5])) the_reaction.objective_coefficient = float(line[6]) reactions.append(the_reaction) model.add_reactions(reactions) # read in S matrix Sfile = _open_and_skip_header(baseName + ".sto") S = [] for i, line in enumerate(Sfile): if len(line) == 0: break the_metabolite = metabolites[i] for j, ns in enumerate(line): n = float(ns) if n != 0: model.reactions[j].add_metabolites({the_metabolite: n}) # attempt to read in more data infofilepath = baseName + "_cmpd.txt" if maximize_info and isfile(infofilepath): infofile = open(infofilepath, "r") infofile.readline() # skip the header infocsv = csv.reader(infofile) for row in infocsv: found = _find_metabolites_by_base(row[0], model.metabolites) for found_metabolite in found: found_metabolite.formula = row[2] found_metabolite.parse_composition() found_metabolite.charge = row[4] found_metabolite.notes = {} found_metabolite.notes["KEGG_id"] = row[8] found_metabolite.notes["CAS"] = row[5] found_metaboltie.notes["review status"] = row[3] infofile.close() gpr_filepath = baseName + "_gpr.txt" if maximize_info and isfile(gpr_filepath): warn("SimPheny export files may have errors in the gpr.") # Using this may be risky gpr_file = open(gpr_filepath, "r") gpr_file.readline() # skip the header gpr_csv = csv.reader(gpr_file) for row in gpr_csv: the_reaction = model.reactions[model.reactions.index(row[0])] the_reaction.gene_reaction_rule = row[5] the_reaction.parse_gene_association() gpr_file.close() # model.update() return model cobrapy-0.4.0b6/cobra/oven/danielhyduke/000077500000000000000000000000001263606473700201235ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/__init__.py000066400000000000000000000000001263606473700222220ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/construction/000077500000000000000000000000001263606473700226555ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/construction/balance.py000066400000000000000000000354771263606473700246340ustar00rootroot00000000000000from time import time from numpy import zeros, matrix, array from scipy.sparse import lil_matrix, dok_matrix from cPickle import load, dump from collections import defaultdict from warnings import warn def create_element_matrix(cobra_model, db_cursor=None, me_matrix=False, cas='sympy'): """Constructs a matrix of elements x metabolites for the metabolites in cobra_model. If elemental compositions are not available for all metabolites then a symbolic matrix is returned with symbols representing the unknown compositions. cobra_model: A cobra.Model object. db_cursor: Internal use only. me_matrix: False. Internal use only. cas: 'sympy' or 'ginac'. Specifies the computer algebra system to use. 'ginac' is the more powerful solver however it is accessed through swiginac which isn't the easiest thing to install. """ if cas.lower() == 'sympy': from sympy import solve, Matrix, Symbol, Add from sympy.core.numbers import Zero, Real elif cas.lower() == 'ginac': #Symbolic.Matrix might be slow to index so we might use #the swiginac matrix or numpy.matrix instead from Symbolic import Symbol, Matrix, Expr elements = ('c', 'h', 'o', 'n', 'p', 's', 'z') #z is for generics element_dict = dict(zip(elements, range(len(elements)))) element_matrix = dok_matrix((len(elements), len(cobra_model.metabolites))) if db_cursor and me_matrix: #Used for current incarnation of ME matrix. known_compositions = set() #1. Start off by getting known molecular compositions db_cursor.execute('Select Id, (c, h, o, n, p, s) from metabolite') metabolite_compositions = dict(db_cursor.fetchall()) for the_metabolite, the_composition in metabolite_compositions.items(): if the_metabolite in cobra_model.metabolites: known_compositions.add(the_metabolite) the_column = cobra_model.metabolites.index(the_metabolite) the_composition = eval(the_composition) element_matrix.update(dict([((i, the_column), the_composition[i]) for i in range(len(the_composition))])) #2. Identify the reactions that produce generics and set the stoichiometry #to zero to deal with mass imbalances. # #This isn't a problem any more as the dummy reactions are not added #until after balancing. generic_production_reactions = dict([(x, cobra_model.reactions.index(x)) for x in cobra_model.reactions\ if x.startswith('generic_rename')]) #collect all of the generic_X metabolite Ids and then set masses to 1 Z db_cursor.execute('SELECT FU_ID_Generic from Generic_FU') generic_metabolites = [x[0] for x in db_cursor.fetchall()] known_compositions.update(generic_metabolites) element_matrix.update(dict([((elements.index('z'), cobra_model.metabolites.index(x)), 1.) for x in generic_metabolites])) #Remove the generic production reactions for column_index in generic_production_reactions.values(): the_column = cobra_model._S[:, column_index] for row_index in the_column.nonzero()[0]: the_column[row_index, 0] = 0 #3. Remove demand reactions. #This isn't a problem any more as the demand reactions are not added #until after balancing. demand_indices = [cobra_model.reactions.index(x) for x in cobra_model.reactions if 'demand' in x] for column_index in demand_indices: the_column = cobra_model._S[:, column_index] for row_index in the_column.nonzero()[0]: the_column[row_index, 0] = 0 #4. Calculate molecular formula for transcripts and peptides. This isn't #necessary, but will probably make solving the problem easier. #known_compositions.update(transcripts and peptides) #5. For all metabolites not in known compositions. It will be #necessary to add a symbolic value to the matrix for each element #excluding z, i.e. the_metabolite_(c, h, o, n, p, s, z). metabolite_dict = dict(zip(cobra_model.metabolites, range(len(cobra_model.metabolites)))) [metabolite_dict.pop(k) for k in known_compositions] #If there are any metabolites without compositions build a symbolic matrix if len(metabolite_dict) > 0: #Build the symbolic elemental composition matrix if cas.lower() == 'sympy': element_matrix = Matrix(element_matrix.todense()) elif cas.lower() == 'ginac': element_matrix = Matrix(element_matrix.todense().tolist()) #Now populate with symbols for the_metabolites not in known_compositions for the_metabolite, metabolite_index in metabolite_dict.items(): for the_element, element_index in element_dict.items(): element_matrix[element_index, metabolite_index] = Symbol('%s_%s'%(the_metabolite, the_element)) else: print 'Not yet implemented for anything other than ME' return({'elements': element_dict, 'matrix': element_matrix}) def create_balancing_problem(cobra_model, element_vector, system_type='equations', cas='sympy', print_unbalanced=False): """Create a symbolic linear algebra problem to solve for unknown metabolite compositions in cobra_model. element_vector x cobra_model._S.T = 0 Note: The problems are typically too big to balance for all elements at once, thus the vector should only deal with one of the chemical elements. cobra_model: A cobra.Model object element_vector: A sympy.Matrix with the element counts corresponding to each metabolite in cobra_model.reactions. return_type: 'equations' or 'matrix'. Constructing equations is faster, but for specific operations a matrix may be desired. If 'matrix' then the unbalanced reactions are not currently returned. cas: 'sympy' or 'ginac'. Specifies the computer algebra system to use. 'ginac' is the more powerful solver however it is accessed through swiginac which isn't the easiest thing to install. print_unbalanced: Boolean. Indicates whether to print the unbalanced reactions. """ if cas.lower() == 'sympy': from sympy import solve, Matrix, Symbol, Add from sympy.core.numbers import Zero, Real elif cas.lower() == 'ginac': from Symbolic import Symbol, Matrix, Expr from swiginac import lsolve, matrix, symbol from swiginac import add as Add # If multiple solutions are available, then we'll have to make # sure that the sum of each column in element_matrix is >= 1 # #Now deal with multiplying the two matrices. unbalanced_dict = {} variable_set = set() if system_type == 'equations': s_matrix_transpose = cobra_model._S.T #Row access is faster for sparse arrays #Multiplying symbolic_element_matrix by s_matrix is not an option, due to #memory and speed issues. the_system = [] for i in range(s_matrix_transpose.shape[0]): the_column = s_matrix_transpose[i, :] #This is faster than multiplying symbolic_element_matrix by #the_column by about 3-fold the_indices = the_column.nonzero()[1] the_factors = [float(the_column[0, x]) for x in the_indices] if cas.lower() == 'sympy': the_variables = [element_vector[0,j] for j in the_indices] elif cas.lower() == 'ginac': the_variables = [element_vector[j] for j in the_indices] the_equation = reduce(lambda x,y: x + y, map(lambda x, y: x*y, the_factors, the_variables)) if cas.lower() == 'sympy': #this can probably be streamlined for the different CASes if isinstance(the_equation, Add): the_system.append(the_equation) the_atoms = list(the_equation.atoms()) [variable_set.add(x) for x in the_atoms if isinstance(x, Symbol)] elif not isinstance(the_equation, Zero) and \ the_equation != 0: unbalanced_dict.update({cobra_model.reactions[i]: the_equation}) if print_unbalanced: print 'Unbalanced Reaction ' +\ '%s: Element %s is %s'%(cobra_model.reactions[i], the_element, repr(the_equation)) elif cas.lower() == 'ginac': if isinstance(the_equation.data, Add): the_system.append(the_equation) [variable_set.add(x) for x in the_variables if isinstance(x, Expr)] elif the_equation.eval() != 0: unbalanced_dict.update({cobra_model.reactions[i]: the_equation}) if print_unbalanced: print 'Unbalanced Reaction ' +\ '%s: Element %s is %s'%(cobra_model.reactions[i], the_element, repr(the_equation)) else: print 'Warning this may take 10 Gb RAM and an hour' the_system = element_vector * cobra_model._S.todense() return({'variables': variable_set, 'equations': the_system, 'unbalanced': unbalanced_dict}) def solve_balance_problem(the_equations, the_variables): """Solves a systems of linear equations for the variables. Using sympy. the_equations: A list of sympy.Add equations. the_variables: A list of sympy variables (Symbols, Zero, Real, One, ...) """ if cas.lower() == 'sympy': from sympy import solve elif cas.lower() == 'ginac': from swiginac import lsolve as solve the_solution = solve(the_equations, the_variables) return the_solution if __name__ == '__main__': from sys import argv from os.path import lexists from time import time ## if not len(argv) == 3: ## print 'Need to call the script with the model file name and element' ## print 'e.g. python balance.py cobra_model.pickle c' ## model_file = argv[1] ## the_element = argv[2] cas='ginac' me_matrix = True the_element = 'c' model_file = '/Users/danie/e/builds/cobra_model.pickle' system_type = 'equations' element_file = '%s.elements.%s'%(model_file, cas) problem_file = '%s.%s_problem.%s'%(model_file, the_element, cas) solution_file = '%s.%s_solution.%s'%(model_file, the_element, cas) with open(model_file) as in_file: cobra_model = load(in_file) if lexists(element_file) and not lexists(problem_file): #Only load the element file if a problem file does not #already exist to reduce memory usage. with open(element_file) as in_file: the_elements = load(in_file) elif not lexists(problem_file): #Only build the elements if the problem file doesn't exist import pgdb as PgSQL start_time = time() db_con = PgSQL.connect(database='cobra') db_cursor = db_con.cursor() the_genus = 'thermotoga' db_cursor.execute('Set search_path to ' + the_genus) print 'Building element matrix' start_time = time() the_elements = create_element_matrix(cobra_model, db_cursor=db_cursor, me_matrix=True, cas=cas) if cas.lower() != 'ginac': #Can't pickle PySwigObjects with open(element_file, 'w') as out_file: dump(the_elements, out_file) print 'Element matrix %s created in %f minutes'%(element_file, (time()-start_time)/60) element_index = the_elements['elements'][the_element] element_vector = the_elements['matrix'][element_index, :] print 'This problem is symbolic and may take some time to solve' if not lexists(problem_file): print 'Constructing the problem for element %s. Restart to solve the problem'%the_element print 'This process can take 1-100 minutes depending on model size' start_time = time() the_problem = create_balancing_problem(cobra_model, element_vector, system_type=system_type, cas=cas, print_unbalanced=True) if cas.lower() != 'ginac': print 'Rerun the script to solve the problem' with open(problem_file, 'w') as out_file: dump(the_problem, out_file) print 'Problem file %s created in %1.2f minutes.'%(problem_file, (time() - start_time) / 60) ## else: ## with open(problem_file) as in_file: ## the_problem = load(in_file) ## print 'Solving the problem %s'%problem_file ## print 'This may take some time' ## start_time = time() ## the_solution = solve_balance_problem(the_problem['equations'], ## the_problem['variables']) ## with open(solution_file, 'w') as out_file: ## dump(the_solution, out_file) ## print 'Problem solved. %s created in %1.2f minutes.'%(solution_file, ## (time() - start_time) / 60) #solve nonsymbolic problems ## element_matrix = the_elements['matrix'].tocsr() ## elements = the_elements['elements'] ## reaction_matrix = cobra_model._S.T.tocsr() ## print 'Not a symbolic problem' ## the_balance = element_matrix * reaction_matrix ## the_balance = the_balance.tolil() ## for e, i in elements: ## print '%s generated by system: %f'%(e, the_balance[i,:].sum()) cobrapy-0.4.0b6/cobra/oven/danielhyduke/construction/omics_guided.py000066400000000000000000000012711263606473700256630ustar00rootroot00000000000000#cobra.manipulation.omics_guided.py #The functions for omics_guided tailoring will be kept here. def tailor_model(cobra_model, the_method='GIMME', data_type='mRNA', data_kind='log_ratio', solver='glpk', the_problem='return' ): """ the_method: Type of tailoring to employ. GIMME or shlomi. data_type: 'mRNA', 'protein', 'metabolite', ... data_kind: 'p-value','log_ratio': assumed vs control, 'intensity' solver: 'glpk' or 'gurobi' """ cobra_model = cobra_model.copy() print 'Under development' return #function [reactionActivity,reactionActivityIrrev,model2gimme,gimmeSolution] = solveGimme(model,objectiveCol,expressionCol,cutoff) cobrapy-0.4.0b6/cobra/oven/danielhyduke/general/000077500000000000000000000000001263606473700215405ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/general/__init__.py000066400000000000000000000000251263606473700236460ustar00rootroot00000000000000from arrays import * cobrapy-0.4.0b6/cobra/oven/danielhyduke/general/arrays.py000066400000000000000000000021331263606473700234120ustar00rootroot00000000000000from numpy import ndarray class ResultsArray(ndarray): """A primitive wrapper to allow accessing numpy.ndarrays via named rows and columns. The ResultsArray.row_names and column_names must be assigned after the object is created. The names will not carry over for any operations. TODO: Finish the implementation """ def __init__(self, shape, row_names=None, column_names=None): ndarray.__init__(shape) if row_names: self.row_names = row_names else: self.row_names = range(shape[0]) if column_names: self.column_names = column_names else: column_names = range(shape[1]) def get(self, row_name=None, column_name=None): if row_name: the_row = self.row_names.index(row_name) if column_name: the_column = self.column_names.index(column_name) if row_name and column_name: return self[the_row, the_column] if not row_name: return self[:, the_column] if not column_name: return self[the_row, :] cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/000077500000000000000000000000001263606473700214365ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/README000066400000000000000000000001671263606473700223220ustar00rootroot00000000000000Section dedicated to creating scipy/numpy for jython interface using cern.colt. This will not be ready any time soon. cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/__init__.py000066400000000000000000000000001263606473700235350ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/numpy/000077500000000000000000000000001263606473700226065ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/numpy/README000066400000000000000000000002431263606473700234650ustar00rootroot00000000000000In the future, we will be working on a numpy for java implementation that uses cern.colt matrices as the backend and provides a java interface that mirrors numpy. cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/numpy/__init__.py000066400000000000000000000002671263606473700247240ustar00rootroot00000000000000from cern.colt.matrix.impl import DenseDoubleMatrix2D as ndarray from cern.colt.matrix.impl import SparseDoubleMatrix2D as sdarray from core import * #import core #from core import * cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/numpy/core/000077500000000000000000000000001263606473700235365ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/numpy/core/Matrix.py000066400000000000000000000141531263606473700253600ustar00rootroot00000000000000#cobra.numjy.Matrix.py #Basic matrix class that is going to be used to mimic numpy.ndarray #capabilities. # #Derived from Simon Galbraith's ncajava Matrix.py file import java, javax, jarray from copy import deepcopy from cern.colt.matrix import DoubleMatrix2D from cern.colt.matrix.DoubleFactory2D import dense,sparse; from cern.colt.matrix.impl import DenseDoubleMatrix2D as ndarray from cern.colt.matrix.impl import SparseDoubleMatrix2D as sdarray from cern.colt.matrix.linalg import Algebra; from org.python.core.exceptions import ValueError as PyValueException; from org.python.core import PyString,PySlice,PySequence,PyList; class Matrix(javax.swing.table.AbstractTableModel): _M = None; _name = 'data matrix' varname = '' column_names = [] row_names = [] def __init__(self,M=None,N=None,v=None,sparse=None): """ M is the number of rows N is the number of columns v is the default value """ if isinstance(M,DoubleMatrix2D): self._M = M.copy(); elif (isinstance(M,int) and isinstance(N,int)): if sparse: F = sparse else: F = dense; if v is None: self._M = F.make(M,N,0); elif isinstance(v,int): self._M = F.make(M,N,v); elif isinstance(v,PyList): self._M = F.make(jarray.array(v,'d'),1) elif isinstance(v,PyString): self._M = F.random(M,N); else: if sparse: self._M = SparseDoubleMatrix2D(v) else: self._M = ndarray(v) self.shape = (self._M.rows(),self._M.columns()) def __copy__(self): r = new.instance(self.__class__, self.__dict__.copy() ) r._M = self._M.copy(); print "in copy" return r def __sub__(A,B): [ar,ac]=size(A); C = Matrix(ar,ac,0); for i in range(1,ar): for j in range(1,ac): C[i,j]=A[i,j]-B[i,j] return C; def __mul__(A,B): # need to check types and multiple based on them.. try: F = Algebra(); C=(F.mult(A._M,B._M)); except: raise PyValueException, "Inner dimension mismatch in matrix multiply."; return None; return Matrix(C) def __div__(A,B): #print size(A) try: F = Algebra(); R = F.solve(A._M,B._M); return R; except (java.lang.IllegalArgumentException) , e : # check the error class types according to the matrix class so we can intelligently report the error. print e.getMessage(); return None; def __repr__(self): return self._M.toString(); def __str__(self): return self._M.toString(); def __sz__(self): if isinstance(self,Matrix): x=self._M.rows(); y=self._M.columns(); return (x,y); else: raise PyValueException, "Argument must be a matrix."; def __setitem__(self,idx,v): if v is None: print idx raise PyValueException, "v is none" if isinstance(v,float): self._M.set(idx[0],idx[1],v); return; Y=idx[1]; X=idx[0]; if isinstance(X,PyList): X=map(lambda x: x, X) elif isinstance(X,PySlice): if X.start == None: X=range(0,self._M.rows()) elif isinstance(X,int): X=[X]; if isinstance(Y,PyList): Y=map(lambda x: x,Y); elif isinstance(Y,PySlice): if Y.start == None: Y=range(0,self._M.cols()) elif isinstance(Y,int): Y=[Y]; order=0; if len(X)>len(Y): order=1; #print "the order is " , order if order==0: y=1 for q in Y: x=1 for z in X: # print z,q,x,y,v self._M.set(z,q,v[x,y]); x+=1; y+=1; else: x=1 for z in X: y=1; for q in Y: self._M.set(z,q,v[x,y]); y+=1; x+=1; def __getslice__(self, i, j): if i.start != None: x=range(i.start,i.stop); else: x=range(0,self._M.rows()) if j.start !=None: y=range(j.start,j.stop) else: y=range(0,self._M.columns()) return Matrix(self._M.viewSelection(x,y)); def __getitem__(self,idx): x=idx[0]; y=idx[1]; if x<0 or y<0: raise PyValueException, "Index must be positive number"; # this will fail on pyslice if isinstance(x,PySlice): if x.start != None: x=range(x.start,x.stop); else: x=range(0,self._M.rows()) elif isinstance(x,int): x=x; x=[x]; elif isinstance(x,PyList): x=map(lambda x: x, x) if isinstance(y,int): y=y; y=[y]; elif isinstance(y,PySlice): if y.start != None: y=range(y.start,y.stop); else: y=range(0,self._M.columns()) elif isinstance(y,PySlice): if y.start !=None: y=range(y.start,y.stop) else: y=range(0,self._M.columns()) elif isinstance(y,PyList): y=map(lambda x: x, y) if len(x)<2 and len(y)<2: r = self._M.getQuick(x[0],y[0]); return float(r) # this is a specific element else: return Matrix(self._M.viewSelection(x,y)); cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/numpy/core/__init__.py000066400000000000000000000001031263606473700256410ustar00rootroot00000000000000from multiarray import * from core import * #from numeric import * cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/numpy/core/core.py000077500000000000000000000410301263606473700250410ustar00rootroot00000000000000# (c) Simon J Galbraith 2007. # Daniel Hyduke 2010 import java, jarray from copy import deepcopy from cern.colt.list import IntArrayList, DoubleArrayList from cern.colt.matrix import DoubleFactory2D from cern.colt.matrix.impl import DenseDoubleMatrix2D from cern.colt.matrix.impl import SparseDoubleMatrix2D from cern.colt.matrix.linalg import Algebra, EigenvalueDecomposition, LUDecomposition; from org.python.core.exceptions import ValueError as PyValueException; from cern.colt.matrix.doublealgo.Statistic import covariance, correlation; from cern.jet.math.Functions import abs as cern_abs from multiarray import ndarray, array def mean(A): """Calculate the mean of Matrix object A """ [r,c]=size(A) s=0 for j in range(1,c): s = s+A[r,j] return s/c def sum(A): """Calculate the sum of Matrix object A """ return A._M.zSum() def norm(A,ntype=None): F = Algebra(); if ntype=='fro': r=F.normF(A._M); elif ntype == 2: r=F.norm2(A._M); else: r=F.norm2(A._M); return r; def rank(A): if isinstance(A,ndarray): F = Algebra(); r=F.rank(A._M); return int(r); else: raise PyValueException, "Rank function can only be called on matrix objects" def cond(A): F = Algebra(); return F.cond(A._M); def size(A): return A.__sz__(); def transpose(A): F = Algebra(); if isinstance(A,float): return A; else: return ndarray(F.transpose(A._M)); def inverse(A): F = Algebra(); x=F.inverse(A._M); return ndarray(x) def eig(A): # check that _M is square try: E = EigenvalueDecomposition(A._M); U = E.getV(); eigs = E.getD(); except PyValueException, e: print e; raise PyValueException,"Error in eig, check warnings()"; return [ndarray(eigs),ndarray(U)]; def solve(A, B): F = Algebra(); if isinstance(A, ndarray) and isinstance(B, float): return F.solve(A._M, B); elif isinstance(B, ndarray) and isinstance(A, float): return F.solve(A, B._M); elif isinstance(A,ndarray) and isinstance(B, ndarray): return ndarray(F.solve(A._M, B._M)) else: return A / B def solve_transpose(A, B): F = Algebra(); if isinstance(A, ndarray) and isinstance(B, float): return F.solveTranspose(A._M,B); elif isinstance(B, ndarray) and isinstance(A, float): return F.solveTranspose(A, B._M); elif isinstance(A, ndarray) and isinstance(B, ndarray): return ndarray(F.solveTranspose(A._M, B._M)); else: return A / B def solve_LR(A, B): T = A._M.copy() F = LUDecomposition(T); if isinstance(A, ndarray) and isinstance(B, float): return F.solve(B); elif isinstance(A, ndarray) and isinstance(B, ndarray): C = F.solve(B._M); return ndarray(C) def cov(A): return ndarray(covariance(A._M)) def cor(A): # handle multidimensional matrix case B = cov(A); return ndarray(correlation(B._M)) def abs(A): F = cern_abs if isinstance(A,float): return java.lang.Math.abs(A) else: X = A._M.assign(F) return ndarray(X); def svd(A): X = SingularValueDecomposition(A._M) u = X.getU() v = X.getV() e = X.getS() return [ndarray(u), ndarray(e), ndarray(v)] #TODO: #Make sure all of the functions below are are defined. To know #how they should operate, look at the docstring: # pydoc numpy.the_function # # or in ipython: # from numpy import * # ?the_function # # #TODO: These are the java mappings to the type. If there's any #difficulties then check the cern.colt data types int32 = int int64 = long def ones(shape, dtype=float, order='C'): """Return a new array of given shape and type, filled with ones. See Also -------- zeros Examples -------- >>> numjy.ones(5) array([ 1., 1., 1., 1., 1.]) >>> numjy.ones((5,), dtype=numjy.int) array([1, 1, 1, 1, 1]) >>> numjy.ones((2, 1)) array([[ 1.], [ 1.]]) >>> s = (2,2) >>> numjy.ones(s) array([[ 1., 1.], [ 1., 1.]])""" return(ndarray(shape[0], shape[1], 1)) def sign(x): """ sign(x[, out]) Returns an element-wise indication of the sign of a number. The `sign` function returns ``-1 if x < 0, 0 if x==0, 1 if x > 0``. Parameters ---------- x : array_like Input values. Returns ------- y : ndarray The sign of `x`. Examples -------- >>> numjy.sign([-5., 4.5]) array([-1., 1.]) >>> numjy.sign(0) 0 """ def sign_int(a_number): if a_number < 0: return(-1) elif a_number == 0: return(0) else: return(1) if hasattr(x, '__iter__' ) or isinstance(x, ndarray): return_value = array([map(sign_int, list(array(x)._M.toArray()))]) else: #In the case the input is just a number return the sign of the number. return_value = sign_int(x) return(return_value) def vstack(tup): """ Stack arrays in sequence vertically (row wise). Take a sequence of arrays and stack them vertically to make a single array. Rebuild arrays divided by `vsplit`. Parameters ---------- tup : sequence of ndarrays Tuple containing arrays to be stacked. The arrays must have the same shape along all but the first axis. Returns ------- stacked : ndarray The array formed by stacking the given arrays. See Also -------- hstack : Stack arrays in sequence horizontally (column wise). dstack : Stack arrays in sequence depth wise (along third dimension). concatenate : Join a sequence of arrays together. vsplit : Split array into a list of multiple sub-arrays vertically. Notes ----- Equivalent to ``np.concatenate(tup, axis=0)`` Examples -------- >>> a = np.array([1, 2, 3]) >>> b = np.array([2, 3, 4]) >>> np.vstack((a,b)) array([[1, 2, 3], [2, 3, 4]]) >>> a = np.array([[1], [2], [3]]) >>> b = np.array([[2], [3], [4]]) >>> np.vstack((a,b)) array([[1], [2], [3], [2], [3], [4]]) """ if isinstance(tup[0], sdarray): matrix_factory = DoubleFactory2D.sparse else: #Allow for the case that python lists or tuples are fed to the function tup = map(array, tup) matrix_factory = DoubleFactory2D.dense stacked_matrix = tup[0]._M for the_array in tup[1:]: stacked_matrix = matrix_factory.appendRows(stacked_matrix, the_array._M) return(ndarray(stacked_matrix)) def hstack(tup): """ Stack arrays in sequence horizontally (column wise). Take a sequence of arrays and stack them horizontally to make a single array. Rebuild arrays divided by hsplit. Parameters: tup : sequence of ndarrays All arrays must have the same shape along all but the second axis. Returns: stacked : ndarray The array formed by stacking the given arrays. See also vstack Stack arrays in sequence vertically (row wise). dstack Stack arrays in sequence depth wise (along third axis). concatenate Join a sequence of arrays together. hsplit Split array along second axis. Notes Equivalent to np.concatenate(tup, axis=1) Examples >>> a = np.array((1,2,3)) >>> b = np.array((2,3,4)) >>> np.hstack((a,b)) array([1, 2, 3, 2, 3, 4]) >>> a = np.array([[1],[2],[3]]) >>> b = np.array([[2],[3],[4]]) >>> np.hstack((a,b)) array([[1, 2], [2, 3], [3, 4]]) """ if isinstance(tup[0], sdarray): matrix_factory = DoubleFactory2D.sparse else: tup = map(array, tup) matrix_factory = DoubleFactory2D.dense hstacked_matrix = tup[0]._M for the_array in tup[1:]: hstacked_matrix = matrix_factory.appendColumns(hstacked_matrix, the_array._M) return(ndarray(hstacked_matrix)) def where (condition, x=None, y=None): """ Return a masked array with elements from x or y, depending on condition. Returns a masked array, shaped like condition, where the elements are from `x` when `condition` is True, and from `y` otherwise. If neither `x` nor `y` are given, the function returns a tuple of indices where `condition` is True (the result of ``condition.nonzero()``). Parameters ---------- condition : array_like, bool The condition to meet. For each True element, yield the corresponding element from `x`, otherwise from `y`. x, y : array_like, optional Values from which to choose. `x` and `y` need to have the same shape as condition, or be broadcast-able to that shape. Returns ------- out : MaskedArray or tuple of ndarrays The resulting masked array if `x` and `y` were given, otherwise the result of ``condition.nonzero()``. See Also -------- numpy.where : Equivalent function in the top-level NumPy module. Examples -------- >>> x = np.ma.array(np.arange(9.).reshape(3, 3), mask=[[0, 1, 0], ... [1, 0, 1], ... [0, 1, 0]]) >>> print x [[0.0 -- 2.0] [-- 4.0 --] [6.0 -- 8.0]] >>> np.ma.where(x > 5) # return the indices where x > 5 (array([2, 2]), array([0, 2])) >>> print np.ma.where(x > 5, x, -3.1416) [[-3.1416 -- -3.1416] [-- -3.1416 --] [6.0 -- 8.0]] """ ## if x is None and y is None: ## return filled(condition, 0).nonzero() ## elif x is None or y is None: ## raise ValueError, "Either both or neither x and y should be given." ## # Get the condition ............... ## fc = filled(condition, 0).astype(MaskType) ## notfc = np.logical_not(fc) ## # Get the data ...................................... ## xv = getdata(x) ## yv = getdata(y) ## if x is masked: ## ndtype = yv.dtype ## elif y is masked: ## ndtype = xv.dtype ## else: ## ndtype = np.find_common_type([xv.dtype, yv.dtype], []) ## # Construct an empty array and fill it ## d = np.empty(fc.shape, dtype=ndtype).view(MaskedArray) ## _data = d._data ## np.putmask(_data, fc, xv.astype(ndtype)) ## np.putmask(_data, notfc, yv.astype(ndtype)) ## # Create an empty mask and fill it ## _mask = d._mask = np.zeros(fc.shape, dtype=MaskType) ## np.putmask(_mask, fc, getmask(x)) ## np.putmask(_mask, notfc, getmask(y)) ## _mask |= getmaskarray(condition) ## if not _mask.any(): ## d._mask = nomask ## return d ## def where(condition , tup = 'blank', arg3 = 'blank'): ## def conditioncheck(x): ## if x == 'True': ## return(1) ## else: ## return(0) ## if isinstance(condition, bool): ## truth_matrix = zeros(z.columns(), z.rows()) ## for i in xrange(truth_matrix.rows): ## for j in xrange(truth_matrix.columns): ## truth_matrix.set(i,j, conditioncheck(z.get(i,j))) ## else: ## truth_matrix = zeros((len(condition), len(condition[0])))._M ## for i in xrange(truth_matrix.rows()): ## for j in xrange(truth_matrix.columns()): ## truth_matrix.set(i,j, conditioncheck(condition[i][j])) ## if arg3 == 'blank': ## if tup == 'blank': ## row_list = IntArrayList() ## column_list = IntArrayList() ## coordinate_list = DoubleArrayList() ## truth_matrix.getNonZeros(row_list, column_list, coordinate_list) ## return( (array(row_list), array(column_list)) ) ## else: ## value_matrix = list(tup) ## for i, x in enumerate(value_matrix): ## if isinstance(x, int): ## matfac = DoubleFactory2D.dense ## matrix = matfac.make(truth_matrix.rows(), truth_matrix.columns(), x) ## value_matrix[i] = matrix ## else: ## value_matrix[i] = x._M ## return_array = zeros((truth_matrix.rows(), truth_matrix.columns()))._M ## for i in xrange(truth_matrix.rows()): ## for j in xrange(truth_matrix.columns()): ## if truth_matrix.get(i,j) == 1: ## return_array.set(i,j, value_matrix[0].get(i,j)) ## else: ## return_array.set(i,j, value_matrix[1].get(i,j)) ## else: ## value_matrix = [ tup , arg3 ] ## for i, x in enumerate(value_matrix): ## if isinstance(x, int): ## matfac = DoubleFactory2D.dense ## matrix = matfac.make(truth_matrix.rows(), truth_matrix.columns(), x) ## value_matrix[i] = matrix ## else: ## value_matrix[i] = x ## return_array = zeros((truth_matrix.rows(), truth_matrix.columns()))._M ## for i in xrange(truth_matrix.rows()): ## for j in xrange(truth_matrix.columns()): ## if truth_matrix.get(i,j) == 1: ## print(type(value_matrix[0])) ## return_array.set(i,j, value_matrix[0].get(i,j)) ## else: ## return_array.set(i,j, value_matrix[1].get(i,j)) ## return( return_array ) def nonzero(array): """Return the indices of the elements that are non-zero. Returns a tuple of arrays, one for each dimension of a, containing the indices of the non-zero elements in that dimension. The corresponding non-zero values can be obtained with: Parameters: a : array_like Input array. Returns: tuple_of_arrays : tuple Indices of elements that are non-zero. >>> x = np.eye(3) >>> x array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]]) >>> np.nonzero(x) (array([0, 1, 2]), array([0, 1, 2])) >>> x[np.nonzero(x)] array([ 1., 1., 1.]) >>> np.transpose(np.nonzero(x)) array([[0, 0], [1, 1], [2, 2]])""" rowList = IntArrayList() columnList = IntArrayList() coordinateList = DoubleArrayList() array._M.getNonZeros(rowList, columnList, coordinateList) #TODO update array function to deal with Int.... return(array(rowList), array(columnList)) def repeat(array, repeat_tup, axis = 2): """ Repeat elements of an array. Parameters: a : array_like Input array. repeats : {int, array of ints} The number of repetitions for each element. repeats is broadcasted to fit the shape of the given axis. axis : int, optional The axis along which to repeat values. By default, use the flattened input array, and return a flat output array. Returns: repeated_array : ndarray Output array which has the same shape as a, except along the given axis. See also tile Tile an array. Examples >>> x = np.array([[1,2],[3,4]]) >>> np.repeat(x, 2) array([1, 1, 2, 2, 3, 3, 4, 4]) >>> np.repeat(x, 3, axis=1) array([[1, 1, 1, 2, 2, 2], [3, 3, 3, 4, 4, 4]]) >>> np.repeat(x, [1, 2], axis=0) array([[1, 2], [3, 4], [3, 4]]) """ repeat = list(repeat_tup) #TODO: Make sure this can handle sparse matrices as well. See the vstack function for ideas. matrix_factory = DoubleFactory2D.dense if axis == 1: repeat_matrix = matrix_factory.repeat(array._M.viewPart(0,0,array._M.rows(),1),1,repeat[0]) for i in range( array._M.columns())[1:]: repeated_slice = matrix_factory.repeat(array._M.viewPart(0, i, array._M.rows(), 1) , 1, repeat[i]) repeat_matrix = matrix_factory.appendColumns(repeat_matrix, repeated_slice ) return(repeat_matrix) elif axis == 0: repeat_matrix = matrix_factory.repeat(array._M.viewPart(0,0,1,array._M.columns()),repeat[0],1) for i in range(array._M.columns())[1:]: repeat_matrix = matrix_factory.appendRows(repeat_matrix, matrix_factory.repeat(array._M.viewPart(i,0,1,array._M.columns()), repeat[i], 1)) return(repeat_matrix) else: pass #One #From scipy sparse.lil_matrix, sparse.hstack, sparse.vstack def matrix(): #This is not pressing. I updated my cobra modules to use array instead of #matrix so this can be dealt with later. pass cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/numpy/core/multiarray.py000066400000000000000000000226771263606473700263170ustar00rootroot00000000000000#cobra.numjy.multiarray.py #Basic matrix class that is going to be used to mimic numpy.ndarray #capabilities. # #Derived from Simon Galbraith's ncajava Matrix.py file #To get numerictypes to work we just need to have these defined # from numpy.core.multiarray import typeinfo, dtype #TODO: add in the __eq_function __all__ = ['ndarray','array',] import java, javax, jarray from copy import deepcopy from cern.colt.list import IntArrayList, DoubleArrayList from cern.colt.matrix import DoubleMatrix2D from cern.colt.matrix.DoubleFactory2D import dense,sparse; from cern.colt.matrix.impl import DenseDoubleMatrix2D from cern.colt.matrix.impl import SparseDoubleMatrix2D from cern.colt.matrix.linalg import Algebra; from org.python.core.exceptions import ValueError as PyValueException; from org.python.core import PyString,PySlice,PySequence,PyList; class ndarray(javax.swing.table.AbstractTableModel): _M = None; _name = 'data matrix' varname = '' column_names = [] row_names = [] def __init__(self, M=None, N=None, v=None, sparse=None): """ M is the number of rows N is the number of columns v is the default value """ if isinstance(M, DoubleMatrix2D): self._M = M.copy(); elif (isinstance(M, int) and isinstance(N, int)): if sparse: F = sparse else: F = dense; if v is None: self._M = F.make(M, N, 0); elif isinstance(v, int): self._M = F.make(M, N, v); elif isinstance(v, PyList): self._M = F.make(jarray.array(v, 'd'),1) elif isinstance(v, PyString): self._M = F.random(M, N); else: if sparse: self._M = SparseDoubleMatrix2D(v) else: self._M = ndarray(v) self.shape = (self._M.rows(), self._M.columns()) def __copy__(self): r = new.instance(self.__class__, self.__dict__.copy()) r._M = self._M.copy(); return r def __sub__(A, B): [ar, ac]=size(A); C = ndarray(ar,ac,0); for i in range(ar): for j in range(ac): C[i, j]=A[i, j]-B[i, j] return C def __mul__(A, B): # need to check types and multiple based on them.. try: F = Algebra(); C=(F.mult(A._M, B._M)); except: raise PyValueException, "Inner dimension mismatch in matrix multiply."; return None; return ndarray(C) def __div__(A, B): try: F = Algebra(); R = F.solve(A._M, B._M); return R; except (java.lang.IllegalArgumentException), e: # check the error class types according to the matrix class so we can intelligently report the error. print e.getMessage() return None def __repr__(self): return self._M.toString(); def __str__(self): return self._M.toString(); def __sz__(self): if isinstance(self, ndarray): x = self._M.rows(); y = self._M.columns(); return (x, y); else: raise PyValueException, "Argument must be a matrix."; def __setitem__(self, idx, v): if v is None: print idx raise PyValueException, "v is none" if isinstance(v, float): self._M.set(idx[0], idx[1], v); return Y = idx[1] X = idx[0] if isinstance(X, PyList): X=map(lambda x: x, X) elif isinstance(X, PySlice): if X.start == None: X=range(0, self._M.rows()) elif isinstance(X, int): X = [X] if isinstance(Y, PyList): Y = map(lambda x: x, Y); elif isinstance(Y, PySlice): if Y.start == None: Y = range(0, self._M.cols()) elif isinstance(Y, int): Y = [Y]; order = 0 if len(X) > len(Y): order = 1 #print "the order is " , order if order == 0: y = 1 for q in Y: x = 1 for z in X: # print z,q,x,y,v self._M.set(z, q, v[x, y]) x += 1 y += 1 else: x = 1 for z in X: y = 1 for q in Y: self._M.set(z, q, v[x, y]) y += 1 x += 1 def __getslice__(self, i, j): if i.start != None: x = range(i.start, i.stop); else: x = range(0, self._M.rows()) if j.start != None: y = range(j.start, j.stop) else: y = range(0, self._M.columns()) return ndarray(self._M.viewSelection(x, y)) def __getitem__(self, idx): x = idx[0] y = idx[1] if x < 0 or y < 0: raise PyValueException, "Index must be positive number" # this will fail on pyslice if isinstance(x, PySlice): if x.start != None: x = range(x.start, x.stop); else: x = range(0, self._M.rows()) elif isinstance(x, int): x = x x = [x] elif isinstance(x, PyList): x = map(lambda x: x, x) if isinstance(y, int): y = y y = [y] elif isinstance(y, PySlice): if y.start != None: y = range(y.start, y.stop) else: y = range(0, self._M.columns()) elif isinstance(y, PySlice): if y.start != None: y = range(y.start, y.stop) else: y = range(0, self._M.columns()) elif isinstance(y, PyList): y = map(lambda x: x, y) if len(x) < 2 and len(y) < 2: r = self._M.getQuick(x[0], y[0]) return float(r) # this is a specific element else: return ndarray(self._M.viewSelection(x, y)) def array(A, dtype=float, copy=True, subok=False, ndmin=True): """Create an array to mimic the features of the numpy.ndarray Parameters ---------- A: An array like object. Currently a list of lists or tuple of tuples that will be converted into a 2D array. dtype: data-type. The default is double. copy: makes a deepcopy of the elements in the array if set to True order: dummy variable to match numpy.array interface subok: dummy variable to match numpy.array interface ndmin: dummy variable to match numpy.array interface """ if isinstance(A, ndarray): return(A) #BUG: What is the point of this? if isinstance(A, IntArrayList): the_array = ndarray(1, A.size()) for x in xrange(A.size()): print(A.get(x)) the_array[x] = A.get(x) return(the_array) number_of_rows = len(A) if hasattr(A[0], '__iter__'): number_of_columns = len(A[0]) else: number_of_columns = number_of_rows number_of_rows = 1 A = [A] the_array = ndarray(number_of_rows, number_of_columns) if number_of_columns > 1 and number_of_rows > 1: the_array.ndim = 2 else: the_array.ndim = 1 #This can be sped up significantly for i in range(number_of_rows): the_row = A[i] for j in range(number_of_columns): the_array[i, j] = dtype(the_row[j]) return(the_array) def zeros(shape, dtype=float, order='C'): """Return a new array of given shape and type, filled with zeros. Parameters ---------- shape : {tuple of ints, int} Shape of the new array, e.g., ``(2, 3)`` or ``2``. dtype : data-type, optional The desired data-type for the array, e.g., `numpy.int8`. Default is `numpy.float64`. order : {'C', 'F'}, optional Whether to store multidimensional data in C- or Fortran-contiguous (row- or column-wise) order in memory. Returns ------- out : ndarray Array of zeros with the given shape, dtype, and order. See Also -------- numpy.zeros_like : Return an array of zeros with shape and type of input. numpy.ones_like : Return an array of ones with shape and type of input. numpy.empty_like : Return an empty array with shape and type of input. numpy.ones : Return a new array setting values to one. numpy.empty : Return a new uninitialized array. Examples -------- >>> np.zeros(5) array([ 0., 0., 0., 0., 0.]) >>> np.zeros((5,), dtype=numpy.int) array([0, 0, 0, 0, 0]) >>> np.zeros((2, 1)) array([[ 0.], [ 0.]]) >>> s = (2,2) >>> np.zeros(s) array([[ 0., 0.], [ 0., 0.]]) >>> np.zeros((2,), dtype=[('x', 'i4'), ('y', 'i4')]) array([(0, 0), (0, 0)], dtype=[('x', '>> x = np.arange(6) >>> x = x.reshape((2, 3)) >>> x array([[0, 1, 2], [3, 4, 5]]) >>> np.zeros_like(x) array([[0, 0, 0], [0, 0, 0]]) """ if isinstance(a, ndarray): res = ndarray.__new__(type(a), a.shape, a.dtype, order=a.flags.fnc) res.fill(0) return res try: wrap = a.__array_wrap__ except AttributeError: wrap = None a = asarray(a) res = zeros(a.shape, a.dtype) if wrap: res = wrap(res) return res def empty_like(a): """ Create a new array with the same shape and type as another. Parameters ---------- a : ndarray Returned array will have same shape and type as `a`. See Also -------- zeros_like, ones_like, zeros, ones, empty Notes ----- This function does *not* initialize the returned array; to do that use `zeros_like` or `ones_like` instead. Examples -------- >>> a = np.array([[1,2,3],[4,5,6]]) >>> np.empty_like(a) >>> np.empty_like(a) array([[-1073741821, -1067702173, 65538], #random data [ 25670, 23454291, 71800]]) """ if isinstance(a, ndarray): res = ndarray.__new__(type(a), a.shape, a.dtype, order=a.flags.fnc) return res try: wrap = a.__array_wrap__ except AttributeError: wrap = None a = asarray(a) res = empty(a.shape, a.dtype) if wrap: res = wrap(res) return res # end Fernando's utilities def extend_all(module): adict = {} for a in __all__: adict[a] = 1 try: mall = getattr(module, '__all__') except AttributeError: mall = [k for k in module.__dict__.keys() if not k.startswith('_')] for a in mall: if a not in adict: __all__.append(a) extend_all(umath) extend_all(numerictypes) newaxis = None arange = multiarray.arange array = multiarray.array zeros = multiarray.zeros empty = multiarray.empty fromstring = multiarray.fromstring fromiter = multiarray.fromiter fromfile = multiarray.fromfile frombuffer = multiarray.frombuffer newbuffer = multiarray.newbuffer getbuffer = multiarray.getbuffer int_asbuffer = multiarray.int_asbuffer where = multiarray.where concatenate = multiarray.concatenate fastCopyAndTranspose = multiarray._fastCopyAndTranspose set_numeric_ops = multiarray.set_numeric_ops can_cast = multiarray.can_cast lexsort = multiarray.lexsort compare_chararrays = multiarray.compare_chararrays putmask = multiarray.putmask def asarray(a, dtype=None, order=None): """ Convert the input to an array. Parameters ---------- a : array_like Input data, in any form that can be converted to an array. This includes lists, lists of tuples, tuples, tuples of tuples, tuples of lists and ndarrays. dtype : data-type, optional By default, the data-type is inferred from the input data. order : {'C', 'F'}, optional Whether to use row-major ('C') or column-major ('FORTRAN') memory representation. Defaults to 'C'. Returns ------- out : ndarray Array interpretation of `a`. No copy is performed if the input is already an ndarray. If `a` is a subclass of ndarray, a base class ndarray is returned. See Also -------- asanyarray : Similar function which passes through subclasses. ascontiguousarray : Convert input to a contiguous array. asfarray : Convert input to a floating point ndarray. asfortranarray : Convert input to an ndarray with column-major memory order. asarray_chkfinite : Similar function which checks input for NaNs and Infs. fromiter : Create an array from an iterator. fromfunction : Construct an array by executing a function on grid positions. Examples -------- Convert a list into an array: >>> a = [1, 2] >>> np.asarray(a) array([1, 2]) Existing arrays are not copied: >>> a = np.array([1, 2]) >>> np.asarray(a) is a True """ return array(a, dtype, copy=False, order=order) def asanyarray(a, dtype=None, order=None): """ Convert the input to a ndarray, but pass ndarray subclasses through. Parameters ---------- a : array_like Input data, in any form that can be converted to an array. This includes scalars, lists, lists of tuples, tuples, tuples of tuples, tuples of lists and ndarrays. dtype : data-type, optional By default, the data-type is inferred from the input data. order : {'C', 'F'}, optional Whether to use row-major ('C') or column-major ('F') memory representation. Defaults to 'C'. Returns ------- out : ndarray or an ndarray subclass Array interpretation of `a`. If `a` is an ndarray or a subclass of ndarray, it is returned as-is and no copy is performed. See Also -------- asarray : Similar function which always returns ndarrays. ascontiguousarray : Convert input to a contiguous array. asfarray : Convert input to a floating point ndarray. asfortranarray : Convert input to an ndarray with column-major memory order. asarray_chkfinite : Similar function which checks input for NaNs and Infs. fromiter : Create an array from an iterator. fromfunction : Construct an array by executing a function on grid positions. Examples -------- Convert a list into an array: >>> a = [1, 2] >>> np.asanyarray(a) array([1, 2]) Instances of `ndarray` subclasses are passed through as-is: >>> a = np.matrix([1, 2]) >>> np.asanyarray(a) is a True """ return array(a, dtype, copy=False, order=order, subok=True) def ascontiguousarray(a, dtype=None): """ Return a contiguous array in memory (C order). Parameters ---------- a : array_like Input array. dtype : str or dtype object, optional Data-type of returned array. Returns ------- out : ndarray Contiguous array of same shape and content as `a`, with type `dtype` if specified. See Also -------- asfortranarray : Convert input to an ndarray with column-major memory order. require : Return an ndarray that satisfies requirements. ndarray.flags : Information about the memory layout of the array. Examples -------- >>> x = np.arange(6).reshape(2,3) >>> np.ascontiguousarray(x, dtype=np.float32) array([[ 0., 1., 2.], [ 3., 4., 5.]], dtype=float32) >>> x.flags['C_CONTIGUOUS'] True """ return array(a, dtype, copy=False, order='C', ndmin=1) def asfortranarray(a, dtype=None): """ Return an array laid out in Fortran order in memory. Parameters ---------- a : array_like Input array. dtype : str or dtype object, optional By default, the data-type is inferred from the input data. Returns ------- out : ndarray The input `a` in Fortran, or column-major, order. See Also -------- ascontiguousarray : Convert input to a contiguous (C order) array. asanyarray : Convert input to an ndarray with either row or column-major memory order. require : Return an ndarray that satisfies requirements. ndarray.flags : Information about the memory layout of the array. Examples -------- >>> x = np.arange(6).reshape(2,3) >>> y = np.asfortranarray(x) >>> x.flags['F_CONTIGUOUS'] False >>> y.flags['F_CONTIGUOUS'] True """ return array(a, dtype, copy=False, order='F', ndmin=1) def require(a, dtype=None, requirements=None): """ Return an ndarray of the provided type that satisfies requirements. This function is useful to be sure that an array with the correct flags is returned for passing to compiled code (perhaps through ctypes). Parameters ---------- a : array_like The object to be converted to a type-and-requirement-satisfying array. dtype : data-type The required data-type, the default data-type is float64). requirements : str or list of str The requirements list can be any of the following * 'F_CONTIGUOUS' ('F') - ensure a Fortran-contiguous array * 'C_CONTIGUOUS' ('C') - ensure a C-contiguous array * 'ALIGNED' ('A') - ensure a data-type aligned array * 'WRITEABLE' ('W') - ensure a writable array * 'OWNDATA' ('O') - ensure an array that owns its own data See Also -------- asarray : Convert input to an ndarray. asanyarray : Convert to an ndarray, but pass through ndarray subclasses. ascontiguousarray : Convert input to a contiguous array. asfortranarray : Convert input to an ndarray with column-major memory order. ndarray.flags : Information about the memory layout of the array. Notes ----- The returned array will be guaranteed to have the listed requirements by making a copy if needed. Examples -------- >>> x = np.arange(6).reshape(2,3) >>> x.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : False WRITEABLE : True ALIGNED : True UPDATEIFCOPY : False >>> y = np.require(x, dtype=np.float32, requirements=['A', 'O', 'W', 'F']) >>> y.flags C_CONTIGUOUS : False F_CONTIGUOUS : True OWNDATA : True WRITEABLE : True ALIGNED : True UPDATEIFCOPY : False """ if requirements is None: requirements = [] else: requirements = [x.upper() for x in requirements] if not requirements: return asanyarray(a, dtype=dtype) if 'ENSUREARRAY' in requirements or 'E' in requirements: subok = False else: subok = True arr = array(a, dtype=dtype, copy=False, subok=subok) copychar = 'A' if 'FORTRAN' in requirements or \ 'F_CONTIGUOUS' in requirements or \ 'F' in requirements: copychar = 'F' elif 'CONTIGUOUS' in requirements or \ 'C_CONTIGUOUS' in requirements or \ 'C' in requirements: copychar = 'C' for prop in requirements: if not arr.flags[prop]: arr = arr.copy(copychar) break return arr def isfortran(a): """ Returns True if array is arranged in Fortran-order in memory and dimension > 1. Parameters ---------- a : ndarray Input array. Examples -------- np.array allows to specify whether the array is written in C-contiguous order (last index varies the fastest), or FORTRAN-contiguous order in memory (first index varies the fastest). >>> a = np.array([[1, 2, 3], [4, 5, 6]], order='C') >>> a array([[1, 2, 3], [4, 5, 6]]) >>> np.isfortran(a) False >>> b = np.array([[1, 2, 3], [4, 5, 6]], order='FORTRAN') >>> b array([[1, 2, 3], [4, 5, 6]]) >>> np.isfortran(b) True The transpose of a C-ordered array is a FORTRAN-ordered array. >>> a = np.array([[1, 2, 3], [4, 5, 6]], order='C') >>> a array([[1, 2, 3], [4, 5, 6]]) >>> np.isfortran(a) False >>> b = a.T >>> b array([[1, 4], [2, 5], [3, 6]]) >>> np.isfortran(b) True 1-D arrays always evaluate as False. >>> np.isfortran(np.array([1, 2], order='FORTRAN')) False """ return a.flags.fnc def argwhere(a): """ Find the indices of array elements that are non-zero, grouped by element. Parameters ---------- a : array_like Input data. Returns ------- index_array : ndarray Indices of elements that are non-zero. Indices are grouped by element. See Also -------- where, nonzero Notes ----- ``np.argwhere(a)`` is the same as ``np.transpose(np.nonzero(a))``. The output of ``argwhere`` is not suitable for indexing arrays. For this purpose use ``where(a)`` instead. Examples -------- >>> x = np.arange(6).reshape(2,3) >>> x array([[0, 1, 2], [3, 4, 5]]) >>> np.argwhere(x>1) array([[0, 2], [1, 0], [1, 1], [1, 2]]) """ return transpose(asanyarray(a).nonzero()) def flatnonzero(a): """ Return indices that are non-zero in the flattened version of a. This is equivalent to a.ravel().nonzero()[0]. Parameters ---------- a : ndarray Input array. Returns ------- res : ndarray Output array, containing the indices of the elements of `a.ravel()` that are non-zero. See Also -------- nonzero : Return the indices of the non-zero elements of the input array. ravel : Return a 1-D array containing the elements of the input array. Examples -------- >>> x = np.arange(-2, 3) >>> x array([-2, -1, 0, 1, 2]) >>> np.flatnonzero(x) array([0, 1, 3, 4]) Use the indices of the non-zero elements as an index array to extract these elements: >>> x.ravel()[np.flatnonzero(x)] array([-2, -1, 1, 2]) """ return a.ravel().nonzero()[0] _mode_from_name_dict = {'v': 0, 's' : 1, 'f' : 2} def _mode_from_name(mode): if isinstance(mode, type("")): return _mode_from_name_dict[mode.lower()[0]] return mode def correlate(a,v,mode='valid',old_behavior=True): """ Discrete, linear correlation of two 1-dimensional sequences. This function is equivalent to >>> np.convolve(a, v[::-1], mode=mode) where ``v[::-1]`` is the reverse of `v`. Parameters ---------- a, v : array_like Input sequences. mode : {'valid', 'same', 'full'}, optional Refer to the `convolve` docstring. Note that the default is `valid`, unlike `convolve`, which uses `full`. old_behavior : bool If True, uses the old, numeric behavior (correlate(a,v) == correlate(v, a), and the conjugate is not taken for complex arrays). If False, uses the conventional signal processing definition (see note). See Also -------- convolve : Discrete, linear convolution of two one-dimensional sequences. Note ---- If old_behavior is False, this function computes the correlation as generally defined in signal processing texts:: z[k] = sum_n a[n] * conj(v[n+k]) with a and v sequences being zero-padded where necessary and conj being the conjugate. Examples -------- >>> np.correlate([1, 2, 3], [0, 1, 0.5]) array([ 3.5]) >>> np.correlate([1, 2, 3], [0, 1, 0.5], "same") array([ 2. , 3.5, 3. ]) >>> np.correlate([1, 2, 3], [0, 1, 0.5], "full") array([ 0.5, 2. , 3.5, 3. , 0. ]) """ mode = _mode_from_name(mode) if old_behavior: warnings.warn(""" The current behavior of correlate is deprecated for 1.4.0, and will be removed for NumPy 1.5.0. The new behavior fits the conventional definition of correlation: inputs are never swapped, and the second argument is conjugated for complex arrays.""", DeprecationWarning) return multiarray.correlate(a,v,mode) else: return multiarray.correlate2(a,v,mode) def convolve(a,v,mode='full'): """ Returns the discrete, linear convolution of two one-dimensional sequences. The convolution operator is often seen in signal processing, where it models the effect of a linear time-invariant system on a signal [1]_. In probability theory, the sum of two independent random variables is distributed according to the convolution of their individual distributions. Parameters ---------- a : (N,) array_like First one-dimensional input array. v : (M,) array_like Second one-dimensional input array. mode : {'full', 'valid', 'same'}, optional 'full': By default, mode is 'full'. This returns the convolution at each point of overlap, with an output shape of (N+M-1,). At the end-points of the convolution, the signals do not overlap completely, and boundary effects may be seen. 'same': Mode `same` returns output of length ``max(M, N)``. Boundary effects are still visible. 'valid': Mode `valid` returns output of length ``max(M, N) - min(M, N) + 1``. The convolution product is only given for points where the signals overlap completely. Values outside the signal boundary have no effect. Returns ------- out : ndarray Discrete, linear convolution of `a` and `v`. See Also -------- scipy.signal.fftconv : Convolve two arrays using the Fast Fourier Transform. scipy.linalg.toeplitz : Used to construct the convolution operator. Notes ----- The discrete convolution operation is defined as .. math:: (f * g)[n] = \\sum_{m = -\\infty}^{\\infty} f[m] f[n - m] It can be shown that a convolution :math:`x(t) * y(t)` in time/space is equivalent to the multiplication :math:`X(f) Y(f)` in the Fourier domain, after appropriate padding (padding is necessary to prevent circular convolution). Since multiplication is more efficient (faster) than convolution, the function `scipy.signal.fftconvolve` exploits the FFT to calculate the convolution of large data-sets. References ---------- .. [1] Wikipedia, "Convolution", http://en.wikipedia.org/wiki/Convolution. Examples -------- Note how the convolution operator flips the second array before "sliding" the two across one another: >>> np.convolve([1, 2, 3], [0, 1, 0.5]) array([ 0. , 1. , 2.5, 4. , 1.5]) Only return the middle values of the convolution. Contains boundary effects, where zeros are taken into account: >>> np.convolve([1,2,3],[0,1,0.5], 'same') array([ 1. , 2.5, 4. ]) The two arrays are of the same length, so there is only one position where they completely overlap: >>> np.convolve([1,2,3],[0,1,0.5], 'valid') array([ 2.5]) """ a,v = array(a, ndmin=1),array(v, ndmin=1) if (len(v) > len(a)): a, v = v, a if len(a) == 0 : raise ValueError('a cannot be empty') if len(v) == 0 : raise ValueError('v cannot be empty') mode = _mode_from_name(mode) return multiarray.correlate(a, v[::-1], mode) def outer(a,b): """ Returns the outer product of two vectors. Given two vectors, ``[a0, a1, ..., aM]`` and ``[b0, b1, ..., bN]``, the outer product becomes:: [[a0*b0 a0*b1 ... a0*bN ] [a1*b0 . [ ... . [aM*b0 aM*bN ]] Parameters ---------- a : array_like, shaped (M,) First input vector. If either of the input vectors are not 1-dimensional, they are flattened. b : array_like, shaped (N,) Second input vector. Returns ------- out : ndarray, shaped (M, N) ``out[i, j] = a[i] * b[j]`` Notes ----- The outer product of vectors is a special case of the Kronecker product. Examples -------- >>> x = np.array(['a', 'b', 'c'], dtype=object) >>> np.outer(x, [1, 2, 3]) array([[a, aa, aaa], [b, bb, bbb], [c, cc, ccc]], dtype=object) """ a = asarray(a) b = asarray(b) return a.ravel()[:,newaxis]*b.ravel()[newaxis,:] # try to import blas optimized dot if available try: # importing this changes the dot function for basic 4 types # to blas-optimized versions. from _dotblas import dot, vdot, inner, alterdot, restoredot except ImportError: # docstrings are in add_newdocs.py inner = multiarray.inner dot = multiarray.dot def vdot(a, b): return dot(asarray(a).ravel().conj(), asarray(b).ravel()) def alterdot(): pass def restoredot(): pass def tensordot(a, b, axes=2): """ Returns the tensor dot product for (ndim >= 1) arrays along an axes. The first element of the sequence determines the axis or axes in `a` to sum over, and the second element in `axes` argument sequence determines the axis or axes in `b` to sum over. Parameters ---------- a : array_like Input array. b : array_like Input array. axes : shape tuple Axes to be summed over. See Also -------- dot Notes ----- r_{xxx, yyy} = \\sum_k a_{xxx,k} b_{k,yyy} When there is more than one axis to sum over, the corresponding arguments to axes should be sequences of the same length with the first axis to sum over given first in both sequences, the second axis second, and so forth. If the `axes` argument is an integer, N, then the last N dimensions of `a` and first N dimensions of `b` are summed over. Examples -------- >>> a = np.arange(60.).reshape(3,4,5) >>> b = np.arange(24.).reshape(4,3,2) >>> c = np.tensordot(a,b, axes=([1,0],[0,1])) >>> c.shape (5, 2) >>> c array([[ 4400., 4730.], [ 4532., 4874.], [ 4664., 5018.], [ 4796., 5162.], [ 4928., 5306.]]) >>> # A slower but equivalent way of computing the same... >>> c = np.zeros((5,2)) >>> for i in range(5): ... for j in range(2): ... for k in range(3): ... for n in range(4): ... c[i,j] += a[k,n,i] * b[n,k,j] """ try: iter(axes) except: axes_a = range(-axes,0) axes_b = range(0,axes) else: axes_a, axes_b = axes try: na = len(axes_a) axes_a = list(axes_a) except TypeError: axes_a = [axes_a] na = 1 try: nb = len(axes_b) axes_b = list(axes_b) except TypeError: axes_b = [axes_b] nb = 1 a, b = asarray(a), asarray(b) as_ = a.shape nda = len(a.shape) bs = b.shape ndb = len(b.shape) equal = True if (na != nb): equal = False else: for k in xrange(na): if as_[axes_a[k]] != bs[axes_b[k]]: equal = False break if axes_a[k] < 0: axes_a[k] += nda if axes_b[k] < 0: axes_b[k] += ndb if not equal: raise ValueError, "shape-mismatch for sum" # Move the axes to sum over to the end of "a" # and to the front of "b" notin = [k for k in range(nda) if k not in axes_a] newaxes_a = notin + axes_a N2 = 1 for axis in axes_a: N2 *= as_[axis] newshape_a = (-1, N2) olda = [as_[axis] for axis in notin] notin = [k for k in range(ndb) if k not in axes_b] newaxes_b = axes_b + notin N2 = 1 for axis in axes_b: N2 *= bs[axis] newshape_b = (N2, -1) oldb = [bs[axis] for axis in notin] at = a.transpose(newaxes_a).reshape(newshape_a) bt = b.transpose(newaxes_b).reshape(newshape_b) res = dot(at, bt) return res.reshape(olda + oldb) def roll(a, shift, axis=None): """ Roll array elements along a given axis. Elements that roll beyond the last position are re-introduced at the first. Parameters ---------- a : array_like Input array. shift : int The number of places by which elements are shifted. axis : int, optional The axis along which elements are shifted. By default, the array is flattened before shifting, after which the original shape is restored. Returns ------- res : ndarray Output array, with the same shape as `a`. See Also -------- rollaxis : Roll the specified axis backwards, until it lies in a given position. Examples -------- >>> x = np.arange(10) >>> np.roll(x, 2) array([8, 9, 0, 1, 2, 3, 4, 5, 6, 7]) >>> x2 = np.reshape(x, (2,5)) >>> x2 array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]) >>> np.roll(x2, 1) array([[9, 0, 1, 2, 3], [4, 5, 6, 7, 8]]) >>> np.roll(x2, 1, axis=0) array([[5, 6, 7, 8, 9], [0, 1, 2, 3, 4]]) >>> np.roll(x2, 1, axis=1) array([[4, 0, 1, 2, 3], [9, 5, 6, 7, 8]]) """ a = asanyarray(a) if axis is None: n = a.size reshape = True else: n = a.shape[axis] reshape = False shift %= n indexes = concatenate((arange(n-shift,n),arange(n-shift))) res = a.take(indexes, axis) if reshape: return res.reshape(a.shape) else: return res def rollaxis(a, axis, start=0): """ Roll the specified axis backwards, until it lies in a given position. Parameters ---------- a : ndarray Input array. axis : int The axis to roll backwards. The positions of the other axes do not change relative to one another. start : int, optional The axis is rolled until it lies before this position. Returns ------- res : ndarray Output array. See Also -------- roll : Roll the elements of an array by a number of positions along a given axis. Examples -------- >>> a = np.ones((3,4,5,6)) >>> np.rollaxis(a, 3, 1).shape (3, 6, 4, 5) >>> np.rollaxis(a, 2).shape (5, 3, 4, 6) >>> np.rollaxis(a, 1, 4).shape (3, 5, 6, 4) """ n = a.ndim if axis < 0: axis += n if start < 0: start += n msg = 'rollaxis: %s (%d) must be >=0 and < %d' if not (0 <= axis < n): raise ValueError, msg % ('axis', axis, n) if not (0 <= start < n+1): raise ValueError, msg % ('start', start, n+1) if (axis < start): # it's been removed start -= 1 if axis==start: return a axes = range(0,n) axes.remove(axis) axes.insert(start, axis) return a.transpose(axes) # fix hack in scipy which imports this function def _move_axis_to_0(a, axis): return rollaxis(a, axis, 0) def cross(a, b, axisa=-1, axisb=-1, axisc=-1, axis=None): """ Return the cross product of two (arrays of) vectors. The cross product of `a` and `b` in :math:`R^3` is a vector perpendicular to both `a` and `b`. If `a` and `b` are arrays of vectors, the vectors are defined by the last axis of `a` and `b` by default, and these axes can have dimensions 2 or 3. Where the dimension of either `a` or `b` is 2, the third component of the input vector is assumed to be zero and the cross product calculated accordingly. In cases where both input vectors have dimension 2, the z-component of the cross product is returned. Parameters ---------- a : array_like Components of the first vector(s). b : array_like Components of the second vector(s). axisa : int, optional Axis of `a` that defines the vector(s). By default, the last axis. axisb : int, optional Axis of `b` that defines the vector(s). By default, the last axis. axisc : int, optional Axis of `c` containing the cross product vector(s). By default, the last axis. axis : int, optional If defined, the axis of `a`, `b` and `c` that defines the vector(s) and cross product(s). Overrides `axisa`, `axisb` and `axisc`. Returns ------- c : ndarray Vector cross product(s). Raises ------ ValueError When the dimension of the vector(s) in `a` and/or `b` does not equal 2 or 3. See Also -------- inner : Inner product outer : Outer product. ix_ : Construct index arrays. Examples -------- Vector cross-product. >>> x = [1, 2, 3] >>> y = [4, 5, 6] >>> np.cross(x, y) array([-3, 6, -3]) One vector with dimension 2. >>> x = [1, 2] >>> y = [4, 5, 6] >>> np.cross(x, y) array([12, -6, -3]) Equivalently: >>> x = [1, 2, 0] >>> y = [4, 5, 6] >>> np.cross(x, y) array([12, -6, -3]) Both vectors with dimension 2. >>> x = [1,2] >>> y = [4,5] >>> np.cross(x, y) -3 Multiple vector cross-products. Note that the direction of the cross product vector is defined by the `right-hand rule`. >>> x = np.array([[1,2,3], [4,5,6]]) >>> y = np.array([[4,5,6], [1,2,3]]) >>> np.cross(x, y) array([[-3, 6, -3], [ 3, -6, 3]]) The orientation of `c` can be changed using the `axisc` keyword. >>> np.cross(x, y, axisc=0) array([[-3, 3], [ 6, -6], [-3, 3]]) Change the vector definition of `x` and `y` using `axisa` and `axisb`. >>> x = np.array([[1,2,3], [4,5,6], [7, 8, 9]]) >>> y = np.array([[7, 8, 9], [4,5,6], [1,2,3]]) >>> np.cross(x, y) array([[ -6, 12, -6], [ 0, 0, 0], [ 6, -12, 6]]) >>> np.cross(x, y, axisa=0, axisb=0) array([[-24, 48, -24], [-30, 60, -30], [-36, 72, -36]]) """ if axis is not None: axisa,axisb,axisc=(axis,)*3 a = asarray(a).swapaxes(axisa, 0) b = asarray(b).swapaxes(axisb, 0) msg = "incompatible dimensions for cross product\n"\ "(dimension must be 2 or 3)" if (a.shape[0] not in [2,3]) or (b.shape[0] not in [2,3]): raise ValueError(msg) if a.shape[0] == 2: if (b.shape[0] == 2): cp = a[0]*b[1] - a[1]*b[0] if cp.ndim == 0: return cp else: return cp.swapaxes(0, axisc) else: x = a[1]*b[2] y = -a[0]*b[2] z = a[0]*b[1] - a[1]*b[0] elif a.shape[0] == 3: if (b.shape[0] == 3): x = a[1]*b[2] - a[2]*b[1] y = a[2]*b[0] - a[0]*b[2] z = a[0]*b[1] - a[1]*b[0] else: x = -a[2]*b[1] y = a[2]*b[0] z = a[0]*b[1] - a[1]*b[0] cp = array([x,y,z]) if cp.ndim == 1: return cp else: return cp.swapaxes(0,axisc) #Use numarray's printing function from arrayprint import array2string, get_printoptions, set_printoptions _typelessdata = [int_, float_, complex_] if issubclass(intc, int): _typelessdata.append(intc) if issubclass(longlong, int): _typelessdata.append(longlong) def array_repr(arr, max_line_width=None, precision=None, suppress_small=None): """ Return the string representation of an array. Parameters ---------- arr : ndarray Input array. max_line_width : int, optional The maximum number of columns the string should span. Newline characters split the string appropriately after array elements. precision : int, optional Floating point precision. Default is the current printing precision (usually 8), which can be altered using `set_printoptions`. suppress_small : bool, optional Represent very small numbers as zero, default is False. Very small is defined by `precision`, if the precision is 8 then numbers smaller than 5e-9 are represented as zero. Returns ------- string : str The string representation of an array. See Also -------- array_str, array2string, set_printoptions Examples -------- >>> np.array_repr(np.array([1,2])) 'array([1, 2])' >>> np.array_repr(np.ma.array([0.])) 'MaskedArray([ 0.])' >>> np.array_repr(np.array([], np.int32)) 'array([], dtype=int32)' >>> x = np.array([1e-6, 4e-7, 2, 3]) >>> np.array_repr(x, precision=6, suppress_small=True) 'array([ 0.000001, 0. , 2. , 3. ])' """ if arr.size > 0 or arr.shape==(0,): lst = array2string(arr, max_line_width, precision, suppress_small, ', ', "array(") else: # show zero-length shape unless it is (0,) lst = "[], shape=%s" % (repr(arr.shape),) typeless = arr.dtype.type in _typelessdata if arr.__class__ is not ndarray: cName= arr.__class__.__name__ else: cName = "array" if typeless and arr.size: return cName + "(%s)" % lst else: typename=arr.dtype.name lf = '' if issubclass(arr.dtype.type, flexible): if arr.dtype.names: typename = "%s" % str(arr.dtype) else: typename = "'%s'" % str(arr.dtype) lf = '\n'+' '*len("array(") return cName + "(%s, %sdtype=%s)" % (lst, lf, typename) def array_str(a, max_line_width=None, precision=None, suppress_small=None): """ Return a string representation of the data in an array. The data in the array is returned as a single string. This function is similar to `array_repr`, the difference is that `array_repr` also returns information on the type of array and data type. Parameters ---------- a : ndarray Input array. max_line_width : int, optional Inserts newlines if text is longer than `max_line_width`. precision : int, optional Floating point precision. Default is the current printing precision (usually 8), which can be altered using set_printoptions. suppress_small : bool, optional Represent very small numbers as zero, default is False. Very small is defined by precision, if the precision is 8 then numbers smaller than 5e-9 are represented as zero. See Also -------- array2string, array_repr, set_printoptions Examples -------- >>> np.array_str(np.arange(3)) >>> '[0 1 2]' """ return array2string(a, max_line_width, precision, suppress_small, ' ', "", str) set_string_function = multiarray.set_string_function set_string_function(array_str, 0) set_string_function(array_repr, 1) little_endian = (sys.byteorder == 'little') def indices(dimensions, dtype=int): """ Return an array representing the indices of a grid. Compute an array where the subarrays contain index values 0,1,... varying only along the corresponding axis. Parameters ---------- dimensions : sequence of ints The shape of the grid. dtype : dtype, optional Data type of the result. Returns ------- grid : ndarray The array of grid indices, ``grid.shape = (len(dimensions),) + tuple(dimensions)``. See Also -------- mgrid, meshgrid Notes ----- The output shape is obtained by prepending the number of dimensions in front of the tuple of dimensions, i.e. if `dimensions` is a tuple ``(r0, ..., rN-1)`` of length ``N``, the output shape is ``(N,r0,...,rN-1)``. The subarrays ``grid[k]`` contains the N-D array of indices along the ``k-th`` axis. Explicitly:: grid[k,i0,i1,...,iN-1] = ik Examples -------- >>> grid = np.indices((2, 3)) >>> grid.shape (2,2,3) >>> grid[0] # row indices array([[0, 0, 0], [1, 1, 1]]) >>> grid[1] # column indices array([[0, 1, 2], [0, 1, 2]]) The indices can be used as an index into an array. >>> x = np.arange(20).reshape(5, 4) >>> row, col = np.indices((2, 3)) >>> x[row, col] array([[0, 1, 2], [4, 5, 6]]) Note that it would be more straightforward in the above example to extract the required elements directly with ``x[:2, :3]``. """ dimensions = tuple(dimensions) N = len(dimensions) if N == 0: return array([],dtype=dtype) res = empty((N,)+dimensions, dtype=dtype) for i, dim in enumerate(dimensions): tmp = arange(dim,dtype=dtype) tmp.shape = (1,)*i + (dim,)+(1,)*(N-i-1) newdim = dimensions[:i] + (1,)+ dimensions[i+1:] val = zeros(newdim, dtype) add(tmp, val, res[i]) return res def fromfunction(function, shape, **kwargs): """ Construct an array by executing a function over each coordinate. The resulting array therefore has a value ``fn(x, y, z)`` at coordinate ``(x, y, z)``. Parameters ---------- fn : callable The function is called with N parameters, each of which represents the coordinates of the array varying along a specific axis. For example, if `shape` were ``(2, 2)``, then the parameters would be two arrays, ``[[0, 0], [1, 1]]`` and ``[[0, 1], [0, 1]]``. `fn` must be capable of operating on arrays, and should return a scalar value. shape : (N,) tuple of ints Shape of the output array, which also determines the shape of the coordinate arrays passed to `fn`. dtype : data-type, optional Data-type of the coordinate arrays passed to `fn`. By default, `dtype` is float. See Also -------- indices, meshgrid Notes ----- Keywords other than `shape` and `dtype` are passed to the function. Examples -------- >>> np.fromfunction(lambda i, j: i == j, (3, 3), dtype=int) array([[ True, False, False], [False, True, False], [False, False, True]], dtype=bool) >>> np.fromfunction(lambda i, j: i + j, (3, 3), dtype=int) array([[0, 1, 2], [1, 2, 3], [2, 3, 4]]) """ dtype = kwargs.pop('dtype', float) args = indices(shape, dtype=dtype) return function(*args,**kwargs) def isscalar(num): """ Returns True if the type of `num` is a scalar type. Parameters ---------- num : any Input argument, can be of any type and shape. Returns ------- val : bool True if `num` is a scalar type, False if it is not. Examples -------- >>> np.isscalar(3.1) True >>> np.isscalar([3.1]) False >>> np.isscalar(False) True """ if isinstance(num, generic): return True else: return type(num) in ScalarType _lkup = { '0':'0000', '1':'0001', '2':'0010', '3':'0011', '4':'0100', '5':'0101', '6':'0110', '7':'0111', '8':'1000', '9':'1001', 'a':'1010', 'b':'1011', 'c':'1100', 'd':'1101', 'e':'1110', 'f':'1111', 'A':'1010', 'B':'1011', 'C':'1100', 'D':'1101', 'E':'1110', 'F':'1111', 'L':''} def binary_repr(num, width=None): """ Return the binary representation of the input number as a string. For negative numbers, if width is not given, a minus sign is added to the front. If width is given, the two's complement of the number is returned, with respect to that width. In a two's-complement system negative numbers are represented by the two's complement of the absolute value. This is the most common method of representing signed integers on computers [1]_. A N-bit two's-complement system can represent every integer in the range :math:`-2^{N-1}` to :math:`+2^{N-1}-1`. Parameters ---------- num : int Only an integer decimal number can be used. width : int, optional The length of the returned string if `num` is positive, the length of the two's complement if `num` is negative. Returns ------- bin : str Binary representation of `num` or two's complement of `num`. See Also -------- base_repr: Return a string representation of a number in the given base system. Notes ----- `binary_repr` is equivalent to using `base_repr` with base 2, but about 25x faster. References ---------- .. [1] Wikipedia, "Two's complement", http://en.wikipedia.org/wiki/Two's_complement Examples -------- >>> np.binary_repr(3) '11' >>> np.binary_repr(-3) '-11' >>> np.binary_repr(3, width=4) '0011' The two's complement is returned when the input number is negative and width is specified: >>> np.binary_repr(-3, width=4) '1101' """ sign = '' if num < 0: if width is None: sign = '-' num = -num else: # replace num with its 2-complement num = 2**width + num elif num == 0: return '0'*(width or 1) ostr = hex(num) bin = ''.join([_lkup[ch] for ch in ostr[2:]]) bin = bin.lstrip('0') if width is not None: bin = bin.zfill(width) return sign + bin def base_repr (number, base=2, padding=0): """ Return a string representation of a number in the given base system. Parameters ---------- number : scalar The value to convert. Only positive values are handled. base : int Convert `number` to the `base` number system. The valid range is 2-36, the default value is 2. padding : int, optional Number of zeros padded on the left. Returns ------- out : str String representation of `number` in `base` system. See Also -------- binary_repr : Faster version of `base_repr` for base 2 that also handles negative numbers. Examples -------- >>> np.base_repr(3, 5) '3' >>> np.base_repr(6, 5) '11' >>> np.base_repr(7, base=5, padding=3) '00012' """ if number < 0: raise ValueError("negative numbers not handled in base_repr") if base > 36: raise ValueError("bases greater than 36 not handled in base_repr") chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' import math lnb = math.log(base) res = padding*chars[0] if number == 0: return res + chars[0] exponent = int (math.log (number)/lnb) while(exponent >= 0): term = long(base)**exponent lead_digit = int(number / term) res += chars[lead_digit] number -= term*lead_digit exponent -= 1 return res from cPickle import load, loads _cload = load _file = file def load(file): """Wrapper around cPickle.load which accepts either a file-like object or a filename. """ if isinstance(file, type("")): file = _file(file,"rb") return _cload(file) # These are all essentially abbreviations # These might wind up in a special abbreviations module def _maketup(descr, val): dt = dtype(descr) # Place val in all scalar tuples: fields = dt.fields if fields is None: return val else: res = [_maketup(fields[name][0],val) for name in dt.names] return tuple(res) def ones(shape, dtype=None, order='C'): """ Return a new array of given shape and type, filled with ones. Please refer to the documentation for `zeros`. See Also -------- zeros Examples -------- >>> np.ones(5) array([ 1., 1., 1., 1., 1.]) >>> np.ones((5,), dtype=np.int) array([1, 1, 1, 1, 1]) >>> np.ones((2, 1)) array([[ 1.], [ 1.]]) >>> s = (2,2) >>> np.ones(s) array([[ 1., 1.], [ 1., 1.]]) """ a = empty(shape, dtype, order) try: a.fill(1) # Above is faster now after addition of fast loops. #a = zeros(shape, dtype, order) #a+=1 except TypeError: obj = _maketup(dtype, 1) a.fill(obj) return a def identity(n, dtype=None): """ Return the identity array. The identity array is a square array with ones on the main diagonal. Parameters ---------- n : int Number of rows (and columns) in `n` x `n` output. dtype : data-type, optional Data-type of the output. Defaults to ``float``. Returns ------- out : ndarray `n` x `n` array with its main diagonal set to one, and all other elements 0. Examples -------- >>> np.identity(3) array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]]) """ a = zeros((n,n), dtype=dtype) a.flat[::n+1] = 1 return a def allclose(a, b, rtol=1.e-5, atol=1.e-8): """ Returns True if two arrays are element-wise equal within a tolerance. The tolerance values are positive, typically very small numbers. The relative difference (`rtol` * abs(`b`)) and the absolute difference `atol` are added together to compare against the absolute difference between `a` and `b`. Parameters ---------- a, b : array_like Input arrays to compare. rtol : float The relative tolerance parameter (see Notes). atol : float The absolute tolerance parameter (see Notes). Returns ------- y : bool Returns True if the two arrays are equal within the given tolerance; False otherwise. If either array contains NaN, then False is returned. See Also -------- all, any, alltrue, sometrue Notes ----- If the following equation is element-wise True, then allclose returns True. absolute(`a` - `b`) <= (`atol` + `rtol` * absolute(`b`)) Examples -------- >>> np.allclose([1e10,1e-7], [1.00001e10,1e-8]) False >>> np.allclose([1e10,1e-8], [1.00001e10,1e-9]) True >>> np.allclose([1e10,1e-8], [1.0001e10,1e-9]) False >>> np.allclose([1.0, np.nan], [1.0, np.nan]) False """ x = array(a, copy=False) y = array(b, copy=False) xinf = isinf(x) if not all(xinf == isinf(y)): return False if not any(xinf): return all(less_equal(absolute(x-y), atol + rtol * absolute(y))) if not all(x[xinf] == y[xinf]): return False x = x[~xinf] y = y[~xinf] return all(less_equal(absolute(x-y), atol + rtol * absolute(y))) def array_equal(a1, a2): """ True if two arrays have the same shape and elements, False otherwise. Parameters ---------- a1, a2 : array_like Input arrays. Returns ------- b : bool Returns True if the arrays are equal. See Also -------- allclose: Returns True if two arrays are element-wise equal within a tolerance. array_equiv: Returns True if input arrays are shape consistent and all elements equal. Examples -------- >>> np.array_equal([1, 2], [1, 2]) True >>> np.array_equal(np.array([1, 2]), np.array([1, 2])) True >>> np.array_equal([1, 2], [1, 2, 3]) False >>> np.array_equal([1, 2], [1, 4]) False """ try: a1, a2 = asarray(a1), asarray(a2) except: return False if a1.shape != a2.shape: return False return bool(logical_and.reduce(equal(a1,a2).ravel())) def array_equiv(a1, a2): """ Returns True if input arrays are shape consistent and all elements equal. Shape consistent means they are either the same shape, or one input array can be broadcasted to create the same shape as the other one. Parameters ---------- a1, a2 : array_like Input arrays. Returns ------- out : bool True if equivalent, False otherwise. Examples -------- >>> np.array_equiv([1, 2], [1, 2]) >>> True >>> np.array_equiv([1, 2], [1, 3]) >>> False Showing the shape equivalence: >>> np.array_equiv([1, 2], [[1, 2], [1, 2]]) >>> True >>> np.array_equiv([1, 2], [[1, 2, 1, 2], [1, 2, 1, 2]]) >>> False >>> np.array_equiv([1, 2], [[1, 2], [1, 3]]) >>> False """ try: a1, a2 = asarray(a1), asarray(a2) except: return False try: return bool(logical_and.reduce(equal(a1,a2).ravel())) except ValueError: return False _errdict = {"ignore":ERR_IGNORE, "warn":ERR_WARN, "raise":ERR_RAISE, "call":ERR_CALL, "print":ERR_PRINT, "log":ERR_LOG} _errdict_rev = {} for key in _errdict.keys(): _errdict_rev[_errdict[key]] = key del key def seterr(all=None, divide=None, over=None, under=None, invalid=None): """ Set how floating-point errors are handled. Note that operations on integer scalar types (such as `int16`) are handled like floating point, and are affected by these settings. Parameters ---------- all : {'ignore', 'warn', 'raise', 'call', 'print', 'log'}, optional Set treatment for all types of floating-point errors at once: - ignore: Take no action when the exception occurs. - warn: Print a `RuntimeWarning` (via the Python `warnings` module). - raise: Raise a `FloatingPointError`. - call: Call a function specified using the `seterrcall` function. - print: Print a warning directly to ``stdout``. - log: Record error in a Log object specified by `seterrcall`. The default is not to change the current behavior. divide : {'ignore', 'warn', 'raise', 'call', 'print', 'log'}, optional Treatment for division by zero. over : {'ignore', 'warn', 'raise', 'call', 'print', 'log'}, optional Treatment for floating-point overflow. under : {'ignore', 'warn', 'raise', 'call', 'print', 'log'}, optional Treatment for floating-point underflow. invalid : {'ignore', 'warn', 'raise', 'call', 'print', 'log'}, optional Treatment for invalid floating-point operation. Returns ------- old_settings : dict Dictionary containing the old settings. See also -------- seterrcall : set a callback function for the 'call' mode. geterr, geterrcall Notes ----- The floating-point exceptions are defined in the IEEE 754 standard [1]: - Division by zero: infinite result obtained from finite numbers. - Overflow: result too large to be expressed. - Underflow: result so close to zero that some precision was lost. - Invalid operation: result is not an expressible number, typically indicates that a NaN was produced. .. [1] http://en.wikipedia.org/wiki/IEEE_754 Examples -------- >>> np.seterr(over='raise') {'over': 'ignore', 'divide': 'ignore', 'invalid': 'ignore', 'under': 'ignore'} >>> np.seterr(all='ignore') # reset to default {'over': 'raise', 'divide': 'warn', 'invalid': 'warn', 'under': 'warn'} >>> np.int16(32000) * np.int16(3) 30464 >>> old_settings = np.seterr(all='warn', over='raise') >>> np.int16(32000) * np.int16(3) Traceback (most recent call last): File "", line 1, in FloatingPointError: overflow encountered in short_scalars >>> np.seterr(all='print') {'over': 'print', 'divide': 'print', 'invalid': 'print', 'under': 'print'} >>> np.int16(32000) * np.int16(3) Warning: overflow encountered in short_scalars 30464 """ pyvals = umath.geterrobj() old = geterr() if divide is None: divide = all or old['divide'] if over is None: over = all or old['over'] if under is None: under = all or old['under'] if invalid is None: invalid = all or old['invalid'] maskvalue = ((_errdict[divide] << SHIFT_DIVIDEBYZERO) + (_errdict[over] << SHIFT_OVERFLOW ) + (_errdict[under] << SHIFT_UNDERFLOW) + (_errdict[invalid] << SHIFT_INVALID)) pyvals[1] = maskvalue umath.seterrobj(pyvals) return old def geterr(): """ Get the current way of handling floating-point errors. Returns ------- res : dict A dictionary with keys "divide", "over", "under", and "invalid", whose values are from the strings "ignore", "print", "log", "warn", "raise", and "call". The keys represent possible floating-point exceptions, and the values define how these exceptions are handled. See Also -------- geterrcall, seterr, seterrcall Notes ----- For complete documentation of the types of floating-point exceptions and treatment options, see `seterr`. Examples -------- >>> np.geterr() # default is all set to 'ignore' {'over': 'ignore', 'divide': 'ignore', 'invalid': 'ignore', 'under': 'ignore'} >>> np.arange(3.) / np.arange(3.) array([ NaN, 1., 1.]) >>> oldsettings = np.seterr(all='warn', over='raise') >>> np.geterr() {'over': 'raise', 'divide': 'warn', 'invalid': 'warn', 'under': 'warn'} >>> np.arange(3.) / np.arange(3.) __main__:1: RuntimeWarning: invalid value encountered in divide array([ NaN, 1., 1.]) """ maskvalue = umath.geterrobj()[1] mask = 7 res = {} val = (maskvalue >> SHIFT_DIVIDEBYZERO) & mask res['divide'] = _errdict_rev[val] val = (maskvalue >> SHIFT_OVERFLOW) & mask res['over'] = _errdict_rev[val] val = (maskvalue >> SHIFT_UNDERFLOW) & mask res['under'] = _errdict_rev[val] val = (maskvalue >> SHIFT_INVALID) & mask res['invalid'] = _errdict_rev[val] return res def setbufsize(size): """ Set the size of the buffer used in ufuncs. Parameters ---------- size : int Size of buffer. """ if size > 10e6: raise ValueError, "Buffer size, %s, is too big." % size if size < 5: raise ValueError, "Buffer size, %s, is too small." %size if size % 16 != 0: raise ValueError, "Buffer size, %s, is not a multiple of 16." %size pyvals = umath.geterrobj() old = getbufsize() pyvals[0] = size umath.seterrobj(pyvals) return old def getbufsize(): """Return the size of the buffer used in ufuncs. """ return umath.geterrobj()[0] def seterrcall(func): """ Set the floating-point error callback function or log object. There are two ways to capture floating-point error messages. The first is to set the error-handler to 'call', using `seterr`. Then, set the function to call using this function. The second is to set the error-handler to 'log', using `seterr`. Floating-point errors then trigger a call to the 'write' method of the provided object. Parameters ---------- func : callable f(err, flag) or object with write method Function to call upon floating-point errors ('call'-mode) or object whose 'write' method is used to log such message ('log'-mode). The call function takes two arguments. The first is the type of error (one of "divide", "over", "under", or "invalid"), and the second is the status flag. The flag is a byte, whose least-significant bits indicate the status:: [0 0 0 0 invalid over under invalid] In other words, ``flags = divide + 2*over + 4*under + 8*invalid``. If an object is provided, its write method should take one argument, a string. Returns ------- h : callable or log instance The old error handler. See Also -------- seterr, geterr, geterrcall Examples -------- Callback upon error: >>> def err_handler(type, flag): print "Floating point error (%s), with flag %s" % (type, flag) ... >>> saved_handler = np.seterrcall(err_handler) >>> save_err = np.seterr(all='call') >>> np.array([1,2,3])/0.0 Floating point error (divide by zero), with flag 1 array([ Inf, Inf, Inf]) >>> np.seterrcall(saved_handler) >>> np.seterr(**save_err) Log error message: >>> class Log(object): def write(self, msg): print "LOG: %s" % msg ... >>> log = Log() >>> saved_handler = np.seterrcall(log) >>> save_err = np.seterr(all='log') >>> np.array([1,2,3])/0.0 LOG: Warning: divide by zero encountered in divide >>> np.seterrcall(saved_handler) >>> np.seterr(**save_err) """ if func is not None and not callable(func): if not hasattr(func, 'write') or not callable(func.write): raise ValueError, "Only callable can be used as callback" pyvals = umath.geterrobj() old = geterrcall() pyvals[2] = func umath.seterrobj(pyvals) return old def geterrcall(): """ Return the current callback function used on floating-point errors. When the error handling for a floating-point error (one of "divide", "over", "under", or "invalid") is set to 'call' or 'log', the function that is called or the log instance that is written to is returned by `geterrcall`. This function or log instance has been set with `seterrcall`. Returns ------- errobj : callable, log instance or None The current error handler. If no handler was set through `seterrcall`, ``None`` is returned. See Also -------- seterrcall, seterr, geterr Notes ----- For complete documentation of the types of floating-point exceptions and treatment options, see `seterr`. Examples -------- >>> np.geterrcall() # we did not yet set a handler, returns None >>> oldsettings = np.seterr(all='call') >>> def err_handler(type, flag): ... print "Floating point error (%s), with flag %s" % (type, flag) >>> oldhandler = np.seterrcall(err_handler) >>> np.array([1,2,3])/0.0 Floating point error (divide by zero), with flag 1 array([ Inf, Inf, Inf]) >>> cur_handler = np.geterrcall() >>> cur_handler is err_handler True """ return umath.geterrobj()[2] class _unspecified(object): pass _Unspecified = _unspecified() class errstate(object): """with errstate(**state): --> operations in following block use given state. # Set error handling to known state. >>> _ = np.seterr(invalid='raise', divide='raise', over='raise', ... under='ignore') >>> a = -np.arange(3) >>> with np.errstate(invalid='ignore'): # doctest: +SKIP ... print np.sqrt(a) # with statement requires Python 2.5 [ 0. -1.#IND -1.#IND] >>> print np.sqrt(a.astype(complex)) [ 0.+0.j 0.+1.j 0.+1.41421356j] >>> print np.sqrt(a) Traceback (most recent call last): ... FloatingPointError: invalid value encountered in sqrt >>> with np.errstate(divide='ignore'): # doctest: +SKIP ... print a/0 [0 0 0] >>> print a/0 Traceback (most recent call last): ... FloatingPointError: divide by zero encountered in divide """ # Note that we don't want to run the above doctests because they will fail # without a from __future__ import with_statement def __init__(self, **kwargs): self.call = kwargs.pop('call',_Unspecified) self.kwargs = kwargs def __enter__(self): self.oldstate = seterr(**self.kwargs) if self.call is not _Unspecified: self.oldcall = seterrcall(self.call) def __exit__(self, *exc_info): seterr(**self.oldstate) if self.call is not _Unspecified: seterrcall(self.oldcall) def _setdef(): defval = [UFUNC_BUFSIZE_DEFAULT, ERR_DEFAULT2, None] umath.seterrobj(defval) # set the default values _setdef() Inf = inf = infty = Infinity = PINF nan = NaN = NAN False_ = bool_(False) True_ = bool_(True) import fromnumeric from fromnumeric import * extend_all(fromnumeric) cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/numpy/core/numerictypes.py000077500000000000000000000515621263606473700266530ustar00rootroot00000000000000#TODO: convert this to use the cern.colt types. """numerictypes: Define the numeric type objects This module is designed so 'from numerictypes import *' is safe. Exported symbols include: Dictionary with all registered number types (including aliases): typeDict Type objects (not all will be available, depends on platform): see variable sctypes for which ones you have Bit-width names int8 int16 int32 int64 int128 uint8 uint16 uint32 uint64 uint128 float16 float32 float64 float96 float128 float256 complex32 complex64 complex128 complex192 complex256 complex512 datetime64 timedelta64 c-based names bool_ object_ void, str_, unicode_ byte, ubyte, short, ushort intc, uintc, intp, uintp, int_, uint, longlong, ulonglong, single, csingle, float_, complex_, longfloat, clongfloat, datetime, timedelta, (these inherit from timeinteger which inherits from signedinteger) As part of the type-hierarchy: xx -- is bit-width generic +-> bool_ (kind=b) +-> number (kind=i) | integer | signedinteger (intxx) | byte | short | intc | intp int0 | int_ | longlong +-> unsignedinteger (uintxx) (kind=u) | ubyte | ushort | uintc | uintp uint0 | uint_ | ulonglong +-> inexact | +-> floating (floatxx) (kind=f) | | single | | float_ (double) | | longfloat | \-> complexfloating (complexxx) (kind=c) | csingle (singlecomplex) | complex_ (cfloat, cdouble) | clongfloat (longcomplex) +-> flexible | character | str_ (string_) (kind=S) | unicode_ (kind=U) | void (kind=V) | \-> object_ (not used much) (kind=O) """ # we add more at the bottom __all__ = ['sctypeDict', 'sctypeNA', 'typeDict', 'typeNA', 'sctypes', 'ScalarType', 'obj2sctype', 'cast', 'nbytes', 'sctype2char', 'maximum_sctype', 'issctype', 'typecodes', 'find_common_type'] #from numpy.core.multiarray import typeinfo, ndarray, array, empty, dtype #TODO: Create these items and import them correctly import types as _types # we don't export these for import *, but we do want them accessible # as numerictypes.bool, etc. from __builtin__ import bool, int, long, float, complex, object, unicode, str # String-handling utilities to avoid locale-dependence. # "import string" is costly to import! # Construct the translation tables directly # "A" = chr(65), "a" = chr(97) _all_chars = map(chr, range(256)) _ascii_upper = _all_chars[65:65+26] _ascii_lower = _all_chars[97:97+26] LOWER_TABLE="".join(_all_chars[:65] + _ascii_lower + _all_chars[65+26:]) UPPER_TABLE="".join(_all_chars[:97] + _ascii_upper + _all_chars[97+26:]) #import string # assert (string.maketrans(string.ascii_uppercase, string.ascii_lowercase) == \ # LOWER_TABLE) # assert (string.maketrnas(string_ascii_lowercase, string.ascii_uppercase) == \ # UPPER_TABLE) #LOWER_TABLE = string.maketrans(string.ascii_uppercase, string.ascii_lowercase) #UPPER_TABLE = string.maketrans(string.ascii_lowercase, string.ascii_uppercase) def english_lower(s): """ Apply English case rules to convert ASCII strings to all lower case. This is an internal utility function to replace calls to str.lower() such that we can avoid changing behavior with changing locales. In particular, Turkish has distinct dotted and dotless variants of the Latin letter "I" in both lowercase and uppercase. Thus, "I".lower() != "i" in a "tr" locale. Parameters ---------- s : str Returns ------- lowered : str Examples -------- >>> from numpy.core.numerictypes import english_lower >>> english_lower('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_') 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789_' >>> english_lower('') '' """ lowered = s.translate(LOWER_TABLE) return lowered def english_upper(s): """ Apply English case rules to convert ASCII strings to all upper case. This is an internal utility function to replace calls to str.upper() such that we can avoid changing behavior with changing locales. In particular, Turkish has distinct dotted and dotless variants of the Latin letter "I" in both lowercase and uppercase. Thus, "i".upper() != "I" in a "tr" locale. Parameters ---------- s : str Returns ------- uppered : str Examples -------- >>> from numpy.core.numerictypes import english_upper >>> english_upper('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_') 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_' >>> english_upper('') '' """ uppered = s.translate(UPPER_TABLE) return uppered def english_capitalize(s): """ Apply English case rules to convert the first character of an ASCII string to upper case. This is an internal utility function to replace calls to str.capitalize() such that we can avoid changing behavior with changing locales. Parameters ---------- s : str Returns ------- capitalized : str Examples -------- >>> from numpy.core.numerictypes import english_capitalize >>> english_capitalize('int8') 'Int8' >>> english_capitalize('Int8') 'Int8' >>> english_capitalize('') '' """ if s: return english_upper(s[0]) + s[1:] else: return s sctypeDict = {} # Contains all leaf-node scalar types with aliases sctypeNA = {} # Contails all leaf-node types -> numarray type equivalences allTypes = {} # Collect the types we will add to the module here def _evalname(name): k = 0 for ch in name: if ch in '0123456789': break k += 1 try: bits = int(name[k:]) except ValueError: bits = 0 base = name[:k] return base, bits def bitname(obj): """Return a bit-width name for a given type object""" name = obj.__name__ base = '' char = '' try: if name[-1] == '_': newname = name[:-1] else: newname = name info = typeinfo[english_upper(newname)] assert(info[-1] == obj) # sanity check bits = info[2] except KeyError: # bit-width name base, bits = _evalname(name) char = base[0] if name == 'bool_': char = 'b' base = 'bool' elif name=='string_': char = 'S' base = 'string' elif name=='unicode_': char = 'U' base = 'unicode' elif name=='void': char = 'V' base = 'void' elif name=='object_': char = 'O' base = 'object' bits = 0 bytes = bits / 8 if char != '' and bytes != 0: char = "%s%d" % (char, bytes) return base, bits, char def _add_types(): for a in typeinfo.keys(): name = english_lower(a) if isinstance(typeinfo[a], tuple): typeobj = typeinfo[a][-1] # define C-name and insert typenum and typechar references also allTypes[name] = typeobj sctypeDict[name] = typeobj sctypeDict[typeinfo[a][0]] = typeobj sctypeDict[typeinfo[a][1]] = typeobj else: # generic class allTypes[name] = typeinfo[a] _add_types() def _add_aliases(): for a in typeinfo.keys(): name = english_lower(a) if not isinstance(typeinfo[a], tuple): continue typeobj = typeinfo[a][-1] # insert bit-width version for this class (if relevant) base, bit, char = bitname(typeobj) if base[-3:] == 'int' or char[0] in 'ui': continue if base != '': myname = "%s%d" % (base, bit) if (name != 'longdouble' and name != 'clongdouble') or \ myname not in allTypes.keys(): allTypes[myname] = typeobj sctypeDict[myname] = typeobj if base == 'complex': na_name = '%s%d' % (english_capitalize(base), bit/2) elif base == 'bool': na_name = english_capitalize(base) sctypeDict[na_name] = typeobj else: na_name = "%s%d" % (english_capitalize(base), bit) sctypeDict[na_name] = typeobj sctypeNA[na_name] = typeobj sctypeDict[na_name] = typeobj sctypeNA[typeobj] = na_name sctypeNA[typeinfo[a][0]] = na_name if char != '': sctypeDict[char] = typeobj sctypeNA[char] = na_name _add_aliases() # Integers handled so that # The int32, int64 types should agree exactly with # PyArray_INT32, PyArray_INT64 in C # We need to enforce the same checking as is done # in arrayobject.h where the order of getting a # bit-width match is: # long, longlong, int, short, char # for int8, int16, int32, int64, int128 def _add_integer_aliases(): _ctypes = ['LONG', 'LONGLONG', 'INT', 'SHORT', 'BYTE'] for ctype in _ctypes: val = typeinfo[ctype] bits = val[2] charname = 'i%d' % (bits/8,) ucharname = 'u%d' % (bits/8,) intname = 'int%d' % bits UIntname = 'UInt%d' % bits Intname = 'Int%d' % bits uval = typeinfo['U'+ctype] typeobj = val[-1] utypeobj = uval[-1] if intname not in allTypes.keys(): uintname = 'uint%d' % bits allTypes[intname] = typeobj allTypes[uintname] = utypeobj sctypeDict[intname] = typeobj sctypeDict[uintname] = utypeobj sctypeDict[Intname] = typeobj sctypeDict[UIntname] = utypeobj sctypeDict[charname] = typeobj sctypeDict[ucharname] = utypeobj sctypeNA[Intname] = typeobj sctypeNA[UIntname] = utypeobj sctypeNA[charname] = typeobj sctypeNA[ucharname] = utypeobj sctypeNA[typeobj] = Intname sctypeNA[utypeobj] = UIntname sctypeNA[val[0]] = Intname sctypeNA[uval[0]] = UIntname _add_integer_aliases() # We use these later void = allTypes['void'] generic = allTypes['generic'] # # Rework the Python names (so that float and complex and int are consistent # with Python usage) # def _set_up_aliases(): type_pairs = [('complex_', 'cdouble'), ('int0', 'intp'), ('uint0', 'uintp'), ('single', 'float'), ('csingle', 'cfloat'), ('singlecomplex', 'cfloat'), ('float_', 'double'), ('intc', 'int'), ('uintc', 'uint'), ('int_', 'long'), ('uint', 'ulong'), ('cfloat', 'cdouble'), ('longfloat', 'longdouble'), ('clongfloat', 'clongdouble'), ('longcomplex', 'clongdouble'), ('bool_', 'bool'), ('unicode_', 'unicode'), ('str_', 'string'), ('string_', 'string'), ('object_', 'object')] for alias, t in type_pairs: allTypes[alias] = allTypes[t] sctypeDict[alias] = sctypeDict[t] # Remove aliases overriding python types and modules for t in ['ulong', 'object', 'unicode', 'int', 'long', 'float', 'complex', 'bool', 'string']: try: del allTypes[t] del sctypeDict[t] except KeyError: pass _set_up_aliases() # Now, construct dictionary to lookup character codes from types _sctype2char_dict = {} def _construct_char_code_lookup(): for name in typeinfo.keys(): tup = typeinfo[name] if isinstance(tup, tuple): if tup[0] not in ['p','P']: _sctype2char_dict[tup[-1]] = tup[0] _construct_char_code_lookup() sctypes = {'int': [], 'uint':[], 'float':[], 'complex':[], 'others':[bool,object,str,unicode,void]} def _add_array_type(typename, bits): try: t = allTypes['%s%d' % (typename, bits)] except KeyError: pass else: sctypes[typename].append(t) def _set_array_types(): ibytes = [1, 2, 4, 8, 16, 32, 64] fbytes = [2, 4, 8, 10, 12, 16, 32, 64] for bytes in ibytes: bits = 8*bytes _add_array_type('int', bits) _add_array_type('uint', bits) for bytes in fbytes: bits = 8*bytes _add_array_type('float', bits) _add_array_type('complex', 2*bits) _gi = dtype('p') if _gi.type not in sctypes['int']: indx = 0 sz = _gi.itemsize _lst = sctypes['int'] while (indx < len(_lst) and sz >= _lst[indx](0).itemsize): indx += 1 sctypes['int'].insert(indx, _gi.type) sctypes['uint'].insert(indx, dtype('P').type) _set_array_types() genericTypeRank = ['bool', 'int8', 'uint8', 'int16', 'uint16', 'int32', 'uint32', 'int64', 'uint64', 'int128', 'uint128', 'float16', 'float32', 'float64', 'float80', 'float96', 'float128', 'float256', 'complex32', 'complex64', 'complex128', 'complex160', 'complex192', 'complex256', 'complex512', 'object'] def maximum_sctype(t): """returns the sctype of highest precision of the same general kind as 't'""" g = obj2sctype(t) if g is None: return t t = g name = t.__name__ base, bits = _evalname(name) if bits == 0: return t else: return sctypes[base][-1] _python_types = {int : 'int_', float: 'float_', complex: 'complex_', bool: 'bool_', str: 'string_', unicode: 'unicode_', _types.BufferType: 'void', } def _python_type(t): """returns the type corresponding to a certain Python type""" if not isinstance(t, _types.TypeType): t = type(t) return allTypes[_python_types.get(t, 'object_')] def issctype(rep): """Determines whether the given object represents a numeric array type.""" if not isinstance(rep, (type, dtype)): return False try: res = obj2sctype(rep) if res and res != object_: return True return False except: return False def obj2sctype(rep, default=None): try: if issubclass(rep, generic): return rep except TypeError: pass if isinstance(rep, dtype): return rep.type if isinstance(rep, type): return _python_type(rep) if isinstance(rep, ndarray): return rep.dtype.type try: res = dtype(rep) except: return default return res.type def issubclass_(arg1, arg2): try: return issubclass(arg1, arg2) except TypeError: return False def issubsctype(arg1, arg2): return issubclass(obj2sctype(arg1), obj2sctype(arg2)) def issubdtype(arg1, arg2): """ Returns True if first argument is a typecode lower/equal in type hierarchy. Parameters ---------- arg1 : dtype_like dtype or string representing a typecode. arg2 : dtype_like dtype or string representing a typecode. Returns ------- out : bool See Also -------- numpy.core.numerictypes : Overview of numpy type hierarchy. Examples -------- >>> np.issubdtype('S1', str) True >>> np.issubdtype(np.float64, np.float32) False """ if issubclass_(arg2, generic): return issubclass(dtype(arg1).type, arg2) mro = dtype(arg2).type.mro() if len(mro) > 1: val = mro[1] else: val = mro[0] return issubclass(dtype(arg1).type, val) # This dictionary allows look up based on any alias for an array data-type class _typedict(dict): def __getitem__(self, obj): return dict.__getitem__(self, obj2sctype(obj)) nbytes = _typedict() _alignment = _typedict() _maxvals = _typedict() _minvals = _typedict() def _construct_lookups(): for name, val in typeinfo.iteritems(): if not isinstance(val, tuple): continue obj = val[-1] nbytes[obj] = val[2] / 8 _alignment[obj] = val[3] if (len(val) > 5): _maxvals[obj] = val[4] _minvals[obj] = val[5] else: _maxvals[obj] = None _minvals[obj] = None _construct_lookups() def sctype2char(sctype): sctype = obj2sctype(sctype) if sctype is None: raise ValueError, "unrecognized type" return _sctype2char_dict[sctype] # Create dictionary of casting functions that wrap sequences # indexed by type or type character cast = _typedict() ScalarType = [_types.IntType, _types.FloatType, _types.ComplexType, _types.LongType, _types.BooleanType, _types.StringType, _types.UnicodeType, _types.BufferType] ScalarType.extend(_sctype2char_dict.keys()) ScalarType = tuple(ScalarType) for key in _sctype2char_dict.keys(): cast[key] = lambda x, k=key : array(x, copy=False).astype(k) # Create the typestring lookup dictionary _typestr = _typedict() for key in _sctype2char_dict.keys(): if issubclass(key, allTypes['flexible']): _typestr[key] = _sctype2char_dict[key] else: _typestr[key] = empty((1,),key).dtype.str[1:] # Make sure all typestrings are in sctypeDict for key, val in _typestr.items(): if val not in sctypeDict: sctypeDict[val] = key # Add additional strings to the sctypeDict _toadd = ['int', 'float', 'complex', 'bool', 'object', 'string', ('str', allTypes['string_']), 'unicode', 'object', ('a', allTypes['string_'])] for name in _toadd: if isinstance(name, tuple): sctypeDict[name[0]] = name[1] else: sctypeDict[name] = allTypes['%s_' % name] del _toadd, name # Now add the types we've determined to this module for key in allTypes: globals()[key] = allTypes[key] __all__.append(key) del key typecodes = {'Character':'c', 'Integer':'bhilqp', 'UnsignedInteger':'BHILQP', 'Float':'fdg', 'Complex':'FDG', 'AllInteger':'bBhHiIlLqQpP', 'AllFloat':'fdgFDG', 'Datetime': 'Mm', 'All':'?bhilqpBHILQPfdgFDGSUVOMm'} # backwards compatibility --- deprecated name typeDict = sctypeDict typeNA = sctypeNA # b -> boolean # u -> unsigned integer # i -> signed integer # f -> floating point # c -> complex # M -> datetime # m -> timedelta # S -> string # U -> Unicode string # V -> record # O -> Python object _kind_list = ['b', 'u', 'i', 'f', 'c', 'S', 'U', 'V', 'O', 'M', 'm'] __test_types = typecodes['AllInteger'][:-2]+typecodes['AllFloat']+'O' __len_test_types = len(__test_types) # Keep incrementing until a common type both can be coerced to # is found. Otherwise, return None def _find_common_coerce(a, b): if a > b: return a try: thisind = __test_types.index(a.char) except ValueError: return None return _can_coerce_all([a,b], start=thisind) # Find a data-type that all data-types in a list can be coerced to def _can_coerce_all(dtypelist, start=0): N = len(dtypelist) if N == 0: return None if N == 1: return dtypelist[0] thisind = start while thisind < __len_test_types: newdtype = dtype(__test_types[thisind]) numcoerce = len([x for x in dtypelist if newdtype >= x]) if numcoerce == N: return newdtype thisind += 1 return None def find_common_type(array_types, scalar_types): """ Determine common type following standard coercion rules Parameters ---------- array_types : sequence A list of dtype convertible objects representing arrays scalar_types : sequence A list of dtype convertible objects representing scalars Returns ------- datatype : dtype The common data-type which is the maximum of the array_types ignoring the scalar_types unless the maximum of the scalar_types is of a different kind. If the kinds is not understood, then None is returned. See Also -------- dtype """ array_types = [dtype(x) for x in array_types] scalar_types = [dtype(x) for x in scalar_types] maxa = _can_coerce_all(array_types) maxsc = _can_coerce_all(scalar_types) if maxa is None: return maxsc if maxsc is None: return maxa try: index_a = _kind_list.index(maxa.kind) index_sc = _kind_list.index(maxsc.kind) except ValueError: return None if index_sc > index_a: return _find_common_coerce(maxsc,maxa) else: return maxa cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/scipy/000077500000000000000000000000001263606473700225655ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/scipy/README000066400000000000000000000002431263606473700234440ustar00rootroot00000000000000In the future, we will be working on a scipy for java implementation that uses cern.colt matrices as the backend and provides a java interface that mirrors scipy. cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/scipy/__init__.py000066400000000000000000000000001263606473700246640ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/scipy/sparse/000077500000000000000000000000001263606473700240625ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/scipy/sparse/__init__.py000066400000000000000000000006201263606473700261710ustar00rootroot00000000000000"Sparse Matrix Support" from info import __doc__ from base import * from csr import * from csc import * from lil import * from dok import * from coo import * from dia import * from bsr import * from construct import * from extract import * #from spfuncs import * __all__ = filter(lambda s:not s.startswith('_'),dir()) from numpy.testing import Tester test = Tester().test bench = Tester().bench cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/scipy/sparse/base.py000066400000000000000000000446401263606473700253560ustar00rootroot00000000000000"""Base class for sparse matrices""" __all__ = ['spmatrix', 'isspmatrix', 'issparse', 'SparseWarning','SparseEfficiencyWarning'] from warnings import warn import numjy as np from sputils import isdense, isscalarlike, isintlike class SparseWarning(Warning): pass class SparseFormatWarning(SparseWarning): pass class SparseEfficiencyWarning(SparseWarning): pass # The formats that we might potentially understand. _formats = {'csc':[0, "Compressed Sparse Column"], 'csr':[1, "Compressed Sparse Row"], 'dok':[2, "Dictionary Of Keys"], 'lil':[3, "LInked List"], 'dod':[4, "Dictionary of Dictionaries"], 'sss':[5, "Symmetric Sparse Skyline"], 'coo':[6, "COOrdinate"], 'lba':[7, "Linpack BAnded"], 'egd':[8, "Ellpack-itpack Generalized Diagonal"], 'dia':[9, "DIAgonal"], 'bsr':[10, "Block Sparse Row"], 'msr':[11, "Modified compressed Sparse Row"], 'bsc':[12, "Block Sparse Column"], 'msc':[13, "Modified compressed Sparse Column"], 'ssk':[14, "Symmetric SKyline"], 'nsk':[15, "Nonsymmetric SKyline"], 'jad':[16, "JAgged Diagonal"], 'uss':[17, "Unsymmetric Sparse Skyline"], 'vbr':[18, "Variable Block Row"], 'und':[19, "Undefined"] } MAXPRINT = 50 class spmatrix(object): """ This class provides a base class for all sparse matrices. It cannot be instantiated. Most of the work is provided by subclasses. """ __array_priority__ = 10.1 ndim = 2 def __init__(self, maxprint=MAXPRINT): self.format = self.__class__.__name__[:3] self._shape = None if self.format == 'spm': raise ValueError, "This class is not intended" \ " to be instantiated directly." self.maxprint = maxprint def set_shape(self,shape): shape = tuple(shape) if len(shape) != 2: raise ValueError("Only two-dimensional sparse arrays " "are supported.") try: shape = int(shape[0]),int(shape[1]) #floats, other weirdness except: raise TypeError('invalid shape') if not (shape[0] >= 1 and shape[1] >= 1): raise ValueError('invalid shape') if (self._shape != shape) and (self._shape is not None): try: self = self.reshape(shape) except NotImplementedError: raise NotImplementedError("Reshaping not implemented for %s." % self.__class__.__name__) self._shape = shape def get_shape(self): return self._shape shape = property(fget=get_shape, fset=set_shape) def reshape(self,shape): raise NotImplementedError def astype(self, t): return self.tocsr().astype(t).asformat(self.format) def asfptype(self): """Upcast matrix to a floating point format (if necessary)""" fp_types = ['f','d','F','D'] if self.dtype.char in fp_types: return self else: for fp_type in fp_types: if self.dtype <= np.dtype(fp_type): return self.astype(fp_type) raise TypeError,'cannot upcast [%s] to a floating \ point format' % self.dtype.name def __iter__(self): for r in xrange(self.shape[0]): yield self[r,:] def getmaxprint(self): try: maxprint = self.maxprint except AttributeError: maxprint = MAXPRINT return maxprint #def typecode(self): # try: # typ = self.dtype.char # except AttributeError: # typ = None # return typ def getnnz(self): try: return self.nnz except AttributeError: raise AttributeError, "nnz not defined" def getformat(self): try: format = self.format except AttributeError: format = 'und' return format @np.deprecate def rowcol(self, num): return (None, None) @np.deprecate def getdata(self, num): return None @np.deprecate def listprint(self, start, stop): """Provides a way to print over a single index. """ return '\n'.join([' %s\t%s' % (self.rowcol(ind), self.getdata(ind)) for ind in xrange(start,stop)]) + '\n' def __repr__(self): nnz = self.getnnz() format = self.getformat() return "<%dx%d sparse matrix of type '%s'\n" \ "\twith %d stored elements in %s format>" % \ (self.shape + (self.dtype.type, nnz, _formats[format][1])) def __str__(self): maxprint = self.getmaxprint() A = self.tocoo() nnz = self.getnnz() # helper function, outputs "(i,j) v" def tostr(row,col,data): triples = zip(zip(row,col),data) return '\n'.join( [ (' %s\t%s' % t) for t in triples] ) if nnz > maxprint: half = maxprint // 2 out = tostr(A.row[:half], A.col[:half], A.data[:half]) out += "\n :\t:\n" half = maxprint - maxprint//2 out += tostr(A.row[-half:], A.col[-half:], A.data[-half:]) else: out = tostr(A.row, A.col, A.data) return out def __nonzero__(self): # Simple -- other ideas? return self.getnnz() > 0 # What should len(sparse) return? For consistency with dense matrices, # perhaps it should be the number of rows? But for some uses the number of # non-zeros is more important. For now, raise an exception! def __len__(self): # return self.getnnz() raise TypeError, "sparse matrix length is ambiguous; use getnnz()" \ " or shape[0]" def asformat(self, format): """Return this matrix in a given sparse format Parameters ---------- format : {string, None} desired sparse matrix format - None for no format conversion - "csr" for csr_matrix format - "csc" for csc_matrix format - "lil" for lil_matrix format - "dok" for dok_matrix format and so on """ if format is None or format == self.format: return self else: return getattr(self,'to' + format)() ################################################################### # NOTE: All arithmetic operations use csr_matrix by default. # Therefore a new sparse matrix format just needs to define a # .tocsr() method to provide arithmetic support. Any of these # methods can be overridden for efficiency. #################################################################### def multiply(self, other): """Point-wise multiplication by another matrix """ return self.tocsr().multiply(other) def __abs__(self): return abs(self.tocsr()) def __add__(self, other): # self + other return self.tocsr().__add__(other) def __radd__(self, other): # other + self return self.tocsr().__radd__(other) def __sub__(self, other): # self - other #note: this can't be replaced by self + (-other) for unsigned types return self.tocsr().__sub__(other) def __rsub__(self, other): # other - self return self.tocsr().__rsub__(other) # old __mul__ interfaces @np.deprecate def matvec(self,other): return self * other @np.deprecate def matmat(self,other): return self * other @np.deprecate def dot(self, other): return self * other @np.deprecate def rmatvec(self, other, conjugate=True): """Multiplies the vector 'other' by the sparse matrix, returning a dense vector as a result. If 'conjugate' is True: - returns A.transpose().conj() * other Otherwise: - returns A.transpose() * other. """ if conjugate: return self.conj().transpose() * other else: return self.transpose() * other def __mul__(self, other): """interpret other and call one of the following self._mul_scalar() self._mul_vector() self._mul_multivector() self._mul_sparse_matrix() """ M,N = self.shape if isscalarlike(other): # scalar value return self._mul_scalar(other) if issparse(other): if self.shape[1] != other.shape[0]: raise ValueError('dimension mismatch') return self._mul_sparse_matrix(other) try: other.shape except AttributeError: # If it's a list or whatever, treat it like a matrix other = np.asanyarray(other) other = np.asanyarray(other) if other.ndim == 1 or other.ndim == 2 and other.shape[1] == 1: # dense row or column vector if other.shape != (N,) and other.shape != (N,1): raise ValueError('dimension mismatch') result = self._mul_vector(np.ravel(other)) if isinstance(other, np.matrix): result = np.asmatrix(result) if other.ndim == 2 and other.shape[1] == 1: # If 'other' was an (nx1) column vector, reshape the result result = result.reshape(-1,1) return result elif other.ndim == 2: ## # dense 2D array or matrix ("multivector") if other.shape[0] != self.shape[1]: raise ValueError('dimension mismatch') result = self._mul_multivector(np.asarray(other)) if isinstance(other, np.matrix): result = np.asmatrix(result) return result else: raise ValueError('could not interpret dimensions') # by default, use CSR for __mul__ handlers def _mul_scalar(self, other): return self.tocsr()._mul_scalar(other) def _mul_vector(self, other): return self.tocsr()._mul_vector(other) def _mul_multivector(self, other): return self.tocsr()._mul_multivector(other) def _mul_sparse_matrix(self, other): return self.tocsr()._mul_sparse_matrix(other) def __rmul__(self, other): # other * self if isscalarlike(other): return self.__mul__(other) else: # Don't use asarray unless we have to try: tr = other.transpose() except AttributeError: tr = np.asarray(other).transpose() return (self.transpose() * tr).transpose() #################### # Other Arithmetic # #################### def __truediv__(self, other): if isscalarlike(other): return self * (1./other) else: return self.tocsr().__truediv__(other) def __div__(self, other): # Always do true division return self.__truediv__(other) def __neg__(self): return -self.tocsr() def __iadd__(self, other): raise NotImplementedError def __isub__(self, other): raise NotImplementedError def __imul__(self, other): raise NotImplementedError def __idiv__(self, other): return self.__itruediv__(other) def __itruediv__(self, other): raise NotImplementedError def __pow__(self, other): if self.shape[0] != self.shape[1]: raise TypeError('matrix is not square') if isintlike(other): other = int(other) if other < 0: raise ValueError('exponent must be >= 0') if other == 0: from construct import identity return identity( self.shape[0], dtype=self.dtype ) elif other == 1: return self.copy() else: result = self for i in range(1,other): result = result*self return result elif isscalarlike(other): raise ValueError('exponent must be an integer') elif isspmatrix(other): warn('Using ** for elementwise multiplication is deprecated.'\ 'Use .multiply() instead', DeprecationWarning) return self.multiply(other) else: raise NotImplementedError def __getattr__(self, attr): if attr == 'A': return self.toarray() elif attr == 'T': return self.transpose() elif attr == 'H': return self.getH() elif attr == 'real': return self._real() elif attr == 'imag': return self._imag() elif attr == 'size': return self.getnnz() else: raise AttributeError, attr + " not found" def transpose(self): return self.tocsr().transpose() def conj(self): return self.tocsr().conj() def conjugate(self): return self.conj() # Renamed conjtranspose() -> getH() for compatibility with dense matrices def getH(self): return self.transpose().conj() def _real(self): return self.tocsr()._real() def _imag(self): return self.tocsr()._imag() def nonzero(self): """nonzero indices Returns a tuple of arrays (row,col) containing the indices of the non-zero elements of the matrix. Example ------- >>> from scipy.sparse import csr_matrix >>> A = csr_matrix([[1,2,0],[0,0,3],[4,0,5]]) >>> A.nonzero() (array([0, 0, 1, 2, 2]), array([0, 1, 2, 0, 2])) """ # convert to COOrdinate format A = self.tocoo() nz_mask = A.data != 0 return (A.row[nz_mask],A.col[nz_mask]) def getcol(self, j): """Returns a copy of column j of the matrix, as an (m x 1) sparse matrix (column vector). """ # Spmatrix subclasses should override this method for efficiency. # Post-multiply by a (n x 1) column vector 'a' containing all zeros # except for a_j = 1 from csc import csc_matrix n = self.shape[1] a = csc_matrix((n, 1), dtype=self.dtype) a[j, 0] = 1 return self * a def getrow(self, i): """Returns a copy of row i of the matrix, as a (1 x n) sparse matrix (row vector). """ # Spmatrix subclasses should override this method for efficiency. # Pre-multiply by a (1 x m) row vector 'a' containing all zeros # except for a_i = 1 from csr import csr_matrix m = self.shape[0] a = csr_matrix((1, m), dtype=self.dtype) a[0, i] = 1 return a * self #def __array__(self): # return self.toarray() def todense(self): return np.asmatrix(self.toarray()) def toarray(self): return self.tocoo().toarray() def todok(self): return self.tocoo().todok() def tocoo(self): return self.tocsr().tocoo() def tolil(self): return self.tocsr().tolil() def todia(self): return self.tocoo().todia() def tobsr(self, blocksize=None): return self.tocsr().tobsr(blocksize=blocksize) def copy(self): return self.__class__(self,copy=True) def sum(self, axis=None): """Sum the matrix over the given axis. If the axis is None, sum over both rows and columns, returning a scalar. """ # We use multiplication by an array of ones to achieve this. # For some sparse matrix formats more efficient methods are # possible -- these should override this function. m, n = self.shape if axis == 0: # sum over columns return np.asmatrix(np.ones((1, m), dtype=self.dtype)) * self elif axis == 1: # sum over rows return self * np.asmatrix(np.ones((n, 1), dtype=self.dtype)) elif axis is None: # sum over rows and columns return ( self * np.asmatrix(np.ones((n, 1), dtype=self.dtype)) ).sum() else: raise ValueError, "axis out of bounds" def mean(self, axis=None): """Average the matrix over the given axis. If the axis is None, average over both rows and columns, returning a scalar. """ if axis == 0: mean = self.sum(0) mean *= 1.0 / self.shape[0] return mean elif axis == 1: mean = self.sum(1) mean *= 1.0 / self.shape[1] return mean elif axis is None: return self.sum(None) * 1.0 / (self.shape[0]*self.shape[1]) else: raise ValueError, "axis out of bounds" def diagonal(self): """Returns the main diagonal of the matrix """ #TODO support k != 0 return self.tocsr().diagonal() def setdiag(self, values, k=0): """Fills the diagonal elements {a_ii} with the values from the given sequence. If k != 0, fills the off-diagonal elements {a_{i,i+k}} instead. values may have any length. If the diagonal is longer than values, then the remaining diagonal entries will not be set. If values if longer than the diagonal, then the remaining values are ignored. """ M, N = self.shape if (k > 0 and k >= N) or (k < 0 and -k >= M): raise ValueError, "k exceedes matrix dimensions" if k < 0: max_index = min(M+k, N, len(values)) for i,v in enumerate(values[:max_index]): self[i - k, i] = v else: max_index = min(M, N-k, len(values)) for i,v in enumerate(values[:max_index]): self[i, i + k] = v def save(self, file_name, format = '%d %d %f\n'): #deprecated on Dec 14 2007 #remove after 0.7 release warn('save() is deprecated, consider using mmwrite() or savemat()' \ ' provided by scipy.io instead', DeprecationWarning) try: fd = open(file_name, 'w') except Exception, e: raise e, file_name fd.write('%d %d\n' % self.shape) fd.write('%d\n' % self.size) for ii in xrange(self.size): ir, ic = self.rowcol(ii) data = self.getdata(ii) fd.write(format % (ir, ic, data)) fd.close() from sputils import _isinstance def isspmatrix(x): return _isinstance(x, spmatrix) issparse = isspmatrix cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/scipy/sparse/compressed.py000066400000000000000000000577631263606473700266220ustar00rootroot00000000000000"""Base class for sparse matrix formats using compressed storage """ __all__ = [] from warnings import warn import numpy as np from base import spmatrix, isspmatrix, SparseEfficiencyWarning from data import _data_matrix import sparsetools from sputils import upcast, to_native, isdense, isshape, getdtype, \ isscalarlike, isintlike class _cs_matrix(_data_matrix): """base matrix class for compressed row and column oriented matrices""" def __init__(self, arg1, shape=None, dtype=None, copy=False, dims=None, nzmax=None): _data_matrix.__init__(self) if dims is not None: warn("dims= is deprecated, use shape= instead", DeprecationWarning) shape=dims if nzmax is not None: warn("nzmax= is deprecated", DeprecationWarning) if isspmatrix(arg1): if arg1.format == self.format and copy: arg1 = arg1.copy() else: arg1 = arg1.asformat(self.format) self._set_self( arg1 ) elif isinstance(arg1, tuple): if isshape(arg1): # It's a tuple of matrix dimensions (M, N) # create empty matrix self.shape = arg1 #spmatrix checks for errors here M, N = self.shape self.data = np.zeros(0, getdtype(dtype, default=float)) self.indices = np.zeros(0, np.intc) self.indptr = np.zeros(self._swap((M,N))[0] + 1, dtype=np.intc) else: if len(arg1) == 2: # (data, ij) format from coo import coo_matrix other = self.__class__( coo_matrix(arg1, shape=shape) ) self._set_self( other ) elif len(arg1) == 3: # (data, indices, indptr) format (data, indices, indptr) = arg1 self.indices = np.array(indices, copy=copy) self.indptr = np.array(indptr, copy=copy) self.data = np.array(data, copy=copy, dtype=getdtype(dtype, data)) else: raise ValueError, "unrecognized %s_matrix constructor usage" %\ self.format else: #must be dense try: arg1 = np.asarray(arg1) except: raise ValueError, "unrecognized %s_matrix constructor usage" % \ self.format from coo import coo_matrix self._set_self( self.__class__(coo_matrix(arg1, dtype=dtype)) ) # Read matrix dimensions given, if any if shape is not None: self.shape = shape # spmatrix will check for errors else: if self.shape is None: # shape not already set, try to infer dimensions try: major_dim = len(self.indptr) - 1 minor_dim = self.indices.max() + 1 except: raise ValueError,'unable to infer matrix dimensions' else: self.shape = self._swap((major_dim,minor_dim)) if dtype is not None: self.data = self.data.astype(dtype) self.check_format(full_check=False) def getnnz(self): return self.indptr[-1] nnz = property(fget=getnnz) def _set_self(self, other, copy=False): """take the member variables of other and assign them to self""" if copy: other = other.copy() self.data = other.data self.indices = other.indices self.indptr = other.indptr self.shape = other.shape def check_format(self, full_check=True): """check whether the matrix format is valid Parameters ========== - full_check : {bool} - True - rigorous check, O(N) operations : default - False - basic check, O(1) operations """ #use _swap to determine proper bounds major_name,minor_name = self._swap(('row','column')) major_dim,minor_dim = self._swap(self.shape) # index arrays should have integer data types if self.indptr.dtype.kind != 'i': warn("indptr array has non-integer dtype (%s)" \ % self.indptr.dtype.name ) if self.indices.dtype.kind != 'i': warn("indices array has non-integer dtype (%s)" \ % self.indices.dtype.name ) # only support 32-bit ints for now self.indptr = np.asarray(self.indptr, dtype=np.intc) self.indices = np.asarray(self.indices, dtype=np.intc) self.data = to_native(self.data) # check array shapes if np.rank(self.data) != 1 or np.rank(self.indices) != 1 or np.rank(self.indptr) != 1: raise ValueError('data, indices, and indptr should be rank 1') # check index pointer if (len(self.indptr) != major_dim + 1 ): raise ValueError, \ "index pointer size (%d) should be (%d)" % \ (len(self.indptr), major_dim + 1) if (self.indptr[0] != 0): raise ValueError,"index pointer should start with 0" # check index and data arrays if (len(self.indices) != len(self.data)): raise ValueError,"indices and data should have the same size" if (self.indptr[-1] > len(self.indices)): raise ValueError, \ "Last value of index pointer should be less than "\ "the size of index and data arrays" self.prune() if full_check: #check format validity (more expensive) if self.nnz > 0: if self.indices.max() >= minor_dim: raise ValueError, "%s index values must be < %d" % \ (minor_name,minor_dim) if self.indices.min() < 0: raise ValueError, "%s index values must be >= 0" % \ minor_name if np.diff(self.indptr).min() < 0: raise ValueError,'index pointer values must form a " \ "non-decreasing sequence' #if not self.has_sorted_indices(): # warn('Indices were not in sorted order. Sorting indices.') # self.sort_indices() # assert(self.has_sorted_indices()) #TODO check for duplicates? def __add__(self,other): # First check if argument is a scalar if isscalarlike(other): # Now we would add this scalar to every element. raise NotImplementedError, 'adding a scalar to a CSC or CSR ' \ 'matrix is not supported' elif isspmatrix(other): if (other.shape != self.shape): raise ValueError, "inconsistent shapes" return self._binopt(other,'_plus_') elif isdense(other): # Convert this matrix to a dense matrix and add them return self.todense() + other else: raise NotImplementedError def __radd__(self,other): return self.__add__(other) def __sub__(self,other): # First check if argument is a scalar if isscalarlike(other): # Now we would add this scalar to every element. raise NotImplementedError, 'adding a scalar to a sparse ' \ 'matrix is not supported' elif isspmatrix(other): if (other.shape != self.shape): raise ValueError, "inconsistent shapes" return self._binopt(other,'_minus_') elif isdense(other): # Convert this matrix to a dense matrix and subtract them return self.todense() - other else: raise NotImplementedError def __rsub__(self,other): # other - self #note: this can't be replaced by other + (-self) for unsigned types if isscalarlike(other): # Now we would add this scalar to every element. raise NotImplementedError, 'adding a scalar to a sparse ' \ 'matrix is not supported' elif isdense(other): # Convert this matrix to a dense matrix and subtract them return other - self.todense() else: raise NotImplementedError def __truediv__(self,other): if isscalarlike(other): return self * (1./other) elif isspmatrix(other): if other.shape != self.shape: raise ValueError('inconsistent shapes') return self._binopt(other,'_eldiv_') else: raise NotImplementedError def multiply(self, other): """Point-wise multiplication by another matrix """ if other.shape != self.shape: raise ValueError('inconsistent shapes') if isdense(other): return np.multiply(self.todense(),other) else: other = self.__class__(other) return self._binopt(other,'_elmul_') ########################### # Multiplication handlers # ########################### def _mul_vector(self, other): M,N = self.shape #output array result = np.zeros( self.shape[0], dtype=upcast(self.dtype,other.dtype) ) # csr_matvec or csc_matvec fn = getattr(sparsetools,self.format + '_matvec') fn(M, N, self.indptr, self.indices, self.data, other, result) return result def _mul_multivector(self, other): M,N = self.shape n_vecs = other.shape[1] #number of column vectors result = np.zeros( (M,n_vecs), dtype=upcast(self.dtype,other.dtype) ) # csr_matvecs or csc_matvecs fn = getattr(sparsetools,self.format + '_matvecs') fn(M, N, n_vecs, self.indptr, self.indices, self.data, other.ravel(), result.ravel()) return result def _mul_sparse_matrix(self, other): M, K1 = self.shape K2, N = other.shape major_axis = self._swap((M,N))[0] indptr = np.empty(major_axis + 1, dtype=np.intc) other = self.__class__(other) #convert to this format fn = getattr(sparsetools, self.format + '_matmat_pass1') fn( M, N, self.indptr, self.indices, \ other.indptr, other.indices, \ indptr) nnz = indptr[-1] indices = np.empty(nnz, dtype=np.intc) data = np.empty(nnz, dtype=upcast(self.dtype,other.dtype)) fn = getattr(sparsetools, self.format + '_matmat_pass2') fn( M, N, self.indptr, self.indices, self.data, \ other.indptr, other.indices, other.data, \ indptr, indices, data) return self.__class__((data,indices,indptr),shape=(M,N)) @np.deprecate def getdata(self, ind): return self.data[ind] def diagonal(self): """Returns the main diagonal of the matrix """ #TODO support k-th diagonal fn = getattr(sparsetools, self.format + "_diagonal") y = np.empty( min(self.shape), dtype=upcast(self.dtype) ) fn(self.shape[0], self.shape[1], self.indptr, self.indices, self.data, y) return y def sum(self, axis=None): """Sum the matrix over the given axis. If the axis is None, sum over both rows and columns, returning a scalar. """ # The spmatrix base class already does axis=0 and axis=1 efficiently # so we only do the case axis=None here if axis is None: return self.data.sum() else: return spmatrix.sum(self,axis) raise ValueError, "axis out of bounds" ####################### # Getting and Setting # ####################### def __getitem__(self, key): if isinstance(key, tuple): row = key[0] col = key[1] #TODO implement CSR[ [1,2,3], X ] with sparse matmat #TODO make use of sorted indices if isintlike(row) and isintlike(col): return self._get_single_element(row,col) else: major,minor = self._swap((row,col)) if isintlike(major) and isinstance(minor,slice): minor_shape = self._swap(self.shape)[1] start, stop, stride = minor.indices(minor_shape) out_shape = self._swap( (1, stop-start) ) return self._get_slice( major, start, stop, stride, out_shape) elif isinstance( row, slice) or isinstance(col, slice): return self._get_submatrix( row, col ) else: raise NotImplementedError elif isintlike(key): return self[key, :] else: raise IndexError, "invalid index" def _get_single_element(self,row,col): M, N = self.shape if (row < 0): row += M if (col < 0): col += N if not (0<=row= 1" #TODO make [i,:] faster #TODO implement [i,x:y:z] indices = [] for ind in xrange(self.indptr[i], self.indptr[i+1]): if self.indices[ind] >= start and self.indices[ind] < stop: indices.append(ind) index = self.indices[indices] - start data = self.data[indices] indptr = np.array([0, len(indices)]) return self.__class__((data, index, indptr), shape=shape, \ dtype=self.dtype) def _get_submatrix( self, slice0, slice1 ): """Return a submatrix of this matrix (new matrix is created).""" slice0, slice1 = self._swap((slice0,slice1)) shape0, shape1 = self._swap(self.shape) def _process_slice( sl, num ): if isinstance( sl, slice ): i0, i1 = sl.start, sl.stop if i0 is None: i0 = 0 elif i0 < 0: i0 = num + i0 if i1 is None: i1 = num elif i1 < 0: i1 = num + i1 return i0, i1 elif np.isscalar( sl ): if sl < 0: sl += num return sl, sl + 1 else: return sl[0], sl[1] def _in_bounds( i0, i1, num ): if not (0<=i0 0 the k-th upper diagonal - k < 0 the k-th lower diagonal m, n : int shape of the result format : format of the result (e.g. "csr") By default (format=None) an appropriate sparse matrix format is returned. This choice is subject to change. See Also -------- dia_matrix : the sparse DIAgonal format. Examples -------- >>> data = array([[1,2,3,4],[1,2,3,4],[1,2,3,4]]) >>> diags = array([0,-1,2]) >>> spdiags(data, diags, 4, 4).todense() matrix([[1, 0, 3, 0], [1, 2, 0, 4], [0, 2, 3, 0], [0, 0, 3, 4]]) """ return dia_matrix((data, diags), shape=(m,n)).asformat(format) def identity(n, dtype='d', format=None): """Identity matrix in sparse format Returns an identity matrix with shape (n,n) using a given sparse format and dtype. Parameters ---------- n : integer Shape of the identity matrix. dtype : Data type of the matrix format : string Sparse format of the result, e.g. format="csr", etc. Examples -------- >>> identity(3).todense() matrix([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]]) >>> identity(3, dtype='int8', format='dia') <3x3 sparse matrix of type '' with 3 stored elements (1 diagonals) in DIAgonal format> """ if format in ['csr','csc']: indptr = np.arange(n+1, dtype=np.intc) indices = np.arange(n, dtype=np.intc) data = np.ones(n, dtype=dtype) cls = eval('%s_matrix' % format) return cls((data,indices,indptr),(n,n)) elif format == 'coo': row = np.arange(n, dtype=np.intc) col = np.arange(n, dtype=np.intc) data = np.ones(n, dtype=dtype) return coo_matrix((data,(row,col)),(n,n)) elif format == 'dia': data = np.ones(n, dtype=dtype) diags = [0] return dia_matrix((data,diags), shape=(n,n)) else: return identity(n, dtype=dtype, format='csr').asformat(format) def eye(m, n, k=0, dtype='d', format=None): """eye(m, n) returns a sparse (m x n) matrix where the k-th diagonal is all ones and everything else is zeros. """ m,n = int(m),int(n) diags = np.ones((1, max(0, min(m + k, n))), dtype=dtype) return spdiags(diags, k, m, n).asformat(format) def kron(A, B, format=None): """kronecker product of sparse matrices A and B Parameters ---------- A : sparse or dense matrix first matrix of the product B : sparse or dense matrix second matrix of the product format : string format of the result (e.g. "csr") Returns ------- kronecker product in a sparse matrix format Examples -------- >>> A = csr_matrix(array([[0,2],[5,0]])) >>> B = csr_matrix(array([[1,2],[3,4]])) >>> kron(A,B).todense() matrix([[ 0, 0, 2, 4], [ 0, 0, 6, 8], [ 5, 10, 0, 0], [15, 20, 0, 0]]) >>> kron(A,[[1,2],[3,4]]).todense() matrix([[ 0, 0, 2, 4], [ 0, 0, 6, 8], [ 5, 10, 0, 0], [15, 20, 0, 0]]) """ B = coo_matrix(B) if (format is None or format == "bsr") and 2*B.nnz >= B.shape[0] * B.shape[1]: #B is fairly dense, use BSR A = csr_matrix(A,copy=True) output_shape = (A.shape[0]*B.shape[0], A.shape[1]*B.shape[1]) if A.nnz == 0 or B.nnz == 0: # kronecker product is the zero matrix return coo_matrix( output_shape ) B = B.toarray() data = A.data.repeat(B.size).reshape(-1,B.shape[0],B.shape[1]) data = data * B return bsr_matrix((data,A.indices,A.indptr), shape=output_shape) else: #use COO A = coo_matrix(A) output_shape = (A.shape[0]*B.shape[0], A.shape[1]*B.shape[1]) if A.nnz == 0 or B.nnz == 0: # kronecker product is the zero matrix return coo_matrix( output_shape ) # expand entries of a into blocks row = A.row.repeat(B.nnz) col = A.col.repeat(B.nnz) data = A.data.repeat(B.nnz) row *= B.shape[0] col *= B.shape[1] # increment block indices row,col = row.reshape(-1,B.nnz),col.reshape(-1,B.nnz) row += B.row col += B.col row,col = row.reshape(-1),col.reshape(-1) # compute block entries data = data.reshape(-1,B.nnz) * B.data data = data.reshape(-1) return coo_matrix((data,(row,col)), shape=output_shape).asformat(format) def kronsum(A, B, format=None): """kronecker sum of sparse matrices A and B Kronecker sum of two sparse matrices is a sum of two Kronecker products kron(I_n,A) + kron(B,I_m) where A has shape (m,m) and B has shape (n,n) and I_m and I_n are identity matrices of shape (m,m) and (n,n) respectively. Parameters ---------- A square matrix B square matrix format : string format of the result (e.g. "csr") Returns ------- kronecker sum in a sparse matrix format Examples -------- """ A = coo_matrix(A) B = coo_matrix(B) if A.shape[0] != A.shape[1]: raise ValueError('A is not square') if B.shape[0] != B.shape[1]: raise ValueError('B is not square') dtype = upcast(A.dtype, B.dtype) L = kron(identity(B.shape[0],dtype=dtype), A, format=format) R = kron(B, identity(A.shape[0],dtype=dtype), format=format) return (L+R).asformat(format) #since L + R is not always same format def hstack(blocks, format=None, dtype=None): """ Stack sparse matrices horizontally (column wise) Parameters ---------- blocks sequence of sparse matrices with compatible shapes format : string sparse format of the result (e.g. "csr") by default an appropriate sparse matrix format is returned. This choice is subject to change. See Also -------- vstack : stack sparse matrices vertically (row wise) Examples -------- >>> from scipy.sparse import coo_matrix, vstack >>> A = coo_matrix([[1,2],[3,4]]) >>> B = coo_matrix([[5],[6]]) >>> hstack( [A,B] ).todense() matrix([[1, 2, 5], [3, 4, 6]]) """ return bmat([blocks], format=format, dtype=dtype) def vstack(blocks, format=None, dtype=None): """ Stack sparse matrices vertically (row wise) Parameters ---------- blocks sequence of sparse matrices with compatible shapes format : string sparse format of the result (e.g. "csr") by default an appropriate sparse matrix format is returned. This choice is subject to change. See Also -------- hstack : stack sparse matrices horizontally (column wise) Examples -------- >>> from scipy.sparse import coo_matrix, vstack >>> A = coo_matrix([[1,2],[3,4]]) >>> B = coo_matrix([[5,6]]) >>> vstack( [A,B] ).todense() matrix([[1, 2], [3, 4], [5, 6]]) """ return bmat([ [b] for b in blocks ], format=format, dtype=dtype) def bmat(blocks, format=None, dtype=None): """ Build a sparse matrix from sparse sub-blocks Parameters ---------- blocks grid of sparse matrices with compatible shapes an entry of None implies an all-zero matrix format : sparse format of the result (e.g. "csr") by default an appropriate sparse matrix format is returned. This choice is subject to change. Examples -------- >>> from scipy.sparse import coo_matrix, bmat >>> A = coo_matrix([[1,2],[3,4]]) >>> B = coo_matrix([[5],[6]]) >>> C = coo_matrix([[7]]) >>> bmat( [[A,B],[None,C]] ).todense() matrix([[1, 2, 5], [3, 4, 6], [0, 0, 7]]) >>> bmat( [[A,None],[None,C]] ).todense() matrix([[1, 2, 0], [3, 4, 0], [0, 0, 7]]) """ blocks = np.asarray(blocks, dtype='object') if np.rank(blocks) != 2: raise ValueError('blocks must have rank 2') M,N = blocks.shape block_mask = np.zeros(blocks.shape, dtype=np.bool) brow_lengths = np.zeros(blocks.shape[0], dtype=np.intc) bcol_lengths = np.zeros(blocks.shape[1], dtype=np.intc) # convert everything to COO format for i in range(M): for j in range(N): if blocks[i,j] is not None: A = coo_matrix(blocks[i,j]) blocks[i,j] = A block_mask[i,j] = True if brow_lengths[i] == 0: brow_lengths[i] = A.shape[0] else: if brow_lengths[i] != A.shape[0]: raise ValueError('blocks[%d,:] has incompatible row dimensions' % i) if bcol_lengths[j] == 0: bcol_lengths[j] = A.shape[1] else: if bcol_lengths[j] != A.shape[1]: raise ValueError('blocks[:,%d] has incompatible column dimensions' % j) # ensure that at least one value in each row and col is not None if brow_lengths.min() == 0: raise ValueError('blocks[%d,:] is all None' % brow_lengths.argmin() ) if bcol_lengths.min() == 0: raise ValueError('blocks[:,%d] is all None' % bcol_lengths.argmin() ) nnz = sum([ A.nnz for A in blocks[block_mask] ]) if dtype is None: dtype = upcast( *tuple([A.dtype for A in blocks[block_mask]]) ) row_offsets = np.concatenate(([0], np.cumsum(brow_lengths))) col_offsets = np.concatenate(([0], np.cumsum(bcol_lengths))) data = np.empty(nnz, dtype=dtype) row = np.empty(nnz, dtype=np.intc) col = np.empty(nnz, dtype=np.intc) nnz = 0 for i in range(M): for j in range(N): if blocks[i,j] is not None: A = blocks[i,j] data[nnz:nnz + A.nnz] = A.data row[nnz:nnz + A.nnz] = A.row col[nnz:nnz + A.nnz] = A.col row[nnz:nnz + A.nnz] += row_offsets[i] col[nnz:nnz + A.nnz] += col_offsets[j] nnz += A.nnz shape = (np.sum(brow_lengths), np.sum(bcol_lengths)) return coo_matrix((data, (row, col)), shape=shape).asformat(format) def rand(m, n, density=0.01, format="coo", dtype=None): """Generate a sparse matrix of the given shape and density with uniformely distributed values. Parameters ---------- m, n: int shape of the matrix density: real density of the generated matrix: density equal to one means a full matrix, density of 0 means a matrix with no non-zero items. format: str sparse matrix format. dtype: dtype type of the returned matrix values. Notes ----- Only float types are supported for now. """ if density < 0 or density > 1: raise ValueError("density expected to be 0 <= density <= 1") if dtype and not dtype in [np.float32, np.float64, np.longdouble]: raise NotImplementedError("type %s not supported" % dtype) mn = m * n # XXX: sparse uses intc instead of intp... tp = np.intp if mn > np.iinfo(tp).max: msg = """\ Trying to generate a random sparse matrix such as the product of dimensions is greater than %d - this is not supported on this machine """ raise ValueError(msg % np.iinfo(tp).max) # Number of non zero values k = long(density * m * n) # Generate a few more values than k so that we can get unique values # afterwards. # XXX: one could be smarter here mlow = 5 fac = 1.02 gk = min(k + mlow, fac * k) def _gen_unique_rand(_gk): id = np.random.rand(_gk) return np.unique(np.floor(id * mn))[:k] id = _gen_unique_rand(gk) while id.size < k: gk *= 1.05 id = _gen_unique_rand(gk) j = np.floor(id * 1. / m).astype(tp) i = (id - j * m).astype(tp) vals = np.random.rand(k).astype(dtype) return coo_matrix((vals, (i, j)), shape=(m, n)).asformat(format) ################################# # Deprecated functions ################################ __all__ += [ 'speye','spidentity', 'spkron', 'lil_eye', 'lil_diags' ] spkron = np.deprecate(kron, old_name='spkron', new_name='scipy.sparse.kron') speye = np.deprecate(eye, old_name='speye', new_name='scipy.sparse.eye') spidentity = np.deprecate(identity, old_name='spidentity', new_name='scipy.sparse.identity') def lil_eye((r,c), k=0, dtype='d'): """Generate a lil_matrix of dimensions (r,c) with the k-th diagonal set to 1. Parameters ---------- r,c : int row and column-dimensions of the output. k : int - diagonal offset. In the output matrix, - out[m,m+k] == 1 for all m. dtype : dtype data-type of the output array. """ warn("lil_eye is deprecated." \ "use scipy.sparse.eye(r, c, k, format='lil') instead", \ DeprecationWarning) return eye(r, c, k, dtype=dtype, format='lil') #TODO remove this function def lil_diags(diags, offsets, (m,n), dtype='d'): """ Generate a lil_matrix with the given diagonals. Parameters ---------- diags : list of list of values e.g. [[1,2,3],[4,5]] values to be placed on each indicated diagonal. offsets : list of ints diagonal offsets. This indicates the diagonal on which the given values should be placed. (r,c) : tuple of ints row and column dimensions of the output. dtype : dtype output data-type. Examples -------- >>> lil_diags([[1,2,3],[4,5],[6]],[0,1,2],(3,3)).todense() matrix([[ 1., 4., 6.], [ 0., 2., 5.], [ 0., 0., 3.]]) """ offsets_unsorted = list(offsets) diags_unsorted = list(diags) if len(diags) != len(offsets): raise ValueError("Number of diagonals provided should " "agree with offsets.") sort_indices = np.argsort(offsets_unsorted) diags = [diags_unsorted[k] for k in sort_indices] offsets = [offsets_unsorted[k] for k in sort_indices] for i,k in enumerate(offsets): if len(diags[i]) < m-abs(k): raise ValueError("Not enough values specified to fill " "diagonal %s." % k) out = lil_matrix((m,n),dtype=dtype) from itertools import izip for k,diag in izip(offsets,diags): for ix,c in enumerate(xrange(np.clip(k,0,n),np.clip(m+k,0,n))): out.rows[c-k].append(c) out.data[c-k].append(diag[ix]) return out cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/scipy/sparse/csr.py000066400000000000000000000777741263606473700252510ustar00rootroot00000000000000# This file was automatically generated by SWIG (http://www.swig.org). # Version 1.3.36 # # Don't modify this file, modify the SWIG interface instead. # This file is compatible with both classic and new-style classes. import _csr import new new_instancemethod = new.instancemethod try: _swig_property = property except NameError: pass # Python < 2.2 doesn't have 'property'. def _swig_setattr_nondynamic(self,class_type,name,value,static=1): if (name == "thisown"): return self.this.own(value) if (name == "this"): if type(value).__name__ == 'PySwigObject': self.__dict__[name] = value return method = class_type.__swig_setmethods__.get(name,None) if method: return method(self,value) if (not static) or hasattr(self,name): self.__dict__[name] = value else: raise AttributeError("You cannot add attributes to %s" % self) def _swig_setattr(self,class_type,name,value): return _swig_setattr_nondynamic(self,class_type,name,value,0) def _swig_getattr(self,class_type,name): if (name == "thisown"): return self.this.own() method = class_type.__swig_getmethods__.get(name,None) if method: return method(self) raise AttributeError,name def _swig_repr(self): try: strthis = "proxy of " + self.this.__repr__() except: strthis = "" return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,) import types try: _object = types.ObjectType _newclass = 1 except AttributeError: class _object : pass _newclass = 0 del types def expandptr(*args): """expandptr(int n_row, int Ap, int Bi)""" return _csr.expandptr(*args) def csr_matmat_pass1(*args): """ csr_matmat_pass1(int n_row, int n_col, int Ap, int Aj, int Bp, int Bj, int Cp) """ return _csr.csr_matmat_pass1(*args) def csr_count_blocks(*args): """csr_count_blocks(int n_row, int n_col, int R, int C, int Ap, int Aj) -> int""" return _csr.csr_count_blocks(*args) def csr_has_sorted_indices(*args): """csr_has_sorted_indices(int n_row, int Ap, int Aj) -> bool""" return _csr.csr_has_sorted_indices(*args) def csr_diagonal(*args): """ csr_diagonal(int n_row, int n_col, int Ap, int Aj, signed char Ax, signed char Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, unsigned char Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, short Ax, short Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, unsigned short Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, int Ax, int Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, unsigned int Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, long long Ax, long long Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, unsigned long long Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, float Ax, float Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, double Ax, double Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, long double Ax, long double Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, npy_cfloat_wrapper Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, npy_cdouble_wrapper Yx) csr_diagonal(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, npy_clongdouble_wrapper Yx) """ return _csr.csr_diagonal(*args) def csr_scale_rows(*args): """ csr_scale_rows(int n_row, int n_col, int Ap, int Aj, signed char Ax, signed char Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, unsigned char Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, short Ax, short Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, unsigned short Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, int Ax, int Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, unsigned int Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, long long Ax, long long Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, unsigned long long Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, float Ax, float Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, double Ax, double Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, long double Ax, long double Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, npy_cfloat_wrapper Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, npy_cdouble_wrapper Xx) csr_scale_rows(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, npy_clongdouble_wrapper Xx) """ return _csr.csr_scale_rows(*args) def csr_scale_columns(*args): """ csr_scale_columns(int n_row, int n_col, int Ap, int Aj, signed char Ax, signed char Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, unsigned char Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, short Ax, short Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, unsigned short Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, int Ax, int Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, unsigned int Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, long long Ax, long long Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, unsigned long long Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, float Ax, float Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, double Ax, double Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, long double Ax, long double Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, npy_cfloat_wrapper Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, npy_cdouble_wrapper Xx) csr_scale_columns(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, npy_clongdouble_wrapper Xx) """ return _csr.csr_scale_columns(*args) def csr_tocsc(*args): """ csr_tocsc(int n_row, int n_col, int Ap, int Aj, signed char Ax, int Bp, int Bi, signed char Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, int Bp, int Bi, unsigned char Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, short Ax, int Bp, int Bi, short Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, int Bp, int Bi, unsigned short Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, int Ax, int Bp, int Bi, int Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, int Bp, int Bi, unsigned int Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, long long Ax, int Bp, int Bi, long long Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, int Bp, int Bi, unsigned long long Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, float Ax, int Bp, int Bi, float Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, double Ax, int Bp, int Bi, double Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, long double Ax, int Bp, int Bi, long double Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, int Bp, int Bi, npy_cfloat_wrapper Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, int Bp, int Bi, npy_cdouble_wrapper Bx) csr_tocsc(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, int Bp, int Bi, npy_clongdouble_wrapper Bx) """ return _csr.csr_tocsc(*args) def csr_tobsr(*args): """ csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, signed char Ax, int Bp, int Bj, signed char Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, unsigned char Ax, int Bp, int Bj, unsigned char Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, short Ax, int Bp, int Bj, short Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, unsigned short Ax, int Bp, int Bj, unsigned short Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, int Ax, int Bp, int Bj, int Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, unsigned int Ax, int Bp, int Bj, unsigned int Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, long long Ax, int Bp, int Bj, long long Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, unsigned long long Ax, int Bp, int Bj, unsigned long long Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, float Ax, int Bp, int Bj, float Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, double Ax, int Bp, int Bj, double Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, long double Ax, int Bp, int Bj, long double Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, npy_cfloat_wrapper Ax, int Bp, int Bj, npy_cfloat_wrapper Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, npy_cdouble_wrapper Ax, int Bp, int Bj, npy_cdouble_wrapper Bx) csr_tobsr(int n_row, int n_col, int R, int C, int Ap, int Aj, npy_clongdouble_wrapper Ax, int Bp, int Bj, npy_clongdouble_wrapper Bx) """ return _csr.csr_tobsr(*args) def csr_matmat_pass2(*args): """ csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, signed char Ax, int Bp, int Bj, signed char Bx, int Cp, int Cj, signed char Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, int Bp, int Bj, unsigned char Bx, int Cp, int Cj, unsigned char Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, short Ax, int Bp, int Bj, short Bx, int Cp, int Cj, short Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, int Bp, int Bj, unsigned short Bx, int Cp, int Cj, unsigned short Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, int Ax, int Bp, int Bj, int Bx, int Cp, int Cj, int Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, int Bp, int Bj, unsigned int Bx, int Cp, int Cj, unsigned int Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, long long Ax, int Bp, int Bj, long long Bx, int Cp, int Cj, long long Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, int Bp, int Bj, unsigned long long Bx, int Cp, int Cj, unsigned long long Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, float Ax, int Bp, int Bj, float Bx, int Cp, int Cj, float Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, double Ax, int Bp, int Bj, double Bx, int Cp, int Cj, double Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, long double Ax, int Bp, int Bj, long double Bx, int Cp, int Cj, long double Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, int Bp, int Bj, npy_cfloat_wrapper Bx, int Cp, int Cj, npy_cfloat_wrapper Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, int Bp, int Bj, npy_cdouble_wrapper Bx, int Cp, int Cj, npy_cdouble_wrapper Cx) csr_matmat_pass2(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, int Bp, int Bj, npy_clongdouble_wrapper Bx, int Cp, int Cj, npy_clongdouble_wrapper Cx) """ return _csr.csr_matmat_pass2(*args) def csr_matvec(*args): """ csr_matvec(int n_row, int n_col, int Ap, int Aj, signed char Ax, signed char Xx, signed char Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, unsigned char Xx, unsigned char Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, short Ax, short Xx, short Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, unsigned short Xx, unsigned short Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, int Ax, int Xx, int Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, unsigned int Xx, unsigned int Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, long long Ax, long long Xx, long long Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, unsigned long long Xx, unsigned long long Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, float Ax, float Xx, float Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, double Ax, double Xx, double Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, long double Ax, long double Xx, long double Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, npy_cfloat_wrapper Xx, npy_cfloat_wrapper Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, npy_cdouble_wrapper Xx, npy_cdouble_wrapper Yx) csr_matvec(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, npy_clongdouble_wrapper Xx, npy_clongdouble_wrapper Yx) """ return _csr.csr_matvec(*args) def csr_matvecs(*args): """ csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, signed char Ax, signed char Xx, signed char Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, unsigned char Ax, unsigned char Xx, unsigned char Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, short Ax, short Xx, short Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, unsigned short Ax, unsigned short Xx, unsigned short Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, int Ax, int Xx, int Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, unsigned int Ax, unsigned int Xx, unsigned int Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, long long Ax, long long Xx, long long Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, unsigned long long Ax, unsigned long long Xx, unsigned long long Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, float Ax, float Xx, float Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, double Ax, double Xx, double Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, long double Ax, long double Xx, long double Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, npy_cfloat_wrapper Ax, npy_cfloat_wrapper Xx, npy_cfloat_wrapper Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, npy_cdouble_wrapper Ax, npy_cdouble_wrapper Xx, npy_cdouble_wrapper Yx) csr_matvecs(int n_row, int n_col, int n_vecs, int Ap, int Aj, npy_clongdouble_wrapper Ax, npy_clongdouble_wrapper Xx, npy_clongdouble_wrapper Yx) """ return _csr.csr_matvecs(*args) def csr_elmul_csr(*args): """ csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, signed char Ax, int Bp, int Bj, signed char Bx, int Cp, int Cj, signed char Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, int Bp, int Bj, unsigned char Bx, int Cp, int Cj, unsigned char Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, short Ax, int Bp, int Bj, short Bx, int Cp, int Cj, short Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, int Bp, int Bj, unsigned short Bx, int Cp, int Cj, unsigned short Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, int Ax, int Bp, int Bj, int Bx, int Cp, int Cj, int Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, int Bp, int Bj, unsigned int Bx, int Cp, int Cj, unsigned int Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, long long Ax, int Bp, int Bj, long long Bx, int Cp, int Cj, long long Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, int Bp, int Bj, unsigned long long Bx, int Cp, int Cj, unsigned long long Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, float Ax, int Bp, int Bj, float Bx, int Cp, int Cj, float Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, double Ax, int Bp, int Bj, double Bx, int Cp, int Cj, double Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, long double Ax, int Bp, int Bj, long double Bx, int Cp, int Cj, long double Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, int Bp, int Bj, npy_cfloat_wrapper Bx, int Cp, int Cj, npy_cfloat_wrapper Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, int Bp, int Bj, npy_cdouble_wrapper Bx, int Cp, int Cj, npy_cdouble_wrapper Cx) csr_elmul_csr(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, int Bp, int Bj, npy_clongdouble_wrapper Bx, int Cp, int Cj, npy_clongdouble_wrapper Cx) """ return _csr.csr_elmul_csr(*args) def csr_eldiv_csr(*args): """ csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, signed char Ax, int Bp, int Bj, signed char Bx, int Cp, int Cj, signed char Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, int Bp, int Bj, unsigned char Bx, int Cp, int Cj, unsigned char Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, short Ax, int Bp, int Bj, short Bx, int Cp, int Cj, short Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, int Bp, int Bj, unsigned short Bx, int Cp, int Cj, unsigned short Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, int Ax, int Bp, int Bj, int Bx, int Cp, int Cj, int Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, int Bp, int Bj, unsigned int Bx, int Cp, int Cj, unsigned int Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, long long Ax, int Bp, int Bj, long long Bx, int Cp, int Cj, long long Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, int Bp, int Bj, unsigned long long Bx, int Cp, int Cj, unsigned long long Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, float Ax, int Bp, int Bj, float Bx, int Cp, int Cj, float Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, double Ax, int Bp, int Bj, double Bx, int Cp, int Cj, double Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, long double Ax, int Bp, int Bj, long double Bx, int Cp, int Cj, long double Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, int Bp, int Bj, npy_cfloat_wrapper Bx, int Cp, int Cj, npy_cfloat_wrapper Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, int Bp, int Bj, npy_cdouble_wrapper Bx, int Cp, int Cj, npy_cdouble_wrapper Cx) csr_eldiv_csr(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, int Bp, int Bj, npy_clongdouble_wrapper Bx, int Cp, int Cj, npy_clongdouble_wrapper Cx) """ return _csr.csr_eldiv_csr(*args) def csr_plus_csr(*args): """ csr_plus_csr(int n_row, int n_col, int Ap, int Aj, signed char Ax, int Bp, int Bj, signed char Bx, int Cp, int Cj, signed char Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, int Bp, int Bj, unsigned char Bx, int Cp, int Cj, unsigned char Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, short Ax, int Bp, int Bj, short Bx, int Cp, int Cj, short Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, int Bp, int Bj, unsigned short Bx, int Cp, int Cj, unsigned short Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, int Ax, int Bp, int Bj, int Bx, int Cp, int Cj, int Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, int Bp, int Bj, unsigned int Bx, int Cp, int Cj, unsigned int Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, long long Ax, int Bp, int Bj, long long Bx, int Cp, int Cj, long long Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, int Bp, int Bj, unsigned long long Bx, int Cp, int Cj, unsigned long long Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, float Ax, int Bp, int Bj, float Bx, int Cp, int Cj, float Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, double Ax, int Bp, int Bj, double Bx, int Cp, int Cj, double Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, long double Ax, int Bp, int Bj, long double Bx, int Cp, int Cj, long double Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, int Bp, int Bj, npy_cfloat_wrapper Bx, int Cp, int Cj, npy_cfloat_wrapper Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, int Bp, int Bj, npy_cdouble_wrapper Bx, int Cp, int Cj, npy_cdouble_wrapper Cx) csr_plus_csr(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, int Bp, int Bj, npy_clongdouble_wrapper Bx, int Cp, int Cj, npy_clongdouble_wrapper Cx) """ return _csr.csr_plus_csr(*args) def csr_minus_csr(*args): """ csr_minus_csr(int n_row, int n_col, int Ap, int Aj, signed char Ax, int Bp, int Bj, signed char Bx, int Cp, int Cj, signed char Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, int Bp, int Bj, unsigned char Bx, int Cp, int Cj, unsigned char Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, short Ax, int Bp, int Bj, short Bx, int Cp, int Cj, short Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, int Bp, int Bj, unsigned short Bx, int Cp, int Cj, unsigned short Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, int Ax, int Bp, int Bj, int Bx, int Cp, int Cj, int Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, int Bp, int Bj, unsigned int Bx, int Cp, int Cj, unsigned int Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, long long Ax, int Bp, int Bj, long long Bx, int Cp, int Cj, long long Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, int Bp, int Bj, unsigned long long Bx, int Cp, int Cj, unsigned long long Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, float Ax, int Bp, int Bj, float Bx, int Cp, int Cj, float Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, double Ax, int Bp, int Bj, double Bx, int Cp, int Cj, double Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, long double Ax, int Bp, int Bj, long double Bx, int Cp, int Cj, long double Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, int Bp, int Bj, npy_cfloat_wrapper Bx, int Cp, int Cj, npy_cfloat_wrapper Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, int Bp, int Bj, npy_cdouble_wrapper Bx, int Cp, int Cj, npy_cdouble_wrapper Cx) csr_minus_csr(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, int Bp, int Bj, npy_clongdouble_wrapper Bx, int Cp, int Cj, npy_clongdouble_wrapper Cx) """ return _csr.csr_minus_csr(*args) def csr_sort_indices(*args): """ csr_sort_indices(int n_row, int Ap, int Aj, signed char Ax) csr_sort_indices(int n_row, int Ap, int Aj, unsigned char Ax) csr_sort_indices(int n_row, int Ap, int Aj, short Ax) csr_sort_indices(int n_row, int Ap, int Aj, unsigned short Ax) csr_sort_indices(int n_row, int Ap, int Aj, int Ax) csr_sort_indices(int n_row, int Ap, int Aj, unsigned int Ax) csr_sort_indices(int n_row, int Ap, int Aj, long long Ax) csr_sort_indices(int n_row, int Ap, int Aj, unsigned long long Ax) csr_sort_indices(int n_row, int Ap, int Aj, float Ax) csr_sort_indices(int n_row, int Ap, int Aj, double Ax) csr_sort_indices(int n_row, int Ap, int Aj, long double Ax) csr_sort_indices(int n_row, int Ap, int Aj, npy_cfloat_wrapper Ax) csr_sort_indices(int n_row, int Ap, int Aj, npy_cdouble_wrapper Ax) csr_sort_indices(int n_row, int Ap, int Aj, npy_clongdouble_wrapper Ax) """ return _csr.csr_sort_indices(*args) def csr_eliminate_zeros(*args): """ csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, signed char Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, unsigned char Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, short Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, unsigned short Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, int Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, unsigned int Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, long long Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, float Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, double Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, long double Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax) csr_eliminate_zeros(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax) """ return _csr.csr_eliminate_zeros(*args) def csr_sum_duplicates(*args): """ csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, signed char Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, unsigned char Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, short Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, unsigned short Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, int Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, unsigned int Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, long long Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, float Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, double Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, long double Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax) csr_sum_duplicates(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax) """ return _csr.csr_sum_duplicates(*args) def get_csr_submatrix(*args): """ get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, signed char Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(signed char)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(unsigned char)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, short Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(short)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(unsigned short)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, int Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(int)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(unsigned int)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, long long Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(long long)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(unsigned long long)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, float Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(float)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, double Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(double)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, long double Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(long double)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(npy_cfloat_wrapper)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(npy_cdouble_wrapper)> Bx) get_csr_submatrix(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, int ir0, int ir1, int ic0, int ic1, std::vector<(int)> Bp, std::vector<(int)> Bj, std::vector<(npy_clongdouble_wrapper)> Bx) """ return _csr.get_csr_submatrix(*args) def csr_sample_values(*args): """ csr_sample_values(int n_row, int n_col, int Ap, int Aj, signed char Ax, int n_samples, int Bi, int Bj, signed char Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, unsigned char Ax, int n_samples, int Bi, int Bj, unsigned char Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, short Ax, int n_samples, int Bi, int Bj, short Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, unsigned short Ax, int n_samples, int Bi, int Bj, unsigned short Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, int Ax, int n_samples, int Bi, int Bj, int Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, unsigned int Ax, int n_samples, int Bi, int Bj, unsigned int Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, long long Ax, int n_samples, int Bi, int Bj, long long Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, unsigned long long Ax, int n_samples, int Bi, int Bj, unsigned long long Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, float Ax, int n_samples, int Bi, int Bj, float Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, double Ax, int n_samples, int Bi, int Bj, double Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, long double Ax, int n_samples, int Bi, int Bj, long double Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, npy_cfloat_wrapper Ax, int n_samples, int Bi, int Bj, npy_cfloat_wrapper Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, npy_cdouble_wrapper Ax, int n_samples, int Bi, int Bj, npy_cdouble_wrapper Bx) csr_sample_values(int n_row, int n_col, int Ap, int Aj, npy_clongdouble_wrapper Ax, int n_samples, int Bi, int Bj, npy_clongdouble_wrapper Bx) """ return _csr.csr_sample_values(*args) cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/scipy/sparse/lil.py000066400000000000000000000351231263606473700252200ustar00rootroot00000000000000"""LInked List sparse matrix class """ __docformat__ = "restructuredtext en" __all__ = ['lil_matrix','isspmatrix_lil'] from bisect import bisect_left import numpy as np from base import spmatrix, isspmatrix from sputils import getdtype, isshape, issequence, isscalarlike class lil_matrix(spmatrix): """Row-based linked list sparse matrix This is an efficient structure for constructing sparse matrices incrementally. This can be instantiated in several ways: lil_matrix(D) with a dense matrix or rank-2 ndarray D lil_matrix(S) with another sparse matrix S (equivalent to S.tocsc()) lil_matrix((M, N), [dtype]) to construct an empty matrix with shape (M, N) dtype is optional, defaulting to dtype='d'. Notes ----- Advantages of the LIL format - supports flexible slicing - changes to the matrix sparsity structure are efficient Disadvantages of the LIL format - arithmetic operations LIL + LIL are slow (consider CSR or CSC) - slow column slicing (consider CSC) - slow matrix vector products (consider CSR or CSC) Intended Usage - LIL is a convenient format for constructing sparse matrices - once a matrix has been constructed, convert to CSR or CSC format for fast arithmetic and matrix vector operations - consider using the COO format when constructing large matrices Data Structure - An array (``self.rows``) of rows, each of which is a sorted list of column indices of non-zero elements. - The corresponding nonzero values are stored in similar fashion in ``self.data``. """ def __init__(self, arg1, shape=None, dtype=None, copy=False): spmatrix.__init__(self) self.dtype = getdtype(dtype, arg1, default=float) # First get the shape if isspmatrix(arg1): if isspmatrix_lil(arg1) and copy: A = arg1.copy() else: A = arg1.tolil() if dtype is not None: A = A.astype(dtype) self.shape = A.shape self.dtype = A.dtype self.rows = A.rows self.data = A.data elif isinstance(arg1,tuple): if isshape(arg1): if shape is not None: raise ValueError('invalid use of shape parameter') M, N = arg1 self.shape = (M,N) self.rows = np.empty((M,), dtype=object) self.data = np.empty((M,), dtype=object) for i in range(M): self.rows[i] = [] self.data[i] = [] else: raise TypeError('unrecognized lil_matrix constructor usage') else: #assume A is dense try: A = np.asmatrix(arg1) except TypeError: raise TypeError('unsupported matrix type') else: from csr import csr_matrix A = csr_matrix(A, dtype=dtype).tolil() self.shape = A.shape self.dtype = A.dtype self.rows = A.rows self.data = A.data def __iadd__(self,other): self[:,:] = self + other return self def __isub__(self,other): self[:,:] = self - other return self def __imul__(self,other): if isscalarlike(other): self[:,:] = self * other return self else: raise NotImplementedError def __itruediv__(self,other): if isscalarlike(other): self[:,:] = self / other return self else: raise NotImplementedError # Whenever the dimensions change, empty lists should be created for each # row def getnnz(self): return sum([len(rowvals) for rowvals in self.data]) nnz = property(fget=getnnz) def __str__(self): val = '' for i, row in enumerate(self.rows): for pos, j in enumerate(row): val += " %s\t%s\n" % (str((i, j)), str(self.data[i][pos])) return val[:-1] def getrowview(self, i): """Returns a view of the 'i'th row (without copying). """ new = lil_matrix((1, self.shape[1]), dtype=self.dtype) new.rows[0] = self.rows[i] new.data[0] = self.data[i] return new def getrow(self, i): """Returns a copy of the 'i'th row. """ new = lil_matrix((1, self.shape[1]), dtype=self.dtype) new.rows[0] = self.rows[i][:] new.data[0] = self.data[i][:] return new def _get1(self, i, j): if i < 0: i += self.shape[0] if i < 0 or i >= self.shape[0]: raise IndexError('row index out of bounds') if j < 0: j += self.shape[1] if j < 0 or j >= self.shape[1]: raise IndexError('column index out of bounds') row = self.rows[i] data = self.data[i] pos = bisect_left(row, j) if pos != len(data) and row[pos] == j: return data[pos] else: return 0 def _slicetoseq(self, j, shape): if j.start is not None and j.start < 0: start = shape + j.start elif j.start is None: start = 0 else: start = j.start if j.stop is not None and j.stop < 0: stop = shape + j.stop elif j.stop is None: stop = shape else: stop = j.stop j = range(start, stop, j.step or 1) return j def __getitem__(self, index): """Return the element(s) index=(i, j), where j may be a slice. This always returns a copy for consistency, since slices into Python lists return copies. """ try: i, j = index except (AssertionError, TypeError): raise IndexError('invalid index') if np.isscalar(i): if np.isscalar(j): return self._get1(i, j) if isinstance(j, slice): j = self._slicetoseq(j, self.shape[1]) if issequence(j): return self.__class__([[self._get1(i, jj) for jj in j]]) elif issequence(i) and issequence(j): return self.__class__([[self._get1(ii, jj) for (ii, jj) in zip(i, j)]]) elif issequence(i) or isinstance(i, slice): if isinstance(i, slice): i = self._slicetoseq(i, self.shape[0]) if np.isscalar(j): return self.__class__([[self._get1(ii, j)] for ii in i]) if isinstance(j, slice): j = self._slicetoseq(j, self.shape[1]) if issequence(j): return self.__class__([[self._get1(ii, jj) for jj in j] for ii in i]) else: raise IndexError def _insertat2(self, row, data, j, x): """ helper for __setitem__: insert a value in the given row/data at column j. """ if j < 0: #handle negative column indices j += self.shape[1] if j < 0 or j >= self.shape[1]: raise IndexError('column index out of bounds') if not np.isscalar(x): raise ValueError('setting an array element with a sequence') try: x = self.dtype.type(x) except: raise TypeError('Unable to convert value (%s) to dtype [%s]' % (x,self.dtype.name)) pos = bisect_left(row, j) if x != 0: if pos == len(row): row.append(j) data.append(x) elif row[pos] != j: row.insert(pos, j) data.insert(pos, x) else: data[pos] = x else: if pos < len(row) and row[pos] == j: del row[pos] del data[pos] def _setitem_setrow(self, row, data, j, xrow, xdata, xcols): if isinstance(j, slice): j = self._slicetoseq(j, self.shape[1]) if issequence(j): if xcols == len(j): for jj, xi in zip(j, xrange(xcols)): pos = bisect_left(xrow, xi) if pos != len(xdata) and xrow[pos] == xi: self._insertat2(row, data, jj, xdata[pos]) else: self._insertat2(row, data, jj, 0) elif xcols == 1: # OK, broadcast across row if len(xdata) > 0 and xrow[0] == 0: val = xdata[0] else: val = 0 for jj in j: self._insertat2(row, data, jj,val) else: raise IndexError('invalid index') elif np.isscalar(j): if not xcols == 1: raise ValueError('array dimensions are not compatible for copy') if len(xdata) > 0 and xrow[0] == 0: self._insertat2(row, data, j, xdata[0]) else: self._insertat2(row, data, j, 0) else: raise ValueError('invalid column value: %s' % str(j)) def __setitem__(self, index, x): try: i, j = index except (ValueError, TypeError): raise IndexError('invalid index') # shortcut for common case of single entry assign: if np.isscalar(x) and np.isscalar(i) and np.isscalar(j): self._insertat2(self.rows[i], self.data[i], j, x) return # shortcut for common case of full matrix assign: if isspmatrix(x): if isinstance(i, slice) and i == slice(None) and \ isinstance(j, slice) and j == slice(None): x = lil_matrix(x) self.rows = x.rows self.data = x.data return if isinstance(i, tuple): # can't index lists with tuple i = list(i) if np.isscalar(i): rows = [self.rows[i]] datas = [self.data[i]] else: rows = self.rows[i] datas = self.data[i] x = lil_matrix(x, copy=False) xrows, xcols = x.shape if xrows == len(rows): # normal rectangular copy for row, data, xrow, xdata in zip(rows, datas, x.rows, x.data): self._setitem_setrow(row, data, j, xrow, xdata, xcols) elif xrows == 1: # OK, broadcast down column for row, data in zip(rows, datas): self._setitem_setrow(row, data, j, x.rows[0], x.data[0], xcols) # needed to pass 'test_lil_sequence_assignement' unit test: # -- set row from column of entries -- elif xcols == len(rows): x = x.T for row, data, xrow, xdata in zip(rows, datas, x.rows, x.data): self._setitem_setrow(row, data, j, xrow, xdata, xrows) else: raise IndexError('invalid index') def _mul_scalar(self, other): if other == 0: # Multiply by zero: return the zero matrix new = lil_matrix(self.shape, dtype=self.dtype) else: new = self.copy() # Multiply this scalar by every element. new.data = np.array([[val*other for val in rowvals] for rowvals in new.data], dtype=object) return new def __truediv__(self, other): # self / other if isscalarlike(other): new = self.copy() # Divide every element by this scalar new.data = np.array([[val/other for val in rowvals] for rowvals in new.data], dtype=object) return new else: return self.tocsr() / other ## This code doesn't work with complex matrices # def multiply(self, other): # """Point-wise multiplication by another lil_matrix. # # """ # if np.isscalar(other): # return self.__mul__(other) # # if isspmatrix_lil(other): # reference,target = self,other # # if reference.shape != target.shape: # raise ValueError("Dimensions do not match.") # # if len(reference.data) > len(target.data): # reference,target = target,reference # # new = lil_matrix(reference.shape) # for r,row in enumerate(reference.rows): # tr = target.rows[r] # td = target.data[r] # rd = reference.data[r] # L = len(tr) # for c,column in enumerate(row): # ix = bisect_left(tr,column) # if ix < L and tr[ix] == column: # new.rows[r].append(column) # new.data[r].append(rd[c] * td[ix]) # return new # else: # raise ValueError("Point-wise multiplication only allowed " # "with another lil_matrix.") def copy(self): from copy import deepcopy new = lil_matrix(self.shape, dtype=self.dtype) new.data = deepcopy(self.data) new.rows = deepcopy(self.rows) return new def reshape(self,shape): new = lil_matrix(shape, dtype=self.dtype) j_max = self.shape[1] for i,row in enumerate(self.rows): for col,j in enumerate(row): new_r,new_c = np.unravel_index(i*j_max + j,shape) new[new_r,new_c] = self[i,j] return new def toarray(self): d = np.zeros(self.shape, dtype=self.dtype) for i, row in enumerate(self.rows): for pos, j in enumerate(row): d[i, j] = self.data[i][pos] return d def transpose(self): return self.tocsr().transpose().tolil() def tolil(self, copy=False): if copy: return self.copy() else: return self def tocsr(self): """ Return Compressed Sparse Row format arrays for this matrix. """ indptr = np.asarray([len(x) for x in self.rows], dtype=np.intc) indptr = np.concatenate( (np.array([0], dtype=np.intc), np.cumsum(indptr)) ) nnz = indptr[-1] indices = [] for x in self.rows: indices.extend(x) indices = np.asarray(indices, dtype=np.intc) data = [] for x in self.data: data.extend(x) data = np.asarray(data, dtype=self.dtype) from csr import csr_matrix return csr_matrix((data, indices, indptr), shape=self.shape) def tocsc(self): """ Return Compressed Sparse Column format arrays for this matrix. """ return self.tocsr().tocsc() from sputils import _isinstance def isspmatrix_lil( x ): return _isinstance(x, lil_matrix) cobrapy-0.4.0b6/cobra/oven/danielhyduke/jython/scipy/sparse/sputils.py000066400000000000000000000072621263606473700261460ustar00rootroot00000000000000""" Utility functions for sparse matrix module """ __all__ = ['upcast','getdtype','isscalarlike','isintlike', 'isshape','issequence','isdense'] import numjy as np # keep this list syncronized with sparsetools #supported_dtypes = ['int8', 'uint8', 'int16', 'uint16', 'int32', 'uint32', # 'int64', 'uint64', 'float32', 'float64', # 'complex64', 'complex128'] supported_dtypes = ['int8','uint8','short','ushort','intc','uintc', 'longlong','ulonglong','single','double','longdouble', 'csingle','cdouble','clongdouble'] supported_dtypes = [ np.typeDict[x] for x in supported_dtypes] def upcast(*args): """Returns the nearest supported sparse dtype for the combination of one or more types. upcast(t0, t1, ..., tn) -> T where T is a supported dtype Examples -------- >>> upcast('int32') >>> upcast('bool') >>> upcast('int32','float32') >>> upcast('bool',complex,float) """ sample = np.array([0],dtype=args[0]) for t in args[1:]: sample = sample + np.array([0],dtype=t) upcast = sample.dtype for t in supported_dtypes: if np.can_cast(sample.dtype,t): return t raise TypeError,'no supported conversion for types: %s' % args def to_native(A): return np.asarray(A,dtype=A.dtype.newbyteorder('native')) def getdtype(dtype, a=None, default=None): """Function used to simplify argument processing. If 'dtype' is not specified (is None), returns a.dtype; otherwise returns a np.dtype object created from the specified dtype argument. If 'dtype' and 'a' are both None, construct a data type out of the 'default' parameter. Furthermore, 'dtype' must be in 'allowed' set. """ #TODO is this really what we want? canCast = True if dtype is None: try: newdtype = a.dtype except AttributeError: if default is not None: newdtype = np.dtype(default) canCast = False else: raise TypeError, "could not interpret data type" else: newdtype = np.dtype(dtype) return newdtype def isscalarlike(x): """Is x either a scalar, an array scalar, or a 0-dim array?""" return np.isscalar(x) or (isdense(x) and x.ndim == 0) def isintlike(x): """Is x appropriate as an index into a sparse matrix? Returns True if it can be cast safely to a machine int. """ if issequence(x): return False else: try: if int(x) == x: return True else: return False except TypeError: return False def isshape(x): """Is x a valid 2-tuple of dimensions? """ try: # Assume it's a tuple of matrix dimensions (M, N) (M, N) = x except: return False else: if isintlike(M) and isintlike(N): if np.rank(M) == 0 and np.rank(N) == 0: return True return False def issequence(t): #Modded for numjy if isinstance(t, (list, tuple)): return True elif hassattr(t, '._M'): return (isinstance(t._M, np.ndarray) and (t.ndim == 1)) else: return False def _isinstance(x, _class): ## # This makes scipy.sparse.sparse.csc_matrix == __main__.csc_matrix. c1 = ('%s' % x.__class__).split( '.' ) c2 = ('%s' % _class).split( '.' ) aux = c1[-1] == c2[-1] return isinstance(x, _class) or aux def isdense(x): #Modded for numjy if hasattr(x,'_M'): return _isinstance(x._M, np.ndarray) raise Exception('The matrix must be created by numjy') cobrapy-0.4.0b6/cobra/oven/danielhyduke/query/000077500000000000000000000000001263606473700212705ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/oven/danielhyduke/query/__init__.py000066400000000000000000000000241263606473700233750ustar00rootroot00000000000000from query import * cobrapy-0.4.0b6/cobra/oven/danielhyduke/query/query.py000066400000000000000000000042441263606473700230130ustar00rootroot00000000000000#cobra.query.query.py #Will serve as a location to house the growing number of #simple query functions attached to cobra.Model #NOTE: Many of the find functions are gone because Reactions, #Metabolites, and Genes are now away of each other. import re ##### def print_reactions_involving_metabolite(cobra_model, the_metabolites): """Update to allow for multiple metabolite search cobra_model: A cobra.Model object the_metabolites: A list of cobra.Metabolites or metabolite ids that are in cobra_metabolites. #TODO: Move this to the Metabolite class """ if hasattr(the_metabolites, 'id'): the_metabolites = [the_metabolites] elif not hasattr(the_metabolites, '__iter__'): the_metabolites = [the_metabolites] if not hasattr(the_metabolites[0], 'id'): the_metabolites = [cobra_model.metabolites[cobra_model.metabolites.index(x)] for x in the_metabolites] for the_metabolite in the_metabolties: for the_reaction in the_metabolite._reaction: print the_reaction.reaction def get_translation_reactions(cobra_model, genes_of_interest): """Find the translation elongation reactions for a set of genes in a cobra model. Related to ME-model extensions cobra_model: A cobra.Model object. genes_of_interest: A list of genes from cobra_model.genes. """ gene_translation_reactions = defaultdict(list) for the_reaction in cobra_model.reactions: if 'translation_elongation' in the_reaction: for the_gene in genes_of_interest: if the_gene in the_reaction: gene_translation_reactions[the_gene].append(the_reaction) continue return gene_translation_reactions if __name__ == '__main__': from cPickle import load from time import time solver = 'glpk' test_directory = '../test/data/' with open(test_directory + 'salmonella.pickle') as in_file: cobra_model = load(in_file) #TODO: Add in tests for each function print 'Need to add in tests for %s'%repr(['print_reactions_involving_metabolite']) cobrapy-0.4.0b6/cobra/solvers/000077500000000000000000000000001263606473700162035ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/solvers/__init__.py000066400000000000000000000100021263606473700203050ustar00rootroot00000000000000# Solvers are expected to follow the following interface # create_problem: makes a solver problem object from a cobra.model and # sets parameters (if possible) # format_solution: Returns a cobra.Solution object. This is where one # should dress the cobra.model with results if desired. # get_status: converts a solver specific status flag to a cobra pie flag. # set_parameter: takes solver specific parameter strings and sets them. # solve: solves the optimization problem. this is where one should put # in logic on what to try if the problem # isn't optimal # solve_problem: dumb and fast which will set parameters, if provided # update_problem: changes bounds and linear objective coefficient of the # solver specific problem file, given the complementary cobra.model # This attempts to import all working solvers in this directory from __future__ import absolute_import from warnings import warn from os import listdir, path solver_dict = {} possible_solvers = set() def add_solver(solver_name, use_name=None): """add a solver module to the solvers""" exec("from . import " + solver_name) solver = eval(solver_name) if use_name is None: if hasattr(solver, "solver_name"): use_name = solver.solver_name else: use_name = solver_name solver_dict[use_name] = eval(solver_name) for i in listdir(path.dirname(path.abspath(__file__))): if i.startswith("_") or i.startswith(".") or i.startswith('legacy'): continue if i.startswith("parameters"): continue if i.endswith(".py") or i.endswith(".so") or i.endswith(".pyc") \ or i.endswith(".pyd"): possible_solvers.add(i.split(".")[0]) if "wrappers" in possible_solvers: possible_solvers.remove("wrappers") for solver in possible_solvers: try: add_solver(solver) except: pass del solver if len(solver_dict) == 0: warn("No LP solvers found") # clean up the namespace del path, listdir, warn, i, possible_solvers class SolverNotFound(Exception): None def get_solver_name(mip=False, qp=False): """returns a solver name raises SolverNotFound if a suitable solver is not found """ if len(solver_dict) == 0: raise SolverNotFound("no solvers installed") # glpk only does lp, not qp. Gurobi and cplex are better at mip mip_order = ["gurobi", "cplex", "mosek", "coin", "cglpk", "glpk"] lp_order = ["cglpk", "cplex", "gurobi", "mosek", "coin", "glpk"] qp_order = ["gurobi", "cplex", "mosek"] if mip is False and qp is False: for solver_name in lp_order: if solver_name in solver_dict: return solver_name # none of them are in the list order - so return the first one return list(solver_dict)[0] elif qp: # mip does not yet matter for this determination for solver_name in qp_order: if solver_name in solver_dict: return solver_name # see if any solver defines set_quadratic_objective for solver_name in solver_dict: if hasattr(solver_dict[solver_name], "set_quadratic_objective"): return solver_name raise SolverNotFound("no qp-capable solver found") else: for solver_name in mip_order: if solver_name in solver_dict: return solver_name for solver_name in solver_dict: if hasattr(solver_dict[solver_name], "_SUPPORTS_MIP"): return solver_name raise SolverNotFound("no mip-capable solver found") def optimize(cobra_model, solver=None, **kwargs): """Wrapper to optimization solvers solver : str Name of the LP solver from solver_dict to use. If None is given, the default one will be used """ # If the default solver is not installed then use one of the others if solver is None: qp = "quadratic_component" in kwargs and \ kwargs["quadratic_component"] is not None solver = get_solver_name(qp=qp) return solver_dict[solver].solve(cobra_model, **kwargs) cobrapy-0.4.0b6/cobra/solvers/cglpk.pyx000066400000000000000000000471531263606473700200570ustar00rootroot00000000000000# distutils: libraries=glpk # cython: embedsignature=True from glpk cimport * from libc.stdlib cimport malloc, free from cpython cimport bool from cpython.version cimport PY_MAJOR_VERSION from tempfile import NamedTemporaryFile as _NamedTemporaryFile # for pickling from os import unlink as _unlink from warnings import warn as _warn try: from sympy import Basic, Number except: class Basic: pass Number = Basic __glpk_version__ = str(glp_version()) _SUPPORTS_MILP = True solver_name = "cglpk" __doc__ = """Bindings to GLPK The GNU Linear Programming Kit (GLPK) is released under the GPL. The source can be downloaded from http://www.gnu.org/software/glpk/ The GNU Multiple Precision Arithmetic Library (GMP) is released under the GPL. The source can be downloaded from https://gmplib.org/ """ cdef dict ERROR_CODES = { GLP_EBADB: "GLP_EBADB", GLP_ESING: "GLP_ESING", GLP_ECOND: "GLP_ECOND", GLP_EBOUND: "GLP_EBOUND", GLP_EFAIL: "GLP_EFAIL", GLP_EOBJLL: "GLP_EOBJLL", GLP_EOBJUL: "GLP_EOBJUL", GLP_EITLIM: "GLP_EITLIM", GLP_ETMLIM: "GLP_ETMLIM", GLP_ENOPFS: "GLP_ENOPFS", GLP_ENODFS: "GLP_ENODFS", GLP_EROOT: "GLP_EROOT", GLP_ESTOP: "GLP_ESTOP", GLP_EMIPGAP: "GLP_EMIPGAP", GLP_ENOFEAS: "GLP_ENOFEAS", GLP_ENOCVG: "GLP_ENOCVG", GLP_EINSTAB: "GLP_EINSTAB", GLP_EDATA: "GLP_EDATA", GLP_ERANGE: "GLP_ERANGE" } cdef dict ERROR_MESSAGES = { GLP_EBADB: "invalid basis", GLP_ESING: "singular matrix", GLP_ECOND: "ill-conditioned matrix", GLP_EBOUND: "invalid bounds", GLP_EFAIL: "solver failed", GLP_EOBJLL: "objective lower limit reached", GLP_EOBJUL: "objective upper limit reached", GLP_EITLIM: "iteration limit exceeded", GLP_ETMLIM: "time limit exceeded", GLP_ENOPFS: "no primal feasible solution", GLP_ENODFS: "no dual feasible solution", GLP_EROOT: "root LP optimum not provided", GLP_ESTOP: "search terminated by application", GLP_EMIPGAP: "relative mip gap tolerance reached", GLP_ENOFEAS: "no primal/dual feasible solution", GLP_ENOCVG: "no convergence", GLP_EINSTAB: "numerical instability", GLP_EDATA: "invalid data", GLP_ERANGE: "result out of range" } cdef dict METHODS = { "auto": GLP_DUALP, "primal": GLP_PRIMAL, "dual": GLP_DUAL } cdef dict PRICINGS = { "std": GLP_PT_STD, "pse": GLP_PT_PSE } cdef dict RATIOS = { "std": GLP_RT_STD, "har": GLP_RT_HAR } cdef dict SCALINGS = { "auto": GLP_SF_AUTO, "gm": GLP_SF_GM, "eq": GLP_SF_EQ, "2n": GLP_SF_2N, "skip": GLP_SF_SKIP } cdef int downcast_pos_size(Py_ssize_t size): if size > INT_MAX: raise ValueError("Integer overflow %d > %d" % (size, INT_MAX)) else: return size cdef check_error(int result): if result == 0: return if result not in ERROR_CODES: raise RuntimeError("glp_simplex failed with unknown error code 0x%x" % result) raise RuntimeError("glp_simplex failed with error code %s: %s" % (ERROR_CODES[result], ERROR_MESSAGES[result])) cdef int hook(void *info, const char *s): """function to redirect sdout to python stdout""" print(s) return 1 cdef int silent_hook(void *info, const char *s): """function to print nothing but trick GLPK into thinking we did""" return 1 cdef double _to_double(value): if isinstance(value, Basic) and not isinstance(value, Number): return 0. else: return value cdef class GLP: cdef glp_prob *glp cdef glp_smcp parameters cdef glp_iocp integer_parameters cdef public bool exact # cython related allocation/dellocation functions def __cinit__(self): self.glp = glp_create_prob() # initialize parameters glp_set_obj_dir(self.glp, GLP_MAX) # default is maximize glp_init_smcp(&self.parameters) glp_init_iocp(&self.integer_parameters) self.exact = False glp_term_hook(hook, NULL) self.parameters.msg_lev = GLP_MSG_OFF self.integer_parameters.tol_int = 1e-9 def __dealloc__(self): glp_delete_prob(self.glp) def __init__(self, cobra_model=None): cdef int bound_type, index, n, n_values cdef glp_prob *glp cdef int *c_rows cdef int *c_cols cdef double *c_values cdef double b if cobra_model is None: return glp = self.glp glp_add_rows(glp, downcast_pos_size(len(cobra_model.metabolites))) glp_add_cols(glp, downcast_pos_size(len(cobra_model.reactions))) metabolite_id_to_index = {r.id: index for index, r in enumerate(cobra_model.metabolites, 1)} linear_constraint_rows = [] linear_constraint_cols = [] linear_constraint_values = [] # set metabolite/consraint bounds for index, metabolite in enumerate(cobra_model.metabolites, 1): b = _to_double(metabolite._bound) c = metabolite._constraint_sense if c == 'E': bound_type = GLP_FX # Set metabolite to steady state levels elif c == 'L': bound_type = GLP_UP # x < 2 <==> x has an upper bound of 2 elif c == 'G': bound_type = GLP_LO # x > 2 <==> x has a lower bound of 2 else: raise ValueError("unsupported bound type: %s" % c) glp_set_row_bnds(glp, index, bound_type, b, b) # set reaction/varaiable bounds for index, reaction in enumerate(cobra_model.reactions, 1): if reaction.variable_kind == "integer": if reaction.lower_bound == 0 and reaction.upper_bound == 1: glp_set_col_kind(self.glp, index, GLP_BV) # binary else: glp_set_col_kind(self.glp, index, GLP_IV) if reaction.lower_bound == reaction.upper_bound: bound_type = GLP_FX else: bound_type = GLP_DB glp_set_col_bnds(glp, index, bound_type, _to_double(reaction.lower_bound), _to_double(reaction.upper_bound)) glp_set_obj_coef(glp, index, _to_double(reaction.objective_coefficient)) for metabolite, coefficient in reaction._metabolites.iteritems(): linear_constraint_rows.append( metabolite_id_to_index[metabolite.id]) linear_constraint_cols.append(index) linear_constraint_values.append(coefficient) # set constraint marix # first copy the python lists to c arrays n_values = downcast_pos_size(len(linear_constraint_rows)) c_cols = malloc((n_values + 1) * sizeof(int)) c_rows = malloc((n_values + 1) * sizeof(int)) c_values = malloc((n_values + 1) * sizeof(double)) if c_rows is NULL or c_rows is NULL or c_values is NULL: raise MemoryError() for index in range(n_values): c_rows[index + 1] = linear_constraint_rows[index] c_cols[index + 1] = linear_constraint_cols[index] c_values[index + 1] = _to_double(linear_constraint_values[index]) # actually set the values glp_load_matrix(glp, n_values, c_rows, c_cols, c_values) # free the c arrays free(c_rows) free(c_cols) free(c_values) # problem creation and modification @classmethod def create_problem(cls, cobra_model, objective_sense="maximize"): problem = cls(cobra_model) problem.set_objective_sense(objective_sense) return problem cpdef change_variable_bounds(self, int index, double lower_bound, double upper_bound): cdef int bound_type = GLP_FX if lower_bound == upper_bound else GLP_DB assert index >= 0 glp_set_col_bnds(self.glp, index + 1, bound_type, lower_bound, upper_bound) def change_coefficient(self, int met_index, int rxn_index, double value): cdef int col_length, i cdef int *indexes cdef double *values # glpk uses 1 indexing met_index += 1 rxn_index += 1 # we first have to get the old column col_length = glp_get_mat_col(self.glp, rxn_index, NULL, NULL) indexes = malloc((col_length + 2) * sizeof(int)) values = malloc((col_length + 2) * sizeof(double)) if indexes == NULL or values == NULL: raise MemoryError() glp_get_mat_col(self.glp, rxn_index, indexes, values) # search for duplicate for i in range(col_length): # if a duplicate exists replace that value and exit if indexes[i + 1] == met_index: values[i + 1] = value glp_set_mat_col(self.glp, rxn_index, col_length, indexes, values) return # need to add a new entry indexes[col_length + 1] = met_index values[col_length + 1] = value glp_set_mat_col(self.glp, rxn_index, col_length + 1, indexes, values) free(indexes) free(values) def solve_problem(self, **solver_parameters): cdef int result cdef int time_limit cdef glp_prob *glp = self.glp for key, value in solver_parameters.items(): self.set_parameter(key, value) # suspend the gil to allow multithreading # multithreading must occur with DIFFERENT glp objects # calling solve_problem on the same object from 2 different # threads at the same time will probably cause problems # because glpk itself is not thread safe #with nogil: # we can use this if glpk ever gets thread-safe malloc # Try to solve the problem with the existing basis, but with # a time limit in case it gets stuck. time_limit = self.parameters.tm_lim # save time limit self.parameters.tm_lim = min(500, time_limit) fast_status = glp_simplex(glp, &self.parameters) self.parameters.tm_lim = time_limit if fast_status != 0: glp_adv_basis(glp, 0) check_error(glp_simplex(glp, &self.parameters)) self.parameters.tm_lim = time_limit if self.exact: # sigh... it looks like the exact routine doesn't fully respect # the verbosity parameter if self.parameters.msg_lev == GLP_MSG_OFF: glp_term_hook(silent_hook, NULL) try: check_error(glp_exact(glp, &self.parameters)) finally: glp_term_hook(hook, NULL) if self.is_mip(): self.integer_parameters.tm_lim = self.parameters.tm_lim self.integer_parameters.msg_lev = self.parameters.msg_lev #with nogil: check_error(glp_intopt(glp, &self.integer_parameters)) return self.get_status() @classmethod def solve(cls, cobra_model, **kwargs): problem = cls.create_problem(cobra_model) problem.solve_problem(**kwargs) solution = problem.format_solution(cobra_model) return solution def get_status(self): cdef int result = glp_mip_status(self.glp) if self.is_mip() \ else glp_get_status(self.glp) if result == GLP_OPT: return "optimal" if result == GLP_FEAS: return glp_get_status(self.glp) if result == GLP_UNDEF: return "undefined" if result == GLP_UNBND: return "unbounded" if result == GLP_NOFEAS: return "infeasible" return "failed" cpdef set_objective_sense(self, objective_sense): objective_sense = objective_sense.lower() if objective_sense == "maximize": glp_set_obj_dir(self.glp, GLP_MAX) elif objective_sense == "minimize": glp_set_obj_dir(self.glp, GLP_MIN) else: raise ValueError("%s is not a valid objective sense" % objective_sense) cpdef set_parameter(self, parameter_name, value): """set a solver parameter""" if parameter_name == "objective_sense": self.set_objective_sense(value) elif parameter_name in {"time_limit", "tm_lim"}: self.parameters.tm_lim = int(1000 * value) # Setting a value less than 0.001 would cause us to not # set a time limit at all. It's better to set a time limit # of 1 ms in this case. #if value > 0 and self.parameters.tm_lim == 0: # self.parameters.tm_lim = 1 elif parameter_name == "tolerance_feasibility": self.parameters.tol_bnd = float(value) self.parameters.tol_dj = float(value) elif parameter_name == "tol_bnd": self.parameters.tol_bnd = float(value) elif parameter_name == "tol_dj": self.parameters.tol_dj = float(value) elif parameter_name in {"tolerance_markowitz", "tol_piv"}: self.parameters.tol_piv = float(value) elif parameter_name in {"tolerance_integer", "tol_int"}: self.integer_parameters.tol_int = float(value) elif parameter_name in {"mip_gap", "MIP_gap"}: self.integer_parameters.mip_gap = float(value) elif parameter_name == "verbose": if not value: # suppress all output self.parameters.msg_lev = GLP_MSG_OFF return if value == "err": self.parameters.msg_lev = GLP_MSG_ERR elif value is True or value == "all": self.parameters.msg_lev = GLP_MSG_ALL elif value == "normal": self.parameters.msg_lev = GLP_MSG_ON elif parameter_name == "iteration_limit": self.parameters.it_lim = value elif parameter_name == "lp_method": self.parameters.meth = METHODS[value] elif parameter_name == "exact": self.exact = value elif parameter_name == "threads": _warn("multiple threads not supported") elif parameter_name == "MIP_gap_abs": _warn("setting aboslute mip gap not supported") elif parameter_name == "presolve": self.parameters.presolve = GLP_ON if value else GLP_OFF elif parameter_name == "pricing": self.parameters.pricing = PRICINGS[value] elif parameter_name == "r_test": self.parameters.r_test = RATIOS[value] elif parameter_name == "scale": if value: if isinstance(value, int): glp_scale_prob(self.glp, value) else: glp_scale_prob(self.glp, SCALINGS[value]) else: glp_unscale_prob(self.glp) elif parameter_name == "quadratic_component": if value is not None: raise ValueError("quadratic component must be None for glpk") else: raise ValueError("unknown parameter " + str(parameter_name)) cpdef get_objective_value(self): if self.is_mip(): return glp_mip_obj_val(self.glp) return glp_get_obj_val(self.glp) cpdef change_variable_objective(self, int index, double value): assert index >= 0 glp_set_obj_coef(self.glp, index + 1, value) cpdef is_mip(self): return glp_get_num_int(self.glp) > 0 def format_solution(self, cobra_model): cdef int i, m, n cdef glp_prob *glp = self.glp Solution = cobra_model.solution.__class__ status = self.get_status() if status != "optimal": # todo handle other possible return Solution(None, status=status) solution = Solution(self.get_objective_value(), status=status) m = glp_get_num_rows(glp) n = glp_get_num_cols(glp) x = [0] * n if self.is_mip(): for i in range(1, n + 1): x[i - 1] = glp_mip_col_val(glp, i) solution.x_dict = {rxn.id: x[i] for i, rxn in enumerate(cobra_model.reactions)} solution.x = x else: for i in range(1, n + 1): x[i - 1] = glp_get_col_prim(glp, i) solution.x_dict = {rxn.id: x[i] for i, rxn in enumerate(cobra_model.reactions)} solution.x = x y = [0] * m for i in range(1, m + 1): y[i - 1] = glp_get_row_dual(glp, i) solution.y_dict = {met.id: y[i] for i, met in enumerate(cobra_model.metabolites)} solution.y = y return solution # make serializable and copyable def __getstate__(self): cdef int result cdef char *name tempfile = _NamedTemporaryFile(mode="r", delete=False) name = tempfile.name tempfile.close() result = glp_write_prob(self.glp, 0, name) assert result == 0 with open(name, "r") as infile: state = infile.read() _unlink(name) return state def __reduce__(self): return (GLP, (), self.__getstate__()) def __setstate__(self, state): cdef int result cdef char *name = NULL with _NamedTemporaryFile(mode="w", delete=False) as tempfile: name = tempfile.name tempfile.write(state) result = glp_read_prob(self.glp, 0, name) assert result == 0 _unlink(name) def __copy__(self): other = GLP() glp_copy_prob(other.glp, self.glp, GLP_ON) other.parameters = self.parameters other.integer_parameters = self.integer_parameters other.exact = self.exact return other def write(self, filename): """Write the problem to a file The format will be determined by the file extension. .lp: LP file .mps: MPS file """ if PY_MAJOR_VERSION == 2: b_name = bytes(filename) elif PY_MAJOR_VERSION == 3: b_name = bytes(filename, "latin-1") else: raise RuntimeError("Unknown python version") cdef char *c_name = b_name cdef int res # no other way to silence this function glp_term_hook(silent_hook, NULL) try: if b_name.endswith(".lp"): res = glp_write_lp(self.glp, NULL, c_name) elif b_name.endswith(".mps"): res = glp_write_mps(self.glp, GLP_MPS_FILE, NULL, c_name) else: raise ValueError("Unknown file format for %s" % str(filename)) if res != 0: raise IOError("failed to write LP to file %s" % str(filename)) finally: glp_term_hook(hook, NULL) # wrappers for all the functions at the module level create_problem = GLP.create_problem def set_objective_sense(lp, objective_sense="maximize"): return lp.set_objective_sense(lp, objective_sense=objective_sense) cpdef change_variable_bounds(lp, int index, double lower_bound, double upper_bound): return lp.change_variable_bounds(index, lower_bound, upper_bound) cpdef change_variable_objective(lp, int index, double value): return lp.change_variable_objective(index, value) cpdef change_coefficient(lp, int met_index, int rxn_index, double value): return lp.change_coefficient(met_index, rxn_index, value) cpdef set_parameter(lp, parameter_name, value): return lp.set_parameter(parameter_name, value) def solve_problem(lp, **kwargs): return lp.solve_problem(**kwargs) cpdef get_status(lp): return lp.get_status() cpdef get_objective_value(lp): return lp.get_objective_value() cpdef format_solution(lp, cobra_model): return lp.format_solution(cobra_model) solve = GLP.solve cobrapy-0.4.0b6/cobra/solvers/coin.py000066400000000000000000000101661263606473700175110ustar00rootroot00000000000000from cylp.cy import CyClpSimplex from cylp.py.modeling.CyLPModel import CyLPArray from cylp.cy.CyCoinPackedMatrix import CyCoinPackedMatrix solver_name = "coin" _status_translation = {"primal infeasible": "infeasible", "solution": "optimal"} _SUPPORTS_MILP = True class Coin(CyClpSimplex): cbc = None @property def status_(self): return self.cbc.status if self.cbc else self.getStatusString() @property def primalVariableSolution_(self): return self.cbc.primalVariableSolution if self.cbc \ else self.primalVariableSolution @property def objectiveValue_(self): return self.cbc.objectiveValue if self.cbc else self.objectiveValue def create_problem(cobra_model, objective_sense="maximize", **kwargs): m = cobra_model.to_array_based_model() lp = Coin() v = lp.addVariable("v", len(m.reactions)) for i, rxn in enumerate(m.reactions): if rxn.variable_kind == "integer": lp.setInteger(v[i]) S = m.S v.lower = CyLPArray(m.lower_bounds) v.upper = CyLPArray(m.upper_bounds) inf = float("inf") cons = zip(m.b, m.constraint_sense) b_l = CyLPArray([-inf if s == "L" else b for b, s in cons]) b_u = CyLPArray([inf if s == "G" else b for b, s in cons]) lp.addConstraint(b_u >= S * v >= b_l, "b") lp.objectiveCoefficients = CyLPArray(m.objective_coefficients) set_parameter(lp, "objective_sense", objective_sense) set_parameter(lp, "tolerance_feasibility", 1e-9) lp.logLevel = 0 for key, value in kwargs.items(): set_parameter(lp, key, value) return lp def solve(cobra_model, **kwargs): lp = create_problem(cobra_model) for key, value in kwargs.items(): set_parameter(lp, key, value) solve_problem(lp) return format_solution(lp, cobra_model) def set_parameter(lp, parameter_name, value): if parameter_name == "objective_sense": v = str(value).lower() if v == "maximize": lp.optimizationDirection = "max" elif v == "minimize": lp.optimizationDirection = "min" else: raise ValueError("unknown objective sense '%s'" % value) elif parameter_name == "tolerance_feasibility": lp.primalTolerance = value elif parameter_name == "verbose": lp.logLevel = value elif parameter_name == "quadratic_component": set_quadratic_objective(lp, value) else: setattr(lp, parameter_name, value) def solve_problem(lp, **kwargs): for key, value in kwargs.items(): set_parameter(lp, key, value) if max(lp.integerInformation): lp.cbc = lp.getCbcModel() lp.cbc.logLevel = lp.logLevel return lp.cbc.branchAndBound() else: lp.cbc = None return lp.primal() def format_solution(lp, cobra_model): Solution = cobra_model.solution.__class__ status = get_status(lp) if status != "optimal": # todo handle other possible return Solution(None, status=status) solution = Solution(lp.objectiveValue_, status=status) x = lp.primalVariableSolution_["v"].tolist() solution.x_dict = {r.id: x[i] for i, r in enumerate(cobra_model.reactions)} solution.x = x # TODO handle y return solution def get_status(lp): status = lp.status_ return _status_translation.get(status, status) def get_objective_value(lp): return lp.objectiveValue_ def change_variable_bounds(lp, index, lower_bound, upper_bound): lp.variablesLower[index] = lower_bound lp.variablesUpper[index] = upper_bound def change_coefficient(lp, met_index, rxn_index, value): S = lp.coefMatrix S[met_index, rxn_index] = value lp.coefMatrix = S def change_variable_objective(lp, index, value): lp.setObjectiveCoefficient(index, value) def _set_quadratic_objective(lp, quadratic_objective): """The quadratic routines in CLP do not yet work for GEMs""" if not hasattr(quadratic_objective, "tocoo"): raise Exception('quadratic component must have method tocoo') coo = quadratic_objective.tocoo() matrix = CyCoinPackedMatrix(True, coo.row, coo.col, coo.data) lp.loadQuadraticObjective(matrix) cobrapy-0.4.0b6/cobra/solvers/cplex_solver.py000066400000000000000000000317111263606473700212650ustar00rootroot00000000000000# Interface to ilog/cplex 12.4 python interface from copy import deepcopy from warnings import warn import sys from cplex import Cplex, SparsePair from cplex.exceptions import CplexError from ..core.Solution import Solution from six.moves import zip from six import string_types, iteritems try: from sympy import Basic, Number except: class Basic: pass def _float(value): if isinstance(value, Basic) and not isinstance(value, Number): return 0. else: return float(value) solver_name = 'cplex' _SUPPORTS_MILP = True # solver specific parameters parameter_defaults = {'objective_sense': 'maximize', 'tolerance_optimality': 1e-6, 'tolerance_feasibility': 1e-6, 'tolerance_integer': 1e-9, 'lp_method': 1, 'tolerance_barrier': 1e-8, 'verbose': False, 'qpmethod': 1} parameter_mappings = {'lp_method': 'lpmethod', 'lp_parallel': 'threads', 'threads': 'threads', 'objective_sense': 'objective_sense', 'time_limit': 'timelimit', 'iteration_limit': 'simplex.limits.iterations', 'tolerance_barrier': 'barrier.convergetol', 'tolerance_feasibility': 'simplex.tolerances.feasibility', 'tolerance_markowitz': 'simplex.tolerances.markowitz', 'tolerance_optimality': 'simplex.tolerances.optimality', 'tolerance_integer': 'mip.tolerances.integrality', 'MIP_gap_abs': 'mip.tolerances.absmipgap', 'MIP_gap': 'mip.tolerances.mipgap'} variable_kind_dict = {'continuous': Cplex.variables.type.continuous, 'integer': Cplex.variables.type.integer} status_dict = {'MIP_infeasible': 'infeasible', 'integer optimal solution': 'optimal', 'MIP_optimal': 'optimal', 'MIP_optimal_tolerance': 'optimal', 'MIP_unbounded': 'unbounded', 'infeasible': 'infeasible', 'integer infeasible': 'infeasible', 'optimal': 'optimal', 'optimal_tolerance': 'optimal', 'unbounded': 'unbounded', 'integer optimal, tolerance': 'optimal', 'time limit exceeded': 'time_limit'} def get_status(lp): status = lp.solution.get_status_string().lower() return status_dict.get(status, status) def get_objective_value(lp): return lp.solution.get_objective_value() def format_solution(lp, cobra_model, **kwargs): status = get_status(lp) if status in ('optimal', 'time_limit', 'non-optimal'): objective_value = lp.solution.get_objective_value() x_dict = dict(zip(lp.variables.get_names(), lp.solution.get_values())) x = lp.solution.get_values() # MIP's don't have duals if lp.get_problem_type() in (Cplex.problem_type.MIQP, Cplex.problem_type.MILP): y = y_dict = None else: y_dict = dict(zip(lp.linear_constraints.get_names(), lp.solution.get_dual_values())) y = lp.solution.get_dual_values() else: x = y = x_dict = y_dict = objective_value = None return Solution(objective_value, x=x, x_dict=x_dict, status=status, y=y, y_dict=y_dict) def set_parameter(lp, parameter_name, parameter_value): if parameter_name == 'objective_sense': parameter_value = getattr(lp.objective.sense, parameter_value) lp.objective.set_sense(parameter_value) return elif parameter_name == 'the_problem': warn('option the_problem removed') return elif parameter_name == 'verbose': if parameter_value: lp.set_log_stream(sys.stdout) lp.set_results_stream(sys.stdout) lp.set_warning_stream(sys.stderr) # If the value passed in is True, it shold be 1. MIP display can # be as high as 5, but the others only go up to 2. value = int(parameter_value) set_parameter(lp, 'mip.display', value) set_parameter(lp, 'simplex.display', min(value, 2)) set_parameter(lp, 'barrier.display', min(value, 2)) else: lp.set_log_stream(None) lp.set_results_stream(None) lp.set_warning_stream(None) set_parameter(lp, 'mip.display', 0) set_parameter(lp, 'simplex.display', 0) set_parameter(lp, 'barrier.display', 0) return try: cplex_name = parameter_mappings.get(parameter_name, parameter_name) cplex_value = parameter_value # This will iteratively get parameters. For example # "simplex.tolerances.feasibility" will evaluate to # lp.parameters.simplex.tolerances.feasibility. param = lp.parameters for i in cplex_name.split("."): param = getattr(param, i) # For example, this next part will allow setting the parameter # lpmethod to "auto", "primal", "dual" or any other string in # parameters.lp.method.values if isinstance(cplex_value, string_types) and \ hasattr(param.values, cplex_value): cplex_value = getattr(param.values, cplex_value) param.set(cplex_value) except (CplexError, AttributeError) as e: raise ValueError("Failed to set %s to %s: %s" % (parameter_name, str(parameter_value), repr(e))) def create_problem(cobra_model, quadratic_component=None, **kwargs): """Solver-specific method for constructing a solver problem from a cobra.Model. This can be tuned for performance using kwargs """ # Process parameter defaults the_parameters = parameter_defaults if kwargs: the_parameters = parameter_defaults.copy() the_parameters.update(kwargs) if 'relax_b' in the_parameters: relax_b = the_parameters.pop("relax_b") warn('need to reimplement relax_b') relax_b = False else: relax_b = False # Begin problem creation lp = Cplex() for k, v in iteritems(the_parameters): set_parameter(lp, k, v) objective_coefficients = [float(x.objective_coefficient) for x in cobra_model.reactions] lower_bounds = [_float(x.lower_bound) for x in cobra_model.reactions] upper_bounds = [_float(x.upper_bound) for x in cobra_model.reactions] variable_names = cobra_model.reactions.list_attr("id") variable_kinds = [variable_kind_dict[x.variable_kind] for x in cobra_model.reactions] # Cplex decides that the problem is a MIP if variable_kinds are supplied # even if there aren't any integers. if variable_kind_dict['integer'] in variable_kinds: lp.variables.add(obj=objective_coefficients, lb=lower_bounds, ub=upper_bounds, names=variable_names, types=variable_kinds) else: lp.variables.add(obj=objective_coefficients, lb=lower_bounds, ub=upper_bounds, names=variable_names) constraint_sense = [] constraint_names = [] constraint_limits = [] for x in cobra_model.metabolites: constraint_sense.append(x._constraint_sense) constraint_names.append(x.id) constraint_limits.append(float(x._bound)) the_linear_expressions = [] # NOTE: This won't work with metabolites that aren't in any reaction for the_metabolite in cobra_model.metabolites: variable_list = [] coefficient_list = [] for the_reaction in the_metabolite._reaction: variable_list.append(the_reaction.id) coefficient_list.append(_float(the_reaction._metabolites[the_metabolite])) the_linear_expressions.append(SparsePair(ind=variable_list, val=coefficient_list)) # Set objective to quadratic program if quadratic_component is not None: set_quadratic_objective(lp, quadratic_component) if relax_b: lp.linear_constraints.add(lin_expr=the_linear_expressions, rhs=constraint_limits, range_values=list(range_values), senses=constraint_sense, names=constraint_names) else: lp.linear_constraints.add(lin_expr=the_linear_expressions, rhs=constraint_limits, senses=constraint_sense, names=constraint_names) # Set the problem type as cplex doesn't appear to do this correctly problem_type = Cplex.problem_type.LP if Cplex.variables.type.integer in variable_kinds: if quadratic_component is not None: problem_type = Cplex.problem_type.MIQP else: problem_type = Cplex.problem_type.MILP elif quadratic_component is not None: problem_type = Cplex.problem_type.QP lp.set_problem_type(problem_type) return(lp) def set_quadratic_objective(lp, quadratic_objective): if not hasattr(quadratic_objective, 'todok'): raise Exception('quadratic component must have method todok') # ensure the matrix is properly read in nnz = quadratic_objective.nnz if lp.parameters.read.qpnonzeros.get() < nnz: lp.parameters.read.qpnonzeros.set(nnz + 1) # Reset the quadratic coefficient if it exists if lp.objective.get_num_quadratic_nonzeros() > 0: lp.objective.set_quadratic((0.,) * lp.variables.get_num()) quadratic_component_scaled = quadratic_objective.todok() lp.parameters.emphasis.numerical.set(1) for k, v in quadratic_component_scaled.items(): lp.objective.set_quadratic_coefficients(int(k[0]), int(k[1]), v) def change_variable_bounds(lp, index, lower_bound, upper_bound): lp.variables.set_lower_bounds(index, lower_bound) lp.variables.set_upper_bounds(index, upper_bound) def change_variable_objective(lp, index, objective): lp.objective.set_linear(index, objective) def change_coefficient(lp, met_index, rxn_index, value): lp.linear_constraints.set_coefficients(met_index, rxn_index, value) def update_problem(lp, cobra_model, new_objective=None, **kwargs): """A performance tunable method for updating a model problem file lp: A cplex problem object cobra_model: the cobra.Model corresponding to 'lp' """ #When reusing the basis only assume that the objective coefficients or bounds can change #BUG with changing / unchanging the basis try: update_problem_reaction_bounds = kwargs['update_problem_reaction_bounds'] except: update_problem_reaction_bounds = True try: quadratic_component = kwargs['quadratic_component'] if quadratic_component is not None: warn("update_problem does not yet take quadratic_component as a parameter") except: quadratic_component = None if new_objective is not None: lp.objective.set_linear([(x.id, float(x.objective_coefficient)) for x in cobra_model.reactions]) if update_problem_reaction_bounds: lp.variables.set_upper_bounds([(x.id, float(x.upper_bound)) for x in cobra_model.reactions]) lp.variables.set_lower_bounds([(x.id, float(x.lower_bound)) for x in cobra_model.reactions]) def solve_problem(lp, **kwargs): # Update parameter settings if provided for k, v in iteritems(kwargs): set_parameter(lp, k, v) lp.solve() # If the solver takes more than 0.1 s with a hot start it is likely stuck return get_status(lp) def solve(cobra_model, **kwargs): """ """ # Start out with default parameters and then modify if # new onese are provided for i in ["new_objective", "update_problem", "the_problem"]: if i in kwargs: raise Exception("Option %s removed" % i) if 'error_reporting' in kwargs: kwargs.pop('error_erporting') warn("error_reporting deprecated") # Create problem will get parameter defaults lp = create_problem(cobra_model, **kwargs) # Try to solve the problem using other methods if first method doesn't work try: lp_method = the_parameters['lp_method'] except: lp_method = 1 the_methods = [1, 2, 3, 4, 5, 6] if lp_method in the_methods: the_methods.remove(lp_method) # Start with the user specified method the_methods.insert(0, lp_method) for the_method in the_methods: try: status = solve_problem(lp, lp_method=the_method) except: status = 'failed' if status == 'optimal': break return format_solution(lp, cobra_model) cobrapy-0.4.0b6/cobra/solvers/cplex_solver_java.py000066400000000000000000000270121263606473700222650ustar00rootroot00000000000000# PLEASE NOTE THAT JYTHON SUPPORT (and this jython-only-solver) is deprecated #Interface to ilog/cplex 12.4 python / jython interfaces #QPs are not yet supported under jython from __future__ import print_function from os import name as __name from copy import deepcopy from warnings import warn ###solver specific parameters from .parameters import status_dict, variable_kind_dict, \ sense_dict, parameter_mappings, parameter_defaults, \ objective_senses, default_objective_sense from ..core.Solution import Solution from time import time from six import iteritems solver_name = 'cplex' parameter_defaults = parameter_defaults[solver_name] sense_dict = eval(sense_dict[solver_name]) from ilog.cplex import IloCplex from ilog.cplex.IloCplex import DoubleParam, IntParam, StringParam from ilog.concert import IloNumVarType, IloObjectiveSense #__solver_class = IloCplex status_dict = eval(status_dict[solver_name]) class Problem(IloCplex): def __init__(self): IloCplex.__init__(self) self._lp_matrix = self.addLPMatrix() self.objective_value = None self._objective_sense = 'maximize' def add_linear_expression(self, linear_expression, metabolite): b = metabolite._bound c = metabolite._constraint_sense the_id = metabolite.id if c == 'E': p = self.addEq(linear_expression, b, the_id) elif c == 'L': p = self.addLe(linear_expression, b, the_id) elif c == 'G': p = self.addGe(linear_expression, b, the_id) else: raise Exception("Constraint sense '%s' for metabolite %s is not valid"%(c, the_id)) return(p) __solver_class = Problem parameter_mappings = parameter_mappings['%s_%s'%(solver_name, __name)] variable_kind_dict = eval(variable_kind_dict['%s_%s'%(solver_name, __name)]) objective_senses = objective_senses['%s_%s'%(solver_name, __name)] ## from jarray import array as j_array ## def array(x, variable_type='d'): ## return j_array(x, variable_type) def get_status(lp): status = repr(lp.status).lower() if status in status_dict: status = status_dict[status] else: status = 'failed' return status def set_parameter(lp, parameter_name, parameter_value): if parameter_name == 'objective_sense': objective = lp.getObjective() if objective is not None: objective.setSense(eval(objective_senses[parameter_value])) else: if hasattr(DoubleParam, parameter_name): parameter_type = 'DoubleParam' elif hasattr(IntParam, parameter_name): parameter_type = 'IntParam' elif hasattr(StringParam, parameter_name): parameter_type = 'StringParam' else: raise Exception("%s is not a DoubleParam, IntParam, or StringParam"%parameter_name) lp.setParam(eval('%s.%s'%(parameter_type, parameter_name)), parameter_value) def get_objective_value(lp): return lp.getObjValue() def format_solution(lp, cobra_model, **kwargs): """ TODO """ status = get_status(lp) try: x = lp.getValues(lp.variables) x_dict = dict(zip(cobra_model.reactions, x)) objective_value = lp.getObjValue() except: x = x_dict = objective_value = None #print status try: y = lp.getDuals(lp.variables) y_dict = dict(zip(cobra_model.metabolites, y)) except: y = y_dict = None return(Solution(objective_value, x=x, x_dict=x_dict, y=y, y_dict=y_dict, status=status)) def create_problem(cobra_model, **kwargs): """Solver-specific method for constructing a solver problem from a cobra.Model. This can be tuned for performance using kwargs TODO: This will need to be specific for python / jython """ the_parameters = parameter_defaults if kwargs: the_parameters = deepcopy(parameter_defaults) the_parameters.update(kwargs) lp = Problem() if 'log_file' not in the_parameters: lp.setWarning(None) lp.setOut(None) [set_parameter(lp, parameter_mappings[k], v) for k, v in iteritems(the_parameters) if k in parameter_mappings] quadratic_component = the_parameters['quadratic_component'] new_objective = the_parameters['new_objective'] error_reporting = the_parameters['error_reporting'] lp._objective_sense = the_parameters['objective_sense'] if 'relax_b' in the_parameters: warn('need to reimplement relax_b') relax_b = False else: relax_b = False #Using the new objects #NOTE: This might be slow objective_coefficients = [] lower_bounds = [] upper_bounds = [] variable_names = [] variable_kinds = [] [(objective_coefficients.append(x.objective_coefficient), lower_bounds.append(x.lower_bound), upper_bounds.append(x.upper_bound), variable_names.append(x.id), variable_kinds.append(variable_kind_dict[x.variable_kind])) for x in cobra_model.reactions] #Only add the variable types if one or more variables is an integer, just #in case the java interface has the same bug as the python interface where #the problem type switches to integer if variable types are supplied even #if all are continuous if variable_kind_dict['integer'] in variable_kinds: lp.variables = lp.numVarArray(len(cobra_model.reactions), lower_bounds, upper_bounds, variable_kinds, variable_names) else: lp.variables = lp.numVarArray(len(cobra_model.reactions), lower_bounds, upper_bounds, variable_names) lp.variable_dict = dict(zip(cobra_model.reactions, lp.variables)) if lp._objective_sense == 'maximize': __lp_add_objective = lp.addMaximize else: __lp_add_objective = lp.addMinimize __lp_add_objective(lp.scalProd(lp.variables, objective_coefficients)) lp.constraints = [] lp.constraint_dict = {} for the_metabolite in cobra_model.metabolites: linear_expression = lp.sum([lp.prod(k._metabolites[the_metabolite], lp.variable_dict[k]) for k in the_metabolite._reaction]) expression_pointer = lp.add_linear_expression(linear_expression, the_metabolite) lp.constraints.append(expression_pointer) lp.constraint_dict[the_metabolite] = expression_pointer if quadratic_component is not None: raise Exception("cplex through java isn't configured for QPs yet") if not hasattr(quadratic_component, 'todok'): raise Exception('quadratic component must have method todok') quadratic_component_scaled = quadratic_component.todok() lp.parameters.emphasis.numerical.set(1) for k, v in quadratic_component_scaled.items(): lp.objective.set_quadratic_coefficients(int(k[0]), int(k[1]), v) ## #Set the problem type as cplex doesn't appear to do this correctly ## problem_type = Cplex.problem_type.LP ## if Cplex.variables.type.integer in variable_kinds: ## if quadratic_component is not None: ## problem_type = Cplex.problem_type.MIQP ## else: ## problem_type = Cplex.problem_type.MILP ## elif quadratic_component is not None: ## problem_type = Cplex.problem_type.QP ## lp.set_problem_type(problem_type) return(lp) def update_problem(lp, cobra_model, **kwargs): """A performance tunable method for updating a model problem file lp: A gurobi problem object cobra_model: the cobra.Model corresponding to 'lp' """ #When reusing the basis only assume that the objective coefficients or bounds can change #BUG with changing / unchanging the basis try: new_objective = kwargs['new_objective'] except: new_objective = None try: update_problem_reaction_bounds = kwargs['update_problem_reaction_bounds'] except: update_problem_reaction_bounds = True try: quadratic_component = kwargs['quadratic_component'] if quadratic_component is not None: warn("update_problem does not yet take quadratic_component as a parameter") except: quadratic_component = None the_objective = lp.getObjective() for the_variable, the_reaction in zip(lp.variables, cobra_model.reactions): the_variable.setUB(float(the_reaction.upper_bound)) the_variable.setLB(float(the_reaction.lower_bound)) the_objective.setLinearCoef(the_variable, the_reaction.objective_coefficient) ### def solve_problem(lp, **kwargs): """A performance tunable method for solving a problem """ #Update parameter settings if provided if kwargs: [set_parameter(lp, parameter_mappings[k], v) for k, v in iteritems(kwargs) if k in parameter_mappings] try: the_problem = kwargs['the_problem'] except: the_problem = False if isinstance(the_problem, __solver_class): try: the_basis = the_problem.solution.basis.get_basis() lp.start.set_basis(the_basis[0],the_basis[1]) lp.parameters.preprocessing.presolve.set(0) except: warn("cplex_java isn't yet configured to reuse the basis") lp.solve() #If the solver takes more than 0.1 s with a hot start it is likely stuck status = get_status(lp) return status def solve(cobra_model, **kwargs): """ """ #Start out with default parameters and then modify if #new onese are provided the_parameters = deepcopy(parameter_defaults) if kwargs: the_parameters.update(kwargs) #Update objectives if they are new. if 'new_objective' in the_parameters: raise ValueError("new_objective option removed") if 'the_problem' in the_parameters: the_problem = the_parameters['the_problem'] else: the_problem = None if 'error_reporting' in the_parameters: error_reporting = the_parameters['error_reporting'] else: error_reporting = False if isinstance(the_problem, __solver_class): #Update the problem with the current cobra_model lp = the_problem update_problem(lp, cobra_model, **the_parameters) else: #Create a new problem lp = create_problem(cobra_model, **the_parameters) #Deprecated way for returning a solver problem created from a cobra_model #without performing optimization if the_problem == 'setup': return lp ###Try to solve the problem using other methods if the first method doesn't work try: lp_method = the_parameters['lp_method'] except: lp_method = 1 the_methods = [1, 2, 3, 4, 5, 6] if lp_method in the_methods: the_methods.remove(lp_method) #Start with the user specified method the_methods.insert(0, lp_method) for the_method in the_methods: the_parameters['lp_method'] = the_method try: status = solve_problem(lp, **the_parameters) except: status = 'failed' if status == 'optimal': break the_solution = format_solution(lp, cobra_model) if status != 'optimal' and error_reporting: print('{:s} failed: {:s}'.format(solver_name, status)) cobra_model.solution = the_solution solution = {'the_problem': lp, 'the_solution': the_solution} return solution cobrapy-0.4.0b6/cobra/solvers/esolver.py000066400000000000000000000142161263606473700202400ustar00rootroot00000000000000from subprocess import check_output, check_call, CalledProcessError from os import unlink, devnull from os.path import isfile from tempfile import NamedTemporaryFile from fractions import Fraction from six.moves import zip from . import cglpk from .wrappers import * # detect paths to system calls for esolver and gzip with open(devnull, "w") as DEVNULL: try: ESOLVER_COMMAND = check_output(["which", "esolver"], stderr=DEVNULL).strip() __esolver_version__ = check_output(["esolver", "-v"], stderr=DEVNULL) except CalledProcessError: raise RuntimeError("esolver command not found") try: GZIP_COMMAND = check_output(["which", "gzip"], stderr=DEVNULL).strip() except CalledProcessError: raise RuntimeError("gzip command not found") del DEVNULL solver_name = "esolver" class Esolver(cglpk.GLP): """contain an LP which will be solved through the QSopt_ex The LP is stored using a GLPK object, and written out to an LP file which is then solved by the esolver command.""" def __init__(self, cobra_model=None): cglpk.GLP.__init__(self, cobra_model) self.solution_filepath = None self.basis_filepath = None self.rational_solution = False self.verbose = False self.clean_up = True # clean up files def _clean(self, filename): """remove old files""" if self.clean_up and filename is not None and isfile(filename): unlink(filename) def set_parameter(self, parameter_name, value): if parameter_name == "GLP": raise Exception("can not be set this way") if parameter_name == "objective_sense": self.set_objective_sense(value) if not hasattr(self, parameter_name): raise ValueError("Unkonwn parameter '%s'" % parameter_name) setattr(self, parameter_name, value) def solve_problem(self, **solver_parameters): if "objective_sense" in solver_parameters: self.set_objective_sense(solver_parameters.pop("objective_sense")) for key, value in solver_parameters.items(): self.set_parameter(key, value) # remove the old solution file self._clean(self.solution_filepath) with NamedTemporaryFile(suffix=".lp", delete=False) as f: lp_filepath = f.name self.write(lp_filepath) existing_basis = self.basis_filepath with NamedTemporaryFile(suffix=".bas", delete=False) as f: self.basis_filepath = f.name with NamedTemporaryFile(suffix=".sol") as f: self.solution_filepath = f.name command = [ESOLVER_COMMAND, "-b", self.basis_filepath, "-O", self.solution_filepath[:-4]] if existing_basis is not None and isfile(existing_basis): command.extend(["-B", existing_basis]) command.extend(["-L", lp_filepath]) command_kwargs = {} if self.verbose: print(" ".join(command)) DEVNULL = None else: DEVNULL = open(devnull, 'wb') command_kwargs["stdout"] = DEVNULL command_kwargs["stderr"] = DEVNULL try: check_call(command, **command_kwargs) failed = False except CalledProcessError as e: failed = True if failed: self.basis_filepath = existing_basis existing_basis = None # Sometimes on failure a solution isn't written out if not isfile(self.solution_filepath): with open(self.solution_filepath, "w") as outfile: outfile.write("=infeasible\n") elif isfile(self.solution_filepath + ".gz"): # the solution may be written out compressed check_call([GZIP_COMMAND, "-d", self.solution_filepath + ".gz"]) if DEVNULL is not None: DEVNULL.close() self._clean(lp_filepath) self._clean(existing_basis) # replaced with the new basis def get_status(self): with open(self.solution_filepath) as infile: return infile.readline().split("=")[1].strip().lower() def _format(self, value): """convert a string value into either a fraction or float""" value = Fraction(value) return value if self.rational_solution else float(value) def get_objective_value(self): with open(self.solution_filepath) as infile: status = infile.readline().split("=")[1].strip().lower() if status != "optimal": raise RuntimeError("status not optimal") infile.readline() return self._format(infile.readline().split("=")[1].strip()) def format_solution(self, cobra_model): m = cobra_model solution = m.solution.__class__(None) with open(self.solution_filepath) as infile: solution.status = infile.readline().split("=")[1].strip().lower() if solution.status != "optimal": return solution infile.readline() solution.f = self._format(Fraction(infile.readline() .split("=")[1].strip())) infile.readline() value_dict = {} for line in infile: if line.endswith(":\n"): break varname, value = line.split("=") value_dict[varname.strip()] = self._format(value.strip()) dual_dict = {} for line in infile: if line.endswith(":\n"): break varname, value = line.split("=") dual_dict[varname.strip()] = self._format(value.strip()) solution.x = [value_dict.get("x_%d" % (i + 1), 0) for i in range(len(m.reactions))] solution.x_dict = {r.id: v for r, v in zip(m.reactions, solution.x)} solution.y = [dual_dict.get("r_%d" % (i + 1), 0) for i in range(len(m.metabolites))] solution.y_dict = {m.id: v for m, v in zip(m.metabolites, solution.y)} return solution # wrappers for the classmethods at the module level create_problem = Esolver.create_problem solve = Esolver.solve cobrapy-0.4.0b6/cobra/solvers/glpk.pxd000066400000000000000000000133211263606473700176550ustar00rootroot00000000000000#inspired by sage/src/sage/numerical/backends/glpk_backend.pxd cdef extern from "glpk.h": ctypedef struct glp_prob "glp_prob": pass ctypedef struct glp_iocp "glp_iocp": int msg_lev int br_tech int bt_tech int pp_tech int fp_heur int gmi_cuts int mir_cuts int cov_cuts int clq_cuts double tol_int double tol_obj double mip_gap int tm_lim int out_frq int out_dly int presolve int binarize ctypedef struct glp_smcp "glp_smcp": int msg_lev int meth int pricing int r_test double tol_bnd double tol_dj double tol_piv double obj_ll double obj_ul int it_lim int tm_lim int out_frq int out_dly int presolve glp_iocp * new_glp_iocp "new glp_iocp" () void glp_init_iocp(glp_iocp *) void glp_init_smcp(glp_smcp *) glp_prob * glp_create_prob() void glp_set_prob_name(glp_prob *, char *) void glp_set_obj_dir(glp_prob *, int) void glp_add_rows(glp_prob *, int) void glp_add_cols(glp_prob *, int) void glp_del_rows(glp_prob *, int, int *) void glp_set_row_name(glp_prob *, int, char *) void glp_set_col_name(glp_prob *, int, char *) void glp_set_row_bnds(glp_prob *, int, int, double, double) void glp_set_col_bnds(glp_prob *, int, int, double, double) void glp_set_obj_coef(glp_prob *, int, double) void glp_load_matrix(glp_prob *, int, int *, int *, double *) int glp_simplex(glp_prob *, glp_smcp *) int glp_exact(glp_prob *, glp_smcp *) # requires gmp int glp_intopt(glp_prob *, glp_iocp *) void glp_std_basis(glp_prob *) void glp_delete_prob(glp_prob *) double glp_get_col_prim(glp_prob *, int) double glp_get_obj_val(glp_prob *) double glp_get_col_dual(glp_prob *, int) double glp_get_row_dual(glp_prob *, int) int glp_print_ranges(glp_prob *lp, int,int, int, char *fname) int glp_get_num_rows(glp_prob *) int glp_get_num_cols(glp_prob *) int glp_get_num_int(glp_prob *) double glp_mip_col_val(glp_prob *, int) double glp_mip_obj_val(glp_prob *) void glp_set_col_kind(glp_prob *, int, int) int glp_write_mps(glp_prob *lp, int fmt, void *parm, char *fname) int glp_write_lp(glp_prob *lp, void *parm, char *fname) int glp_write_prob(glp_prob *P, int flags, char *fname) int glp_read_prob(glp_prob *P, int flags, char *fname) void glp_set_prob_name(glp_prob *lp, char *name) void glp_set_obj_name(glp_prob *lp, char *name) void glp_set_row_name(glp_prob *lp, int i, char *name) void glp_set_col_name(glp_prob *lp, int i, char *name) double glp_get_row_ub(glp_prob *lp, int i) double glp_get_row_lb(glp_prob *lp, int i) double glp_get_col_ub(glp_prob *lp, int i) double glp_get_col_lb(glp_prob *lp, int i) void glp_set_col_ub(glp_prob *lp, int i, double value) void glp_set_col_lb(glp_prob *lp, int i, double value) void glp_create_index(glp_prob *P) int glp_find_row(glp_prob *P, const char *name) int glp_find_col(glp_prob *P, const char *name) void glp_delete_index(glp_prob *P) double glp_get_col_lb(glp_prob *lp, int i) double glp_get_col_ub(glp_prob *lp, int i) void glp_scale_prob(glp_prob *lp, int flags) void glp_unscale_prob(glp_prob *lp) int glp_get_prim_stat(glp_prob *lp) int glp_get_status(glp_prob *lp) int glp_mip_status(glp_prob *lp) int glp_get_num_nz(glp_prob *lp) int glp_set_mat_row(glp_prob *lp, int, int, int *, double * ) int glp_set_mat_col(glp_prob *lp, int, int, int *, double * ) int glp_get_mat_row(glp_prob *lp, int, int *, double * ) int glp_get_mat_col(glp_prob *lp, int, int *, double * ) double glp_get_row_ub(glp_prob *lp, int) double glp_get_row_lb(glp_prob *lp, int) int glp_get_col_kind(glp_prob *lp, int) double glp_get_obj_coef(glp_prob *lp, int) int glp_get_obj_dir(glp_prob *lp) void glp_copy_prob(glp_prob *dst, glp_prob *src, int names) const char *glp_version() # output redirection int glp_term_out(int flag) void glp_term_hook(int (*func)(void *info, const char *s), void *info) int glp_warm_up(glp_prob *P) void glp_adv_basis(glp_prob *P, int flags) # constants # constants for smcp control int GLP_MSG_OFF int GLP_MSG_ERR int GLP_MSG_ON int GLP_MSG_ALL int GLP_PRIMAL int GLP_DUALP int GLP_DUAL int GLP_PT_STD int GLP_PT_PSE int GLP_RT_STD int GLP_RT_HAR double DBL_MAX int INT_MAX int GLP_ON int GLP_OFF # constants for scaling the problem int GLP_SF_AUTO int GLP_SF_GM int GLP_SF_EQ int GLP_SF_2N int GLP_SF_SKIP # constants for iocp control, not already in simplex int GLP_BR_FFV int GLP_BR_LFV int GLP_BR_MFV int GLP_BR_DTH int GLP_BR_PCH int GLP_BT_DFS int GLP_BT_BFS int GLP_BT_BLB int GLP_BT_BPH int GLP_PP_NONE int GLP_PP_ROOT int GLP_PP_ALL # error codes int GLP_EBADB int GLP_ESING int GLP_ECOND int GLP_EBOUND int GLP_EFAIL int GLP_EOBJLL int GLP_EOBJUL int GLP_EITLIM int GLP_ETMLIM int GLP_ENOPFS int GLP_ENODFS int GLP_EROOT int GLP_ESTOP int GLP_EMIPGAP int GLP_ENOFEAS int GLP_ENOCVG int GLP_EINSTAB int GLP_EDATA int GLP_ERANGE int GLP_UNDEF int GLP_OPT int GLP_FEAS int GLP_NOFEAS int GLP_INFEAS int GLP_UNBND # other constants int GLP_MAX int GLP_MIN int GLP_UP int GLP_FR int GLP_DB int GLP_FX int GLP_LO int GLP_CV int GLP_IV int GLP_BV int GLP_MPS_DECK int GLP_MPS_FILE int GLP_MSG_DBG cobrapy-0.4.0b6/cobra/solvers/glpk_solver.py000066400000000000000000000227001263606473700211050ustar00rootroot00000000000000##cobra.solvers.glpk_solver #This script provides wrappers for pyglpk 0.3 from warnings import warn from copy import deepcopy try: # Import izip for python versions < 3.x from itertools import izip as zip except ImportError: pass from six import iteritems from glpk import LPX from ..core.Solution import Solution solver_name = 'glpk' _SUPPORTS_MILP = True # solver specific parameters variable_kind_dict = {'continuous': float, 'integer': int} status_dict = {'opt': 'optimal', 'nofeas': 'infeasible', 'unbnd': 'unbounded'} parameter_defaults = { 'tolerance_feasibility': 1e-6, 'tolerance_integer': 1e-9, 'lp_method': 1 } METHOD_TYPES = {"auto": 2, "primal": 1, "dual": 3} def get_status(lp): status = lp.status if status in status_dict: status = status_dict[status] else: status = 'failed' return status def get_objective_value(lp): return lp.obj.value def format_solution(lp, cobra_model, **kwargs): status = get_status(lp) if status == 'optimal': sol = Solution(lp.obj.value, status=status) sol.x = [float(c.primal) for c in lp.cols] sol.x_dict = {c.name: c.primal for c in lp.cols} # return the duals as well as the primals for LPs if lp.kind == float: sol.y = [float(c.dual) for c in lp.rows] sol.y_dict = {c.name: c.dual for c in lp.rows} return sol return Solution(None, status=status) def set_parameter(lp, parameter_name, parameter_value): """with pyglpk the parameters are set during the solve phase, with the exception of objective sense. """ if parameter_name == 'objective_sense': if parameter_value.lower() == 'maximize': lp.obj.maximize = True elif parameter_value.lower() == 'minimize': lp.obj.maximize = False else: raise ValueError("objective_sense should be " "'maximize' or 'minimize'") else: # This will be made into an exception in the future warn("pyglpk parameters (other than objective_sense) are set " "during solve_problem") def create_problem(cobra_model, **kwargs): """Solver-specific method for constructing a solver problem from a cobra.Model. This can be tuned for performance using kwargs """ metabolite_to_index = {r: i for i, r in enumerate(cobra_model.metabolites)} lp = LPX() # Create empty problem instance lp.name = 'cobra' # Assign symbolic name to problem lp.rows.add(len(cobra_model.metabolites)) lp.cols.add(len(cobra_model.reactions)) for r, the_metabolite in zip(lp.rows, cobra_model.metabolites): r.name = the_metabolite.id b = float(the_metabolite._bound) c = the_metabolite._constraint_sense if c == 'E': r.bounds = b, b # Set metabolite to steady state levels elif c == 'L': r.bounds = None, b elif c == 'G': r.bounds = b, None else: raise ValueError("invalid constraint sense") objective_coefficients = [] linear_constraints = [] for c, the_reaction in zip(lp.cols, cobra_model.reactions): c.name = the_reaction.id c.kind = variable_kind_dict[the_reaction.variable_kind] c.bounds = the_reaction.lower_bound, the_reaction.upper_bound objective_coefficients.append(float(the_reaction.objective_coefficient)) for metabolite, coefficient in iteritems(the_reaction._metabolites): metabolite_index = metabolite_to_index[metabolite] linear_constraints.append((metabolite_index, c.index, coefficient)) #Add the new objective coefficients to the problem lp.obj[:] = objective_coefficients #Need to assign lp.matrix after constructing the whole list #linear_constraints.sort() # if we wanted to be 100% deterministic lp.matrix = linear_constraints # make sure the objective sense is set in create_problem objective_sense = kwargs.get("objective_sense", "maximize") set_parameter(lp, "objective_sense", objective_sense) return lp def change_variable_bounds(lp, index, lower_bound, upper_bound): lp.cols[index].bounds = (lower_bound, upper_bound) def change_variable_objective(lp, index, objective): lp.obj[index] = objective def update_problem(lp, cobra_model, **kwargs): """A performance tunable method for updating a model problem file lp: A gurobi problem object cobra_model: the cobra.Model corresponding to 'lp' """ #When reusing the basis only assume that the objective coefficients or bounds can change #BUG with changing / unchanging the basis index_to_metabolite = dict(zip(range(len(cobra_model.metabolites)), cobra_model.metabolites)) index_to_reaction = dict(zip(range(len(cobra_model.reactions)), cobra_model.reactions)) reaction_to_index = dict(zip(index_to_reaction.values(), index_to_reaction.keys())) try: new_objective = kwargs['new_objective'] except: new_objective = None if new_objective is not None: objective_coefficients = [] for c in lp.cols: # Iterate over all rows the_reaction = index_to_reaction[c.index] c.name = the_reaction.id c.bounds = the_reaction.lower_bound, the_reaction.upper_bound objective_coefficients.append(float(the_reaction.objective_coefficient)) c.kind = variable_kind_dict[the_reaction.variable_kind] #Add the new objective coefficients to the problem lp.obj[:] = objective_coefficients else: for c in lp.cols: # Iterate over all rows the_reaction = index_to_reaction[c.index] c.name = the_reaction.id c.bounds = the_reaction.lower_bound, the_reaction.upper_bound c.kind = variable_kind_dict[the_reaction.variable_kind] def change_coefficient(lp, met_index, rxn_index, value): col = lp.cols[rxn_index] mat = col.matrix for i, entry in enumerate(mat): if entry[0] == met_index: mat[i] = (met_index, value) col.matrix = mat return # need to append mat.append((met_index, value)) col.matrix = mat def solve_problem(lp, **kwargs): """A performance tunable method for updating a model problem file lp: a pyGLPK 0.3 problem For pyGLPK it is necessary to provide the following parameters, if they are not provided then the default settings will be used: tolerance_feasibility, tolerance_integer, lp_method, and objective_sense """ parameters = parameter_defaults.copy() parameters.update(kwargs) if "quadratic_component" in parameters: if parameters.pop('quadratic_component') is not None: raise Exception('glpk cannot solve QPs') lp_args = {} # only for lp extra_args = {} # added to both lp and milp lp_args["tol_bnd"] = parameters.pop("tolerance_feasibility") lp_args["tol_dj"] = lp_args["tol_bnd"] method = parameters.pop("lp_method") if isinstance(method, int): lp_args["meth"] = method else: lp_args["meth"] = METHOD_TYPES[method] if "time_limit" in parameters: extra_args["tm_lim"] = int(parameters.pop("time_limit") * 1000) if "iteration_limit" in parameters: extra_args["it_lim"] = parameters.pop("iteration_limit") if "objective_sense" in parameters: set_parameter(lp, "objective_sense", parameters.pop("objective_sense")) tol_int = parameters.pop("tolerance_integer") if len(parameters) > 0: raise ValueError("Unknown parameters: " + ", ".join(parameters)) lp_args.update(extra_args) # solve the problem lp.simplex(**lp_args) if lp.kind == int: # For MILPs, it is faster to solve LP then move to MILP lp.integer(tol_int=tol_int, **extra_args) return get_status(lp) def solve(cobra_model, **kwargs): """Smart interface to optimization solver functions that will convert the cobra_model to a solver object, set the parameters, and try multiple methods to get an optimal solution before returning the solver object and a cobra.Solution (which is attached to cobra_model.solution) cobra_model: a cobra.Model returns a dict: {'the_problem': solver specific object, 'the_solution': cobra.Solution for the optimization problem'} """ #Start out with default parameters and then modify if #new onese are provided the_parameters = deepcopy(parameter_defaults) if kwargs: the_parameters.update(kwargs) for i in ["new_objective", "update_problem", "the_problem"]: if i in the_parameters: raise Exception("Option %s removed" % i) if 'error_reporting' in the_parameters: warn("error_reporting deprecated") #Create a new problem lp = create_problem(cobra_model, **the_parameters) ###Try to solve the problem using other methods if the first method doesn't work lp_method = the_parameters['lp_method'] the_methods = [1, 2, 3] if lp_method in the_methods: the_methods.remove(lp_method) #Start with the user specified method the_methods.insert(0, lp_method) for the_method in the_methods: the_parameters['lp_method'] = the_method try: status = solve_problem(lp, **the_parameters) except Exception as e: status = 'failed' if status == 'optimal': break return format_solution(lp, cobra_model) cobrapy-0.4.0b6/cobra/solvers/glpk_solver_java.py000066400000000000000000000337001263606473700221100ustar00rootroot00000000000000# PLEASE NOTE THAT JYTHON SUPPORT (and this jython-only-solver) is deprecated #This script provides wrappers for libglpk-java 1.0.22 and pyglpk 0.3 from __future__ import print_function from warnings import warn from copy import deepcopy ###solver specific parameters from .parameters import status_dict, variable_kind_dict, \ sense_dict, parameter_mappings, parameter_defaults, \ objective_senses, default_objective_sense from ..core.Solution import Solution from time import time from six import iteritems solver_name = 'glpk' sense_dict = eval(sense_dict[solver_name]) #Functions that are different for java implementation of a solver from os import name if name != "java": raise Exception("jython only") warn("cobra.solvers.glpk_solver isn't mature. consider using gurobi or cplex") from org.gnu.glpk import GLPK, GLPKConstants, glp_smcp, glp_iocp variable_kind_dict = eval(variable_kind_dict['%s_%s'%(solver_name, __name)]) status_dict = eval(status_dict['%s_%s'%(solver_name, __name)]) objective_senses = objective_senses['%s_%s'%(solver_name, __name)] parameter_mappings = parameter_mappings['%s_%s'%(solver_name, __name)] parameter_defaults = parameter_defaults['%s_%s'%(solver_name, __name)] class Problem(): """Create a more pythonesqe class to wrap the key features of the libglpk-java functions. """ def __init__(self): """the attributes g, lp, mip should be made private """ self._g = GLPK self._lp= GLPK.glp_create_prob() self._simplex_parameters = glp_smcp() self._mip_parameters = None self._g.glp_init_smcp(self._simplex_parameters) self.status = self.objective_value = None self._mip = False def set_name(self, name=''): self._g.glp_set_prob_name(self._lp, name) def solve(self): try: self._g.glp_simplex(self._lp, self._simplex_parameters) if self._mip: #perform the MIP setattr(self._mip_parameters, 'msg_lev', self._simplex_parameters.msg_lev) self._g.glp_intopt(self._lp, self._mip_parameters) self.status = self.get_status() self.objective_value = self.get_objective_value() except: self.status = 'failed' return self.status def get_status(self): if self._mip: status = self._g.glp_mip_status(self._lp) else: status = self._g.glp_get_status(self._lp) return status_dict[status] def set_objective_sense(self, parameter_value='maximize'): self._g.glp_set_obj_dir(self._lp, eval(objective_senses[parameter_value])) def set_parameter(self, parameter_name, parameter_value, warning=False): if parameter_name == 'objective_sense': self.set_objective_sense(parameter_value) else: if parameter_name == 'meth' and parameter_value not in [1,2,3]: parameter_value = 1 try: setattr(self._simplex_parameters, parameter_name, parameter_value) except Exception as e1: try: setattr(self._mip_parameters, parameter_name, parameter_value) except Exception as e2: if warning: print("Could not set simplex parameter " +\ "{:s}: {:s}".format(parameter_name, repr(e1))) if self._mip_parameters is not None: print("Could not set mip parameter " +\ "{:s}: {:s}".format(parameter_name, repr(e2))) def get_objective_value(self): if self._mip: tmp_value = self._g.glp_mip_obj_val(self._lp) else: tmp_value = self._g.glp_get_obj_val(self._lp) return tmp_value def create_problem(self, cobra_model): g = self._g lp = self._lp number_of_reactions = len(cobra_model.reactions) number_of_metabolites = len(cobra_model.metabolites) g.glp_add_cols(lp, number_of_reactions) reaction_to_index = {} objective_dict = {} #Add in the variables tmp_kinds = [] for i, the_reaction in enumerate(cobra_model.reactions): i_offset = i + 1 reaction_to_index[the_reaction] = i_offset if the_reaction.objective_coefficient != 0: objective_dict[i_offset] = the_reaction.objective_coefficient g.glp_set_col_name(lp, i_offset, the_reaction.id) tmp_kinds.append(the_reaction.variable_kind) the_kind = variable_kind_dict[the_reaction.variable_kind] lower_bound = the_reaction.lower_bound upper_bound = the_reaction.upper_bound #Note. It is possible to have unbounded or one-bound variables if lower_bound == upper_bound: bound_kind = GLPKConstants.GLP_FX else: bound_kind = GLPKConstants.GLP_DB g.glp_set_col_kind(lp, i_offset, the_kind) g.glp_set_col_bnds(lp, i_offset, bound_kind, the_reaction.lower_bound, the_reaction.upper_bound) tmp_kinds = set(tmp_kinds) if 'integer' in tmp_kinds or 'binary' in tmp_kinds: self._mip = True self._mip_parameters = glp_iocp() g.glp_init_iocp(self._mip_parameters) #create constraints g.glp_add_rows(lp, number_of_metabolites) row_indices = [] column_indices = [] constraint_values = [] for i, the_metabolite in enumerate(cobra_model.metabolites): i_offset = i + 1 g.glp_set_row_name(lp, i_offset, the_metabolite.id) lower_bound = upper_bound = the_metabolite._bound constraint_sense = sense_dict[the_metabolite._constraint_sense] if constraint_sense == 'E': bound_type = GLPKConstants.GLP_FX elif constraint_sense == 'L': bound_type = GLPKConstants.GLP_UP elif constraint_sense == 'G': bound_type = GLPKConstants.GLP_LO elif constraint_sense == 'U': bound_type = GLPKConstants.GLP_FR elif hasattr(lower_bound, '__iter__'): lower_bound, upper_bound = lower_bound[:2] bound_type = GLPKConstants.GLP_DB g.glp_set_row_bnds(lp, i_offset, bound_type, lower_bound, upper_bound) [(row_indices.append(i_offset), column_indices.append(reaction_to_index[k]), constraint_values.append(k._metabolites[the_metabolite])) for k in the_metabolite._reaction] #Load the constraints into the lp. Need to use #typed arrays. number_of_constraints = len(row_indices) i_array = g.new_intArray(number_of_constraints) j_array = g.new_intArray(number_of_constraints) v_array = g.new_doubleArray(number_of_constraints) for a, (i, j, v) in enumerate(zip(row_indices, column_indices, constraint_values)): g.intArray_setitem(i_array, a+1, i) g.intArray_setitem(j_array, a+1, j) g.doubleArray_setitem(v_array, a+1, v) g.glp_load_matrix(lp, number_of_constraints, i_array, j_array, v_array) # the following lines often cause memory crashes g.delete_intArray(i_array) g.delete_intArray(j_array) g.delete_doubleArray(v_array) g.glp_set_obj_name(lp, "z") [g.glp_set_obj_coef(lp, k, v) for k, v in iteritems(objective_dict)] __solver_class = Problem def set_parameter(lp, parameter_name, parameter_value): lp.set_parameter(parameter_name, parameter_value) def get_status(lp): return lp.get_status() def format_solution(lp, cobra_model, **kwargs): """ """ status = get_status(lp) if not lp._mip: try: x = [lp._g.glp_get_col_prim(lp._lp, i + 1) for i in range(len(cobra_model.reactions))] x_dict = dict(zip(cobra_model.reactions, x)) y = [lp._g.glp_get_row_dual(lp._lp, i + 1) for i in range(len(cobra_model.metabolites))] y_dict = dict(zip(cobra_model.metabolites, y)) objective_value = lp.objective_value except Exception as e: print(repr(e)) y = y_dict = x = x_dict = objective_value = None #print status else: try: x = [lp._g.glp_mip_col_val(lp._lp, i + 1) for i in range(len(cobra_model.reactions))] x_dict = dict(zip(cobra_model.reactions, x)) y = y_dict = None objective_value = lp.objective_value except: y = y_dict = x = x_dict = objective_value = None return(Solution(objective_value, x=x, x_dict=x_dict, y=y, y_dict=y_dict, status=status)) def create_problem(cobra_model, **kwargs): """Solver-specific method for constructing a solver problem from a cobra.Model. This can be tuned for performance using kwargs """ the_parameters = parameter_defaults if kwargs: the_parameters = deepcopy(parameter_defaults) the_parameters.update(kwargs) quadratic_component = the_parameters['quadratic_component'] new_objective = the_parameters['new_objective'] if quadratic_component is not None: raise Exception('%s cannot solve QPs, try a different solver'%solver_name) lp = Problem() # Create empty problem instance lp.create_problem(cobra_model) [set_parameter(lp, parameter_mappings[k], v) for k, v in iteritems(the_parameters) if k in parameter_mappings] return(lp) def update_problem(lp, cobra_model, **kwargs): """ Assumes that neither Metabolites nor Reaction have been added or removed. Currently only deals with reaction bounds and objective coefficients. """ g = lp._g l = lp._lp for i, the_reaction in enumerate(cobra_model.reactions): lower_bound = float(the_reaction.lower_bound) upper_bound = float(the_reaction.upper_bound) objective_coefficient = float(the_reaction.objective_coefficient) if lower_bound == upper_bound: bound_type = GLPKConstants.GLP_FX else: bound_type = GLPKConstants.GLP_DB g.glp_set_col_bnds(l, i + 1, bound_type, lower_bound, upper_bound) g.glp_set_obj_coef(l, i + 1, objective_coefficient) def solve_problem(lp, **kwargs): """A performance tunable method for updating a model problem file """ #Update parameter settings if provided if kwargs: [set_parameter(lp, parameter_mappings[k], v) for k, v in iteritems(kwargs) if k in parameter_mappings] try: print_solver_time = kwargs['print_solver_time'] start_time = time() except: print_solver_time = False lp_method = lp._simplex_parameters.meth lp.solve() status = get_status(lp) if print_solver_time: print('optimize time: {:f}'.format(time() - start_time)) return status def solve(cobra_model, **kwargs): """Smart interface to optimization solver functions that will convert the cobra_model to a solver object, set the parameters, and try multiple methods to get an optimal solution before returning the solver object and a cobra.Solution (which is attached to cobra_model.solution) cobra_model: a cobra.Model returns a dict: {'the_problem': solver specific object, 'the_solution': cobra.Solution for the optimization problem'} """ #Start out with default parameters and then modify if #new onese are provided the_parameters = deepcopy(parameter_defaults) if kwargs: the_parameters.update(kwargs) #Update objectives if they are new. error_reporting = the_parameters['error_reporting'] if 'new_objective' in the_parameters and \ the_parameters['new_objective'] not in ['update problem', None]: from ..flux_analysis.objective import update_objective update_objective(cobra_model, the_parameters['new_objective']) if 'the_problem' in the_parameters: the_problem = the_parameters['the_problem'] else: the_problem = None if isinstance(the_problem, __solver_class): #Update the problem with the current cobra_model lp = the_problem update_problem(lp, cobra_model, **the_parameters) else: #Create a new problem lp = create_problem(cobra_model, **the_parameters) #Deprecated way for returning a solver problem created from a cobra_model #without performing optimization if the_problem == 'setup': return lp ###Try to solve the problem using other methods if the first method doesn't work lp_method = the_parameters['lp_method'] the_methods = [1, 2, 3] if lp_method in the_methods: the_methods.remove(lp_method) #Start with the user specified method the_methods.insert(0, lp_method) for the_method in the_methods: the_parameters['lp_method'] = the_method try: status = solve_problem(lp, **the_parameters) except: status = 'failed' if status == 'optimal': break the_solution = format_solution(lp, cobra_model) if status != 'optimal' and error_reporting: print('{:s} failed: {:s}'.format(solver_name, status)) cobra_model.solution = the_solution solution = {'the_problem': lp, 'the_solution': the_solution} return solution cobrapy-0.4.0b6/cobra/solvers/gurobi_solver.py000066400000000000000000000241611263606473700214420ustar00rootroot00000000000000# Interface to gurobipy from warnings import warn from multiprocessing import Process import platform try: # Import izip for python versions < 3.x from itertools import izip as zip except ImportError: pass def test_import(): """Sometimes trying to import gurobipy can segfault. To prevent this from crashing everything, ensure it can be imported in a separate process.""" try: import gurobipy except ImportError: pass if platform.system() != "Windows": # https://github.com/opencobra/cobrapy/issues/207 p = Process(target=test_import) p.start() p.join() if p.exitcode != 0: raise RuntimeError("importing gurobi causes a crash (exitcode %d)" % p.exitcode) from gurobipy import Model, LinExpr, GRB, QuadExpr from ..core.Solution import Solution from six import string_types, iteritems try: from sympy import Basic, Number except: class Basic: pass Number = Basic def _float(value): if isinstance(value, Basic) and not isinstance(value, Number): return 0. else: return float(value) solver_name = 'gurobi' _SUPPORTS_MILP = True # set solver-specific parameters parameter_defaults = {'objective_sense': 'maximize', 'tolerance_optimality': 1e-6, 'tolerance_feasibility': 1e-6, 'tolerance_integer': 1e-9, # This is primal simplex, default is -1 (automatic) 'lp_method': 0, 'verbose': False, 'log_file': ''} parameter_mappings = {'log_file': 'LogFile', 'lp_method': 'Method', 'threads': 'Threads', 'objective_sense': 'ModelSense', 'output_verbosity': 'OutputFlag', 'verbose': 'OutputFlag', 'quadratic_precision': 'Quad', 'time_limit': 'TimeLimit', 'tolerance_feasibility': 'FeasibilityTol', 'tolerance_markowitz': 'MarkowitzTol', 'tolerance_optimality': 'OptimalityTol', 'iteration_limit': 'IterationLimit', 'tolerance_barrier': 'BarConvTol', 'tolerance_integer': 'IntFeasTol', 'MIP_gap_abs': 'MIPGapAbs', 'MIP_gap': 'MIPGap'} # http://www.gurobi.com/documentation/5./6/reference-manual/method METHODS = {"auto": -1, "primal": 0, "dual": 1, "barrier": 2, "concurrent": 3, "deterministic concurrent": 4} variable_kind_dict = {'continuous': GRB.CONTINUOUS, 'integer': GRB.INTEGER} sense_dict = {'E': GRB.EQUAL, 'L': GRB.LESS_EQUAL, 'G': GRB.GREATER_EQUAL} objective_senses = {'maximize': GRB.MAXIMIZE, 'minimize': GRB.MINIMIZE} status_dict = {GRB.OPTIMAL: 'optimal', GRB.INFEASIBLE: 'infeasible', GRB.UNBOUNDED: 'unbounded', GRB.TIME_LIMIT: 'time_limit'} def get_status(lp): status = lp.status if status in status_dict: status = status_dict[status] else: status = 'failed' return status def get_objective_value(lp): return lp.ObjVal def format_solution(lp, cobra_model, **kwargs): status = get_status(lp) if status not in ('optimal', 'time_limit'): the_solution = Solution(None, status=status) else: objective_value = lp.ObjVal x = [v.X for v in lp.getVars()] x_dict = {r.id: value for r, value in zip(cobra_model.reactions, x)} if lp.isMIP: y = y_dict = None # MIP's don't have duals else: y = [c.Pi for c in lp.getConstrs()] y_dict = {m.id: value for m, value in zip(cobra_model.metabolites, y)} the_solution = Solution(objective_value, x=x, x_dict=x_dict, y=y, y_dict=y_dict, status=status) return(the_solution) def set_parameter(lp, parameter_name, parameter_value): if parameter_name == 'ModelSense' or parameter_name == "objective_sense": lp.setAttr('ModelSense', objective_senses[parameter_value]) elif parameter_name == 'reuse_basis' and not parameter_value: lp.reset() else: parameter_name = parameter_mappings.get(parameter_name, parameter_name) if parameter_name == "Method" and isinstance(parameter_value, string_types): parameter_value = METHODS[parameter_value] lp.setParam(parameter_name, parameter_value) def change_variable_bounds(lp, index, lower_bound, upper_bound): variable = lp.getVarByName(str(index)) variable.lb = lower_bound variable.ub = upper_bound def change_variable_objective(lp, index, objective): variable = lp.getVarByName(str(index)) variable.obj = objective def change_coefficient(lp, met_index, rxn_index, value): met = lp.getConstrByName(str(met_index)) rxn = lp.getVarByName(str(rxn_index)) lp.chgCoeff(met, rxn, value) def update_problem(lp, cobra_model, **kwargs): """A performance tunable method for updating a model problem file lp: A gurobi problem object cobra_model: the cobra.Model corresponding to 'lp' """ #When reusing the basis only assume that the objective coefficients or bounds can change try: quadratic_component = kwargs['quadratic_component'] if quadratic_component is not None: warn("update_problem does not yet take quadratic_component as a parameter") except: quadratic_component = None if 'copy_problem' in kwargs and kwargs['copy_problem']: lp = lp.copy() if 'reuse_basis' in kwargs and not kwargs['reuse_basis']: lp.reset() for the_variable, the_reaction in zip(lp.getVars(), cobra_model.reactions): the_variable.lb = float(the_reaction.lower_bound) the_variable.ub = float(the_reaction.upper_bound) the_variable.obj = float(the_reaction.objective_coefficient) def create_problem(cobra_model, quadratic_component=None, **kwargs): """Solver-specific method for constructing a solver problem from a cobra.Model. This can be tuned for performance using kwargs """ lp = Model("") the_parameters = parameter_defaults if kwargs: the_parameters = parameter_defaults.copy() the_parameters.update(kwargs) for k, v in iteritems(the_parameters): set_parameter(lp, k, v) # Create variables #TODO: Speed this up variable_list = [lp.addVar(_float(x.lower_bound), _float(x.upper_bound), float(x.objective_coefficient), variable_kind_dict[x.variable_kind], str(i)) for i, x in enumerate(cobra_model.reactions)] reaction_to_variable = dict(zip(cobra_model.reactions, variable_list)) # Integrate new variables lp.update() #Constraints are based on mass balance #Construct the lin expression lists and then add #TODO: Speed this up as it takes about .18 seconds #HERE for i, the_metabolite in enumerate(cobra_model.metabolites): constraint_coefficients = [] constraint_variables = [] for the_reaction in the_metabolite._reaction: constraint_coefficients.append(_float(the_reaction._metabolites[the_metabolite])) constraint_variables.append(reaction_to_variable[the_reaction]) #Add the metabolite to the problem lp.addConstr(LinExpr(constraint_coefficients, constraint_variables), sense_dict[the_metabolite._constraint_sense.upper()], the_metabolite._bound, str(i)) # Set objective to quadratic program if quadratic_component is not None: set_quadratic_objective(lp, quadratic_component) lp.update() return(lp) def set_quadratic_objective(lp, quadratic_objective): if not hasattr(quadratic_objective, 'todok'): raise Exception('quadratic component must have method todok') variable_list = lp.getVars() linear_objective = lp.getObjective() # If there already was a quadratic expression set, this will be quadratic # and we need to extract the linear component if hasattr(linear_objective, "getLinExpr"): # duck typing linear_objective = linear_objective.getLinExpr() gur_quadratic_objective = QuadExpr() for (index_0, index_1), the_value in quadratic_objective.todok().items(): # gurobi does not multiply by 1/2 (only does v^T Q v) gur_quadratic_objective.addTerms(the_value * 0.5, variable_list[index_0], variable_list[index_1]) # this adds to the existing quadratic objectives lp.setObjective(gur_quadratic_objective + linear_objective) def solve_problem(lp, **kwargs): """A performance tunable method for updating a model problem file """ #Update parameter settings if provided for k, v in iteritems(kwargs): set_parameter(lp, k, v) lp.update() lp.optimize() status = get_status(lp) return status def solve(cobra_model, **kwargs): """ """ for i in ["new_objective", "update_problem", "the_problem"]: if i in kwargs: raise Exception("Option %s removed" % i) if 'error_reporting' in kwargs: warn("error_reporting deprecated") kwargs.pop('error_reporting') #Create a new problem lp = create_problem(cobra_model, **kwargs) ###Try to solve the problem using other methods if the first method doesn't work try: lp_method = kwargs['lp_method'] except: lp_method = 0 the_methods = [0, 2, 1] if lp_method in the_methods: the_methods.remove(lp_method) #Start with the user specified method the_methods.insert(0, lp_method) for the_method in the_methods: try: status = solve_problem(lp, lp_method=the_method) except: status = 'failed' if status == 'optimal': break return format_solution(lp, cobra_model) cobrapy-0.4.0b6/cobra/solvers/gurobi_solver_java.py000066400000000000000000000246571263606473700224550ustar00rootroot00000000000000# PLEASE NOTE THAT JYTHON SUPPORT (and this jython-only-solver) is deprecated #Interface to the gurobi 5.0.1 python and java solvers #QPs are not yet supported on java from __future__ import print_function from warnings import warn from os import name as __name from copy import deepcopy from six import iteritems ###solver specific parameters from .parameters import status_dict, variable_kind_dict, \ sense_dict, parameter_mappings, parameter_defaults, \ objective_senses, default_objective_sense from ..core.Solution import Solution from time import time solver_name = 'gurobi' objective_senses = objective_senses[solver_name] parameter_mappings = parameter_mappings[solver_name] parameter_defaults = parameter_defaults[solver_name] #Functions that are different for java implementation of a solver ## from jarray import array as j_array ## def array(x, variable_type='d'): ## return j_array(x, variable_type) from gurobi import GRB variable_kind_dict = eval(variable_kind_dict[solver_name]) status_dict = eval(status_dict[solver_name]) from gurobi import GRBModel, GRBEnv from gurobi import GRBLinExpr from gurobi import GRBQuadExpr as QuadExpr __solver_class = GRBModel #TODO: Create a pythonesqe class similar to in glpk_solver def Model(name=''): grb_environment = GRBEnv(name) tmp_model = GRBModel(grb_environment) return tmp_model def LinExpr(coefficients, variables): coefficients, variables = map(list, [coefficients, variables]) tmp_expression = GRBLinExpr() tmp_expression.addTerms(coefficients, variables) return tmp_expression def get_status(lp): status = lp.get(GRB.IntAttr.Status) if status in status_dict: status = status_dict[status] else: status = 'failed' return status def set_parameter(lp, parameter_name, parameter_value): """Sets model parameters and attributes. """ grb_environment = lp.getEnv() try: if hasattr(GRB.DoubleParam, parameter_name): grb_environment.set(eval('GRB.DoubleParam.%s'%parameter_name), parameter_value) elif hasattr(GRB.IntParam, parameter_name): grb_environment.set(eval('GRB.IntParam.%s'%parameter_name), parameter_value) elif hasattr(GRB.StringParam, parameter_name): grb_environment.set(eval('GRB.StringParam.%s'%parameter_name), parameter_value) elif hasattr(GRB.IntAttr, parameter_name): if parameter_name == 'ModelSense': parameter_value = objective_senses[parameter_value] lp.set(eval('GRB.IntAttr.%s'%parameter_name), parameter_value) else: warn("%s is not a DoubleParam, IntParam, StringParam, IntAttr"%parameter_name) ## raise Exception("%s is not a DoubleParam, IntParam, StringParam, IntAttr"%parameter_name) except Exception as e: warn("%s %s didn't work %s"%(parameter_name, parameter_value, e)) def get_objective_value(lp): return lp.get(GRB.DoubleAttr.ObjVal) def format_solution(lp, cobra_model, **kwargs): """ """ status = get_status(lp) if status not in ('optimal', 'time_limit'): the_solution = Solution(None, status=status) else: x_dict = dict(((v.get(GRB.StringAttr.VarName), v.get(GRB.DoubleAttr.X)) for v in lp.getVars())) x = [x_dict[v.id] for v in cobra_model.reactions] objective_value = lp.get(GRB.DoubleAttr.ObjVal) if lp.get(GRB.IntAttr.IsMIP) != 0: y = y_dict = None #MIP's don't have duals else: y_dict = dict(((c.get(GRB.StringAttr.ConstrName), c.get(GRB.DoubleAttr.Pi)) for c in lp.getConstrs())) y = list([y_dict[v.id] for v in cobra_model.metabolites]) the_solution = Solution(objective_value, x=x, x_dict=x_dict, y=y, y_dict=y_dict, status=status) return(the_solution) def update_problem(lp, cobra_model, **kwargs): """A performance tunable method for updating a model problem file lp: A gurobi problem object cobra_model: the cobra.Model corresponding to 'lp' """ #When reusing the basis only assume that the objective coefficients or bounds can change try: quadratic_component = kwargs['quadratic_component'] if quadratic_component is not None: warn("update_problem does not yet take quadratic_component as a parameter") except: quadratic_component = None if 'reuse_basis' in kwargs and not kwargs['reuse_basis']: lp.reset() for the_variable, the_reaction in zip(lp.getVars(), cobra_model.reactions): the_variable.set(GRB.DoubleAttr.LB, float(the_reaction.lower_bound)) the_variable.set(GRB.DoubleAttr.UB, float(the_reaction.upper_bound)) the_variable.set(GRB.DoubleAttr.Obj, float(the_reaction.objective_coefficient)) ### sense_dict = eval(sense_dict[solver_name]) def create_problem(cobra_model, **kwargs): """Solver-specific method for constructing a solver problem from a cobra.Model. This can be tuned for performance using kwargs """ lp = Model("") #Silence the solver set_parameter(lp, 'OutputFlag', 0) the_parameters = parameter_defaults if kwargs: the_parameters = deepcopy(parameter_defaults) the_parameters.update(kwargs) [set_parameter(lp, parameter_mappings[k], v) for k, v in iteritems(the_parameters) if k in parameter_mappings] quadratic_component = the_parameters['quadratic_component'] objective_sense = objective_senses[the_parameters['objective_sense']] # Create variables #TODO: Speed this up variable_list = [lp.addVar(float(x.lower_bound), float(x.upper_bound), float(x.objective_coefficient), variable_kind_dict[x.variable_kind], x.id) for x in cobra_model.reactions] reaction_to_variable = dict(zip(cobra_model.reactions, variable_list)) # Integrate new variables lp.update() #Set objective to quadratic program if quadratic_component is not None: if not hasattr(quadratic_component, 'todok'): raise Exception('quadratic component must have method todok') quadratic_objective = QuadExpr() for (index_0, index_1), the_value in quadratic_component.todok().items(): quadratic_objective.addTerms(the_value, variable_list[index_0], variable_list[index_1]) #Does this override the linear objective coefficients or integrate with them? lp.setObjective(quadratic_objective, sense=objective_sense) #Constraints are based on mass balance #Construct the lin expression lists and then add #TODO: Speed this up as it takes about .18 seconds #HERE for the_metabolite in cobra_model.metabolites: constraint_coefficients = [] constraint_variables = [] for the_reaction in the_metabolite._reaction: constraint_coefficients.append(the_reaction._metabolites[the_metabolite]) constraint_variables.append(reaction_to_variable[the_reaction]) #Add the metabolite to the problem lp.addConstr(LinExpr(constraint_coefficients, constraint_variables), sense_dict[the_metabolite._constraint_sense.upper()], the_metabolite._bound, the_metabolite.id) return(lp) ### ### def solve_problem(lp, **kwargs): """A performance tunable method for updating a model problem file """ #Update parameter settings if provided if kwargs: [set_parameter(lp, parameter_mappings[k], v) for k, v in iteritems(kwargs) if k in parameter_mappings] try: print_solver_time = kwargs['print_solver_time'] start_time = time() except: print_solver_time = False lp.update() #Different methods to try if lp_method fails lp.optimize() status = get_status(lp) if print_solver_time: print('optimize time: {:f}'.format(time() - start_time)) return status def solve(cobra_model, **kwargs): """ """ #Start out with default parameters and then modify if #new onese are provided the_parameters = deepcopy(parameter_defaults) if kwargs: the_parameters.update(kwargs) #Update objectives if they are new. if 'new_objective' in the_parameters and \ the_parameters['new_objective'] not in ['update problem', None]: from ..flux_analysis.objective import update_objective update_objective(cobra_model, the_parameters['new_objective']) if 'the_problem' in the_parameters: the_problem = the_parameters['the_problem'] else: the_problem = None if 'error_reporting' in the_parameters: error_reporting = the_parameters['error_reporting'] else: error_reporting = False if isinstance(the_problem, __solver_class): #Update the problem with the current cobra_model lp = the_problem update_problem(lp, cobra_model, **the_parameters) else: #Create a new problem lp = create_problem(cobra_model, **the_parameters) #Deprecated way for returning a solver problem created from a cobra_model #without performing optimization if the_problem == 'setup': return lp ###Try to solve the problem using other methods if the first method doesn't work try: lp_method = the_parameters['lp_method'] except: lp_method = 0 the_methods = [0, 2, 1] if lp_method in the_methods: the_methods.remove(lp_method) #Start with the user specified method the_methods.insert(0, lp_method) for the_method in the_methods: the_parameters['lp_method'] = the_method try: status = solve_problem(lp, **the_parameters) except: status = 'failed' if status == 'optimal': break status = solve_problem(lp, **the_parameters) the_solution = format_solution(lp, cobra_model) if status != 'optimal' and error_reporting: print('{:s} failed: {:s}'.format(solver_name, status)) cobra_model.solution = the_solution solution = {'the_problem': lp, 'the_solution': the_solution} return solution cobrapy-0.4.0b6/cobra/solvers/mosek.py000066400000000000000000000205141263606473700176750ustar00rootroot00000000000000from __future__ import absolute_import, print_function import mosek from six.moves import zip from six import iteritems, string_types env = mosek.Env() # make sure the mosek environment works test = env.Task(0, 0) test.optimize() del test solver_name = "mosek" __mosek_version__ = ".".join(str(i) for i in mosek.getversion()) _SUPPORTS_MILP = True status_dict = { mosek.solsta.dual_infeas_cer: 'infeasible', mosek.solsta.prim_infeas_cer: 'infeasible', mosek.solsta.optimal: 'optimal', mosek.solsta.integer_optimal: 'optimal'} param_enums = { "bi_clean_optimizer": mosek.optimizertype, "cache_license": mosek.onoffkey, "check_convexity": mosek.checkconvexitytype, "compress_statfile": mosek.onoffkey, "feasrepair_optimize": mosek.feasrepairtype, "infeas_generic_names": mosek.onoffkey, "infeas_prefer_primal": mosek.onoffkey, "infeas_report_auto": mosek.onoffkey, "license_allow_overuse": mosek.onoffkey, "license_wait": mosek.onoffkey, "mio_branch_dir": mosek.branchdir, "mio_branch_priorities_use": mosek.onoffkey, "mio_construct_sol": mosek.onoffkey, "mio_cont_sol": mosek.miocontsoltype, "mio_use_multithreaded_optimizer": mosek.onoffkey, "presolve_lindep_use": mosek.onoffkey, "presolve_use": mosek.presolvemode, "sim_basis_factor_use": mosek.onoffkey, "sim_degen": mosek.simdegen } param_aliases = { "tolerance_feasibility": "basis_tol_x", "time_limit": "optimizer_max_time", "mip_gap_abs": "mio_tol_abs_gap", "mip_gap": "mio_tol_rel_gap", "tolerance_integer": "mio_tol_abs_relax_int" } def _verbose_printer(text): print(text) def create_problem(cobra_model, objective_sense="maximize", **solver_parameters): n_rxns = len(cobra_model.reactions) n_mets = len(cobra_model.metabolites) rxn_indexes = range(n_rxns) met_indexes = range(n_mets) # create lp object and set default parameters lp = env.Task(0, 0) set_objective_sense(lp, objective_sense) lp.putdouparam(mosek.dparam.basis_tol_x, 1e-9) lp.putdouparam(mosek.dparam.basis_tol_s, 1e-9) lp.putdouparam(mosek.dparam.basis_rel_tol_s, 0.) lp.putdouparam(mosek.dparam.simplex_abs_tol_piv, 1e-12) lp.putdouparam(mosek.dparam.presolve_tol_aij, 1e-15) lp.putdouparam(mosek.dparam.presolve_tol_abs_lindep, 0.) lp.putdouparam(mosek.dparam.presolve_tol_s, 0.) lp.putdouparam(mosek.dparam.presolve_tol_x, 1e-10) lp.putintparam(mosek.iparam.concurrent_priority_intpnt, 0) lp.putintparam(mosek.iparam.concurrent_num_optimizers, 1) # add reactions/variables lp.appendvars(len(cobra_model.reactions)) lp.putvarboundlist( rxn_indexes, (mosek.boundkey.ra,) * n_rxns, [float(i.lower_bound) for i in cobra_model.reactions], [float(i.upper_bound) for i in cobra_model.reactions], ) lp.putclist( rxn_indexes, [float(i.objective_coefficient) for i in cobra_model.reactions]) integer_variables = [i for i, r in enumerate(cobra_model.reactions) if r.variable_kind == "integer"] lp.putvartypelist( integer_variables, (mosek.variabletype.type_int,) * len(integer_variables)) # add metabolites/constraints c_sense_dict = {"E": mosek.boundkey.fx, "L": mosek.boundkey.up, "G": mosek.boundkey.lo} c_senses = [c_sense_dict[met._constraint_sense] for met in cobra_model.metabolites] bounds = cobra_model.metabolites.list_attr("_bound") lp.appendcons(len(cobra_model.metabolites)) lp.putconboundlist(met_indexes, c_senses, bounds, bounds) # add in the S matrix for i, reaction in enumerate(cobra_model.reactions): for metabolite, stoichiometry in iteritems(reaction._metabolites): lp.putaij(cobra_model.metabolites.index(metabolite), i, stoichiometry) # set user-supplied parameters for key, value in iteritems(solver_parameters): set_parameter(lp, key, value) return lp def set_objective_sense(lp, objective_sense): if objective_sense == "maximize": lp.putobjsense(mosek.objsense.maximize) elif objective_sense == "minimize": lp.putobjsense(mosek.objsense.minimize) else: raise ValueError("unknown objective sense '%s'" % objective_sense) def set_parameter(lp, parameter_name, parameter_value): parameter_name = param_aliases.get(parameter_name, parameter_name) if parameter_name == "verbose": if parameter_value: for streamtype in mosek.streamtype.values: lp.set_Stream(streamtype, _verbose_printer) else: for streamtype in mosek.streamtype.values: lp.set_Stream(streamtype, lambda x: None) elif parameter_name == "objective_sense": set_objective_sense(lp, parameter_value) elif parameter_name == "quadratic_component": if parameter_value is not None: set_quadratic_objective(lp, parameter_value) elif hasattr(mosek.dparam, parameter_name): lp.putdouparam(getattr(mosek.dparam, parameter_name), parameter_value) # Integer parameter section # Many of these are enumerations. Therefore the value should be converted # to the appropriate enum one. elif isinstance(parameter_value, string_types) and \ parameter_name in param_enums: lp.putintparam(getattr(mosek.iparam, parameter_name), getattr(param_enums[parameter_name], parameter_value)) elif isinstance(parameter_value, bool) and parameter_name in param_enums: if parameter_value: set_parameter(lp, parameter_name, "on") else: set_parameter(lp, parameter_name, "off") elif hasattr(mosek.iparam, parameter_name): lp.putintparam(getattr(mosek.iparam, parameter_name), parameter_value) else: raise ValueError("unknown parameter '%s'" % parameter_name) def solve_problem(lp, **solver_parameters): for key, value in iteritems(solver_parameters): set_parameter(lp, key, value) lp.optimize() return get_status(lp) def solve(cobra_model, **solver_parameters): lp = create_problem(cobra_model, **solver_parameters) solve_problem(lp) return format_solution(lp, cobra_model) def _get_soltype(lp): """get the solution type This is bas for LP and itg for MIP and QP """ if lp.getnumintvar() > 0: return mosek.soltype.itg if lp.getnumqobjnz() > 0: return mosek.soltype.itr return mosek.soltype.bas def get_status(lp): mosek_status = lp.getsolsta(_get_soltype(lp)) return status_dict.get(mosek_status, str(mosek_status)) def get_objective_value(lp): return lp.getprimalobj(_get_soltype(lp)) def format_solution(lp, cobra_model): soltype = _get_soltype(lp) mosek_status = lp.getsolsta(soltype) status = status_dict.get(mosek_status, str(mosek_status)) if status != "optimal": return cobra_model.solution.__class__(None, status=status) solution = cobra_model.solution.__class__(get_objective_value(lp)) solution.status = status x = [0] * len(cobra_model.reactions) lp.getxx(soltype, x) solution.x = x solution.x_dict = {rxn.id: value for rxn, value in zip(cobra_model.reactions, x)} if soltype == mosek.soltype.bas: y = [0] * len(cobra_model.metabolites) lp.gety(mosek.soltype.bas, y) solution.y = y solution.y_dict = {met.id: value for met, value in zip(cobra_model.metabolites, y)} return solution def change_variable_objective(lp, index, value): lp.putcj(index, value) def change_variable_bounds(lp, index, lower_bound, upper_bound): lp.putvarbound(index, mosek.boundkey.ra, lower_bound, upper_bound) def change_coefficient(lp, met_index, rxn_index, value): lp.putaij(met_index, rxn_index, value) def set_quadratic_objective(lp, quadratic_objective): if not hasattr(quadratic_objective, 'todok'): raise Exception('quadratic component must be a sparse matrix') row_indexes = [] col_indexes = [] values = [] for (index_0, index_1), value in iteritems(quadratic_objective.todok()): # specify lower triangular only if index_0 >= index_1: row_indexes.append(index_0) col_indexes.append(index_1) values.append(value) lp.putqobj(row_indexes, col_indexes, values) cobrapy-0.4.0b6/cobra/solvers/parameters.py000066400000000000000000000170751263606473700207320ustar00rootroot00000000000000#This centralizes some of the common elements that are differently named across solvers. #These are stored as strings here to prevent problems associated with calling #solver objects for solver packages that aren't available from copy import deepcopy __objective_sense_cplex = {'maximize': 'Cplex.objective.sense.maximize', 'minimize': 'Cplex.objective.sense.minimize'} __objective_sense_cplex_java = {'maximize': 'IloObjectiveSense.Maximize', 'minimize': 'IloObjectiveSense.Minimize'} __objective_sense_glpk = {'maximize': True, 'minimize': False} __objective_sense_glpk_java = {'maximize': 'GLPKConstants.GLP_MAX', 'minimize': 'GLPKConstants.GLP_MIN'} __objective_sense_gurobi = {'maximize': -1, 'minimize': 1} objective_senses = {'cplex': __objective_sense_cplex, 'cplex_java': __objective_sense_cplex_java, 'glpk': __objective_sense_glpk, 'glpk_java': __objective_sense_glpk_java, 'gurobi': __objective_sense_gurobi} default_objective_sense = 'maximize' #Mappings from solver-specific status values to cobra pie status values ## __status_cplex = "{Cplex.solution.status.MIP_infeasible: 'infeasible', " +\ ## "Cplex.solution.status.MIP_optimal: 'optimal', " +\ ## "Cplex.solution.status.MIP_optimal_tolerance: 'optimal'," +\ ## "Cplex.solution.status.MIP_unbounded: 'unbounded', "+\ ## "Cplex.solution.status.infeasible: 'infeasible', " +\ ## "Cplex.solution.status.optimal: 'optimal', " +\ ## "Cplex.solution.status.optimal_tolerance: 'optimal', " +\ ## "Cplex.solution.status.unbounded: 'unbounded', }" __status_cplex = """{ 'MIP_infeasible': 'infeasible', 'integer optimal solution': 'optimal', 'MIP_optimal': 'optimal', 'MIP_optimal_tolerance': 'optimal', 'MIP_unbounded': 'unbounded', 'infeasible': 'infeasible', 'optimal': 'optimal', 'optimal_tolerance': 'optimal', 'unbounded': 'unbounded', 'integer optimal, tolerance': 'optimal', 'time limit exceeded': 'time_limit' }""" __status_glpk = """{ 'opt': 'optimal', 'nofeas': 'infeasible', 'unbnd': 'unbounded' }""" __status_glpk_java = "{GLPKConstants.GLP_OPT: 'optimal', GLPKConstants.GLP_FEAS: 'feasible', GLPKConstants.GLP_INFEAS: 'infeasible', GLPKConstants.GLP_NOFEAS: 'infeasible', GLPKConstants.GLP_UNBND: 'unbounded', GLPKConstants.GLP_UNDEF: 'undefined'}" __status_gurobi = "{GRB.OPTIMAL: 'optimal', GRB.INFEASIBLE: 'infeasible', GRB.UNBOUNDED: 'unbounded', GRB.TIME_LIMIT: 'time_limit'}" status_dict = {'cplex': __status_cplex, 'glpk': __status_glpk, 'glpk_java': __status_glpk_java, 'gurobi': __status_gurobi} #Mappings from solver-specific variable kinds to cobra pie __kind_cplex = "{'continuous': Cplex.variables.type.continuous, 'integer': Cplex.variables.type.integer}" __kind_cplex_java = "{'continuous': IloNumVarType.Float, 'integer': IloNumVarType.Int}" __kind_glpk = "{'continuous': float, 'integer': int}" __kind_glpk_java = "{'binary': GLPKConstants.GLP_BV, 'continuous': GLPKConstants.GLP_CV, 'integer': GLPKConstants.GLP_IV}" __kind_gurobi = "{'continuous': GRB.CONTINUOUS, 'integer': GRB.INTEGER}" variable_kind_dict = {'cplex': __kind_cplex, 'cplex_java': __kind_cplex_java, 'glpk': __kind_glpk, 'glpk_java': __kind_glpk_java, 'gurobi': __kind_gurobi} #Mappings from solver-specific constraint senses to cobra pie sense_dict = {'cplex': "{'E': 'E', 'L': 'L', 'G': 'G'}", 'glpk': "{'E': 'E', 'L': 'L', 'G': 'G'}", 'gurobi': "{'E': GRB.EQUAL, 'L': GRB.LESS_EQUAL, 'G': GRB.GREATER_EQUAL}"} #Mappings from cobra pie parameters names to solver specific parameter names __mappings_cplex = {'lp_method': 'lpmethod', 'lp_parallel': 'threads', 'threads': 'threads', 'objective_sense': 'objective_sense', 'time_limit': 'timelimit', 'iteration_limit': 'simplex.limits.iterations', 'tolerance_barrier': 'barrier.convergetol', 'tolerance_feasibility': 'simplex.tolerances.feasibility', 'tolerance_markowitz': 'simplex.tolerances.markowitz', 'tolerance_optimality': 'simplex.tolerances.optimality', 'MIP_gap_abs': 'mip.tolerances.absmipgap', 'MIP_gap': 'mip.tolerances.mipgap'} __mappings_cplex_java = {'lp_method': 'RootAlg', 'lp_parallel': 'ParallelMode', 'objective_sense': 'objective_sense', 'time_limit': 'TiLim', 'tolerance_barrier': 'BarEpComp', 'tolerance_feasibility': 'EpRHS', 'tolerance_markowitz': 'EpMrk', 'tolerance_optimality': 'EpOpt'} __mappings_glpk = {} __mappings_glpk_java = {'objective_sense': 'objective_sense', 'lp_method': 'meth', 'output_verbosity': 'msg_lev', 'tolerance_dual': 'tol_dj', 'tolerance_integer': 'tol_int', 'tolerance_optimality': 'tol_bnd' } __mappings_gurobi = {'log_file': 'LogFile', 'lp_method': 'Method', 'threads': 'Threads', 'objective_sense': 'ModelSense', 'output_verbosity': 'OutputFlag', 'quadratic_precision': 'Quad', 'time_limit': 'TimeLimit', 'tolerance_feasibility': 'FeasibilityTol', 'tolerance_markowitz': 'MarkowitzTol', 'tolerance_optimality': 'OptimalityTol', 'iteration_limit': 'IterationLimit', 'MIP_gap_abs': 'MIPGapAbs', 'MIP_gap': 'MIPGap'} parameter_mappings = {'cplex': __mappings_cplex, 'cplex_java': __mappings_cplex_java, 'glpk': __mappings_glpk, 'glpk_java': __mappings_glpk_java, 'gurobi': __mappings_gurobi} #Default solver parameters __common_defaults = {'objective_sense': 'maximize', 'tolerance_optimality': 1e-6, 'tolerance_feasibility': 1e-6, 'tolerance_integer': 1e-9, 'quadratic_component': None} __parameters_cplex = deepcopy(__common_defaults) __parameters_cplex.update({'lp_method': 1, 'lp_parallel': 0, 'tolerance_barrier': 1.e-8}) __parameters_glpk = deepcopy(__common_defaults) __parameters_glpk.update({'lp_method': 1}) __parameters_glpk_java = deepcopy(__common_defaults) __parameters_glpk_java.update({'lp_method': 1, 'output_verbosity': 0, 'tolerance_dual': 1e-8}) __parameters_gurobi = deepcopy(__common_defaults) __parameters_gurobi.update({'output_verbosity': 0, 'lp_method': 0, 'log_file': '', 'tolerance_barrier': 1e-8}) parameter_defaults = {'cplex': __parameters_cplex, 'glpk': __parameters_glpk, 'glpk_java': __parameters_glpk_java, 'gurobi': __parameters_gurobi} cobrapy-0.4.0b6/cobra/solvers/wrappers.py000066400000000000000000000021321263606473700204160ustar00rootroot00000000000000""" Wrappers for solvers with an object oriented interface. This creates functions to call the objects' functions. The create_problem and solve functions are not included because they are classmethods. They should be included by specifying create_problem = PROBLEM_CLASS.create_problem where PROBLEM_CLASS is the solver class (i.e. GLP, esolver, etc.) """ def set_objective_sense(lp, objective_sense="maximize"): return lp.set_objective_sense(lp, objective_sense=objective_sense) def change_variable_bounds(lp, *args): return lp.change_variable_bounds(*args) def change_variable_objective(lp, *args): return lp.change_variable_objective(*args) def change_coefficient(lp, *args): return lp.change_coefficient(*args) def set_parameter(lp, parameter_name, value): return lp.change_parameter(parameter_name, value) def solve_problem(lp, **kwargs): return lp.solve_problem(**kwargs) def get_status(lp): return lp.get_status() def get_objective_value(lp): return lp.get_objective_value() def format_solution(lp, cobra_model): return lp.format_solution(cobra_model) cobrapy-0.4.0b6/cobra/test/000077500000000000000000000000001263606473700154655ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/test/__init__.py000066400000000000000000000036711263606473700176050ustar00rootroot00000000000000from __future__ import absolute_import from os.path import join, abspath, dirname import unittest as _unittest try: from cPickle import load as _load except: from pickle import load as _load from ..io import read_sbml_model available_tests = ['unit_tests', 'solvers', 'flux_analysis', 'io_tests', 'design', 'manipulation'] cobra_directory = abspath(join(dirname(abspath(__file__)), "..")) cobra_location = abspath(join(cobra_directory, "..")) data_directory = join(cobra_directory, "test", "data", "") salmonella_sbml = join(data_directory, "salmonella.xml") salmonella_pickle = join(data_directory, "salmonella.pickle") ecoli_sbml = join(data_directory, "iJO1366.xml") textbook_sbml = join(data_directory, "textbook.xml.gz") mini_sbml = join(data_directory, "mini_fbc2.xml") del abspath, join, dirname def create_test_model(model_name="salmonella"): """Returns a cobra model for testing model_name: str One of 'ecoli', 'textbook', or 'salmonella', or the path to a pickled cobra.Model """ if model_name == "ecoli": return read_sbml_model(ecoli_sbml) elif model_name == "textbook": return read_sbml_model(textbook_sbml) elif model_name == "mini": return read_sbml_model(mini_sbml) if model_name == "salmonella": model_name = salmonella_pickle with open(model_name, "rb") as infile: return _load(infile) def create_test_suite(): """create a unittest.TestSuite with available tests""" loader = _unittest.TestLoader() suite = _unittest.TestSuite() for test_name in available_tests: exec("from . import " + test_name) suite.addTests(loader.loadTestsFromModule(eval(test_name))) return suite suite = create_test_suite() def test_all(): """###running unit tests on cobra py###""" status = not _unittest.TextTestRunner(verbosity=2).run( create_test_suite() ).wasSuccessful() return status cobrapy-0.4.0b6/cobra/test/data/000077500000000000000000000000001263606473700163765ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/test/data/iJO1366.pickle000066400000000000000000051250351263606473700206030ustar00rootroot00000000000000ccobra.core.Model Model q)q}q(U_trimmed_reactionsqNU reactionsqccobra.core.DictList DictList q)q(ccobra.core.Reaction Reaction q)q }q (U subsystemq UU _metabolitesq }q ccobra.core.Metabolite Metabolite q)q}q(U_modelqNUmnx_idqNUnameqUp-CresolqUnotesq}qUidqU4crsol_cqU_constraint_senseqUEUchargeqKU_boundqGUformulaqccobra.core.Formula Formula q)q}q(hNhUC7H8Oq h}q!U annotationq"}q#Uelementsq$}q%(UHKUCKUOKuhh ubU compartmentq&Uch"}q'U _reactionq(c__builtin__ set q)]Rq*ubGshNhU-Sink needed to allow p-Cresol to leave systemq+U upper_boundq,G@@U lower_boundq-Gh}q.U_genesq/h)]Rq0hU DM_4CRSOLq1Uobjective_coefficientq2GU variable_kindq3U continuousq4hNU_gene_reaction_ruleq5Uh"}q6U reflectionq7Nubh)q8}q9(h Uh }q:h)q;}q<(hNhNhU5'-deoxyriboseq=h}q>hU5drib_cq?hUEhKhGhh)q@}qA(hNhUC5H10O4qBh}qCh"}qDh$}qE(UHK UCKUOKuhhBubh&Uch"}qFh(h)]RqGubGshNhU3Sink needed to allow 5'-deoxyribose to leave systemqHh,G@@h-Gh}qIh/h)]RqJhUDM_5DRIBqKh2Gh3h4hNh5Uh"}qLh7Nubh)qM}qN(h Uh }qOh)qP}qQ(hNhNhUAminoacetaldehydeqRh}qShUaacald_cqThUEhKhGhh)qU}qV(hNhUC2H6NOqWh}qXh"}qYh$}qZ(UHKUCKUOKUNKuhhWubh&Uch"}q[h(h)]Rq\ubGshNhU6Sink needed to allow aminoacetaldehyde to leave systemq]h,G@@h-Gh}q^h/h)]Rq_hU DM_AACALDq`h2Gh3h4hNh5Uh"}qah7Nubh)qb}qc(h Uh }qdh)qe}qf(hNhNhU&S-Adenosyl-4-methylthio-2-oxobutanoateqgh}qhhUamob_cqihUEhKhGhh)qj}qk(hNhU C15H19N5O6Sqlh}qmh"}qnh$}qo(UHKUCKUSKUOKUNKuhhlubh&Uch"}qph(h)]RqqubGshNhUKSink needed to allow S-Adenosyl-4-methylthio-2-oxobutanoate to leave systemqrh,G@@h-Gh}qsh/h)]RqthUDM_AMOBquh2Gh3h4hNh5Uh"}qvh7Nubh)qw}qx(h Uh }qyh)qz}q{(hNhNhU4(2R,4S)-2-methyl-2,3,3,4-tetrahydroxytetrahydrofuranq|h}q}hUmththf_cq~hUEhKhGhh)q}q(hNhUC5H10O5qh}qh"}qh$}q(UHK UCKUOKuhhubh&Uch"}qh(h)]RqubGshNhUYSink needed to allow (2R,4S)-2-methyl-2,3,3,4-tetrahydroxytetrahydrofuran to leave systemqh,G@@h-Gh}qh/h)]RqhU DM_MTHTHFqh2Gh3h4hNh5Uh"}qh7Nubh)q}q(h Uh }qh)q}q(hNhNhUOxamateqh}qhUoxam_cqhUEhJhGhh)q}q(hNhUC2H2NO3qh}qh"}qh$}q(UHKUCKUOKUNKuhhubh&Uch"}qh(h)]RqubGshNhU,Sink needed to allow oxamate to leave systemqh,G@@h-Gh}qh/h)]RqhUDM_OXAMqh2Gh3h4hNh5Uh"}qh7Nubh)q}q(h Uh }q(h)q}q(hNhNhU potassiumqh}qhUk_cqhUEhKhGhh)q}q(hNhUKh}qh"}qh$}qUKKshUKubh&Uch"}qh(h)]RqubGİh)q}q(hNhNhU2Phosphatidylglycerol (dioctadec-11-enoyl, n-C18:1)qh}qhUpg181_pqhUEhJhGhh)q}q(hNhU C42H78O10P1qh}qh"}qh$}q(UHKNUCK*UOK UPKuhhubh&Uph"}qh(h)]RqubG`3h)q}q(hNhNhUdGTPqh}qhUdgtp_cqhUEhJhGhh)q}q(hNhU C10H12N5O13P3qh}qh"}qh$}q(UHK UCK UPKUOK UNKuhhubh&Uch"}qh(h)]RqubG:9eIh)q}q(hNhNhU&bis-molybdopterin guanine dinucleotideqh}qhU bmocogdp_cqhUEhJhGhh)q}q(hNhUC40H44N20O27P4S4Moqh}qh"}qh$}q(UCK(UHK,UMoKUOKUNKUPKUSKuhhubh&Uch"}qh(h)]RqubGhIh)q}q(hNhNhU Enterochelinqh}qhUenter_cqhUEhKhGhh)q}q(hNhU C30H27N3O15qh}qh"}qh$}q(UHKUCKUOKUNKuhhubh&Uch"}qh(h)]RqubG-:ih)q}q(hNhNhUL-Lysineqh}qhUlys__L_cqhUEhKhGhh)q}q(hNhU C6H15N2O2qh}qh"}qh$}q(UHKUCKUOKUNKuhhubh&Uch"}qh(h)]RqubGW6Gh)q}q(hNhNhUL-Valineqh}qhUval__L_cqhUEhKhGhh)q}q(hNhUC5H11NO2qh}qh"}qh$}q(UHK UCKUOKUNKuhhubh&Uch"}qh(h)]RqubGPֲ(ܘh)q}q(hNhNhUGlycinerh}rhUgly_crhUEhKhGhh)r}r(hNhUC2H5NO2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}r h(h)]Rr ubG KMlh)r }r (hNhNhUATPr h}rhUatp_crhUEhJhGhh)r}r(hNhU C10H12N5O13P3rh}rh"}rh$}r(UHK UCK UPKUOK UNKuhjubh&Uch"}rh(h)]RrubGK[W>6h)r}r(hNhNhU L-Prolinerh}rhUpro__L_crhUEhKhGhh)r}r(hNhUC5H9NO2rh}r h"}r!h$}r"(UHK UCKUOKUNKuhjubh&Uch"}r#h(h)]Rr$ubG~8h)r%}r&(hNhNhUthree disacharide linked murein units (tetrapeptide crosslinked tetrapeptide (A2pm->D-ala) & tetrapeptide corsslinked tetrapeptide (A2pm->D-ala)) (middle of chain)r'h}r(hUmurein4px4px4p_pr)hUEhJhGhh)r*}r+(hNhUC111H167N21O58r,h}r-h"}r.h$}r/(UHKUCKoUOK:UNKuhj,ubh&Uph"}r0h(h)]Rr1ubGF ~"h)r2}r3(hNhNhUUTPr4h}r5hUutp_cr6hUEhJhGhh)r7}r8(hNhU C9H11N2O15P3r9h}r:h"}r;h$}r<(UHK UCK UPKUOKUNKuhj9ubh&Uch"}r=h(h)]Rr>ubG^h)r?}r@(hNhNhU+cardiolipin (tetrahexadec-9-enoyl, n-C16:1)rAh}rBhU clpn161_prChUEhJhGhh)rD}rE(hNhU C73H132O17P2rFh}rGh"}rHh$}rI(UHKUCKIUOKUPKuhjFubh&Uph"}rJh(h)]RrKubGbzcslh)rL}rM(hNhNhUAmmoniumrNh}rOhUnh4_crPhUEhKhGhh)rQ}rR(hNhUH4NrSh}rTh"}rUh$}rV(UHKUNKuhjSubh&Uch"}rWh(h)]RrXubGZ)AAh)rY}rZ(hNhNhUSirohemer[h}r\hUsheme_cr]hUEhJhGhh)r^}r_(hNhU C42H36FeN4O16r`h}rah"}rbh$}rc(UHK$UCK*UFeKUOKUNKuhj`ubh&Uch"}rdh(h)]RreubG-:ih)rf}rg(hNhNhU Spermidinerhh}rihUspmd_crjhUEhKhGhh)rk}rl(hNhUC7H22N3rmh}rnh"}roh$}rp(UHKUCKUNKuhjmubh&Uch"}rqh(h)]RrrubG{h)rs}rt(hNhNhUQtwo linked disacharide tetrapeptide murein units (uncrosslinked, middle of chain)ruh}rvhU murein4p4p_prwhUEhJhGhh)rx}ry(hNhU C74H114N14O40rzh}r{h"}r|h$}r}(UHKrUCKJUOK(UNKuhjzubh&Uph"}r~h(h)]RrubGv c0Qh)r}r(hNhNhU Succinyl-CoArh}rhUsuccoa_crhUEhJhGhh)r}r(hNhUC25H35N7O19P3Srh}rh"}rh$}r(UCKUHK#UOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubG.h)r}r(hNhNhUHeme Orh}rhUhemeO_crhUEhJhGhh)r}r(hNhU C49H56FeN4O5rh}rh"}rh$}r(UHK8UCK1UFeKUOKUNKuhjubh&Uch"}rh(h)]RrubG-:ih)r}r(hNhNhU5,6,7,8-Tetrahydrofolaterh}rhUthf_crhUEhJhGhh)r}r(hNhU C19H21N7O6rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubG-:ih)r}r(hNhNhU[4Fe-4S] iron-sulfur clusterrh}rhU4fe4s_crhUEhKhGhh)r}r(hNhUS4Fe4rh}rh"}rh$}r(USKUFeKuhjubh&Uch"}rh(h)]RrubG0@>!h)r}r(hNhNhU.Phosphatidylglycerol (dihexadecanoyl, n-C16:0)rh}rhUpg160_prhUEhJhGhh)r}r(hNhU C38H74O10P1rh}rh"}rh$}r(UHKJUCK&UOK UPKuhjubh&Uph"}rh(h)]RrubGt @1Hwh)r}r(hNhNhU L-Histidinerh}rhUhis__L_crhUEhKhGhh)r}r(hNhUC6H9N3O2rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Uch"}rh(h)]RrubGef&h)r}r(hNhNhUOtwo linked disacharide tripeptide murein units (uncrosslinked, middle of chain)rh}rhU murein3p3p_prhUEhJhGhh)r}r(hNhU C68H104N12O38rh}rh"}rh$}r(UHKhUCKDUOK&UNK uhjubh&Uph"}rh(h)]RrubGV VEh)r}r(hNhNhU1Phosphatidylglycerol (dihexadec-9-enoyl, n-C16:1)rh}rhUpg161_prhUEhJhGhh)r}r(hNhU C38H70O10P1rh}rh"}rh$}r(UHKFUCK&UOK UPKuhjubh&Uph"}rh(h)]RrubGo+yh)r}r(hNhNhU$Flavin adenine dinucleotide oxidizedrh}rhUfad_crhUEhJhGhh)r}r(hNhU C27H31N9O15P2rh}rh"}rh$}r(UHKUCKUPKUOKUNK uhjubh&Uch"}rh(h)]RrubG-:ih)r}r(hNhNhUZincrh}rhUzn2_crhUEhKhGhh)r}r(hNhUZnrh}rh"}rh$}rjKshjubh&Uch"}rh(h)]RrubG5;gf@h)r}r(hNhNhUjtwo disacharide linked murein units, tetrapeptide corsslinked tetrapeptide (A2pm->D-ala) (middle of chain)rh}rhU murein4px4p_prhUEhJhGhh)r}r(hNhU C74H112N14O39r h}r h"}r h$}r (UHKpUCKJUOK'UNKuhj ubh&Uph"}r h(h)]RrubGvP]Avh)r}r(hNhNhU+Nicotinamide adenine dinucleotide - reducedrh}rhUnadh_crhUEhJhGhh)r}r(hNhU C21H27N7O14P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG9h)r}r(hNhNhUS-Adenosyl-L-methioninerh}rhUamet_cr hUEhKhGhh)r!}r"(hNhU C15H23N6O5Sr#h}r$h"}r%h$}r&(UHKUCKUSKUOKUNKuhj#ubh&Uch"}r'h(h)]Rr(ubG-:ih)r)}r*(hNhNhU+Nicotinamide adenine dinucleotide phosphater+h}r,hUnadp_cr-hUEhJhGhh)r.}r/(hNhU C21H25N7O17P3r0h}r1h"}r2h$}r3(UHKUCKUPKUOKUNKuhj0ubh&Uch"}r4h(h)]Rr5ubG\1Y>_h)r6}r7(hNhNhUFe2+r8h}r9hUfe2_cr:hUEhKhGhh)r;}r<(hNhUFer=h}r>h"}r?h$}r@j=Kshj=ubh&Uch"}rAh(h)]RrBubGz*Mch)rC}rD(hNhNhU5Nicotinamide adenine dinucleotide phosphate - reducedrEh}rFhUnadph_crGhUEhJhGhh)rH}rI(hNhU C21H26N7O17P3rJh}rKh"}rLh$}rM(UHKUCKUPKUOKUNKuhjJubh&Uch"}rNh(h)]RrOubG5^ Nh)rP}rQ(hNhNhU[2Fe-2S] iron-sulfur clusterrRh}rShU2fe2s_crThUEhKhGhh)rU}rV(hNhUS2Fe2rWh}rXh"}rYh$}rZ(USKUFeKuhjWubh&Uch"}r[h(h)]Rr\ubG6C-h)r]}r^(hNhNhUhtwo disacharide linked murein units, tripeptide crosslinked tetrapeptide (A2pm->D-ala) (middle of chain)r_h}r`hU murein3px4p_prahUEhJhGhh)rb}rc(hNhU C71H107N13O38rdh}reh"}rfh$}rg(UHKkUCKGUOK&UNK uhjdubh&Uph"}rhh(h)]RriubGCf3h)rj}rk(hNhNhUUndecaprenyl diphosphaterlh}rmhUudcpdp_crnhUEhJhGhh)ro}rp(hNhU C55H89O7P2rqh}rrh"}rsh$}rt(UHKYUCK7UOKUPKuhjqubh&Uch"}ruh(h)]RrvubG 8Kh)rw}rx(hNhNhUReduced glutathioneryh}rzhUgthrd_cr{hUEhJhGhh)r|}r}(hNhU C10H16N3O6Sr~h}rh"}rh$}r(UHKUCK USKUOKUNKuhj~ubh&Uch"}rh(h)]RrubG-:ih)r}r(hNhNhU4phosphatidylethanolamine (dihexadec-9enoyl, n-C16:1)rh}rhUpe161_prhUEhKhGhh)r}r(hNhU C37H70N1O8P1rh}rh"}rh$}r(UHKFUCK%UPKUOKUNKuhjubh&Uph"}rh(h)]RrubGSXlh)r}r(hNhNhU,cardiolipin (tetraoctadec-11-enoyl, n-C18:1)rh}rhU clpn181_prhUEhJhGhh)r}r(hNhU C81H148O17P2rh}rh"}rh$}r(UHKUCKQUOKUPKuhjubh&Uph"}rh(h)]RrubGSUGZ1h)r}r(hNhNhU1Phosphatidylglycerol (dihexadec-9-enoyl, n-C16:1)rh}rhUpg161_crhUEhJhGhh)r}r(hNhU C38H70O10P1rh}rh"}rh$}r(UHKFUCK&UOK UPKuhjubh&Uch"}rh(h)]RrubGr.;)h)r}r(hNhNhU4phosphatidylethanolamine (dihexadec-9enoyl, n-C16:1)rh}rhUpe161_crhUEhKhGhh)r}r(hNhU C37H70N1O8P1rh}rh"}rh$}r(UHKFUCK%UPKUOKUNKuhjubh&Uch"}rh(h)]RrubGh)r}r(hNhNhUCalciumrh}rhUca2_crhUEhKhGhh)r}r(hNhUCarh}rh"}rh$}rjKshjubh&Uch"}rh(h)]RrubGtH`h)r}r(hNhNhU2phosphatidylethanolamine (dihexadecanoyl, n-C16:0)rh}rhUpe160_crhUEhKhGhh)r}r(hNhU C37H74N1O8P1rh}rh"}rh$}r(UHKJUCK%UPKUOKUNKuhjubh&Uch"}rh(h)]RrubGSXlh)r}r(hNhNhU L-Glutamaterh}rhUglu__L_crhUEhJhGhh)r}r(hNhUC5H8NO4rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubG]Lvh)r}r(hNhNhUdCTPrh}rhUdctp_crhUEhJhGhh)r}r(hNhU C9H12N3O13P3rh}rh"}rh$}r(UHK UCK UPKUOK UNKuhjubh&Uch"}rh(h)]RrubG:9eIh)r}r(hNhNhU5-Methyltetrahydrofolaterh}rhU5mthf_crhUEhJhGhh)r}r(hNhU C20H24N7O6rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubG-:ih)r}r(hNhNhU6phosphatidylethanolamine (dioctadec-11-enoyl, n-C18:1)rh}rhUpe181_crhUEhKhGhh)r}r(hNhU C41H78N1O8P1rh}rh"}rh$}r(UHKNUCK)UPKUOKUNKuhjubh&Uch"}rh(h)]RrubGtMʎ.+h)r}r(hNhNhU L-Asparaginerh}r hUasn__L_cr hUEhKhGhh)r }r (hNhUC4H8N2O3r h}rh"}rh$}r(UHKUCKUOKUNKuhj ubh&Uch"}rh(h)]RrubGPm֝0h)r}r(hNhNhUL-Serinerh}rhUser__L_crhUEhKhGhh)r}r(hNhUC3H7NO3rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubG?Jh)r }r!(hNhNhUMn2+r"h}r#hUmn2_cr$hUEhKhGhh)r%}r&(hNhUMnr'h}r(h"}r)h$}r*j'Kshj'ubh&Uch"}r+h(h)]Rr,ubGE=Jh)r-}r.(hNhNhUADPr/h}r0hUadp_cr1hUEhJhGhh)r2}r3(hNhU C10H12N5O10P2r4h}r5h"}r6h$}r7(UHK UCK UPKUOK UNKuhj4ubh&Uch"}r8h(h)]Rr9ubG@Jh)r:}r;(hNhNhU Protohemer<h}r=hUpheme_cr>hUEhJhGhh)r?}r@(hNhU C34H30FeN4O4rAh}rBh"}rCh$}rD(UHKUCK"UFeKUOKUNKuhjAubh&Uch"}rEh(h)]RrFubG-:ih)rG}rH(hNhNhU L-LeucinerIh}rJhUleu__L_crKhUEhKhGhh)rL}rM(hNhUC6H13NO2rNh}rOh"}rPh$}rQ(UHK UCKUOKUNKuhjNubh&Uch"}rRh(h)]RrSubG:!dh)rT}rU(hNhNhU DiphosphaterVh}rWhUppi_crXhUEhJhGhh)rY}rZ(hNhUHO7P2r[h}r\h"}r]h$}r^(UHKUOKUPKuhj[ubh&Uch"}r_h(h)]Rr`ubG?h)ra}rb(hNhNhU L-Glutaminerch}rdhUgln__L_crehUEhKhGhh)rf}rg(hNhU C5H10N2O3rhh}rih"}rjh$}rk(UHK UCKUOKUNKuhjhubh&Uch"}rlh(h)]RrmubG]Lvh)rn}ro(hNhNhUdATPrph}rqhUdatp_crrhUEhJhGhh)rs}rt(hNhU C10H12N5O12P3ruh}rvh"}rwh$}rx(UHK UCK UPKUOK UNKuhjuubh&Uch"}ryh(h)]RrzubGf{_Jh)r{}r|(hNhNhU"molybdopterin guanine dinucleotider}h}r~hU mocogdp_crhUEhJhGhh)r}r(hNhUC20H22N10O15P2S2Morh}rh"}rh$}r(UCKUHKUMoKUOKUNK UPKUSKuhjubh&Uch"}rh(h)]RrubG\1Y>_h)r}r(hNhNhU L-Argininerh}rhUarg__L_crhUEhKhGhh)r}r(hNhU C6H15N4O2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubGe 0h)r}r(hNhNhUcore oligosaccharide lipid Arh}rhUcolipa_erhUEhJhGhh)r}r(hNhUC176H303N2O100P4rh}rh"}rh$}r(UHM/UCKUPKUOKdUNKuhjubh&Ueh"}rh(h)]RrubGxpuh)r}r(hNhNhUThiamine diphosphaterh}rhUthmpp_crhUEhJhGhh)r}r(hNhU C12H16N4O7P2Srh}rh"}rh$}r(UCK UHKUOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubG-:ih)r}r(hNhNhU chorismaterh}rhUchor_crhUEhJhGhh)r}r(hNhUC10H8O6rh}rh"}rh$}r(UHKUCK UOKuhjubh&Uch"}rh(h)]RrubG-:ih)r}r(hNhNhUCo2+rh}rhU cobalt2_crhUEhKhGhh)r}r(hNhUCorh}rh"}rh$}rjKshjubh&Uch"}rh(h)]RrubG*sqTh)r}r(hNhNhU Malonyl-CoArh}rhUmalcoa_crhUEhJhGhh)r}r(hNhUC24H33N7O19P3Srh}rh"}rh$}r(UCKUHK!UOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubG@>!h)r}r(hNhNhU L-Tyrosinerh}rhUtyr__L_crhUEhKhGhh)r}r(hNhUC9H11NO3rh}rh"}rh$}r(UHK UCK UOKUNKuhjubh&Uch"}rh(h)]RrubG&rKwh)r}r(hNhNhU#molybdopterin cytosine dinucleotiderh}rhU mococdp_crhUEhJhGhh)r}r(hNhUC19H22N8O15P2S2Morh}rh"}rh$}r(UCKUHKUMoKUOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubG\1Y>_h)r}r(hNhNhU Phosphaterh}rhUpi_crhUEhJhGhh)r}r(hNhUHO4Prh}rh"}rh$}r(UHKUOKUPKuhjubh&Uch"}rh(h)]RrubG@Jf4h)r}r(hNhNhU Menaquinol 8rh}rhUmql8_crhUEhKhGhh)r}r(hNhUC51H74O2rh}rh"}rh$}r(UHKJUCK3UOKuhjubh&Uch"}rh(h)]Rr ubG-:ih)r }r (hNhNhUdTTPr h}r hUdttp_crhUEhJhGhh)r}r(hNhU C10H13N2O14P3rh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Uch"}rh(h)]RrubGf{_Jh)r}r(hNhNhU2phosphatidylethanolamine (dihexadecanoyl, n-C16:0)rh}rhUpe160_prhUEhKhGhh)r}r(hNhU C37H74N1O8P1rh}rh"}r h$}r!(UHKJUCK%UPKUOKUNKuhjubh&Uph"}r"h(h)]Rr#ubGG( h)r$}r%(hNhNhU5,10-Methylenetetrahydrofolater&h}r'hUmlthf_cr(hUEhJhGhh)r)}r*(hNhU C20H21N7O6r+h}r,h"}r-h$}r.(UHKUCKUOKUNKuhj+ubh&Uch"}r/h(h)]Rr0ubG-:ih)r1}r2(hNhNhU L-Isoleuciner3h}r4hUile__L_cr5hUEhKhGhh)r6}r7(hNhUC6H13NO2r8h}r9h"}r:h$}r;(UHK UCKUOKUNKuhj8ubh&Uch"}r<h(h)]Rr=ubGM/]h)r>}r?(hNhNhUH+r@h}rAhUh_crBhUEhKhGhh)rC}rD(hNhUHh}rEh"}rFh$}rGUHKshUHubh&Uch"}rHh(h)]RrIubG@Jh)rJ}rK(hNhNhUAdenosylcobalaminrLh}rMhUadocbl_crNhUEhKhGhh)rO}rP(hNhUC72H100CoN18O17PrQh}rRh"}rSh$}rT(UCKHUCoKUHKdUOKUNKUPKuhjQubh&Uch"}rUh(h)]RrVubG-:ih)rW}rX(hNhNhU magnesiumrYh}rZhUmg2_cr[hUEhKhGhh)r\}r](hNhUMgr^h}r_h"}r`h$}raj^Kshj^ubh&Uch"}rbh(h)]RrcubGHZh)rd}re(hNhNhU L-Tryptophanrfh}rghUtrp__L_crhhUEhKhGhh)ri}rj(hNhU C11H12N2O2rkh}rlh"}rmh$}rn(UHK UCK UOKUNKuhjkubh&Uch"}roh(h)]RrpubGGA(h)rq}rr(hNhNhUCu2+rsh}rthUcu2_cruhUEhKhGhh)rv}rw(hNhUCurxh}ryh"}rzh$}r{jxKshjxubh&Uch"}r|h(h)]Rr}ubGF}h)r~}r(hNhNhU2-Demethylmenaquinol 8rh}rhU 2dmmql8_crhUEhKhGhh)r}r(hNhUC50H72O2rh}rh"}rh$}r(UHKHUCK2UOKuhjubh&Uch"}rh(h)]RrubG-:ih)r}r(hNhNhUPyridoxal 5'-phosphaterh}rhUpydx5p_crhUEhJhGhh)r}r(hNhUC8H8NO6Prh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG-:ih)r}r(hNhNhU Ubiquinol-8rh}rhUq8h2_crhUEhKhGhh)r}r(hNhUC49H76O4rh}rh"}rh$}r(UHKLUCK1UOKuhjubh&Uch"}rh(h)]RrubG-:ih)r}r(hNhNhU L-Aspartaterh}rhUasp__L_crhUEhJhGhh)r}r(hNhUC4H6NO4rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubGPm֝0h)r}r(hNhNhUGTPrh}rhUgtp_crhUEhJhGhh)r}r(hNhU C10H12N5O14P3rh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Uch"}rh(h)]RrubGzh)r}r(hNhNhUlipoate (protein bound)rh}rhUlipopb_crhUEhKhGhh)r}r(hNhUC8H13OS2rh}rh"}rh$}r(UHK UCKUSKUOKuhjubh&Uch"}rh(h)]RrubG*sqTh)r}r(hNhNhUSulfaterh}rhUso4_crhUEhJhGhh)r}r(hNhUO4Srh}rh"}rh$}r(USKUOKuhjubh&Uch"}rh(h)]RrubGplBh)r}r(hNhNhU L-Methioninerh}rhUmet__L_crhUEhKhGhh)r}r(hNhU C5H11NO2Srh}rh"}rh$}r(UHK UCKUSKUOKUNKuhjubh&Uch"}rh(h)]RrubGq*Ch)r}r(hNhNhUChloriderh}rhUcl_crhUEhJhGhh)r}r(hNhUClrh}rh"}rh$}rjKshjubh&Uch"}rh(h)]RrubGtH`h)r}r(hNhNhU10-Formyltetrahydrofolaterh}rhU10fthf_crhUEhJhGhh)r}r(hNhU C20H21N7O7rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubG-:ih)r}r(hNhNhU Putrescinerh}rhUptrc_crhUEhKhGhh)r}r(hNhUC4H14N2rh}rh"}r h$}r (UHKUCKUNKuhjubh&Uch"}r h(h)]Rr ubG7 h)r }r(hNhNhUBiotinrh}rhUbtn_crhUEhJhGhh)r}r(hNhU C10H15N2O3Srh}rh"}rh$}r(UHKUCK USKUOKUNKuhjubh&Uch"}rh(h)]RrubGh)r}r(hNhNhUCTPrh}rhUctp_crhUEhJhGhh)r}r (hNhU C9H12N3O14P3r!h}r"h"}r#h$}r$(UHK UCK UPKUOKUNKuhj!ubh&Uch"}r%h(h)]Rr&ubG@8h)r'}r((hNhNhU Riboflavinr)h}r*hUribflv_cr+hUEhKhGhh)r,}r-(hNhU C17H20N4O6r.h}r/h"}r0h$}r1(UHKUCKUOKUNKuhj.ubh&Uch"}r2h(h)]Rr3ubG-:ih)r4}r5(hNhNhUH2Or6h}r7hUh2o_cr8hUEhKhGhh)r9}r:(hNhUH2Or;h}r<h"}r=h$}r>(UHKUOKuhj;ubh&Uch"}r?h(h)]Rr@ubGH`_.QLh)rA}rB(hNhNhUglycogenrCh}rDhU glycogen_crEhUEhKhGhh)rF}rG(hNhUC6H10O5rHh}rIh"}rJh$}rK(UHK UCKUOKuhjHubh&Uch"}rLh(h)]RrMubGüfM;h)rN}rO(hNhNhUL-PhenylalaninerPh}rQhUphe__L_crRhUEhKhGhh)rS}rT(hNhUC9H11NO2rUh}rVh"}rWh$}rX(UHK UCK UOKUNKuhjUubh&Uch"}rYh(h)]RrZubG h)r[}r\(hNhNhU L-Alaniner]h}r^hUala__L_cr_hUEhKhGhh)r`}ra(hNhUC3H7NO2rbh}rch"}rdh$}re(UHKUCKUOKUNKuhjbubh&Uch"}rfh(h)]RrgubG0h)rh}ri(hNhNhUFe3+rjh}rkhUfe3_crlhUEhKhGhh)rm}rn(hNhUFeroh}rph"}rqh$}rrjoKshjoubh&Uch"}rsh(h)]RrtubG~lґ1 h)ru}rv(hNhNhU Molybdaterwh}rxhUmobd_cryhUEhJhGhh)rz}r{(hNhUMoO4r|h}r}h"}r~h$}r(UMoKUOKuhj|ubh&Uch"}rh(h)]RrubG\1Y>_h)r}r(hNhNhU(cardiolipin (tetrahexadecanoyl, n-C16:0)rh}rhU clpn160_prhUEhJhGhh)r}r(hNhU C73H140O17P2rh}rh"}rh$}r(UHKUCKIUOKUPKuhjubh&Uph"}rh(h)]RrubGh{h)r}r(hNhNhU.Phosphatidylglycerol (dihexadecanoyl, n-C16:0)rh}rhUpg160_crhUEhJhGhh)r}r(hNhU C38H74O10P1rh}rh"}rh$}r(UHKJUCK&UOK UPKuhjubh&Uch"}rh(h)]RrubGw`9%{lh)r}r(hNhNhU2Phosphatidylglycerol (dioctadec-11-enoyl, n-C18:1)rh}rhUpg181_crhUEhJhGhh)r}r(hNhU C42H78O10P1rh}rh"}rh$}r(UHKNUCK*UOK UPKuhjubh&Uch"}rh(h)]RrubGbH?dh)r}r(hNhNhUnickelrh}rhUni2_crhUEhKhGhh)r}r(hNhUNirh}rh"}rh$}rjKshjubh&Uch"}rh(h)]RrubG4+h)r}r(hNhNhU!Nicotinamide adenine dinucleotiderh}rhUnad_crhUEhJhGhh)r}r(hNhU C21H26N7O14P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG]G8|Nh)r}r(hNhNhU Acetyl-CoArh}rhUaccoa_crhUEhJhGhh)r}r(hNhUC23H34N7O17P3Srh}rh"}rh$}r(UCKUHK"UOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubG2H&Eh)r}r(hNhNhU L-Threoninerh}rhUthr__L_crhUEhKhGhh)r}r(hNhUC4H9NO3rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Uch"}rh(h)]RrubGύ4"F|h)r}r(hNhNhU Coenzyme Arh}rhUcoa_crhUEhJhGhh)r}r(hNhUC21H32N7O16P3Srh}rh"}rh$}r(UCKUHK UOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubG&%h)r}r(hNhNhU6phosphatidylethanolamine (dioctadec-11-enoyl, n-C18:1)rh}rhUpe181_prhUEhKhGhh)r}r(hNhU C41H78N1O8P1rh}rh"}rh$}r(UHKNUCK)UPKUOKUNKuhjubh&Uph"}rh(h)]RrubG`h)r}r(hNhNhU L-Cysteinerh}rhUcys__L_crhUEhKhGhh)r}r(hNhUC3H7NO2Srh}rh"}rh$}r(UHKUCKUSKUOKUNKuhjubh&Uch"}rh(h)]RrubG弇uhNhUKE. coli biomass objective function (iJO1366) - WT - with 53.95 GAM estimaterh,G@@h-Gh}rh/h)]RrhUEc_biomass_iJO1366_WT_53p95Mrh2Gh3h4hNh5Uh"}rh7Nubh)r }r (h Uh }r (jLGKa"hGX-,jG-:ijG6YUmhGD-ala) (middle of chain)rh}rhU murein5px4p_prhUEhJhGhh)r}r(hNhU C77H117N15O40r h}r!h"}r"h$}r#(UHKuUCKMUOK(UNKuhj ubh&Uph"}r$h(h)]Rr%ubGtuj:G-:ijTG?9hZjaGם gbjuG\1Y>_jGAǗh)r&}r'(hNhNhUKDO(2)-lipid IV(A)r(h}r)hU kdo2lipid4_er*hUEhJhGhh)r+}r,(hNhUC84H148N2O37P2r-h}r.h"}r/h$}r0(UHKUCKTUPKUOK%UNKuhj-ubh&Ueh"}r1h(h)]Rr2ubGF j GjG٩jPGCRe'j2Gq0jG;×j1GҘbj>G@JjWG2Wj4GHL4TjG6C-jG@>!jGB̫֔?jGŗjNGǶv jGqĹ6jG-:ijjG 8KhGY[jGuQ֌i/ojG-:ij GBjdGWj$G-:ijGF!jqGG; tjG˟^jYG-:ijhGH Zj GF3ejGGc$jG5+ oŊjGˈD j'G-:ijG-:ijGqpjGë0uhNhUME. coli biomass objective function (iJO1366) - core - with 53.95 GAM estimater3h,G@@h-Gh}r4h/h)]Rr5hUEc_biomass_iJO1366_core_53p95Mr6h2G?h3h4hNh5Uh"}r7h7Nubh)r8}r9(h Uh }r:h)r;}r<(hNhNhU(R)-Propane-1,2-diolr=h}r>hU 12ppd__R_er?hUEhKhGhh)r@}rA(hNhUC3H8O2rBh}rCh"}rDh$}rE(UHKUCKUOKuhjBubh&Ueh"}rFh(h)]RrGubGshNhU(R)-Propane-1,2-diol exchangerHh,G@@h-Gh}rIh/h)]RrJhU EX_12ppd__R_erKh2Gh3h4hNh5Uh"}rLh7Nubh)rM}rN(h Uh }rOh)rP}rQ(hNhNhU(S)-Propane-1,2-diolrRh}rShU 12ppd__S_erThUEhKhGhh)rU}rV(hNhUC3H8O2rWh}rXh"}rYh$}rZ(UHKUCKUOKuhjWubh&Ueh"}r[h(h)]Rr\ubGshNhU(S)-Propane-1,2-diol exchanger]h,G@@h-Gh}r^h/h)]Rr_hU EX_12ppd__S_er`h2Gh3h4hNh5Uh"}rah7Nubh)rb}rc(h Uh }rdh)re}rf(hNhNhU1,4-alpha-D-glucanrgh}rhhU 14glucan_erihUEhKhGhh)rj}rk(hNhU C36H62O31rlh}rmh"}rnh$}ro(UHK>UCK$UOKuhjlubh&Ueh"}rph(h)]RrqubGshNhU1,4-alpha-D-glucan exchangerrh,G@@h-Gh}rsh/h)]RrthU EX_14glucan_eruh2Gh3h4hNh5Uh"}rvh7Nubh)rw}rx(h Uh }ryh)rz}r{(hNhNhU1,5-Diaminopentaner|h}r}hU15dap_er~hUEhKhGhh)r}r(hNhUC5H16N2rh}rh"}rh$}r(UHKUCKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU1,5-Diaminopentane exchangerh,G@@h-Gh}rh/h)]RrhU EX_15dap_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU2',3'-Cyclic AMPrh}rhU23camp_erhUEhJhGhh)r}r(hNhU C10H11N5O6Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU2',3'-Cyclic AMP exchangerh,G@@h-Gh}rh/h)]RrhU EX_23camp_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU2',3'-Cyclic CMPrh}rhU23ccmp_erhUEhJhGhh)r}r(hNhU C9H11N3O7Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU2',3'-Cyclic CMP exchangerh,G@@h-Gh}rh/h)]RrhU EX_23ccmp_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU2',3'-Cyclic GMPrh}rhU23cgmp_erhUEhJhGhh)r}r(hNhU C10H11N5O7Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU2',3'-Cyclic GMP exchangerh,G@@h-Gh}rh/h)]RrhU EX_23cgmp_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU2',3'-Cyclic UMPrh}rhU23cump_erhUEhJhGhh)r}r(hNhU C9H10N2O8Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU2',3'-Cyclic UMP exchangerh,G@@h-Gh}rh/h)]RrhU EX_23cump_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU2,3-diaminopropionaterh}rhU 23dappa_erhUEhKhGhh)r}r(hNhUC3H9N2O2rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU2,3-diaminopropionate exchangerh,G@@h-Gh}rh/h)]RrhU EX_23dappa_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUmeso-2,6-Diaminoheptanedioaterh}rhU 26dap__M_erhUEhKhGhh)r}r(hNhU C7H14N2O4rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU&meso-2,6-Diaminoheptanedioate exchangerh,G@@h-Gh}rh/h)]RrhU EX_26dap__M_erh2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r(hNhNhU2-Dehydro-3-deoxy-D-gluconaterh}rhU 2ddglcn_erhUEhJhGhh)r}r(hNhUC6H9O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhU&2-Dehydro-3-deoxy-D-gluconate exchangerh,G@@h-Gh}rh/h)]RrhU EX_2ddglcn_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r (h Uh }r!h)r"}r#(hNhNhU3,4-Dihydroxyphenylacetaldehyder$h}r%hU 34dhpac_er&hUEhKhGhh)r'}r((hNhUC8H8O3r)h}r*h"}r+h$}r,(UHKUCKUOKuhj)ubh&Ueh"}r-h(h)]Rr.ubGshNhU(3,4-Dihydroxyphenylacetaldehyde exchanger/h,G@@h-Gh}r0h/h)]Rr1hU EX_34dhpac_er2h2Gh3h4hNh5Uh"}r3h7Nubh)r4}r5(h Uh }r6h)r7}r8(hNhNhU3'-AMPr9h}r:hU3amp_er;hUEhJhGhh)r<}r=(hNhU C10H12N5O7Pr>h}r?h"}r@h$}rA(UHK UCK UPKUOKUNKuhj>ubh&Ueh"}rBh(h)]RrCubGshNhU3'-AMP exchangerDh,G@@h-Gh}rEh/h)]RrFhU EX_3amp_erGh2Gh3h4hNh5Uh"}rHh7Nubh)rI}rJ(h Uh }rKh)rL}rM(hNhNhU3'-cmprNh}rOhU3cmp_erPhUEhJhGhh)rQ}rR(hNhU C9H12N3O8PrSh}rTh"}rUh$}rV(UHK UCK UPKUOKUNKuhjSubh&Ueh"}rWh(h)]RrXubGshNhU3'-cmp exchangerYh,G@@h-Gh}rZh/h)]Rr[hU EX_3cmp_er\h2Gh3h4hNh5Uh"}r]h7Nubh)r^}r_(h Uh }r`h)ra}rb(hNhNhU3'-GMPrch}rdhU3gmp_erehUEhJhGhh)rf}rg(hNhU C10H12N5O8Prhh}rih"}rjh$}rk(UHK UCK UPKUOKUNKuhjhubh&Ueh"}rlh(h)]RrmubGshNhU3'-GMP exchangernh,G@@h-Gh}roh/h)]RrphU EX_3gmp_erqh2Gh3h4hNh5Uh"}rrh7Nubh)rs}rt(h Uh }ruh)rv}rw(hNhNhU3-hydroxycinnamic acidrxh}ryhU 3hcinnm_erzhUEhJhGhh)r{}r|(hNhUC9H7O3r}h}r~h"}rh$}r(UHKUCK UOKuhj}ubh&Ueh"}rh(h)]RrubGshNhU3-hydroxycinnamic acid exchangerh,G@@h-Gh}rh/h)]RrhU EX_3hcinnm_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU3-Hydroxypropanoaterh}rhU3hpp_erhUEhJhGhh)r}r(hNhUC3H5O3rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhU3-Hydroxypropanoate exchangerh,G@@h-Gh}rh/h)]RrhU EX_3hpp_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU3-(3-hydroxy-phenyl)propionaterh}rhU3hpppn_erhUEhJhGhh)r}r(hNhUC9H9O3rh}rh"}rh$}r(UHK UCK UOKuhjubh&Ueh"}rh(h)]RrubGshNhU'3-(3-hydroxy-phenyl)propionate exchangerh,G@@h-Gh}rh/h)]RrhU EX_3hpppn_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU3'-UMPrh}rhU3ump_erhUEhJhGhh)r}r(hNhU C9H11N2O9Prh}rh"}rh$}r(UHK UCK UPKUOK UNKuhjubh&Ueh"}rh(h)]RrubGshNhU3'-UMP exchangerh,G@@h-Gh}rh/h)]RrhU EX_3ump_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU4-Aminobutanoaterh}rhU4abut_erhUEhKhGhh)r}r(hNhUC4H9NO2rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU4-Aminobutanoate exchangerh,G@@h-Gh}rh/h)]RrhU EX_4abut_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU4-Hydroxyphenylacetaldehyderh}rhU 4hoxpacd_erhUEhKhGhh)r}r(hNhUC8H8O2rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhU$4-Hydroxyphenylacetaldehyde exchangerh,G@@h-Gh}rh/h)]RrhU EX_4hoxpacd_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU5-Dehydro-D-gluconaterh}rhU5dglcn_erhUEhJhGhh)r}r(hNhUC6H9O7rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhU5-Dehydro-D-gluconate exchangerh,G@@h-Gh}rh/h)]RrhU EX_5dglcn_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r }r (hNhNhU5-Methylthio-D-riboser h}r hU5mtr_er hUEhKhGhh)r}r(hNhUC6H12O4Srh}rh"}rh$}r(UHK UCKUSKUOKuhjubh&Ueh"}rh(h)]RrubGshNhU5-Methylthio-D-ribose exchangerh,G@@h-Gh}rh/h)]RrhU EX_5mtr_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUL-alanine-D-glutamater h}r!hU LalaDglu_er"hUEhJhGhh)r#}r$(hNhU C8H13N2O5r%h}r&h"}r'h$}r((UHK UCKUOKUNKuhj%ubh&Ueh"}r)h(h)]Rr*ubGshNhUL-alanine-D-glutamate exchanger+h,G@@h-Gh}r,h/h)]Rr-hU EX_LalaDglu_er.h2Gh3h4hNh5Uh"}r/h7Nubh)r0}r1(h Uh }r2h)r3}r4(hNhNhU3L-alanine-D-glutamate-meso-2,6-diaminoheptanedioater5h}r6hULalaDgluMdap_er7hUEhJhGhh)r8}r9(hNhU C15H25N4O8r:h}r;h"}r<h$}r=(UHKUCKUOKUNKuhj:ubh&Ueh"}r>h(h)]Rr?ubGshNhU hU EX_acnam_er? h2Gh3h4hNh5Uh"}r@ h7Nubh)rA }rB (h Uh }rC h)rD }rE (hNhNhUA4-Amino-4-deoxy-L-arabinose modified core oligosaccharide lipid ArF h}rG hU acolipa_erH hUEhJhGhh)rI }rJ (hNhUC181H314N3O103P4rK h}rL h"}rM h$}rN (UHM:UCKUPKUOKgUNKuhjK ubh&Ueh"}rO h(h)]RrP ubGshNhUJ4-Amino-4-deoxy-L-arabinose modified core oligosaccharide lipid A exchangerQ h,G@@h-Gh}rR h/h)]RrS hU EX_acolipa_erT h2Gh3h4hNh5Uh"}rU h7Nubh)rV }rW (h Uh }rX h)rY }rZ (hNhNhUO-Acetyl-L-seriner[ h}r\ hUacser_er] hUEhKhGhh)r^ }r_ (hNhUC5H9NO4r` h}ra h"}rb h$}rc (UHK UCKUOKUNKuhj` ubh&Ueh"}rd h(h)]Rre ubGshNhUO-Acetyl-L-serine exchangerf h,G@@h-Gh}rg h/h)]Rrh hU EX_acser_eri h2Gh3h4hNh5Uh"}rj h7Nubh)rk }rl (h Uh }rm h)rn }ro (hNhNhUAdeninerp h}rq hUade_err hUEhKhGhh)rs }rt (hNhUC5H5N5ru h}rv h"}rw h$}rx (UHKUCKUNKuhju ubh&Ueh"}ry h(h)]Rrz ubGshNhUAdenine exchanger{ h,G@@h-Gh}r| h/h)]Rr} hUEX_ade_er~ h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU Adenosiner h}r hUadn_er hUEhKhGhh)r }r (hNhU C10H13N5O4r h}r h"}r h$}r (UHK UCK UOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUAdenosine exchanger h,G@@h-Gh}r h/h)]Rr hUEX_adn_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUAdenosylcobalaminr h}r hUadocbl_er hUEhKhGhh)r }r (hNhUC72H100CoN18O17Pr h}r h"}r h$}r (UCKHUCoKUHKdUOKUNKUPKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUAdenosylcobalamin exchanger h,G@@h-Gh}r h/h)]Rr hU EX_adocbl_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUsilverr h}r hUag_er hUEhKhGhh)r }r (hNhUAgr h}r h"}r h$}r j Kshj ubh&Ueh"}r h(h)]Rr ubGshNhUsilver exchanger h,G@@h-Gh}r h/h)]Rr hUEX_ag_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUAgmatiner h}r hUagm_er hUEhKhGhh)r }r (hNhUC5H16N4r h}r h"}r h$}r (UHKUCKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUAgmatine exchanger h,G@@h-Gh}r h/h)]Rr hUEX_agm_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU2-Oxoglutarater h}r hUakg_er hUEhJhGhh)r }r (hNhUC5H4O5r h}r h"}r h$}r (UHKUCKUOKuhj ubh&Ueh"}r h(h)]Rr ubGshNhU2-Oxoglutarate exchanger h,G@@h-Gh}r h/h)]Rr hUEX_akg_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU beta-Alaniner h}r hUala__B_er hUEhKhGhh)r }r (hNhUC3H7NO2r h}r h"}r h$}r (UHKUCKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUbeta-Alanine exchanger h,G@@h-Gh}r h/h)]Rr hU EX_ala__B_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU D-Alaniner h}r hUala__D_er hUEhKhGhh)r }r (hNhUC3H7NO2r h}r h"}r h$}r (UHKUCKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUD-Alanine exchanger h,G@@h-Gh}r h/h)]Rr hU EX_ala__D_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU L-Alaniner h}r hUala__L_er hUEhKhGhh)r }r (hNhUC3H7NO2r h}r h"}r h$}r (UHKUCKUOKUNKuhj ubh&Ueh"}r! h(h)]Rr" ubGshNhUL-Alanine exchanger# h,G@@h-Gh}r$ h/h)]Rr% hU EX_ala__L_er& h2Gh3h4hNh5Uh"}r' h7Nubh)r( }r) (h Uh }r* h)r+ }r, (hNhNhUD-Alanyl-D-alaniner- h}r. hUalaala_er/ hUEhKhGhh)r0 }r1 (hNhU C6H12N2O3r2 h}r3 h"}r4 h$}r5 (UHK UCKUOKUNKuhj2 ubh&Ueh"}r6 h(h)]Rr7 ubGshNhUD-Alanyl-D-alanine exchanger8 h,G@@h-Gh}r9 h/h)]Rr: hU EX_alaala_er; h2Gh3h4hNh5Uh"}r< h7Nubh)r= }r> (h Uh }r? h)r@ }rA (hNhNhUD-AlloserB h}rC hUall__D_erD hUEhKhGhh)rE }rF (hNhUC6H12O6rG h}rH h"}rI h$}rJ (UHK UCKUOKuhjG ubh&Ueh"}rK h(h)]RrL ubGshNhUD-Allose exchangerM h,G@@h-Gh}rN h/h)]RrO hU EX_all__D_erP h2Gh3h4hNh5Uh"}rQ h7Nubh)rR }rS (h Uh }rT h)rU }rV (hNhNhU AllantoinrW h}rX hUalltn_erY hUEhKhGhh)rZ }r[ (hNhUC4H6N4O3r\ h}r] h"}r^ h$}r_ (UHKUCKUOKUNKuhj\ ubh&Ueh"}r` h(h)]Rra ubGshNhUAllantoin exchangerb h,G@@h-Gh}rc h/h)]Rrd hU EX_alltn_ere h2Gh3h4hNh5Uh"}rf h7Nubh)rg }rh (h Uh }ri h)rj }rk (hNhNhUAMPrl h}rm hUamp_ern hUEhJhGhh)ro }rp (hNhU C10H12N5O7Prq h}rr h"}rs h$}rt (UHK UCK UPKUOKUNKuhjq ubh&Ueh"}ru h(h)]Rrv ubGshNhU AMP exchangerw h,G@@h-Gh}rx h/h)]Rry hUEX_amp_erz h2Gh3h4hNh5Uh"}r{ h7Nubh)r| }r} (h Uh }r~ h)r }r (hNhNhU5N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramic acidr h}r hUanhgm_er hUEhJhGhh)r }r (hNhU C19H29N2O12r h}r h"}r h$}r (UHKUCKUOK UNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhU>N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramic acid exchanger h,G@@h-Gh}r h/h)]Rr hU EX_anhgm_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU L-Arabinoser h}r hU arab__L_er hUEhKhGhh)r }r (hNhUC5H10O5r h}r h"}r h$}r (UHK UCKUOKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUL-Arabinose exchanger h,G@@h-Gh}r h/h)]Rr hU EX_arab__L_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUArbutinr h}r hUarbt_er hUEhKhGhh)r }r (hNhUC12H16O7r h}r h"}r h$}r (UHKUCK UOKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUArbutin exchanger h,G@@h-Gh}r h/h)]Rr hU EX_arbt_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUaerobactin minus Fe3r h}r hUarbtn_er hUEhJhGhh)r }r (hNhU C22H33N4O13r h}r h"}r h$}r (UHK!UCKUOK UNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUaerobactin minus Fe3 exchanger h,G@@h-Gh}r h/h)]Rr hU EX_arbtn_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU Aerobactinr h}r hU arbtn__fe3_er hUEhKhGhh)r }r (hNhU C22H33FeN4O13r h}r h"}r h$}r (UHK!UCKUFeKUOK UNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUAerobactin exchanger h,G@@h-Gh}r h/h)]Rr hUEX_arbtn__fe3_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU L-Argininer h}r hUarg__L_er hUEhKhGhh)r }r (hNhU C6H15N4O2r h}r h"}r h$}r (UHKUCKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUL-Arginine exchanger h,G@@h-Gh}r h/h)]Rr hU EX_arg__L_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU L-Ascorbater h}r hU ascb__L_er hUEhKhGhh)r }r (hNhUC6H8O6r h}r h"}r h$}r (UHKUCKUOKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUL-Ascorbate exchanger h,G@@h-Gh}r h/h)]Rr hU EX_ascb__L_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU L-Asparaginer h}r hUasn__L_er hUEhKhGhh)r }r (hNhUC4H8N2O3r h}r h"}r h$}r (UHKUCKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUL-Asparagine exchanger h,G@@h-Gh}r h/h)]Rr! hU EX_asn__L_er" h2Gh3h4hNh5Uh"}r# h7Nubh)r$ }r% (h Uh }r& h)r' }r( (hNhNhUarseniter) h}r* hUaso3_er+ hUEhJhGhh)r, }r- (hNhUAsO3r. h}r/ h"}r0 h$}r1 (UAsKUOKuhj. ubh&Ueh"}r2 h(h)]Rr3 ubGshNhUarsenite exchanger4 h,G@@h-Gh}r5 h/h)]Rr6 hU EX_aso3_er7 h2Gh3h4hNh5Uh"}r8 h7Nubh)r9 }r: (h Uh }r; h)r< }r= (hNhNhU L-Aspartater> h}r? hUasp__L_er@ hUEhJhGhh)rA }rB (hNhUC4H6NO4rC h}rD h"}rE h$}rF (UHKUCKUOKUNKuhjC ubh&Ueh"}rG h(h)]RrH ubGshNhUL-Aspartate exchangerI h,G@@h-Gh}rJ h/h)]RrK hU EX_asp__L_erL h2Gh3h4hNh5Uh"}rM h7Nubh)rN }rO (h Uh }rP h)rQ }rR (hNhNhUBiotinrS h}rT hUbtn_erU hUEhJhGhh)rV }rW (hNhU C10H15N2O3SrX h}rY h"}rZ h$}r[ (UHKUCK USKUOKUNKuhjX ubh&Ueh"}r\ h(h)]Rr] ubGshNhUBiotin exchanger^ h,G@@h-Gh}r_ h/h)]Rr` hUEX_btn_era h2Gh3h4hNh5Uh"}rb h7Nubh)rc }rd (h Uh }re h)rf }rg (hNhNhUButyrate (n-C4:0)rh h}ri hUbut_erj hUEhJhGhh)rk }rl (hNhUC4H7O2rm h}rn h"}ro h$}rp (UHKUCKUOKuhjm ubh&Ueh"}rq h(h)]Rrr ubGshNhUButyrate (n-C4:0) exchangers h,G@@h-Gh}rt h/h)]Rru hUEX_but_erv h2Gh3h4hNh5Uh"}rw h7Nubh)rx }ry (h Uh }rz h)r{ }r| (hNhNhUbutanesulfonater} h}r~ hUbutso3_er hUEhJhGhh)r }r (hNhUC4H9O3Sr h}r h"}r h$}r (UHK UCKUSKUOKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUbutanesulfonate exchanger h,G@@h-Gh}r h/h)]Rr hU EX_butso3_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUCalciumr h}r hUca2_er hUEhKhGhh)r }r (hNhUCar h}r h"}r h$}r j Kshj ubh&Ueh"}r h(h)]Rr ubGshNhUCalcium exchanger h,G@@h-G@h}r h/h)]Rr hUEX_ca2_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU Cobinamider h}r hUcbi_er hUEhKhGhh)r }r (hNhU C48H72CoN11O8r h}r h"}r h$}r (UHKHUCK0UCoKUOKUNK uhj ubh&Ueh"}r h(h)]Rr ubGshNhUCobinamide exchanger h,G@@h-Gh}r h/h)]Rr hUEX_cbi_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU Cob(I)alaminr h}r hUcbl1_er hUEhJhGhh)r }r (hNhUC62H88CoN13O14Pr h}r h"}r h$}r (UCK>UCoKUHKXUOKUNK UPKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUCob(I)alamin exchanger h,G@@h-GzG{h}r h/h)]Rr hU EX_cbl1_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUCadmiumr h}r hUcd2_er hUEhKhGhh)r }r (hNhUCdr h}r h"}r h$}r j Kshj ubh&Ueh"}r h(h)]Rr ubGshNhUCadmium exchanger h,G@@h-Gh}r h/h)]Rr hUEX_cd2_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUCys-Glyr h}r hUcgly_er hUEhKhGhh)r }r (hNhU C5H10N2O3Sr h}r h"}r h$}r (UHK UCKUSKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUCys-Gly exchanger h,G@@h-Gh}r h/h)]Rr hU EX_cgly_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUCholiner h}r hUchol_er hUEhKhGhh)r }r (hNhUC5H14NOr h}r h"}r h$}r (UHKUCKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUCholine exchanger h,G@@h-Gh}r h/h)]Rr hU EX_chol_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUN,N'-diacetylchitobioser h}r hUchtbs_er hUEhKhGhh)r }r (hNhU C16H28N2O11r h}r h"}r h$}r (UHKUCKUOK UNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUchitobiose exchanger h,G@@h-Gh}r h/h)]Rr hU EX_chtbs_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r! (h Uh }r" h)r# }r$ (hNhNhUCitrater% h}r& hUcit_er' hUEhJhGhh)r( }r) (hNhUC6H5O7r* h}r+ h"}r, h$}r- (UHKUCKUOKuhj* ubh&Ueh"}r. h(h)]Rr/ ubGshNhUCitrate exchanger0 h,G@@h-Gh}r1 h/h)]Rr2 hUEX_cit_er3 h2Gh3h4hNh5Uh"}r4 h7Nubh)r5 }r6 (h Uh }r7 h)r8 }r9 (hNhNhUChlorider: h}r; hUcl_er< hUEhJhGhh)r= }r> (hNhUClr? h}r@ h"}rA h$}rB j? Kshj? ubh&Ueh"}rC h(h)]RrD ubGshNhUChloride exchangerE h,G@@h-G@h}rF h/h)]RrG hUEX_cl_erH h2Gh3h4hNh5Uh"}rI h7Nubh)rJ }rK (h Uh }rL h)rM }rN (hNhNhUChloramphenicolrO h}rP hUcm_erQ hUEhKhGhh)rR }rS (hNhU C11H12Cl2N2O5rT h}rU h"}rV h$}rW (UHK UCK UNKUOKUClKuhjT ubh&Ueh"}rX h(h)]RrY ubGshNhUChloramphenicol exchangerZ h,G@@h-Gh}r[ h/h)]Rr\ hUEX_cm_er] h2Gh3h4hNh5Uh"}r^ h7Nubh)r_ }r` (h Uh }ra h)rb }rc (hNhNhUCMPrd h}re hUcmp_erf hUEhJhGhh)rg }rh (hNhU C9H12N3O8Pri h}rj h"}rk h$}rl (UHK UCK UPKUOKUNKuhji ubh&Ueh"}rm h(h)]Rrn ubGshNhU CMP exchangero h,G@@h-Gh}rp h/h)]Rrq hUEX_cmp_err h2Gh3h4hNh5Uh"}rs h7Nubh)rt }ru (h Uh }rv h)rw }rx (hNhNhUCO2ry h}rz hUco2_er{ hUEhKhGhh)r| }r} (hNhUCO2r~ h}r h"}r h$}r (UCKUOKuhj~ ubh&Ueh"}r h(h)]Rr ubGshNhU CO2 exchanger h,G@@h-G@h}r h/h)]Rr hUEX_co2_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUCo2+r h}r hU cobalt2_er hUEhKhGhh)r }r (hNhUCor h}r h"}r h$}r j Kshj ubh&Ueh"}r h(h)]Rr ubGshNhU Co2+ exchanger h,G@@h-G@h}r h/h)]Rr hU EX_cobalt2_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r jGshNhU%core oligosaccharide lipid A exchanger h,G@@h-Gh}r h/h)]Rr hU EX_colipa_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU(core oligosaccharide lipid A diphosphater h}r hU colipap_er hUEhJhGhh)r }r (hNhUC176H303N2O103P5r h}r h"}r h$}r (UHM/UCKUPKUOKgUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhU1core oligosaccharide lipid A diphosphate exchanger h,G@@h-Gh}r h/h)]Rr hU EX_colipap_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUcoprogenr h}r hUcpgn_er hUEhJhGhh)r }r (hNhU C35H52N6O13Fer h}r h"}r h$}r (UHK4UCK#UFeKUOK UNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUcoprogen exchanger h,G@@h-Gh}r h/h)]Rr hU EX_cpgn_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUcoprogen unloaded (no Fe(III))r h}r hU cpgn__un_er hUEhJhGhh)r }r (hNhU C35H52N6O13r h}r h"}r h$}r (UHK4UCK#UOK UNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhU'coprogen unloaded (no Fe(III)) exchanger h,G@@h-Gh}r h/h)]Rr hU EX_cpgn__un_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU L-Carnitiner h}r hUcrn_er hUEhKhGhh)r }r (hNhUC7H15NO3r h}r h"}r h$}r (UHKUCKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUL-Carnitine exchanger h,G@@h-Gh}r h/h)]Rr hUEX_crn_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU D-Carnitiner h}r hUcrn__D_er hUEhKhGhh)r }r (hNhUC7H15NO3r h}r h"}r h$}r (UHKUCKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUD-carnitine exchanger h,G@@h-Gh}r h/h)]Rr hU EX_crn__D_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUCytosiner h}r hUcsn_er hUEhKhGhh)r }r (hNhUC4H5N3Or h}r h"}r h$}r (UHKUCKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUCytosine exchanger h,G@@h-Gh}r h/h)]Rr! hUEX_csn_er" h2Gh3h4hNh5Uh"}r# h7Nubh)r$ }r% (h Uh }r& h)r' }r( (hNhNhUCu+r) h}r* hUcu_er+ hUEhKhGhh)r, }r- (hNhUCur. h}r/ h"}r0 h$}r1 j. Kshj. ubh&Ueh"}r2 h(h)]Rr3 ubGshNhU Cu+ exchanger4 h,G@@h-Gh}r5 h/h)]Rr6 hUEX_cu_er7 h2Gh3h4hNh5Uh"}r8 h7Nubh)r9 }r: (h Uh }r; h)r< }r= (hNhNhUCu2+r> h}r? hUcu2_er@ hUEhKhGhh)rA }rB (hNhUCurC h}rD h"}rE h$}rF jC KshjC ubh&Ueh"}rG h(h)]RrH ubGshNhU Cu2+ exchangerI h,G@@h-G@h}rJ h/h)]RrK hUEX_cu2_erL h2Gh3h4hNh5Uh"}rM h7Nubh)rN }rO (h Uh }rP h)rQ }rR (hNhNhUHydrogen cyaniderS h}rT hUcyan_erU hUEhKhGhh)rV }rW (hNhUCHNrX h}rY h"}rZ h$}r[ (UHKUCKUNKuhjX ubh&Ueh"}r\ h(h)]Rr] ubGshNhUHydrogen cyanide exchanger^ h,G@@h-Gh}r_ h/h)]Rr` hU EX_cyan_era h2Gh3h4hNh5Uh"}rb h7Nubh)rc }rd (h Uh }re h)rf }rg (hNhNhUCyanaterh h}ri hUcynt_erj hUEhJhGhh)rk }rl (hNhUCNOrm h}rn h"}ro h$}rp (UCKUOKUNKuhjm ubh&Ueh"}rq h(h)]Rrr ubGshNhUCyanate exchangers h,G@@h-Gh}rt h/h)]Rru hU EX_cynt_erv h2Gh3h4hNh5Uh"}rw h7Nubh)rx }ry (h Uh }rz h)r{ }r| (hNhNhU D-Cysteiner} h}r~ hUcys__D_er hUEhKhGhh)r }r (hNhUC3H7NO2Sr h}r h"}r h$}r (UHKUCKUSKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUD-Cysteine exchanger h,G@@h-Gh}r h/h)]Rr hU EX_cys__D_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU L-Cysteiner h}r hUcys__L_er hUEhKhGhh)r }r (hNhUC3H7NO2Sr h}r h"}r h$}r (UHKUCKUSKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUL-Cysteine exchanger h,G@@h-Gh}r h/h)]Rr hU EX_cys__L_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUCytidiner h}r hUcytd_er hUEhKhGhh)r }r (hNhU C9H13N3O5r h}r h"}r h$}r (UHK UCK UOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUCytidine exchanger h,G@@h-Gh}r h/h)]Rr hU EX_cytd_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUDeoxyadenosiner h}r hUdad__2_er hUEhKhGhh)r }r (hNhU C10H13N5O3r h}r h"}r h$}r (UHK UCK UOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUDeoxyadenosine exchanger h,G@@h-Gh}r h/h)]Rr hU EX_dad__2_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUdAMPr h}r hUdamp_er hUEhJhGhh)r }r (hNhU C10H12N5O6Pr h}r h"}r h$}r (UHK UCK UPKUOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhU dAMP exchanger h,G@@h-Gh}r h/h)]Rr hU EX_damp_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUDecanoate (n-C10:0)r h}r hUdca_er hUEhJhGhh)r }r (hNhUC10H19O2r h}r h"}r h$}r (UHKUCK UOKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUDecanoate (n-C10:0) exchanger h,G@@h-Gh}r h/h)]Rr hUEX_dca_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUdCMPr h}r hUdcmp_er hUEhJhGhh)r }r (hNhU C9H12N3O7Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU dCMP exchangerh,G@@h-Gh}rh/h)]RrhU EX_dcmp_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r}r(hNhNhU Deoxycytidinerh}rhUdcyt_erhUEhKhGhh)r}r(hNhU C9H13N3O4rh}rh"}rh$}r(UHK UCK UOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUDeoxycytidine exchangerh,G@@h-Gh}rh/h)]RrhU EX_dcyt_erh2Gh3h4hNh5Uh"}rh7Nubh)r }r!(h Uh }r"h)r#}r$(hNhNhUDodecanoate (n-C12:0)r%h}r&hUddca_er'hUEhJhGhh)r(}r)(hNhUC12H23O2r*h}r+h"}r,h$}r-(UHKUCK UOKuhj*ubh&Ueh"}r.h(h)]Rr/ubGshNhUDodecanoate (n-C12:0) exchanger0h,G@@h-Gh}r1h/h)]Rr2hU EX_ddca_er3h2Gh3h4hNh5Uh"}r4h7Nubh)r5}r6(h Uh }r7h)r8}r9(hNhNhUdGMPr:h}r;hUdgmp_er<hUEhJhGhh)r=}r>(hNhU C10H12N5O7Pr?h}r@h"}rAh$}rB(UHK UCK UPKUOKUNKuhj?ubh&Ueh"}rCh(h)]RrDubGshNhU dGMP exchangerEh,G@@h-Gh}rFh/h)]RrGhU EX_dgmp_erHh2Gh3h4hNh5Uh"}rIh7Nubh)rJ}rK(h Uh }rLh)rM}rN(hNhNhUDeoxyguanosinerOh}rPhUdgsn_erQhUEhKhGhh)rR}rS(hNhU C10H13N5O4rTh}rUh"}rVh$}rW(UHK UCK UOKUNKuhjTubh&Ueh"}rXh(h)]RrYubGshNhUDeoxyguanosine exchangerZh,G@@h-Gh}r[h/h)]Rr\hU EX_dgsn_er]h2Gh3h4hNh5Uh"}r^h7Nubh)r_}r`(h Uh }rah)rb}rc(hNhNhUDihydroxyacetonerdh}rehUdha_erfhUEhKhGhh)rg}rh(hNhUC3H6O3rih}rjh"}rkh$}rl(UHKUCKUOKuhjiubh&Ueh"}rmh(h)]RrnubGshNhUDihydroxyacetone exchangeroh,G@@h-Gh}rph/h)]RrqhUEX_dha_errh2Gh3h4hNh5Uh"}rsh7Nubh)rt}ru(h Uh }rvh)rw}rx(hNhNhUdIMPryh}rzhUdimp_er{hUEhJhGhh)r|}r}(hNhU C10H11N4O7Pr~h}rh"}rh$}r(UHK UCK UPKUOKUNKuhj~ubh&Ueh"}rh(h)]RrubGshNhU dIMP exchangerh,G@@h-Gh}rh/h)]RrhU EX_dimp_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Deoxyinosinerh}rhUdin_erhUEhKhGhh)r}r(hNhU C10H12N4O4rh}rh"}rh$}r(UHK UCK UOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUDeoxyinosine exchangerh,G@@h-Gh}rh/h)]RrhUEX_din_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUDimethyl sulfiderh}rhUdms_erhUEhKhGhh)r}r(hNhUC2H6Srh}rh"}rh$}r(UHKUCKUSKuhjubh&Ueh"}rh(h)]RrubGshNhUDimethyl sulfide exchangerh,G@@h-Gh}rh/h)]RrhUEX_dms_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUDimethyl sulfoxiderh}rhUdmso_erhUEhKhGhh)r}r(hNhUC2H6OSrh}rh"}rh$}r(UHKUCKUSKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUDimethyl sulfoxide exchangerh,G@@h-Gh}rh/h)]RrhU EX_dmso_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUDopaminerh}rhUdopa_erhUEhKhGhh)r}r(hNhUC8H12NO2rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUDopamine exchangerh,G@@h-Gh}rh/h)]RrhU EX_dopa_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU doxorubicinrh}rhU doxrbcn_erhUEhKhGhh)r}r(hNhU C27H29NO11rh}rh"}rh$}r(UHKUCKUOK UNKuhjubh&Ueh"}rh(h)]RrubGshNhUdoxorubicin exchangerh,G@@h-Gh}rh/h)]RrhU EX_doxrbcn_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUdTMPrh}rhUdtmp_erhUEhJhGhh)r}r(hNhU C10H13N2O8Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU dTMP exchangerh,G@@h-Gh}rh/h)]RrhU EX_dtmp_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }r h)r }r (hNhNhUdUMPr h}r hUdump_erhUEhJhGhh)r}r(hNhU C9H11N2O8Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU dUMP exchangerh,G@@h-Gh}rh/h)]RrhU EX_dump_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r (hNhNhU Deoxyuridiner!h}r"hUduri_er#hUEhKhGhh)r$}r%(hNhU C9H12N2O5r&h}r'h"}r(h$}r)(UHK UCK UOKUNKuhj&ubh&Ueh"}r*h(h)]Rr+ubGshNhUDeoxyuridine exchanger,h,G@@h-Gh}r-h/h)]Rr.hU EX_duri_er/h2Gh3h4hNh5Uh"}r0h7Nubh)r1}r2(h Uh }r3h)r4}r5(hNhNhU?(enterobacterial common antigen)x4 core oligosaccharide lipid Ar6h}r7hU eca4colipa_er8hUEhJhGhh)r9}r:(hNhUC272H447N14O160P4r;h}r<h"}r=h$}r>(UHMUCMUPKUOKUNKuhj;ubh&Ueh"}r?h(h)]Rr@ubGshNhUH(enterobacterial common antigen)x4 core oligosaccharide lipid A exchangerAh,G@@h-Gh}rBh/h)]RrChUEX_eca4colipa_erDh2Gh3h4hNh5Uh"}rEh7Nubh)rF}rG(h Uh }rHh)rI}rJ(hNhNhU$phosphoethanolamine KDO(2)-lipid (A)rKh}rLhUenlipa_erMhUEhJhGhh)rN}rO(hNhUC112H202N3O42P3rPh}rQh"}rRh$}rS(UHKUCKpUPKUOK*UNKuhjPubh&Ueh"}rTh(h)]RrUubGshNhU-phosphoethanolamine KDO(2)-lipid (A) exchangerVh,G@@h-Gh}rWh/h)]RrXhU EX_enlipa_erYh2Gh3h4hNh5Uh"}rZh7Nubh)r[}r\(h Uh }r]h)r^}r_(hNhNhU Enterochelinr`h}rahUenter_erbhUEhKhGhh)rc}rd(hNhU C30H27N3O15reh}rfh"}rgh$}rh(UHKUCKUOKUNKuhjeubh&Ueh"}rih(h)]RrjubGshNhUEnterochelin exchangerkh,G@@h-Gh}rlh/h)]RrmhU EX_enter_ernh2Gh3h4hNh5Uh"}roh7Nubh)rp}rq(h Uh }rrh)rs}rt(hNhNhU Ethanolamineruh}rvhUetha_erwhUEhKhGhh)rx}ry(hNhUC2H8NOrzh}r{h"}r|h$}r}(UHKUCKUOKUNKuhjzubh&Ueh"}r~h(h)]RrubGshNhUEthanolamine exchangerh,G@@h-Gh}rh/h)]RrhU EX_etha_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUethanesulfonaterh}rhUethso3_erhUEhJhGhh)r}r(hNhUC2H5O3Srh}rh"}rh$}r(UHKUCKUSKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUethanesulfonate exchangerh,G@@h-Gh}rh/h)]RrhU EX_ethso3_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUEthanolrh}rhUetoh_erhUEhKhGhh)r}r(hNhUC2H6Orh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUEthanol exchangerh,G@@h-Gh}rh/h)]RrhU EX_etoh_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUD-Fructose 6-phosphaterh}rhUf6p_erhUEhJhGhh)r}r(hNhUC6H11O9Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Ueh"}rh(h)]RrubGshNhUD-fructose 6-phosphate exchangerh,G@@h-Gh}rh/h)]RrhUEX_f6p_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Formaldehyderh}rhUfald_erhUEhKhGhh)r}r(hNhUCH2Orh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUFormaldehyde exchangerh,G@@h-Gh}rh/h)]RrhU EX_fald_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUFe2+rh}rhUfe2_erhUEhKhGhh)r}r(hNhUFerh}rh"}rh$}rjKshjubh&Ueh"}rh(h)]RrubGshNhU Fe2+ exchangerh,G@@h-G@h}rh/h)]RrhUEX_fe2_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUFe3+rh}rhUfe3_erhUEhKhGhh)r}r(hNhUFerh}rh"}rh$}rjKshjubh&Ueh"}rh(h)]RrubGshNhU Fe3+ exchangerh,G@@h-G@h}rh/h)]RrhUEX_fe3_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUFe(III)dicitraterh}r hU fe3dcit_er hUEhJhGhh)r }r (hNhU C12H10FeO14r h}rh"}rh$}r(UHK UCK UFeKUOKuhj ubh&Ueh"}rh(h)]RrubGshNhUFe(III)dicitrate exchangerh,G@@h-Gh}rh/h)]RrhU EX_fe3dcit_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU!ferric 2,3-dihydroxybenzoylserinerh}rhU fe3dhbzs_erhUEhKhGhh)r }r!(hNhU C10H10NO6Fer"h}r#h"}r$h$}r%(UHK UCK UFeKUOKUNKuhj"ubh&Ueh"}r&h(h)]Rr'ubGshNhU*ferric 2,3-dihydroxybenzoylserine exchanger(h,G@@h-Gh}r)h/h)]Rr*hU EX_fe3dhbzs_er+h2Gh3h4hNh5Uh"}r,h7Nubh)r-}r.(h Uh }r/h)r0}r1(hNhNhUFe(III)hydroxamater2h}r3hUfe3hox_er4hUEhKhGhh)r5}r6(hNhU C9H18O6N3Fer7h}r8h"}r9h$}r:(UHKUCK UFeKUOKUNKuhj7ubh&Ueh"}r;h(h)]Rr<ubGshNhUFe(III)hydroxamate exchanger=h,G@@h-Gh}r>h/h)]Rr?hU EX_fe3hox_er@h2Gh3h4hNh5Uh"}rAh7Nubh)rB}rC(h Uh }rDh)rE}rF(hNhNhUFe(III)hydoxamate, unloadedrGh}rHhU fe3hox__un_erIhUEhJhGhh)rJ}rK(hNhU C9H18O6N3rLh}rMh"}rNh$}rO(UHKUCK UOKUNKuhjLubh&Ueh"}rPh(h)]RrQubGshNhU$Fe(III)hydoxamate, unloaded exchangerRh,G@@h-Gh}rSh/h)]RrThUEX_fe3hox__un_erUh2Gh3h4hNh5Uh"}rVh7Nubh)rW}rX(h Uh }rYh)rZ}r[(hNhNhU Ferrichromer\h}r]hUfecrm_er^hUEhKhGhh)r_}r`(hNhU C27H42FeN9O12rah}rbh"}rch$}rd(UHK*UCKUFeKUOK UNK uhjaubh&Ueh"}reh(h)]RrfubGshNhUFerrichrome exchangergh,G@@h-Gh}rhh/h)]RrihU EX_fecrm_erjh2Gh3h4hNh5Uh"}rkh7Nubh)rl}rm(h Uh }rnh)ro}rp(hNhNhUFerrichrome minus Fe(III)rqh}rrhU fecrm__un_ershUEhJhGhh)rt}ru(hNhU C27H42N9O12rvh}rwh"}rxh$}ry(UHK*UCKUOK UNK uhjvubh&Ueh"}rzh(h)]Rr{ubGshNhU"Ferrichrome minus Fe(III) exchanger|h,G@@h-Gh}r}h/h)]Rr~hUEX_fecrm__un_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUFe-enterobactinrh}rhU feenter_erhUEhKhGhh)r}r(hNhU C30H27FeN3O15rh}rh"}rh$}r(UHKUCKUFeKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUFe-enterobactin exchangerh,G@@h-Gh}rh/h)]RrhU EX_feenter_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU ferroxaminerh}rhUfeoxam_erhUEhKhGhh)r}r(hNhU C25H46FeN6O8rh}rh"}rh$}r(UHK.UCKUFeKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUferroxamine exchangerh,G@@h-Gh}rh/h)]RrhU EX_feoxam_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUferroxamine minus Fe(3)rh}rhU feoxam__un_erhUEhJhGhh)r}r(hNhU C25H46N6O8rh}rh"}rh$}r(UHK.UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU ferroxamine minus Fe(3) exchangerh,G@@h-Gh}rh/h)]RrhUEX_feoxam__un_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUFormaterh}rhUfor_erhUEhJhGhh)r}r(hNhUCH1O2rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUFormate exchangerh,G@@h-Gh}rh/h)]RrhUEX_for_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU D-Fructoserh}rhUfru_erhUEhKhGhh)r}r(hNhUC6H12O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Fructose exchangerh,G@@h-Gh}rh/h)]RrhUEX_fru_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUfructoselysinerh}rhUfrulys_erhUEhKhGhh)r}r(hNhU C12H25N2O7rh}rh"}rh$}r(UHKUCK UOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUfructoselysine exchangerh,G@@h-Gh}rh/h)]RrhU EX_frulys_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUD-Fructuronaterh}rhUfruur_erhUEhJhGhh)r}r(hNhUC6H9O7r h}r h"}r h$}r (UHK UCKUOKuhj ubh&Ueh"}r h(h)]RrubGshNhUD-Fructuronate exchangerh,G@@h-Gh}rh/h)]RrhU EX_fruur_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUL-Fucoserh}rhUfuc__L_erhUEhKhGhh)r}r(hNhUC6H12O5rh}rh"}r h$}r!(UHK UCKUOKuhjubh&Ueh"}r"h(h)]Rr#ubGshNhUL-Fucose exchanger$h,G@@h-Gh}r%h/h)]Rr&hU EX_fuc__L_er'h2Gh3h4hNh5Uh"}r(h7Nubh)r)}r*(h Uh }r+h)r,}r-(hNhNhUFumarater.h}r/hUfum_er0hUEhJhGhh)r1}r2(hNhUC4H2O4r3h}r4h"}r5h$}r6(UHKUCKUOKuhj3ubh&Ueh"}r7h(h)]Rr8ubGshNhUFumarate exchanger9h,G@@h-Gh}r:h/h)]Rr;hUEX_fum_er<h2Gh3h4hNh5Uh"}r=h7Nubh)r>}r?(h Uh }r@h)rA}rB(hNhNhU fusidic acidrCh}rDhUfusa_erEhUEhKhGhh)rF}rG(hNhUC31H48O5rHh}rIh"}rJh$}rK(UHK0UCKUOKuhjHubh&Ueh"}rLh(h)]RrMubGshNhUfusidic acid exchangerNh,G@@h-Gh}rOh/h)]RrPhU EX_fusa_erQh2Gh3h4hNh5Uh"}rRh7Nubh)rS}rT(h Uh }rUh)rV}rW(hNhNhUD-Glucose 1-phosphaterXh}rYhUg1p_erZhUEhJhGhh)r[}r\(hNhUC6H11O9Pr]h}r^h"}r_h$}r`(UHK UCKUOK UPKuhj]ubh&Ueh"}rah(h)]RrbubGshNhUD-Glucose 1-phosphate exchangerch,G@@h-Gh}rdh/h)]RrehUEX_g1p_erfh2Gh3h4hNh5Uh"}rgh7Nubh)rh}ri(h Uh }rjh)rk}rl(hNhNhUsn-Glycero-3-phosphocholinermh}rnhUg3pc_erohUEhKhGhh)rp}rq(hNhU C8H20NO6Prrh}rsh"}rth$}ru(UHKUCKUPKUOKUNKuhjrubh&Ueh"}rvh(h)]RrwubGshNhU$sn-Glycero-3-phosphocholine exchangerxh,G@@h-Gh}ryh/h)]RrzhU EX_g3pc_er{h2Gh3h4hNh5Uh"}r|h7Nubh)r}}r~(h Uh }rh)r}r(hNhNhU sn-Glycero-3-phosphoethanolaminerh}rhUg3pe_erhUEhKhGhh)r}r(hNhU C5H14NO6Prh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU)sn-Glycero-3-phosphoethanolamine exchangerh,G@@h-Gh}rh/h)]RrhU EX_g3pe_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUGlycerophosphoglycerolrh}rhUg3pg_erhUEhJhGhh)r}r(hNhUC6H14O8Prh}rh"}rh$}r(UHKUCKUOKUPKuhjubh&Ueh"}rh(h)]RrubGshNhUGlycerophosphoglycerol exchangerh,G@@h-Gh}rh/h)]RrhU EX_g3pg_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUsn-Glycero-3-phospho-1-inositolrh}rhUg3pi_erhUEhJhGhh)r}r(hNhU C9H18O11Prh}rh"}rh$}r(UHKUCK UOK UPKuhjubh&Ueh"}rh(h)]RrubGshNhU(sn-Glycero-3-phospho-1-inositol exchangerh,G@@h-Gh}rh/h)]RrhU EX_g3pi_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUGlycerophosphoserinerh}rhUg3ps_erhUEhJhGhh)r}r(hNhU C6H13NO8Prh}rh"}rh$}r(UHK UCKUPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUGlycerophosphoserine exchangerh,G@@h-Gh}rh/h)]RrhU EX_g3ps_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUD-Glucose 6-phosphaterh}rhUg6p_erhUEhJhGhh)r}r(hNhUC6H11O9Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Glucose 6-phosphate exchangerh,G@@h-Gh}rh/h)]RrhUEX_g6p_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU D-Galactoserh}rhUgal_erhUEhKhGhh)r}r(hNhUC6H12O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Galactose exchangerh,G@@h-Gh}rh/h)]RrhUEX_gal_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUbeta D-Galactoserh}rhU gal__bD_erhUEhKhGhh)r}r(hNhUC6H12O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}r h(h)]Rr ubGshNhUbeta D-Galactose exchanger h,G@@h-Gh}r h/h)]Rr hU EX_gal__bD_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUalpha-D-Galactose 1-phosphaterh}rhUgal1p_erhUEhJhGhh)r}r(hNhUC6H11O9Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Ueh"}rh(h)]RrubGshNhU&alpha-D-Galactose 1-phosphate exchanger h,G@@h-Gh}r!h/h)]Rr"hU EX_gal1p_er#h2Gh3h4hNh5Uh"}r$h7Nubh)r%}r&(h Uh }r'h)r(}r)(hNhNhU D-Galactarater*h}r+hU galct__D_er,hUEhJhGhh)r-}r.(hNhUC6H8O8r/h}r0h"}r1h$}r2(UHKUCKUOKuhj/ubh&Ueh"}r3h(h)]Rr4ubGshNhUD-Galactarate exchanger5h,G@@h-Gh}r6h/h)]Rr7hU EX_galct__D_er8h2Gh3h4hNh5Uh"}r9h7Nubh)r:}r;(h Uh }r<h)r=}r>(hNhNhU D-Galactonater?h}r@hU galctn__D_erAhUEhJhGhh)rB}rC(hNhUC6H11O7rDh}rEh"}rFh$}rG(UHK UCKUOKuhjDubh&Ueh"}rHh(h)]RrIubGshNhUD-Galactonate exchangerJh,G@@h-Gh}rKh/h)]RrLhUEX_galctn__D_erMh2Gh3h4hNh5Uh"}rNh7Nubh)rO}rP(h Uh }rQh)rR}rS(hNhNhU L-GalactonaterTh}rUhU galctn__L_erVhUEhJhGhh)rW}rX(hNhUC6H11O7rYh}rZh"}r[h$}r\(UHK UCKUOKuhjYubh&Ueh"}r]h(h)]Rr^ubGshNhUL-Galactonate exchanger_h,G@@h-Gh}r`h/h)]RrahUEX_galctn__L_erbh2Gh3h4hNh5Uh"}rch7Nubh)rd}re(h Uh }rfh)rg}rh(hNhNhU Galactitolrih}rjhUgalt_erkhUEhKhGhh)rl}rm(hNhUC6H14O6rnh}roh"}rph$}rq(UHKUCKUOKuhjnubh&Ueh"}rrh(h)]RrsubGshNhUGalactitol exchangerth,G@@h-Gh}ruh/h)]RrvhU EX_galt_erwh2Gh3h4hNh5Uh"}rxh7Nubh)ry}rz(h Uh }r{h)r|}r}(hNhNhUD-Galacturonater~h}rhUgalur_erhUEhJhGhh)r}r(hNhUC6H9O7rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Galacturonate exchangerh,G@@h-Gh}rh/h)]RrhU EX_galur_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU D-Glucosaminerh}rhUgam_erhUEhKhGhh)r}r(hNhUC6H14NO5rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Glucosamine exchangerh,G@@h-Gh}rh/h)]RrhUEX_gam_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUD-Glucosamine 6-phosphaterh}rhUgam6p_erhUEhJhGhh)r}r(hNhU C6H13NO8Prh}rh"}rh$}r(UHK UCKUPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU"D-Glucosamine 6-phosphate exchangerh,G@@h-Gh}rh/h)]RrhU EX_gam6p_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUgamma-butyrobetainerh}rhUgbbtn_erhUEhKhGhh)r}r(hNhUC7H15NO2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUgamma-butyrobetaine exchangerh,G@@h-Gh}rh/h)]RrhU EX_gbbtn_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUGDPrh}rhUgdp_erhUEhJhGhh)r}r(hNhU C10H12N5O11P2rh}rh"}rh$}r(UHK UCK UPKUOK UNKuhjubh&Ueh"}rh(h)]RrubGshNhU GDP exchangerh,G@@h-Gh}rh/h)]RrhUEX_gdp_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU D-Glucoserh}rhUglc__D_erhUEhKhGhh)r}r(hNhUC6H12O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Glucose exchangerh,G@@h-G$h}rh/h)]RrhUEX_glc_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU D-Gluconaterh}rhUglcn_erhUEhJhGhh)r}r(hNhUC6H11O7rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Gluconate exchangerh,G@@h-Gh}rh/h)]Rr hU EX_glcn_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }rh)r}r(hNhNhU D-Glucaraterh}rhUglcr_erhUEhJhGhh)r}r(hNhUC6H8O8rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Glucarate exchangerh,G@@h-Gh}rh/h)]RrhU EX_glcr_erh2Gh3h4hNh5Uh"}r h7Nubh)r!}r"(h Uh }r#h)r$}r%(hNhNhU D-Glucuronater&h}r'hUglcur_er(hUEhJhGhh)r)}r*(hNhUC6H9O7r+h}r,h"}r-h$}r.(UHK UCKUOKuhj+ubh&Ueh"}r/h(h)]Rr0ubGshNhUD-Glucuronate exchanger1h,G@@h-Gh}r2h/h)]Rr3hU EX_glcur_er4h2Gh3h4hNh5Uh"}r5h7Nubh)r6}r7(h Uh }r8h)r9}r:(hNhNhUD-Glucuronate 1-phosphater;h}r<hU glcur1p_er=hUEhJhGhh)r>}r?(hNhUC6H8O10Pr@h}rAh"}rBh$}rC(UHKUCKUOK UPKuhj@ubh&Ueh"}rDh(h)]RrEubGshNhU"D-Glucuronate 1-phosphate exchangerFh,G@@h-Gh}rGh/h)]RrHhU EX_glcur1p_erIh2Gh3h4hNh5Uh"}rJh7Nubh)rK}rL(h Uh }rMh)rN}rO(hNhNhU L-GlutaminerPh}rQhUgln__L_erRhUEhKhGhh)rS}rT(hNhU C5H10N2O3rUh}rVh"}rWh$}rX(UHK UCKUOKUNKuhjUubh&Ueh"}rYh(h)]RrZubGshNhUL-Glutamine exchanger[h,G@@h-Gh}r\h/h)]Rr]hU EX_gln__L_er^h2Gh3h4hNh5Uh"}r_h7Nubh)r`}ra(h Uh }rbh)rc}rd(hNhNhU L-Glutamatereh}rfhUglu__L_erghUEhJhGhh)rh}ri(hNhUC5H8NO4rjh}rkh"}rlh$}rm(UHKUCKUOKUNKuhjjubh&Ueh"}rnh(h)]RroubGshNhUL-Glutamate exchangerph,G@@h-Gh}rqh/h)]RrrhU EX_glu__L_ersh2Gh3h4hNh5Uh"}rth7Nubh)ru}rv(h Uh }rwh)rx}ry(hNhNhUGlycinerzh}r{hUgly_er|hUEhKhGhh)r}}r~(hNhUC2H5NO2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUGlycine exchangerh,G@@h-Gh}rh/h)]RrhUEX_gly_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUD-Glyceraldehyderh}rhUglyald_erhUEhKhGhh)r}r(hNhUC3H6O3rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Glyceraldehyde exchangerh,G@@h-Gh}rh/h)]RrhU EX_glyald_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUGlycine betainerh}rhUglyb_erhUEhKhGhh)r}r(hNhUC5H11NO2rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUGlycine betaine exchangerh,G@@h-Gh}rh/h)]RrhU EX_glyb_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUGlycerolrh}rhUglyc_erhUEhKhGhh)r}r(hNhUC3H8O3rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUGlycerol exchangerh,G@@h-Gh}rh/h)]RrhU EX_glyc_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU (R)-Glyceraterh}rhU glyc__R_erhUEhJhGhh)r}r(hNhUC3H5O4rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhU(R)-Glycerate exchangerh,G@@h-Gh}rh/h)]RrhU EX_glyc__R_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUGlycerol 2-phosphaterh}rhUglyc2p_erhUEhJhGhh)r}r(hNhUC3H7O6Prh}rh"}rh$}r(UHKUCKUOKUPKuhjubh&Ueh"}rh(h)]RrubGshNhUGlycerol 2-phosphate exchangerh,G@@h-Gh}rh/h)]RrhU EX_glyc2p_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUGlycerol 3-phosphaterh}rhUglyc3p_erhUEhJhGhh)r}r(hNhUC3H7O6Prh}rh"}rh$}r(UHKUCKUOKUPKuhjubh&Ueh"}rh(h)]RrubGshNhUGlycerol 3-phosphate exchangerh,G@@h-Gh}rh/h)]RrhU EX_glyc3p_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r (h Uh }r h)r }r (hNhNhU Glycolater h}rhUglyclt_erhUEhJhGhh)r}r(hNhUC2H3O3rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUGlycolate exchangerh,G@@h-Gh}rh/h)]RrhU EX_glyclt_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r }r!(hNhNhUGMPr"h}r#hUgmp_er$hUEhJhGhh)r%}r&(hNhU C10H12N5O8Pr'h}r(h"}r)h$}r*(UHK UCK UPKUOKUNKuhj'ubh&Ueh"}r+h(h)]Rr,ubGshNhU GMP exchanger-h,G@@h-Gh}r.h/h)]Rr/hUEX_gmp_er0h2Gh3h4hNh5Uh"}r1h7Nubh)r2}r3(h Uh }r4h)r5}r6(hNhNhU Guanosiner7h}r8hUgsn_er9hUEhKhGhh)r:}r;(hNhU C10H13N5O5r<h}r=h"}r>h$}r?(UHK UCK UOKUNKuhj<ubh&Ueh"}r@h(h)]RrAubGshNhUGuanosine exchangerBh,G@@h-Gh}rCh/h)]RrDhUEX_gsn_erEh2Gh3h4hNh5Uh"}rFh7Nubh)rG}rH(h Uh }rIh)rJ}rK(hNhNhUOxidized glutathionerLh}rMhUgthox_erNhUEhJhGhh)rO}rP(hNhU C20H30N6O12S2rQh}rRh"}rSh$}rT(UHKUCKUSKUOK UNKuhjQubh&Ueh"}rUh(h)]RrVubGshNhUOxidized glutathione exchangerWh,G@@h-Gh}rXh/h)]RrYhU EX_gthox_erZh2Gh3h4hNh5Uh"}r[h7Nubh)r\}r](h Uh }r^h)r_}r`(hNhNhUReduced glutathionerah}rbhUgthrd_erchUEhJhGhh)rd}re(hNhU C10H16N3O6Srfh}rgh"}rhh$}ri(UHKUCK USKUOKUNKuhjfubh&Ueh"}rjh(h)]RrkubGshNhUReduced glutathione exchangerlh,G@@h-Gh}rmh/h)]RrnhU EX_gthrd_eroh2Gh3h4hNh5Uh"}rph7Nubh)rq}rr(h Uh }rsh)rt}ru(hNhNhUGTPrvh}rwhUgtp_erxhUEhJhGhh)ry}rz(hNhU C10H12N5O14P3r{h}r|h"}r}h$}r~(UHK UCK UPKUOKUNKuhj{ubh&Ueh"}rh(h)]RrubGshNhU GTP exchangerh,G@@h-Gh}rh/h)]RrhUEX_gtp_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUGuaninerh}rhUgua_erhUEhKhGhh)r}r(hNhUC5H5N5Orh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUGuanine exchangerh,G@@h-Gh}rh/h)]RrhUEX_gua_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUH+rh}rhUh_erhUEhKhGhh)r}r(hNhUHh}rh"}rh$}rUHKshUHubh&Ueh"}rh(h)]RrubGshNhU H+ exchangerh,G@@h-G@h}rh/h)]RrhUEX_h_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUH2rh}rhUh2_erhUEhKhGhh)r}r(hNhUH2rh}rh"}rh$}rUHKshjubh&Ueh"}rh(h)]RrubGshNhU H2 exchangerh,G@@h-Gh}rh/h)]RrhUEX_h2_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUH2Orh}rhUh2o_erhUEhKhGhh)r}r(hNhUH2Orh}rh"}rh$}r(UHKUOKuhjubh&Ueh"}rh(h)]RrubGshNhU H2O exchangerh,G@@h-G@h}rh/h)]RrhUEX_h2o_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUHydrogen peroxiderh}rhUh2o2_erhUEhKhGhh)r}r(hNhUH2O2rh}rh"}rh$}r(UHKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUHydrogen peroxide exchangerh,G@@h-Gh}rh/h)]RrhU EX_h2o2_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUHydrogen sulfiderh}rhUh2s_erhUEhKhGhh)r}r(hNhUH2Srh}rh"}rh$}r(UHKUSKuhjubh&Ueh"}rh(h)]RrubGshNhUHydrogen sulfide exchangerh,G@@h-Gh}rh/h)]RrhUEX_h2s_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU5hepta-acylated core oligosaccharide lipid A (E. coli)rh}r hU hacolipa_er hUEhJhGhh)r }r (hNhUC192H333N2O101P4r h}rh"}rh$}r(UHMMUCKUPKUOKeUNKuhj ubh&Ueh"}rh(h)]RrubGshNhU>hepta-acylated core oligosaccharide lipid A (E. coli) exchangerh,G@@h-Gh}rh/h)]RrhU EX_hacolipa_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUhepta-acylated KDO(2)-lipid (A)rh}rhUhalipa_erhUEhJhGhh)r }r!(hNhUC126H226N2O40P2r"h}r#h"}r$h$}r%(UHKUCK~UPKUOK(UNKuhj"ubh&Ueh"}r&h(h)]Rr'ubGshNhU(hepta-acylated KDO(2)-lipid (A) exchanger(h,G@@h-Gh}r)h/h)]Rr*hU EX_halipa_er+h2Gh3h4hNh5Uh"}r,h7Nubh)r-}r.(h Uh }r/h)r0}r1(hNhNhUHexadecanoate (n-C16:0)r2h}r3hUhdca_er4hUEhJhGhh)r5}r6(hNhUC16H31O2r7h}r8h"}r9h$}r:(UHKUCKUOKuhj7ubh&Ueh"}r;h(h)]Rr<ubGshNhU Hexadecanoate (n-C16:0) exchanger=h,G@@h-Gh}r>h/h)]Rr?hU EX_hdca_er@h2Gh3h4hNh5Uh"}rAh7Nubh)rB}rC(h Uh }rDh)rE}rF(hNhNhUHexadecenoate (n-C16:1)rGh}rHhUhdcea_erIhUEhJhGhh)rJ}rK(hNhUC16H29O2rLh}rMh"}rNh$}rO(UHKUCKUOKuhjLubh&Ueh"}rPh(h)]RrQubGshNhU hexadecenoate (n-C16:1) exchangerRh,G@@h-Gh}rSh/h)]RrThU EX_hdcea_erUh2Gh3h4hNh5Uh"}rVh7Nubh)rW}rX(h Uh }rYh)rZ}r[(hNhNhUHg2+r\h}r]hUhg2_er^hUEhKhGhh)r_}r`(hNhUHgrah}rbh"}rch$}rdjaKshjaubh&Ueh"}reh(h)]RrfubGshNhU Hg2+ exchangergh,G@@h-Gh}rhh/h)]RrihUEX_hg2_erjh2Gh3h4hNh5Uh"}rkh7Nubh)rl}rm(h Uh }rnh)ro}rp(hNhNhU L-Histidinerqh}rrhUhis__L_ershUEhKhGhh)rt}ru(hNhUC6H9N3O2rvh}rwh"}rxh$}ry(UHK UCKUOKUNKuhjvubh&Ueh"}rzh(h)]Rr{ubGshNhUL-Histidine exchanger|h,G@@h-Gh}r}h/h)]Rr~hU EX_his__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU L-Homoserinerh}rhUhom__L_erhUEhKhGhh)r}r(hNhUC4H9NO3rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUL-Homoserine exchangerh,G@@h-Gh}rh/h)]RrhU EX_hom__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUHexanoate (n-C6:0)rh}rhUhxa_erhUEhJhGhh)r}r(hNhUC6H11O2rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUHexanoate (n-C6:0) exchangerh,G@@h-Gh}rh/h)]RrhUEX_hxa_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Hypoxanthinerh}rhUhxan_erhUEhKhGhh)r}r(hNhUC5H4N4Orh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUHypoxanthine exchangerh,G@@h-Gh}rh/h)]RrhU EX_hxan_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU L-Idonaterh}rhU idon__L_erhUEhJhGhh)r}r(hNhUC6H11O7rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUL-Idonate exchangerh,G@@h-Gh}rh/h)]RrhU EX_idon__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU L-Isoleucinerh}rhUile__L_erhUEhKhGhh)r}r(hNhUC6H13NO2rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUL-Isoleucine exchangerh,G@@h-Gh}rh/h)]RrhU EX_ile__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUIMPrh}rhUimp_erhUEhJhGhh)r}r(hNhU C10H11N4O8Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU IMP exchangerh,G@@h-Gh}rh/h)]RrhUEX_imp_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUIndolerh}rhUindole_erhUEhKhGhh)r}r(hNhUC8H7Nr h}r h"}r h$}r (UHKUCKUNKuhj ubh&Ueh"}r h(h)]RrubGshNhUIndole exchangerh,G@@h-Gh}rh/h)]RrhU EX_indole_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU myo-Inositolrh}rhUinost_erhUEhKhGhh)r}r(hNhUC6H12O6rh}rh"}r h$}r!(UHK UCKUOKuhjubh&Ueh"}r"h(h)]Rr#ubGshNhUmyo-Inositol exchanger$h,G@@h-Gh}r%h/h)]Rr&hU EX_inost_er'h2Gh3h4hNh5Uh"}r(h7Nubh)r)}r*(h Uh }r+h)r,}r-(hNhNhUInosiner.h}r/hUins_er0hUEhKhGhh)r1}r2(hNhU C10H12N4O5r3h}r4h"}r5h$}r6(UHK UCK UOKUNKuhj3ubh&Ueh"}r7h(h)]Rr8ubGshNhUInosine exchanger9h,G@@h-Gh}r:h/h)]Rr;hUEX_ins_er<h2Gh3h4hNh5Uh"}r=h7Nubh)r>}r?(h Uh }r@h)rA}rB(hNhNhUIsethionic acidrCh}rDhUisetac_erEhUEhJhGhh)rF}rG(hNhUC2H5O4SrHh}rIh"}rJh$}rK(UHKUCKUSKUOKuhjHubh&Ueh"}rLh(h)]RrMubGshNhUIsethionic acid exchangerNh,G@@h-Gh}rOh/h)]RrPhU EX_isetac_erQh2Gh3h4hNh5Uh"}rRh7Nubh)rS}rT(h Uh }rUh)rV}rW(hNhNhU potassiumrXh}rYhUk_erZhUEhKhGhh)r[}r\(hNhUKh}r]h"}r^h$}r_UKKshUKubh&Ueh"}r`h(h)]RraubGshNhU K+ exchangerbh,G@@h-G@h}rch/h)]RrdhUEX_k_ereh2Gh3h4hNh5Uh"}rfh7Nubh)rg}rh(h Uh }rij&GshNhUKDO(2)-lipid IV(A) exchangerjh,G@@h-Gh}rkh/h)]RrlhUEX_kdo2lipid4_ermh2Gh3h4hNh5Uh"}rnh7Nubh)ro}rp(h Uh }rqh)rr}rs(hNhNhU D-Lactaterth}ruhUlac__D_ervhUEhJhGhh)rw}rx(hNhUC3H5O3ryh}rzh"}r{h$}r|(UHKUCKUOKuhjyubh&Ueh"}r}h(h)]Rr~ubGshNhUD-lactate exchangerh,G@@h-Gh}rh/h)]RrhU EX_lac__D_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU L-Lactaterh}rhUlac__L_erhUEhJhGhh)r}r(hNhUC3H5O3rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUL-Lactate exchangerh,G@@h-Gh}rh/h)]RrhU EX_lac__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhULactoserh}rhUlcts_erhUEhKhGhh)r}r(hNhU C12H22O11rh}rh"}rh$}r(UHKUCK UOK uhjubh&Ueh"}rh(h)]RrubGshNhULactose exchangerh,G@@h-Gh}rh/h)]RrhU EX_lcts_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU L-Leucinerh}rhUleu__L_erhUEhKhGhh)r}r(hNhUC6H13NO2rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUL-Leucine exchangerh,G@@h-Gh}rh/h)]RrhU EX_leu__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUKDO(2)-lipid (A)rh}rhUlipa_erhUEhJhGhh)r}r(hNhUC110H196N2O39P2rh}rh"}rh$}r(UHKUCKnUPKUOK'UNKuhjubh&Ueh"}rh(h)]RrubGshNhUKDO(2)-lipid (A) exchangerh,G@@h-Gh}rh/h)]RrhU EX_lipa_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUcold adapted KDO(2)-lipid (A)rh}rhU lipa_cold_erhUEhJhGhh)r}r(hNhUC114H202N2O39P2rh}rh"}rh$}r(UHKUCKrUPKUOK'UNKuhjubh&Ueh"}rh(h)]RrubGshNhU&cold adapted KDO(2)-lipid (A) exchangerh,G@@h-Gh}rh/h)]RrhUEX_lipa_cold_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhULipoaterh}rhU lipoate_erhUEhKhGhh)r}r(hNhU C8H14O2S2rh}rh"}rh$}r(UHKUCKUSKUOKuhjubh&Ueh"}rh(h)]RrubGshNhULipoate exchangerh,G@@h-Gh}rh/h)]RrhU EX_lipoate_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUL-Lysinerh}rhUlys__L_er hUEhKhGhh)r }r (hNhU C6H15N2O2r h}r h"}rh$}r(UHKUCKUOKUNKuhj ubh&Ueh"}rh(h)]RrubGshNhUL-Lysine exchangerh,G@@h-Gh}rh/h)]RrhU EX_lys__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUL-Lyxoserh}rhUlyx__L_erhUEhKhGhh)r}r (hNhUC5H10O5r!h}r"h"}r#h$}r$(UHK UCKUOKuhj!ubh&Ueh"}r%h(h)]Rr&ubGshNhUL-Lyxose exchanger'h,G@@h-Gh}r(h/h)]Rr)hU EX_lyx__L_er*h2Gh3h4hNh5Uh"}r+h7Nubh)r,}r-(h Uh }r.h)r/}r0(hNhNhUD-Malater1h}r2hUmal__D_er3hUEhJhGhh)r4}r5(hNhUC4H4O5r6h}r7h"}r8h$}r9(UHKUCKUOKuhj6ubh&Ueh"}r:h(h)]Rr;ubGshNhUD-Malate exchanger<h,G@@h-Gh}r=h/h)]Rr>hU EX_mal__D_er?h2Gh3h4hNh5Uh"}r@h7Nubh)rA}rB(h Uh }rCh)rD}rE(hNhNhUL-MalaterFh}rGhUmal__L_erHhUEhJhGhh)rI}rJ(hNhUC4H4O5rKh}rLh"}rMh$}rN(UHKUCKUOKuhjKubh&Ueh"}rOh(h)]RrPubGshNhUL-Malate exchangerQh,G@@h-Gh}rRh/h)]RrShU EX_mal__L_erTh2Gh3h4hNh5Uh"}rUh7Nubh)rV}rW(h Uh }rXh)rY}rZ(hNhNhUMaltoser[h}r\hUmalt_er]hUEhKhGhh)r^}r_(hNhU C12H22O11r`h}rah"}rbh$}rc(UHKUCK UOK uhj`ubh&Ueh"}rdh(h)]RreubGshNhUMaltose exchangerfh,G@@h-Gh}rgh/h)]RrhhU EX_malt_erih2Gh3h4hNh5Uh"}rjh7Nubh)rk}rl(h Uh }rmh)rn}ro(hNhNhU Maltohexaoserph}rqhUmalthx_errhUEhKhGhh)rs}rt(hNhU C36H62O31ruh}rvh"}rwh$}rx(UHK>UCK$UOKuhjuubh&Ueh"}ryh(h)]RrzubGshNhUMaltohexaose exchanger{h,G@@h-Gh}r|h/h)]Rr}hU EX_malthx_er~h2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Maltopentaoserh}rhUmaltpt_erhUEhKhGhh)r}r(hNhU C30H52O26rh}rh"}rh$}r(UHK4UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUMaltopentaose exchangerh,G@@h-Gh}rh/h)]RrhU EX_maltpt_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Maltotrioserh}rhUmalttr_erhUEhKhGhh)r}r(hNhU C18H32O16rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUMaltotriose exchangerh,G@@h-Gh}rh/h)]RrhU EX_malttr_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Maltotetraoserh}rhU maltttr_erhUEhKhGhh)r}r(hNhU C24H42O21rh}rh"}rh$}r(UHK*UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUMaltotetraose exchangerh,G@@h-Gh}rh/h)]RrhU EX_maltttr_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU D-Mannoserh}rhUman_erhUEhKhGhh)r}r(hNhUC6H12O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Mannose exchangerh,G@@h-Gh}rh/h)]RrhUEX_man_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUD-Mannose 6-phosphaterh}rhUman6p_erhUEhJhGhh)r}r(hNhUC6H11O9Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Mannose 6-phosphate exchangerh,G@@h-Gh}rh/h)]RrhU EX_man6p_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU2(alpha-D-Mannosyl)-D-glyceraterh}rhU manglyc_erhUEhJhGhh)r}r(hNhUC9H15O9rh}rh"}rh$}r(UHKUCK UOK uhjubh&Ueh"}rh(h)]RrubGshNhU(2(alpha-D-Mannosyl)-D-glycerate exchangerh,G@@h-Gh}rh/h)]RrhU EX_manglyc_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Melibioserh}rhUmelib_erhUEhKhGhh)r}r(hNhU C12H22O11rh}r h"}r h$}r (UHKUCK UOK uhjubh&Ueh"}r h(h)]Rr ubGshNhUMelibiose exchangerh,G@@h-Gh}rh/h)]RrhU EX_melib_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUMethanolrh}rhUmeoh_erhUEhKhGhh)r}r(hNhUCH4O1rh}rh"}rh$}r (UHKUCKUOKuhjubh&Ueh"}r!h(h)]Rr"ubGshNhUmethanol exchanger#h,G@@h-Gh}r$h/h)]Rr%hU EX_meoh_er&h2Gh3h4hNh5Uh"}r'h7Nubh)r(}r)(h Uh }r*h)r+}r,(hNhNhU D-Methioniner-h}r.hUmet__D_er/hUEhKhGhh)r0}r1(hNhU C5H10NO2Sr2h}r3h"}r4h$}r5(UHK UCKUSKUOKUNKuhj2ubh&Ueh"}r6h(h)]Rr7ubGshNhUD-Methionine exchanger8h,G@@h-Gh}r9h/h)]Rr:hU EX_met__D_er;h2Gh3h4hNh5Uh"}r<h7Nubh)r=}r>(h Uh }r?h)r@}rA(hNhNhU L-MethioninerBh}rChUmet__L_erDhUEhKhGhh)rE}rF(hNhU C5H11NO2SrGh}rHh"}rIh$}rJ(UHK UCKUSKUOKUNKuhjGubh&Ueh"}rKh(h)]RrLubGshNhUL-Methionine exchangerMh,G@@h-Gh}rNh/h)]RrOhU EX_met__L_erPh2Gh3h4hNh5Uh"}rQh7Nubh)rR}rS(h Uh }rTh)rU}rV(hNhNhUL-methionine-R-sulfoxiderWh}rXhUmetsox__R__L_erYhUEhKhGhh)rZ}r[(hNhU C5H11NO3Sr\h}r]h"}r^h$}r_(UHK UCKUSKUOKUNKuhj\ubh&Ueh"}r`h(h)]RraubGshNhU!L-methionine-R-sulfoxide exchangerbh,G@@h-Gh}rch/h)]RrdhUEX_metsox__R__L_ereh2Gh3h4hNh5Uh"}rfh7Nubh)rg}rh(h Uh }rih)rj}rk(hNhNhUL-Methionine Sulfoxiderlh}rmhUmetsox__S__L_ernhUEhKhGhh)ro}rp(hNhU C5H11NO3Srqh}rrh"}rsh$}rt(UHK UCKUSKUOKUNKuhjqubh&Ueh"}ruh(h)]RrvubGshNhUL-Methionine S-oxide exchangerwh,G@@h-Gh}rxh/h)]RryhUEX_metsox__S__L_erzh2Gh3h4hNh5Uh"}r{h7Nubh)r|}r}(h Uh }r~h)r}r(hNhNhU magnesiumrh}rhUmg2_erhUEhKhGhh)r}r(hNhUMgrh}rh"}rh$}rjKshjubh&Ueh"}rh(h)]RrubGshNhU Mg exchangerh,G@@h-G@h}rh/h)]RrhUEX_mg2_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU minocyclinerh}rhUmincyc_erhUEhKhGhh)r}r(hNhU C23H27N3O7rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUminocycline exchangerh,G@@h-Gh}rh/h)]RrhU EX_mincyc_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUmyo-Inositol hexakisphosphaterh}rhUminohp_erhUEhJhGhh)r}r(hNhU C6H6O24P6rh}rh"}rh$}r(UHKUCKUOKUPKuhjubh&Ueh"}rh(h)]RrubGshNhU&myo-Inositol hexakisphosphate exchangerh,G@@h-Gh}rh/h)]RrhU EX_minohp_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUS-Methyl-L-methioninerh}rhUmmet_erhUEhKhGhh)r}r(hNhU C6H14NO2Srh}rh"}rh$}r(UHKUCKUSKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUS-Methyl-L-methionine exchangerh,G@@h-Gh}rh/h)]RrhU EX_mmet_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUMn2+rh}rhUmn2_erhUEhKhGhh)r}r(hNhUMnrh}rh"}rh$}rjKshjubh&Ueh"}rh(h)]RrubGshNhU Mn2+ exchangerh,G@@h-G@h}rh/h)]RrhUEX_mn2_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU D-Mannitolrh}rhUmnl_erhUEhKhGhh)r}r(hNhUC6H14O6rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Mannitol exchangerh,G@@h-Gh}rh/h)]RrhUEX_mnl_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Molybdaterh}rhUmobd_erhUEhJhGhh)r}r(hNhUMoO4rh}rh"}rh$}r(UMoKUOKuhjubh&Ueh"}rh(h)]Rr ubGshNhUMolybdate exchanger h,G@@h-G@h}r h/h)]Rr hU EX_mobd_er h2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUmethanesulfonaterh}rhUmso3_erhUEhJhGhh)r}r(hNhUCH3O3Srh}rh"}rh$}r(UHKUCKUSKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUmethanesulfonate exchangerh,G@@h-Gh}r h/h)]Rr!hU EX_mso3_er"h2Gh3h4hNh5Uh"}r#h7Nubh)r$}r%(h Uh }r&h)r'}r((hNhNhU Nitrous oxider)h}r*hUn2o_er+hUEhKhGhh)r,}r-(hNhUN2Or.h}r/h"}r0h$}r1(UOKUNKuhj.ubh&Ueh"}r2h(h)]Rr3ubGshNhUNitrous oxide exchanger4h,G@@h-Gh}r5h/h)]Rr6hUEX_n2o_er7h2Gh3h4hNh5Uh"}r8h7Nubh)r9}r:(h Uh }r;h)r<}r=(hNhNhUSodiumr>h}r?hUna1_er@hUEhKhGhh)rA}rB(hNhUNarCh}rDh"}rEh$}rFjCKshjCubh&Ueh"}rGh(h)]RrHubGshNhUSodium exchangerIh,G@@h-G@h}rJh/h)]RrKhUEX_na1_erLh2Gh3h4hNh5Uh"}rMh7Nubh)rN}rO(h Uh }rPh)rQ}rR(hNhNhU NicotinaterSh}rThUnac_erUhUEhJhGhh)rV}rW(hNhUC6H4NO2rXh}rYh"}rZh$}r[(UHKUCKUOKUNKuhjXubh&Ueh"}r\h(h)]Rr]ubGshNhUNicotinate exchanger^h,G@@h-Gh}r_h/h)]Rr`hUEX_nac_erah2Gh3h4hNh5Uh"}rbh7Nubh)rc}rd(h Uh }reh)rf}rg(hNhNhUAmmoniumrhh}rihUnh4_erjhUEhKhGhh)rk}rl(hNhUH4Nrmh}rnh"}roh$}rp(UHKUNKuhjmubh&Ueh"}rqh(h)]RrrubGshNhUAmmonia exchangersh,G@@h-G@h}rth/h)]RruhUEX_nh4_ervh2Gh3h4hNh5Uh"}rwh7Nubh)rx}ry(h Uh }rzh)r{}r|(hNhNhUnickelr}h}r~hUni2_erhUEhKhGhh)r}r(hNhUNirh}rh"}rh$}rjKshjubh&Ueh"}rh(h)]RrubGshNhU Ni2+ exchangerh,G@@h-G@h}rh/h)]RrhUEX_ni2_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUNMNrh}rhUnmn_erhUEhJhGhh)r}r(hNhU C11H14N2O8Prh}rh"}rh$}r(UHKUCK UPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU NMN exchangerh,G@@h-Gh}rh/h)]RrhUEX_nmn_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Nitric oxiderh}rhUno_erhUEhKhGhh)r}r(hNhUNOrh}rh"}rh$}r(UOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUNitric oxide exchangerh,G@@h-Gh}rh/h)]RrhUEX_no_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUNitriterh}rhUno2_erhUEhJhGhh)r}r(hNhUNO2rh}rh"}rh$}r(UOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUNitrite exchangerh,G@@h-Gh}rh/h)]RrhUEX_no2_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUNitraterh}rhUno3_erhUEhJhGhh)r}r(hNhUNO3rh}rh"}rh$}r(UOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUNitrate exchangerh,G@@h-Gh}rh/h)]RrhUEX_no3_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU novobiocinrh}rhUnovbcn_erhUEhKhGhh)r}r(hNhU C31H36N2O11rh}rh"}rh$}r(UHK$UCKUOK UNKuhjubh&Ueh"}rh(h)]RrubGshNhUnovobiocin exchangerh,G@@h-Gh}rh/h)]RrhU EX_novbcn_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU,(O16 antigen)x4 core oligosaccharide lipid Arh}rhU o16a4colipa_erhUEhJhGhh)r}r(hNhUC312H523N6O200P4rh}rh"}rh$}r(UHM UCM8UPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU5(O16 antigen)x4 core oligosaccharide lipid A exchangerh,G@@h-Gh}rh/h)]RrhUEX_o16a4colipa_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r}r(hNhNhUO2rh}rhUo2_erhUEhKhGhh)r}r(hNhUO2rh}rh"}rh$}rUOKshjubh&Ueh"}rh(h)]RrubGshNhU O2 exchangerh,G@@h-G@h}rh/h)]RrhUEX_o2_erh2Gh3h4hNh5Uh"}rh7Nubh)r }r!(h Uh }r"h)r#}r$(hNhNhUSuperoxide anionr%h}r&hUo2s_er'hUEhJhGhh)r(}r)(hNhUO2r*h}r+h"}r,h$}r-UOKshj*ubh&Ueh"}r.h(h)]Rr/ubGshNhUSuperoxide anion exchanger0h,G@@h-Gh}r1h/h)]Rr2hUEX_o2s_er3h2Gh3h4hNh5Uh"}r4h7Nubh)r5}r6(h Uh }r7h)r8}r9(hNhNhUoctadecanoate (n-C18:0)r:h}r;hUocdca_er<hUEhJhGhh)r=}r>(hNhUC18H35O2r?h}r@h"}rAh$}rB(UHK#UCKUOKuhj?ubh&Ueh"}rCh(h)]RrDubGshNhU octadecanoate (n-C18:0) exchangerEh,G@@h-Gh}rFh/h)]RrGhU EX_ocdca_erHh2Gh3h4hNh5Uh"}rIh7Nubh)rJ}rK(h Uh }rLh)rM}rN(hNhNhUoctadecenoate (n-C18:1)rOh}rPhUocdcea_erQhUEhJhGhh)rR}rS(hNhUC18H33O2rTh}rUh"}rVh$}rW(UHK!UCKUOKuhjTubh&Ueh"}rXh(h)]RrYubGshNhU octadecenoate (n-C18:1) exchangerZh,G@@h-Gh}r[h/h)]Rr\hU EX_ocdcea_er]h2Gh3h4hNh5Uh"}r^h7Nubh)r_}r`(h Uh }rah)rb}rc(hNhNhUoctanoate (n-C8:0)rdh}rehUocta_erfhUEhJhGhh)rg}rh(hNhUC8H15O2rih}rjh"}rkh$}rl(UHKUCKUOKuhjiubh&Ueh"}rmh(h)]RrnubGshNhUoctanoate (n-C8:0) exchangeroh,G@@h-Gh}rph/h)]RrqhU EX_octa_errh2Gh3h4hNh5Uh"}rsh7Nubh)rt}ru(h Uh }rvh)rw}rx(hNhNhU Ornithineryh}rzhUorn_er{hUEhKhGhh)r|}r}(hNhU C5H13N2O2r~h}rh"}rh$}r(UHK UCKUOKUNKuhj~ubh&Ueh"}rh(h)]RrubGshNhUOrnithine exchangerh,G@@h-Gh}rh/h)]RrhUEX_orn_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUOrotaterh}rhUorot_erhUEhJhGhh)r}r(hNhUC5H3N2O4rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUOrotate exchangerh,G@@h-Gh}rh/h)]RrhU EX_orot_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUPhenylacetaldehyderh}rhUpacald_erhUEhKhGhh)r}r(hNhUC8H8Orh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUPhenylacetaldehyde exchangerh,G@@h-Gh}rh/h)]RrhU EX_pacald_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUPhenethylaminerh}rhUpeamn_erhUEhKhGhh)r}r(hNhUC8H12Nrh}rh"}rh$}r(UHK UCKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUPhenethylamine exchangerh,G@@h-Gh}rh/h)]RrhU EX_peamn_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUL-Phenylalaninerh}rhUphe__L_erhUEhKhGhh)r}r(hNhUC9H11NO2rh}rh"}rh$}r(UHK UCK UOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUL-Phenylalanine exchangerh,G@@h-Gh}rh/h)]RrhU EX_phe__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Protohemerh}rhUpheme_erhUEhJhGhh)r}r(hNhU C34H30FeN4O4rh}rh"}rh$}r(UHKUCK"UFeKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUProtoheme exchangerh,G@@h-Gh}rh/h)]RrhU EX_pheme_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Phosphaterh}rhUpi_erhUEhJhGhh)r}r(hNhUHO4Prh}rh"}rh$}r(UHKUOKUPKuhjubh&Ueh"}rh(h)]RrubGshNhUPhosphate exchangerh,G@@h-G@h}rh/h)]RrhUEX_pi_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }r h)r }r (hNhNhU(R)-Pantothenater h}r hU pnto__R_erhUEhJhGhh)r}r(hNhUC9H16NO5rh}rh"}rh$}r(UHKUCK UOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU(R)-Pantothenate exchangerh,G@@h-Gh}rh/h)]RrhU EX_pnto__R_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r (hNhNhUPropionate (n-C3:0)r!h}r"hUppa_er#hUEhJhGhh)r$}r%(hNhUC3H5O2r&h}r'h"}r(h$}r)(UHKUCKUOKuhj&ubh&Ueh"}r*h(h)]Rr+ubGshNhUPropionate exchanger,h,G@@h-Gh}r-h/h)]Rr.hUEX_ppa_er/h2Gh3h4hNh5Uh"}r0h7Nubh)r1}r2(h Uh }r3h)r4}r5(hNhNhUPropanalr6h}r7hUppal_er8hUEhKhGhh)r9}r:(hNhUC3H6Or;h}r<h"}r=h$}r>(UHKUCKUOKuhj;ubh&Ueh"}r?h(h)]Rr@ubGshNhUPropanal exchangerAh,G@@h-Gh}rBh/h)]RrChU EX_ppal_erDh2Gh3h4hNh5Uh"}rEh7Nubh)rF}rG(h Uh }rHh)rI}rJ(hNhNhUPhenylpropanoaterKh}rLhUpppn_erMhUEhJhGhh)rN}rO(hNhUC9H9O2rPh}rQh"}rRh$}rS(UHK UCK UOKuhjPubh&Ueh"}rTh(h)]RrUubGshNhUPhenylpropanoate exchangerVh,G@@h-Gh}rWh/h)]RrXhU EX_pppn_erYh2Gh3h4hNh5Uh"}rZh7Nubh)r[}r\(h Uh }r]h)r^}r_(hNhNhU Phosphonater`h}rahUppt_erbhUEhJhGhh)rc}rd(hNhUHO3Preh}rfh"}rgh$}rh(UHKUOKUPKuhjeubh&Ueh"}rih(h)]RrjubGshNhUPhosphonate exchangerkh,G@@h-Gh}rlh/h)]RrmhUEX_ppt_ernh2Gh3h4hNh5Uh"}roh7Nubh)rp}rq(h Uh }rrh)rs}rt(hNhNhU L-Prolineruh}rvhUpro__L_erwhUEhKhGhh)rx}ry(hNhUC5H9NO2rzh}r{h"}r|h$}r}(UHK UCKUOKUNKuhjzubh&Ueh"}r~h(h)]RrubGshNhUL-Proline exchangerh,G@@h-Gh}rh/h)]RrhU EX_pro__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUL-Prolinylglycinerh}rhUprogly_erhUEhKhGhh)r}r(hNhU C7H12N2O3rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUL-Prolinylglycine exchangerh,G@@h-Gh}rh/h)]RrhU EX_progly_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU psicoselysinerh}rhUpsclys_erhUEhKhGhh)r}r(hNhU C12H25N2O7rh}rh"}rh$}r(UHKUCK UOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUpsicoselysine exchangerh,G@@h-Gh}rh/h)]RrhU EX_psclys_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUO-Phospho-L-serinerh}rhU pser__L_erhUEhJhGhh)r}r(hNhUC3H6NO6Prh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUO-Phospho-L-serine exchangerh,G@@h-Gh}rh/h)]RrhU EX_pser__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Putrescinerh}rhUptrc_erhUEhKhGhh)r}r(hNhUC4H14N2rh}rh"}rh$}r(UHKUCKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUPutrescine exchangerh,G@@h-Gh}rh/h)]RrhU EX_ptrc_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Pyridoxaminerh}rhUpydam_erhUEhKhGhh)r}r(hNhU C8H13N2O2rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUPyridoxamine exchangerh,G@@h-Gh}rh/h)]RrhU EX_pydam_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Pyridoxalrh}rhUpydx_erhUEhKhGhh)r}r(hNhUC8H9NO3rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUPyridoxal exchangerh,G@@h-Gh}rh/h)]RrhU EX_pydx_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Pyridoxinerh}r hUpydxn_er hUEhKhGhh)r }r (hNhUC8H11NO3r h}rh"}rh$}r(UHK UCKUOKUNKuhj ubh&Ueh"}rh(h)]RrubGshNhUPyridoxine exchangerh,G@@h-Gh}rh/h)]RrhU EX_pydxn_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUPyruvaterh}rhUpyr_erhUEhJhGhh)r }r!(hNhUC3H3O3r"h}r#h"}r$h$}r%(UHKUCKUOKuhj"ubh&Ueh"}r&h(h)]Rr'ubGshNhUPyruvate exchanger(h,G@@h-Gh}r)h/h)]Rr*hUEX_pyr_er+h2Gh3h4hNh5Uh"}r,h7Nubh)r-}r.(h Uh }r/h)r0}r1(hNhNhUQuinater2h}r3hUquin_er4hUEhKhGhh)r5}r6(hNhUC7H12O6r7h}r8h"}r9h$}r:(UHK UCKUOKuhj7ubh&Ueh"}r;h(h)]Rr<ubGshNhUQuinate exchanger=h,G@@h-Gh}r>h/h)]Rr?hU EX_quin_er@h2Gh3h4hNh5Uh"}rAh7Nubh)rB}rC(h Uh }rDh)rE}rF(hNhNhUalpha-D-Ribose 5-phosphaterGh}rHhUr5p_erIhUEhJhGhh)rJ}rK(hNhUC5H9O8PrLh}rMh"}rNh$}rO(UHK UCKUOKUPKuhjLubh&Ueh"}rPh(h)]RrQubGshNhU#alpha-D-Ribose 5-phosphate exchangerRh,G@@h-Gh}rSh/h)]RrThUEX_r5p_erUh2Gh3h4hNh5Uh"}rVh7Nubh)rW}rX(h Uh }rYh)rZ}r[(hNhNhUrifampinr\h}r]hUrfamp_er^hUEhKhGhh)r_}r`(hNhU C43H58N4O12rah}rbh"}rch$}rd(UHK:UCK+UOK UNKuhjaubh&Ueh"}reh(h)]RrfubGshNhUrifampin exchangergh,G@@h-Gh}rhh/h)]RrihU EX_rfamp_erjh2Gh3h4hNh5Uh"}rkh7Nubh)rl}rm(h Uh }rnh)ro}rp(hNhNhUD-Riboserqh}rrhUrib__D_ershUEhKhGhh)rt}ru(hNhUC5H10O5rvh}rwh"}rxh$}ry(UHK UCKUOKuhjvubh&Ueh"}rzh(h)]Rr{ubGshNhUD-Ribose exchanger|h,G@@h-Gh}r}h/h)]Rr~hU EX_rib__D_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU L-Rhamnoserh}rhUrmn_erhUEhKhGhh)r}r(hNhUC6H12O5rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUL-Rhamnose exchangerh,G@@h-Gh}rh/h)]RrhUEX_rmn_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU D-Sorbitolrh}rhUsbt__D_erhUEhKhGhh)r}r(hNhUC6H14O6rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Sorbitol exchangerh,G@@h-Gh}rh/h)]RrhU EX_sbt__D_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUSelenaterh}rhUsel_erhUEhJhGhh)r}r(hNhUO4Serh}rh"}rh$}r(USeKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUSelenate exchangerh,G@@h-G@h}rh/h)]RrhUEX_sel_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUD-Serinerh}rhUser__D_erhUEhKhGhh)r}r(hNhUC3H7NO3rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUD-Serine exchangerh,G@@h-Gh}rh/h)]RrhU EX_ser__D_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUL-Serinerh}rhUser__L_erhUEhKhGhh)r}r(hNhUC3H7NO3rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUL-Serine exchangerh,G@@h-Gh}rh/h)]RrhU EX_ser__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Shikimaterh}rhUskm_erhUEhJhGhh)r}r(hNhUC7H9O5rh}rh"}rh$}r(UHK UCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUShikimate exchangerh,G@@h-Gh}rh/h)]RrhUEX_skm_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUseleniterh}rhUslnt_erhUEhJhGhh)r}r(hNhUO3Ser h}r h"}r h$}r (USeKUOKuhj ubh&Ueh"}r h(h)]RrubGshNhUselenite exchangerh,G@@h-G@h}rh/h)]RrhU EX_slnt_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUsulfur dioxiderh}rhUso2_erhUEhKhGhh)r}r(hNhUO2Srh}rh"}r h$}r!(USKUOKuhjubh&Ueh"}r"h(h)]Rr#ubGshNhUsulfur dioxide exchanger$h,G@@h-Gh}r%h/h)]Rr&hUEX_so2_er'h2Gh3h4hNh5Uh"}r(h7Nubh)r)}r*(h Uh }r+h)r,}r-(hNhNhUSulfiter.h}r/hUso3_er0hUEhJhGhh)r1}r2(hNhUO3Sr3h}r4h"}r5h$}r6(USKUOKuhj3ubh&Ueh"}r7h(h)]Rr8ubGshNhUSulfite exchanger9h,G@@h-Gh}r:h/h)]Rr;hUEX_so3_er<h2Gh3h4hNh5Uh"}r=h7Nubh)r>}r?(h Uh }r@h)rA}rB(hNhNhUSulfaterCh}rDhUso4_erEhUEhJhGhh)rF}rG(hNhUO4SrHh}rIh"}rJh$}rK(USKUOKuhjHubh&Ueh"}rLh(h)]RrMubGshNhUSulfate exchangerNh,G@@h-G@h}rOh/h)]RrPhUEX_so4_erQh2Gh3h4hNh5Uh"}rRh7Nubh)rS}rT(h Uh }rUh)rV}rW(hNhNhU SpermidinerXh}rYhUspmd_erZhUEhKhGhh)r[}r\(hNhUC7H22N3r]h}r^h"}r_h$}r`(UHKUCKUNKuhj]ubh&Ueh"}rah(h)]RrbubGshNhUSpermidine exchangerch,G@@h-Gh}rdh/h)]RrehU EX_spmd_erfh2Gh3h4hNh5Uh"}rgh7Nubh)rh}ri(h Uh }rjh)rk}rl(hNhNhU Succinatermh}rnhUsucc_erohUEhJhGhh)rp}rq(hNhUC4H4O4rrh}rsh"}rth$}ru(UHKUCKUOKuhjrubh&Ueh"}rvh(h)]RrwubGshNhUSuccinate exchangerxh,G@@h-Gh}ryh/h)]RrzhU EX_succ_er{h2Gh3h4hNh5Uh"}r|h7Nubh)r}}r~(h Uh }rh)r}r(hNhNhUSucroserh}rhUsucr_erhUEhKhGhh)r}r(hNhU C12H22O11rh}rh"}rh$}r(UHKUCK UOK uhjubh&Ueh"}rh(h)]RrubGshNhUSucrose exchangerh,G@@h-Gh}rh/h)]RrhU EX_sucr_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU sulfoacetaterh}rhUsulfac_erhUEhJhGhh)r}r(hNhUC2H2O5Srh}rh"}rh$}r(UHKUCKUSKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUsulfoacetate exchangerh,G@@h-Gh}rh/h)]RrhU EX_sulfac_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU D-tartraterh}rhU tartr__D_erhUEhJhGhh)r}r(hNhUC4H4O6rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUD-tartrate exchangerh,G@@h-Gh}rh/h)]RrhU EX_tartr__D_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU L-tartraterh}rhU tartr__L_erhUEhJhGhh)r}r(hNhUC4H4O6rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUL-tartrate exchangerh,G@@h-Gh}rh/h)]RrhU EX_tartr__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUTaurinerh}rhUtaur_erhUEhKhGhh)r}r(hNhUC2H7NO3Srh}rh"}rh$}r(UHKUCKUSKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUTaurine exchangerh,G@@h-Gh}rh/h)]RrhU EX_taur_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Thiocyanaterh}rhUtcynt_erhUEhJhGhh)r}r(hNhUCNSrh}rh"}rh$}r(UCKUSKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUThiocyanate exchangerh,G@@h-Gh}rh/h)]RrhU EX_tcynt_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUThiaminrh}rhUthm_erhUEhKhGhh)r}r(hNhU C12H17N4OSrh}rh"}rh$}r(UHKUCK USKUOKUNKuhjubh&Ueh"}r h(h)]Rr ubGshNhUThiamin exchanger h,G@@h-Gh}r h/h)]Rr hUEX_thm_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU L-Threoninerh}rhUthr__L_erhUEhKhGhh)r}r(hNhUC4H9NO3rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUL-Threonine exchanger h,G@@h-Gh}r!h/h)]Rr"hU EX_thr__L_er#h2Gh3h4hNh5Uh"}r$h7Nubh)r%}r&(h Uh }r'h)r(}r)(hNhNhUL-Threonine O-3-phosphater*h}r+hUthrp_er,hUEhJhGhh)r-}r.(hNhUC4H8NO6Pr/h}r0h"}r1h$}r2(UHKUCKUPKUOKUNKuhj/ubh&Ueh"}r3h(h)]Rr4ubGshNhU"L-Threonine O-3-phosphate exchanger5h,G@@h-Gh}r6h/h)]Rr7hU EX_thrp_er8h2Gh3h4hNh5Uh"}r9h7Nubh)r:}r;(h Uh }r<h)r=}r>(hNhNhUThyminer?h}r@hUthym_erAhUEhKhGhh)rB}rC(hNhUC5H6N2O2rDh}rEh"}rFh$}rG(UHKUCKUOKUNKuhjDubh&Ueh"}rHh(h)]RrIubGshNhUThymine exchangerJh,G@@h-Gh}rKh/h)]RrLhU EX_thym_erMh2Gh3h4hNh5Uh"}rNh7Nubh)rO}rP(h Uh }rQh)rR}rS(hNhNhU ThymidinerTh}rUhUthymd_erVhUEhKhGhh)rW}rX(hNhU C10H14N2O5rYh}rZh"}r[h$}r\(UHKUCK UOKUNKuhjYubh&Ueh"}r]h(h)]Rr^ubGshNhUThymidine exchanger_h,G@@h-Gh}r`h/h)]RrahU EX_thymd_erbh2Gh3h4hNh5Uh"}rch7Nubh)rd}re(h Uh }rfh)rg}rh(hNhNhUtrimethylaminerih}rjhUtma_erkhUEhKhGhh)rl}rm(hNhUC3H10Nrnh}roh"}rph$}rq(UHK UCKUNKuhjnubh&Ueh"}rrh(h)]RrsubGshNhUTrimethylamine exchangerth,G@@h-Gh}ruh/h)]RrvhUEX_tma_erwh2Gh3h4hNh5Uh"}rxh7Nubh)ry}rz(h Uh }r{h)r|}r}(hNhNhUTrimethylamine N-oxider~h}rhUtmao_erhUEhKhGhh)r}r(hNhUC3H9NOrh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUTrimethylamine N-oxide exchangerh,G@@h-Gh}rh/h)]RrhU EX_tmao_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Trehaloserh}rhUtre_erhUEhKhGhh)r}r(hNhU C12H22O11rh}rh"}rh$}r(UHKUCK UOK uhjubh&Ueh"}rh(h)]RrubGshNhUTrehalose exchangerh,G@@h-Gh}rh/h)]RrhUEX_tre_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU L-Tryptophanrh}rhUtrp__L_erhUEhKhGhh)r}r(hNhU C11H12N2O2rh}rh"}rh$}r(UHK UCK UOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUL-Tryptophan exchangerh,G@@h-Gh}rh/h)]RrhU EX_trp__L_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU Thiosulfaterh}rhUtsul_erhUEhJhGhh)r}r(hNhUO3S2rh}rh"}rh$}r(USKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUThiosulfate exchangerh,G@@h-Gh}rh/h)]RrhU EX_tsul_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUtetradecanoate (n-C14:0)rh}rhUttdca_erhUEhJhGhh)r}r(hNhUC14H27O2rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhU!tetradecanoate (n-C14:0) exchangerh,G@@h-Gh}rh/h)]RrhU EX_ttdca_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUtetradecenoate (n-C14:1)rh}rhUttdcea_erhUEhJhGhh)r}r(hNhUC14H25O2rh}rh"}rh$}r(UHKUCKUOKuhjubh&Ueh"}rh(h)]RrubGshNhU!tetradecenoate (n-C14:1) exchangerh,G@@h-Gh}rh/h)]RrhU EX_ttdcea_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU tetracyclinerh}rhUttrcyc_erhUEhKhGhh)r}r(hNhU C22H24N2O8rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUtetracycline exchangerh,G@@h-Gh}rh/h)]Rr hU EX_ttrcyc_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }rh)r}r(hNhNhU tungstaterh}rhUtungs_erhUEhJhGhh)r}r(hNhUO4W1rh}rh"}rh$}r(UWKUOKuhjubh&Ueh"}rh(h)]RrubGshNhUtungstate exchangerh,G@@h-G@h}rh/h)]RrhU EX_tungs_erh2Gh3h4hNh5Uh"}r h7Nubh)r!}r"(h Uh }r#h)r$}r%(hNhNhUTyraminer&h}r'hUtym_er(hUEhKhGhh)r)}r*(hNhUC8H12NOr+h}r,h"}r-h$}r.(UHK UCKUOKUNKuhj+ubh&Ueh"}r/h(h)]Rr0ubGshNhUTyramine exchanger1h,G@@h-Gh}r2h/h)]Rr3hUEX_tym_er4h2Gh3h4hNh5Uh"}r5h7Nubh)r6}r7(h Uh }r8h)r9}r:(hNhNhU L-Tyrosiner;h}r<hUtyr__L_er=hUEhKhGhh)r>}r?(hNhUC9H11NO3r@h}rAh"}rBh$}rC(UHK UCK UOKUNKuhj@ubh&Ueh"}rDh(h)]RrEubGshNhUL-Tyrosine exchangerFh,G@@h-Gh}rGh/h)]RrHhU EX_tyr__L_erIh2Gh3h4hNh5Uh"}rJh7Nubh)rK}rL(h Uh }rMh)rN}rO(hNhNhUPhosphotyrosinerPh}rQhUtyrp_erRhUEhJhGhh)rS}rT(hNhU C9H10NO6PrUh}rVh"}rWh$}rX(UHK UCK UPKUOKUNKuhjUubh&Ueh"}rYh(h)]RrZubGshNhUPhosphotyrosine exchanger[h,G@@h-Gh}r\h/h)]Rr]hU EX_tyrp_er^h2Gh3h4hNh5Uh"}r_h7Nubh)r`}ra(h Uh }rbh)rc}rd(hNhNhUUDP-N-acetyl-D-glucosaminereh}rfhUuacgam_erghUEhJhGhh)rh}ri(hNhU C17H25N3O17P2rjh}rkh"}rlh$}rm(UHKUCKUPKUOKUNKuhjjubh&Ueh"}rnh(h)]RroubGshNhU#UDP-N-acetyl-D-glucosamine exchangerph,G@@h-Gh}rqh/h)]RrrhU EX_uacgam_ersh2Gh3h4hNh5Uh"}rth7Nubh)ru}rv(h Uh }rwh)rx}ry(hNhNhUUDP-N-acetyl-D-galactosaminerzh}r{hU udpacgal_er|hUEhJhGhh)r}}r~(hNhU C17H25N3O17P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhU%UDP-N-acetyl-D-galactosamine exchangerh,G@@h-Gh}rh/h)]RrhU EX_udpacgal_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU UDPglucoserh}rhUudpg_erhUEhJhGhh)r}r(hNhU C15H22N2O17P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUUDPglucose exchangerh,G@@h-Gh}rh/h)]RrhU EX_udpg_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhU UDPgalactoserh}rhUudpgal_erhUEhJhGhh)r}r(hNhU C15H22N2O17P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUUDPgalactose exchangerh,G@@h-Gh}rh/h)]RrhU EX_udpgal_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUUDP-D-glucuronaterh}rhU udpglcur_erhUEhJhGhh)r}r(hNhU C15H19N2O18P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUUDP-D-glucuronate exchangerh,G@@h-Gh}rh/h)]RrhU EX_udpglcur_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUUMPrh}rhUump_erhUEhJhGhh)r}r(hNhU C9H11N2O9Prh}rh"}rh$}r(UHK UCK UPKUOK UNKuhjubh&Ueh"}rh(h)]RrubGshNhU UMP exchangerh,G@@h-Gh}rh/h)]RrhUEX_ump_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUUracilrh}rhUura_erhUEhKhGhh)r}r(hNhUC4H4N2O2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Ueh"}rh(h)]RrubGshNhUUracil exchangerh,G@@h-Gh}rh/h)]RrhUEX_ura_erh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h Uh }rh)r}r(hNhNhUUrearh}rhUurea_erhUEhKhGhh)r}r(hNhUCH4N2Orh}rh"}rh$}r (UHKUCKUOKUNKuhjubh&Ueh"}r h(h)]Rr ubGshNhU Urea exchanger h,G@@h-Gh}r h/h)]Rr hU EX_urea_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUUridiner h}r hUuri_er hUEhKhGhh)r }r (hNhU C9H12N2O6r h}r h"}r h$}r (UHK UCK UOKUNKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUUridine exchanger h,G@@h-Gh}r h/h)]Rr hUEX_uri_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r! (hNhNhUL-Valiner" h}r# hUval__L_er$ hUEhKhGhh)r% }r& (hNhUC5H11NO2r' h}r( h"}r) h$}r* (UHK UCKUOKUNKuhj' ubh&Ueh"}r+ h(h)]Rr, ubGshNhUL-Valine exchanger- h,G@@h-Gh}r. h/h)]Rr/ hU EX_val__L_er0 h2Gh3h4hNh5Uh"}r1 h7Nubh)r2 }r3 (h Uh }r4 h)r5 }r6 (hNhNhUXanthiner7 h}r8 hUxan_er9 hUEhKhGhh)r: }r; (hNhUC5H4N4O2r< h}r= h"}r> h$}r? (UHKUCKUOKUNKuhj< ubh&Ueh"}r@ h(h)]RrA ubGshNhUXanthine exchangerB h,G@@h-Gh}rC h/h)]RrD hUEX_xan_erE h2Gh3h4hNh5Uh"}rF h7Nubh)rG }rH (h Uh }rI h)rJ }rK (hNhNhUXanthosine 5'-phosphaterL h}rM hUxmp_erN hUEhJhGhh)rO }rP (hNhU C10H11N4O9PrQ h}rR h"}rS h$}rT (UHK UCK UPKUOK UNKuhjQ ubh&Ueh"}rU h(h)]RrV ubGshNhU Xanthosine 5'-phosphate exchangerW h,G@@h-Gh}rX h/h)]RrY hUEX_xmp_erZ h2Gh3h4hNh5Uh"}r[ h7Nubh)r\ }r] (h Uh }r^ h)r_ }r` (hNhNhU Xanthosinera h}rb hUxtsn_erc hUEhKhGhh)rd }re (hNhU C10H12N4O6rf h}rg h"}rh h$}ri (UHK UCK UOKUNKuhjf ubh&Ueh"}rj h(h)]Rrk ubGshNhUXanthosine exchangerl h,G@@h-Gh}rm h/h)]Rrn hU EX_xtsn_ero h2Gh3h4hNh5Uh"}rp h7Nubh)rq }rr (h Uh }rs h)rt }ru (hNhNhUD-Xyloserv h}rw hUxyl__D_erx hUEhKhGhh)ry }rz (hNhUC5H10O5r{ h}r| h"}r} h$}r~ (UHK UCKUOKuhj{ ubh&Ueh"}r h(h)]Rr ubGshNhUD-Xylose exchanger h,G@@h-Gh}r h/h)]Rr hU EX_xyl__D_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhU L-Xyluloser h}r hU xylu__L_er hUEhKhGhh)r }r (hNhUC5H10O5r h}r h"}r h$}r (UHK UCKUOKuhj ubh&Ueh"}r h(h)]Rr ubGshNhUL-Xylulose exchanger h,G@@h-Gh}r h/h)]Rr hU EX_xylu__L_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h Uh }r h)r }r (hNhNhUZincr h}r hUzn2_er hUEhKhGhh)r }r (hNhUZnr h}r h"}r h$}r j Kshj ubh&Ueh"}r h(h)]Rr ubGshNhU Zinc exchanger h,G@@h-G@h}r h/h)]Rr hUEX_zn2_er h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h UTransport, Inner Membraner h }r (h)r }r (hNhNhU.1,2-Diacyl-sn-glycerol (didodecanoyl, n-C12:0)r h}r hU 12dgr120_cr hUEhKhGhh)r }r (hNhUC27H52O5r h}r h"}r h$}r (UHK4UCKUOKuhj ubh&Uch"}r h(h)]Rr ubG?h)r }r (hNhNhU.1,2-Diacyl-sn-glycerol (didodecanoyl, n-C12:0)r h}r hU 12dgr120_pr hUEhKhGhh)r }r (hNhUC27H52O5r h}r h"}r h$}r (UHK4UCKUOKuhj ubh&Uph"}r h(h)]Rr ubGuhNhUK1,2 diacylglycerol transport via flipping (periplasm to cytoplasm, n-C12:0)r h,G@@h-Gh}r h/h)]Rr hU 12DGR120tippr h2Gh3h4hNh5Uh"}r h7Nubh)r }r (h UTransport, Inner Membraner h }r (h)r }r (hNhNhU11,2-Diacyl-sn-glycerol (ditetradecanoyl, n-C14:0)r h}r hU 12dgr140_pr hUEhKhGhh)r }r (hNhUC31H60O5r h}r h"}r h$}r (UHK!h }r?!(h)r@!}rA!(hNhNhU31,2-Diacyl-sn-glycerol (dihexadec-9-enoyl, n-C16:1)rB!h}rC!hU 12dgr161_crD!hUEhKhGhh)rE!}rF!(hNhUC35H64O5rG!h}rH!h"}rI!h$}rJ!(UHK@UCK#UOKuhjG!ubh&Uch"}rK!h(h)]RrL!ubG?h)rM!}rN!(hNhNhU31,2-Diacyl-sn-glycerol (dihexadec-9-enoyl, n-C16:1)rO!h}rP!hU 12dgr161_prQ!hUEhKhGhh)rR!}rS!(hNhUC35H64O5rT!h}rU!h"}rV!h$}rW!(UHK@UCK#UOKuhjT!ubh&Uph"}rX!h(h)]RrY!ubGuhNhUK1,2 diacylglycerol transport via flipping (periplasm to cytoplasm, n-C16:1)rZ!h,G@@h-Gh}r[!h/h)]Rr\!hU 12DGR161tippr]!h2Gh3h4hNh5Uh"}r^!h7Nubh)r_!}r`!(h UTransport, Inner Membranera!h }rb!(h)rc!}rd!(hNhNhU01,2-Diacyl-sn-glycerol (dioctadecanoyl, n-C18:0)re!h}rf!hU 12dgr180_prg!hUEhKhGhh)rh!}ri!(hNhUC39H76O5rj!h}rk!h"}rl!h$}rm!(UHKLUCK'UOKuhjj!ubh&Uph"}rn!h(h)]Rro!ubGh)rp!}rq!(hNhNhU01,2-Diacyl-sn-glycerol (dioctadecanoyl, n-C18:0)rr!h}rs!hU 12dgr180_crt!hUEhKhGhh)ru!}rv!(hNhUC39H76O5rw!h}rx!h"}ry!h$}rz!(UHKLUCK'UOKuhjw!ubh&Uch"}r{!h(h)]Rr|!ubG?uhNhUK1,2 diacylglycerol transport via flipping (periplasm to cytoplasm, n-C18:0)r}!h,G@@h-Gh}r~!h/h)]Rr!hU 12DGR180tippr!h2Gh3h4hNh5Uh"}r!h7Nubh)r!}r!(h UTransport, Inner Membraner!h }r!(h)r!}r!(hNhNhU41,2-Diacyl-sn-glycerol (dioctadec-11-enoyl, n-C18:1)r!h}r!hU 12dgr181_pr!hUEhKhGhh)r!}r!(hNhUC39H72O5r!h}r!h"}r!h$}r!(UHKHUCK'UOKuhj!ubh&Uph"}r!h(h)]Rr!ubGh)r!}r!(hNhNhU41,2-Diacyl-sn-glycerol (dioctadec-11-enoyl, n-C18:1)r!h}r!hU 12dgr181_cr!hUEhKhGhh)r!}r!(hNhUC39H72O5r!h}r!h"}r!h$}r!(UHKHUCK'UOKuhj!ubh&Uch"}r!h(h)]Rr!ubG?uhNhUK1,2 diacylglycerol transport via flipping (periplasm to cytoplasm, n-C18:1)r!h,G@@h-Gh}r!h/h)]Rr!hU 12DGR181tippr!h2Gh3h4hNh5Uh"}r!h7Nubh)r!}r!(h UTransport, Outer Membrane Porinr!h }r!(h)r!}r!(hNhNhU(R)-Propane-1,2-diolr!h}r!hU 12ppd__R_pr!hUEhKhGhh)r!}r!(hNhUC3H8O2r!h}r!h"}r!h$}r!(UHKUCKUOKuhj!ubh&Uph"}r!h(h)]Rr!ubG?j;GuhNhUI(R)-Propane-1,2-diol transport via diffusion (extracellular to periplasm)r!h,G@@h-G@h}r!h/h)]r!(ccobra.core.Gene Gene r!)r!}r!(hNU locus_startr!KhNhUb0241r!h}r!U functionalr!hj!hNhNU locus_endr!Kh&Nh"}r!Ustrandr!U+h(h)]Rr!ubj!)r!}r!(hNj!KhNhUb2215r!h}r!j!hj!hNhNj!Kh&Nh"}r!j!U+h(h)]Rr!ubj!)r!}r!(hNj!KhNhUb1377r!h}r!j!hj!hNhNj!Kh&Nh"}r!j!U+h(h)]Rr!ubj!)r!}r!(hNj!KhNhUb0929r!h}r!j!hj!hNhNj!Kh&Nh"}r!j!U+h(h)]Rr!ubeRr!hU 12PPDRtexr!h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r!h"}r!h7Nubh)r!}r!(h UTransport, Inner Membraner!h }r!(j!Gh)r!}r!(hNhNhU(R)-Propane-1,2-diolr!h}r!hU 12ppd__R_cr!hUEhKhGhh)r!}r!(hNhUC3H8O2r!h}r!h"}r!h$}r!(UHKUCKUOKuhj!ubh&Uch"}r!h(h)]Rr!ubG?uhNhU6(R)-Propane-1,2-diol facilitated transport (periplasm)r!h,G@@h-G@h}r!h/h)]Rr!hU 12PPDRtppr!h2Gh3h4hNh5Uh"}r!h7Nubh)r!}r!(h UTransport, Outer Membrane Porinr!h }r!(h)r!}r!(hNhNhU(S)-Propane-1,2-diolr!h}r!hU 12ppd__S_pr!hUEhKhGhh)r!}r!(hNhUC3H8O2r!h}r!h"}r!h$}r!(UHKUCKUOKuhj!ubh&Uph"}r!h(h)]Rr"ubG?jPGuhNhUI(S)-Propane-1,2-diol transport via diffusion (extracellular to periplasm)r"h,G@@h-G@h}r"h/h)]r"(j!j!j!j!eRr"hU 12PPDStexr"h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r"h"}r"h7Nubh)r"}r "(h UTransport, Inner Membraner "h }r "(j!Gh)r "}r "(hNhNhU(S)-Propane-1,2-diolr"h}r"hU 12ppd__S_cr"hUEhKhGhh)r"}r"(hNhUC3H8O2r"h}r"h"}r"h$}r"(UHKUCKUOKuhj"ubh&Uch"}r"h(h)]Rr"ubG?uhNhU6(S)-Propane-1,2-diol facilitated transport (periplasm)r"h,G@@h-G@h}r"h/h)]Rr"hU 12PPDStppr"h2Gh3h4hNh5Uh"}r"h7Nubh)r"}r"(h UTransport, Inner Membraner "h }r!"(j Gj-G?j4Gj>G?h)r""}r#"(hNhNhU1,4-alpha-D-glucanr$"h}r%"hU 14glucan_cr&"hUEhKhGhh)r'"}r("(hNhU C36H62O31r)"h}r*"h"}r+"h$}r,"(UHK>UCK$UOKuhj)"ubh&Uch"}r-"h(h)]Rr."ubG?jG?h)r/"}r0"(hNhNhU1,4-alpha-D-glucanr1"h}r2"hU 14glucan_pr3"hUEhKhGhh)r4"}r5"(hNhU C36H62O31r6"h}r7"h"}r8"h$}r9"(UHK>UCK$UOKuhj6"ubh&Uph"}r:"h(h)]Rr;"ubGuhNhU71,4-alpha-D-glucan transport via ABC system (periplasm)r<"h,G@@h-Gh}r="h/h)]r>"(j!)r?"}r@"(hNj!KhNhUb4035rA"h}rB"j!hjA"hNhNj!Kh&Nh"}rC"j!U+h(h)]RrD"ubj!)rE"}rF"(hNj!KhNhUb4033rG"h}rH"j!hjG"hNhNj!Kh&Nh"}rI"j!U+h(h)]RrJ"ubj!)rK"}rL"(hNj!KhNhUb4034rM"h}rN"j!hjM"hNhNj!Kh&Nh"}rO"j!U+h(h)]RrP"ubj!)rQ"}rR"(hNj!KhNhUb4032rS"h}rT"j!hjS"hNhNj!Kh&Nh"}rU"j!U+h(h)]RrV"ubeRrW"hU 14GLUCANabcpprX"h2Gh3h4hNh5U%(b4034 and b4033 and b4032 and b4035)rY"h"}rZ"h7Nubh)r["}r\"(h UTransport, Outer Membraner]"h }r^"(jeGj/"G?uhNhUT1,4-alpha-D-glucan transport via diffusion (extracellular to periplasm) irreversibler_"h,G@@h-Gh}r`"h/h)]ra"j!)rb"}rc"(hNj!KhNhUb4036rd"h}re"j!hjd"hNhNj!Kh&Nh"}rf"j!U+h(h)]Rrg"ubaRrh"hU 14GLUCANtexiri"h2Gh3h4hNh5jd"h"}rj"h7Nubh)rk"}rl"(h UTransport, Outer Membrane Porinrm"h }rn"(jGh)ro"}rp"(hNhNhU2',3'-Cyclic AMPrq"h}rr"hU23camp_prs"hUEhJhGhh)rt"}ru"(hNhU C10H11N5O6Prv"h}rw"h"}rx"h$}ry"(UHK UCK UPKUOKUNKuhjv"ubh&Uph"}rz"h(h)]Rr{"ubG?uhNhU;23cAMP transport via diffusion (extracellular to periplasm)r|"h,G@@h-G@h}r}"h/h)]r~"(j!j!j!j!eRr"hU 23CAMPtexr"h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r"h"}r"h7Nubh)r"}r"(h UTransport, Outer Membrane Porinr"h }r"(h)r"}r"(hNhNhU2',3'-Cyclic CMPr"h}r"hU23ccmp_pr"hUEhJhGhh)r"}r"(hNhU C9H11N3O7Pr"h}r"h"}r"h$}r"(UHK UCK UPKUOKUNKuhj"ubh&Uph"}r"h(h)]Rr"ubG?jGuhNhU;23cCMP transport via diffusion (extracellular to periplasm)r"h,G@@h-G@h}r"h/h)]r"(j!j!j!j!eRr"hU 23CCMPtexr"h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r"h"}r"h7Nubh)r"}r"(h UTransport, Outer Membrane Porinr"h }r"(jGh)r"}r"(hNhNhU2',3'-Cyclic GMPr"h}r"hU23cgmp_pr"hUEhJhGhh)r"}r"(hNhU C10H11N5O7Pr"h}r"h"}r"h$}r"(UHK UCK UPKUOKUNKuhj"ubh&Uph"}r"h(h)]Rr"ubG?uhNhU;23cGMP transport via diffusion (extracellular to periplasm)r"h,G@@h-G@h}r"h/h)]r"(j!j!j!j!eRr"hU 23CGMPtexr"h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r"h"}r"h7Nubh)r"}r"(h UTransport, Outer Membrane Porinr"h }r"(h)r"}r"(hNhNhU2',3'-Cyclic UMPr"h}r"hU23cump_pr"hUEhJhGhh)r"}r"(hNhU C9H10N2O8Pr"h}r"h"}r"h$}r"(UHK UCK UPKUOKUNKuhj"ubh&Uph"}r"h(h)]Rr"ubG?jGuhNhU;23cUMP transport via diffusion (extracellular to periplasm)r"h,G@@h-G@h}r"h/h)]r"(j!j!j!j!eRr"hU 23CUMPtexr"h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r"h"}r"h7Nubh)r"}r"(h UTransport, Inner Membraner"h }r"(h)r"}r"(hNhNhU2,3-diaminopropionater"h}r"hU 23dappa_pr"hUEhKhGhh)r"}r"(hNhUC3H9N2O2r"h}r"h"}r"h$}r"(UHK UCKUOKUNKuhj"ubh&Uph"}r"h(h)]Rr"ubGh)r"}r"(hNhNhU2,3-diaminopropionater"h}r"hU 23dappa_cr"hUEhKhGhh)r"}r"(hNhUC3H9N2O2r"h}r"h"}r"h$}r"(UHK UCKUOKUNKuhj"ubh&Uch"}r"h(h)]Rr"ubG?j>G?h)r"}r"(hNhNhUH+r"h}r"hUh_pr"hUEhKhGhh)r"}r"(hNhUHh}r"h"}r"h$}r"UHKshUHubh&Uph"}r"h(h)]Rr"ubGuhNhU52,3-diaminopropionate transport in via proton symportr"h,G@@h-Gh}r"h/h)]Rr"hU 23DAPPAt2ppr"h2Gh3h4hNh5Uh"}r"h7Nubh)r"}r"(h UTransport, Outer Membrane Porinr"h }r"(jGj"G?uhNhU-2,3-diaminopropionate transport via diffusionr"h,G@@h-G@h}r"h/h)]r#(j!j!j!j!eRr#hU 23DAPPAtexr#h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r#h"}r#h7Nubh)r#}r#(h UNucleotide Salvage Pathwayr#h }r#(j"G?h)r #}r #(hNhNhU3'-UMPr #h}r #hU3ump_pr #hUEhJhGhh)r#}r#(hNhU C9H11N2O9Pr#h}r#h"}r#h$}r#(UHK UCK UPKUOK UNKuhj#ubh&Uph"}r#h(h)]Rr#ubG?j"Gh)r#}r#(hNhNhUH2Or#h}r#hUh2o_pr#hUEhKhGhh)r#}r#(hNhUH2Or#h}r#h"}r#h$}r #(UHKUOKuhj#ubh&Uph"}r!#h(h)]Rr"#ubGuhNhU;2',3'-cyclic-nucleotide phosphodiesterase (UMP) (periplasm)r##h,G@@h-Gh}r$#h/h)]r%#j!)r&#}r'#(hNj!KhNhUb4213r(#h}r)#j!hj(#hNhNj!Kh&Nh"}r*#j!U+h(h)]Rr+#ubaRr,#hU23PDE2ppr-#h2Gh3h4hNh5j(#h"}r.#h7Nubh)r/#}r0#(h UNucleotide Salvage Pathwayr1#h }r2#(h)r3#}r4#(hNhNhU3'-cmpr5#h}r6#hU3cmp_pr7#hUEhJhGhh)r8#}r9#(hNhU C9H12N3O8Pr:#h}r;#h"}r<#h$}r=#(UHK UCK UPKUOKUNKuhj:#ubh&Uph"}r>#h(h)]Rr?#ubG?j"G?j"Gj#GuhNhU;2',3'-cyclic-nucleotide phosphodiesterase (CMP) (periplasm)r@#h,G@@h-Gh}rA#h/h)]rB#j&#aRrC#hU23PDE4pprD#h2Gh3h4hNh5Ub4213rE#h"}rF#h7Nubh)rG#}rH#(h UNucleotide Salvage PathwayrI#h }rJ#(h)rK#}rL#(hNhNhU3'-AMPrM#h}rN#hU3amp_prO#hUEhJhGhh)rP#}rQ#(hNhU C10H12N5O7PrR#h}rS#h"}rT#h$}rU#(UHK UCK UPKUOKUNKuhjR#ubh&Uph"}rV#h(h)]RrW#ubG?j#Gj"G?jo"GuhNhU;2',3'-cyclic-nucleotide phosphodiesterase (AMP) (periplasm)rX#h,G@@h-Gh}rY#h/h)]rZ#j&#aRr[#hU23PDE7ppr\#h2Gh3h4hNh5Ub4213r]#h"}r^#h7Nubh)r_#}r`#(h UNucleotide Salvage Pathwayra#h }rb#(h)rc#}rd#(hNhNhU3'-GMPre#h}rf#hU3gmp_prg#hUEhJhGhh)rh#}ri#(hNhU C10H12N5O8Prj#h}rk#h"}rl#h$}rm#(UHK UCK UPKUOKUNKuhjj#ubh&Uph"}rn#h(h)]Rro#ubG?j"Gj#Gj"G?uhNhU;2',3'-cyclic-nucleotide phosphodiesterase (GMP) (periplasm)rp#h,G@@h-Gh}rq#h/h)]rr#j&#aRrs#hU23PDE9pprt#h2Gh3h4hNh5Ub4213ru#h"}rv#h7Nubh)rw#}rx#(h UTransport, Outer Membrane Porinry#h }rz#(jGh)r{#}r|#(hNhNhUmeso-2,6-Diaminoheptanedioater}#h}r~#hU 26dap__M_pr#hUEhKhGhh)r#}r#(hNhU C7H14N2O4r#h}r#h"}r#h$}r#(UHKUCKUOKUNKuhj#ubh&Uph"}r#h(h)]Rr#ubG?uhNhURmeso-2,6-Diaminoheptanedioate transport via diffusion (extracellular to periplasm)r#h,G@@h-G@h}r#h/h)]r#(j!j!j!j!eRr#hU26DAHtexr#h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r#h"}r#h7Nubh)r#}r#(h UTransport, Inner Membraner#h }r#(h)r#}r#(hNhNhU$2-dodecanoyl-sn-glycerol 3-phosphater#h}r#hU 2ddecg3p_pr#hUEhJhGhh)r#}r#(hNhU C15H30O7P1r#h}r#h"}r#h$}r#(UHKUCKUOKUPKuhj#ubh&Uph"}r#h(h)]Rr#ubGh)r#}r#(hNhNhU$2-dodecanoyl-sn-glycerol 3-phosphater#h}r#hU 2ddecg3p_cr#hUEhJhGhh)r#}r#(hNhU C15H30O7P1r#h}r#h"}r#h$}r#(UHKUCKUOKUPKuhj#ubh&Uch"}r#h(h)]Rr#ubG?uhNhU]2-Acyl-sn-glycero-3-phosphatidate (n-C12:0) transporter via facilitated diffusion (periplasm)r#h,G@@h-Gh}r#h/h)]r#j!)r#}r#(hNj!KhNhUb2835r#h}r#j!hj#hNhNj!Kh&Nh"}r#j!U+h(h)]Rr#ubaRr#hU 2AGPA120tippr#h2Gh3h4hNh5j#h"}r#h7Nubh)r#}r#(h UTransport, Inner Membraner#h }r#(h)r#}r#(hNhNhU'2-tetradecanoyl-sn-glycerol 3-phosphater#h}r#hU 2tdecg3p_pr#hUEhJhGhh)r#}r#(hNhU C17H34O7P1r#h}r#h"}r#h$}r#(UHK"UCKUOKUPKuhj#ubh&Uph"}r#h(h)]Rr#ubGh)r#}r#(hNhNhU'2-tetradecanoyl-sn-glycerol 3-phosphater#h}r#hU 2tdecg3p_cr#hUEhJhGhh)r#}r#(hNhU C17H34O7P1r#h}r#h"}r#h$}r#(UHK"UCKUOKUPKuhj#ubh&Uch"}r#h(h)]Rr#ubG?uhNhU]2-Acyl-sn-glycero-3-phosphatidate (n-C14:0) transporter via facilitated diffusion (periplasm)r#h,G@@h-Gh}r#h/h)]r#j#aRr#hU 2AGPA140tippr#h2Gh3h4hNh5Ub2835r#h"}r#h7Nubh)r#}r#(h UTransport, Inner Membraner#h }r#(h)r#}r#(hNhNhU*2-tetradec-7-enoyl-sn-glycerol 3-phosphater#h}r#hU 2tdec7eg3p_pr#hUEhJhGhh)r#}r#(hNhU C17H32O7P1r#h}r#h"}r#h$}r#(UHK UCKUOKUPKuhj#ubh&Uph"}r#h(h)]Rr#ubGh)r#}r#(hNhNhU*2-tetradec-7-enoyl-sn-glycerol 3-phosphater#h}r#hU 2tdec7eg3p_cr#hUEhJhGhh)r#}r#(hNhU C17H32O7P1r#h}r#h"}r#h$}r#(UHK UCKUOKUPKuhj#ubh&Uch"}r#h(h)]Rr#ubG?uhNhU]2-Acyl-sn-glycero-3-phosphatidate (n-C14:1) transporter via facilitated diffusion (periplasm)r#h,G@@h-Gh}r#h/h)]r#j#aRr#hU 2AGPA141tippr$h2Gh3h4hNh5Ub2835r$h"}r$h7Nubh)r$}r$(h UTransport, Inner Membraner$h }r$(h)r$}r$(hNhNhU&2-hexadecanoyl-sn-glycerol 3-phosphater $h}r $hU 2hdecg3p_pr $hUEhJhGhh)r $}r $(hNhU C19H38O7P1r$h}r$h"}r$h$}r$(UHK&UCKUOKUPKuhj$ubh&Uph"}r$h(h)]Rr$ubGh)r$}r$(hNhNhU&2-hexadecanoyl-sn-glycerol 3-phosphater$h}r$hU 2hdecg3p_cr$hUEhJhGhh)r$}r$(hNhU C19H38O7P1r$h}r$h"}r$h$}r$(UHK&UCKUOKUPKuhj$ubh&Uch"}r$h(h)]Rr $ubG?uhNhU]2-Acyl-sn-glycero-3-phosphatidate (n-C16:0) transporter via facilitated diffusion (periplasm)r!$h,G@@h-Gh}r"$h/h)]r#$j#aRr$$hU 2AGPA160tippr%$h2Gh3h4hNh5Ub2835r&$h"}r'$h7Nubh)r($}r)$(h UTransport, Inner Membraner*$h }r+$(h)r,$}r-$(hNhNhU)2-hexadec-9-enoyl-sn-glycerol 3-phosphater.$h}r/$hU 2hdec9eg3p_pr0$hUEhJhGhh)r1$}r2$(hNhU C19H36O7P1r3$h}r4$h"}r5$h$}r6$(UHK$UCKUOKUPKuhj3$ubh&Uph"}r7$h(h)]Rr8$ubGh)r9$}r:$(hNhNhU)2-hexadec-9-enoyl-sn-glycerol 3-phosphater;$h}r<$hU 2hdec9eg3p_cr=$hUEhJhGhh)r>$}r?$(hNhU C19H36O7P1r@$h}rA$h"}rB$h$}rC$(UHK$UCKUOKUPKuhj@$ubh&Uch"}rD$h(h)]RrE$ubG?uhNhU]2-Acyl-sn-glycero-3-phosphatidate (n-C16:1) transporter via facilitated diffusion (periplasm)rF$h,G@@h-Gh}rG$h/h)]rH$j#aRrI$hU 2AGPA161tipprJ$h2Gh3h4hNh5Ub2835rK$h"}rL$h7Nubh)rM$}rN$(h UTransport, Inner MembranerO$h }rP$(h)rQ$}rR$(hNhNhU&2-octadecanoyl-sn-glycerol 3-phosphaterS$h}rT$hU 2odecg3p_prU$hUEhJhGhh)rV$}rW$(hNhU C21H42O7P1rX$h}rY$h"}rZ$h$}r[$(UHK*UCKUOKUPKuhjX$ubh&Uph"}r\$h(h)]Rr]$ubGh)r^$}r_$(hNhNhU&2-octadecanoyl-sn-glycerol 3-phosphater`$h}ra$hU 2odecg3p_crb$hUEhJhGhh)rc$}rd$(hNhU C21H42O7P1re$h}rf$h"}rg$h$}rh$(UHK*UCKUOKUPKuhje$ubh&Uch"}ri$h(h)]Rrj$ubG?uhNhU]2-Acyl-sn-glycero-3-phosphatidate (n-C18:0) transporter via facilitated diffusion (periplasm)rk$h,G@@h-Gh}rl$h/h)]rm$j#aRrn$hU 2AGPA180tippro$h2Gh3h4hNh5Ub2835rp$h"}rq$h7Nubh)rr$}rs$(h UTransport, Inner Membranert$h }ru$(h)rv$}rw$(hNhNhU*2-octadec-11-enoyl-sn-glycerol 3-phosphaterx$h}ry$hU 2odec11eg3p_crz$hUEhJhGhh)r{$}r|$(hNhU C21H40O7P1r}$h}r~$h"}r$h$}r$(UHK(UCKUOKUPKuhj}$ubh&Uch"}r$h(h)]Rr$ubG?h)r$}r$(hNhNhU*2-octadec-11-enoyl-sn-glycerol 3-phosphater$h}r$hU 2odec11eg3p_pr$hUEhJhGhh)r$}r$(hNhU C21H40O7P1r$h}r$h"}r$h$}r$(UHK(UCKUOKUPKuhj$ubh&Uph"}r$h(h)]Rr$ubGuhNhU]2-Acyl-sn-glycero-3-phosphatidate (n-C18:1) transporter via facilitated diffusion (periplasm)r$h,G@@h-Gh}r$h/h)]r$j#aRr$hU 2AGPA181tippr$h2Gh3h4hNh5Ub2835r$h"}r$h7Nubh)r$}r$(h UTransport, Inner Membraner$h }r$(h)r$}r$(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C12:0)r$h}r$hU 2agpe120_cr$hUEhKhGhh)r$}r$(hNhU C17H36NO7P1r$h}r$h"}r$h$}r$(UHK$UCKUPKUOKUNKuhj$ubh&Uch"}r$h(h)]Rr$ubG?h)r$}r$(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C12:0)r$h}r$hU 2agpe120_pr$hUEhKhGhh)r$}r$(hNhU C17H36NO7P1r$h}r$h"}r$h$}r$(UHK$UCKUPKUOKUNKuhj$ubh&Uph"}r$h(h)]Rr$ubGuhNhUc2-Acyl-sn-glycero-3-phosphoethanolamine (n-C12:0) transporter via facilitated diffusion (periplasm)r$h,G@@h-Gh}r$h/h)]r$j#aRr$hU 2AGPE120tippr$h2Gh3h4hNh5Ub2835r$h"}r$h7Nubh)r$}r$(h UTransport, Inner Membraner$h }r$(h)r$}r$(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C14:0)r$h}r$hU 2agpe140_pr$hUEhKhGhh)r$}r$(hNhU C19H40NO7P1r$h}r$h"}r$h$}r$(UHK(UCKUPKUOKUNKuhj$ubh&Uph"}r$h(h)]Rr$ubGh)r$}r$(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C14:0)r$h}r$hU 2agpe140_cr$hUEhKhGhh)r$}r$(hNhU C19H40NO7P1r$h}r$h"}r$h$}r$(UHK(UCKUPKUOKUNKuhj$ubh&Uch"}r$h(h)]Rr$ubG?uhNhUc2-Acyl-sn-glycero-3-phosphoethanolamine (n-C14:0) transporter via facilitated diffusion (periplasm)r$h,G@@h-Gh}r$h/h)]r$j#aRr$hU 2AGPE140tippr$h2Gh3h4hNh5Ub2835r$h"}r$h7Nubh)r$}r$(h UTransport, Inner Membraner$h }r$(h)r$}r$(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C14:1)r$h}r$hU 2agpe141_cr$hUEhKhGhh)r$}r$(hNhU C19H38NO7P1r$h}r$h"}r$h$}r$(UHK&UCKUPKUOKUNKuhj$ubh&Uch"}r$h(h)]Rr$ubG?h)r$}r$(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C14:1)r$h}r$hU 2agpe141_pr$hUEhKhGhh)r$}r$(hNhU C19H38NO7P1r$h}r$h"}r$h$}r$(UHK&UCKUPKUOKUNKuhj$ubh&Uph"}r$h(h)]Rr$ubGuhNhUc2-Acyl-sn-glycero-3-phosphoethanolamine (n-C14:1) transporter via facilitated diffusion (periplasm)r$h,G@@h-Gh}r%h/h)]r%j#aRr%hU 2AGPE141tippr%h2Gh3h4hNh5Ub2835r%h"}r%h7Nubh)r%}r%(h UTransport, Inner Membraner%h }r %(h)r %}r %(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C16:0)r %h}r %hU 2agpe160_pr%hUEhKhGhh)r%}r%(hNhU C21H44NO7P1r%h}r%h"}r%h$}r%(UHK,UCKUPKUOKUNKuhj%ubh&Uph"}r%h(h)]Rr%ubGh)r%}r%(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C16:0)r%h}r%hU 2agpe160_cr%hUEhKhGhh)r%}r%(hNhU C21H44NO7P1r%h}r%h"}r %h$}r!%(UHK,UCKUPKUOKUNKuhj%ubh&Uch"}r"%h(h)]Rr#%ubG?uhNhUc2-Acyl-sn-glycero-3-phosphoethanolamine (n-C16:0) transporter via facilitated diffusion (periplasm)r$%h,G@@h-Gh}r%%h/h)]r&%j#aRr'%hU 2AGPE160tippr(%h2Gh3h4hNh5Ub2835r)%h"}r*%h7Nubh)r+%}r,%(h UTransport, Inner Membraner-%h }r.%(h)r/%}r0%(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C16:1)r1%h}r2%hU 2agpe161_cr3%hUEhKhGhh)r4%}r5%(hNhU C21H42NO7P1r6%h}r7%h"}r8%h$}r9%(UHK*UCKUPKUOKUNKuhj6%ubh&Uch"}r:%h(h)]Rr;%ubG?h)r<%}r=%(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C16:1)r>%h}r?%hU 2agpe161_pr@%hUEhKhGhh)rA%}rB%(hNhU C21H42NO7P1rC%h}rD%h"}rE%h$}rF%(UHK*UCKUPKUOKUNKuhjC%ubh&Uph"}rG%h(h)]RrH%ubGuhNhUc2-Acyl-sn-glycero-3-phosphoethanolamine (n-C16:1) transporter via facilitated diffusion (periplasm)rI%h,G@@h-Gh}rJ%h/h)]rK%j#aRrL%hU 2AGPE161tipprM%h2Gh3h4hNh5Ub2835rN%h"}rO%h7Nubh)rP%}rQ%(h UTransport, Inner MembranerR%h }rS%(h)rT%}rU%(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C18:0)rV%h}rW%hU 2agpe180_prX%hUEhKhGhh)rY%}rZ%(hNhU C23H48NO7P1r[%h}r\%h"}r]%h$}r^%(UHK0UCKUPKUOKUNKuhj[%ubh&Uph"}r_%h(h)]Rr`%ubGh)ra%}rb%(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C18:0)rc%h}rd%hU 2agpe180_cre%hUEhKhGhh)rf%}rg%(hNhU C23H48NO7P1rh%h}ri%h"}rj%h$}rk%(UHK0UCKUPKUOKUNKuhjh%ubh&Uch"}rl%h(h)]Rrm%ubG?uhNhUc2-Acyl-sn-glycero-3-phosphoethanolamine (n-C18:0) transporter via facilitated diffusion (periplasm)rn%h,G@@h-Gh}ro%h/h)]rp%j#aRrq%hU 2AGPE180tipprr%h2Gh3h4hNh5Ub2835rs%h"}rt%h7Nubh)ru%}rv%(h UTransport, Inner Membranerw%h }rx%(h)ry%}rz%(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C18:1)r{%h}r|%hU 2agpe181_pr}%hUEhKhGhh)r~%}r%(hNhU C23H46NO7P1r%h}r%h"}r%h$}r%(UHK.UCKUPKUOKUNKuhj%ubh&Uph"}r%h(h)]Rr%ubGh)r%}r%(hNhNhU12-Acyl-sn-glycero-3-phosphoethanolamine (n-C18:1)r%h}r%hU 2agpe181_cr%hUEhKhGhh)r%}r%(hNhU C23H46NO7P1r%h}r%h"}r%h$}r%(UHK.UCKUPKUOKUNKuhj%ubh&Uch"}r%h(h)]Rr%ubG?uhNhUc2-Acyl-sn-glycero-3-phosphoethanolamine (n-C18:1) transporter via facilitated diffusion (periplasm)r%h,G@@h-Gh}r%h/h)]r%j#aRr%hU 2AGPE181tippr%h2Gh3h4hNh5Ub2835r%h"}r%h7Nubh)r%}r%(h UGlycerophospholipid Metabolismr%h }r%(j GjTG?h)r%}r%(hNhNhUDodecanoate (n-C12:0)r%h}r%hUddca_cr%hUEhJhGhh)r%}r%(hNhUC12H23O2r%h}r%h"}r%h$}r%(UHKUCK UOKuhj%ubh&Uch"}r%h(h)]Rr%ubGh)r%}r%(hNhNhUAMPr%h}r%hUamp_cr%hUEhJhGhh)r%}r%(hNhU C10H12N5O7Pr%h}r%h"}r%h$}r%(UHK UCK UPKUOKUNKuhj%ubh&Uch"}r%h(h)]Rr%ubG?h)r%}r%(hNhNhU0phosphatidylethanolamine (didodecanoyl, n-C12:0)r%h}r%hUpe120_cr%hUEhKhGhh)r%}r%(hNhU C29H58N1O8P1r%h}r%h"}r%h$}r%(UHK:UCKUPKUOKUNKuhj%ubh&Uch"}r%h(h)]Rr%ubG?j$GuhNhU<2-acyl-glycerophospho-ethanolamine acyltransferase (n-C12:0)r%h,G@@h-Gh}r%h/h)]r%j!)r%}r%(hNj!KhNhUb2836r%h}r%j!hj%hNhNj!Kh&Nh"}r%j!U+h(h)]Rr%ubaRr%hU 2AGPEAT120r%h2Gh3h4hNh5j%h"}r%h7Nubh)r%}r%(h UGlycerophospholipid Metabolismr%h }r%(j Gj$GjTG?j%G?h)r%}r%(hNhNhUtetradecanoate (n-C14:0)r%h}r%hUttdca_cr%hUEhJhGhh)r%}r%(hNhUC14H27O2r%h}r%h"}r%h$}r%(UHKUCKUOKuhj%ubh&Uch"}r%h(h)]Rr%ubGh)r%}r%(hNhNhU3phosphatidylethanolamine (ditetradecanoyl, n-C14:0)r%h}r%hUpe140_cr%hUEhKhGhh)r%}r%(hNhU C33H66N1O8P1r%h}r%h"}r%h$}r%(UHKBUCK!UPKUOKUNKuhj%ubh&Uch"}r%h(h)]Rr%ubG?uhNhU<2-acyl-glycerophospho-ethanolamine acyltransferase (n-C14:0)r%h,G@@h-Gh}r%h/h)]r%j%aRr%hU 2AGPEAT140r%h2Gh3h4hNh5Ub2836r%h"}r%h7Nubh)r%}r%(h UGlycerophospholipid Metabolismr%h }r%(j Gh)r%}r%(hNhNhU6phosphatidylethanolamine (ditetradec-7-enoyl, n-C14:1)r%h}r%hUpe141_cr%hUEhKhGhh)r%}r&(hNhU C33H62N1O8P1r&h}r&h"}r&h$}r&(UHK>UCK!UPKUOKUNKuhj&ubh&Uch"}r&h(h)]Rr&ubG?j$GjTG?j%G?h)r&}r&(hNhNhUtetradecenoate (n-C14:1)r &h}r &hUttdcea_cr &hUEhJhGhh)r &}r &(hNhUC14H25O2r&h}r&h"}r&h$}r&(UHKUCKUOKuhj&ubh&Uch"}r&h(h)]Rr&ubGuhNhU<2-acyl-glycerophospho-ethanolamine acyltransferase (n-C14:1)r&h,G@@h-Gh}r&h/h)]r&j%aRr&hU 2AGPEAT141r&h2Gh3h4hNh5Ub2836r&h"}r&h7Nubh)r&}r&(h UGlycerophospholipid Metabolismr&h }r&(jG?j Gj%Gh)r&}r &(hNhNhUHexadecanoate (n-C16:0)r!&h}r"&hUhdca_cr#&hUEhJhGhh)r$&}r%&(hNhUC16H31O2r&&h}r'&h"}r(&h$}r)&(UHKUCKUOKuhj&&ubh&Uch"}r*&h(h)]Rr+&ubGjTG?j%G?uhNhU<2-acyl-glycerophospho-ethanolamine acyltransferase (n-C16:0)r,&h,G@@h-Gh}r-&h/h)]r.&j%aRr/&hU 2AGPEAT160r0&h2Gh3h4hNh5Ub2836r1&h"}r2&h7Nubh)r3&}r4&(h UGlycerophospholipid Metabolismr5&h }r6&(j Gj/%GjG?jTG?h)r7&}r8&(hNhNhUHexadecenoate (n-C16:1)r9&h}r:&hUhdcea_cr;&hUEhJhGhh)r<&}r=&(hNhUC16H29O2r>&h}r?&h"}r@&h$}rA&(UHKUCKUOKuhj>&ubh&Uch"}rB&h(h)]RrC&ubGj%G?uhNhU<2-acyl-glycerophospho-ethanolamine acyltransferase (n-C16:1)rD&h,G@@h-Gh}rE&h/h)]rF&j%aRrG&hU 2AGPEAT161rH&h2Gh3h4hNh5Ub2836rI&h"}rJ&h7Nubh)rK&}rL&(h UGlycerophospholipid MetabolismrM&h }rN&(j%G?h)rO&}rP&(hNhNhU2phosphatidylethanolamine (dioctadecanoyl, n-C18:0)rQ&h}rR&hUpe180_crS&hUEhKhGhh)rT&}rU&(hNhU C41H82N1O8P1rV&h}rW&h"}rX&h$}rY&(UHKRUCK)UPKUOKUNKuhjV&ubh&Uch"}rZ&h(h)]Rr[&ubG?j GjTG?ja%Gh)r\&}r]&(hNhNhUoctadecanoate (n-C18:0)r^&h}r_&hUocdca_cr`&hUEhJhGhh)ra&}rb&(hNhUC18H35O2rc&h}rd&h"}re&h$}rf&(UHK#UCKUOKuhjc&ubh&Uch"}rg&h(h)]Rrh&ubGuhNhU<2-acyl-glycerophospho-ethanolamine acyltransferase (n-C18:0)ri&h,G@@h-Gh}rj&h/h)]rk&j%aRrl&hU 2AGPEAT180rm&h2Gh3h4hNh5Ub2836rn&h"}ro&h7Nubh)rp&}rq&(h UGlycerophospholipid Metabolismrr&h }rs&(j Gh)rt&}ru&(hNhNhUoctadecenoate (n-C18:1)rv&h}rw&hUocdcea_crx&hUEhJhGhh)ry&}rz&(hNhUC18H33O2r{&h}r|&h"}r}&h$}r~&(UHK!UCKUOKuhj{&ubh&Uch"}r&h(h)]Rr&ubGjTG?jG?j%G?j%GuhNhU<2-acyl-glycerophospho-ethanolamine acyltransferase (n-C18:1)r&h,G@@h-Gh}r&h/h)]r&j%aRr&hU 2AGPEAT181r&h2Gh3h4hNh5Ub2836r&h"}r&h7Nubh)r&}r&(h UTransport, Inner Membraner&h }r&(h)r&}r&(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C12:0)r&h}r&hU 2agpg120_cr&hUEhJhGhh)r&}r&(hNhU C18H36O9P1r&h}r&h"}r&h$}r&(UHK$UCKUOK UPKuhj&ubh&Uch"}r&h(h)]Rr&ubG?h)r&}r&(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C12:0)r&h}r&hU 2agpg120_pr&hUEhJhGhh)r&}r&(hNhU C18H36O9P1r&h}r&h"}r&h$}r&(UHK$UCKUOK UPKuhj&ubh&Uph"}r&h(h)]Rr&ubGuhNhU_2-Acyl-sn-glycero-3-phosphoglycerol (n-C12:0) transporter via facilitated diffusion (periplasm)r&h,G@@h-Gh}r&h/h)]r&j#aRr&hU 2AGPG120tippr&h2Gh3h4hNh5Ub2835r&h"}r&h7Nubh)r&}r&(h UTransport, Inner Membraner&h }r&(h)r&}r&(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C14:0)r&h}r&hU 2agpg140_cr&hUEhJhGhh)r&}r&(hNhU C20H40O9P1r&h}r&h"}r&h$}r&(UHK(UCKUOK UPKuhj&ubh&Uch"}r&h(h)]Rr&ubG?h)r&}r&(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C14:0)r&h}r&hU 2agpg140_pr&hUEhJhGhh)r&}r&(hNhU C20H40O9P1r&h}r&h"}r&h$}r&(UHK(UCKUOK UPKuhj&ubh&Uph"}r&h(h)]Rr&ubGuhNhU_2-Acyl-sn-glycero-3-phosphoglycerol (n-C14:0) transporter via facilitated diffusion (periplasm)r&h,G@@h-Gh}r&h/h)]r&j#aRr&hU 2AGPG140tippr&h2Gh3h4hNh5Ub2835r&h"}r&h7Nubh)r&}r&(h UTransport, Inner Membraner&h }r&(h)r&}r&(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C14:1)r&h}r&hU 2agpg141_pr&hUEhJhGhh)r&}r&(hNhU C20H38O9P1r&h}r&h"}r&h$}r&(UHK&UCKUOK UPKuhj&ubh&Uph"}r&h(h)]Rr&ubGh)r&}r&(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C14:1)r&h}r&hU 2agpg141_cr&hUEhJhGhh)r&}r&(hNhU C20H38O9P1r&h}r&h"}r&h$}r&(UHK&UCKUOK UPKuhj&ubh&Uch"}r&h(h)]Rr&ubG?uhNhU_2-Acyl-sn-glycero-3-phosphoglycerol (n-C14:1) transporter via facilitated diffusion (periplasm)r&h,G@@h-Gh}r&h/h)]r&j#aRr&hU 2AGPG141tippr&h2Gh3h4hNh5Ub2835r&h"}r&h7Nubh)r&}r&(h UTransport, Inner Membraner&h }r&(h)r&}r&(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C16:0)r&h}r&hU 2agpg160_cr&hUEhJhGhh)r'}r'(hNhU C22H44O9P1r'h}r'h"}r'h$}r'(UHK,UCKUOK UPKuhj'ubh&Uch"}r'h(h)]Rr'ubG?h)r'}r '(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C16:0)r 'h}r 'hU 2agpg160_pr 'hUEhJhGhh)r '}r'(hNhU C22H44O9P1r'h}r'h"}r'h$}r'(UHK,UCKUOK UPKuhj'ubh&Uph"}r'h(h)]Rr'ubGuhNhU_2-Acyl-sn-glycero-3-phosphoglycerol (n-C16:0) transporter via facilitated diffusion (periplasm)r'h,G@@h-Gh}r'h/h)]r'j#aRr'hU 2AGPG160tippr'h2Gh3h4hNh5Ub2835r'h"}r'h7Nubh)r'}r'(h UTransport, Inner Membraner'h }r'(h)r '}r!'(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C16:1)r"'h}r#'hU 2agpg161_cr$'hUEhJhGhh)r%'}r&'(hNhU C22H42O9P1r''h}r('h"}r)'h$}r*'(UHK*UCKUOK UPKuhj''ubh&Uch"}r+'h(h)]Rr,'ubG?h)r-'}r.'(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C16:1)r/'h}r0'hU 2agpg161_pr1'hUEhJhGhh)r2'}r3'(hNhU C22H42O9P1r4'h}r5'h"}r6'h$}r7'(UHK*UCKUOK UPKuhj4'ubh&Uph"}r8'h(h)]Rr9'ubGuhNhU_2-Acyl-sn-glycero-3-phosphoglycerol (n-C16:1) transporter via facilitated diffusion (periplasm)r:'h,G@@h-Gh}r;'h/h)]r<'j#aRr='hU 2AGPG161tippr>'h2Gh3h4hNh5Ub2835r?'h"}r@'h7Nubh)rA'}rB'(h UTransport, Inner MembranerC'h }rD'(h)rE'}rF'(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C18:0)rG'h}rH'hU 2agpg180_crI'hUEhJhGhh)rJ'}rK'(hNhU C24H48O9P1rL'h}rM'h"}rN'h$}rO'(UHK0UCKUOK UPKuhjL'ubh&Uch"}rP'h(h)]RrQ'ubG?h)rR'}rS'(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C18:0)rT'h}rU'hU 2agpg180_prV'hUEhJhGhh)rW'}rX'(hNhU C24H48O9P1rY'h}rZ'h"}r['h$}r\'(UHK0UCKUOK UPKuhjY'ubh&Uph"}r]'h(h)]Rr^'ubGuhNhU_2-Acyl-sn-glycero-3-phosphoglycerol (n-C18:0) transporter via facilitated diffusion (periplasm)r_'h,G@@h-Gh}r`'h/h)]ra'j#aRrb'hU 2AGPG180tipprc'h2Gh3h4hNh5Ub2835rd'h"}re'h7Nubh)rf'}rg'(h UTransport, Inner Membranerh'h }ri'(h)rj'}rk'(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C18:1)rl'h}rm'hU 2agpg181_crn'hUEhJhGhh)ro'}rp'(hNhU C24H46O9P1rq'h}rr'h"}rs'h$}rt'(UHK.UCKUOK UPKuhjq'ubh&Uch"}ru'h(h)]Rrv'ubG?h)rw'}rx'(hNhNhU-2-Acyl-sn-glycero-3-phosphoglycerol (n-C18:1)ry'h}rz'hU 2agpg181_pr{'hUEhJhGhh)r|'}r}'(hNhU C24H46O9P1r~'h}r'h"}r'h$}r'(UHK.UCKUOK UPKuhj~'ubh&Uph"}r'h(h)]Rr'ubGuhNhU_2-Acyl-sn-glycero-3-phosphoglycerol (n-C18:1) transporter via facilitated diffusion (periplasm)r'h,G@@h-Gh}r'h/h)]r'j#aRr'hU 2AGPG181tippr'h2Gh3h4hNh5Ub2835r'h"}r'h7Nubh)r'}r'(h UGlycerophospholipid Metabolismr'h }r'(j%G?j Gh)r'}r'(hNhNhU,Phosphatidylglycerol (didodecanoyl, n-C12:0)r'h}r'hUpg120_cr'hUEhJhGhh)r'}r'(hNhU C30H58O10P1r'h}r'h"}r'h$}r'(UHK:UCKUOK UPKuhj'ubh&Uch"}r'h(h)]Rr'ubG?jTG?j%Gj&GuhNhU82-acyl-glycerophospho-glycerol acyltransferase (n-C12:0)r'h,G@@h-Gh}r'h/h)]r'j%aRr'hU 2AGPGAT120r'h2Gh3h4hNh5Ub2836r'h"}r'h7Nubh)r'}r'(h UGlycerophospholipid Metabolismr'h }r'(j Gj&GjTG?j%Gh)r'}r'(hNhNhU/Phosphatidylglycerol (ditetradecanoyl, n-C14:0)r'h}r'hUpg140_cr'hUEhJhGhh)r'}r'(hNhU C34H66O10P1r'h}r'h"}r'h$}r'(UHKBUCK"UOK UPKuhj'ubh&Uch"}r'h(h)]Rr'ubG?j%G?uhNhU82-acyl-glycerophospho-glycerol acyltransferase (n-C14:0)r'h,G@@h-Gh}r'h/h)]r'j%aRr'hU 2AGPGAT140r'h2Gh3h4hNh5Ub2836r'h"}r'h7Nubh)r'}r'(h UGlycerophospholipid Metabolismr'h }r'(j%G?h)r'}r'(hNhNhU2Phosphatidylglycerol (ditetradec-7-enoyl, n-C14:1)r'h}r'hUpg141_cr'hUEhJhGhh)r'}r'(hNhU C34H62O10P1r'h}r'h"}r'h$}r'(UHK>UCK"UOK UPKuhj'ubh&Uch"}r'h(h)]Rr'ubG?j Gj&GjTG?j&GuhNhU82-acyl-glycerophospho-glycerol acyltransferase (n-C14:1)r'h,G@@h-Gh}r'h/h)]r'j%aRr'hU 2AGPGAT141r'h2Gh3h4hNh5Ub2836r'h"}r'h7Nubh)r'}r'(h UGlycerophospholipid Metabolismr'h }r'(j%G?j GjG?jTG?j&Gj&GuhNhU82-acyl-glycerophospho-glycerol acyltransferase (n-C16:0)r'h,G@@h-Gh}r'h/h)]r'j%aRr'hU 2AGPGAT160r'h2Gh3h4hNh5Ub2836r'h"}r'h7Nubh)r'}r'(h UGlycerophospholipid Metabolismr'h }r'(j GjG?j 'GjTG?j7&Gj%G?uhNhU82-acyl-glycerophospho-glycerol acyltransferase (n-C16:1)r'h,G@@h-Gh}r'h/h)]r'j%aRr'hU 2AGPGAT161r'h2Gh3h4hNh5Ub2836r'h"}r'h7Nubh)r'}r'(h UGlycerophospholipid Metabolismr'h }r'(j Gh)r'}r'(hNhNhU.Phosphatidylglycerol (dioctadecanoyl, n-C18:0)r'h}r'hUpg180_cr'hUEhJhGhh)r'}r'(hNhU C42H82O10P1r'h}r'h"}r'h$}r'(UHKRUCK*UOK UPKuhj'ubh&Uch"}r'h(h)]Rr'ubG?j%G?jTG?j\&GjE'GuhNhU82-acyl-glycerophospho-glycerol acyltransferase (n-C18:0)r'h,G@@h-Gh}r'h/h)]r'j%aRr'hU 2AGPGAT180r'h2Gh3h4hNh5Ub2836r'h"}r(h7Nubh)r(}r((h UGlycerophospholipid Metabolismr(h }r((j Gjt&Gjj'GjG?jTG?j%G?uhNhU82-acyl-glycerophospho-glycerol acyltransferase (n-C18:1)r(h,G@@h-Gh}r(h/h)]r(j%aRr(hU 2AGPGAT181r (h2Gh3h4hNh5Ub2836r (h"}r (h7Nubh)r (}r ((h UAlternate Carbon Metabolismr(h }r((jGh)r(}r((hNhNhU2-Dehydro-L-gulonater(h}r(hU 2dhguln_cr(hUEhJhGhh)r(}r((hNhUC6H9O7r(h}r(h"}r(h$}r((UHK UCKUOKuhj(ubh&Uch"}r(h(h)]Rr(ubGjG?j>Gh)r(}r((hNhNhU D-Gluconater(h}r (hUglcn_cr!(hUEhJhGhh)r"(}r#((hNhUC6H11O7r$(h}r%(h"}r&(h$}r'((UHK UCKUOKuhj$(ubh&Uch"}r((h(h)]Rr)(ubG?uhNhU22-Dehydro-L-gulonate reductase to gluconate (NADH)r*(h,G@@h-Gh}r+(h/h)]r,(j!)r-(}r.((hNj!KhNhUb3553r/(h}r0(j!hj/(hNhNj!Kh&Nh"}r1(j!U+h(h)]Rr2(ubaRr3(hU2DGULRGxr4(h2Gh3h4hNh5j/(h"}r5(h7Nubh)r6(}r7((h UAlternate Carbon Metabolismr8(h }r9((j(GjCGj)G?j>Gj(G?uhNhU32-Dehydro-L-gulonate reductase to gluconate (NADPH)r:(h,G@@h-Gh}r;(h/h)]r<(j-(aRr=(hU2DGULRGyr>(h2Gh3h4hNh5Ub3553r?(h"}r@(h7Nubh)rA(}rB((h UAlternate Carbon MetabolismrC(h }rD((jGj(Gj>Gh)rE(}rF((hNhNhU L-IdonaterG(h}rH(hU idon__L_crI(hUEhJhGhh)rJ(}rK((hNhUC6H11O7rL(h}rM(h"}rN(h$}rO((UHK UCKUOKuhjL(ubh&Uch"}rP(h(h)]RrQ(ubG?jG?uhNhU%2-dehydro-L-gulonate reductase (NADH)rR(h,G@@h-Gh}rS(h/h)]rT(j-(aRrU(hU2DGULRxrV(h2Gh3h4hNh5Ub3553rW(h"}rX(h7Nubh)rY(}rZ((h UAlternate Carbon Metabolismr[(h }r\((j(Gj>Gj)G?jCGjE(G?uhNhU&2-dehydro-L-gulonate reductase (NADPH)r](h,G@@h-Gh}r^(h/h)]r_(j-(aRr`(hU2DGULRyra(h2Gh3h4hNh5Ub3553rb(h"}rc(h7Nubh)rd(}re((h U*Cofactor and Prosthetic Group Biosynthesisrf(h }rg((j>G?h)rh(}ri((hNhNhU62-Methyl-4-amino-5-hydroxymethylpyrimidine diphosphaterj(h}rk(hU2mahmp_crl(hUEhJhGhh)rm(}rn((hNhU C6H8N3O7P2ro(h}rp(h"}rq(h$}rr((UHKUCKUPKUOKUNKuhjo(ubh&Uch"}rs(h(h)]Rrt(ubGh)ru(}rv((hNhNhU*4-Amino-2-methyl-5-phosphomethylpyrimidinerw(h}rx(hU4ampm_cry(hUEhJhGhh)rz(}r{((hNhU C6H8N3O4Pr|(h}r}(h"}r~(h$}r((UHKUCKUPKUOKUNKuhj|(ubh&Uch"}r(h(h)]Rr(ubG?jG?j4GuhNhU82-Methyl-4-amino-5-hydroxymethylpyrimidine diphosphataser(h,G@@h-Gh}r(h/h)]r((j!)r(}r((hNj!KhNhUb0446r(h}r(j!hj(hNhNj!Kh&Nh"}r(j!U+h(h)]Rr(ubj!)r(}r((hNj!KhNhUb1134r(h}r(j!hj(hNhNj!Kh&Nh"}r(j!U+h(h)]Rr(ubeRr(hU2MAHMPr(h2Gh3h4hNh5U(b0446 or b1134)r(h"}r(h7Nubh)r(}r((h UTransport, Outer Membrane Porinr(h }r((h)r(}r((hNhNhU3,4-Dihydroxyphenylacetaldehyder(h}r(hU 34dhpac_pr(hUEhKhGhh)r(}r((hNhUC8H8O3r(h}r(h"}r(h$}r((UHKUCKUOKuhj(ubh&Uph"}r(h(h)]Rr(ubG?j"GuhNhUPdihydroxyphenylacetaldehyde transport via diffusion (extracellular to periplasm)r(h,G@@h-G@h}r(h/h)]r((j!j!j!j!eRr(hU 34dhpactexr(h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r(h"}r(h7Nubh)r(}r((h UNucleotide Salvage Pathwayr(h }r((jLG?j>Gh)r(}r((hNhNhUMalonate semialdehyder(h}r(hUmsa_cr(hUEhJhGhh)r(}r((hNhUC3H3O3r(h}r(h"}r(h$}r((UHKUCKUOKuhj(ubh&Uch"}r(h(h)]Rr(ubG?j4Gh)r(}r((hNhNhU3-Aminoacrylater(h}r(hU3amac_cr(hUEhJhGhh)r(}r((hNhUC3H4NO2r(h}r(h"}r(h$}r((UHKUCKUOKUNKuhj(ubh&Uch"}r(h(h)]Rr(ubGuhNhU3-aminoacrylate hydrolaser(h,G@@h-Gh}r(h/h)]r(j!)r(}r((hNj!KhNhUb1009r(h}r(j!hj(hNhNj!Kh&Nh"}r(j!U+h(h)]Rr(ubaRr(hU3AMACHYDr(h2Gh3h4hNh5j(h"}r(h7Nubh)r(}r((h UTransport, Outer Membrane Porinr(h }r((j7GjK#G?uhNhU93AMP transport via diffusion (extracellular to periplasm)r(h,G@@h-G@h}r(h/h)]r((j!j!j!j!eRr(hU3AMPtexr(h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r(h"}r(h7Nubh)r(}r((h UTransport, Outer Membrane Porinr(h }r((j3#G?jLGuhNhU93CMP transport via diffusion (extracellular to periplasm)r(h,G@@h-G@h}r(h/h)]r((j!j!j!j!eRr(hU3CMPtexr(h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r(h"}r(h7Nubh)r(}r((h UTransport, Outer Membrane Porinr(h }r((jc#G?jaGuhNhU93GMP transport via diffusion (extracellular to periplasm)r(h,G@@h-G@h}r(h/h)]r((j!j!j!j!eRr(hU3GMPtexr(h2Gh3h4hNh5U"(b0929 or b1377 or b2215 or b0241)r(h"}r(h7Nubh)r(}r((h UCell Envelope Biosynthesisr(h }r((j4G?h)r(}r((hNhNhU(trans-Dec-2-enoyl-[acyl-carrier protein]r(h}r(hU tdec2eACP_cr)hUEhJhGhh)r)}r)(hNhU C21H37N2O8PRSr)h}r)h"}r)h$}r)(UCKUHK%UOKUNKUPKUSKURKuhj)ubh&Uch"}r)h(h)]Rr)ubG?h)r )}r )(hNhNhU,(R)-3-Hydroxydecanoyl-[acyl-carrier protein]r )h}r )hU 3hdecACP_cr )hUEhJhGhh)r)}r)(hNhU C21H39N2O9PRSr)h}r)h"}r)h$}r)(UCKUHK'UOK UNKUPKUSKURKuhj)ubh&Uch"}r)h(h)]Rr)ubGuhNhU:3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C10:0)r)h,G@@h-Gh}r)h/h)]r)(j!)r)}r)(hNj!KhNhUb0180r)h}r)j!hj)hNhNj!Kh&Nh"}r)j!U+h(h)]Rr)ubj!)r)}r )(hNj!KhNhUb0954r!)h}r")j!hj!)hNhNj!Kh&Nh"}r#)j!U+h(h)]Rr$)ubeRr%)hU3HAD100r&)h2Gh3h4hNh5U(b0954 or b0180)r')h"}r()h7Nubh)r))}r*)(h UCell Envelope Biosynthesisr+)h }r,)(h)r-)}r.)(hNhNhU.(R)-3-Hydroxydodecanoyl-[acyl-carrier protein]r/)h}r0)hU 3hddecACP_cr1)hUEhJhGhh)r2)}r3)(hNhU C23H43N2O9PRSr4)h}r5)h"}r6)h$}r7)(UCKUHK+UOK UNKUPKUSKURKuhj4)ubh&Uch"}r8)h(h)]Rr9)ubGj4G?h)r:)}r;)(hNhNhU*trans-Dodec-2-enoyl-[acyl-carrier protein]r<)h}r=)hU tddec2eACP_cr>)hUEhJhGhh)r?)}r@)(hNhU C23H41N2O8PRSrA)h}rB)h"}rC)h$}rD)(UCKUHK)UOKUNKUPKUSKURKuhjA)ubh&Uch"}rE)h(h)]RrF)ubG?uhNhU:3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C12:0)rG)h,G@@h-Gh}rH)h/h)]rI)(j)j)eRrJ)hU3HAD120rK)h2Gh3h4hNh5U(b0180 or b0954)rL)h"}rM)h7Nubh)rN)}rO)(h UCell Envelope BiosynthesisrP)h }rQ)(j4G?h)rR)}rS)(hNhNhU6(R)-3-hydroxy-cis-dodec-5-enoyl-[acyl-carrier protein]rT)h}rU)hU3hcddec5eACP_crV)hUEhJhGhh)rW)}rX)(hNhU C23H41N2O9PRSrY)h}rZ)h"}r[)h$}r\)(UCKUHK)UOK UNKUPKUSKURKuhjY)ubh&Uch"}r])h(h)]Rr^)ubGh)r_)}r`)(hNhNhU/trans-3-cis-5-dodecenoyl-[acyl-carrier protein]ra)h}rb)hUt3c5ddeceACP_crc)hUEhJhGhh)rd)}re)(hNhU C23H39N2O8PRSrf)h}rg)h"}rh)h$}ri)(UCKUHK'UOKUNKUPKUSKURKuhjf)ubh&Uch"}rj)h(h)]Rrk)ubG?uhNhU:3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C12:1)rl)h,G@@h-Gh}rm)h/h)]rn)(j)j)eRro)hU3HAD121rp)h2Gh3h4hNh5U(b0180 or b0954)rq)h"}rr)h7Nubh)rs)}rt)(h UCell Envelope Biosynthesisru)h }rv)(j4G?h)rw)}rx)(hNhNhU1(R)-3-Hydroxytetradecanoyl-[acyl-carrier protein]ry)h}rz)hU 3hmrsACP_cr{)hUEhJhGhh)r|)}r})(hNhU C25H47N2O9PRSr~)h}r)h"}r)h$}r)(UCKUHK/UOK UNKUPKUSKURKuhj~)ubh&Uch"}r)h(h)]Rr)ubGh)r)}r)(hNhNhU-trans-Tetradec-2-enoyl-[acyl-carrier protein]r)h}r)hU tmrs2eACP_cr)hUEhJhGhh)r)}r)(hNhU C25H45N2O8PRSr)h}r)h"}r)h$}r)(UCKUHK-UOKUNKUPKUSKURKuhj)ubh&Uch"}r)h(h)]Rr)ubG?uhNhU:3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C14:0)r)h,G@@h-Gh}r)h/h)]r)(j)j)eRr)hU3HAD140r)h2Gh3h4hNh5U(b0954 or b0180)r)h"}r)h7Nubh)r)}r)(h UCell Envelope Biosynthesisr)h }r)(h)r)}r)(hNhNhU8(R)-3-hydroxy-cis-myristol-7-eoyl-[acyl-carrier protein]r)h}r)hU 3hcmrs7eACP_cr)hUEhJhGhh)r)}r)(hNhU C25H45N2O9PRSr)h}r)h"}r)h$}r)(UCKUHK-UOK UNKUPKUSKURKuhj)ubh&Uch"}r)h(h)]Rr)ubGj4G?h)r)}r)(hNhNhU1trans-3-cis-7-myristoleoyl-[acyl-carrier protein]r)h}r)hU t3c7mrseACP_cr)hUEhJhGhh)r)}r)(hNhU C25H43N2O8PRSr)h}r)h"}r)h$}r)(UCKUHK+UOKUNKUPKUSKURKuhj)ubh&Uch"}r)h(h)]Rr)ubG?uhNhU:3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C14:1)r)h,G@@h-Gh}r)h/h)]r)(j)j)eRr)hU3HAD141r)h2Gh3h4hNh5U(b0954 or b0180)r)h"}r)h7Nubh)r)}r)(h UCell Envelope Biosynthesisr)h }r)(j4G?h)r)}r)(hNhNhU+R-3-hydroxypalmitoyl-[acyl-carrier protein]r)h}r)hU 3hpalmACP_cr)hUEhJhGhh)r)}r)(hNhU C27H51N2O9PRSr)h}r)h"}r)h$}r)(UCKUHK3UOK UNKUPKUSKURKuhj)ubh&Uch"}r)h(h)]Rr)ubGh)r)}r)(hNhNhU,trans-Hexadec-2-enoyl-[acyl-carrier protein]r)h}r)hU tpalm2eACP_cr)hUEhJhGhh)r)}r)(hNhU C27H49N2O8PRSr)h}r)h"}r)h$}r)(UCKUHK1UOKUNKUPKUSKURKuhj)ubh&Uch"}r)h(h)]Rr)ubG?uhNhU:3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C16:0)r)h,G@@h-Gh}r)h/h)]r)(j)j)eRr)hU3HAD160r)h2Gh3h4hNh5U(b0954 or b0180)r)h"}r)h7Nubh)r)}r)(h UCell Envelope Biosynthesisr)h }r)(j4G?h)r)}r)(hNhNhU1trans-3-cis-9-palmitoleoyl-[acyl-carrier protein]r)h}r)hUt3c9palmeACP_cr)hUEhJhGhh)r)}r)(hNhU C27H47N2O8PRSr)h}r)h"}r)h$}r)(UCKUHK/UOKUNKUPKUSKURKuhj)ubh&Uch"}r)h(h)]Rr)ubG?h)r)}r)(hNhNhU4(R)-3-hydroxy-cis-palm-9-eoyl-[acyl-carrier protein]r)h}r)hU3hcpalm9eACP_cr)hUEhJhGhh)r)}r)(hNhU C27H49N2O9PRSr)h}r)h"}r)h$}r)(UCKUHK1UOK UNKUPKUSKURKuhj)ubh&Uch"}r)h(h)]Rr)ubGuhNhU:3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C16:1)r*h,G@@h-Gh}r*h/h)]r*(j)j)eRr*hU3HAD161r*h2Gh3h4hNh5U(b0180 or b0954)r*h"}r*h7Nubh)r*}r*(h UCell Envelope Biosynthesisr *h }r *(h)r *}r *(hNhNhU,trans-octadec-2-enoyl-[acyl-carrier protein]r *h}r*hU toctd2eACP_cr*hUEhJhGhh)r*}r*(hNhU C29H53N2O8PRSr*h}r*h"}r*h$}r*(UCKUHK5UOKUNKUPKUSKURKuhj*ubh&Uch"}r*h(h)]Rr*ubG?j4G?h)r*}r*(hNhNhU0(R)-3-Hydroxyoctadecanoyl-[acyl-carrier protein]r*h}r*hU 3hoctaACP_cr*hUEhJhGhh)r*}r*(hNhU C29H55N2O9PRSr*h}r *h"}r!*h$}r"*(UCKUHK7UOK UNKUPKUSKURKuhj*ubh&Uch"}r#*h(h)]Rr$*ubGuhNhU:3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C18:0)r%*h,G@@h-Gh}r&*h/h)]r'*(j)j)eRr(*hU3HAD180r)*h2Gh3h4hNh5U(b0954 or b0180)r**h"}r+*h7Nubh)r,*}r-*(h UCell Envelope Biosynthesisr.*h }r/*(h)r0*}r1*(hNhNhU6(R)-3-hydroxy-cis-vacc-11-enoyl-[acyl-carrier protein]r2*h}r3*hU3hcvac11eACP_cr4*hUEhJhGhh)r5*}r6*(hNhU C29H53N2O9PRSr7*h}r8*h"}r9*h$}r:*(UCKUHK5UOK UNKUPKUSKURKuhj7*ubh&Uch"}r;*h(h)]Rr<*ubGj4G?h)r=*}r>*(hNhNhU.trans-3-cis-11-vacceoyl-[acyl-carrier protein]r?*h}r@*hUt3c11vaceACP_crA*hUEhJhGhh)rB*}rC*(hNhU C29H51N2O8PRSrD*h}rE*h"}rF*h$}rG*(UCKUHK3UOKUNKUPKUSKURKuhjD*ubh&Uch"}rH*h(h)]RrI*ubG?uhNhU:3-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C18:1)rJ*h,G@@h-Gh}rK*h/h)]rL*(j)j)eRrM*hU3HAD181rN*h2Gh3h4hNh5U(b0954 or b0180)rO*h"}rP*h7Nubh)rQ*}rR*(h UCell Envelope BiosynthesisrS*h }rT*(h)rU*}rV*(hNhNhU)(3R)-3-Hydroxyacyl-[acyl-carrier protein]rW*h}rX*hU3haACP_crY*hUEhJhGhh)rZ*}r[*(hNhU C15H27N2O9PRSr\*h}r]*h"}r^*h$}r_*(UCKUHKUOK UNKUPKUSKURKuhj\*ubh&Uch"}r`*h(h)]Rra*ubGh)rb*}rc*(hNhNhU"But-2-enoyl-[acyl-carrier protein]rd*h}re*hU but2eACP_crf*hUEhJhGhh)rg*}rh*(hNhU C15H25N2O8PRSri*h}rj*h"}rk*h$}rl*(UCKUHKUOKUNKUPKUSKURKuhji*ubh&Uch"}rm*h(h)]Rrn*ubG?j4G?uhNhU93-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C4:0)ro*h,G@@h-Gh}rp*h/h)]rq*(j)j)eRrr*hU3HAD40rs*h2Gh3h4hNh5U(b0954 or b0180)rt*h"}ru*h7Nubh)rv*}rw*(h UCell Envelope Biosynthesisrx*h }ry*(h)rz*}r{*(hNhNhU(trans-Hex-2-enoyl-[acyl-carrier protein]r|*h}r}*hU thex2eACP_cr~*hUEhJhGhh)r*}r*(hNhU C17H29N2O8PRSr*h}r*h"}r*h$}r*(UCKUHKUOKUNKUPKUSKURKuhj*ubh&Uch"}r*h(h)]Rr*ubG?h)r*}r*(hNhNhU,(R)-3-Hydroxyhexanoyl-[acyl-carrier protein]r*h}r*hU 3hhexACP_cr*hUEhJhGhh)r*}r*(hNhU C17H31N2O9PRSr*h}r*h"}r*h$}r*(UCKUHKUOK UNKUPKUSKURKuhj*ubh&Uch"}r*h(h)]Rr*ubGj4G?uhNhU93-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C6:0)r*h,G@@h-Gh}r*h/h)]r*(j)j)eRr*hU3HAD60r*h2Gh3h4hNh5U(b0954 or b0180)r*h"}r*h7Nubh)r*}r*(h UCell Envelope Biosynthesisr*h }r*(j4G?h)r*}r*(hNhNhU,(R)-3-Hydroxyoctanoyl-[acyl-carrier protein]r*h}r*hU 3hoctACP_cr*hUEhJhGhh)r*}r*(hNhU C19H35N2O9PRSr*h}r*h"}r*h$}r*(UCKUHK#UOK UNKUPKUSKURKuhj*ubh&Uch"}r*h(h)]Rr*ubGh)r*}r*(hNhNhU(trans-Oct-2-enoyl-[acyl-carrier protein]r*h}r*hU toct2eACP_cr*hUEhJhGhh)r*}r*(hNhU C19H33N2O8PRSr*h}r*h"}r*h$}r*(UCKUHK!UOKUNKUPKUSKURKuhj*ubh&Uch"}r*h(h)]Rr*ubG?uhNhU93-hydroxyacyl-[acyl-carrier-protein] dehydratase (n-C8:0)r*h,G@@h-Gh}r*h/h)]r*(j)j)eRr*hU3HAD80r*h2Gh3h4hNh5U(b0954 or b0180)r*h"}r*h7Nubh)r*}r*(h UAlternate Carbon Metabolismr*h }r*(jGh)r*}r*(hNhNhU3-hydroxycinnamic acidr*h}r*hU 3hcinnm_cr*hUEhJhGhh)r*}r*(hNhUC9H7O3r*h}r*h"}r*h$}r*(UHKUCK UOKuhj*ubh&Uch"}r*h(h)]Rr*ubGh)r*}r*(hNhNhUO2r*h}r*hUo2_cr*hUEhKhGhh)r*}r*(hNhUO2r*h}r*h"}r*h$}r*UOKshj*ubh&Uch"}r*h(h)]Rr*ubGj>GjG?j4G?h)r*}r*(hNhNhU2,3-dihydroxicinnamic acidr*h}r*hU dhcinnm_cr*hUEhJhGhh)r*}r*(hNhUC9H7O4r*h}r*h"}r*h$}r*(UHKUCK UOKuhj*ubh&Uch"}r*h(h)]Rr*ubG?uhNhU3-hydroxycinnamate hydroxylaser*h,G@@h-Gh}r*h/h)]r*j!)r*}r*(hNj!KhNhUb0347r*h}r*j!hj*hNhNj!Kh&Nh"}r*j!U+h(h)]Rr*ubaRr*hU3HCINNMHr*h2Gh3h4hNh5j*h"}r*h7Nubh)r*}r*(h UAlternate Carbon Metabolismr*h }r*(jGjG?j>Gh)r*}r*(hNhNhU3-(3-hydroxy-phenyl)propionater*h}r*hU3hpppn_cr*hUEhJhGhh)r+}r+(hNhUC9H9O3r+h}r+h"}r+h$}r+(UHK UCK UOKuhj+ubh&Uch"}r+h(h)]Rr+ubGh)r+}r +(hNhNhU!3-(2,3-Dihydroxyphenyl)propanoater +h}r +hUdhpppn_cr +hUEhJhGhh)r +}r+(hNhUC9H9O4r+h}r+h"}r+h$}r+(UHK UCK UOKuhj+ubh&Uch"}r+h(h)]Rr+ubG?j4G?j*GuhNhU*3-(3-hydroxy-phenyl)propionate hydroxylaser+h,G@@h-Gh}r+h/h)]r+j*aRr+hU3HPPPNHr+h2Gh3h4hNh5Ub0347r+h"}r+h7Nubh)r+}r+(h UTransport, Outer Membrane Porinr+h }r+(h)r +}r!+(hNhNhU3-Hydroxypropanoater"+h}r#+hU3hpp_pr$+hUEhJhGhh)r%+}r&+(hNhUC3H5O3r'+h}r(+h"}r)+h$}r*+(UHKUCKUOKuhj'+ubh&Uph"}r++h(h)]Rr,+ubG?jGuhNhUH3-hydroxypropionate transport via diffusion (extracellular to periplasm)r-+h,G@@h-G@h}r.+h/h)]r/+(j!j!j!j!eRr0+hU3HPPtexr1+h2Gh3h4hNh5U"(b1377 or b0929 or b2215 or b0241)r2+h"}r3+h7Nubh)r4+}r5+(h UTransport, Inner Membraner6+h }r7+(j"G?j>Gh)r8+}r9+(hNhNhU3-Hydroxypropanoater:+h}r;+hU3hpp_cr<+hUEhJhGhh)r=+}r>+(hNhUC3H5O3r?+h}r@+h"}rA+h$}rB+(UHKUCKUOKuhj?+ubh&Uch"}rC+h(h)]RrD+ubGj +G?uhNhU<3-hydroxypropionate transport via proton symport (periplasm)rE+h,G@@h-Gh}rF+h/h)]RrG+hU3HPPtpprH+h2Gh3h4hNh5Uh"}rI+h7Nubh)rJ+}rK+(h UAlternate Carbon MetabolismrL+h }rM+(j-G?j Gh)rN+}rO+(hNhNhU3-keto-L-gulonate-6-phosphaterP+h}rQ+hU 3dhgulnp_crR+hUEhJhGhh)rS+}rT+(hNhUC6H8O10PrU+h}rV+h"}rW+h$}rX+(UHKUCKUOK UPKuhjU+ubh&Uch"}rY+h(h)]RrZ+ubG?h)r[+}r\+(hNhNhU3-Dehydro-L-gulonater]+h}r^+hU 3dhguln_cr_+hUEhJhGhh)r`+}ra+(hNhUC6H9O7rb+h}rc+h"}rd+h$}re+(UHK UCKUOKuhjb+ubh&Uch"}rf+h(h)]Rrg+ubGj>G?uhNhU3-keto-L-gulonate kinaserh+h,G@@h-Gh}ri+h/h)]rj+j!)rk+}rl+(hNj!KhNhUb3580rm+h}rn+j!hjm+hNhNj!Kh&Nh"}ro+j!U+h(h)]Rrp+ubaRrq+hU3KGKrr+h2Gh3h4hNh5jm+h"}rs+h7Nubh)rt+}ru+(h UNucleotide Salvage Pathwayrv+h }rw+(j #Gj#Gh)rx+}ry+(hNhNhUUridinerz+h}r{+hUuri_pr|+hUEhKhGhh)r}+}r~+(hNhU C9H12N2O6r+h}r+h"}r+h$}r+(UHK UCK UOKUNKuhj+ubh&Uph"}r+h(h)]Rr+ubG?h)r+}r+(hNhNhU Phosphater+h}r+hUpi_pr+hUEhJhGhh)r+}r+(hNhUHO4Pr+h}r+h"}r+h$}r+(UHKUOKUPKuhj+ubh&Uph"}r+h(h)]Rr+ubG?uhNhU!3'-nucleotidase (UMP) (periplasm)r+h,G@@h-Gh}r+h/h)]r+j&#aRr+hU3NTD2ppr+h2Gh3h4hNh5Ub4213r+h"}r+h7Nubh)r+}r+(h UNucleotide Salvage Pathwayr+h }r+(h)r+}r+(hNhNhUCytidiner+h}r+hUcytd_pr+hUEhKhGhh)r+}r+(hNhU C9H13N3O5r+h}r+h"}r+h$}r+(UHK UCK UOKUNKuhj+ubh&Uph"}r+h(h)]Rr+ubG?j3#Gj#Gj+G?uhNhU!3'-nucleotidase (CMP) (periplasm)r+h,G@@h-Gh}r+h/h)]r+j&#aRr+hU3NTD4ppr+h2Gh3h4hNh5Ub4213r+h"}r+h7Nubh)r+}r+(h UNucleotide Salvage Pathwayr+h }r+(jK#Gh)r+}r+(hNhNhU Adenosiner+h}r+hUadn_pr+hUEhKhGhh)r+}r+(hNhU C10H13N5O4r+h}r+h"}r+h$}r+(UHK UCK UOKUNKuhj+ubh&Uph"}r+h(h)]Rr+ubG?j+G?j#GuhNhU!3'-nucleotidase (AMP) (periplasm)r+h,G@@h-Gh}r+h/h)]r+j&#aRr+hU3NTD7ppr+h2Gh3h4hNh5Ub4213r+h"}r+h7Nubh)r+}r+(h UNucleotide Salvage Pathwayr+h }r+(jc#Gh)r+}r+(hNhNhU Guanosiner+h}r+hUgsn_pr+hUEhKhGhh)r+}r+(hNhU C10H13N5O5r+h}r+h"}r+h$}r+(UHK UCK UOKUNKuhj+ubh&Uph"}r+h(h)]Rr+ubG?j#Gj+G?uhNhU!3'-nucleotidase (GMP) (periplasm)r+h,G@@h-Gh}r+h/h)]r+j&#aRr+hU3NTD9ppr+h2Gh3h4hNh5Ub4213r+h"}r+h7Nubh)r+}r+(h UCell Envelope Biosynthesisr+h }r+(j )G?jCGj)G?j>Gh)r+}r+(hNhNhU$3-Oxodecanoyl-[acyl-carrier protein]r+h}r+hU 3odecACP_cr+hUEhJhGhh)r+}r+(hNhU C21H37N2O9PRSr+h}r+h"}r+h$}r+(UCKUHK%UOK UNKUPKUSKURKuhj+ubh&Uch"}r+h(h)]Rr+ubGuhNhU43-oxoacyl-[acyl-carrier-protein] reductase (n-C10:0)r+h,G@@h-G@h}r+h/h)]r+j!)r+}r+(hNj!KhNhUb1093r+h}r+j!hj+hNhNj!Kh&Nh"}r+j!U+h(h)]Rr+ubaRr+hU3OAR100r+h2Gh3h4hNh5j+h"}r+h7Nubh)r+}r+(h UCell Envelope Biosynthesisr,h }r,(j-)G?h)r,}r,(hNhNhU&3-Oxododecanoyl-[acyl-carrier protein]r,h}r,hU 3oddecACP_cr,hUEhJhGhh)r,}r,(hNhU C23H41N2O9PRSr ,h}r ,h"}r ,h$}r ,(UCKUHK)UOK UNKUPKUSKURKuhj ,ubh&Uch"}r ,h(h)]Rr,ubGj)G?j>GjCGuhNhU43-oxoacyl-[acyl-carrier-protein] reductase (n-C12:0)r,h,G@@h-G@h}r,h/h)]r,j+aRr,hU3OAR120r,h2Gh3h4hNh5Ub1093r,h"}r,h7Nubh)r,}r,(h UCell Envelope Biosynthesisr,h }r,(jCGj)G?j>Gh)r,}r,(hNhNhU.3-oxo-cis-dodec-5-enoyl-[acyl-carrier protein]r,h}r,hU3ocddec5eACP_cr,hUEhJhGhh)r,}r ,(hNhU C23H39N2O9PRSr!,h}r",h"}r#,h$}r$,(UCKUHK'UOK UNKUPKUSKURKuhj!,ubh&Uch"}r%,h(h)]Rr&,ubGjR)G?uhNhU43-oxoacyl-[acyl-carrier-protein] reductase (n-C12:1)r',h,G@@h-Gh}r(,h/h)]r),j+aRr*,hU3OAR121r+,h2Gh3h4hNh5Ub1093r,,h"}r-,h7Nubh)r.,}r/,(h UCell Envelope Biosynthesisr0,h }r1,(j>Gj)G?jw)G?jCGh)r2,}r3,(hNhNhU)3-Oxotetradecanoyl-[acyl-carrier protein]r4,h}r5,hU 3omrsACP_cr6,hUEhJhGhh)r7,}r8,(hNhU C25H45N2O9PRSr9,h}r:,h"}r;,h$}r<,(UCKUHK-UOK UNKUPKUSKURKuhj9,ubh&Uch"}r=,h(h)]Rr>,ubGuhNhU43-oxoacyl-[acyl-carrier-protein] reductase (n-C14:0)r?,h,G@@h-G@h}r@,h/h)]rA,j+aRrB,hU3OAR140rC,h2Gh3h4hNh5Ub1093rD,h"}rE,h7Nubh)rF,}rG,(h UCell Envelope BiosynthesisrH,h }rI,(h)rJ,}rK,(hNhNhU03-oxo-cis-myristol-7-eoyl-[acyl-carrier protein]rL,h}rM,hU 3ocmrs7eACP_crN,hUEhJhGhh)rO,}rP,(hNhU C25H43N2O9PRSrQ,h}rR,h"}rS,h$}rT,(UCKUHK+UOK UNKUPKUSKURKuhjQ,ubh&Uch"}rU,h(h)]RrV,ubGj)G?j>GjCGj)G?uhNhU43-oxoacyl-[acyl-carrier-protein] reductase (n-C14:1)rW,h,G@@h-Gh}rX,h/h)]rY,j+aRrZ,hU3OAR141r[,h2Gh3h4hNh5Ub1093r\,h"}r],h7Nubh)r^,}r_,(h UCell Envelope Biosynthesisr`,h }ra,(h)rb,}rc,(hNhNhU(3-Oxohexadecanoyl-[acyl-carrier protein]rd,h}re,hU 3opalmACP_crf,hUEhJhGhh)rg,}rh,(hNhU C27H49N2O9PRSri,h}rj,h"}rk,h$}rl,(UCKUHK1UOK UNKUPKUSKURKuhji,ubh&Uch"}rm,h(h)]Rrn,ubGj>Gj)G?jCGj)G?uhNhU43-oxoacyl-[acyl-carrier-protein] reductase (n-C16:0)ro,h,G@@h-G@h}rp,h/h)]rq,j+aRrr,hU3OAR160rs,h2Gh3h4hNh5Ub1093rt,h"}ru,h7Nubh)rv,}rw,(h UCell Envelope Biosynthesisrx,h }ry,(j)G?j>Gj)G?jCGh)rz,}r{,(hNhNhU,3-oxo-cis-palm-9-eoyl-[acyl-carrier protein]r|,h}r},hU3ocpalm9eACP_cr~,hUEhJhGhh)r,}r,(hNhU C27H47N2O9PRSr,h}r,h"}r,h$}r,(UCKUHK/UOK UNKUPKUSKURKuhj,ubh&Uch"}r,h(h)]Rr,ubGuhNhU43-oxoacyl-[acyl-carrier-protein] reductase (n-C16:1)r,h,G@@h-Gh}r,h/h)]r,j+aRr,hU3OAR161r,h2Gh3h4hNh5Ub1093r,h"}r,h7Nubh)r,}r,(h UCell Envelope Biosynthesisr,h }r,(jCGj)G?h)r,}r,(hNhNhU(3-Oxooctadecanoyl-[acyl-carrier protein]r,h}r,hU 3ooctdACP_cr,hUEhJhGhh)r,}r,(hNhU C29H53N2O9PRSr,h}r,h"}r,h$}r,(UCKUHK5UOK UNKUPKUSKURKuhj,ubh&Uch"}r,h(h)]Rr,ubGj>Gj*G?uhNhU43-oxoacyl-[acyl-carrier-protein] reductase (n-C18:0)r,h,G@@h-G@h}r,h/h)]r,j+aRr,hU3OAR180r,h2Gh3h4hNh5Ub1093r,h"}r,h7Nubh)r,}r,(h UCell Envelope Biosynthesisr,h }r,(h)r,}r,(hNhNhU.3-oxo-cis-vacc-11-enoyl-[acyl-carrier protein]r,h}r,hU3ocvac11eACP_cr,hUEhJhGhh)r,}r,(hNhU C29H51N2O9PRSr,h}r,h"}r,h$}r,(UCKUHK3UOK UNKUPKUSKURKuhj,ubh&Uch"}r,h(h)]Rr,ubGj>Gj)G?jCGj0*G?uhNhU43-oxoacyl-[acyl-carrier-protein] reductase (n-C18:1)r,h,G@@h-Gh}r,h/h)]r,j+aRr,hU3OAR181r,h2Gh3h4hNh5Ub1093r,h"}r,h7Nubh)r,}r,(h UCell Envelope Biosynthesisr,h }r,(j>Gj)G?jCGjU*G?h)r,}r,(hNhNhUAcetoacetyl-ACPr,h}r,hUactACP_cr,hUEhJhGhh)r,}r,(hNhU C15H25N2O9PRSr,h}r,h"}r,h$}r,(UCKUHKUOK UNKUPKUSKURKuhj,ubh&Uch"}r,h(h)]Rr,ubGuhNhU33-oxoacyl-[acyl-carrier-protein] reductase (n-C4:0)r,h,G@@h-G@h}r,h/h)]r,j+aRr,hU3OAR40r,h2Gh3h4hNh5Ub1093r,h"}r,h7Nubh)r,}r,(h UCell Envelope Biosynthesisr,h }r,(jCGj)G?h)r,}r,(hNhNhU$3-Oxohexanoyl-[acyl-carrier protein]r,h}r,hU 3ohexACP_cr,hUEhJhGhh)r,}r,(hNhU C17H29N2O9PRSr,h}r,h"}r,h$}r,(UCKUHKUOK UNKUPKUSKURKuhj,ubh&Uch"}r,h(h)]Rr,ubGj*G?j>GuhNhU33-oxoacyl-[acyl-carrier-protein] reductase (n-C6:0)r,h,G@@h-G@h}r,h/h)]r,j+aRr,hU3OAR60r,h2Gh3h4hNh5Ub1093r,h"}r,h7Nubh)r,}r,(h UCell Envelope Biosynthesisr,h }r,(j>Gj)G?h)r,}r,(hNhNhU$3-Oxooctanoyl-[acyl-carrier protein]r,h}r,hU 3ooctACP_cr,hUEhJhGhh)r,}r,(hNhU C19H33N2O9PRSr,h}r,h"}r,h$}r,(UCKUHK!UOK UNKUPKUSKURKuhj,ubh&Uch"}r,h(h)]Rr,ubGjCGj*G?uhNhU33-oxoacyl-[acyl-carrier-protein] reductase (n-C8:0)r,h,G@@h-G@h}r-h/h)]r-j+aRr-hU3OAR80r-h2Gh3h4hNh5Ub1093r-h"}r-h7Nubh)r-}r-(h UCell Envelope Biosynthesisr-h }r -(h)r -}r -(hNhNhUCO2r -h}r -hUco2_cr-hUEhKhGhh)r-}r-(hNhUCO2r-h}r-h"}r-h$}r-(UCKUOKuhj-ubh&Uch"}r-h(h)]Rr-ubG?j+G?h)r-}r-(hNhNhUOctanoyl-ACP (n-C8:0ACP)r-h}r-hUocACP_cr-hUEhJhGhh)r-}r-(hNhU C19H35N2O8PRSr-h}r-h"}r -h$}r!-(UCKUHK#UOKUNKUPKUSKURKuhj-ubh&Uch"}r"-h(h)]Rr#-ubGj>Gh)r$-}r%-(hNhNhUacyl carrier proteinr&-h}r'-hUACP_cr(-hUEhJhGhh)r)-}r*-(hNhU C11H21N2O7PRSr+-h}r,-h"}r--h$}r.-(UCK UHKUOKUNKUPKUSKURKuhj+-ubh&Uch"}r/-h(h)]Rr0-ubG?h)r1-}r2-(hNhNhUMalonyl-[acyl-carrier protein]r3-h}r4-hUmalACP_cr5-hUEhJhGhh)r6-}r7-(hNhUC14H22N2O10PRSr8-h}r9-h"}r:-h$}r;-(UCKUHKUOK UNKUPKUSKURKuhj8-ubh&Uch"}r<-h(h)]Rr=-ubGuhNhU33-oxoacyl-[acyl-carrier-protein] synthase (n-C10:0)r>-h,G@@h-Gh}r?-h/h)]r@-(j!)rA-}rB-(hNj!KhNhUb1095rC-h}rD-j!hjC-hNhNj!Kh&Nh"}rE-j!U+h(h)]RrF-ubj!)rG-}rH-(hNj!KhNhUb2323rI-h}rJ-j!hjI-hNhNj!Kh&Nh"}rK-j!U+h(h)]RrL-ubeRrM-hU3OAS100rN-h2Gh3h4hNh5U(b2323 or b1095)rO-h"}rP-h7Nubh)rQ-}rR-(h UCell Envelope BiosynthesisrS-h }rT-(j1-Gj,G?j$-G?j>Gj -G?h)rU-}rV-(hNhNhUDecanoyl-ACP (n-C10:0ACP)rW-h}rX-hUdcaACP_crY-hUEhJhGhh)rZ-}r[-(hNhU C21H39N2O8PRSr\-h}r]-h"}r^-h$}r_-(UCKUHK'UOKUNKUPKUSKURKuhj\-ubh&Uch"}r`-h(h)]Rra-ubGuhNhU33-oxoacyl-[acyl-carrier-protein] synthase (n-C12:0)rb-h,G@@h-Gh}rc-h/h)]rd-(jA-jG-eRre-hU3OAS120rf-h2Gh3h4hNh5U(b1095 or b2323)rg-h"}rh-h7Nubh)ri-}rj-(h UCell Envelope Biosynthesisrk-h }rl-(h)rm-}rn-(hNhNhU0cis-dec-3-enoyl-[acyl-carrier protein] (n-C10:1)ro-h}rp-hU cdec3eACP_crq-hUEhJhGhh)rr-}rs-(hNhU C21H37N2O8PRSrt-h}ru-h"}rv-h$}rw-(UCKUHK%UOKUNKUPKUSKURKuhjt-ubh&Uch"}rx-h(h)]Rry-ubGj1-Gj>Gj$-G?j,G?j -G?uhNhU33-oxoacyl-[acyl-carrier-protein] synthase (n-C12:1)rz-h,G@@h-Gh}r{-h/h)]r|-jG-aRr}-hU3OAS121r~-h2Gh3h4hNh5Ub2323r-h"}r-h7Nubh)r-}r-(h UCell Envelope Biosynthesisr-h }r-(j1-Gj>Gj$-G?j2,G?h)r-}r-(hNhNhUDodecanoyl-ACP (n-C12:0ACP)r-h}r-hU ddcaACP_cr-hUEhJhGhh)r-}r-(hNhU C23H43N2O8PRSr-h}r-h"}r-h$}r-(UCKUHK+UOKUNKUPKUSKURKuhj-ubh&Uch"}r-h(h)]Rr-ubGj -G?uhNhU33-oxoacyl-[acyl-carrier-protein] synthase (n-C14:0)r-h,G@@h-Gh}r-h/h)]r-(jA-jG-eRr-hU3OAS140r-h2Gh3h4hNh5U(b2323 or b1095)r-h"}r-h7Nubh)r-}r-(h UCell Envelope Biosynthesisr-h }r-(jJ,G?j -G?j$-G?j>Gh)r-}r-(hNhNhU2cis-dodec-5-enoyl-[acyl-carrier protein] (n-C12:1)r-h}r-hU cddec5eACP_cr-hUEhJhGhh)r-}r-(hNhU C23H41N2O8PRSr-h}r-h"}r-h$}r-(UCKUHK)UOKUNKUPKUSKURKuhj-ubh&Uch"}r-h(h)]Rr-ubGj1-GuhNhU33-oxoacyl-[acyl-carrier-protein] synthase (n-C14:1)r-h,G@@h-Gh}r-h/h)]r-jG-aRr-hU3OAS141r-h2Gh3h4hNh5Ub2323r-h"}r-h7Nubh)r-}r-(h UCell Envelope Biosynthesisr-h }r-(jb,G?h)r-}r-(hNhNhUMyristoyl-ACP (n-C14:0ACP)r-h}r-hU myrsACP_cr-hUEhJhGhh)r-}r-(hNhU C25H47N2O8PRSr-h}r-h"}r-h$}r-(UCKUHK/UOKUNKUPKUSKURKuhj-ubh&Uch"}r-h(h)]Rr-ubGj$-G?j>Gj1-Gj -G?uhNhU33-oxoacyl-[acyl-carrier-protein] synthase (n-C16:0)r-h,G@@h-Gh}r-h/h)]r-(jA-jG-eRr-hU3OAS160r-h2Gh3h4hNh5U(b2323 or b1095)r-h"}r-h7Nubh)r-}r-(h UCell Envelope Biosynthesisr-h }r-(j1-Gjz,G?j>Gj$-G?h)r-}r-(hNhNhU5cis-tetradec-7-enoyl-[acyl-carrier protein] (n-C14:1)r-h}r-hUtdeACP_cr-hUEhJhGhh)r-}r-(hNhU C25H45N2O8PRSr-h}r-h"}r-h$}r-(UCKUHK-UOKUNKUPKUSKURKuhj-ubh&Uch"}r-h(h)]Rr-ubGj -G?uhNhU33-oxoacyl-[acyl-carrier-protein] synthase (n-C16:1)r-h,G@@h-Gh}r-h/h)]r-jG-aRr-hU3OAS161r-h2Gh3h4hNh5Ub2323r-h"}r-h7Nubh)r-}r-(h UCell Envelope Biosynthesisr-h }r-(j1-Gj$-G?j,G?j>Gh)r-}r-(hNhNhUPalmitoyl-ACP (n-C16:0ACP)r-h}r-hU palmACP_cr-hUEhJhGhh)r-}r-(hNhU C27H51N2O8PRSr-h}r-h"}r-h$}r-(UCKUHK3UOKUNKUPKUSKURKuhj-ubh&Uch"}r-h(h)]Rr-ubGj -G?uhNhU33-oxoacyl-[acyl-carrier-protein] synthase (n-C18:0)r-h,G@@h-Gh}r-h/h)]r-(jA-jG-eRr-hU3OAS180r-h2Gh3h4hNh5U(b1095 or b2323)r-h"}r-h7Nubh)r-}r-(h UCell Envelope Biosynthesisr-h }r-(j,G?j1-Gh)r-}r-(hNhNhU4cis-hexadec-9-enoyl-[acyl-carrier protein] (n-C16:1)r-h}r.hUhdeACP_cr.hUEhJhGhh)r.}r.(hNhU C27H49N2O8PRSr.h}r.h"}r.h$}r.(UCKUHK1UOKUNKUPKUSKURKuhj.ubh&Uch"}r.h(h)]Rr .ubGj$-G?j>Gj -G?uhNhU33-oxoacyl-[acyl-carrier-protein] synthase (n-C18:1)r .h,G@@h-Gh}r .h/h)]r .jA-aRr .hU3OAS181r.h2Gh3h4hNh5Ub1095r.h"}r.h7Nubh)r.}r.(h UCell Envelope Biosynthesisr.h }r.(h)r.}r.(hNhNhUButyryl-ACP (n-C4:0ACP)r.h}r.hUbutACP_cr.hUEhJhGhh)r.}r.(hNhU C15H27N2O8PRSr.h}r.h"}r.h$}r.(UCKUHKUOKUNKUPKUSKURKuhj.ubh&Uch"}r .h(h)]Rr!.ubGj1-Gj$-G?j>Gj,G?j -G?uhNhU23-oxoacyl-[acyl-carrier-protein] synthase (n-C6:0)r".h,G@@h-Gh}r#.h/h)]r$.(jA-jG-eRr%.hU3OAS60r&.h2Gh3h4hNh5U(b1095 or b2323)r'.h"}r(.h7Nubh)r).}r*.(h UCell Envelope Biosynthesisr+.h }r,.(j -G?j>Gj$-G?h)r-.}r..(hNhNhUHexanoyl-ACP (n-C6:0ACP)r/.h}r0.hUhexACP_cr1.hUEhJhGhh)r2.}r3.(hNhU C17H31N2O8PRSr4.h}r5.h"}r6.h$}r7.(UCKUHKUOKUNKUPKUSKURKuhj4.ubh&Uch"}r8.h(h)]Rr9.ubGj,G?j1-GuhNhU23-oxoacyl-[acyl-carrier-protein] synthase (n-C8:0)r:.h,G@@h-Gh}r;.h/h)]r<.(jA-jG-eRr=.hU3OAS80r>.h2Gh3h4hNh5U(b2323 or b1095)r?.h"}r@.h7Nubh)rA.}rB.(h UAlternate Carbon MetabolismrC.h }rD.(h)rE.}rF.(hNhNhU3-Oxoadipyl-CoArG.h}rH.hU oxadpcoa_crI.hUEhJhGhh)rJ.}rK.(hNhUC27H37N7O20P3SrL.h}rM.h"}rN.h$}rO.(UCKUHK%UOKUNKUPKUSKuhjL.ubh&Uch"}rP.h(h)]RrQ.ubGjG?jGjG?uhNhU3-oxoadipyl-CoA thiolaserR.h,G@@h-Gh}rS.h/h)]rT.j!)rU.}rV.(hNj!KhNhUb1397rW.h}rX.j!hjW.hNhNj!Kh&Nh"}rY.j!U+h(h)]RrZ.ubaRr[.hU3OXCOATr\.h2Gh3h4hNh5jW.h"}r].h7Nubh)r^.}r_.(h UMurein Recyclingr`.h }ra.(j Gj>G?h)rb.}rc.(hNhNhU3L-alanine-D-glutamate-meso-2,6-diaminoheptanedioaterd.h}re.hULalaDgluMdap_crf.hUEhJhGhh)rg.}rh.(hNhU C15H25N4O8ri.h}rj.h"}rk.h$}rl.(UHKUCKUOKUNKuhji.ubh&Uch"}rm.h(h)]Rrn.ubG?j-G?h)ro.}rp.(hNhNhU3L-alanine-D-glutamate-meso-2,6-diaminoheptanedioaterq.h}rr.hULalaDgluMdap_prs.hUEhJhGhh)rt.}ru.(hNhU C15H25N4O8rv.h}rw.h"}rx.h$}ry.(UHKUCKUOKUNKuhjv.ubh&Uph"}rz.h(h)]Rr{.ubGj4GjG?uhNhU>tripeptide (LalaDgluMdap) transport via ABC system (periplasm)r|.h,G@@h-Gh}r}.h/h)]r~.(j!)r.}r.(hNj!KhNhUb1247r.h}r.j!hj.hNhNj!Kh&Nh"}r.j!U+h(h)]Rr.ubj!)r.}r.(hNj!KhNhUb1245r.h}r.j!hj.hNhNj!Kh&Nh"}r.j!U+h(h)]Rr.ubj!)r.}r.(hNj!KhNhUb1329r.h}r.j!hj.hNhNj!Kh&Nh"}r.j!U+h(h)]Rr.ubj!)r.}r.(hNj!KhNhUb1246r.h}r.j!hj.hNhNj!Kh&Nh"}r.j!U+h(h)]Rr.ubj!)r.}r.(hNj!KhNhUb1244r.h}r.j!hj.hNhNj!Kh&Nh"}r.j!U+h(h)]Rr.ubeRr.hU 3PEPTabcppr.h2Gh3h4hNh5U/(b1329 and b1244 and b1245 and b1246 and b1247)r.h"}r.h7Nubh)r.}r.(h UTransport, Outer Membrane Porinr.h }r.(j3Gjo.G?uhNhUNLalaDgluMdap (tripeptide) transport via diffusion (extracellular to periplasm)r.h,G@@h-G@h}r.h/h)]r.(j!j!j!j!eRr.hU3PEPTtexr.h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r.h"}r.h7Nubh)r.}r.(h UTransport, Outer Membrane Porinr.h }r.(j #G?jGuhNhU93UMP transport via diffusion (extracellular to periplasm)r.h,G@@h-G@h}r.h/h)]r.(j!j!j!j!eRr.hU3UMPtexr.h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r.h"}r.h7Nubh)r.}r.(h UNitrogen Metabolismr.h }r.(h)r.}r.(hNhNhUDopaminer.h}r.hUdopa_pr.hUEhKhGhh)r.}r.(hNhUC8H12NO2r.h}r.h"}r.h$}r.(UHK UCKUOKUNKuhj.ubh&Uph"}r.h(h)]Rr.ubGj(G?h)r.}r.(hNhNhUHydrogen peroxider.h}r.hUh2o2_pr.hUEhKhGhh)r.}r.(hNhUH2O2r.h}r.h"}r.h$}r.(UHKUOKuhj.ubh&Uph"}r.h(h)]Rr.ubG?h)r.}r.(hNhNhUAmmoniumr.h}r.hUnh4_pr.hUEhKhGhh)r.}r.(hNhUH4Nr.h}r.h"}r.h$}r.(UHKUNKuhj.ubh&Uph"}r.h(h)]Rr.ubG?j#Gh)r.}r.(hNhNhUO2r.h}r.hUo2_pr.hUEhKhGhh)r.}r.(hNhUO2r.h}r.h"}r.h$}r.UOKshj.ubh&Uph"}r.h(h)]Rr.ubGuhNhUV4-(2-Aminoethyl)-1,2-benzenediol:oxygen oxidoreductase(deaminating)(flavin-containing)r.h,G@@h-Gh}r.h/h)]r.j!)r.}r.(hNj!KhNhUb1386r.h}r.j!hj.hNhNj!Kh&Nh"}r.j!U+h(h)]Rr.ubaRr.hU 42A12BOOXppr.h2Gh3h4hNh5j.h"}r.h7Nubh)r.}r.(h UTransport, Outer Membrane Porinr.h }r.(h)r.}r/(hNhNhU4-Hydroxyphenylacetaldehyder/h}r/hU 4hoxpacd_pr/hUEhKhGhh)r/}r/(hNhUC8H8O2r/h}r/h"}r/h$}r /(UHKUCKUOKuhj/ubh&Uph"}r /h(h)]Rr /ubG?jGuhNhUP4-hydroxyphenylacetaldehyde transport via diffusion (extracellular to periplasm)r /h,G@@h-G@h}r /h/h)]r/(j!j!j!j!eRr/hU 4HOXPACDtexr/h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r/h"}r/h7Nubh)r/}r/(h U*Cofactor and Prosthetic Group Biosynthesisr/h }r/(j4Gh)r/}r/(hNhNhU4-Hydroxy-L-threoniner/h}r/hU4hthr_cr/hUEhKhGhh)r/}r/(hNhUC4H9NO4r/h}r/h"}r /h$}r!/(UHK UCKUOKUNKuhj/ubh&Uch"}r"/h(h)]Rr#/ubG?h)r$/}r%/(hNhNhUO-Phospho-4-hydroxy-L-threoniner&/h}r'/hUphthr_cr(/hUEhJhGhh)r)/}r*/(hNhUC4H8NO7Pr+/h}r,/h"}r-/h$}r./(UHKUCKUPKUOKUNKuhj+/ubh&Uch"}r//h(h)]Rr0/ubGjG?uhNhU4-Hydroxy-L-threonine synthaser1/h,G@@h-Gh}r2/h/h)]r3/j!)r4/}r5/(hNj!KhNhUb0004r6/h}r7/j!hj6/hNhNj!Kh&Nh"}r8/j!U+h(h)]Rr9/ubaRr:/hU4HTHRSr;/h2Gh3h4hNh5j6/h"}r/(h UMurein Recyclingr?/h }r@/(j4Gh)rA/}rB/(hNhNhU=L-alanine-D-glutamate-meso-2,6-diaminoheptanedioate-D-alaninerC/h}rD/hULalaDgluMdapDala_crE/hUEhJhGhh)rF/}rG/(hNhU C18H30N5O9rH/h}rI/h"}rJ/h$}rK/(UHKUCKUOK UNKuhjH/ubh&Uch"}rL/h(h)]RrM/ubGjb.G?h)rN/}rO/(hNhNhU D-AlaninerP/h}rQ/hUala__D_crR/hUEhKhGhh)rS/}rT/(hNhUC3H7NO2rU/h}rV/h"}rW/h$}rX/(UHKUCKUOKUNKuhjU/ubh&Uch"}rY/h(h)]RrZ/ubG?uhNhU!tetrapeptide L,D-carboxypeptidaser[/h,G@@h-Gh}r\/h/h)]r]/j!)r^/}r_/(hNj!KhNhUb1192r`/h}ra/j!hj`/hNhNj!Kh&Nh"}rb/j!U+h(h)]Rrc/ubaRrd/hU4PCPre/h2Gh3h4hNh5j`/h"}rf/h7Nubh)rg/}rh/(h UMurein Recyclingri/h }rj/(h)rk/}rl/(hNhNhU=L-alanine-D-glutamate-meso-2,6-diaminoheptanedioate-D-alaninerm/h}rn/hULalaDgluMdapDala_pro/hUEhJhGhh)rp/}rq/(hNhU C18H30N5O9rr/h}rs/h"}rt/h$}ru/(UHKUCKUOK UNKuhjr/ubh&Uph"}rv/h(h)]Rrw/ubGj#Gjo.G?h)rx/}ry/(hNhNhU D-Alaninerz/h}r{/hUala__D_pr|/hUEhKhGhh)r}/}r~/(hNhUC3H7NO2r/h}r/h"}r/h$}r/(UHKUCKUOKUNKuhj/ubh&Uph"}r/h(h)]Rr/ubG?uhNhU-tetrapeptide L,D-carboxypeptidase (periplasm)r/h,G@@h-Gh}r/h/h)]Rr/hU4PCPppr/h2Gh3h4hNh5Uh"}r/h7Nubh)r/}r/(h UMurein Recyclingr/h }r/(jA/G?j>G?j-G?jk/Gj GjG?j4GuhNhUDtetrapeptide (LalaDgluMdapDala) transport via ABC system (periplasm)r/h,G@@h-Gh}r/h/h)]r/(j.j.j!)r/}r/(hNj!KhNhUb1243r/h}r/j!hj/hNhNj!Kh&Nh"}r/j!U+h(h)]Rr/ubj.j.eRr/hU 4PEPTabcppr/h2Gh3h4hNh5U/(b1243 and b1244 and b1245 and b1246 and b1247)r/h"}r/h7Nubh)r/}r/(h UTransport, Outer Membrane Porinr/h }r/(jHGjk/G?uhNhUTLalaDgluMdapDala (pentapeptide) transport via diffusion (extracellular to periplasm)r/h,G@@h-G@h}r/h/h)]r/(j!j!j!j!eRr/hU4PEPTtexr/h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r/h"}r/h7Nubh)r/}r/(h UAlternate Carbon Metabolismr/h }r/(jCGj)G?h)r/}r/(hNhNhU5-Dehydro-D-gluconater/h}r/hU5dglcn_cr/hUEhJhGhh)r/}r/(hNhUC6H9O7r/h}r/h"}r/h$}r/(UHK UCKUOKuhj/ubh&Uch"}r/h(h)]Rr/ubGj>Gj(G?uhNhU5-dehydro-D-gluconate reductaser/h,G@@h-G@h}r/h/h)]r/j!)r/}r/(hNj!KhNhUb4266r/h}r/j!hj/hNhNj!Kh&Nh"}r/j!U+h(h)]Rr/ubaRr/hU5DGLCNRr/h2Gh3h4hNh5j/h"}r/h7Nubh)r/}r/(h UTransport, Inner Membraner/h }r/(j"Gj/G?j>G?h)r/}r/(hNhNhU5-Dehydro-D-gluconater/h}r/hU5dglcn_pr/hUEhJhGhh)r/}r/(hNhUC6H9O7r/h}r/h"}r/h$}r/(UHK UCKUOKuhj/ubh&Uph"}r/h(h)]Rr/ubGuhNhUJ5-Dehydro-D-gluconate transport via proton symport, reversible (periplasm)r/h,G@@h-G@h}r/h/h)]r/j!)r/}r/(hNj!KhNhUb4265r/h}r/j!hj/hNhNj!Kh&Nh"}r/j!U+h(h)]Rr/ubaRr/hU 5DGLCNt2rppr/h2Gh3h4hNh5j/h"}r/h7Nubh)r/}r/(h UTransport, Outer Membrane Porinr/h }r/(j/G?jGuhNhUJ5-Dehydro-D-gluconate transport via diffusion (extracellular to periplasm)r/h,G@@h-G@h}r/h/h)]r/(j!j!j!j!eRr/hU 5DGLCNtexr/h2Gh3h4hNh5U"(b0241 or b0929 or b2215 or b1377)r/h"}r/h7Nubh)r/}r/(h U*Cofactor and Prosthetic Group Biosynthesisr/h }r/(h)r/}r/(hNhNhU5'-Deoxyadenosiner/h}r/hUdad__5_cr/hUEhKhGhh)r/}r/(hNhU C10H13N5O3r/h}r/h"}r/h$}r/(UHK UCK UOKUNKuhj/ubh&Uch"}r/h(h)]Rr/ubGj4Gh;G?h)r/}r/(hNhNhUAdeniner/h}r/hUade_cr0hUEhKhGhh)r0}r0(hNhUC5H5N5r0h}r0h"}r0h$}r0(UHKUCKUNKuhj0ubh&Uch"}r0h(h)]Rr0ubG?uhNhU5'-deoxyadenosine nuclosidaser 0h,G@@h-Gh}r 0h/h)]r 0j!)r 0}r 0(hNj!KhNhUb0159r0h}r0j!hj0hNhNj!Kh&Nh"}r0j!U+h(h)]Rr0ubaRr0hU5DOANr0h2Gh3h4hNh5j0h"}r0h7Nubh)r0}r0(h UTransport, Outer Membrane Porinr0h }r0(j Gh)r0}r0(hNhNhU5-Methylthio-D-riboser0h}r0hU5mtr_pr0hUEhKhGhh)r0}r0(hNhUC6H12O4Sr 0h}r!0h"}r"0h$}r#0(UHK UCKUSKUOKuhj 0ubh&Uph"}r$0h(h)]Rr%0ubG?uhNhUQ5-Methylthio-D-ribose transport via proton diffusion (extracellular to periplasm)r&0h,G@@h-G@h}r'0h/h)]r(0(j!j!j!j!eRr)0hU5MTRtexr*0h2Gh3h4hNh5U"(b1377 or b0929 or b2215 or b0241)r+0h"}r,0h7Nubh)r-0}r.0(h UTransport, Inner Membraner/0h }r00(h)r10}r20(hNhNhU5-Methylthio-D-riboser30h}r40hU5mtr_cr50hUEhKhGhh)r60}r70(hNhUC6H12O4Sr80h}r90h"}r:0h$}r;0(UHK UCKUSKUOKuhj80ubh&Uch"}r<0h(h)]Rr=0ubGj>Gj0G?j"G?uhNhU>5-Methylthio-D-ribose transport via proton symport (periplasm)r>0h,G@@h-Gh}r?0h/h)]Rr@0hU5MTRtpprA0h2Gh3h4hNh5Uh"}rB0h7Nubh)rC0}rD0(h UAlternate Carbon MetabolismrE0h }rF0(h)rG0}rH0(hNhNhUD-Ribulose 5-phosphaterI0h}rJ0hU ru5p__D_crK0hUEhJhGhh)rL0}rM0(hNhUC5H9O8PrN0h}rO0h"}rP0h$}rQ0(UHK UCKUOKUPKuhjN0ubh&Uch"}rR0h(h)]RrS0ubGh)rT0}rU0(hNhNhUD-Arabinose 5-phosphaterV0h}rW0hUara5p_crX0hUEhJhGhh)rY0}rZ0(hNhUC5H9O8Pr[0h}r\0h"}r]0h$}r^0(UHK UCKUOKUPKuhj[0ubh&Uch"}r_0h(h)]Rr`0ubG?uhNhUarabinose-5-phosphate isomerasera0h,G@@h-G@h}rb0h/h)]rc0(j!)rd0}re0(hNj!KhNhUb3197rf0h}rg0j!hjf0hNhNj!Kh&Nh"}rh0j!U+h(h)]Rri0ubj!)rj0}rk0(hNj!KhNhUb2708rl0h}rm0j!hjl0hNhNj!Kh&Nh"}rn0j!U+h(h)]Rro0ubeRrp0hUA5PISOrq0h2Gh3h4hNh5U(b3197 or b2708)rr0h"}rs0h7Nubh)rt0}ru0(h UCell Envelope Biosynthesisrv0h }rw0(j Gj-G?j$-GjTG?j%G?j%GuhNhU0acyl-[acyl-carrier-protein] synthetase (n-C14:0)rx0h,G@@h-Gh}ry0h/h)]rz0(j!)r{0}r|0(hNj!KhNhUb1094r}0h}r~0j!hj}0hNhNj!Kh&Nh"}r0j!U+h(h)]Rr0ubj%eRr0hUAACPS1r0h2Gh3h4hNh5U(b2836 and b1094)r0h"}r0h7Nubh)r0}r0(h UCell Envelope Biosynthesisr0h }r0(j Gj$-Gj-G?j%G?jTG?j&GuhNhU1acyl-[acyl-carrier-protein] synthetase (n-C14:1)r0h,G@@h-Gh}r0h/h)]r0(j%j{0eRr0hUAACPS2r0h2Gh3h4hNh5U(b2836 and b1094)r0h"}r0h7Nubh)r0}r0(h UCell Envelope Biosynthesisr0h }r0(j Gj$-GjTG?j-G?j%G?j&GuhNhU1acyl-[acyl-carrier-protein] synthetase (n-C16:0)r0h,G@@h-Gh}r0h/h)]r0(j%j{0eRr0hUAACPS3r0h2Gh3h4hNh5U(b2836 and b1094)r0h"}r0h7Nubh)r0}r0(h UCell Envelope Biosynthesisr0h }r0(j Gj7&Gj-G?j$-GjTG?j%G?uhNhU1acyl-[acyl-carrier-protein] synthetase (n-C16:1)r0h,G@@h-Gh}r0h/h)]r0(j{0j%eRr0hUAACPS4r0h2Gh3h4hNh5U(b2836 and b1094)r0h"}r0h7Nubh)r0}r0(h UCell Envelope Biosynthesisr0h }r0(j Gjt&Gh)r0}r0(hNhNhU5cis-octadec-11-enoyl-[acyl-carrier protein] (n-C18:1)r0h}r0hU octeACP_cr0hUEhJhGhh)r0}r0(hNhU C29H53N2O8PRSr0h}r0h"}r0h$}r0(UCKUHK5UOKUNKUPKUSKURKuhj0ubh&Uch"}r0h(h)]Rr0ubG?j$-GjTG?j%G?uhNhU1acyl-[acyl-carrier-protein] synthetase (n-C18:1)r0h,G@@h-Gh}r0h/h)]r0(j%j{0eRr0hUAACPS5r0h2Gh3h4hNh5U(b2836 and b1094)r0h"}r0h7Nubh)r0}r0(h UCell Envelope Biosynthesisr0h }r0(j Gh)r0}r0(hNhNhUOctadecanoyl-ACP (n-C18:0ACP)r0h}r0hU ocdcaACP_cr0hUEhJhGhh)r0}r0(hNhU C29H55N2O8PRSr0h}r0h"}r0h$}r0(UCKUHK7UOKUNKUPKUSKURKuhj0ubh&Uch"}r0h(h)]Rr0ubG?jTG?j\&Gj$-Gj%G?uhNhU1acyl-[acyl-carrier-protein] synthetase (n-C18:0)r0h,G@@h-Gh}r0h/h)]r0(j{0j%eRr0hUAACPS6r0h2Gh3h4hNh5U(b2836 and b1094)r0h"}r0h7Nubh)r0}r0(h UCell Envelope Biosynthesisr0h }r0(j Gj-G?j$-Gj%G?jTG?j%GuhNhU1acyl-[acyl-carrier-protein] synthetase (n-C12:0)r0h,G@@h-Gh}r0h/h)]r0(j{0j%eRr0hUAACPS7r0h2Gh3h4hNh5U(b2836 and b1094)r0h"}r0h7Nubh)r0}r0(h UCell Envelope Biosynthesisr0h }r0(j Gj$-Gh)r0}r0(hNhNhUDecanoate (n-C10:0)r0h}r0hUdca_cr0hUEhJhGhh)r0}r0(hNhUC10H19O2r0h}r0h"}r0h$}r0(UHKUCK UOKuhj0ubh&Uch"}r0h(h)]Rr0ubGj%G?jTG?jU-G?uhNhU1acyl-[acyl-carrier-protein] synthetase (n-C10:0)r0h,G@@h-Gh}r0h/h)]r0(j{0j%eRr0hUAACPS8r0h2Gh3h4hNh5U(b2836 and b1094)r0h"}r0h7Nubh)r0}r0(h UCell Envelope Biosynthesisr0h }r0(j Gj-G?j$-GjTG?h)r0}r0(hNhNhUoctanoate (n-C8:0)r0h}r1hUocta_cr1hUEhJhGhh)r1}r1(hNhUC8H15O2r1h}r1h"}r1h$}r1(UHKUCKUOKuhj1ubh&Uch"}r1h(h)]Rr 1ubGj%G?uhNhU0acyl-[acyl-carrier-protein] synthetase (n-C8:0)r 1h,G@@h-Gh}r 1h/h)]r 1(j{0j%eRr 1hUAACPS9r1h2Gh3h4hNh5U(b2836 and b1094)r1h"}r1h7Nubh)r1}r1(h UMethylglyoxal Metabolismr1h }r1(h)r1}r1(hNhNhUHydrogen peroxider1h}r1hUh2o2_cr1hUEhKhGhh)r1}r1(hNhUH2O2r1h}r1h"}r1h$}r1(UHKUOKuhj1ubh&Uch"}r 1h(h)]Rr!1ubG?jLG?j*Gh)r"1}r#1(hNhNhU Aminoacetoner$1h}r%1hUaact_cr&1hUEhKhGhh)r'1}r(1(hNhUC3H8NOr)1h}r*1h"}r+1h$}r,1(UHKUCKUOKUNKuhj)1ubh&Uch"}r-1h(h)]Rr.1ubGh)r/1}r01(hNhNhU Methylglyoxalr11h}r21hUmthgxl_cr31hUEhKhGhh)r41}r51(hNhUC3H4O2r61h}r71h"}r81h$}r91(UHKUCKUOKuhj61ubh&Uch"}r:1h(h)]Rr;1ubG?j4GuhNhUBAminoacetone:oxygen oxidoreductase(deaminating)(flavin-containing)r<1h,G@@h-Gh}r=1h/h)]Rr>1hUAACTOORr?1h2Gh3h4hNh5Uh"}r@1h7Nubh)rA1}rB1(h UCell Envelope BiosynthesisrC1h }rD1(h)rE1}rF1(hNhNhU(dTDP-4-acetamido-4,6-dideoxy-D-galactoserG1h}rH1hU dtdp4aaddg_crI1hUEhJhGhh)rJ1}rK1(hNhU C18H27N3O15P2rL1h}rM1h"}rN1h$}rO1(UHKUCKUPKUOKUNKuhjL1ubh&Uch"}rP1h(h)]RrQ1ubGh)rR1}rS1(hNhNhUhUndecaprenyl-diphospho N-acetylglucosamine-N-acetylmannosaminuronate-N-acetamido-4,6-dideoxy-D-galactoserT1h}rU1hU unagamuf_crV1hUEhJhGhh)rW1}rX1(hNhUC79H126N3O22P2rY1h}rZ1h"}r[1h$}r\1(UHK~UCKOUPKUOKUNKuhjY1ubh&Uch"}r]1h(h)]Rr^1ubG?h)r_1}r`1(hNhNhUDUndecaprenyl-diphospho-N-acetylglucosamine-N-acetylmannosaminuronatera1h}rb1hU unagamu_crc1hUEhJhGhh)rd1}re1(hNhUC71H113N2O18P2rf1h}rg1h"}rh1h$}ri1(UHKqUCKGUPKUOKUNKuhjf1ubh&Uch"}rj1h(h)]Rrk1ubGj>G?h)rl1}rm1(hNhNhUdTDPrn1h}ro1hUdtdp_crp1hUEhJhGhh)rq1}rr1(hNhU C10H13N2O11P2rs1h}rt1h"}ru1h$}rv1(UHK UCK UPKUOK UNKuhjs1ubh&Uch"}rw1h(h)]Rrx1ubG?uhNhU6dTDP-N-4-acetamido-4,6-dideoxy-D-galactose transferasery1h,G@@h-Gh}rz1h/h)]r{1j!)r|1}r}1(hNj!KhNhUb4481r~1h}r1j!hj~1hNhNj!Kh&Nh"}r1j!U+h(h)]Rr1ubaRr1hUAADDGTr1h2Gh3h4hNh5j~1h"}r1h7Nubh)r1}r1(h UAlternate Carbon Metabolismr1h }r1(h)r1}r1(hNhNhU Maltohexaoser1h}r1hUmalthx_cr1hUEhKhGhh)r1}r1(hNhU C36H62O31r1h}r1h"}r1h$}r1(UHK>UCK$UOKuhj1ubh&Uch"}r1h(h)]Rr1ubG?j""GuhNhU alpha-amylaser1h,G@@h-Gh}r1h/h)]r1j!)r1}r1(hNj!KhNhUb1927r1h}r1j!hj1hNhNj!Kh&Nh"}r1j!U+h(h)]Rr1ubaRr1hUAAMYLr1h2Gh3h4hNh5j1h"}r1h7Nubh)r1}r1(h UAlternate Carbon Metabolismr1h }r1(j/"Gh)r1}r1(hNhNhU Maltohexaoser1h}r1hUmalthx_pr1hUEhKhGhh)r1}r1(hNhU C36H62O31r1h}r1h"}r1h$}r1(UHK>UCK$UOKuhj1ubh&Uph"}r1h(h)]Rr1ubG?uhNhUalpha-amylase (periplasm)r1h,G@@h-Gh}r1h/h)]r1j!)r1}r1(hNj!KhNhUb3571r1h}r1j!hj1hNhNj!Kh&Nh"}r1j!U+h(h)]Rr1ubaRr1hUAAMYLppr1h2Gh3h4hNh5j1h"}r1h7Nubh)r1}r1(h UAlternate Carbon Metabolismr1h }r1(j4Gh)r1}r1(hNhNhUD-Glucose 6-phosphater1h}r1hUg6p_cr1hUEhJhGhh)r1}r1(hNhUC6H11O9Pr1h}r1h"}r1h$}r1(UHK UCKUOK UPKuhj1ubh&Uch"}r1h(h)]Rr1ubG?h)r1}r1(hNhNhU Hydroquinoner1h}r1hUhqn_cr1hUEhKhGhh)r1}r1(hNhUC6H6O2r1h}r1h"}r1h$}r1(UHKUCKUOKuhj1ubh&Uch"}r1h(h)]Rr1ubG?h)r1}r1(hNhNhUArbutin 6-phosphater1h}r1hUarbt6p_cr1hUEhJhGhh)r1}r1(hNhU C12H15O10Pr1h}r1h"}r1h$}r1(UHKUCK UOK UPKuhj1ubh&Uch"}r1h(h)]Rr1ubGuhNhU"Arbutin 6-phosphate glucohydrolaser1h,G@@h-Gh}r1h/h)]r1j!)r1}r1(hNj!KhNhUb2901r1h}r1j!hj1hNhNj!Kh&Nh"}r1j!U+h(h)]Rr1ubaRr1hUAB6PGHr1h2Gh3h4hNh5j1h"}r1h7Nubh)r1}r1(h UArginine and Proline Metabolismr1h }r1(jG?h)r1}r1(hNhNhUSuccinic semialdehyder1h}r1hUsucsal_cr1hUEhJhGhh)r1}r2(hNhUC4H5O3r2h}r2h"}r2h$}r2(UHKUCKUOKuhj2ubh&Uch"}r2h(h)]Rr2ubG?h)r2}r2(hNhNhU2-Oxoglutarater 2h}r 2hUakg_cr 2hUEhJhGhh)r 2}r 2(hNhUC5H4O5r2h}r2h"}r2h$}r2(UHKUCKUOKuhj2ubh&Uch"}r2h(h)]Rr2ubGh)r2}r2(hNhNhU4-Aminobutanoater2h}r2hU4abut_cr2hUEhKhGhh)r2}r2(hNhUC4H9NO2r2h}r2h"}r2h$}r2(UHK UCKUOKUNKuhj2ubh&Uch"}r2h(h)]Rr 2ubGuhNhU4-aminobutyrate transaminaser!2h,G@@h-Gh}r"2h/h)]r#2(j!)r$2}r%2(hNj!KhNhUb1302r&2h}r'2j!hj&2hNhNj!Kh&Nh"}r(2j!U+h(h)]Rr)2ubj!)r*2}r+2(hNj!KhNhUb2662r,2h}r-2j!hj,2hNhNj!Kh&Nh"}r.2j!U+h(h)]Rr/2ubeRr02hUABTAr12h2Gh3h4hNh5U(b2662 or b1302)r22h"}r32h7Nubh)r42}r52(h UArginine and Proline Metabolismr62h }r72(jG?jGj>G@h)r82}r92(hNhNhU4-Aminobutanalr:2h}r;2hU4abutn_cr<2hUEhKhGhh)r=2}r>2(hNhUC4H10NOr?2h}r@2h"}rA2h$}rB2(UHK UCKUOKUNKuhj?2ubh&Uch"}rC2h(h)]RrD2ubGj4Gj2G?uhNhU Aminobutyraldehyde dehydrogenaserE2h,G@@h-Gh}rF2h/h)]rG2j!)rH2}rI2(hNj!KhNhUb1444rJ2h}rK2j!hjJ2hNhNj!Kh&Nh"}rL2j!U+h(h)]RrM2ubaRrN2hUABUTDrO2h2Gh3h4hNh5jJ2h"}rP2h7Nubh)rQ2}rR2(h UTransport, Inner MembranerS2h }rT2(h)rU2}rV2(hNhNhU4-AminobutanoaterW2h}rX2hU4abut_prY2hUEhKhGhh)rZ2}r[2(hNhUC4H9NO2r\2h}r]2h"}r^2h$}r_2(UHK UCKUOKUNKuhj\2ubh&Uph"}r`2h(h)]Rra2ubGj"Gj>G?j2G?uhNhU;4-aminobutyrate transport in via proton symport (periplasm)rb2h,G@@h-Gh}rc2h/h)]rd2j!)re2}rf2(hNj!KhNhUb2663rg2h}rh2j!hjg2hNhNj!Kh&Nh"}ri2j!U+h(h)]Rrj2ubaRrk2hUABUTt2pprl2h2Gh3h4hNh5jg2h"}rm2h7Nubh)rn2}ro2(h UTransport, Outer Membrane Porinrp2h }rq2(jU2G?jGuhNhUD4-aminobutyrate transport via diffusion (extracellular to periplasm)rr2h,G@@h-G@h}rs2h/h)]rt2(j!j!j!j!eRru2hUABUTtexrv2h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rw2h"}rx2h7Nubh)ry2}rz2(h UAlternate Carbon Metabolismr{2h }r|2(h)r}2}r~2(hNhNhUAcetoacetyl-CoAr2h}r2hUaacoa_cr2hUEhJhGhh)r2}r2(hNhUC25H36N7O18P3Sr2h}r2h"}r2h$}r2(UCKUHK$UOKUNKUPKUSKuhj2ubh&Uch"}r2h(h)]Rr2ubG?h)r2}r2(hNhNhU Acetoacetater2h}r2hUacac_cr2hUEhJhGhh)r2}r2(hNhUC4H5O3r2h}r2h"}r2h$}r2(UHKUCKUOKuhj2ubh&Uch"}r2h(h)]Rr2ubGjGh)r2}r2(hNhNhUAcetater2h}r2hUac_cr2hUEhJhGhh)r2}r2(hNhUC2H3O2r2h}r2h"}r2h$}r2(UHKUCKUOKuhj2ubh&Uch"}r2h(h)]Rr2ubG?uhNhU&acetyl-CoA:acetoacetyl-CoA transferaser2h,G@@h-Gh}r2h/h)]r2(j!)r2}r2(hNj!KhNhUb2221r2h}r2j!hj2hNhNj!Kh&Nh"}r2j!U+h(h)]Rr2ubj!)r2}r2(hNj!KhNhUb2222r2h}r2j!hj2hNhNj!Kh&Nh"}r2j!U+h(h)]Rr2ubeRr2hUACACCTr2h2Gh3h4hNh5U(b2221 and b2222)r2h"}r2h7Nubh)r2}r2(h UMembrane Lipid Metabolismr2h }r2(j}2G?jGjG?uhNhUacetyl-CoA C-acetyltransferaser2h,G@@h-G@h}r2h/h)]r2(j!)r2}r2(hNj!KhNhUb2224r2h}r2j!hj2hNhNj!Kh&Nh"}r2j!U+h(h)]Rr2ubj!)r2}r2(hNj!KhNhUb2342r2h}r2j!hj2hNhNj!Kh&Nh"}r2j!U+h(h)]Rr2ubj!)r2}r2(hNj!KhNhUb3845r2h}r2j!hj2hNhNj!Kh&Nh"}r2j!U+h(h)]Rr2ubeRr2hUACACT1rr2h2Gh3h4hNh5U(b2224 or b2342 or b3845)r2h"}r2h7Nubh)r2}r2(h UMembrane Lipid Metabolismr2h }r2(h)r2}r2(hNhNhU Butanoyl-CoAr2h}r2hUbtcoa_cr2hUEhJhGhh)r2}r2(hNhUC25H38N7O17P3Sr2h}r2h"}r2h$}r2(UCKUHK&UOKUNKUPKUSKuhj2ubh&Uch"}r2h(h)]Rr2ubGh)r2}r2(hNhNhU3-Oxohexanoyl-CoAr2h}r2hU3ohcoa_cr2hUEhJhGhh)r2}r2(hNhUC27H40N7O18P3Sr2h}r2h"}r2h$}r2(UCKUHK(UOKUNKUPKUSKuhj2ubh&Uch"}r2h(h)]Rr2ubG?jG?jGuhNhU/acetyl-CoA C-acyltransferase (butanoyl-CoA) (r)r2h,G@@h-G@h}r2h/h)]r2(j2j2eRr2hUACACT2rr2h2Gh3h4hNh5U(b2342 or b3845)r2h"}r2h7Nubh)r2}r2(h UMembrane Lipid Metabolismr2h }r2(jGh)r2}r2(hNhNhU3-Oxooctanoyl-CoAr2h}r3hU3oocoa_cr3hUEhJhGhh)r3}r3(hNhUC29H44N7O18P3Sr3h}r3h"}r3h$}r3(UCKUHK,UOKUNKUPKUSKuhj3ubh&Uch"}r3h(h)]Rr 3ubG?jG?h)r 3}r 3(hNhNhUHexanoyl-CoA (n-C6:0CoA)r 3h}r 3hUhxcoa_cr3hUEhJhGhh)r3}r3(hNhUC27H42N7O17P3Sr3h}r3h"}r3h$}r3(UCKUHK*UOKUNKUPKUSKuhj3ubh&Uch"}r3h(h)]Rr3ubGuhNhU/acetyl-CoA C-acyltransferase (hexanoyl-CoA) (r)r3h,G@@h-G@h}r3h/h)]r3(j2j2eRr3hUACACT3rr3h2Gh3h4hNh5U(b2342 or b3845)r3h"}r3h7Nubh)r3}r3(h UMembrane Lipid Metabolismr 3h }r!3(jGh)r"3}r#3(hNhNhUOctanoyl-CoA (n-C8:0CoA)r$3h}r%3hUoccoa_cr&3hUEhJhGhh)r'3}r(3(hNhUC29H46N7O17P3Sr)3h}r*3h"}r+3h$}r,3(UCKUHK.UOKUNKUPKUSKuhj)3ubh&Uch"}r-3h(h)]Rr.3ubGjG?h)r/3}r03(hNhNhU3-Oxodecanoyl-CoAr13h}r23hU3odcoa_cr33hUEhJhGhh)r43}r53(hNhUC31H48N7O18P3Sr63h}r73h"}r83h$}r93(UCKUHK0UOKUNKUPKUSKuhj63ubh&Uch"}r:3h(h)]Rr;3ubG?uhNhU/acetyl-CoA C-acyltransferase (octanoyl-CoA) (r)r<3h,G@@h-G@h}r=3h/h)]r>3(j2j2eRr?3hUACACT4rr@3h2Gh3h4hNh5U(b2342 or b3845)rA3h"}rB3h7Nubh)rC3}rD3(h UMembrane Lipid MetabolismrE3h }rF3(jGjG?h)rG3}rH3(hNhNhU3-Oxododecanoyl-CoArI3h}rJ3hU 3oddcoa_crK3hUEhJhGhh)rL3}rM3(hNhUC33H52N7O18P3SrN3h}rO3h"}rP3h$}rQ3(UCK!UHK4UOKUNKUPKUSKuhjN3ubh&Uch"}rR3h(h)]RrS3ubG?h)rT3}rU3(hNhNhUDecanoyl-CoA (n-C10:0CoA)rV3h}rW3hUdcacoa_crX3hUEhJhGhh)rY3}rZ3(hNhUC31H50N7O17P3Sr[3h}r\3h"}r]3h$}r^3(UCKUHK2UOKUNKUPKUSKuhj[3ubh&Uch"}r_3h(h)]Rr`3ubGuhNhU/acetyl-CoA C-acyltransferase (decanoyl-CoA) (r)ra3h,G@@h-G@h}rb3h/h)]rc3(j2j2eRrd3hUACACT5rre3h2Gh3h4hNh5U(b2342 or b3845)rf3h"}rg3h7Nubh)rh3}ri3(h UMembrane Lipid Metabolismrj3h }rk3(h)rl3}rm3(hNhNhU3-Oxotetradecanoyl-CoArn3h}ro3hU 3otdcoa_crp3hUEhJhGhh)rq3}rr3(hNhUC35H56N7O18P3Srs3h}rt3h"}ru3h$}rv3(UCK#UHK8UOKUNKUPKUSKuhjs3ubh&Uch"}rw3h(h)]Rrx3ubG?h)ry3}rz3(hNhNhUDodecanoyl-CoA (n-C12:0CoA)r{3h}r|3hU ddcacoa_cr}3hUEhJhGhh)r~3}r3(hNhUC33H54N7O17P3Sr3h}r3h"}r3h$}r3(UCK!UHK6UOKUNKUPKUSKuhj3ubh&Uch"}r3h(h)]Rr3ubGjGjG?uhNhU1acetyl-CoA C-acyltransferase (dodecanoyl-CoA) (r)r3h,G@@h-G@h}r3h/h)]r3(j2j2eRr3hUACACT6rr3h2Gh3h4hNh5U(b2342 or b3845)r3h"}r3h7Nubh)r3}r3(h UMembrane Lipid Metabolismr3h }r3(jGh)r3}r3(hNhNhUTetradecanoyl-CoA (n-C14:0CoA)r3h}r3hUtdcoa_cr3hUEhJhGhh)r3}r3(hNhUC35H58N7O17P3Sr3h}r3h"}r3h$}r3(UCK#UHK:UOKUNKUPKUSKuhj3ubh&Uch"}r3h(h)]Rr3ubGh)r3}r3(hNhNhU3-Oxohexadecanoyl-CoAr3h}r3hU 3ohdcoa_cr3hUEhJhGhh)r3}r3(hNhUC37H60N7O18P3Sr3h}r3h"}r3h$}r3(UCK%UHKUOKUNKUPKUSKuhj3ubh&Uch"}r3h(h)]Rr3ubG?jGuhNhU2acetyl-CoA acyltransferase (hexadecanoyl-CoA), (r)r3h,G@@h-G@h}r3h/h)]r3(j2j2eRr3hUACACT8rr3h2Gh3h4hNh5U(b2342 or b3845)r3h"}r3h7Nubh)r3}r3(h UTransport, Inner Membraner3h }r3(h)r3}r3(hNhNhU Acetoacetater3h}r3hUacac_pr3hUEhJhGhh)r3}r3(hNhUC4H5O3r3h}r3h"}r3h$}r3(UHKUCKUOKuhj3ubh&Uph"}r3h(h)]Rr3ubGj2G?j"Gj>G?uhNhU6acetoacetate transport via proton symport (periplasm)r3h,G@@h-G@h}r3h/h)]r3j!)r3}r3(hNj!KhNhUb2223r3h}r3j!hj3hNhNj!Kh&Nh"}r3j!U+h(h)]Rr3ubaRr3hUACACt2ppr3h2Gh3h4hNh5j3h"}r3h7Nubh)r3}r3(h UTransport, Outer Membrane Porinr3h }r3(jGj3G?uhNhUAacetoacetate transport via diffusion (extracellular to periplasm)r3h,G@@h-G@h}r3h/h)]r3(j!j!j!j!eRr3hUACACtexr3h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r3h"}r3h7Nubh)r3}r4(h UPyruvate Metabolismr4h }r4(jG?jGjG?j>G?h)r4}r4(hNhNhU Acetaldehyder4h}r4hUacald_cr4hUEhKhGhh)r4}r 4(hNhUC2H4Or 4h}r 4h"}r 4h$}r 4(UHKUCKUOKuhj 4ubh&Uch"}r4h(h)]Rr4ubGjGuhNhU(acetaldehyde dehydrogenase (acetylating)r4h,G@@h-G@h}r4h/h)]r4(j!)r4}r4(hNj!KhNhUb0351r4h}r4j!hj4hNhNj!Kh&Nh"}r4j!U+h(h)]Rr4ubj!)r4}r4(hNj!KhNhUb1241r4h}r4j!hj4hNhNj!Kh&Nh"}r4j!U+h(h)]Rr4ubeRr4hUACALDr 4h2Gh3h4hNh5U(b0351 or b1241)r!4h"}r"4h7Nubh)r#4}r$4(h UTransport, Outer Membrane Porinr%4h }r&4(h)r'4}r(4(hNhNhU Acetaldehyder)4h}r*4hUacald_pr+4hUEhKhGhh)r,4}r-4(hNhUC2H4Or.4h}r/4h"}r04h$}r14(UHKUCKUOKuhj.4ubh&Uph"}r24h(h)]Rr34ubG?jGuhNhUAacetaldehyde transport via diffusion (extracellular to periplasm)r44h,G@@h-G@h}r54h/h)]r64(j!j!j!j!eRr74hUACALDtexr84h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r94h"}r:4h7Nubh)r;4}r<4(h UTransport, Inner Membraner=4h }r>4(j'4Gj4G?uhNhU-acetaldehyde reversible transport (periplasm)r?4h,G@@h-G@h}r@4h/h)]rA4j!)rB4}rC4(hNj!KhNhUs0001rD4h}rE4j!hjD4hNhNj!Kh&Nh"}rF4j!U+h(h)]RrG4ubaRrH4hUACALDtpprI4h2Gh3h4hNh5jD4h"}rJ4h7Nubh)rK4}rL4(h U2Tyrosine, Tryptophan, and Phenylalanine MetabolismrM4h }rN4(jGh)rO4}rP4(hNhNhU AnthranilaterQ4h}rR4hUanth_crS4hUEhJhGhh)rT4}rU4(hNhUC7H6NO2rV4h}rW4h"}rX4h$}rY4(UHKUCKUOKUNKuhjV4ubh&Uch"}rZ4h(h)]Rr[4ubGjG?h)r\4}r]4(hNhNhUN-Acetylanthranilater^4h}r_4hUacanth_cr`4hUEhJhGhh)ra4}rb4(hNhUC9H8NO3rc4h}rd4h"}re4h$}rf4(UHKUCK UOKUNKuhjc4ubh&Uch"}rg4h(h)]Rrh4ubG?uhNhU)acetyl-CoA:anthranilate acetyltransferaseri4h,G@@h-Gh}rj4h/h)]rk4j!)rl4}rm4(hNj!KhNhUb1463rn4h}ro4j!hjn4hNhNj!Kh&Nh"}rp4j!U+h(h)]Rrq4ubaRrr4hUACANTHATrs4h2Gh3h4hNh5jn4h"}rt4h7Nubh)ru4}rv4(h U*Cofactor and Prosthetic Group Biosynthesisrw4h }rx4(jTG?h)ry4}rz4(hNhNhUAdenosyl cobinamide phosphater{4h}r|4hU adocbip_cr}4hUEhJhGhh)r~4}r4(hNhUC58H83CoN16O14Pr4h}r4h"}r4h$}r4(UCK:UCoKUHKSUOKUNKUPKuhj4ubh&Uch"}r4h(h)]Rr4ubGj>Gh)r4}r4(hNhNhUAdenosine-GDP-cobinamider4h}r4hU agdpcbi_cr4hUEhJhGhh)r4}r4(hNhUC68H95CoN21O21P2r4h}r4h"}r4h$}r4(UCKDUCoKUHK_UOKUNKUPKuhj4ubh&Uch"}r4h(h)]Rr4ubG?jGuhNhU/Adenosyl cobinamide phosphate guanyltransferaser4h,G@@h-Gh}r4h/h)]r4j!)r4}r4(hNj!KhNhUb1993r4h}r4j!hj4hNhNj!Kh&Nh"}r4j!U+h(h)]Rr4ubaRr4hUACBIPGTr4h2Gh3h4hNh5j4h"}r4h7Nubh)r4}r4(h UMembrane Lipid Metabolismr4h }r4(j Gj>G?j-G?jG?jGjG?h)r4}r4(hNhNhU Bicarbonater4h}r4hUhco3_cr4hUEhJhGhh)r4}r4(hNhUCHO3r4h}r4h"}r4h$}r4(UHKUCKUOKuhj4ubh&Uch"}r4h(h)]Rr4ubGuhNhUacetyl-CoA carboxylaser4h,G@@h-Gh}r4h/h)]r4(j!)r4}r4(hNj!KhNhUb3256r4h}r4j!hj4hNhNj!Kh&Nh"}r4j!U+h(h)]Rr4ubj!)r4}r4(hNj!KhNhUb2316r4h}r4j!hj4hNhNj!Kh&Nh"}r4j!U+h(h)]Rr4ubj!)r4}r4(hNj!KhNhUb0185r4h}r4j!hj4hNhNj!Kh&Nh"}r4j!U+h(h)]Rr4ubj!)r4}r4(hNj!KhNhUb3255r4h}r4j!hj4hNhNj!Kh&Nh"}r4j!U+h(h)]Rr4ubeRr4hUACCOACr4h2Gh3h4hNh5U%(b0185 and b2316 and b3255 and b3256)r4h"}r4h7Nubh)r4}r4(h UAlternate Carbon Metabolismr4h }r4(j Gh)r4}r4(hNhNhUPropionate (n-C3:0)r4h}r4hUppa_cr4hUEhJhGhh)r4}r4(hNhUC3H5O2r4h}r4h"}r4h$}r4(UHKUCKUOKuhj4ubh&Uch"}r4h(h)]Rr4ubGh)r4}r4(hNhNhU Propanoyl-CoAr4h}r4hUppcoa_cr4hUEhJhGhh)r4}r4(hNhUC24H36N7O17P3Sr4h}r4h"}r4h$}r4(UCKUHK$UOKUNKUPKUSKuhj4ubh&Uch"}r4h(h)]Rr4ubG?j-G?jG?jGuhNhU acetate-CoA ligase (ADP-forming)r4h,G@@h-Gh}r4h/h)]r4j!)r4}r4(hNj!KhNhUb4069r4h}r4j!hj4hNhNj!Kh&Nh"}r4j!U+h(h)]Rr4ubaRr4hUACCOALr4h2Gh3h4hNh5j4h"}r4h7Nubh)r4}r4(h UAlternate Carbon Metabolismr4h }r4(j#Gh)r4}r4(hNhNhUN-Acetyl-D-galactosaminer4h}r5hUacgal_pr5hUEhKhGhh)r5}r5(hNhUC8H15NO6r5h}r5h"}r5h$}r5(UHKUCKUOKUNKuhj5ubh&Uph"}r5h(h)]Rr 5ubG?h)r 5}r 5(hNhNhU$N-Acetyl-D-galactosamine 1-phosphater 5h}r 5hU acgal1p_pr5hUEhJhGhh)r5}r5(hNhU C8H14NO9Pr5h}r5h"}r5h$}r5(UHKUCKUPKUOK UNKuhj5ubh&Uph"}r5h(h)]Rr5ubGj+G?uhNhU2N-acetyl-D-galactosamine 1-phosphatase (periplasm)r5h,G@@h-Gh}r5h/h)]Rr5hU ACGAL1PPppr5h2Gh3h4hNh5Uh"}r5h7Nubh)r5}r5(h UTransport, Outer Membrane Porinr5h }r5(jGj 5G?uhNhUYN-acetyl-D-galactosamine 1-phosphate transport via diffusion (extracellular to periplasm)r 5h,G@@h-G@h}r!5h/h)]r"5(j!j!j!j!eRr#5hU ACGAL1Ptexr$5h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r%5h"}r&5h7Nubh)r'5}r(5(h UTransport, Outer Membrane Porinr)5h }r*5(jGj4G?uhNhUMN-acetyl-D-galactosamine transport via diffusion (extracellular to periplasm)r+5h,G@@h-G@h}r,5h/h)]r-5(j!j!j!j!eRr.5hUACGALtexr/5h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r05h"}r15h7Nubh)r25}r35(h UAlternate Carbon Metabolismr45h }r55(h)r65}r75(hNhNhUN-Acetyl-D-glucosaminer85h}r95hUacgam_pr:5hUEhKhGhh)r;5}r<5(hNhUC8H15NO6r=5h}r>5h"}r?5h$}r@5(UHKUCKUOKUNKuhj=5ubh&Uph"}rA5h(h)]RrB5ubG?h)rC5}rD5(hNhNhU"N-Acetyl-D-glucosamine 1-phosphaterE5h}rF5hU acgam1p_prG5hUEhJhGhh)rH5}rI5(hNhU C8H14NO9PrJ5h}rK5h"}rL5h$}rM5(UHKUCKUPKUOK UNKuhjJ5ubh&Uph"}rN5h(h)]RrO5ubGj+G?j#GuhNhU0N-acetyl-D-glucosamine 1-phosphatase (periplasm)rP5h,G@@h-Gh}rQ5h/h)]RrR5hU ACGAM1PPpprS5h2Gh3h4hNh5Uh"}rT5h7Nubh)rU5}rV5(h UTransport, Outer Membrane PorinrW5h }rX5(jGjC5G?uhNhUWN-acetyl-D-glucosamine 1-phosphate transport via diffusion (extracellular to periplasm)rY5h,G@@h-G@h}rZ5h/h)]r[5(j!j!j!j!eRr\5hU ACGAM1Ptexr]5h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r^5h"}r_5h7Nubh)r`5}ra5(h UMurein Recyclingrb5h }rc5(j Gj>G?h)rd5}re5(hNhNhU"N-Acetyl-D-glucosamine 6-phosphaterf5h}rg5hU acgam6p_crh5hUEhJhGhh)ri5}rj5(hNhU C8H14NO9Prk5h}rl5h"}rm5h$}rn5(UHKUCKUPKUOK UNKuhjk5ubh&Uch"}ro5h(h)]Rrp5ubG?j-G?h)rq5}rr5(hNhNhUN-Acetyl-D-glucosaminers5h}rt5hUacgam_cru5hUEhKhGhh)rv5}rw5(hNhUC8H15NO6rx5h}ry5h"}rz5h$}r{5(UHKUCKUOKUNKuhjx5ubh&Uch"}r|5h(h)]Rr}5ubGuhNhUN-acetylglucosamine kinaser~5h,G@@h-Gh}r5h/h)]r5j!)r5}r5(hNj!KhNhUb1119r5h}r5j!hj5hNhNj!Kh&Nh"}r5j!U+h(h)]Rr5ubaRr5hUACGAMKr5h2Gh3h4hNh5j5h"}r5h7Nubh)r5}r5(h UCell Envelope Biosynthesisr5h }r5(h)r5}r5(hNhNhUUDP-N-acetyl-D-glucosaminer5h}r5hUuacgam_cr5hUEhJhGhh)r5}r5(hNhU C17H25N3O17P2r5h}r5h"}r5h$}r5(UHKUCKUPKUOKUNKuhj5ubh&Uch"}r5h(h)]Rr5ubGh)r5}r5(hNhNhU+Undecaprenyl diphospho N-acetyl-glucosaminer5h}r5hUunaga_cr5hUEhJhGhh)r5}r5(hNhU C63H103NO12P2r5h}r5h"}r5h$}r5(UHKgUCK?UPKUOK UNKuhj5ubh&Uch"}r5h(h)]Rr5ubG?h)r5}r5(hNhNhUUndecaprenyl phosphater5h}r5hUudcpp_cr5hUEhJhGhh)r5}r5(hNhU C55H89O4Pr5h}r5h"}r5h$}r5(UHKYUCK7UOKUPKuhj5ubh&Uch"}r5h(h)]Rr5ubGh)r5}r5(hNhNhUUMPr5h}r5hUump_cr5hUEhJhGhh)r5}r5(hNhU C9H11N2O9Pr5h}r5h"}r5h$}r5(UHK UCK UPKUOK UNKuhj5ubh&Uch"}r5h(h)]Rr5ubG?uhNhUZUDP-N-acetylglucosamine:undecaprenylphosphate N-acetylglucosamine -1-phosphate transferaser5h,G@@h-Gh}r5h/h)]r5j!)r5}r5(hNj!KhNhUb3784r5h}r5j!hj5hNhNj!Kh&Nh"}r5j!U+h(h)]Rr5ubaRr5hUACGAMTr5h2Gh3h4hNh5j5h"}r5h7Nubh)r5}r5(h UTransport, Inner Membraner5h }r5(j65Gjd5G?h)r5}r5(hNhNhUPhosphoenolpyruvater5h}r5hUpep_cr5hUEhJhGhh)r5}r5(hNhUC3H2O6Pr5h}r5h"}r5h$}r5(UHKUCKUOKUPKuhj5ubh&Uch"}r5h(h)]Rr5ubGh)r5}r5(hNhNhUPyruvater5h}r5hUpyr_cr5hUEhJhGhh)r5}r5(hNhUC3H3O3r5h}r5h"}r5h$}r5(UHKUCKUOKuhj5ubh&Uch"}r5h(h)]Rr5ubG?uhNhU=N-Acetyl-D-glucosamine transport via PEP:Pyr PTS (periplasm)r5h,G@@h-Gh}r5h/h)]r5(j!)r5}r5(hNj!KhNhUb2417r5h}r5j!hj5hNhNj!Kh&Nh"}r5j!U+h(h)]Rr5ubj!)r5}r5(hNj!KhNhUb2416r5h}r5j!hj5hNhNj!Kh&Nh"}r5j!U+h(h)]Rr5ubj!)r5}r5(hNj!KhNhUb1101r5h}r5j!hj5hNhNj!Kh&Nh"}r5j!U+h(h)]Rr6ubj!)r6}r6(hNj!KhNhUb0679r6h}r6j!hj6hNhNj!Kh&Nh"}r6j!U+h(h)]Rr6ubj!)r6}r6(hNj!KhNhUb2415r 6h}r 6j!hj 6hNhNj!Kh&Nh"}r 6j!U+h(h)]Rr 6ubeRr 6hU ACGAptsppr6h2Gh3h4hNh5UF((b2417 and b1101 and b2415 and b2416) or (b0679 and b2415 and b2416))r6h"}r6h7Nubh)r6}r6(h UTransport, Outer Membrane Porinr6h }r6(j65G?jGuhNhUKN-Acetyl-D-glucosamine transport via diffusion (extracellular to periplasm)r6h,G@@h-G@h}r6h/h)]r6(j!j!j!j!eRr6hUACGAtexr6h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r6h"}r6h7Nubh)r6}r6(h UArginine and Proline Metabolismr6h }r6(j Gh)r 6}r!6(hNhNhUN-Acetyl-L-glutamater"6h}r#6hUacglu_cr$6hUEhJhGhh)r%6}r&6(hNhUC7H9NO5r'6h}r(6h"}r)6h$}r*6(UHK UCKUOKUNKuhj'6ubh&Uch"}r+6h(h)]Rr,6ubGh)r-6}r.6(hNhNhUN-Acetyl-L-glutamyl 5-phosphater/6h}r06hUacg5p_cr16hUEhJhGhh)r26}r36(hNhUC7H9NO8Pr46h}r56h"}r66h$}r76(UHK UCKUPKUOKUNKuhj46ubh&Uch"}r86h(h)]Rr96ubG?j-G?uhNhUacetylglutamate kinaser:6h,G@@h-Gh}r;6h/h)]r<6j!)r=6}r>6(hNj!KhNhUb3959r?6h}r@6j!hj?6hNhNj!Kh&Nh"}rA6j!U+h(h)]RrB6ubaRrC6hUACGKrD6h2Gh3h4hNh5j?6h"}rE6h7Nubh)rF6}rG6(h UArginine and Proline MetabolismrH6h }rI6(jGjGj>G?jG?j 6G?uhNhUN-acetylglutamate synthaserJ6h,G@@h-Gh}rK6h/h)]rL6j!)rM6}rN6(hNj!KhNhUb2818rO6h}rP6j!hjO6hNhNj!Kh&Nh"}rQ6j!U+h(h)]RrR6ubaRrS6hUACGSrT6h2Gh3h4hNh5jO6h"}rU6h7Nubh)rV6}rW6(h U*Valine, Leucine, and Isoleucine MetabolismrX6h }rY6(j -G?h)rZ6}r[6(hNhNhU2-Oxobutanoater\6h}r]6hU2obut_cr^6hUEhJhGhh)r_6}r`6(hNhUC4H5O3ra6h}rb6h"}rc6h$}rd6(UHKUCKUOKuhja6ubh&Uch"}re6h(h)]Rrf6ubGj>Gj5Gh)rg6}rh6(hNhNhU(S)-2-Aceto-2-hydroxybutanoateri6h}rj6hU2ahbut_crk6hUEhJhGhh)rl6}rm6(hNhUC6H9O4rn6h}ro6h"}rp6h$}rq6(UHK UCKUOKuhjn6ubh&Uch"}rr6h(h)]Rrs6ubG?uhNhU#2-aceto-2-hydroxybutanoate synthasert6h,G@@h-Gh}ru6h/h)]rv6(j!)rw6}rx6(hNj!KhNhUb3670ry6h}rz6j!hjy6hNhNj!Kh&Nh"}r{6j!U+h(h)]Rr|6ubj!)r}6}r~6(hNj!KhNhUb3671r6h}r6j!hj6hNhNj!Kh&Nh"}r6j!U+h(h)]Rr6ubj!)r6}r6(hNj!KhNhUb0077r6h}r6j!hj6hNhNj!Kh&Nh"}r6j!U+h(h)]Rr6ubj!)r6}r6(hNj!KhNhUb0078r6h}r6j!hj6hNhNj!Kh&Nh"}r6j!U+h(h)]Rr6ubeRr6hUACHBSr6h2Gh3h4hNh5U(((b3670 and b3671) or (b0077 and b0078))r6h"}r6h7Nubh)r6}r6(h UPyruvate Metabolismr6h }r6(j Gj2Gh)r6}r6(hNhNhUAcetyl phosphater6h}r6hUactp_cr6hUEhJhGhh)r6}r6(hNhUC2H3O5Pr6h}r6h"}r6h$}r6(UHKUCKUOKUPKuhj6ubh&Uch"}r6h(h)]Rr6ubG?j-G?uhNhUacetate kinaser6h,G@@h-G@h}r6h/h)]r6(j!)r6}r6(hNj!KhNhUb3115r6h}r6j!hj6hNhNj!Kh&Nh"}r6j!U+h(h)]Rr6ubj!)r6}r6(hNj!KhNhUb2296r6h}r6j!hj6hNhNj!Kh&Nh"}r6j!U+h(h)]Rr6ubj!)r6}r6(hNj!KhNhUb1849r6h}r6j!hj6hNhNj!Kh&Nh"}r6j!U+h(h)]Rr6ubeRr6hUACKrr6h2Gh3h4hNh5U(b3115 or b2296 or b1849)r6h"}r6h7Nubh)r6}r6(h U*Valine, Leucine, and Isoleucine Metabolismr6h }r6(j>Gj5Gh)r6}r6(hNhNhU(S)-2-Acetolactater6h}r6hU alac__S_cr6hUEhJhGhh)r6}r6(hNhUC5H7O4r6h}r6h"}r6h$}r6(UHKUCKUOKuhj6ubh&Uch"}r6h(h)]Rr6ubG?j -G?uhNhUacetolactate synthaser6h,G@@h-Gh}r6h/h)]r6(j6j6j}6jw6eRr6hUACLSr6h2Gh3h4hNh5U(((b3670 and b3671) or (b0077 and b0078))r6h"}r6h7Nubh)r6}r6(h UAlternate Carbon Metabolismr6h }r6(h)r6}r6(hNhNhUN-acetylmuramate 6-phosphater6h}r6hU acmum6p_cr6hUEhJhGhh)r6}r6(hNhU C11H17NO11Pr6h}r6h"}r6h$}r6(UHKUCK UPKUOK UNKuhj6ubh&Uch"}r6h(h)]Rr6ubGjd5G?j4Gh)r6}r6(hNhNhU D-Lactater6h}r6hUlac__D_cr6hUEhJhGhh)r6}r6(hNhUC3H5O3r6h}r6h"}r6h$}r6(UHKUCKUOKuhj6ubh&Uch"}r6h(h)]Rr6ubG?uhNhU&N-acetylmuramate 6-phosphate hydrolaser6h,G@@h-Gh}r6h/h)]r6j!)r6}r6(hNj!KhNhUb2428r6h}r6j!hj6hNhNj!Kh&Nh"}r6j!U+h(h)]Rr6ubaRr6hUACM6PHr6h2Gh3h4hNh5j6h"}r6h7Nubh)r6}r7(h UCell Envelope Biosynthesisr7h }r7(h)r7}r7(hNhNhUUDPr7h}r7hUudp_cr7hUEhJhGhh)r7}r 7(hNhU C9H11N2O12P2r 7h}r 7h"}r 7h$}r 7(UHK UCK UPKUOK UNKuhj 7ubh&Uch"}r7h(h)]Rr7ubG?j>G?j_1G?h)r7}r7(hNhNhU!UDP-N-acetyl-D-mannosaminouronater7h}r7hU uacmamu_cr7hUEhJhGhh)r7}r7(hNhU C17H22N3O18P2r7h}r7h"}r7h$}r7(UHKUCKUPKUOKUNKuhj7ubh&Uch"}r7h(h)]Rr7ubGj5GuhNhU0UDP-N-acetyl-D-mannosaminuronic acid transferaser7h,G@@h-Gh}r7h/h)]r7j!)r 7}r!7(hNj!KhNhUb3794r"7h}r#7j!hj"7hNhNj!Kh&Nh"}r$7j!U+h(h)]Rr%7ubaRr&7hUACMAMUTr'7h2Gh3h4hNh5j"7h"}r(7h7Nubh)r)7}r*7(h UTransport, Inner Membraner+7h }r,7(h)r-7}r.7(hNhNhU"N-Acetyl-D-mannosamine 6-phosphater/7h}r07hU acmanap_cr17hUEhJhGhh)r27}r37(hNhU C8H14NO9Pr47h}r57h"}r67h$}r77(UHKUCKUPKUOK UNKuhj47ubh&Uch"}r87h(h)]Rr97ubG?j5Gh)r:7}r;7(hNhNhUN-Acetyl-D-mannosaminer<7h}r=7hUacmana_pr>7hUEhKhGhh)r?7}r@7(hNhUC8H15NO6rA7h}rB7h"}rC7h$}rD7(UHKUCKUOKUNKuhjA7ubh&Uph"}rE7h(h)]RrF7ubGj5G?uhNhU5N-acetyl-D-mannosamine transport via PTS (periplasm)rG7h,G@@h-Gh}rH7h/h)]rI7(j5j!)rJ7}rK7(hNj!KhNhUb1819rL7h}rM7j!hjL7hNhNj!Kh&Nh"}rN7j!U+h(h)]RrO7ubj!)rP7}rQ7(hNj!KhNhUb1817rR7h}rS7j!hjR7hNhNj!Kh&Nh"}rT7j!U+h(h)]RrU7ubj!)rV7}rW7(hNj!KhNhUb1818rX7h}rY7j!hjX7hNhNj!Kh&Nh"}rZ7j!U+h(h)]Rr[7ubj6eRr\7hU ACMANAptsppr]7h2Gh3h4hNh5U/(b1817 and b1818 and b1819 and b2415 and b2416)r^7h"}r_7h7Nubh)r`7}ra7(h UTransport, Outer Membrane Porinrb7h }rc7(j Gj:7G?uhNhUKN-acetyl-D-mannosamine transport via diffusion (extracellular to periplasm)rd7h,G@@h-G@h}re7h/h)]rf7(j!j!j!j!eRrg7hU ACMANAtexrh7h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)ri7h"}rj7h7Nubh)rk7}rl7(h UTransport, Inner Membranerm7h }rn7(h)ro7}rp7(hNhNhUN-Acetylmuramaterq7h}rr7hUacmum_prs7hUEhJhGhh)rt7}ru7(hNhU C11H18NO8rv7h}rw7h"}rx7h$}ry7(UHKUCK UOKUNKuhjv7ubh&Uph"}rz7h(h)]Rr{7ubGj6G?j5Gj5G?uhNhU6N-acetylmuramate transport via PEP:Pyr PTS (periplasm)r|7h,G@@h-Gh}r}7h/h)]r~7(j!)r7}r7(hNj!KhNhUb2429r7h}r7j!hj7hNhNj!Kh&Nh"}r7j!U+h(h)]Rr7ubj6j5j5eRr7hU ACMUMptsppr7h2Gh3h4hNh5U%(b2417 and b2429 and b2415 and b2416)r7h"}r7h7Nubh)r7}r7(h UTransport, Outer Membrane Porinr7h }r7(j Gjo7G?uhNhUEN-acetylmuramate transport via diffusion (extracellular to periplasm)r7h,G@@h-Gh}r7h/h)]r7(j!j!j!j!eRr7hUACMUMtexr7h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r7h"}r7h7Nubh)r7}r7(h UTransport, Inner Membraner7h }r7(h)r7}r7(hNhNhUN-Acetylneuraminater7h}r7hUacnam_cr7hUEhJhGhh)r7}r7(hNhU C11H18NO9r7h}r7h"}r7h$}r7(UHKUCK UOK UNKuhj7ubh&Uch"}r7h(h)]Rr7ubG?j"Gj>G?h)r7}r7(hNhNhUN-Acetylneuraminater7h}r7hUacnam_pr7hUEhJhGhh)r7}r7(hNhU C11H18NO9r7h}r7h"}r7h$}r7(UHKUCK UOK UNKuhj7ubh&Uph"}r7h(h)]Rr7ubGuhNhU.N-acetylneuraminate proton symport (periplasm)r7h,G@@h-Gh}r7h/h)]r7j!)r7}r7(hNj!KhNhUb3224r7h}r7j!hj7hNhNj!Kh&Nh"}r7j!U+h(h)]Rr7ubaRr7hU ACNAMt2ppr7h2Gh3h4hNh5j7h"}r7h7Nubh)r7}r7(h UTransport, Outer Membraner7h }r7(j/ Gj7G?uhNhUHN-acetylneuraminate transport via diffusion (extracellular to periplasm)r7h,G@@h-G@h}r7h/h)]r7(j!j!)r7}r7(hNj!KhNhUb4311r7h}r7j!hj7hNhNj!Kh&Nh"}r7j!U+h(h)]Rr7ubj!eRr7hUACNAMtexr7h2Gh3h4hNh5U(b4311 or b0929 or b2215)r7h"}r7h7Nubh)r7}r7(h UAlternate Carbon Metabolismr7h }r7(h)r7}r7(hNhNhUN-Acetyl-D-mannosaminer7h}r7hUacmana_cr7hUEhKhGhh)r7}r7(hNhUC8H15NO6r7h}r7h"}r7h$}r7(UHKUCKUOKUNKuhj7ubh&Uch"}r7h(h)]Rr7ubG?j5G?j7GuhNhUN-Acetylneuraminate lyaser7h,G@@h-Gh}r7h/h)]r7j!)r7}r7(hNj!KhNhUb3225r7h}r7j!hj7hNhNj!Kh&Nh"}r7j!U+h(h)]Rr7ubaRr7hUACNMLr7h2Gh3h4hNh5j7h"}r7h7Nubh)r7}r7(h UMembrane Lipid Metabolismr7h }r7(jGh)r7}r7(hNhNhU Crotonoyl-CoAr7h}r7hUb2coa_cr7hUEhJhGhh)r7}r7(hNhUC25H36N7O17P3Sr7h}r7h"}r7h$}r7(UCKUHK$UOKUNKUPKUSKuhj7ubh&Uch"}r7h(h)]Rr7ubG?h)r7}r7(hNhNhU#Flavin adenine dinucleotide reducedr7h}r8hUfadh2_cr8hUEhJhGhh)r8}r8(hNhU C27H33N9O15P2r8h}r8h"}r8h$}r8(UHK!UCKUPKUOKUNK uhj8ubh&Uch"}r8h(h)]Rr 8ubG?j2GuhNhU%acyl-CoA dehydrogenase (butanoyl-CoA)r 8h,G@@h-G@h}r 8h/h)]r 8j!)r 8}r8(hNj!KhNhUb0221r8h}r8j!hj8hNhNj!Kh&Nh"}r8j!U+h(h)]Rr8ubaRr8hUACOAD1fr8h2Gh3h4hNh5j8h"}r8h7Nubh)r8}r8(h UMembrane Lipid Metabolismr8h }r8(j 3Gj7G?h)r8}r8(hNhNhUtrans-Hex-2-enoyl-CoAr8h}r8hUhx2coa_cr8hUEhJhGhh)r8}r 8(hNhUC27H40N7O17P3Sr!8h}r"8h"}r#8h$}r$8(UCKUHK(UOKUNKUPKUSKuhj!8ubh&Uch"}r%8h(h)]Rr&8ubG?jGuhNhU%acyl-CoA dehydrogenase (hexanoyl-CoA)r'8h,G@@h-G@h}r(8h/h)]r)8j 8aRr*8hUACOAD2fr+8h2Gh3h4hNh5Ub0221r,8h"}r-8h7Nubh)r.8}r/8(h UMembrane Lipid Metabolismr08h }r18(j7G?j"3Gh)r28}r38(hNhNhUtrans-Oct-2-enoyl-CoAr48h}r58hUoc2coa_cr68hUEhJhGhh)r78}r88(hNhUC29H44N7O17P3Sr98h}r:8h"}r;8h$}r<8(UCKUHK,UOKUNKUPKUSKuhj98ubh&Uch"}r=8h(h)]Rr>8ubG?jGuhNhU%acyl-CoA dehydrogenase (octanoyl-CoA)r?8h,G@@h-G@h}r@8h/h)]rA8j 8aRrB8hUACOAD3frC8h2Gh3h4hNh5Ub0221rD8h"}rE8h7Nubh)rF8}rG8(h UMembrane Lipid MetabolismrH8h }rI8(j7G?jGjT3Gh)rJ8}rK8(hNhNhUtrans-Dec-2-enoyl-CoArL8h}rM8hUdc2coa_crN8hUEhJhGhh)rO8}rP8(hNhUC31H48N7O17P3SrQ8h}rR8h"}rS8h$}rT8(UCKUHK0UOKUNKUPKUSKuhjQ8ubh&Uch"}rU8h(h)]RrV8ubG?uhNhU%acyl-CoA dehydrogenase (decanoyl-CoA)rW8h,G@@h-G@h}rX8h/h)]rY8j 8aRrZ8hUACOAD4fr[8h2Gh3h4hNh5Ub0221r\8h"}r]8h7Nubh)r^8}r_8(h UMembrane Lipid Metabolismr`8h }ra8(jy3Gj7G?jGh)rb8}rc8(hNhNhUtrans-Dodec-2-enoyl-CoArd8h}re8hUdd2coa_crf8hUEhJhGhh)rg8}rh8(hNhUC33H52N7O17P3Sri8h}rj8h"}rk8h$}rl8(UCK!UHK4UOKUNKUPKUSKuhji8ubh&Uch"}rm8h(h)]Rrn8ubG?uhNhU'acyl-CoA dehydrogenase (dodecanoyl-CoA)ro8h,G@@h-G@h}rp8h/h)]rq8j 8aRrr8hUACOAD5frs8h2Gh3h4hNh5Ub0221rt8h"}ru8h7Nubh)rv8}rw8(h UMembrane Lipid Metabolismrx8h }ry8(j3Gj7G?jGh)rz8}r{8(hNhNhUtrans-Tetradec-2-enoyl-CoAr|8h}r}8hUtd2coa_cr~8hUEhJhGhh)r8}r8(hNhUC35H56N7O17P3Sr8h}r8h"}r8h$}r8(UCK#UHK8UOKUNKUPKUSKuhj8ubh&Uch"}r8h(h)]Rr8ubG?uhNhU*acyl-CoA dehydrogenase (tetradecanoyl-CoA)r8h,G@@h-G@h}r8h/h)]r8j 8aRr8hUACOAD6fr8h2Gh3h4hNh5Ub0221r8h"}r8h7Nubh)r8}r8(h UMembrane Lipid Metabolismr8h }r8(j7G?j3Gh)r8}r8(hNhNhUtrans-Hexadec-2-enoyl-CoAr8h}r8hU hdd2coa_cr8hUEhJhGhh)r8}r8(hNhUC37H60N7O17P3Sr8h}r8h"}r8h$}r8(UCK%UHKG?j Gj-G?jD G?jG?j4Gh)r9}r9(hNhNhUA4-Amino-4-deoxy-L-arabinose modified core oligosaccharide lipid Ar9h}r9hU acolipa_pr9hUEhJhGhh)r9}r9(hNhUC181H314N3O103P4r9h}r9h"}r 9h$}r!9(UHM:UCKUPKUOKgUNKuhj9ubh&Uph"}r"9h(h)]Rr#9ubGuhNhUearabinose modified core oligosaccharide lipid A transport via ABC system (periplasm to extracellular)r$9h,G@@h-Gh}r%9h/h)]r&9(j!)r'9}r(9(hNj!KhNhUb4262r)9h}r*9j!hj)9hNhNj!Kh&Nh"}r+9j!U+h(h)]Rr,9ubj!)r-9}r.9(hNj!KhNhUb3201r/9h}r09j!hj/9hNhNj!Kh&Nh"}r19j!U+h(h)]Rr29ubj!)r39}r49(hNj!KhNhUb3200r59h}r69j!hj59hNhNj!Kh&Nh"}r79j!U+h(h)]Rr89ubj!)r99}r:9(hNj!KhNhUb3199r;9h}r<9j!hj;9hNhNj!Kh&Nh"}r=9j!U+h(h)]Rr>9ubj!)r?9}r@9(hNj!KhNhUb4261rA9h}rB9j!hjA9hNhNj!Kh&Nh"}rC9j!U+h(h)]RrD9ubeRrE9hU ACOLIPAabctexrF9h2Gh3h4hNh5U/(b3200 and b3201 and b3199 and b4261 and b4262)rG9h"}rH9h7Nubh)rI9}rJ9(h U UnassignedrK9h }rL9(h)rM9}rN9(hNhNhUtrans-AconitaterO9h}rP9hU acon__T_crQ9hUEhJhGhh)rR9}rS9(hNhUC6H3O6rT9h}rU9h"}rV9h$}rW9(UHKUCKUOKuhjT9ubh&Uch"}rX9h(h)]RrY9ubGh)rZ9}r[9(hNhNhU cis-Aconitater\9h}r]9hU acon__C_cr^9hUEhJhGhh)r_9}r`9(hNhUC6H3O6ra9h}rb9h"}rc9h$}rd9(UHKUCKUOKuhja9ubh&Uch"}re9h(h)]Rrf9ubG?uhNhU!aconitate isomerase (spontaneous)rg9h,G@@h-G@h}rh9h/h)]ri9jB4aRrj9hUACONIsrk9h2Gh3h4hNh5Us0001rl9h"}rm9h7Nubh)rn9}ro9(h U Unassignedrp9h }rq9(jM9Gh)rr9}rs9(hNhNhU*E-3-carboxy-2-pentenedioate 6-methyl esterrt9h}ru9hUaconm_crv9hUEhJhGhh)rw9}rx9(hNhUC7H6O6ry9h}rz9h"}r{9h$}r|9(UHKUCKUOKuhjy9ubh&Uch"}r}9h(h)]Rr~9ubG?jGh)r9}r9(hNhNhUS-Adenosyl-L-homocysteiner9h}r9hUahcys_cr9hUEhKhGhh)r9}r9(hNhU C14H20N6O5Sr9h}r9h"}r9h$}r9(UHKUCKUSKUOKUNKuhj9ubh&Uch"}r9h(h)]Rr9ubG?uhNhU!Trans-aconitate methyltransferaser9h,G@@h-Gh}r9h/h)]r9j!)r9}r9(hNj!KhNhUb1519r9h}r9j!hj9hNhNj!Kh&Nh"}r9j!U+h(h)]Rr9ubaRr9hUACONMTr9h2Gh3h4hNh5j9h"}r9h7Nubh)r9}r9(h UCitric Acid Cycler9h }r9(jZ9G?h)r9}r9(hNhNhUCitrater9h}r9hUcit_cr9hUEhJhGhh)r9}r9(hNhUC6H5O7r9h}r9h"}r9h$}r9(UHKUCKUOKuhj9ubh&Uch"}r9h(h)]Rr9ubGj4G?uhNhU0aconitase (half-reaction A, Citrate hydro-lyase)r9h,G@@h-G@h}r9h/h)]r9(j!)r9}r9(hNj!KhNhUb0118r9h}r9j!hj9hNhNj!Kh&Nh"}r9j!U+h(h)]Rr9ubj!)r9}r9(hNj!KhNhUb1276r9h}r9j!hj9hNhNj!Kh&Nh"}r9j!U+h(h)]Rr9ubeRr9hUACONTar9h2Gh3h4hNh5U(b0118 or b1276)r9h"}r9h7Nubh)r9}r9(h UCitric Acid Cycler9h }r9(jZ9Gj4Gh)r9}r9(hNhNhU Isocitrater9h}r9hUicit_cr9hUEhJhGhh)r9}r9(hNhUC6H5O7r9h}r9h"}r9h$}r9(UHKUCKUOKuhj9ubh&Uch"}r9h(h)]Rr9ubG?uhNhU3aconitase (half-reaction B, Isocitrate hydro-lyase)r9h,G@@h-G@h}r9h/h)]r9(j9j9eRr9hUACONTbr9h2Gh3h4hNh5U(b0118 or b1276)r9h"}r9h7Nubh)r9}r9(h UArginine and Proline Metabolismr9h }r9(j8Gj2Gh)r9}r9(hNhNhU#N-Acetyl-L-glutamate 5-semialdehyder9h}r9hUacg5sa_cr9hUEhJhGhh)r9}r9(hNhUC7H10NO4r9h}r9h"}r9h$}r9(UHK UCKUOKUNKuhj9ubh&Uch"}r9h(h)]Rr9ubG?jG?uhNhUacetylornithine transaminaser9h,G@@h-G@h}r9h/h)]r9(j!)r9}r9(hNj!KhNhUb1748r9h}r9j!hj9hNhNj!Kh&Nh"}r9j!U+h(h)]Rr9ubj!)r9}r9(hNj!KhNhUb3359r9h}r9j!hj9hNhNj!Kh&Nh"}r9j!U+h(h)]Rr9ubeRr9hUACOTAr9h2Gh3h4hNh5U(b1748 or b3359)r9h"}r9h7Nubh)r9}r9(h UGlycerophospholipid Metabolismr9h }r9(j-Gh)r9}r9(hNhNhUDodecanoly-phosphate (n-C12:0)r9h}r9hUddcap_cr:hUEhJhGhh)r:}r:(hNhU C12H24O5P1r:h}r:h"}r:h$}r:(UHKUCK UOKUPKuhj:ubh&Uch"}r:h(h)]Rr:ubG?j>Gj$-G?jGuhNhU=acyl-(acyl carrier protein):phosphate acyltransferase (C12:0)r :h,G@@h-Gh}r :h/h)]r :(j!)r :}r :(hNj!KhNhUb1090r:h}r:j!hj:hNhNj!Kh&Nh"}r:j!U+h(h)]Rr:ubj{0eRr:hU ACPPAT120r:h2Gh3h4hNh5U(b1094 and b1090)r:h"}r:h7Nubh)r:}r:(h UGlycerophospholipid Metabolismr:h }r:(j>Gj$-G?j-GjGh)r:}r:(hNhNhU!Tetradecanoyl-phosphate (n-C14:0)r:h}r:hUttdcap_cr:hUEhJhGhh)r:}r :(hNhU C14H28O5Pr!:h}r":h"}r#:h$}r$:(UHKUCKUOKUPKuhj!:ubh&Uch"}r%:h(h)]Rr&:ubG?uhNhU=acyl-(acyl carrier protein):phosphate acyltransferase (C14:0)r':h,G@@h-Gh}r(:h/h)]r):(j :j{0eRr*:hU ACPPAT140r+:h2Gh3h4hNh5U(b1094 and b1090)r,:h"}r-:h7Nubh)r.:}r/:(h UGlycerophospholipid Metabolismr0:h }r1:(j$-G?j-Gj>Gh)r2:}r3:(hNhNhU!Tetradecanoyl-phosphate (n-C14:1)r4:h}r5:hU ttdceap_cr6:hUEhJhGhh)r7:}r8:(hNhU C14H26O5Pr9:h}r::h"}r;:h$}r<:(UHKUCKUOKUPKuhj9:ubh&Uch"}r=:h(h)]Rr>:ubG?jGuhNhU=acyl-(acyl carrier protein):phosphate acyltransferase (C14:1)r?:h,G@@h-Gh}r@:h/h)]rA:(j :j{0eRrB:hU ACPPAT141rC:h2Gh3h4hNh5U(b1094 and b1090)rD:h"}rE:h7Nubh)rF:}rG:(h UGlycerophospholipid MetabolismrH:h }rI:(j$-G?j>Gj-Gh)rJ:}rK:(hNhNhU Hexadecanoyl-phosphate (n-C16:0)rL:h}rM:hUhdcap_crN:hUEhJhGhh)rO:}rP:(hNhU C16H32O5PrQ:h}rR:h"}rS:h$}rT:(UHK UCKUOKUPKuhjQ:ubh&Uch"}rU:h(h)]RrV:ubG?jGuhNhU=acyl-(acyl carrier protein):phosphate acyltransferase (C16:0)rW:h,G@@h-Gh}rX:h/h)]rY:(j :j{0eRrZ:hU ACPPAT160r[:h2Gh3h4hNh5U(b1094 and b1090)r\:h"}r]:h7Nubh)r^:}r_:(h UGlycerophospholipid Metabolismr`:h }ra:(j-Gj>Gj$-G?jGh)rb:}rc:(hNhNhU Hexadecanoyl-phosphate (n-C16:1)rd:h}re:hUhdceap_crf:hUEhJhGhh)rg:}rh:(hNhU C16H30O5Pri:h}rj:h"}rk:h$}rl:(UHKUCKUOKUPKuhji:ubh&Uch"}rm:h(h)]Rrn:ubG?uhNhU=acyl-(acyl carrier protein):phosphate acyltransferase (C16:1)ro:h,G@@h-Gh}rp:h/h)]rq:(j :j{0eRrr:hU ACPPAT161rs:h2Gh3h4hNh5U(b1094 and b1090)rt:h"}ru:h7Nubh)rv:}rw:(h UGlycerophospholipid Metabolismrx:h }ry:(h)rz:}r{:(hNhNhU Octadecanoyl-phosphate (n-C18:0)r|:h}r}:hUocdcap_cr~:hUEhJhGhh)r:}r:(hNhU C18H36O5Pr:h}r:h"}r:h$}r:(UHK$UCKUOKUPKuhj:ubh&Uch"}r:h(h)]Rr:ubG?j0Gj>Gj$-G?jGuhNhU=acyl-(acyl carrier protein):phosphate acyltransferase (C18:0)r:h,G@@h-Gh}r:h/h)]r:(j :j{0eRr:hU ACPPAT180r:h2Gh3h4hNh5U(b1094 and b1090)r:h"}r:h7Nubh)r:}r:(h UGlycerophospholipid Metabolismr:h }r:(j0Gj$-G?h)r:}r:(hNhNhU Octadecanoyl-phosphate (n-C18:1)r:h}r:hU ocdceap_cr:hUEhJhGhh)r:}r:(hNhU C18H34O5Pr:h}r:h"}r:h$}r:(UHK"UCKUOKUPKuhj:ubh&Uch"}r:h(h)]Rr:ubG?j>GjGuhNhU=acyl-(acyl carrier protein):phosphate acyltransferase (C18:1)r:h,G@@h-Gh}r:h/h)]r:(j :j{0eRr:hU ACPPAT181r:h2Gh3h4hNh5U(b1094 and b1090)r:h"}r:h7Nubh)r:}r:(h U*Cofactor and Prosthetic Group Biosynthesisr:h }r:(j$-G?j>G?jGh)r:}r:(hNhNhUAdenosine 3',5'-bisphosphater:h}r:hUpap_cr:hUEhJhGhh)r:}r:(hNhU C10H11N5O10P2r:h}r:h"}r:h$}r:(UHK UCK UPKUOK UNKuhj:ubh&Uch"}r:h(h)]Rr:ubG?h)r:}r:(hNhNhU!apoprotein [acyl carrier protein]r:h}r:hUapoACP_cr:hUEhKhGhh)r:}r:(hNhURHOr:h}r:h"}r:h$}r:(UHKURKUOKuhj:ubh&Uch"}r:h(h)]Rr:ubGuhNhUacyl-carrier protein synthaser:h,G@@h-Gh}r:h/h)]r:(j!)r:}r:(hNj!KhNhUb2563r:h}r:j!hj:hNhNj!Kh&Nh"}r:j!U+h(h)]Rr:ubj!)r:}r:(hNj!KhNhUb3475r:h}r:j!hj:hNhNj!Kh&Nh"}r:j!U+h(h)]Rr:ubeRr:hUACPS1r:h2Gh3h4hNh5U(b3475 or b2563)r:h"}r:h7Nubh)r:}r:(h UPyruvate Metabolismr:h }r:(j%G?j Gj2GjG?jTG?jGuhNhUacetyl-CoA synthetaser:h,G@@h-Gh}r:h/h)]r:j4aRr:hUACSr:h2Gh3h4hNh5Ub4069r:h"}r:h7Nubh)r:}r:(h UTransport, Outer Membrane Porinr:h }r:(jY Gh)r:}r:(hNhNhUO-Acetyl-L-seriner:h}r:hUacser_pr:hUEhKhGhh)r:}r:(hNhUC5H9NO4r:h}r:h"}r:h$}r:(UHK UCKUOKUNKuhj:ubh&Uph"}r:h(h)]Rr:ubG?uhNhUFO-Acetyl-L-serine transport via diffusion (extracellular to periplasm)r:h,G@@h-G@h}r:h/h)]r:(j!j!j!j!eRr:hUACSERtexr:h2Gh3h4hNh5U"(b1377 or b2215 or b0241 or b0929)r:h"}r:h7Nubh)r:}r:(h UTransport, Inner Membraner:h }r:(h)r:}r:(hNhNhUO-Acetyl-L-seriner;h}r;hUacser_cr;hUEhKhGhh)r;}r;(hNhUC5H9NO4r;h}r;h"}r;h$}r;(UHK UCKUOKUNKuhj;ubh&Uch"}r ;h(h)]Rr ;ubGj:G?uhNhU2O-Acetyl-L-serine export via facilitated transportr ;h,G@@h-Gh}r ;h/h)]r ;(j!)r;}r;(hNj!KhNhUb2578r;h}r;j!hj;hNhNj!Kh&Nh"}r;j!U+h(h)]Rr;ubj!)r;}r;(hNj!KhNhUb1533r;h}r;j!hj;hNhNj!Kh&Nh"}r;j!U+h(h)]Rr;ubeRr;hUACSERtppr;h2Gh3h4hNh5U(b2578 or b1533)r;h"}r;h7Nubh)r;}r;(h UTransport, Inner Membraner ;h }r!;(j>G?j"Gj2G?h)r";}r#;(hNhNhUAcetater$;h}r%;hUac_pr&;hUEhJhGhh)r';}r(;(hNhUC2H3O2r);h}r*;h"}r+;h$}r,;(UHKUCKUOKuhj);ubh&Uph"}r-;h(h)]Rr.;ubGuhNhU;acetate reversible transport via proton symport (periplasm)r/;h,G@@h-G@h}r0;h/h)]Rr1;hUACt2rppr2;h2Gh3h4hNh5Uh"}r3;h7Nubh)r4;}r5;(h UTransport, Inner Membraner6;h }r7;(j2G?h)r8;}r9;(hNhNhUSodiumr:;h}r;;hUna1_pr<;hUEhKhGhh)r=;}r>;(hNhUNar?;h}r@;h"}rA;h$}rB;j?;Kshj?;ubh&Uph"}rC;h(h)]RrD;ubGj";Gh)rE;}rF;(hNhNhUSodiumrG;h}rH;hUna1_crI;hUEhKhGhh)rJ;}rK;(hNhUNarL;h}rM;h"}rN;h$}rO;jL;KshjL;ubh&Uch"}rP;h(h)]RrQ;ubG?uhNhUNa+/Acetate symport (periplasm)rR;h,G@@h-Gh}rS;h/h)]rT;j!)rU;}rV;(hNj!KhNhUb4067rW;h}rX;j!hjW;hNhNj!Kh&Nh"}rY;j!U+h(h)]RrZ;ubaRr[;hUACt4ppr\;h2Gh3h4hNh5jW;h"}r];h7Nubh)r^;}r_;(h UTransport, Outer Membrane Porinr`;h }ra;(jrGj";G?uhNhUGj4Gh)rm;}rn;(hNhNhU Adenosinero;h}rp;hUadn_crq;hUEhKhGhh)rr;}rs;(hNhU C10H13N5O4rt;h}ru;h"}rv;h$}rw;(UHK UCK UOKUNKuhjt;ubh&Uch"}rx;h(h)]Rry;ubGh)rz;}r{;(hNhNhUInosiner|;h}r};hUins_cr~;hUEhKhGhh)r;}r;(hNhU C10H12N4O5r;h}r;h"}r;h$}r;(UHK UCK UOKUNKuhj;ubh&Uch"}r;h(h)]Rr;ubG?jLG?uhNhUAdenosine deaminaser;h,G@@h-Gh}r;h/h)]r;j!)r;}r;(hNj!KhNhUb1623r;h}r;j!hj;hNhNj!Kh&Nh"}r;j!U+h(h)]Rr;ubaRr;hUADAr;h2Gh3h4hNh5j;h"}r;h7Nubh)r;}r;(h U*Cofactor and Prosthetic Group Biosynthesisr;h }r;(h)r;}r;(hNhNhU4-amino-4-deoxychorismater;h}r;hU4adcho_cr;hUEhJhGhh)r;}r;(hNhU C10H10NO5r;h}r;h"}r;h$}r;(UHK UCK UOKUNKuhj;ubh&Uch"}r;h(h)]Rr;ubGh)r;}r;(hNhNhU4-Aminobenzoater;h}r;hU4abz_cr;hUEhJhGhh)r;}r;(hNhUC7H6NO2r;h}r;h"}r;h$}r;(UHKUCKUOKUNKuhj;ubh&Uch"}r;h(h)]Rr;ubG?j>G?j5G?uhNhU4-aminobenzoate synthaser;h,G@@h-Gh}r;h/h)]r;j!)r;}r;(hNj!KhNhUb1096r;h}r;j!hj;hNhNj!Kh&Nh"}r;j!U+h(h)]Rr;ubaRr;hUADCLr;h2Gh3h4hNh5j;h"}r;h7Nubh)r;}r;(h U*Cofactor and Prosthetic Group Biosynthesisr;h }r;(jGjaGjG?j;G?uhNhU"4-amino-4-deoxychorismate synthaser;h,G@@h-Gh}r;h/h)]r;(j!)r;}r;(hNj!KhNhUb1812r;h}r;j!hj;hNhNj!Kh&Nh"}r;j!U+h(h)]Rr;ubj!)r;}r;(hNj!KhNhUb3360r;h}r;j!hj;hNhNj!Kh&Nh"}r;j!U+h(h)]Rr;ubeRr;hUADCSr;h2Gh3h4hNh5U(b3360 and b1812)r;h"}r;h7Nubh)r;}r;(h UNucleotide Salvage Pathwayr;h }r;(jLG?j>Gh)r;}r;(hNhNhU Hypoxanthiner;h}r;hUhxan_cr;hUEhKhGhh)r;}r;(hNhUC5H4N4Or;h}r;h"}r;h$}r;(UHKUCKUOKUNKuhj;ubh&Uch"}r;h(h)]Rr;ubG?j4Gj/GuhNhUadenine deaminaser;h,G@@h-Gh}r;h/h)]r;j!)r;}r;(hNj!KhNhUb3665r;h}r;j!hj;hNhNj!Kh&Nh"}r;j!U+h(h)]Rr;ubaRr;hUADDr;h2Gh3h4hNh5j;h"}r;h7Nubh)r;}r;(h UTransport, Inner Membraner;h }r;(h)r;}r;(hNhNhUAdeniner;h}r;hUade_pr;hUEhKhGhh)r;}r;(hNhUC5H5N5r;h}r;h"}r;h$}r;(UHKUCKUNKuhj;ubh&Uph"}r<h(h)]Rr<ubGj/G?j>G?j"GuhNhU=adenine transport via proton symport (reversible) (periplasm)r<h,G@@h-G@h}r<h/h)]r<(j!)r<}r<(hNj!KhNhUb3654r<h}r<j!hj<hNhNj!Kh&Nh"}r <j!U+h(h)]Rr <ubj!)r <}r <(hNj!KhNhUb3714r <h}r<j!hj <hNhNj!Kh&Nh"}r<j!U+h(h)]Rr<ubeRr<hUADEt2rppr<h2Gh3h4hNh5U(b3654 or b3714)r<h"}r<h7Nubh)r<}r<(h UTransport, Outer Membrane Porinr<h }r<(jn Gj;G?uhNhU<(UHK UCK UPKUOK UNKuhj;<ubh&Uch"}r?<h(h)]Rr@<ubG?j-G?j%GjGuhNhUadentylate kinase (GTP)rA<h,G@@h-G@h}rB<h/h)]rC<j'<aRrD<hUADK3rE<h2Gh3h4hNh5Ub0474rF<h"}rG<h7Nubh)rH<}rI<(h UNucleotide Salvage PathwayrJ<h }rK<(h)rL<}rM<(hNhNhUITPrN<h}rO<hUitp_crP<hUEhJhGhh)rQ<}rR<(hNhU C10H11N4O14P3rS<h}rT<h"}rU<h$}rV<(UHK UCK UPKUOKUNKuhjS<ubh&Uch"}rW<h(h)]RrX<ubGj-G?h)rY<}rZ<(hNhNhUIDPr[<h}r\<hUidp_cr]<hUEhJhGhh)r^<}r_<(hNhU C10H11N4O11P2r`<h}ra<h"}rb<h$}rc<(UHK UCK UPKUOK UNKuhj`<ubh&Uch"}rd<h(h)]Rre<ubG?j%GuhNhUadentylate kinase (ITP)rf<h,G@@h-G@h}rg<h/h)]rh<j'<aRri<hUADK4rj<h2Gh3h4hNh5Ub0474rk<h"}rl<h7Nubh)rm<}rn<(h UArginine and Proline Metabolismro<h }rp<(j -G?j>Gh)rq<}rr<(hNhNhUS-Adenosylmethioninaminers<h}rt<hUametam_cru<hUEhKhGhh)rv<}rw<(hNhU C14H24N6O3Srx<h}ry<h"}rz<h$}r{<(UHKUCKUSKUOKUNKuhjx<ubh&Uch"}r|<h(h)]Rr}<ubG?jGuhNhU adenosylmethionine decarboxylaser~<h,G@@h-Gh}r<h/h)]r<j!)r<}r<(hNj!KhNhUb0120r<h}r<j!hj<hNhNj!Kh&Nh"}r<j!U+h(h)]Rr<ubaRr<hUADMDCr<h2Gh3h4hNh5j<h"}r<h7Nubh)r<}r<(h UNucleotide Salvage Pathwayr<h }r<(h)r<}r<(hNhNhUcAMPr<h}r<hUcamp_cr<hUEhJhGhh)r<}r<(hNhU C10H11N5O6Pr<h}r<h"}r<h$}r<(UHK UCK UPKUOKUNKuhj<ubh&Uch"}r<h(h)]Rr<ubG?jTG?j GuhNhUadenylate cyclaser<h,G@@h-Gh}r<h/h)]r<j!)r<}r<(hNj!KhNhUb3806r<h}r<j!hj<hNhNj!Kh&Nh"}r<j!U+h(h)]Rr<ubaRr<hUADNCYCr<h2Gh3h4hNh5j<h"}r<h7Nubh)r<}r<(h UNucleotide Salvage Pathwayr<h }r<(j Gjm;Gj>G?j-G?j%G?uhNhUadenosine kinaser<h,G@@h-Gh}r<h/h)]r<j'<aRr<hUADNK1r<h2Gh3h4hNh5Ub0474r<h"}r<h7Nubh)r<}r<(h UAlternate Carbon Metabolismr<h }r<(jm;Gh)r<}r<(hNhNhUD-Riboser<h}r<hUrib__D_cr<hUEhKhGhh)r<}r<(hNhUC5H10O5r<h}r<h"}r<h$}r<(UHK UCKUOKuhj<ubh&Uch"}r<h(h)]Rr<ubG?j4Gj/G?uhNhUadenosine hydrolaser<h,G@@h-Gh}r<h/h)]r<j!)r<}r<(hNj!KhNhUb0030r<h}r<j!hj<hNhNj!Kh&Nh"}r<j!U+h(h)]Rr<ubaRr<hUADNUCr<h2Gh3h4hNh5j<h"}r<h7Nubh)r<}r<(h UTransport, Inner Membraner<h }r<(j>G?j"Gjm;G?j+GuhNhU5adenosine transport in via proton symport (periplasm)r<h,G@@h-Gh}r<h/h)]r<(j!)r<}r<(hNj!KhNhUb2393r<h}r<j!hj<hNhNj!Kh&Nh"}r<j!U+h(h)]Rr<ubj!)r<}r<(hNj!KhNhUb2964r<h}r<j!hj<hNhNj!Kh&Nh"}r<j!U+h(h)]Rr<ubeRr<hUADNt2ppr<h2Gh3h4hNh5U(b2964 or b2393)r<h"}r<h7Nubh)r<}r<(h UTransport, Inner Membraner<h }r<(j"Gjm;G?j>G?j+GuhNhUAadenosine transport in via proton symport, reversible (periplasm)r<h,G@@h-G@h}r<h/h)]r<j!)r<}r<(hNj!KhNhUb2406r<h}r<j!hj<hNhNj!Kh&Nh"}r<j!U+h(h)]Rr<ubaRr<hUADNt2rppr<h2Gh3h4hNh5j<h"}r<h7Nubh)r<}r<(h UTransport, Outer Membraner<h }r<(j Gj+G?uhNhU>adenosine transport via diffusion (extracellular to periplasm)r<h,G@@h-G@h}r<h/h)]r<j!)r<}r<(hNj!KhNhUb0411r<h}r=j!hj<hNhNj!Kh&Nh"}r=j!U+h(h)]Rr=ubaRr=hUADNtexr=h2Gh3h4hNh5j<h"}r=h7Nubh)r=}r=(h U*Cofactor and Prosthetic Group Biosynthesisr=h }r =(j Gh)r =}r =(hNhNhUAdenosyl cobinamider =h}r =hUadocbi_cr=hUEhKhGhh)r=}r=(hNhUC58H84CoN16O11r=h}r=h"}r=h$}r=(UHKTUCK:UCoKUOK UNKuhj=ubh&Uch"}r=h(h)]Rr=ubGjy4G?j>G?j-G?uhNhUAdenosyl cobinamide kinaser=h,G@@h-Gh}r=h/h)]r=j4aRr=hUADOCBIKr=h2Gh3h4hNh5Ub1993r=h"}r=h7Nubh)r=}r=(h U*Cofactor and Prosthetic Group Biosynthesisr =h }r!=(j>G?h)r"=}r#=(hNhNhU.N1-(alpha-D-ribosyl)-5,6-dimethylbenzimidazoler$=h}r%=hUrdmbzi_cr&=hUEhKhGhh)r'=}r(=(hNhU C14H18N2O4r)=h}r*=h"}r+=h$}r,=(UHKUCKUOKUNKuhj)=ubh&Uch"}r-=h(h)]Rr.=ubGh)r/=}r0=(hNhNhUGMPr1=h}r2=hUgmp_cr3=hUEhJhGhh)r4=}r5=(hNhU C10H12N5O8Pr6=h}r7=h"}r8=h$}r9=(UHK UCK UPKUOKUNKuhj6=ubh&Uch"}r:=h(h)]Rr;=ubG?jJG?j4GuhNhU'Adenosylcobalamin 5'-phosphate synthaser<=h,G@@h-Gh}r==h/h)]r>=j!)r?=}r@=(hNj!KhNhUb1992rA=h}rB=j!hjA=hNhNj!Kh&Nh"}rC=j!U+h(h)]RrD=ubaRrE=hUADOCBLSrF=h2Gh3h4hNh5jA=h"}rG=h7Nubh)rH=}rI=(h UTransport, Inner MembranerJ=h }rK=(j Gj-G?j>G?jG?h)rL=}rM=(hNhNhUAdenosylcobalaminrN=h}rO=hUadocbl_prP=hUEhKhGhh)rQ=}rR=(hNhUC72H100CoN18O17PrS=h}rT=h"}rU=h$}rV=(UCKHUCoKUHKdUOKUNKUPKuhjS=ubh&Uph"}rW=h(h)]RrX=ubGj4GjJG?uhNhU6Adenosylcobalamin transport via ABC system (periplasm)rY=h,G@@h-Gh}rZ=h/h)]r[=(j!)r\=}r]=(hNj!KhNhUb1709r^=h}r_=j!hj^=hNhNj!Kh&Nh"}r`=j!U+h(h)]Rra=ubj!)rb=}rc=(hNj!KhNhUb1711rd=h}re=j!hjd=hNhNj!Kh&Nh"}rf=j!U+h(h)]Rrg=ubj!)rh=}ri=(hNj!KhNhUb0158rj=h}rk=j!hjj=hNhNj!Kh&Nh"}rl=j!U+h(h)]Rrm=ubeRrn=hU ADOCBLabcppro=h2Gh3h4hNh5U(b1711 and b1709 and b0158)rp=h"}rq=h7Nubh)rr=}rs=(h UTransport, Outer Membranert=h }ru=(jL=G?j"Gj>G?j GuhNhU5Adenosylcobalimin transport via ton system (extermal)rv=h,G@@h-Gh}rw=h/h)]rx=(j!)ry=}rz=(hNj!KhNhUb3966r{=h}r|=j!hj{=hNhNj!Kh&Nh"}r}=j!U+h(h)]Rr~=ubj!)r=}r=(hNj!KhNhUb3005r=h}r=j!hj=hNhNj!Kh&Nh"}r=j!U+h(h)]Rr=ubj!)r=}r=(hNj!KhNhUb1252r=h}r=j!hj=hNhNj!Kh&Nh"}r=j!U+h(h)]Rr=ubj!)r=}r=(hNj!KhNhUb3006r=h}r=j!hj=hNhNj!Kh&Nh"}r=j!U+h(h)]Rr=ubeRr=hU ADOCBLtonexr=h2Gh3h4hNh5U'(b3966 and (b1252 and b3005 and b3006))r=h"}r=h7Nubh)r=}r=(h UNucleotide Salvage Pathwayr=h }r=(j>G@h)r=}r=(hNhNhU ADPriboser=h}r=hUadprib_cr=hUEhJhGhh)r=}r=(hNhU C15H21N5O14P2r=h}r=h"}r=h$}r=(UHKUCKUPKUOKUNKuhj=ubh&Uch"}r=h(h)]Rr=ubGh)r=}r=(hNhNhUalpha-D-Ribose 5-phosphater=h}r=hUr5p_cr=hUEhJhGhh)r=}r=(hNhUC5H9O8Pr=h}r=h"}r=h$}r=(UHK UCKUOKUPKuhj=ubh&Uch"}r=h(h)]Rr=ubG?j4Gj%G?uhNhUADPribose diphosphataser=h,G@@h-Gh}r=h/h)]r=(j!)r=}r=(hNj!KhNhUb3034r=h}r=j!hj=hNhNj!Kh&Nh"}r=j!U+h(h)]Rr=ubj!)r=}r=(hNj!KhNhUb3397r=h}r=j!hj=hNhNj!Kh&Nh"}r=j!U+h(h)]Rr=ubeRr=hUADPRDPr=h2Gh3h4hNh5U(b3397 or b3034)r=h"}r=h7Nubh)r=}r=(h UNucleotide Salvage Pathwayr=h }r=(jTG?h)r=}r=(hNhNhU&5-Phospho-alpha-D-ribose 1-diphosphater=h}r=hUprpp_cr=hUEhJhGhh)r=}r=(hNhU C5H8O14P3r=h}r=h"}r=h$}r=(UHKUCKUOKUPKuhj=ubh&Uch"}r=h(h)]Rr=ubGj%G?j/GuhNhU!adenine phosphoribosyltransferaser=h,G@@h-Gh}r=h/h)]r=j!)r=}r=(hNj!KhNhUb0469r=h}r=j!hj=hNhNj!Kh&Nh"}r=j!U+h(h)]Rr=ubaRr=hUADPTr=h2Gh3h4hNh5j=h"}r=h7Nubh)r=}r=(h UCysteine Metabolismr=h }r=(j Gj-G?h)r=}r=(hNhNhU3'-Phosphoadenylyl sulfater=h}r=hUpaps_cr=hUEhJhGhh)r=}r=(hNhUC10H11N5O13P2Sr=h}r=h"}r=h$}r=(UCK UHK UOK UNKUPKUSKuhj=ubh&Uch"}r=h(h)]Rr=ubG?j>G?h)r=}r=(hNhNhUAdenosine 5'-phosphosulfater=h}r=hUaps_cr=hUEhJhGhh)r=}r=(hNhU C10H12N5O10PSr=h}r=h"}r=h$}r=(UCK UHK UOK UNKUPKUSKuhj=ubh&Uch"}r=h(h)]Rr>ubGuhNhUadenylyl-sulfate kinaser>h,G@@h-Gh}r>h/h)]r>j!)r>}r>(hNj!KhNhUb2750r>h}r>j!hj>hNhNj!Kh&Nh"}r>j!U+h(h)]Rr >ubaRr >hUADSKr >h2Gh3h4hNh5j>h"}r >h7Nubh)r >}r>(h U"Purine and Pyrimidine Biosynthesisr>h }r>(h)r>}r>(hNhNhUFumarater>h}r>hUfum_cr>hUEhJhGhh)r>}r>(hNhUC4H2O4r>h}r>h"}r>h$}r>(UHKUCKUOKuhj>ubh&Uch"}r>h(h)]Rr>ubG?h)r>}r>(hNhNhUN6-(1,2-Dicarboxyethyl)-AMPr >h}r!>hUdcamp_cr">hUEhJhGhh)r#>}r$>(hNhU C14H14N5O11Pr%>h}r&>h"}r'>h$}r(>(UHKUCKUPKUOK UNKuhj%>ubh&Uch"}r)>h(h)]Rr*>ubGj%G?uhNhUadenylsuccinate lyaser+>h,G@@h-G@h}r,>h/h)]r->j!)r.>}r/>(hNj!KhNhUb1131r0>h}r1>j!hj0>hNhNj!Kh&Nh"}r2>j!U+h(h)]Rr3>ubaRr4>hUADSL1rr5>h2Gh3h4hNh5j0>h"}r6>h7Nubh)r7>}r8>(h U"Purine and Pyrimidine Biosynthesisr9>h }r:>(h)r;>}r<>(hNhNhU65-Amino-1-(5-Phospho-D-ribosyl)imidazole-4-carboxamider=>h}r>>hUaicar_cr?>hUEhJhGhh)r@>}rA>(hNhU C9H13N4O8PrB>h}rC>h"}rD>h$}rE>(UHK UCK UPKUOKUNKuhjB>ubh&Uch"}rF>h(h)]RrG>ubG?j>G?h)rH>}rI>(hNhNhUG(S)-2-[5-Amino-1-(5-phospho-D-ribosyl)imidazole-4-carboxamido]succinaterJ>h}rK>hU25aics_crL>hUEhJhGhh)rM>}rN>(hNhU C13H15N4O12PrO>h}rP>h"}rQ>h$}rR>(UHKUCK UPKUOK UNKuhjO>ubh&Uch"}rS>h(h)]RrT>ubGuhNhUadenylosuccinate lyaserU>h,G@@h-G@h}rV>h/h)]rW>j.>aRrX>hUADSL2rrY>h2Gh3h4hNh5Ub1131rZ>h"}r[>h7Nubh)r\>}r]>(h U"Purine and Pyrimidine Biosynthesisr^>h }r_>(j4<G?jGh)r`>}ra>(hNhNhUIMPrb>h}rc>hUimp_crd>hUEhJhGhh)re>}rf>(hNhU C10H11N4O8Prg>h}rh>h"}ri>h$}rj>(UHK UCK UPKUOKUNKuhjg>ubh&Uch"}rk>h(h)]Rrl>ubGj>G@jGj>G?jG?uhNhUadenylosuccinate synthaserm>h,G@@h-Gh}rn>h/h)]ro>j!)rp>}rq>(hNj!KhNhUb4177rr>h}rs>j!hjr>hNhNj!Kh&Nh"}rt>j!U+h(h)]Rru>ubaRrv>hUADSSrw>h2Gh3h4hNh5jr>h"}rx>h7Nubh)ry>}rz>(h UAlternate Carbon Metabolismr{>h }r|>(j4Gj2G?jd5Gh)r}>}r~>(hNhNhUD-Glucosamine 6-phosphater>h}r>hUgam6p_cr>hUEhJhGhh)r>}r>(hNhU C6H13NO8Pr>h}r>h"}r>h$}r>(UHK UCKUPKUOKUNKuhj>ubh&Uch"}r>h(h)]Rr>ubG?uhNhU+N-acetylglucosamine-6-phosphate deacetylaser>h,G@@h-Gh}r>h/h)]r>j!)r>}r>(hNj!KhNhUb0677r>h}r>j!hj>hNhNj!Kh&Nh"}r>j!U+h(h)]Rr>ubaRr>hUAGDCr>h2Gh3h4hNh5j>h"}r>h7Nubh)r>}r>(h UMurein Recyclingr>h }r>(h)r>}r>(hNhNhU;N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tripeptider>h}r>hU anhgm3p_cr>hUEhJhGhh)r>}r>(hNhU C34H52N6O19r>h}r>h"}r>h$}r>(UHK4UCK"UOKUNKuhj>ubh&Uch"}r>h(h)]Rr>ubGjb.G?j4Gh)r>}r>(hNhNhU5N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramic acidr>h}r>hUanhgm_cr>hUEhJhGhh)r>}r>(hNhU C19H29N2O12r>h}r>h"}r>h$}r>(UHKUCKUOK UNKuhj>ubh&Uch"}r>h(h)]Rr>ubG?uhNhUCN-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tripeptide amidaser>h,G@@h-Gh}r>h/h)]r>j!)r>}r>(hNj!KhNhUb0110r>h}r>j!hj>hNhNj!Kh&Nh"}r>j!U+h(h)]Rr>ubaRr>hUAGM3PAr>h2Gh3h4hNh5j>h"}r>h7Nubh)r>}r>(h UMurein Recyclingr>h }r>(j#Gh)r>}r>(hNhNhU5N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramic acidr>h}r>hUanhgm_pr>hUEhJhGhh)r>}r>(hNhU C19H29N2O12r>h}r>h"}r>h$}r>(UHKUCKUOK UNKuhj>ubh&Uph"}r>h(h)]Rr>ubG?h)r>}r>(hNhNhU;N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tripeptider>h}r>hU anhgm3p_pr>hUEhJhGhh)r>}r>(hNhU C34H52N6O19r>h}r>h"}r>h$}r>(UHK4UCK"UOKUNKuhj>ubh&Uph"}r>h(h)]Rr>ubGjo.G?uhNhUON-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tripeptide amidase (periplasm)r>h,G@@h-Gh}r>h/h)]r>(j!)r>}r>(hNj!KhNhUb2435r>h}r>j!hj>hNhNj!Kh&Nh"}r>j!U+h(h)]Rr>ubj!)r>}r>(hNj!KhNhUb2817r>h}r>j!hj>hNhNj!Kh&Nh"}r>j!U+h(h)]Rr>ubj!)r>}r>(hNj!KhNhUb4169r>h}r>j!hj>hNhNj!Kh&Nh"}r>j!U+h(h)]Rr>ubeRr>hUAGM3PAppr>h2Gh3h4hNh5U(b2435 or b2817 or b4169)r>h"}r>h7Nubh)r>}r>(h UMurein Recyclingr>h }r>(j4Gh)r>}r>(hNhNhU(1,6-anhydrous-N-Acetylmuramyl-tripeptider>h}r>hUanhm3p_cr>hUEhJhGhh)r?}r?(hNhU C26H39N5O14r?h}r?h"}r?h$}r?(UHK'UCKUOKUNKuhj?ubh&Uch"}r?h(h)]Rr?ubG?jq5G?j>GuhNhU]N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tripeptide beta -1,4-N-acetylglucosaminidaser?h,G@@h-Gh}r ?h/h)]r ?j!)r ?}r ?(hNj!KhNhUb1107r ?h}r?j!hj ?hNhNj!Kh&Nh"}r?j!U+h(h)]Rr?ubaRr?hUAGM3PHr?h2Gh3h4hNh5j ?h"}r?h7Nubh)r?}r?(h UMurein Recyclingr?h }r?(j>G?j"Gj>G?j>GuhNhUGGlcNAc-anhMurNAc tripeptide transport in via proton symport (periplasm)r?h,G@@h-Gh}r?h/h)]r?j!)r?}r?(hNj!KhNhUb0433r?h}r?j!hj?hNhNj!Kh&Nh"}r?j!U+h(h)]Rr ?ubaRr!?hU AGM3Pt2ppr"?h2Gh3h4hNh5j?h"}r#?h7Nubh)r$?}r%?(h UMurein Recyclingr&?h }r'?(jA/G?j>G?h)r(?}r)?(hNhNhU=N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptider*?h}r+?hU anhgm4p_cr,?hUEhJhGhh)r-?}r.?(hNhU C37H57N7O20r/?h}r0?h"}r1?h$}r2?(UHK9UCK%UOKUNKuhj/?ubh&Uch"}r3?h(h)]Rr4?ubGj4GuhNhUEN-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptide amidaser5?h,G@@h-Gh}r6?h/h)]r7?j>aRr8?hUAGM4PAr9?h2Gh3h4hNh5Ub0110r:?h"}r;?h7Nubh)r?h }r??(h)r@?}rA?(hNhNhU=N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptiderB?h}rC?hU anhgm4p_prD?hUEhJhGhh)rE?}rF?(hNhU C37H57N7O20rG?h}rH?h"}rI?h$}rJ?(UHK9UCK%UOKUNKuhjG?ubh&Uph"}rK?h(h)]RrL?ubGjk/G?j#Gj>G?uhNhUQN-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptide amidase (periplasm)rM?h,G@@h-Gh}rN?h/h)]rO?(j>j>j>eRrP?hUAGM4PApprQ?h2Gh3h4hNh5U(b2435 or b2817 or b4169)rR?h"}rS?h7Nubh)rT?}rU?(h UMurein RecyclingrV?h }rW?(jN/G?j(?Gj4Gj>G?uhNhURN-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptide L,D-carboxypeptidaserX?h,G@@h-Gh}rY?h/h)]rZ?j^/aRr[?hUAGM4PCPr\?h2Gh3h4hNh5Ub1192r]?h"}r^?h7Nubh)r_?}r`?(h UMurein Recyclingra?h }rb?(j@?Gj>G?jx/G?j#GuhNhU`N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptide L,D-carboxypeptidase (periplasmic)rc?h,G@@h-Gh}rd?h/h)]Rre?hU AGM4PCPpprf?h2Gh3h4hNh5Uh"}rg?h7Nubh)rh?}ri?(h UMurein Recyclingrj?h }rk?(j(?Gh)rl?}rm?(hNhNhU*1,6-anhydrous-N-Acetylmuramyl-tetrapeptidern?h}ro?hUanhm4p_crp?hUEhJhGhh)rq?}rr?(hNhU C29H44N6O15rs?h}rt?h"}ru?h$}rv?(UHK,UCKUOKUNKuhjs?ubh&Uch"}rw?h(h)]Rrx?ubG?j4Gjq5G?uhNhU_N-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl-tetrapeptide beta -1,4-N-acetylglucosaminidasery?h,G@@h-Gh}rz?h/h)]r{?j ?aRr|?hUAGM4PHr}?h2Gh3h4hNh5Ub1107r~?h"}r?h7Nubh)r?}r?(h UMurein Recyclingr?h }r?(j>G?j@?Gj"Gj(?G?uhNhUIGlcNAc-anhMurNAc tetrapeptide transport in via proton symport (periplasm)r?h,G@@h-Gh}r?h/h)]r?j?aRr?hU AGM4Pt2ppr?h2Gh3h4hNh5Ub0433r?h"}r?h7Nubh)r?}r?(h UMurein Recyclingr?h }r?(j4Gj>Gjq5G?h)r?}r?(hNhNhU1,6-anhydrous-N-Acetylmuramater?h}r?hUanhm_cr?hUEhJhGhh)r?}r?(hNhU C11H16NO7r?h}r?h"}r?h$}r?(UHKUCK UOKUNKuhj?ubh&Uch"}r?h(h)]Rr?ubG?uhNhURN-Acetyl-D-glucosamine(anhydrous)N-Acetylmuramyl beta -1,4-N-acetylglucosaminidaser?h,G@@h-Gh}r?h/h)]r?j ?aRr?hUAGMHr?h2Gh3h4hNh5Ub1107r?h"}r?h7Nubh)r?}r?(h U+Lipopolysaccharide Biosynthesis / Recyclingr?h }r?(h)r?}r?(hNhNhUADP-D-glycero-D-manno-heptoser?h}r?hU adphep__DD_cr?hUEhJhGhh)r?}r?(hNhU C17H25N5O16P2r?h}r?h"}r?h$}r?(UHKUCKUPKUOKUNKuhj?ubh&Uch"}r?h(h)]Rr?ubGh)r?}r?(hNhNhUADP-L-glycero-D-manno-heptoser?h}r?hU adphep__LD_cr?hUEhJhGhh)r?}r?(hNhU C17H25N5O16P2r?h}r?h"}r?h$}r?(UHKUCKUPKUOKUNKuhj?ubh&Uch"}r?h(h)]Rr?ubG?uhNhU'ADP-D-glycero-D-manno-heptose epimeraser?h,G@@h-Gh}r?h/h)]r?j!)r?}r?(hNj!KhNhUb3619r?h}r?j!hj?hNhNj!Kh&Nh"}r?j!U+h(h)]Rr?ubaRr?hUAGMHEr?h2Gh3h4hNh5j?h"}r?h7Nubh)r?}r?(h UArginine and Proline Metabolismr?h }r?(jG?j4Gh)r?}r?(hNhNhUAgmatiner?h}r?hUagm_cr?hUEhKhGhh)r?}r?(hNhUC5H16N4r?h}r?h"}r?h$}r?(UHKUCKUNKuhj?ubh&Uch"}r?h(h)]Rr?ubGh)r?}r?(hNhNhUUrear?h}r?hUurea_cr?hUEhKhGhh)r?}r?(hNhUCH4N2Or?h}r?h"}r?h$}r?(UHKUCKUOKUNKuhj?ubh&Uch"}r?h(h)]Rr?ubG?uhNhU agmatinaser?h,G@@h-Gh}r?h/h)]r?j!)r?}r?(hNj!KhNhUb2937r?h}r?j!hj?hNhNj!Kh&Nh"}r?j!U+h(h)]Rr?ubaRr?hUAGMTr?h2Gh3h4hNh5j?h"}r?h7Nubh)r?}r?(h UMurein Recyclingr?h }r?(j"Gj>Gj>G?j>G?uhNhU@j!hj=@hNhNj!Kh&Nh"}r?@j!U+h(h)]Rr@@ubaRrA@hUAGPAT120rB@h2Gh3h4hNh5j=@h"}rC@h7Nubh)rD@}rE@(h UGlycerophospholipid MetabolismrF@h }rG@(j-Gj$-G?h)rH@}rI@(hNhNhU+1,2-ditetradecanoyl-sn-glycerol 3-phosphaterJ@h}rK@hUpa140_crL@hUEhJhGhh)rM@}rN@(hNhU C31H59O8P1rO@h}rP@h"}rQ@h$}rR@(UHK;UCKUOKUPKuhjO@ubh&Uch"}rS@h(h)]RrT@ubG?h)rU@}rV@(hNhNhU'1-tetradecanoyl-sn-glycerol 3-phosphaterW@h}rX@hU 1tdecg3p_crY@hUEhJhGhh)rZ@}r[@(hNhU C17H33O7P1r\@h}r]@h"}r^@h$}r_@(UHK!UCKUOKUPKuhj\@ubh&Uch"}r`@h(h)]Rra@ubGuhNhUC1-tetradecanoyl-sn-glycerol 3-phosphate O-acyltransferase (n-C14:0)rb@h,G@@h-Gh}rc@h/h)]rd@j;@aRre@hUAGPAT140rf@h2Gh3h4hNh5Ub3018rg@h"}rh@h7Nubh)ri@}rj@(h UGlycerophospholipid Metabolismrk@h }rl@(j$-G?j-Gh)rm@}rn@(hNhNhU*1-tetradec-7-enoyl-sn-glycerol 3-phosphatero@h}rp@hU 1tdec7eg3p_crq@hUEhJhGhh)rr@}rs@(hNhU C17H31O7P1rt@h}ru@h"}rv@h$}rw@(UHKUCKUOKUPKuhjt@ubh&Uch"}rx@h(h)]Rry@ubGh)rz@}r{@(hNhNhU.1,2-ditetradec-7-enoyl-sn-glycerol 3-phosphater|@h}r}@hUpa141_cr~@hUEhJhGhh)r@}r@(hNhU C31H55O8P1r@h}r@h"}r@h$}r@(UHK7UCKUOKUPKuhj@ubh&Uch"}r@h(h)]Rr@ubG?uhNhUF1-tetradec-7-enoyl-sn-glycerol 3-phosphate O-acyltransferase (n-C14:1)r@h,G@@h-Gh}r@h/h)]r@j;@aRr@hUAGPAT141r@h2Gh3h4hNh5Ub3018r@h"}r@h7Nubh)r@}r@(h UGlycerophospholipid Metabolismr@h }r@(h)r@}r@(hNhNhU&1-hexadecanoyl-sn-glycerol 3-phosphater@h}r@hU 1hdecg3p_cr@hUEhJhGhh)r@}r@(hNhU C19H37O7P1r@h}r@h"}r@h$}r@(UHK%UCKUOKUPKuhj@ubh&Uch"}r@h(h)]Rr@ubGj$-G?j-Gh)r@}r@(hNhNhU*1,2-dihexadecanoyl-sn-glycerol 3-phosphater@h}r@hUpa160_cr@hUEhJhGhh)r@}r@(hNhU C35H67O8P1r@h}r@h"}r@h$}r@(UHKCUCK#UOKUPKuhj@ubh&Uch"}r@h(h)]Rr@ubG?uhNhUB1-hexadecanoyl-sn-glycerol 3-phosphate O-acyltransferase (n-C16:0)r@h,G@@h-Gh}r@h/h)]r@j;@aRr@hUAGPAT160r@h2Gh3h4hNh5Ub3018r@h"}r@h7Nubh)r@}r@(h UGlycerophospholipid Metabolismr@h }r@(j-Gj$-G?h)r@}r@(hNhNhU-1,2-dihexadec-9-enoyl-sn-glycerol 3-phosphater@h}r@hUpa161_cr@hUEhJhGhh)r@}r@(hNhU C35H63O8P1r@h}r@h"}r@h$}r@(UHK?UCK#UOKUPKuhj@ubh&Uch"}r@h(h)]Rr@ubG?h)r@}r@(hNhNhU)1-hexadec-9-enoyl-sn-glycerol 3-phosphater@h}r@hU 1hdec9eg3p_cr@hUEhJhGhh)r@}r@(hNhU C19H35O7P1r@h}r@h"}r@h$}r@(UHK#UCKUOKUPKuhj@ubh&Uch"}r@h(h)]Rr@ubGuhNhUE1-hexadec-7-enoyl-sn-glycerol 3-phosphate O-acyltransferase (n-C16:1)r@h,G@@h-Gh}r@h/h)]r@j;@aRr@hUAGPAT161r@h2Gh3h4hNh5Ub3018r@h"}r@h7Nubh)r@}r@(h UGlycerophospholipid Metabolismr@h }r@(j$-G?h)r@}r@(hNhNhU&1-octadecanoyl-sn-glycerol 3-phosphater@h}r@hU 1odecg3p_cr@hUEhJhGhh)r@}r@(hNhU C21H41O7P1r@h}r@h"}r@h$}r@(UHK)UCKUOKUPKuhj@ubh&Uch"}r@h(h)]Rr@ubGh)r@}r@(hNhNhU*1,2-dioctadecanoyl-sn-glycerol 3-phosphater@h}r@hUpa180_cr@hUEhJhGhh)r@}r@(hNhU C39H75O8P1r@h}r@h"}r@h$}r@(UHKKUCK'UOKUPKuhj@ubh&Uch"}r@h(h)]Rr@ubG?j0GuhNhUB1-octadecanoyl-sn-glycerol 3-phosphate O-acyltransferase (n-C18:0)r@h,G@@h-Gh}r@h/h)]r@j;@aRr@hUAGPAT180r@h2Gh3h4hNh5Ub3018r@h"}r@h7Nubh)r@}r@(h UGlycerophospholipid Metabolismr@h }rA(h)rA}rA(hNhNhU*1-octadec-11-enoyl-sn-glycerol 3-phosphaterAh}rAhU 1odec11eg3p_crAhUEhJhGhh)rA}rA(hNhU C21H39O7P1rAh}r Ah"}r Ah$}r A(UHK'UCKUOKUPKuhjAubh&Uch"}r Ah(h)]Rr AubGj$-G?h)rA}rA(hNhNhU.1,2-dioctadec-11-enoyl-sn-glycerol 3-phosphaterAh}rAhUpa181_crAhUEhJhGhh)rA}rA(hNhU C39H71O8P1rAh}rAh"}rAh$}rA(UHKGUCK'UOKUPKuhjAubh&Uch"}rAh(h)]RrAubG?j0GuhNhUE1-octadec-7-enoyl-sn-glycerol 3-phosphate O-acyltransferase (n-C18:1)rAh,G@@h-Gh}rAh/h)]rAj;@aRrAhUAGPAT181rAh2Gh3h4hNh5Ub3018r Ah"}r!Ah7Nubh)r"A}r#A(h UArginine and Proline Metabolismr$Ah }r%A(j>G?j9Gj)Gj-6G?jCG?jGuhNhU'N-acetyl-g-glutamyl-phosphate reductaser&Ah,G@@h-G@h}r'Ah/h)]r(Aj!)r)A}r*A(hNj!KhNhUb3958r+Ah}r,Aj!hj+AhNhNj!Kh&Nh"}r-Aj!U+h(h)]Rr.AubaRr/AhUAGPRr0Ah2Gh3h4hNh5j+Ah"}r1Ah7Nubh)r2A}r3A(h U&Inorganic Ion Transport and Metabolismr4Ah }r5A(j>G?jGj G?h)r6A}r7A(hNhNhUsilverr8Ah}r9AhUag_cr:AhUEhKhGhh)r;A}rAh"}r?Ah$}r@Aj=AKshj=Aubh&Uch"}rAAh(h)]RrBAubGuhNhU(silver transport out via proton antiportrCAh,G@@h-Gh}rDAh/h)]rEA(j!)rFA}rGA(hNj!KhNhUb0572rHAh}rIAj!hjHAhNhNj!Kh&Nh"}rJAj!U+h(h)]RrKAubj!)rLA}rMA(hNj!KhNhUb0573rNAh}rOAj!hjNAhNhNj!Kh&Nh"}rPAj!U+h(h)]RrQAubj!)rRA}rSA(hNj!KhNhUb0574rTAh}rUAj!hjTAhNhNj!Kh&Nh"}rVAj!U+h(h)]RrWAubj!)rXA}rYA(hNj!KhNhUb0575rZAh}r[Aj!hjZAhNhNj!Kh&Nh"}r\Aj!U+h(h)]Rr]AubeRr^AhUAGt3r_Ah2Gh3h4hNh5U%(b0572 and b0573 and b0574 and b0575)r`Ah"}raAh7Nubh)rbA}rcA(h UMethionine MetabolismrdAh }reA(h)rfA}rgA(hNhNhUS-Ribosyl-L-homocysteinerhAh}riAhUrhcys_crjAhUEhKhGhh)rkA}rlA(hNhU C9H17NO6SrmAh}rnAh"}roAh$}rpA(UHKUCK USKUOKUNKuhjmAubh&Uch"}rqAh(h)]RrrAubG?j9Gj4Gj/G?uhNhU#S-adenosylhomocysteine nucleosidasersAh,G@@h-Gh}rtAh/h)]ruAj 0aRrvAhUAHCYSNSrwAh2Gh3h4hNh5Ub0159rxAh"}ryAh7Nubh)rzA}r{A(h U"Purine and Pyrimidine Biosynthesisr|Ah }r}A(h)r~A}rA(hNhNhU:5-Formamido-1-(5-phospho-D-ribosyl)imidazole-4-carboxamiderAh}rAhUfprica_crAhUEhJhGhh)rA}rA(hNhU C10H13N4O9PrAh}rAh"}rAh$}rA(UHK UCK UPKUOK UNKuhjAubh&Uch"}rAh(h)]RrAubG?jG?jGj;>GuhNhU9phosphoribosylaminoimidazolecarboxamide formyltransferaserAh,G@@h-G@h}rAh/h)]rAj!)rA}rA(hNj!KhNhUb4006rAh}rAj!hjAhNhNj!Kh&Nh"}rAj!U+h(h)]RrAubaRrAhUAICARTrAh2Gh3h4hNh5jAh"}rAh7Nubh)rA}rA(h U"Purine and Pyrimidine BiosynthesisrAh }rA(h)rA}rA(hNhNhU(5-phosphoribosyl-5-carboxyaminoimidazolerAh}rAhU5caiz_crAhUEhJhGhh)rA}rA(hNhU C9H11N3O9PrAh}rAh"}rAh$}rA(UHK UCK UPKUOK UNKuhjAubh&Uch"}rAh(h)]RrAubG?j>G?h)rA}rA(hNhNhU(5-amino-1-(5-phospho-D-ribosyl)imidazolerAh}rAhUair_crAhUEhJhGhh)rA}rA(hNhU C8H12N3O7PrAh}rAh"}rAh$}rA(UHK UCKUPKUOKUNKuhjAubh&Uch"}rAh(h)]RrAubGj-G?j GjG?j4GuhNhU(phosphoribosylaminoimidazole carboxylaserAh,G@@h-Gh}rAh/h)]rAj!)rA}rA(hNj!KhNhUb0522rAh}rAj!hjAhNhNj!Kh&Nh"}rAj!U+h(h)]RrAubaRrAhUAIRC2rAh2Gh3h4hNh5jAh"}rAh7Nubh)rA}rA(h U"Purine and Pyrimidine BiosynthesisrAh }rA(h)rA}rA(hNhNhU65-amino-1-(5-phospho-D-ribosyl)imidazole-4-carboxylaterAh}rAhU5aizc_crAhUEhJhGhh)rA}rA(hNhU C9H11N3O9PrAh}rAh"}rAh$}rA(UHK UCK UPKUOK UNKuhjAubh&Uch"}rAh(h)]RrAubGjAG?uhNhU5phosphoribosylaminoimidazole carboxylase (mutase rxn)rAh,G@@h-G@h}rAh/h)]rAj!)rA}rA(hNj!KhNhUb0523rAh}rAj!hjAhNhNj!Kh&Nh"}rAj!U+h(h)]RrAubaRrAhUAIRC3rAh2Gh3h4hNh5jAh"}rAh7Nubh)rA}rA(h UCitric Acid CyclerAh }rA(jG?j -G?jGj2GjGjG?uhNhU2-Oxogluterate dehydrogenaserAh,G@@h-Gh}rAh/h)]rA(j!)rA}rA(hNj!KhNhUb0726rAh}rAj!hjAhNhNj!Kh&Nh"}rAj!U+h(h)]RrAubj!)rA}rA(hNj!KhNhUb0116rAh}rAj!hjAhNhNj!Kh&Nh"}rAj!U+h(h)]RrAubj!)rA}rA(hNj!KhNhUb0727rAh}rAj!hjAhNhNj!Kh&Nh"}rAj!U+h(h)]RrAubeRrAhUAKGDHrAh2Gh3h4hNh5U(b0116 and b0726 and b0727)rAh"}rAh7Nubh)rA}rA(h UTransport, Inner MembranerAh }rA(j2G?j"Gj>G?h)rA}rB(hNhNhU2-OxoglutaraterBh}rBhUakg_prBhUEhJhGhh)rB}rB(hNhUC5H4O5rBh}rBh"}rBh$}r B(UHKUCKUOKuhjBubh&Uph"}r Bh(h)]Rr BubGuhNhU;2-oxoglutarate reversible transport via symport (periplasm)r Bh,G@@h-G@h}r Bh/h)]rBj!)rB}rB(hNj!KhNhUb2587rBh}rBj!hjBhNhNj!Kh&Nh"}rBj!U+h(h)]RrBubaRrBhUAKGt2rpprBh2Gh3h4hNh5jBh"}rBh7Nubh)rB}rB(h UTransport, Outer Membrane PorinrBh }rB(j GjAG?uhNhUHalpha-ketoglutarate transport via diffusion (extracellular to periplasm)rBh,G@@h-G@h}rBh/h)]rB(j!j!j!j!eRrBhUAKGtexr Bh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r!Bh"}r"Bh7Nubh)r#B}r$B(h UMurein Recyclingr%Bh }r&B(jN/G@h)r'B}r(B(hNhNhUD-Alanyl-D-alaniner)Bh}r*BhUalaala_cr+BhUEhKhGhh)r,B}r-B(hNhU C6H12N2O3r.Bh}r/Bh"}r0Bh$}r1B(UHK UCKUOKUNKuhj.Bubh&Uch"}r2Bh(h)]Rr3BubGj4GuhNhUD-alanine-D-alanine dipeptidaser4Bh,G@@h-Gh}r5Bh/h)]r6Bj!)r7B}r8B(hNj!KhNhUb1488r9Bh}r:Bj!hj9BhNhNj!Kh&Nh"}r;Bj!U+h(h)]RrBh2Gh3h4hNh5j9Bh"}r?Bh7Nubh)r@B}rAB(h UTransport, Inner MembranerBBh }rCB(j Gh)rDB}rEB(hNhNhUD-Alanyl-D-alaninerFBh}rGBhUalaala_prHBhUEhKhGhh)rIB}rJB(hNhU C6H12N2O3rKBh}rLBh"}rMBh$}rNB(UHK UCKUOKUNKuhjKBubh&Uph"}rOBh(h)]RrPBubGj-G?j'BG?j>G?jG?j4GuhNhUBD-alanyl-D-alanine (DalaDala) transport via ABC system (periplasm)rQBh,G@@h-Gh}rRBh/h)]rSB(j!)rTB}rUB(hNj!KhNhUb1484rVBh}rWBj!hjVBhNhNj!Kh&Nh"}rXBj!U+h(h)]RrYBubj!)rZB}r[B(hNj!KhNhUb3541r\Bh}r]Bj!hj\BhNhNj!Kh&Nh"}r^Bj!U+h(h)]Rr_Bubj!)r`B}raB(hNj!KhNhUb3544rbBh}rcBj!hjbBhNhNj!Kh&Nh"}rdBj!U+h(h)]RreBubj!)rfB}rgB(hNj!KhNhUb1487rhBh}riBj!hjhBhNhNj!Kh&Nh"}rjBj!U+h(h)]RrkBubj!)rlB}rmB(hNj!KhNhUb1485rnBh}roBj!hjnBhNhNj!Kh&Nh"}rpBj!U+h(h)]RrqBubj!)rrB}rsB(hNj!KhNhUb3540rtBh}ruBj!hjtBhNhNj!Kh&Nh"}rvBj!U+h(h)]RrwBubj!)rxB}ryB(hNj!KhNhUb3542rzBh}r{Bj!hjzBhNhNj!Kh&Nh"}r|Bj!U+h(h)]Rr}Bubj!)r~B}rB(hNj!KhNhUb3543rBh}rBj!hjBhNhNj!Kh&Nh"}rBj!U+h(h)]RrBubj!)rB}rB(hNj!KhNhUb1483rBh}rBj!hjBhNhNj!Kh&Nh"}rBj!U+h(h)]RrBubj!)rB}rB(hNj!KhNhUb1486rBh}rBj!hjBhNhNj!Kh&Nh"}rBj!U+h(h)]RrBubeRrBhU ALAALAabcpprBh2Gh3h4hNh5Ud((b1487 and b1486 and b1485 and b1484 and b1483) or (b3544 and b3543 and b3542 and b3541 and b3540))rBh"}rBh7Nubh)rB}rB(h UCell Envelope BiosynthesisrBh }rB(j Gj-G?jN/Gj>G?jG?j'BG?uhNhU'D-alanine-D-alanine ligase (reversible)rBh,G@@h-G@h}rBh/h)]rB(j!)rB}rB(hNj!KhNhUb0381rBh}rBj!hjBhNhNj!Kh&Nh"}rBj!U+h(h)]RrBubj!)rB}rB(hNj!KhNhUb0092rBh}rBj!hjBhNhNj!Kh&Nh"}rBj!U+h(h)]RrBubeRrBhUALAALArrBh2Gh3h4hNh5U(b0381 or b0092)rBh"}rBh7Nubh)rB}rB(h UTransport, Outer Membrane PorinrBh }rB(j+ GjDBG?uhNhURD-alanyl-D-alanine (DalaDala) transport via diffusion (extracellular to periplasm)rBh,G@@h-G@h}rBh/h)]rB(j!j!j!j!eRrBhU ALAALAtexrBh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rBh"}rBh7Nubh)rB}rB(h UMurein RecyclingrBh }rB(h)rB}rB(hNhNhUL-alanine-L-glutamaterBh}rBhU LalaLglu_crBhUEhJhGhh)rB}rB(hNhU C8H13N2O5rBh}rBh"}rBh$}rB(UHK UCKUOKUNKuhjBubh&Uch"}rBh(h)]RrBubG?h)rB}rB(hNhNhUL-alanine-D-glutamaterBh}rBhU LalaDglu_crBhUEhJhGhh)rB}rB(hNhU C8H13N2O5rBh}rBh"}rBh$}rB(UHK UCKUOKUNKuhjBubh&Uch"}rBh(h)]RrBubGuhNhU"L-alanyl-gamma-glutamate epimeraserBh,G@@h-G@h}rBh/h)]rBj!)rB}rB(hNj!KhNhUb1325rBh}rBj!hjBhNhNj!Kh&Nh"}rBj!U+h(h)]RrBubaRrBhUALAGLUErBh2Gh3h4hNh5jBh"}rBh7Nubh)rB}rB(h U Alanine and Aspartate MetabolismrBh }rB(jN/G?j[GuhNhUalanine racemaserBh,G@@h-G@h}rBh/h)]rB(j!)rB}rB(hNj!KhNhUb1190rBh}rBj!hjBhNhNj!Kh&Nh"}rBj!U+h(h)]RrBubj!)rB}rB(hNj!KhNhUb4053rBh}rBj!hjBhNhNj!Kh&Nh"}rBj!U+h(h)]RrBubeRrBhUALARrBh2Gh3h4hNh5U(b1190 or b4053)rBh"}rBh7Nubh)rB}rB(h U*Cofactor and Prosthetic Group BiosynthesisrBh }rB(jN/GjGj5G?h)rB}rB(hNhNhUPyridoxamine 5'-phosphaterBh}rBhUpyam5p_crBhUEhJhGhh)rC}rC(hNhU C8H12N2O5PrCh}rCh"}rCh$}rC(UHK UCKUPKUOKUNKuhjCubh&Uch"}rCh(h)]RrCubG?uhNhUD-alanine transaminaserCh,G@@h-Gh}r Ch/h)]r C(j!)r C}r C(hNj!KhNhUb0870r Ch}rCj!hj ChNhNj!Kh&Nh"}rCj!U+h(h)]RrCubj!)rC}rC(hNj!KhNhUb2551rCh}rCj!hjChNhNj!Kh&Nh"}rCj!U+h(h)]RrCubeRrChUALATA_D2rCh2Gh3h4hNh5U(b2551 or b0870)rCh"}rCh7Nubh)rC}rC(h U Alanine and Aspartate MetabolismrCh }rC(j[GjG?j5G?j2GuhNhUL-alanine transaminaserCh,G@@h-G@h}r Ch/h)]r!C(j!)r"C}r#C(hNj!KhNhUb2379r$Ch}r%Cj!hj$ChNhNj!Kh&Nh"}r&Cj!U+h(h)]Rr'Cubj!)r(C}r)C(hNj!KhNhUb2290r*Ch}r+Cj!hj*ChNhNj!Kh&Nh"}r,Cj!U+h(h)]Rr-CubeRr.ChUALATA_Lr/Ch2Gh3h4hNh5U(b2290 or b2379)r0Ch"}r1Ch7Nubh)r2C}r3C(h U*Cofactor and Prosthetic Group Biosynthesisr4Ch }r5C(jBG?jGj5G?j[GuhNhUalanine transaminaser6Ch,G@@h-Gh}r7Ch/h)]r8C(j CjCeRr9ChUALATA_L2r:Ch2Gh3h4hNh5U(b0870 or b2551)r;Ch"}rC(h U tRNA Chargingr?Ch }r@C(j Gh)rAC}rBC(hNhNhUL-Alanyl-tRNA(Ala)rCCh}rDChU alatrna_crEChUEhKhGhh)rFC}rGC(hNhUC3H6NORrHCh}rICh"}rJCh$}rKC(UHKUCKURKUOKUNKuhjHCubh&Uch"}rLCh(h)]RrMCubG?jTG?j[Gj%G?h)rNC}rOC(hNhNhU tRNA(Ala)rPCh}rQChU trnaala_crRChUEhKhGhh)rSC}rTC(hNhURh}rUCh"}rVCh$}rWCURKshURubh&Uch"}rXCh(h)]RrYCubGuhNhUAlanyl-tRNA synthetaserZCh,G@@h-Gh}r[Ch/h)]r\Cj!)r]C}r^C(hNj!KhNhUb2697r_Ch}r`Cj!hj_ChNhNj!Kh&Nh"}raCj!U+h(h)]RrbCubaRrcChUALATRSrdCh2Gh3h4hNh5j_Ch"}reCh7Nubh)rfC}rgC(h UTransport, Inner MembranerhCh }riC(j Gj>G?j4Gh)rjC}rkC(hNhNhU L-AlaninerlCh}rmChUala__L_prnChUEhKhGhh)roC}rpC(hNhUC3H7NO2rqCh}rrCh"}rsCh$}rtC(UHKUCKUOKUNKuhjqCubh&Uph"}ruCh(h)]RrvCubGj-G?jG?j[G?uhNhU.L-alanine transport via ABC system (periplasm)rwCh,G@@h-Gh}rxCh/h)]ryC(j!)rzC}r{C(hNj!KhNhUb3456r|Ch}r}Cj!hj|ChNhNj!Kh&Nh"}r~Cj!U+h(h)]RrCubj!)rC}rC(hNj!KhNhUb3460rCh}rCj!hjChNhNj!Kh&Nh"}rCj!U+h(h)]RrCubj!)rC}rC(hNj!KhNhUb3457rCh}rCj!hjChNhNj!Kh&Nh"}rCj!U+h(h)]RrCubj!)rC}rC(hNj!KhNhUb3455rCh}rCj!hjChNhNj!Kh&Nh"}rCj!U+h(h)]RrCubj!)rC}rC(hNj!KhNhUb3454rCh}rCj!hjChNhNj!Kh&Nh"}rCj!U+h(h)]RrCubeRrChUALAabcpprCh2Gh3h4hNh5U/(b3454 and b3455 and b3457 and b3460 and b3456)rCh"}rCh7Nubh)rC}rC(h UTransport, Inner MembranerCh }rC(j[G?j"Gj>G?jjCGuhNhU5L-alanine transport in via proton symport (periplasm)rCh,G@@h-Gh}rCh/h)]rCj!)rC}rC(hNj!KhNhUb4208rCh}rCj!hjChNhNj!Kh&Nh"}rCj!U+h(h)]RrCubaRrChUALAt2pprCh2Gh3h4hNh5jCh"}rCh7Nubh)rC}rC(h UTransport, Inner MembranerCh }rC(j[G?j>G?j"GjjCGuhNhU=L-alanine reversible transport via proton symport (periplasm)rCh,G@@h-G@h}rCh/h)]RrChUALAt2rpprCh2Gh3h4hNh5Uh"}rCh7Nubh)rC}rC(h UTransport, Inner MembranerCh }rC(j[G?jE;G?j8;GjjCGuhNhU5L-alanine transport in via sodium symport (periplasm)rCh,G@@h-Gh}rCh/h)]rCj!)rC}rC(hNj!KhNhUb0007rCh}rCj!hjChNhNj!Kh&Nh"}rCj!U+h(h)]RrCubaRrChUALAt4pprCh2Gh3h4hNh5jCh"}rCh7Nubh)rC}rC(h UTransport, Outer Membrane PorinrCh }rC(j GjjCG?uhNhU>L-alanine transport via diffusion (extracellular to periplasm)rCh,G@@h-G@h}rCh/h)]rC(j!j!j!j!eRrChUALAtexrCh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rCh"}rCh7Nubh)rC}rC(h UAlternate Carbon MetabolismrCh }rC(jGh)rC}rC(hNhNhUGlycerolrCh}rChUglyc_crChUEhKhGhh)rC}rC(hNhUC3H8O3rCh}rCh"}rCh$}rC(UHKUCKUOKuhjCubh&Uch"}rCh(h)]RrCubG?j>GjG?h)rC}rC(hNhNhUD-GlyceraldehyderCh}rChUglyald_crChUEhKhGhh)rC}rC(hNhUC3H6O3rCh}rCh"}rCh$}rC(UHKUCKUOKuhjCubh&Uch"}rCh(h)]RrCubGuhNhU alcohol dehydrogenase (glycerol)rCh,G@@h-G@h}rCh/h)]rCj!)rC}rC(hNj!KhNhUb0356rCh}rCj!hjChNhNj!Kh&Nh"}rCj!U+h(h)]RrCubaRrChUALCD19rCh2Gh3h4hNh5jCh"}rCh7Nubh)rC}rC(h UPyruvate MetabolismrCh }rC(jG?jGh)rC}rC(hNhNhUEthanolrDh}rDhUetoh_crDhUEhKhGhh)rD}rD(hNhUC2H6OrDh}rDh"}rDh$}rD(UHKUCKUOKuhjDubh&Uch"}r Dh(h)]Rr DubGj>G?j4G?uhNhUalcohol dehydrogenase (ethanol)r Dh,G@@h-G@h}r Dh/h)]r D(j4jCj!)rD}rD(hNj!KhNhUb1478rDh}rDj!hjDhNhNj!Kh&Nh"}rDj!U+h(h)]RrDubeRrDhUALCD2xrDh2Gh3h4hNh5U(b1478 or b1241 or b0356)rDh"}rDh7Nubh)rD}rD(h UAlternate Carbon MetabolismrDh }rD(jG?h)rD}rD(hNhNhUPhenylacetaldehyderDh}rDhUpacald_cr DhUEhKhGhh)r!D}r"D(hNhUC8H8Or#Dh}r$Dh"}r%Dh$}r&D(UHKUCKUOKuhj#Dubh&Uch"}r'Dh(h)]Rr(DubGjGh)r)D}r*D(hNhNhUPhenylacetic acidr+Dh}r,DhUpac_cr-DhUEhJhGhh)r.D}r/D(hNhUC8H7O2r0Dh}r1Dh"}r2Dh$}r3D(UHKUCKUOKuhj0Dubh&Uch"}r4Dh(h)]Rr5DubG?j>G@j4GuhNhU0aldehyde dehydrogenase (phenylacetaldehyde, NAD)r6Dh,G@@h-G@h}r7Dh/h)]r8Dj!)r9D}r:D(hNj!KhNhUb1385r;Dh}rDubaRr?DhUALDD19xrr@Dh2Gh3h4hNh5j;Dh"}rADh7Nubh)rBD}rCD(h UAlternate Carbon MetabolismrDDh }rED(jG?j2G?j>G@jGj4Gj4GuhNhU*aldehyde dehydrogenase (acetaldehyde, NAD)rFDh,G@@h-Gh}rGDh/h)]rHDj!)rID}rJD(hNj!KhNhUb1300rKDh}rLDj!hjKDhNhNj!Kh&Nh"}rMDj!U+h(h)]RrNDubaRrODhUALDD2xrPDh2Gh3h4hNh5jKDh"}rQDh7Nubh)rRD}rSD(h UAlternate Carbon MetabolismrTDh }rUD(j>G@jCG?j)Gj2G?j4Gj4GuhNhU+aldehyde dehydrogenase (acetaldehyde, NADP)rVDh,G@@h-Gh}rWDh/h)]rXDj!)rYD}rZD(hNj!KhNhUb3588r[Dh}r\Dj!hj[DhNhNj!Kh&Nh"}r]Dj!U+h(h)]Rr^DubaRr_DhUALDD2yr`Dh2Gh3h4hNh5j[Dh"}raDh7Nubh)rbD}rcD(h UAlternate Carbon MetabolismrdDh }reD(j4G?j>G@j)GjCG?h)rfD}rgD(hNhNhUPropanalrhDh}riDhUppal_crjDhUEhKhGhh)rkD}rlD(hNhUC3H6OrmDh}rnDh"}roDh$}rpD(UHKUCKUOKuhjmDubh&Uch"}rqDh(h)]RrrDubGj4GuhNhU'aldehyde dehydrogenase (propanal, NADP)rsDh,G@@h-Gh}rtDh/h)]ruDjYDaRrvDhUALDD3yrwDh2Gh3h4hNh5Ub3588rxDh"}ryDh7Nubh)rzD}r{D(h UAlternate Carbon Metabolismr|Dh }r}D(jG?jGh)r~D}rD(hNhNhUButyrate (n-C4:0)rDh}rDhUbut_crDhUEhJhGhh)rD}rD(hNhUC4H7O2rDh}rDh"}rDh$}rD(UHKUCKUOKuhjDubh&Uch"}rDh(h)]RrDubG?h)rD}rD(hNhNhUButanalrDh}rDhUbtal_crDhUEhKhGhh)rD}rD(hNhUC4H8OrDh}rDh"}rDh$}rD(UHKUCKUOKuhjDubh&Uch"}rDh(h)]RrDubGj>G@j4GuhNhU%aldehyde dehydrogenase (butanal, NAD)rDh,G@@h-Gh}rDh/h)]RrDhUALDD4rDh2Gh3h4hNh5Uh"}rDh7Nubh)rD}rD(h UAlternate Carbon MetabolismrDh }rD(h)rD}rD(hNhNhUD-Allose 6-phosphaterDh}rDhUall6p_crDhUEhJhGhh)rD}rD(hNhUC6H11O9PrDh}rDh"}rDh$}rD(UHK UCKUOK UPKuhjDubh&Uch"}rDh(h)]RrDubG?j Gj>G?h)rD}rD(hNhNhUD-AlloserDh}rDhUall__D_crDhUEhKhGhh)rD}rD(hNhUC6H12O6rDh}rDh"}rDh$}rD(UHK UCKUOKuhjDubh&Uch"}rDh(h)]RrDubGj-G?uhNhU Allose kinaserDh,G@@h-Gh}rDh/h)]rDj!)rD}rD(hNj!KhNhUb4084rDh}rDj!hjDhNhNj!Kh&Nh"}rDj!U+h(h)]RrDubaRrDhUALLKrDh2Gh3h4hNh5jDh"}rDh7Nubh)rD}rD(h UAlternate Carbon MetabolismrDh }rD(h)rD}rD(hNhNhUAllulose 6-phosphaterDh}rDhU allul6p_crDhUEhJhGhh)rD}rD(hNhUC6H11O9PrDh}rDh"}rDh$}rD(UHK UCKUOK UPKuhjDubh&Uch"}rDh(h)]RrDubG?jDGuhNhUAllose 6-phosphate isomeraserDh,G@@h-G@h}rDh/h)]rDj!)rD}rD(hNj!KhNhUb4090rDh}rDj!hjDhNhNj!Kh&Nh"}rDj!U+h(h)]RrDubaRrDhUALLPIrDh2Gh3h4hNh5jDh"}rDh7Nubh)rD}rD(h UAlternate Carbon MetabolismrDh }rD(j>Gh)rD}rD(hNhNhU(-)-UreidoglycolaterDh}rDhU urdglyc_crDhUEhJhGhh)rD}rD(hNhUC3H5N2O4rDh}rDh"}rDh$}rD(UHKUCKUOKUNKuhjDubh&Uch"}rDh(h)]RrDubG?j -G?h)rD}rD(hNhNhU AllantoaterDh}rDhUalltt_crDhUEhJhGhh)rD}rD(hNhUC4H7N4O4rDh}rDh"}rDh$}rD(UHKUCKUOKUNKuhjDubh&Uch"}rEh(h)]RrEubGjLG@j4GuhNhUallantoate amidohydrolaserEh,G@@h-Gh}rEh/h)]rEj!)rE}rE(hNj!KhNhUb0516rEh}rEj!hjEhNhNj!Kh&Nh"}r Ej!U+h(h)]Rr EubaRr EhUALLTAMHr Eh2Gh3h4hNh5jEh"}r Eh7Nubh)rE}rE(h UNitrogen MetabolismrEh }rE(jDG?j4Gh)rE}rE(hNhNhU AllantoinrEh}rEhUalltn_crEhUEhKhGhh)rE}rE(hNhUC4H6N4O3rEh}rEh"}rEh$}rE(UHKUCKUOKUNKuhjEubh&Uch"}rEh(h)]RrEubGj>G?uhNhU allantoinaserEh,G@@h-Gh}r Eh/h)]r!Ej!)r"E}r#E(hNj!KhNhUb0512r$Eh}r%Ej!hj$EhNhNj!Kh&Nh"}r&Ej!U+h(h)]Rr'EubaRr(EhUALLTNr)Eh2Gh3h4hNh5j$Eh"}r*Eh7Nubh)r+E}r,E(h UTransport, Inner Membraner-Eh }r.E(j>G?j"Gh)r/E}r0E(hNhNhU Allantoinr1Eh}r2EhUalltn_pr3EhUEhKhGhh)r4E}r5E(hNhUC4H6N4O3r6Eh}r7Eh"}r8Eh$}r9E(UHKUCKUOKUNKuhj6Eubh&Uph"}r:Eh(h)]Rr;EubGjEG?uhNhU5allantoin transport in via proton symport (periplasm)rEj!)r?E}r@E(hNj!KhNhUb0511rAEh}rBEj!hjAEhNhNj!Kh&Nh"}rCEj!U+h(h)]RrDEubaRrEEhU ALLTNt2rpprFEh2Gh3h4hNh5jAEh"}rGEh7Nubh)rHE}rIE(h UTransport, Outer Membrane PorinrJEh }rKE(j/EG?jU GuhNhU>allantoin transport via diffusion (extracellular to periplasm)rLEh,G@@h-G@h}rMEh/h)]rNE(j!j!j!j!eRrOEhUALLTNtexrPEh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rQEh"}rREh7Nubh)rSE}rTE(h UAlternate Carbon MetabolismrUEh }rVE(h)rWE}rXE(hNhNhUD-Fructose 6-phosphaterYEh}rZEhUf6p_cr[EhUEhJhGhh)r\E}r]E(hNhUC6H11O9Pr^Eh}r_Eh"}r`Eh$}raE(UHK UCKUOK UPKuhj^Eubh&Uch"}rbEh(h)]RrcEubG?jDGuhNhUAllulose 6-phosphate epimeraserdEh,G@@h-G@h}reEh/h)]rfEj!)rgE}rhE(hNj!KhNhUb4085riEh}rjEj!hjiEhNhNj!Kh&Nh"}rkEj!U+h(h)]RrlEubaRrmEhUALLULPErnEh2Gh3h4hNh5jiEh"}roEh7Nubh)rpE}rqE(h UTransport, Inner MembranerrEh }rsE(j Gj-G?jDG?h)rtE}ruE(hNhNhUD-AlloservEh}rwEhUall__D_prxEhUEhKhGhh)ryE}rzE(hNhUC6H12O6r{Eh}r|Eh"}r}Eh$}r~E(UHK UCKUOKuhj{Eubh&Uph"}rEh(h)]RrEubGj>G?j4GjG?uhNhU-D-allose transport via ABC system (periplasm)rEh,G@@h-Gh}rEh/h)]rE(j!)rE}rE(hNj!KhNhUb4087rEh}rEj!hjEhNhNj!Kh&Nh"}rEj!U+h(h)]RrEubj!)rE}rE(hNj!KhNhUb4088rEh}rEj!hjEhNhNj!Kh&Nh"}rEj!U+h(h)]RrEubj!)rE}rE(hNj!KhNhUb4086rEh}rEj!hjEhNhNj!Kh&Nh"}rEj!U+h(h)]RrEubeRrEhUALLabcpprEh2Gh3h4hNh5U(b4087 and b4088 and b4086)rEh"}rEh7Nubh)rE}rE(h UTransport, Outer Membrane PorinrEh }rE(j@ GjtEG?uhNhU;Allose transport via diffusion (extracellular to periplasm)rEh,G@@h-G@h}rEh/h)]rE(j!j!j!j!eRrEhUALLtexrEh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rEh"}rEh7Nubh)rE}rE(h U UnassignedrEh }rE(h)rE}rE(hNhNhU lipoproteinrEh}rEhUlpp_prEhUEhKhGhh)rE}rE(hNhU XC16H30O1rEh}rEh"}rEh$}rE(UXKUCKUOKUHKuhjEubh&Uph"}rEh(h)]RrEubG?j %G?h)rE}rE(hNhNhUapplipoproteinrEh}rEhUalpp_prEhUEhKhGhh)rE}rE(hNhUXh}rEh"}rEh$}rEUXKshUXubh&Uph"}rEh(h)]RrEubGjGuhNhUFapolipoprotein N-acyltransferase (phosphatidylethanolamine, periplasm)rEh,G@@h-Gh}rEh/h)]rE(j!)rE}rE(hNj!KhNhUb0657rEh}rEj!hjEhNhNj!Kh&Nh"}rEj!U+h(h)]RrEubj!)rE}rE(hNj!KhNhUb1677rEh}rEj!hjEhNhNj!Kh&Nh"}rEj!U+h(h)]RrEubeRrEhU ALPATE160pprEh2Gh3h4hNh5U(b0657 and b1677)rEh"}rEh7Nubh)rE}rE(h U UnassignedrEh }rE(jEG?j'G?jEGjGuhNhUBapolipoprotein N-acyltransferase (phosphatidylglycerol, periplasm)rEh,G@@h-Gh}rEh/h)]rE(jEjEeRrEhU ALPATG160pprEh2Gh3h4hNh5U(b0657 and b1677)rEh"}rEh7Nubh)rE}rE(h UMethylglyoxal MetabolismrEh }rE(j/1Gj>Gj)G?jCGh)rE}rE(hNhNhUAcetolrEh}rEhUacetol_crEhUEhKhGhh)rE}rE(hNhUC3H6O2rEh}rEh"}rEh$}rE(UHKUCKUOKuhjEubh&Uch"}rEh(h)]RrEubG?uhNhU aldose reductase (methylglyoxal)rEh,G@@h-Gh}rEh/h)]rE(j!)rE}rE(hNj!KhNhUb3012rEh}rEj!hjEhNhNj!Kh&Nh"}rEj!U+h(h)]RrEubj!)rE}rE(hNj!KhNhUb1781rEh}rEj!hjEhNhNj!Kh&Nh"}rEj!U+h(h)]RrEubj!)rF}rF(hNj!KhNhUb0207rFh}rFj!hjFhNhNj!Kh&Nh"}rFj!U+h(h)]RrFubj!)rF}rF(hNj!KhNhUb3001rFh}r Fj!hjFhNhNj!Kh&Nh"}r Fj!U+h(h)]Rr FubeRr FhUALR2r Fh2Gh3h4hNh5U"(b3012 or b0207 or b1781 or b3001)rFh"}rFh7Nubh)rF}rF(h UGlycerophospholipid MetabolismrFh }rF(jGjG?j>Gj!G?jEGuhNhUaldose reductase (acetol)rFh,G@@h-Gh}rFh/h)]rFj!)rF}rF(hNj!KhNhUb3945rFh}rFj!hjFhNhNj!Kh&Nh"}rFj!U+h(h)]RrFubaRrFhUALR4xrFh2Gh3h4hNh5jFh"}rFh7Nubh)r F}r!F(h UAlternate Carbon Metabolismr"Fh }r#F(j4G?h)r$F}r%F(hNhNhU2-Dehydro-3-deoxy-D-gluconater&Fh}r'FhU 2ddglcn_cr(FhUEhJhGhh)r)F}r*F(hNhUC6H9O6r+Fh}r,Fh"}r-Fh$}r.F(UHK UCKUOKuhj+Fubh&Uch"}r/Fh(h)]Rr0FubG?h)r1F}r2F(hNhNhU D-Altronater3Fh}r4FhUaltrn_cr5FhUEhJhGhh)r6F}r7F(hNhUC6H11O7r8Fh}r9Fh"}r:Fh$}r;F(UHK UCKUOKuhj8Fubh&Uch"}rFh,G@@h-Gh}r?Fh/h)]r@Fj!)rAF}rBF(hNj!KhNhUb3091rCFh}rDFj!hjCFhNhNj!Kh&Nh"}rEFj!U+h(h)]RrFFubaRrGFhUALTRHrHFh2Gh3h4hNh5jCFh"}rIFh7Nubh)rJF}rKF(h UMurein RecyclingrLFh }rMF(jb.G?j>Gj4Gj?G?uhNhU,anhydrous-N-Acetylmuramyl-tripeptide amidaserNFh,G@@h-Gh}rOFh/h)]rPFj>aRrQFhUAM3PArRFh2Gh3h4hNh5Ub0110rSFh"}rTFh7Nubh)rUF}rVF(h UMurein RecyclingrWFh }rXF(jA/G?jl?Gj4Gj?G?uhNhU.anhydrous-N-Acetylmuramyl-tetrapeptide amidaserYFh,G@@h-Gh}rZFh/h)]r[Fj>aRr\FhUAM4PAr]Fh2Gh3h4hNh5Ub0110r^Fh"}r_Fh7Nubh)r`F}raF(h UMurein RecyclingrbFh }rcF(jN/G?jl?Gj4Gj>G?uhNhU;anhydrous-N-Acetylmuramyl-tetrapeptide L,D-carboxypeptidaserdFh,G@@h-Gh}reFh/h)]rfFj^/aRrgFhUAM4PCPrhFh2Gh3h4hNh5Ub1192riFh"}rjFh7Nubh)rkF}rlF(h UAlternate Carbon MetabolismrmFh }rnF(h)roF}rpF(hNhNhU MaltotetraoserqFh}rrFhU maltttr_crsFhUEhKhGhh)rtF}ruF(hNhU C24H42O21rvFh}rwFh"}rxFh$}ryF(UHK*UCKUOKuhjvFubh&Uch"}rzFh(h)]Rr{FubG?h)r|F}r}F(hNhNhUMaltoser~Fh}rFhUmalt_crFhUEhKhGhh)rF}rF(hNhU C12H22O11rFh}rFh"}rFh$}rF(UHKUCK UOK uhjFubh&Uch"}rFh(h)]RrFubGh)rF}rF(hNhNhU MaltotrioserFh}rFhUmalttr_crFhUEhKhGhh)rF}rF(hNhU C18H32O16rFh}rFh"}rFh$}rF(UHK UCKUOKuhjFubh&Uch"}rFh(h)]RrFubGh)rF}rF(hNhNhU D-GlucoserFh}rFhUglc__D_crFhUEhKhGhh)rF}rF(hNhUC6H12O6rFh}rFh"}rFh$}rF(UHK UCKUOKuhjFubh&Uch"}rFh(h)]RrFubG?uhNhUAmylomaltase (maltotriose)rFh,G@@h-Gh}rFh/h)]rFj!)rF}rF(hNj!KhNhUb3416rFh}rFj!hjFhNhNj!Kh&Nh"}rFj!U+h(h)]RrFubaRrFhUAMALT1rFh2Gh3h4hNh5jFh"}rFh7Nubh)rF}rF(h UAlternate Carbon MetabolismrFh }rF(joFGjFG?h)rF}rF(hNhNhU MaltopentaoserFh}rFhUmaltpt_crFhUEhKhGhh)rF}rF(hNhU C30H52O26rFh}rFh"}rFh$}rF(UHK4UCKUOKuhjFubh&Uch"}rFh(h)]RrFubG?j|FGuhNhUAmylomaltase (maltotetraose)rFh,G@@h-Gh}rFh/h)]rFjFaRrFhUAMALT2rFh2Gh3h4hNh5Ub3416rFh"}rFh7Nubh)rF}rF(h UAlternate Carbon MetabolismrFh }rF(j|FGjFGjFG?j1G?uhNhUAmylomaltase (maltopentaose)rFh,G@@h-Gh}rFh/h)]rFjFaRrFhUAMALT3rFh2Gh3h4hNh5Ub3416rFh"}rFh7Nubh)rF}rF(h UAlternate Carbon MetabolismrFh }rF(j|FGjFG?j1Gh)rF}rF(hNhNhU MaltoheptaoserFh}rFhUmalthp_crFhUEhKhGhh)rF}rF(hNhU C42H72O36rFh}rFh"}rFh$}rF(UHKHUCK*UOK$uhjFubh&Uch"}rFh(h)]RrFubG?uhNhUAmylomaltase (maltohexaose)rFh,G@@h-Gh}rFh/h)]rFjFaRrFhUAMALT4rFh2Gh3h4hNh5Ub3416rFh"}rFh7Nubh)rF}rF(h UAlternate Carbon MetabolismrFh }rF(j-7Gjd5G?uhNhU)N-acetylmannosamine 6-phosphate epimeraserFh,G@@h-G@h}rFh/h)]rFj!)rF}rF(hNj!KhNhUb3223rFh}rFj!hjFhNhNj!Kh&Nh"}rFj!U+h(h)]RrFubaRrFhUAMANAPErrFh2Gh3h4hNh5jFh"}rFh7Nubh)rF}rF(h UAlternate Carbon MetabolismrFh }rF(j Gj-7G?j7Gj>G?j-G?uhNhUN-acetyl-D-mannosamine kinaserFh,G@@h-Gh}rFh/h)]rGj!)rG}rG(hNj!KhNhUb3222rGh}rGj!hjGhNhNj!Kh&Nh"}rGj!U+h(h)]RrGubaRrGhUAMANKrGh2Gh3h4hNh5jGh"}r Gh7Nubh)r G}r G(h U*Cofactor and Prosthetic Group Biosynthesisr Gh }r G(h)rG}rG(hNhNhU8-Amino-7-oxononanoaterGh}rGhU8aonn_crGhUEhKhGhh)rG}rG(hNhUC9H17NO3rGh}rGh"}rGh$}rG(UHKUCK UOKUNKuhjGubh&Uch"}rGh(h)]RrGubGjGh)rG}rG(hNhNhU7,8-DiaminononanoaterGh}rGhUdann_crGhUEhKhGhh)r G}r!G(hNhU C9H21N2O2r"Gh}r#Gh"}r$Gh$}r%G(UHKUCK UOKUNKuhj"Gubh&Uch"}r&Gh(h)]Rr'GubG?heG?uhNhU6adenosylmethionine-8-amino-7-oxononanoate transaminaser(Gh,G@@h-G@h}r)Gh/h)]r*Gj!)r+G}r,G(hNj!KhNhUb0774r-Gh}r.Gj!hj-GhNhNj!Kh&Nh"}r/Gj!U+h(h)]Rr0GubaRr1GhUAMAOTrr2Gh2Gh3h4hNh5j-Gh"}r3Gh7Nubh)r4G}r5G(h U*Cofactor and Prosthetic Group Biosynthesisr6Gh }r7G(jGj~Gj>G?j9G?jG?uhNhUIS-adenosylmethione:2-demthylmenaquinole methyltransferase (menaquinone 8)r8Gh,G@@h-Gh}r9Gh/h)]r:Gj!)r;G}rGj!hj=GhNhNj!Kh&Nh"}r?Gj!U+h(h)]Rr@GubaRrAGhUAMMQLT8rBGh2Gh3h4hNh5j=Gh"}rCGh7Nubh)rDG}rEG(h U*Cofactor and Prosthetic Group BiosynthesisrFGh }rGG(h)rHG}rIG(hNhNhUFormaterJGh}rKGhUfor_crLGhUEhJhGhh)rMG}rNG(hNhUCH1O2rOGh}rPGh"}rQGh$}rRG(UHKUCKUOKuhjOGubh&Uch"}rSGh(h)]RrTGubG@jG?jAGj>G@ju(G?jGj4GuhNhU54-amino-2-methyl-5-phosphomethylpyrimidine synthetaserUGh,G@@h-Gh}rVGh/h)]rWGj!)rXG}rYG(hNj!KhNhUb3994rZGh}r[Gj!hjZGhNhNj!Kh&Nh"}r\Gj!U+h(h)]Rr]GubaRr^GhUAMPMS2r_Gh2Gh3h4hNh5jZGh"}r`Gh7Nubh)raG}rbG(h UNucleotide Salvage PathwayrcGh }rdG(j4Gj=G?j/G?j%GuhNhUAMP nucleosidasereGh,G@@h-Gh}rfGh/h)]rgGj!)rhG}riG(hNj!KhNhUb1982rjGh}rkGj!hjjGhNhNj!Kh&Nh"}rlGj!U+h(h)]RrmGubaRrnGhUAMPNroGh2Gh3h4hNh5jjGh"}rpGh7Nubh)rqG}rrG(h UCysteine MetabolismrsGh }rtG(hG?jG?j4Gh)ruG}rvG(hNhNhUCys-GlyrwGh}rxGhUcgly_cryGhUEhKhGhh)rzG}r{G(hNhU C5H10N2O3Sr|Gh}r}Gh"}r~Gh$}rG(UHK UCKUSKUOKUNKuhj|Gubh&Uch"}rGh(h)]RrGubGuhNhUalanyl aminopeptidase (cys-gly)rGh,G@@h-Gh}rGh/h)]rG(j!)rG}rG(hNj!KhNhUb4260rGh}rGj!hjGhNhNj!Kh&Nh"}rGj!U+h(h)]RrGubj!)rG}rG(hNj!KhNhUb2523rGh}rGj!hjGhNhNj!Kh&Nh"}rGj!U+h(h)]RrGubj!)rG}rG(hNj!KhNhUb0237rGh}rGj!hjGhNhNj!Kh&Nh"}rGj!U+h(h)]RrGubj!)rG}rG(hNj!KhNhUb0932rGh}rGj!hjGhNhNj!Kh&Nh"}rGj!U+h(h)]RrGubeRrGhU AMPTASECGrGh2Gh3h4hNh5U"(b0237 or b0932 or b4260 or b2523)rGh"}rGh7Nubh)rG}rG(h UArginine and Proline MetabolismrGh }rG(jG?hG?h)rG}rG(hNhNhUL-ProlinylglycinerGh}rGhUprogly_crGhUEhKhGhh)rG}rG(hNhU C7H12N2O3rGh}rGh"}rGh$}rG(UHK UCKUOKUNKuhjGubh&Uch"}rGh(h)]RrGubGj4GuhNhUaminopeptidase (pro-gly)rGh,G@@h-Gh}rGh/h)]rG(jGjGjGjGeRrGhU AMPTASEPGrGh2Gh3h4hNh5U"(b4260 or b0237 or b2523 or b0932)rGh"}rGh7Nubh)rG}rG(h UTransport, Outer Membrane PorinrGh }rG(jj Gh)rG}rG(hNhNhUAMPrGh}rGhUamp_prGhUEhJhGhh)rG}rG(hNhU C10H12N5O7PrGh}rGh"}rGh$}rG(UHK UCK UPKUOKUNKuhjGubh&Uph"}rGh(h)]RrGubG?uhNhU8AMP transport via diffusion (extracellular to periplasm)rGh,G@@h-G@h}rGh/h)]rG(j!j!j!j!eRrGhUAMPtexrGh2Gh3h4hNh5U"(b2215 or b0929 or b1377 or b0241)rGh"}rGh7Nubh)rG}rG(h UTransport, Outer Membrane PorinrGh }rG(j Gj>G?uhNhUEGlcNAc-anhMurNAc transport via diffusion (extracellular to periplasm)rGh,G@@h-G@h}rGh/h)]rG(j!j!j!j!eRrGhUANHGMtexrGh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rGh"}rGh7Nubh)rG}rG(h UMurein RecyclingrGh }rG(j Gj>G?j-G?j6G?j4Gj?GuhNhU%1,6-anhydrous-N-Acetylmuramate kinaserGh,G@@h-Gh}rGh/h)]rGj!)rG}rG(hNj!KhNhUb1640rGh}rGj!hjGhNhNj!Kh&Nh"}rGj!U+h(h)]RrGubaRrGhUANHMKrGh2Gh3h4hNh5jGh"}rGh7Nubh)rG}rG(h U2Tyrosine, Tryptophan, and Phenylalanine MetabolismrGh }rG(jO4GjTG?j=Gh)rG}rG(hNhNhU#N-(5-Phospho-D-ribosyl)anthranilaterGh}rGhUpran_crGhUEhJhGhh)rG}rG(hNhU C12H13NO9PrGh}rGh"}rGh$}rG(UHK UCK UPKUOK UNKuhjGubh&Uch"}rGh(h)]RrGubG?uhNhU&anthranilate phosphoribosyltransferaserGh,G@@h-Gh}rGh/h)]rGj!)rH}rH(hNj!KhNhUb1263rHh}rHj!hjHhNhNj!Kh&Nh"}rHj!U+h(h)]RrHubaRrHhUANPRTrHh2Gh3h4hNh5jHh"}rHh7Nubh)r H}r H(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismr Hh }r H(jO4G?j5G?j>G?jGjaGjG?uhNhUanthranilate synthaser Hh,G@@h-Gh}rHh/h)]rH(j!)rH}rH(hNj!KhNhUb1264rHh}rHj!hjHhNhNj!Kh&Nh"}rHj!U+h(h)]RrHubjHeRrHhUANSrHh2Gh3h4hNh5U(b1263 and b1264)rHh"}rHh7Nubh)rH}rH(h UThreonine and Lysine MetabolismrHh }rH(j>Gj"1G?h)rH}rH(hNhNhUL-2-Amino-3-oxobutanoater Hh}r!HhU2aobut_cr"HhUEhKhGhh)r#H}r$H(hNhUC4H7NO3r%Hh}r&Hh"}r'Hh$}r(H(UHKUCKUOKUNKuhj%Hubh&Uch"}r)Hh(h)]Rr*HubGj -G?uhNhU6L-2-amino-3-oxobutanoate decarboxylation (spontaneous)r+Hh,G@@h-Gh}r,Hh/h)]r-HjB4aRr.HhUAOBUTDsr/Hh2Gh3h4hNh5Us0001r0Hh"}r1Hh7Nubh)r2H}r3H(h U*Cofactor and Prosthetic Group Biosynthesisr4Hh }r5H(j[Gj -G?jGG?j$-G?h)r6H}r7H(hNhNhUPimeloyl-[acyl-carrier protein]r8Hh}r9HhUpimACP_cr:HhUEhJhGhh)r;H}rHh"}r?Hh$}r@H(UCKUHKUOK UNKUPKUSKURKuhj=Hubh&Uch"}rAHh(h)]RrBHubGuhNhU8-amino-7-oxononanoate synthaserCHh,G@@h-Gh}rDHh/h)]rEHj!)rFH}rGH(hNj!KhNhUb0776rHHh}rIHj!hjHHhNhNj!Kh&Nh"}rJHj!U+h(h)]RrKHubaRrLHhUAOXSr2rMHh2Gh3h4hNh5jHHh"}rNHh7Nubh)rOH}rPH(h UNucleotide Salvage PathwayrQHh }rRH(j4Gh)rSH}rTH(hNhNhU%P1,P4-Bis(5'-adenosyl) tetraphosphaterUHh}rVHhUap4a_crWHhUEhJhGhh)rXH}rYH(hNhUC20H24N10O19P4rZHh}r[Hh"}r\Hh$}r]H(UHKUCKUPKUOKUNK uhjZHubh&Uch"}r^Hh(h)]Rr_HubGj>G@j-G@uhNhUAp4A hydrolaser`Hh,G@@h-Gh}raHh/h)]rbHj!)rcH}rdH(hNj!KhNhUb0049reHh}rfHj!hjeHhNhNj!Kh&Nh"}rgHj!U+h(h)]RrhHubaRriHhUAP4AHrjHh2Gh3h4hNh5jeHh"}rkHh7Nubh)rlH}rmH(h UNucleotide Salvage PathwayrnHh }roH(jSHG?j>Gj GjTG?uhNhUAp4A synthetaserpHh,G@@h-Gh}rqHh/h)]rrHj!)rsH}rtH(hNj!KhNhUb4129ruHh}rvHj!hjuHhNhNj!Kh&Nh"}rwHj!U+h(h)]RrxHubaRryHhUAP4ASrzHh2Gh3h4hNh5juHh"}r{Hh7Nubh)r|H}r}H(h UNucleotide Salvage Pathwayr~Hh }rH(j G?j-G?j>G@h)rH}rH(hNhNhU%P1,P5-Bis(5'-adenosyl) pentaphosphaterHh}rHhUap5a_crHhUEhJhGhh)rH}rH(hNhUC20H24N10O22P5rHh}rHh"}rHh$}rH(UHKUCKUPKUOKUNK uhjHubh&Uch"}rHh(h)]RrHubGj4GuhNhUAp5A hydrolaserHh,G@@h-Gh}rHh/h)]rHjcHaRrHhUAP5AHrHh2Gh3h4hNh5Ub0049rHh"}rHh7Nubh)rH}rH(h UArginine and Proline MetabolismrHh }rH(h)rH}rH(hNhNhU5-MethylthioadenosinerHh}rHhU5mta_crHhUEhKhGhh)rH}rH(hNhU C11H15N5O3SrHh}rHh"}rHh$}rH(UHKUCK USKUOKUNKuhjHubh&Uch"}rHh(h)]RrHubG?jq<Gj>G?h)rH}rH(hNhNhU1,5-DiaminopentanerHh}rHhU15dap_crHhUEhKhGhh)rH}rH(hNhUC5H16N2rHh}rHh"}rHh$}rH(UHKUCKUNKuhjHubh&Uch"}rHh(h)]RrHubGh)rH}rH(hNhNhU"N-3-aminopropyl-1,5-diaminopentanerHh}rHhU na15dap_crHhUEhKhGhh)rH}rH(hNhUC8H24N3rHh}rHh"}rHh$}rH(UHKUCKUNKuhjHubh&Uch"}rHh(h)]RrHubG?uhNhUaminopropylcadaverine synthaserHh,G@@h-Gh}rHh/h)]rHj!)rH}rH(hNj!KhNhUb0121rHh}rHj!hjHhNhNj!Kh&Nh"}rHj!U+h(h)]RrHubaRrHhUAPCSrHh2Gh3h4hNh5jHh"}rHh7Nubh)rH}rH(h UGlycerophospholipid MetabolismrHh }rH(j+@G?j>G?j9Gh)rH}rH(hNhNhUGlycerol 3-phosphaterHh}rHhUglyc3p_crHhUEhJhGhh)rH}rH(hNhUC3H7O6PrHh}rHh"}rHh$}rH(UHKUCKUOKUPKuhjHubh&Uch"}rHh(h)]RrHubGjG?uhNhU;acyl-phosphate:glycerol-3-phosphate acyltransferase (C12:0)rHh,G@@h-Gh}rHh/h)]rHj!)rH}rH(hNj!KhNhUb3059rHh}rHj!hjHhNhNj!Kh&Nh"}rHj!U+h(h)]RrHubaRrHhU APG3PAT120rHh2Gh3h4hNh5jHh"}rHh7Nubh)rH}rH(h UGlycerophospholipid MetabolismrHh }rH(j>G?jHGj:GjG?jU@G?uhNhU;acyl-phosphate:glycerol-3-phosphate acyltransferase (C14:0)rHh,G@@h-Gh}rHh/h)]rHjHaRrHhU APG3PAT140rHh2Gh3h4hNh5Ub3059rHh"}rHh7Nubh)rH}rH(h UGlycerophospholipid MetabolismrHh }rH(j>G?jHGjm@G?j2:GjG?uhNhU;acyl-phosphate:glycerol-3-phosphate acyltransferase (C14:1)rHh,G@@h-Gh}rHh/h)]rHjHaRrHhU APG3PAT141rHh2Gh3h4hNh5Ub3059rHh"}rHh7Nubh)rH}rH(h UGlycerophospholipid MetabolismrIh }rI(j@G?jHGj>G?jG?jJ:GuhNhU;acyl-phosphate:glycerol-3-phosphate acyltransferase (C16:0)rIh,G@@h-Gh}rIh/h)]rIjHaRrIhU APG3PAT160rIh2Gh3h4hNh5Ub3059rIh"}rIh7Nubh)r I}r I(h UGlycerophospholipid Metabolismr Ih }r I(j>G?j@G?jHGjb:GjG?uhNhU;acyl-phosphate:glycerol-3-phosphate acyltransferase (C16:1)r Ih,G@@h-Gh}rIh/h)]rIjHaRrIhU APG3PAT161rIh2Gh3h4hNh5Ub3059rIh"}rIh7Nubh)rI}rI(h UGlycerophospholipid MetabolismrIh }rI(jz:Gj>G?jHGjG?j@G?uhNhU;acyl-phosphate:glycerol-3-phosphate acyltransferase (C18:0)rIh,G@@h-Gh}rIh/h)]rIjHaRrIhU APG3PAT180rIh2Gh3h4hNh5Ub3059rIh"}rIh7Nubh)rI}r I(h UGlycerophospholipid Metabolismr!Ih }r"I(j>G?j:GjAG?jHGjG?uhNhU;acyl-phosphate:glycerol-3-phosphate acyltransferase (C18:1)r#Ih,G@@h-Gh}r$Ih/h)]r%IjHaRr&IhU APG3PAT181r'Ih2Gh3h4hNh5Ub3059r(Ih"}r)Ih7Nubh)r*I}r+I(h UGlycerophospholipid Metabolismr,Ih }r-I(j9Gj>G@jG?j%G?j4GuhNhUacylphosphatase (C12:0)r.Ih,G@@h-Gh}r/Ih/h)]r0Ij!)r1I}r2I(hNj!KhNhUb0968r3Ih}r4Ij!hj3IhNhNj!Kh&Nh"}r5Ij!U+h(h)]Rr6IubaRr7IhUAPH120r8Ih2Gh3h4hNh5j3Ih"}r9Ih7Nubh)r:I}r;I(h UGlycerophospholipid MetabolismrG@jG?j4GuhNhUacylphosphatase (C14:0)r>Ih,G@@h-Gh}r?Ih/h)]r@Ij1IaRrAIhUAPH140rBIh2Gh3h4hNh5Ub0968rCIh"}rDIh7Nubh)rEI}rFI(h UGlycerophospholipid MetabolismrGIh }rHI(j>G@j2:Gj&G?j4GjG?uhNhUacylphosphatase (C14:1)rIIh,G@@h-Gh}rJIh/h)]rKIj1IaRrLIhUAPH141rMIh2Gh3h4hNh5Ub0968rNIh"}rOIh7Nubh)rPI}rQI(h UGlycerophospholipid MetabolismrRIh }rSI(j>G@j&G?jG?j4GjJ:GuhNhUacylphosphatase (C16:0)rTIh,G@@h-Gh}rUIh/h)]rVIj1IaRrWIhUAPH160rXIh2Gh3h4hNh5Ub0968rYIh"}rZIh7Nubh)r[I}r\I(h UGlycerophospholipid Metabolismr]Ih }r^I(j7&G?j>G@jG?j4Gjb:GuhNhUacylphosphatase (C16:1)r_Ih,G@@h-Gh}r`Ih/h)]raIj1IaRrbIhUAPH161rcIh2Gh3h4hNh5Ub0968rdIh"}reIh7Nubh)rfI}rgI(h UGlycerophospholipid MetabolismrhIh }riI(jz:Gj>G@j\&G?jG?j4GuhNhUacylphosphatase (C18:0)rjIh,G@@h-Gh}rkIh/h)]rlIj1IaRrmIhUAPH180rnIh2Gh3h4hNh5Ub0968roIh"}rpIh7Nubh)rqI}rrI(h UGlycerophospholipid MetabolismrsIh }rtI(jt&G?j:Gj>G@jG?j4GuhNhUacylphosphatase (C18:1)ruIh,G@@h-Gh}rvIh/h)]rwIj1IaRrxIhUAPH181ryIh2Gh3h4hNh5Ub0968rzIh"}r{Ih7Nubh)r|I}r}I(h UThreonine and Lysine Metabolismr~Ih }rI(jGjG?j>Gj"1Gh)rI}rI(hNhNhU1-Aminopropan-2-olrIh}rIhUappl_crIhUEhKhGhh)rI}rI(hNhUC3H10NOrIh}rIh"}rIh$}rI(UHK UCKUOKUNKuhjIubh&Uch"}rIh(h)]RrIubG?uhNhU&aminopropanol dehydrogenase reversiblerIh,G@@h-G@h}rIh/h)]rIjFaRrIhUAPPLDHrrIh2Gh3h4hNh5Ub3945rIh"}rIh7Nubh)rI}rI(h U*Cofactor and Prosthetic Group BiosynthesisrIh }rI(jCGj)G?j>Gh)rI}rI(hNhNhU(5-Amino-6-(5'-phosphoribitylamino)uracilrIh}rIhU5aprbu_crIhUEhJhGhh)rI}rI(hNhU C9H15N4O9PrIh}rIh"}rIh$}rI(UHKUCK UPKUOK UNKuhjIubh&Uch"}rIh(h)]RrIubG?h)rI}rI(hNhNhU(5-Amino-6-(5'-phosphoribosylamino)uracilrIh}rIhU5apru_crIhUEhJhGhh)rI}rI(hNhU C9H13N4O9PrIh}rIh"}rIh$}rI(UHK UCK UPKUOK UNKuhjIubh&Uch"}rIh(h)]RrIubGuhNhU15-amino-6-(5-phosphoribosylamino)uracil reductaserIh,G@@h-Gh}rIh/h)]rIj!)rI}rI(hNj!KhNhUb0414rIh}rIj!hjIhNhNj!Kh&Nh"}rIj!U+h(h)]RrIubaRrIhUAPRAURrIh2Gh3h4hNh5jIh"}rIh7Nubh)rI}rI(h UAlternate Carbon MetabolismrIh }rI(h)rI}rI(hNhNhU L-ArabinoserIh}rIhU arab__L_crIhUEhKhGhh)rI}rI(hNhUC5H10O5rIh}rIh"}rIh$}rI(UHK UCKUOKuhjIubh&Uch"}rIh(h)]RrIubGh)rI}rI(hNhNhU L-RibuloserIh}rIhUrbl__L_crIhUEhKhGhh)rI}rI(hNhUC5H10O5rIh}rIh"}rIh$}rI(UHK UCKUOKuhjIubh&Uch"}rIh(h)]RrIubG?uhNhUL-arabinose isomeraserIh,G@@h-G@h}rIh/h)]rIj!)rI}rI(hNj!KhNhUb0062rIh}rIj!hjIhNhNj!Kh&Nh"}rIj!U+h(h)]RrIubaRrIhUARAIrIh2Gh3h4hNh5jIh"}rIh7Nubh)rI}rI(h U&Inorganic Ion Transport and MetabolismrIh }rI(j7Gj>G@h)rI}rI(hNhNhUaerobactin minus Fe3rIh}rIhUarbtn_crIhUEhJhGhh)rI}rI(hNhU C22H33N4O13rIh}rIh"}rIh$}rI(UHK!UCKUOK UNKuhjIubh&Uch"}rIh(h)]RrIubG@h)rI}rI(hNhNhU AerobactinrIh}rIhU arbtn__fe3_crIhUEhKhGhh)rI}rI(hNhU C22H33FeN4O13rJh}rJh"}rJh$}rJ(UHK!UCKUFeKUOK UNKuhjJubh&Uch"}rJh(h)]RrJubGjG?j6G@uhNhUaerobactin reductaserJh,G@@h-Gh}rJh/h)]RrJhUARBTNR1r Jh2Gh3h4hNh5Uh"}r Jh7Nubh)r J}r J(h U&Inorganic Ion Transport and Metabolismr Jh }rJ(h)rJ}rJ(hNhNhUFMNrJh}rJhUfmn_crJhUEhJhGhh)rJ}rJ(hNhU C17H19N4O9PrJh}rJh"}rJh$}rJ(UHKUCKUPKUOK UNKuhjJubh&Uch"}rJh(h)]RrJubG?jIG@j>G@j6G@jIGh)rJ}rJ(hNhNhU Reduced FMNrJh}rJhUfmnh2_cr JhUEhJhGhh)r!J}r"J(hNhU C17H21N4O9Pr#Jh}r$Jh"}r%Jh$}r&J(UHKUCKUPKUOK UNKuhj#Jubh&Uch"}r'Jh(h)]Rr(JubGuhNhUaerobactin reductaser)Jh,G@@h-Gh}r*Jh/h)]Rr+JhUARBTNR2r,Jh2Gh3h4hNh5Uh"}r-Jh7Nubh)r.J}r/J(h U&Inorganic Ion Transport and Metabolismr0Jh }r1J(j'G?jIGj>G@h)r2J}r3J(hNhNhUReduced riboflavinr4Jh}r5JhU rbflvrd_cr6JhUEhKhGhh)r7J}r8J(hNhU C17H22N4O6r9Jh}r:Jh"}r;Jh$}rJubGjIG@j6G@uhNhUaerobactin reductaser?Jh,G@@h-Gh}r@Jh/h)]RrAJhUARBTNR3rBJh2Gh3h4hNh5Uh"}rCJh7Nubh)rDJ}rEJ(h UTransport, Inner MembranerFJh }rGJ(j GjIG?j4Gj>G?j-G?jG?h)rHJ}rIJ(hNhNhU AerobactinrJJh}rKJhU arbtn__fe3_prLJhUEhKhGhh)rMJ}rNJ(hNhU C22H33FeN4O13rOJh}rPJh"}rQJh$}rRJ(UHK!UCKUFeKUOK UNKuhjOJubh&Uph"}rSJh(h)]RrTJubGuhNhU/aerobactin transport via ABC system (periplasm)rUJh,G@@h-Gh}rVJh/h)]rWJ(j!)rXJ}rYJ(hNj!KhNhUb0153rZJh}r[Jj!hjZJhNhNj!Kh&Nh"}r\Jj!U+h(h)]Rr]Jubj!)r^J}r_J(hNj!KhNhUb0151r`Jh}raJj!hj`JhNhNj!Kh&Nh"}rbJj!U+h(h)]RrcJubj!)rdJ}reJ(hNj!KhNhUb0152rfJh}rgJj!hjfJhNhNj!Kh&Nh"}rhJj!U+h(h)]RriJubeRrjJhU ARBTNabcpprkJh2Gh3h4hNh5U(b0153 and b0151 and b0152)rlJh"}rmJh7Nubh)rnJ}roJ(h U&Inorganic Ion Transport and MetabolismrpJh }rqJ(jGj Gj G?uhNhU,aerobactin Fe-loading reaction (spontaneous)rrJh,G@@h-Gh}rsJh/h)]rtJjB4aRruJhUARBTNexsrvJh2Gh3h4hNh5Us0001rwJh"}rxJh7Nubh)ryJ}rzJ(h UTransport, Outer Membraner{Jh }r|J(h)r}J}r~J(hNhNhUaerobactin minus Fe3rJh}rJhUarbtn_prJhUEhJhGhh)rJ}rJ(hNhU C22H33N4O13rJh}rJh"}rJh$}rJ(UHK!UCKUOK UNKuhjJubh&Uph"}rJh(h)]RrJubGj"Gj>G?j G?uhNhU'aerobactin secretion (to extracellular)rJh,G@@h-Gh}rJh/h)]RrJhUARBTNtexrJh2Gh3h4hNh5Uh"}rJh7Nubh)rJ}rJ(h UTransport, Outer MembranerJh }rJ(j>G?j Gj"GjHJG?uhNhU3aerobactin transport via ton system (extracellular)rJh,G@@h-Gh}rJh/h)]RrJhU ARBTNtonexrJh2Gh3h4hNh5Uh"}rJh7Nubh)rJ}rJ(h U&Inorganic Ion Transport and MetabolismrJh }rJ(j>G?jIGj"Gj}JG?uhNhU#aerobactin secretion (to periplasm)rJh,G@@h-Gh}rJh/h)]RrJhUARBTNtpprJh2Gh3h4hNh5Uh"}rJh7Nubh)rJ}rJ(h UTransport, Inner MembranerJh }rJ(j5G?h)rJ}rJ(hNhNhUArbutinrJh}rJhUarbt_prJhUEhKhGhh)rJ}rJ(hNhUC12H16O7rJh}rJh"}rJh$}rJ(UHKUCK UOKuhjJubh&Uph"}rJh(h)]RrJubGj1G?j5GuhNhU-arbutin transport via PEP:Pyr PTS (periplasm)rJh,G@@h-Gh}rJh/h)]rJ(j6j!)rJ}rJ(hNj!KhNhUb2715rJh}rJj!hjJhNhNj!Kh&Nh"}rJj!U+h(h)]RrJubj5j!)rJ}rJ(hNj!KhNhUb3722rJh}rJj!hjJhNhNj!Kh&Nh"}rJj!U+h(h)]RrJubeRrJhU ARBTptspprJh2Gh3h4hNh5U<((b3722 and b2415 and b2416) or (b2715 and b2415 and b2416))rJh"}rJh7Nubh)rJ}rJ(h UTransport, Outer Membrane PorinrJh }rJ(jJG?j GuhNhUG?j4GjG?j-G?uhNhU0L-arabinose transport via ABC system (periplasm)rJh,G@@h-Gh}rJh/h)]rJ(j!)rJ}rJ(hNj!KhNhUb4460rJh}rJj!hjJhNhNj!Kh&Nh"}rJj!U+h(h)]RrJubj!)rJ}rJ(hNj!KhNhUb1901rJh}rJj!hjJhNhNj!Kh&Nh"}rJj!U+h(h)]RrJubj!)rJ}rJ(hNj!KhNhUb1900rJh}rJj!hjJhNhNj!Kh&Nh"}rJj!U+h(h)]RrJubeRrJhUARBabcpprJh2Gh3h4hNh5U(b1901 and b1900 and b4460)rJh"}rJh7Nubh)rJ}rJ(h UTransport, Inner MembranerJh }rJ(jIG?j"Gj>G?jJGuhNhU4L-arabinose transport via proton symport (periplasm)rJh,G@@h-G@h}rJh/h)]rKj!)rK}rK(hNj!KhNhUb2841rKh}rKj!hjKhNhNj!Kh&Nh"}rKj!U+h(h)]RrKubaRrKhUARBt2rpprKh2Gh3h4hNh5jKh"}r Kh7Nubh)r K}r K(h UTransport, Inner Membraner Kh }r K(jJG?j"Gj>G?jIGuhNhU5L-arabinose transport via proton antiport (periplasm)rKh,G@@h-Gh}rKh/h)]rKj!)rK}rK(hNj!KhNhUb1528rKh}rKj!hjKhNhNj!Kh&Nh"}rKj!U+h(h)]RrKubaRrKhUARBt3ipprKh2Gh3h4hNh5jKh"}rKh7Nubh)rK}rK(h UTransport, Outer Membrane PorinrKh }rK(j GjJG?uhNhU@L-arabinose transport via diffusion (extracellular to periplasm)rKh,G@@h-G@h}rKh/h)]r K(j!j!j!j!eRr!KhUARBtexr"Kh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r#Kh"}r$Kh7Nubh)r%K}r&K(h UTransport, Inner Membraner'Kh }r(K(h)r)K}r*K(hNhNhU L-Argininer+Kh}r,KhUarg__L_pr-KhUEhKhGhh)r.K}r/K(hNhU C6H15N4O2r0Kh}r1Kh"}r2Kh$}r3K(UHKUCKUOKUNKuhj0Kubh&Uph"}r4Kh(h)]Rr5KubGjG?j?Gj@G?uhNhU&Arginine/agmatine antiport (periplasm)r6Kh,G@@h-G@h}r7Kh/h)]r8Kj!)r9K}r:K(hNj!KhNhUb4115r;Kh}rKubaRr?KhU ARGAGMt7ppr@Kh2Gh3h4hNh5j;Kh"}rAKh7Nubh)rBK}rCK(h UArginine and Proline MetabolismrDKh }rEK(jGj?G?j -G?j>GuhNhUarginine decarboxylaserFKh,G@@h-Gh}rGKh/h)]rHKj!)rIK}rJK(hNj!KhNhUb4117rKKh}rLKj!hjKKhNhNj!Kh&Nh"}rMKj!U+h(h)]RrNKubaRrOKhUARGDCrPKh2Gh3h4hNh5jKKh"}rQKh7Nubh)rRK}rSK(h UArginine and Proline MetabolismrTKh }rUK(j"Gj@G?j)KGh)rVK}rWK(hNhNhUCO2rXKh}rYKhUco2_prZKhUEhKhGhh)r[K}r\K(hNhUCO2r]Kh}r^Kh"}r_Kh$}r`K(UCKUOKuhj]Kubh&Uph"}raKh(h)]RrbKubG?uhNhUarginine decarboxylasercKh,G@@h-Gh}rdKh/h)]reKj!)rfK}rgK(hNj!KhNhUb2938rhKh}riKj!hjhKhNhNj!Kh&Nh"}rjKj!U+h(h)]RrkKubaRrlKhUARGDCpprmKh2Gh3h4hNh5jhKh"}rnKh7Nubh)roK}rpK(h UTransport, Inner MembranerqKh }rrK(jG?j)KGj8Gh)rsK}rtK(hNhNhU OrnithineruKh}rvKhUorn_prwKhUEhKhGhh)rxK}ryK(hNhU C5H13N2O2rzKh}r{Kh"}r|Kh$}r}K(UHK UCKUOKUNKuhjzKubh&Uph"}r~Kh(h)]RrKubG?uhNhU)arginine/ornithine antiporter (periplasm)rKh,G@@h-G@h}rKh/h)]rKj!)rK}rK(hNj!KhNhUb1605rKh}rKj!hjKhNhNj!Kh&Nh"}rKj!U+h(h)]RrKubaRrKhU ARGORNt7pprKh2Gh3h4hNh5jKh"}rKh7Nubh)rK}rK(h UArginine and Proline MetabolismrKh }rK(jG?h)rK}rK(hNhNhUN(omega)-(L-Arginino)succinaterKh}rKhUargsuc_crKhUEhJhGhh)rK}rK(hNhU C10H17N4O6rKh}rKh"}rKh$}rK(UHKUCK UOKUNKuhjKubh&Uch"}rKh(h)]RrKubGj>G?uhNhUargininosuccinate lyaserKh,G@@h-G@h}rKh/h)]rKj!)rK}rK(hNj!KhNhUb3960rKh}rKj!hjKhNhNj!Kh&Nh"}rKj!U+h(h)]RrKubaRrKhUARGSLrKh2Gh3h4hNh5jKh"}rKh7Nubh)rK}rK(h UArginine and Proline MetabolismrKh }rK(j%G?j GjKG?jTG?j>G?jGh)rK}rK(hNhNhU L-CitrullinerKh}rKhU citr__L_crKhUEhKhGhh)rK}rK(hNhU C6H13N3O3rKh}rKh"}rKh$}rK(UHK UCKUOKUNKuhjKubh&Uch"}rKh(h)]RrKubGuhNhUargininosuccinate synthaserKh,G@@h-Gh}rKh/h)]rKj!)rK}rK(hNj!KhNhUb3172rKh}rKj!hjKhNhNj!Kh&Nh"}rKj!U+h(h)]RrKubaRrKhUARGSSrKh2Gh3h4hNh5jKh"}rKh7Nubh)rK}rK(h U tRNA ChargingrKh }rK(jGj Gh)rK}rK(hNhNhUL-Arginyl-tRNA(Arg)rKh}rKhU argtrna_crKhUEhKhGhh)rK}rK(hNhU C6H14N4ORrKh}rKh"}rKh$}rK(UHKUCKURKUOKUNKuhjKubh&Uch"}rKh(h)]RrKubG?jTG?j%G?h)rK}rK(hNhNhU tRNA(Arg)rKh}rKhU trnaarg_crKhUEhKhGhh)rK}rK(hNhURh}rKh"}rKh$}rKURKshURubh&Uch"}rKh(h)]RrKubGuhNhUArginyl-tRNA synthetaserKh,G@@h-Gh}rKh/h)]rKj!)rK}rK(hNj!KhNhUb1876rKh}rKj!hjKhNhNj!Kh&Nh"}rKj!U+h(h)]RrKubaRrKhUARGTRSrKh2Gh3h4hNh5jKh"}rKh7Nubh)rK}rK(h UTransport, Inner MembranerKh }rK(j Gj>G?j-G?jG?j4GjG?j)KGuhNhU/L-arginine transport via ABC system (periplasm)rKh,G@@h-Gh}rKh/h)]rK(j!)rK}rK(hNj!KhNhUb2307rKh}rKj!hjKhNhNj!Kh&Nh"}rKj!U+h(h)]RrKubj!)rK}rK(hNj!KhNhUb0864rKh}rKj!hjKhNhNj!Kh&Nh"}rLj!U+h(h)]RrLubj!)rL}rL(hNj!KhNhUb0863rLh}rLj!hjLhNhNj!Kh&Nh"}rLj!U+h(h)]RrLubj!)rL}r L(hNj!KhNhUb0860r Lh}r Lj!hj LhNhNj!Kh&Nh"}r Lj!U+h(h)]Rr Lubj!)rL}rL(hNj!KhNhUb0861rLh}rLj!hjLhNhNj!Kh&Nh"}rLj!U+h(h)]RrLubj!)rL}rL(hNj!KhNhUb2310rLh}rLj!hjLhNhNj!Kh&Nh"}rLj!U+h(h)]RrLubj!)rL}rL(hNj!KhNhUb0862rLh}rLj!hjLhNhNj!Kh&Nh"}rLj!U+h(h)]RrLubj!)r L}r!L(hNj!KhNhUb2308r"Lh}r#Lj!hj"LhNhNj!Kh&Nh"}r$Lj!U+h(h)]Rr%Lubj!)r&L}r'L(hNj!KhNhUb2306r(Lh}r)Lj!hj(LhNhNj!Kh&Nh"}r*Lj!U+h(h)]Rr+LubeRr,LhUARGabcppr-Lh2Gh3h4hNh5UZ((b2310 and b2307 and b2306 and b2308) or (b0863 and b0860 and b0861 and b0864 and b0862))r.Lh"}r/Lh7Nubh)r0L}r1L(h UTransport, Inner Membraner2Lh }r3L(j>G?j"Gj)KG?jGuhNhUEL-arginine transport out via proton antiport (cytoplasm to periplasm)r4Lh,G@@h-Gh}r5Lh/h)]r6Lj!)r7L}r8L(hNj!KhNhUb2923r9Lh}r:Lj!hj9LhNhNj!Kh&Nh"}r;Lj!U+h(h)]RrLh2Gh3h4hNh5j9Lh"}r?Lh7Nubh)r@L}rAL(h UTransport, Outer Membrane PorinrBLh }rCL(j Gj)KG?uhNhU?L-arginine transport via diffusion (extracellular to periplasm)rDLh,G@@h-G@h}rELh/h)]rFL(j!j!j!j!eRrGLhUARGtexrHLh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rILh"}rJLh7Nubh)rKL}rLL(h UThreonine and Lysine MetabolismrMLh }rNL(j>G?h)rOL}rPL(hNhNhU4-Phospho-L-aspartaterQLh}rRLhU4pasp_crSLhUEhJhGhh)rTL}rUL(hNhUC4H6NO7PrVLh}rWLh"}rXLh$}rYL(UHKUCKUPKUOKUNKuhjVLubh&Uch"}rZLh(h)]Rr[LubG?jCG?jGh)r\L}r]L(hNhNhUL-Aspartate 4-semialdehyder^Lh}r_LhUaspsa_cr`LhUEhKhGhh)raL}rbL(hNhUC4H7NO3rcLh}rdLh"}reLh$}rfL(UHKUCKUOKUNKuhjcLubh&Uch"}rgLh(h)]RrhLubGj)GuhNhU$aspartate-semialdehyde dehydrogenaseriLh,G@@h-G@h}rjLh/h)]rkLj!)rlL}rmL(hNj!KhNhUb3433rnLh}roLj!hjnLhNhNj!Kh&Nh"}rpLj!U+h(h)]RrqLubaRrrLhUASADrsLh2Gh3h4hNh5jnLh"}rtLh7Nubh)ruL}rvL(h UAlternate Carbon MetabolismrwLh }rxL(j>G?jN+G?j4Gh)ryL}rzL(hNhNhUL-ascorbate-6-phosphater{Lh}r|LhUascb6p_cr}LhUEhJhGhh)r~L}rL(hNhUC6H7O9PrLh}rLh"}rLh$}rL(UHKUCKUOK UPKuhjLubh&Uch"}rLh(h)]RrLubGuhNhU!L-ascorbate 6-phosphate lactonaserLh,G@@h-Gh}rLh/h)]rLj!)rL}rL(hNj!KhNhUb4192rLh}rLj!hjLhNhNj!Kh&Nh"}rLj!U+h(h)]RrLubaRrLhUASCBPLrLh2Gh3h4hNh5jLh"}rLh7Nubh)rL}rL(h UTransport, Inner MembranerLh }rL(jyLG?j5Gj5G?h)rL}rL(hNhNhU L-AscorbaterLh}rLhU ascb__L_prLhUEhKhGhh)rL}rL(hNhUC6H8O6rLh}rLh"}rLh$}rL(UHKUCKUOKuhjLubh&Uph"}rLh(h)]RrLubGuhNhU1L-ascorbate transport via PEP:Pyr PTS (periplasm)rLh,G@@h-Gh}rLh/h)]rL(j5j!)rL}rL(hNj!KhNhUb4195rLh}rLj!hjLhNhNj!Kh&Nh"}rLj!U+h(h)]RrLubj6j!)rL}rL(hNj!KhNhUb4194rLh}rLj!hjLhNhNj!Kh&Nh"}rLj!U+h(h)]RrLubj!)rL}rL(hNj!KhNhUb4193rLh}rLj!hjLhNhNj!Kh&Nh"}rLj!U+h(h)]RrLubeRrLhU ASCBptspprLh2Gh3h4hNh5U/(b2415 and b2416 and b4195 and b4194 and b4193)rLh"}rLh7Nubh)rL}rL(h UTransport, Outer Membrane PorinrLh }rL(j GjLG?uhNhU@L-ascorbate transport via diffusion (extracellular to periplasm)rLh,G@@h-G@h}rLh/h)]rL(j!j!j!j!eRrLhUASCBtexrLh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rLh"}rLh7Nubh)rL}rL(h U Alanine and Aspartate MetabolismrLh }rL(jLG?jG?jGj4GuhNhUL-asparaginaserLh,G@@h-Gh}rLh/h)]rL(j!)rL}rL(hNj!KhNhUb0828rLh}rLj!hjLhNhNj!Kh&Nh"}rLj!U+h(h)]RrLubj!)rL}rL(hNj!KhNhUb1767rLh}rLj!hjLhNhNj!Kh&Nh"}rLj!U+h(h)]RrLubeRrLhUASNNrLh2Gh3h4hNh5U(b1767 or b0828)rLh"}rLh7Nubh)rL}rL(h U Alanine and Aspartate MetabolismrLh }rL(h)rL}rL(hNhNhU L-AspartaterLh}rLhUasp__L_prLhUEhJhGhh)rL}rL(hNhUC4H6NO4rLh}rLh"}rLh$}rL(UHKUCKUOKUNKuhjLubh&Uph"}rLh(h)]RrLubG?j.G?h)rL}rL(hNhNhU L-AsparaginerLh}rLhUasn__L_prLhUEhKhGhh)rL}rL(hNhUC4H8N2O3rLh}rLh"}rLh$}rL(UHKUCKUOKUNKuhjLubh&Uph"}rLh(h)]RrLubGj#GuhNhUL-asparaginaserLh,G@@h-Gh}rLh/h)]rLj!)rL}rM(hNj!KhNhUb2957rMh}rMj!hjMhNhNj!Kh&Nh"}rMj!U+h(h)]RrMubaRrMhUASNNpprMh2Gh3h4hNh5jMh"}rMh7Nubh)rM}r M(h U Alanine and Aspartate Metabolismr Mh }r M(j%G?j GjG?jTG?j>G?jaGjGj4GjG?uhNhU+asparagine synthase (glutamine-hydrolysing)r Mh,G@@h-Gh}r Mh/h)]rMj!)rM}rM(hNj!KhNhUb0674rMh}rMj!hjMhNhNj!Kh&Nh"}rMj!U+h(h)]RrMubaRrMhUASNS1rMh2Gh3h4hNh5jMh"}rMh7Nubh)rM}rM(h U Alanine and Aspartate MetabolismrMh }rM(j Gj>G?jLGjGjG?jTG?j%G?uhNhUasparagine synthetaserMh,G@@h-Gh}rMh/h)]rMj!)rM}r M(hNj!KhNhUb3744r!Mh}r"Mj!hj!MhNhNj!Kh&Nh"}r#Mj!U+h(h)]Rr$MubaRr%MhUASNS2r&Mh2Gh3h4hNh5j!Mh"}r'Mh7Nubh)r(M}r)M(h U tRNA Chargingr*Mh }r+M(j Gh)r,M}r-M(hNhNhUL-Asparaginyl-tRNA(Asn)r.Mh}r/MhU asntrna_cr0MhUEhKhGhh)r1M}r2M(hNhUC14H24N2O12PR2r3Mh}r4Mh"}r5Mh$}r6M(UCKUHKUOK UNKUPKURKuhj3Mubh&Uch"}r7Mh(h)]Rr8MubG?h)r9M}r:M(hNhNhU tRNA(Asn)r;Mh}rM}r?M(hNhU C10H17O10PR2r@Mh}rAMh"}rBMh$}rCM(UHKUCK URKUOK UPKuhj@Mubh&Uch"}rDMh(h)]RrEMubGj%G?jTG?jGuhNhUAsparaginyl-tRNA synthetaserFMh,G@@h-Gh}rGMh/h)]rHMj!)rIM}rJM(hNj!KhNhUb0930rKMh}rLMj!hjKMhNhNj!Kh&Nh"}rMMj!U+h(h)]RrNMubaRrOMhUASNTRSrPMh2Gh3h4hNh5jKMh"}rQMh7Nubh)rRM}rSM(h UTransport, Inner MembranerTMh }rUM(j Gj>G?j-G?jLGjG?jG?j4GuhNhU1L-asparagine transport via ABC system (periplasm)rVMh,G@@h-Gh}rWMh/h)]RrXMhUASNabcpprYMh2Gh3h4hNh5Uh"}rZMh7Nubh)r[M}r\M(h UTransport, Inner Membraner]Mh }r^M(jG?jLGj>G?j"GuhNhU@L-asparagine reversible transport via proton symport (periplasm)r_Mh,G@@h-G@h}r`Mh/h)]raMj!)rbM}rcM(hNj!KhNhUb1453rdMh}reMj!hjdMhNhNj!Kh&Nh"}rfMj!U+h(h)]RrgMubaRrhMhUASNt2rppriMh2Gh3h4hNh5jdMh"}rjMh7Nubh)rkM}rlM(h UTransport, Outer Membrane PorinrmMh }rnM(j GjLG?uhNhUAL-asparagine transport via diffusion (extracellular to periplasm)roMh,G@@h-G@h}rpMh/h)]rqM(j!j!j!j!eRrrMhUASNtexrsMh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rtMh"}ruMh7Nubh)rvM}rwM(h UTransport, Inner MembranerxMh }ryM(j Gj>G?h)rzM}r{M(hNhNhUarseniter|Mh}r}MhUaso3_cr~MhUEhJhGhh)rM}rM(hNhUAsO3rMh}rMh"}rMh$}rM(UAsKUOKuhjMubh&Uch"}rMh(h)]RrMubGj-G?jG?h)rM}rM(hNhNhUarseniterMh}rMhUaso3_prMhUEhJhGhh)rM}rM(hNhUAsO3rMh}rMh"}rMh$}rM(UAsKUOKuhjMubh&Uph"}rMh(h)]RrMubG?j4GuhNhU.arsenite efflux via ATP hydrolysis (periplasm)rMh,G@@h-Gh}rMh/h)]rMj!)rM}rM(hNj!KhNhUb3502rMh}rMj!hjMhNhNj!Kh&Nh"}rMj!U+h(h)]RrMubaRrMhUASO3t8pprMh2Gh3h4hNh5jMh"}rMh7Nubh)rM}rM(h UTransport, Outer Membrane PorinrMh }rM(jMG?j' GuhNhU=arsenite transport via diffusion (extracellular to periplasm)rMh,G@@h-G@h}rMh/h)]rM(j!j!j!j!eRrMhUASO3texrMh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rMh"}rMh7Nubh)rM}rM(h U*Cofactor and Prosthetic Group BiosynthesisrMh }rM(j -G?j>Gh)rM}rM(hNhNhU beta-AlaninerMh}rMhUala__B_crMhUEhKhGhh)rM}rM(hNhUC3H7NO2rMh}rMh"}rMh$}rM(UHKUCKUOKUNKuhjMubh&Uch"}rMh(h)]RrMubG?jGuhNhUaspartate 1-decarboxylaserMh,G@@h-Gh}rMh/h)]rMj!)rM}rM(hNj!KhNhUb0131rMh}rMj!hjMhNhNj!Kh&Nh"}rMj!U+h(h)]RrMubaRrMhUASP1DCrMh2Gh3h4hNh5jMh"}rMh7Nubh)rM}rM(h U"Purine and Pyrimidine BiosynthesisrMh }rM(j>G?jGh)rM}rM(hNhNhUCarbamoyl phosphaterMh}rMhUcbp_crMhUEhJhGhh)rM}rM(hNhUCH2NO5PrMh}rMh"}rMh$}rM(UHKUCKUPKUOKUNKuhjMubh&Uch"}rMh(h)]RrMubGjG?h)rM}rM(hNhNhUN-Carbamoyl-L-aspartaterMh}rMhUcbasp_crMhUEhJhGhh)rM}rM(hNhUC5H6N2O5rMh}rMh"}rMh$}rM(UHKUCKUOKUNKuhjMubh&Uch"}rMh(h)]RrMubG?uhNhUaspartate carbamoyltransferaserMh,G@@h-Gh}rMh/h)]rM(j!)rM}rM(hNj!KhNhUb4244rMh}rMj!hjMhNhNj!Kh&Nh"}rMj!U+h(h)]RrMubj!)rM}rM(hNj!KhNhUb4245rMh}rMj!hjMhNhNj!Kh&Nh"}rMj!U+h(h)]RrMubeRrMhUASPCTrMh2Gh3h4hNh5U((b4244 and b4245) or b4245)rMh"}rMh7Nubh)rM}rM(h UThreonine and Lysine MetabolismrMh }rM(jGj-G?j GjOLG?uhNhUaspartate kinaserMh,G@@h-G@h}rMh/h)]rM(j!)rN}rN(hNj!KhNhUb0002rNh}rNj!hjNhNhNj!Kh&Nh"}rNj!U+h(h)]RrNubj!)rN}rN(hNj!KhNhUb4024rNh}r Nj!hjNhNhNj!Kh&Nh"}r Nj!U+h(h)]Rr Nubj!)r N}r N(hNj!KhNhUb3940rNh}rNj!hjNhNhNj!Kh&Nh"}rNj!U+h(h)]RrNubeRrNhUASPKrNh2Gh3h4hNh5U(b0002 or b3940 or b4024)rNh"}rNh7Nubh)rN}rN(h U*Cofactor and Prosthetic Group BiosynthesisrNh }rN(jGh)rN}rN(hNhNhU Ubiquinone-8rNh}rNhUq8_crNhUEhKhGhh)rN}r N(hNhUC49H74O4r!Nh}r"Nh"}r#Nh$}r$N(UHKJUCK1UOKuhj!Nubh&Uch"}r%Nh(h)]Rr&NubGh)r'N}r(N(hNhNhUIminoaspartater)Nh}r*NhUiasp_cr+NhUEhJhGhh)r,N}r-N(hNhUC4H3NO4r.Nh}r/Nh"}r0Nh$}r1N(UHKUCKUOKUNKuhj.Nubh&Uch"}r2Nh(h)]Rr3NubG?j>G?jG?uhNhUL-aspartate oxidaser4Nh,G@@h-Gh}r5Nh/h)]r6Nj!)r7N}r8N(hNj!KhNhUb2574r9Nh}r:Nj!hj9NhNhNj!Kh&Nh"}r;Nj!U+h(h)]RrNh2Gh3h4hNh5j9Nh"}r?Nh7Nubh)r@N}rAN(h U*Cofactor and Prosthetic Group BiosynthesisrBNh }rCN(jGj'NG?j>G?h)rDN}rEN(hNhNhU Menaquinone 8rFNh}rGNhUmqn8_crHNhUEhKhGhh)rIN}rJN(hNhUC51H72O2rKNh}rLNh"}rMNh$}rNN(UHKHUCK3UOKuhjKNubh&Uch"}rONh(h)]RrPNubGjG?uhNhUL-aspartate oxidaserQNh,G@@h-Gh}rRNh/h)]rSNj7NaRrTNhUASPO4rUNh2Gh3h4hNh5Ub2574rVNh"}rWNh7Nubh)rXN}rYN(h U*Cofactor and Prosthetic Group BiosynthesisrZNh }r[N(j>GjGj'NG?j>G?h)r\N}r]N(hNhNhU Succinater^Nh}r_NhUsucc_cr`NhUEhJhGhh)raN}rbN(hNhUC4H4O4rcNh}rdNh"}reNh$}rfN(UHKUCKUOKuhjcNubh&Uch"}rgNh(h)]RrhNubG?uhNhUL-aspartate oxidaseriNh,G@@h-Gh}rjNh/h)]rkNj7NaRrlNhUASPO5rmNh2Gh3h4hNh5Ub2574rnNh"}roNh7Nubh)rpN}rqN(h U*Cofactor and Prosthetic Group BiosynthesisrrNh }rsN(j1G?jGj*Gj'NG?j>G?uhNhUL-aspartate oxidasertNh,G@@h-Gh}ruNh/h)]rvNj7NaRrwNhUASPO6rxNh2Gh3h4hNh5Ub2574ryNh"}rzNh7Nubh)r{N}r|N(h U Alanine and Aspartate Metabolismr}Nh }r~N(jGj>G?jLG?uhNhU L-aspartaserNh,G@@h-Gh}rNh/h)]rNj!)rN}rN(hNj!KhNhUb4139rNh}rNj!hjNhNhNj!Kh&Nh"}rNj!U+h(h)]RrNubaRrNhUASPTrNh2Gh3h4hNh5jNh"}rNh7Nubh)rN}rN(h U Alanine and Aspartate MetabolismrNh }rN(h)rN}rN(hNhNhU OxaloacetaterNh}rNhUoaa_crNhUEhJhGhh)rN}rN(hNhUC4H2O5rNh}rNh"}rNh$}rN(UHKUCKUOKuhjNubh&Uch"}rNh(h)]RrNubG?jG?j2GjGuhNhUaspartate transaminaserNh,G@@h-G@h}rNh/h)]rNj!)rN}rN(hNj!KhNhUb0928rNh}rNj!hjNhNhNj!Kh&Nh"}rNj!U+h(h)]RrNubaRrNhUASPTArNh2Gh3h4hNh5jNh"}rNh7Nubh)rN}rN(h U tRNA ChargingrNh }rN(j Gh)rN}rN(hNhNhU tRNA(Asp)rNh}rNhU trnaasp_crNhUEhKhGhh)rN}rN(hNhURh}rNh"}rNh$}rNURKshURubh&Uch"}rNh(h)]RrNubGjGh)rN}rN(hNhNhUL-Aspartyl-tRNA(Asp)rNh}rNhU asptrna_crNhUEhKhGhh)rN}rN(hNhUC4H5NO3RrNh}rNh"}rNh$}rN(UHKUCKURKUOKUNKuhjNubh&Uch"}rNh(h)]RrNubG?jTG?j%G?uhNhUAspartyl-tRNA synthetaserNh,G@@h-Gh}rNh/h)]rNj!)rN}rN(hNj!KhNhUb1866rNh}rNj!hjNhNhNj!Kh&Nh"}rNj!U+h(h)]RrNubaRrNhUASPTRSrNh2Gh3h4hNh5jNh"}rNh7Nubh)rN}rN(h UTransport, Inner MembranerNh }rN(j GjG?jLGjG?j>G?j-G?j4GuhNhU0L-aspartate transport via ABC system (periplasm)rNh,G@@h-Gh}rNh/h)]rN(j!)rN}rN(hNj!KhNhUb0653rNh}rNj!hjNhNhNj!Kh&Nh"}rNj!U+h(h)]RrNubj!)rN}rN(hNj!KhNhUb0654rNh}rNj!hjNhNhNj!Kh&Nh"}rNj!U+h(h)]RrNubj!)rN}rN(hNj!KhNhUb0652rNh}rNj!hjNhNhNj!Kh&Nh"}rNj!U+h(h)]RrNubj!)rN}rN(hNj!KhNhUb0655rNh}rNj!hjNhNhNj!Kh&Nh"}rNj!U+h(h)]RrNubeRrNhUASPabcpprNh2Gh3h4hNh5U%(b0655 and b0654 and b0653 and b0652)rNh"}rNh7Nubh)rN}rN(h UTransport, Inner MembranerNh }rN(jLGj>G@j"GjG?uhNhU8Aspartate transport via proton symport (2 H) (periplasm)rNh,G@@h-Gh}rNh/h)]rNj!)rN}rN(hNj!KhNhUb3528rNh}rNj!hjNhNhNj!Kh&Nh"}rNj!U+h(h)]RrOubaRrOhU ASPt2_2pprOh2Gh3h4hNh5jNh"}rOh7Nubh)rO}rO(h UTransport, Inner MembranerOh }rO(jG?jLGj"Gj>G@uhNhU9L-asparate transport via proton symport (3 H) (periplasm)rOh,G@@h-Gh}r Oh/h)]r O(j!)r O}r O(hNj!KhNhUb4138r Oh}rOj!hj OhNhNj!Kh&Nh"}rOj!U+h(h)]RrOubj!)rO}rO(hNj!KhNhUb4123rOh}rOj!hjOhNhNj!Kh&Nh"}rOj!U+h(h)]RrOubeRrOhU ASPt2_3pprOh2Gh3h4hNh5U(b4138 or b4123)rOh"}rOh7Nubh)rO}rO(h UTransport, Inner MembranerOh }rO(jG?j"Gj>G?jLGuhNhU7L-aspartate transport in via proton symport (periplasm)rOh,G@@h-Gh}r Oh/h)]r!Oj!)r"O}r#O(hNj!KhNhUb4077r$Oh}r%Oj!hj$OhNhNj!Kh&Nh"}r&Oj!U+h(h)]Rr'OubaRr(OhUASPt2ppr)Oh2Gh3h4hNh5j$Oh"}r*Oh7Nubh)r+O}r,O(h UTransport, Inner Membraner-Oh }r.O(jG?j>G?j"GjLGuhNhUBL-aspartate transport in via proton symport (periplasm) reversibler/Oh,G@@h-G@h}r0Oh/h)]Rr1OhUASPt2rppr2Oh2Gh3h4hNh5Uh"}r3Oh7Nubh)r4O}r5O(h UTransport, Outer Membrane Porinr6Oh }r7O(jLG?j< GuhNhU@L-aspartate transport via diffusion (extracellular to periplasm)r8Oh,G@@h-G@h}r9Oh/h)]r:O(j!j!j!j!eRr;OhUASPtexrOh7Nubh)r?O}r@O(h U&Inorganic Ion Transport and MetabolismrAOh }rBO(h)rCO}rDO(hNhNhUarsenaterEOh}rFOhUaso4_crGOhUEhJhGhh)rHO}rIO(hNhUAsO4rJOh}rKOh"}rLOh$}rMO(UAsKUOKuhjJOubh&Uch"}rNOh(h)]RrOOubGjzMG?jwGj4G?h)rPO}rQO(hNhNhUOxidized glutathionerROh}rSOhUgthox_crTOhUEhJhGhh)rUO}rVO(hNhU C20H30N6O12S2rWOh}rXOh"}rYOh$}rZO(UHKUCKUSKUOK UNKuhjWOubh&Uch"}r[Oh(h)]Rr\OubG?uhNhUarsenate reductaser]Oh,G@@h-Gh}r^Oh/h)]r_O(j!)r`O}raO(hNj!KhNhUb1064rbOh}rcOj!hjbOhNhNj!Kh&Nh"}rdOj!U+h(h)]RreOubj!)rfO}rgO(hNj!KhNhUb3503rhOh}riOj!hjhOhNhNj!Kh&Nh"}rjOj!U+h(h)]RrkOubeRrlOhUASRrmOh2Gh3h4hNh5U(b3503 and b1064)rnOh"}roOh7Nubh)rpO}rqO(h UArginine and Proline MetabolismrrOh }rsO(jGh)rtO}ruO(hNhNhUN2-Succinyl-L-argininervOh}rwOhUsucarg_crxOhUEhJhGhh)ryO}rzO(hNhU C10H17N4O5r{Oh}r|Oh"}r}Oh$}r~O(UHKUCK UOKUNKuhj{Oubh&Uch"}rOh(h)]RrOubG?j>G?jGjG?uhNhUArginine succinyltransferaserOh,G@@h-Gh}rOh/h)]rOj!)rO}rO(hNj!KhNhUb1747rOh}rOj!hjOhNhNj!Kh&Nh"}rOj!U+h(h)]RrOubaRrOhUASTrOh2Gh3h4hNh5jOh"}rOh7Nubh)rO}rO(h UThreonine and Lysine MetabolismrOh }rO(j>G?j)GjCG?jHG?h)rO}rO(hNhNhUL-Allo-threoninerOh}rOhU athr__L_crOhUEhKhGhh)rO}rO(hNhUC4H9NO3rOh}rOh"}rOh$}rO(UHK UCKUOKUNKuhjOubh&Uch"}rOh(h)]RrOubGuhNhUL-allo-threonine dehydrogenaserOh,G@@h-G@h}rOh/h)]rOj!)rO}rO(hNj!KhNhUb1539rOh}rOj!hjOhNhNj!Kh&Nh"}rOj!U+h(h)]RrOubaRrOhUATHRDHrrOh2Gh3h4hNh5jOh"}rOh7Nubh)rO}rO(h UNucleotide Salvage PathwayrOh }rO(j GjLG?j>Gj4GjL<G?uhNhU"ATP amine hydrolysis (spontaneous)rOh,G@@h-Gh}rOh/h)]rOjB4aRrOhUATPHsrOh2Gh3h4hNh5Us0001rOh"}rOh7Nubh)rO}rO(h U UnassignedrOh }rO(j Gj-G?j>G?j4GjG?uhNhUATP maintenance requirementrOh,G@@h-G@ 333333h}rOh/h)]RrOhUATPMrOh2Gh3h4hNh5Uh"}rOh7Nubh)rO}rO(h UHistidine MetabolismrOh }rO(jTG?h)rO}rO(hNhNhU1-(5-Phosphoribosyl)-ATPrOh}rOhUprbatp_crOhUEhJhGhh)rO}rO(hNhU C15H19N5O20P4rOh}rOh"}rOh$}rO(UHKUCKUPKUOKUNKuhjOubh&Uch"}rOh(h)]RrOubG?j=Gj GuhNhUATP phosphoribosyltransferaserOh,G@@h-Gh}rOh/h)]rOj!)rO}rO(hNj!KhNhUb2019rOh}rOj!hjOhNhNj!Kh&Nh"}rOj!U+h(h)]RrOubaRrOhUATPPRTrOh2Gh3h4hNh5jOh"}rOh7Nubh)rO}rO(h UOxidative PhosphorylationrOh }rO(j G?j>G@j"Gj-GjGj4G?uhNhU3ATP synthase (four protons for one ATP) (periplasm)rOh,G@@h-G@h}rOh/h)]rO(j!)rO}rO(hNj!KhNhUb3738rOh}rOj!hjOhNhNj!Kh&Nh"}rOj!U+h(h)]RrOubj!)rO}rO(hNj!KhNhUb3734rOh}rOj!hjOhNhNj!Kh&Nh"}rOj!U+h(h)]RrOubj!)rO}rO(hNj!KhNhUb3739rOh}rOj!hjOhNhNj!Kh&Nh"}rOj!U+h(h)]RrOubj!)rO}rO(hNj!KhNhUb3737rOh}rOj!hjOhNhNj!Kh&Nh"}rOj!U+h(h)]RrOubj!)rO}rO(hNj!KhNhUb3733rOh}rOj!hjOhNhNj!Kh&Nh"}rOj!U+h(h)]RrOubj!)rP}rP(hNj!KhNhUb3731rPh}rPj!hjPhNhNj!Kh&Nh"}rPj!U+h(h)]RrPubj!)rP}rP(hNj!KhNhUb3735rPh}r Pj!hjPhNhNj!Kh&Nh"}r Pj!U+h(h)]Rr Pubj!)r P}r P(hNj!KhNhUb3732rPh}rPj!hjPhNhNj!Kh&Nh"}rPj!U+h(h)]RrPubj!)rP}rP(hNj!KhNhUb3736rPh}rPj!hjPhNhNj!Kh&Nh"}rPj!U+h(h)]RrPubeRrPhUATPS4rpprPh2Gh3h4hNh5U(((b3736 and b3737 and b3738) and (b3731 and b3732 and b3733 and b3734 and b3735) and b3739) or ((b3736 and b3737 and b3738) and (b3731 and b3732 and b3733 and b3734 and b3735)))rPh"}rPh7Nubh)rP}rP(h UTransport, Inner MembranerPh }rP(j>G?jMG?j"Gh)r P}r!P(hNhNhU beta-Alaniner"Ph}r#PhUala__B_pr$PhUEhKhGhh)r%P}r&P(hNhUC3H7NO2r'Ph}r(Ph"}r)Ph$}r*P(UHKUCKUOKUNKuhj'Pubh&Uph"}r+Ph(h)]Rr,PubGuhNhU8beta-alanine transport in via proton symport (periplasm)r-Ph,G@@h-Gh}r.Ph/h)]r/PjCaRr0PhUBALAt2ppr1Ph2Gh3h4hNh5Ub4208r2Ph"}r3Ph7Nubh)r4P}r5P(h UTransport, Outer Membrane Porinr6Ph }r7P(j PG?j GuhNhUAbeta-alanine transport via diffusion (extracellular to periplasm)r8Ph,G@@h-G@h}r9Ph/h)]r:P(j!j!j!j!eRr;PhUBALAtexrPh7Nubh)r?P}r@P(h U UnassignedrAPh }rBP(jG?jGh)rCP}rDP(hNhNhUGlycine betainerEPh}rFPhUglyb_crGPhUEhKhGhh)rHP}rIP(hNhUC5H11NO2rJPh}rKPh"}rLPh$}rMP(UHK UCKUOKUNKuhjJPubh&Uch"}rNPh(h)]RrOPubG?h)rPP}rQP(hNhNhUBetaine aldehyderRPh}rSPhUbetald_crTPhUEhKhGhh)rUP}rVP(hNhUC5H12NOrWPh}rXPh"}rYPh$}rZP(UHK UCKUOKUNKuhjWPubh&Uch"}r[Ph(h)]Rr\PubGj>G@j4GuhNhUbetaine-aldehyde dehydrogenaser]Ph,G@@h-Gh}r^Ph/h)]r_Pj!)r`P}raP(hNj!KhNhUb0312rbPh}rcPj!hjbPhNhNj!Kh&Nh"}rdPj!U+h(h)]RrePubaRrfPhUBETALDHxrgPh2Gh3h4hNh5jbPh"}rhPh7Nubh)riP}rjP(h U UnassignedrkPh }rlP(jCG?j)Gj>G@jPPGjCPG?j4GuhNhUbetaine-aldehyde dehydrogenasermPh,G@@h-Gh}rnPh/h)]roPj`PaRrpPhUBETALDHyrqPh2Gh3h4hNh5Ub0312rrPh"}rsPh7Nubh)rtP}ruP(h U*Cofactor and Prosthetic Group BiosynthesisrvPh }rwP(jqG?h)rxP}ryP(hNhNhUadenylated molybdopterinrzPh}r{PhUmptamp_cr|PhUEhJhGhh)r}P}r~P(hNhUC20H22N10O12P2S2CurPh}rPh"}rPh$}rP(UCKUHKUOK UNK UPKUSKUCuKuhjPubh&Uch"}rPh(h)]RrPubGh)rP}rP(hNhNhUmolybdenum cofactorrPh}rPhUmoco_crPhUEhJhGhh)rP}rP(hNhUC10H10N5O8PS2MorPh}rPh"}rPh$}rP(UCK UHK UMoKUOKUNKUPKUSKuhjPubh&Uch"}rPh(h)]RrPubGj%G?h)rP}rP(hNhNhUbis-molybdenum cofactorrPh}rPhUbmoco_crPhUEhJhGhh)rP}rP(hNhUC20H20N10O13P2S4MorPh}rPh"}rPh$}rP(UCKUHKUMoKUOK UNK UPKUSKuhjPubh&Uch"}rPh(h)]RrPubG?uhNhU bis-molybdenum cofactor synthaserPh,G@@h-Gh}rPh/h)]rPj!)rP}rP(hNj!KhNhUb0827rPh}rPj!hjPhNhNj!Kh&Nh"}rPj!U+h(h)]RrPubaRrPhUBMOCOSrPh2Gh3h4hNh5jPh"}rPh7Nubh)rP}rP(h U*Cofactor and Prosthetic Group BiosynthesisrPh }rP(h)rP}rP(hNhNhU+bis-molybdopterin mono-guanine dinucleotiderPh}rPhU bmoco1gdp_crPhUEhJhGhh)rP}rP(hNhUC30H32N15O20P3S4MorPh}rPh"}rPh$}rP(UCKUHK UMoKUOKUNKUPKUSKuhjPubh&Uch"}rPh(h)]RrPubG?jTG?j>GjGjPGuhNhUGhG?jGuhNhU/bis-molybdopterin guanine dinucleotide synthaserPh,G@@h-Gh}rPh/h)]rP(jPjPeRrPhUBMOGDS2rPh2Gh3h4hNh5U(b3857 or (b3857 and b3856))rPh"}rPh7Nubh)rP}rP(h UCysteine MetabolismrPh }rP(j:GjG?j4Gj%G?uhNhU3',5'-bisphosphate nucleotidaserPh,G@@h-Gh}rPh/h)]rPj!)rP}rP(hNj!KhNhUb4214rPh}rPj!hjPhNhNj!Kh&Nh"}rPj!U+h(h)]RrPubaRrPhUBPNTrPh2Gh3h4hNh5jPh"}rPh7Nubh)rP}rP(h U*Cofactor and Prosthetic Group BiosynthesisrPh }rP(jGh)rP}rP(hNhNhUd-biotin d-sulfoxiderPh}rPhUbtnso_crPhUEhJhGhh)rP}rP(hNhU C10H15N2O4SrPh}rPh"}rPh$}rP(UHKUCK USKUOKUNKuhjPubh&Uch"}rPh(h)]RrPubGj G?j>GjG?j4G?uhNhUBiotin sulfoxide reductaserPh,G@@h-Gh}rPh/h)]rPj!)rP}rP(hNj!KhNhUb3551rQh}rQj!hjQhNhNj!Kh&Nh"}rQj!U+h(h)]RrQubaRrQhUBSORxrQh2Gh3h4hNh5jQh"}rQh7Nubh)rQ}rQ(h U*Cofactor and Prosthetic Group Biosynthesisr Qh }r Q(jPGjCGj)G?j G?j>Gj4G?uhNhUBiotin sulfoxide reductaser Qh,G@@h-Gh}r Qh/h)]r QjPaRrQhUBSORyrQh2Gh3h4hNh5Ub3551rQh"}rQh7Nubh)rQ}rQ(h UTransport, Inner MembranerQh }rQ(h)rQ}rQ(hNhNhUBiotinrQh}rQhUbtn_prQhUEhJhGhh)rQ}rQ(hNhU C10H15N2O3SrQh}rQh"}rQh$}r Q(UHKUCK USKUOKUNKuhjQubh&Uph"}r!Qh(h)]Rr"QubGj"Gj G?j>G?uhNhU/Biotin transport via proton symport (periplasm)r#Qh,G@@h-Gh}r$Qh/h)]Rr%QhUBTNt2ippr&Qh2Gh3h4hNh5Uh"}r'Qh7Nubh)r(Q}r)Q(h UTransport, Outer Membrane Porinr*Qh }r+Q(jQG?jQ GuhNhU;Biotin transport via diffusion (extracellular to periplasm)r,Qh,G@@h-G@h}r-Qh/h)]r.Q(j!j!j!j!eRr/QhUBTNtexr0Qh2Gh3h4hNh5U"(b2215 or b1377 or b0241 or b0929)r1Qh"}r2Qh7Nubh)r3Q}r4Q(h U*Cofactor and Prosthetic Group Biosynthesisr5Qh }r6Q(h)r7Q}r8Q(hNhNhU Dethiobiotinr9Qh}r:QhUdtbt_cr;QhUEhJhGhh)rQh}r?Qh"}r@Qh$}rAQ(UHKUCK UOKUNKuhj>Qubh&Uch"}rBQh(h)]RrCQubGj>G?jPGj G?j/G?jGh)rDQ}rEQ(hNhNhU)[2Fe-1S] desulfurated iron-sulfur clusterrFQh}rGQhU2fe1s_crHQhUEhKhGhh)rIQ}rJQ(hNhUSFe2rKQh}rLQh"}rMQh$}rNQ(USKUFeKuhjKQubh&Uch"}rOQh(h)]RrPQubG?jG?uhNhUBiotin synthaserQQh,G@@h-Gh}rRQh/h)]rSQj!)rTQ}rUQ(hNj!KhNhUb0775rVQh}rWQj!hjVQhNhNj!Kh&Nh"}rXQj!U+h(h)]RrYQubaRrZQhUBTS5r[Qh2Gh3h4hNh5jVQh"}r\Qh7Nubh)r]Q}r^Q(h UAlternate Carbon Metabolismr_Qh }r`Q(jGj~DGj2G?j2G?uhNhU#Acetyl-CoA:butyrate-CoA transferaseraQh,G@@h-Gh}rbQh/h)]rcQ(j2j2eRrdQhUBUTCTreQh2Gh3h4hNh5U(b2221 and b2222)rfQh"}rgQh7Nubh)rhQ}riQ(h UTransport, Inner MembranerjQh }rkQ(j Gh)rlQ}rmQ(hNhNhUbutanesulfonaternQh}roQhUbutso3_prpQhUEhJhGhh)rqQ}rrQ(hNhUC4H9O3SrsQh}rtQh"}ruQh$}rvQ(UHK UCKUSKUOKuhjsQubh&Uph"}rwQh(h)]RrxQubGj>G?h)ryQ}rzQ(hNhNhUbutanesulfonater{Qh}r|QhUbutso3_cr}QhUEhJhGhh)r~Q}rQ(hNhUC4H9O3SrQh}rQh"}rQh$}rQ(UHK UCKUSKUOKuhjQubh&Uch"}rQh(h)]RrQubG?j-G?j4GjG?uhNhU4butanesulfonate transport via ABC system (periplasm)rQh,G@@h-Gh}rQh/h)]rQ(j!)rQ}rQ(hNj!KhNhUb0367rQh}rQj!hjQhNhNj!Kh&Nh"}rQj!U+h(h)]RrQubj!)rQ}rQ(hNj!KhNhUb0933rQh}rQj!hjQhNhNj!Kh&Nh"}rQj!U+h(h)]RrQubj!)rQ}rQ(hNj!KhNhUb0934rQh}rQj!hjQhNhNj!Kh&Nh"}rQj!U+h(h)]RrQubj!)rQ}rQ(hNj!KhNhUb0365rQh}rQj!hjQhNhNj!Kh&Nh"}rQj!U+h(h)]RrQubj!)rQ}rQ(hNj!KhNhUb0936rQh}rQj!hjQhNhNj!Kh&Nh"}rQj!U+h(h)]RrQubj!)rQ}rQ(hNj!KhNhUb0366rQh}rQj!hjQhNhNj!Kh&Nh"}rQj!U+h(h)]RrQubeRrQhU BUTSO3abcpprQh2Gh3h4hNh5U<((b0936 and b0933 and b0934) or (b0365 and b0366 and b0367))rQh"}rQh7Nubh)rQ}rQ(h UTransport, Outer Membrane PorinrQh }rQ(jlQG?j{ GuhNhUDbutanesulfonate transport via diffusion (extracellular to periplasm)rQh,G@@h-G@h}rQh/h)]rQ(j!j!j!j!eRrQhU BUTSO3texrQh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rQh"}rQh7Nubh)rQ}rQ(h UTransport, Inner MembranerQh }rQ(j>G?j~DG?j"Gh)rQ}rQ(hNhNhUButyrate (n-C4:0)rQh}rQhUbut_prQhUEhJhGhh)rQ}rQ(hNhUC4H7O2rQh}rQh"}rQh$}rQ(UHKUCKUOKuhjQubh&Uph"}rQh(h)]RrQubGuhNhU=Butyrate transport via proton symport, reversible (periplasm)rQh,G@@h-G@h}rQh/h)]rQj3aRrQhUBUTt2rpprQh2Gh3h4hNh5Ub2223rQh"}rQh7Nubh)rQ}rQ(h UTransport, Outer Membrane PorinrQh }rQ(jQG?jf GuhNhU=Butyrate transport via diffusion (extracellular to periplasm)rQh,G@@h-G@h}rQh/h)]rQ(j!j!j!j!eRrQhUBUTtexrQh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rQh"}rQh7Nubh)rQ}rQ(h U*Cofactor and Prosthetic Group BiosynthesisrQh }rQ(jTG?h)rQ}rQ(hNhNhUtungsten bispterin cofactorrQh}rQhUbwco_crQhUEhJhGhh)rQ}rQ(hNhUC20H20N10O13P2S4WrQh}rQh"}rQh$}rQ(UCKUHKUOK UNK UPKUSKUWKuhjQubh&Uch"}rQh(h)]RrQubGh)rQ}rQ(hNhNhU5tungsten bispterin cofactor mono-guanine dinucleotiderQh}rQhU bwco1gdp_crQhUEhJhGhh)rQ}rQ(hNhUC30H32N15O20P3S4WrQh}rQh"}rQh$}rQ(UCKUHK UOKUNKUPKUSKUWKuhjQubh&Uch"}rQh(h)]RrQubG?j>GjGuhNhU=tungsten bispterin guanine dinucleotide synthase (single GDP)rQh,G@@h-Gh}rQh/h)]rQ(jPjPeRrRhUBWCOGDS1rRh2Gh3h4hNh5U(b3857 or (b3857 and b3856))rRh"}rRh7Nubh)rR}rR(h U*Cofactor and Prosthetic Group BiosynthesisrRh }rR(h)rR}r R(hNhNhU0tungsten bispterin cofactor guanine dinucleotider Rh}r RhU bwcogdp_cr RhUEhJhGhh)r R}rR(hNhUC40H44N20O27P4S4WrRh}rRh"}rRh$}rR(UCK(UHK,UOKUNKUPKUSKUWKuhjRubh&Uch"}rRh(h)]RrRubG?jQGj>GjTG?jGuhNhU0tungsten bispterin guanine dinucleotide synthaserRh,G@@h-Gh}rRh/h)]rR(jPjPeRrRhUBWCOGDS2rRh2Gh3h4hNh5U(b3857 or (b3857 and b3856))rRh"}rRh7Nubh)rR}rR(h U*Cofactor and Prosthetic Group BiosynthesisrRh }rR(jqG?jQG?h)r R}r!R(hNhNhUtungsten binding cofactorr"Rh}r#RhUwco_cr$RhUEhJhGhh)r%R}r&R(hNhUC10H10N5O8PS2Wr'Rh}r(Rh"}r)Rh$}r*R(UCK UHK UOKUNKUPKUSKUWKuhj'Rubh&Uch"}r+Rh(h)]Rr,RubGjxPGj%G?uhNhU$tungsten bispterin cofactor synthaser-Rh,G@@h-Gh}r.Rh/h)]r/RjPaRr0RhUBWCOSr1Rh2Gh3h4hNh5Ub0827r2Rh"}r3Rh7Nubh)r4R}r5R(h U&Inorganic Ion Transport and Metabolismr6Rh }r7R(jGj"Gj>G?h)r8R}r9R(hNhNhUCalciumr:Rh}r;RhUca2_prR(hNhUCar?Rh}r@Rh"}rARh$}rBRj?RKshj?Rubh&Uph"}rCRh(h)]RrDRubG?uhNhUG?hG?h)rmR}rnR(hNhNhUL-LysineroRh}rpRhUlys__L_prqRhUEhKhGhh)rrR}rsR(hNhU C6H15N2O2rtRh}ruRh"}rvRh$}rwR(UHKUCKUOKUNKuhjtRubh&Uph"}rxRh(h)]RryRubGuhNhU(Lysine/Cadaverine antiporter (periplasm)rzRh,G@@h-Gh}r{Rh/h)]r|Rj!)r}R}r~R(hNj!KhNhUb4132rRh}rRj!hjRhNhNj!Kh&Nh"}rRj!U+h(h)]RrRubaRrRhUCADVtpprRh2Gh3h4hNh5jRh"}rRh7Nubh)rR}rR(h U UnassignedrRh }rR(j4G@j1Gj*G?uhNhUcatalaserRh,Gh-Gh}rRh/h)]rR(j!)rR}rR(hNj!KhNhUb1732rRh}rRj!hjRhNhNj!Kh&Nh"}rRj!U+h(h)]RrRubj!)rR}rR(hNj!KhNhUb3942rRh}rRj!hjRhNhNj!Kh&Nh"}rRj!U+h(h)]RrRubeRrRhUCATrRh2Gh3h4hNh5U(b1732 or b3942)rRh"}rRh7Nubh)rR}rR(h U&Inorganic Ion Transport and MetabolismrRh }rR(jGjE;G?j8;Gj8RG?uhNhU!calcium / sodium antiporter (1:1)rRh,G@@h-G@h}rRh/h)]rRj!)rR}rR(hNj!KhNhUb3196rRh}rRj!hjRhNhNj!Kh&Nh"}rRj!U+h(h)]RrRubaRrRhUCAt6pprRh2Gh3h4hNh5jRh"}rRh7Nubh)rR}rR(h U*Cofactor and Prosthetic Group BiosynthesisrRh }rR(j Gh)rR}rR(hNhNhU CobinamiderRh}rRhUcbi_crRhUEhKhGhh)rR}rR(hNhU C48H72CoN11O8rRh}rRh"}rRh$}rR(UHKHUCK0UCoKUOKUNK uhjRubh&Uch"}rRh(h)]RrRubGj =G?j>Gh)rR}rR(hNhNhUInorganic triphosphaterRh}rRhUpppi_crRhUEhJhGhh)rR}rR(hNhUHO10P3rRh}rRh"}rRh$}rR(UHKUOK UPKuhjRubh&Uch"}rRh(h)]RrRubG?uhNhUCobinamide adenyltransferaserRh,G@@h-G@h}rRh/h)]rRj!)rR}rR(hNj!KhNhUb1270rRh}rRj!hjRhNhNj!Kh&Nh"}rRj!U+h(h)]RrRubaRrRhUCBIATrRh2Gh3h4hNh5jRh"}rRh7Nubh)rR}rR(h UTransport, Outer MembranerRh }rR(j Gj"Gj>G?h)rR}rR(hNhNhU CobinamiderRh}rRhUcbi_prRhUEhKhGhh)rR}rR(hNhU C48H72CoN11O8rRh}rRh"}rRh$}rR(UHKHUCK0UCoKUOKUNK uhjRubh&Uph"}rRh(h)]RrRubG?uhNhU.Cobinamide transport via ton system (extermal)rRh,G@@h-Gh}rRh/h)]rR(jy=j=j=j=eRrRhUCBItonexrRh2Gh3h4hNh5U'(b3966 and (b1252 and b3005 and b3006))rRh"}rRh7Nubh)rR}rR(h UTransport, Inner MembranerRh }rR(j Gj-G?jRG?j>G?jG?jRGj4GuhNhU7Cobinamide transport via ABC system (uptake, periplasm)rRh,G@@h-Gh}rRh/h)]rR(j\=jb=jh=eRrRhU CBIuabcpprRh2Gh3h4hNh5U(b1711 and b1709 and b0158)rRh"}rRh7Nubh)rR}rR(h UTransport, Inner MembranerRh }rR(j Gh)rR}rR(hNhNhU Cob(I)alaminrSh}rShUcbl1_crShUEhJhGhh)rS}rS(hNhUC62H88CoN13O14PrSh}rSh"}rSh$}rS(UCK>UCoKUHKXUOKUNK UPKuhjSubh&Uch"}r Sh(h)]Rr SubG?j-G?j>G?j4GjG?h)r S}r S(hNhNhU Cob(I)alaminr Sh}rShUcbl1_prShUEhJhGhh)rS}rS(hNhUC62H88CoN13O14PrSh}rSh"}rSh$}rS(UCK>UCoKUHKXUOKUNK UPKuhjSubh&Uph"}rSh(h)]RrSubGuhNhU1Cob(1)alamin transport via ABC system (periplasm)rSh,G@@h-Gh}rSh/h)]rS(j\=jb=jh=eRrShU CBL1abcpprSh2Gh3h4hNh5U(b1711 and b1709 and b0158)rSh"}rSh7Nubh)rS}r S(h UTransport, Outer Membraner!Sh }r"S(j>G?j Gj"Gj SG?uhNhU0Cob(1)alamin transport via ton system (extermal)r#Sh,G@@h-Gh}r$Sh/h)]r%S(jy=j=j=j=eRr&ShU CBL1tonexr'Sh2Gh3h4hNh5U'(b3966 and (b1252 and b3005 and b3006))r(Sh"}r)Sh7Nubh)r*S}r+S(h U*Cofactor and Prosthetic Group Biosynthesisr,Sh }r-S(j GjRGj>GjJG?jRG?uhNhU cob(I)alamin adenosyltransferaser.Sh,G@@h-G@h}r/Sh/h)]r0SjRaRr1ShUCBLATr2Sh2Gh3h4hNh5Ub1270r3Sh"}r4Sh7Nubh)r5S}r6S(h UNucleotide Salvage Pathwayr7Sh }r8S(h)r9S}r:S(hNhNhU Carbamater;Sh}rS}r?S(hNhUCH2NO2r@Sh}rASh"}rBSh$}rCS(UHKUCKUOKUNKuhj@Subh&Uch"}rDSh(h)]RrESubGj>Gj -G?jLG?uhNhUcarbamate deaminaserFSh,G@@h-Gh}rGSh/h)]rHSjB4aRrIShUCBMDrJSh2Gh3h4hNh5Us0001rKSh"}rLSh7Nubh)rMS}rNS(h U UnassignedrOSh }rPS(j Gj -Gj-G?jLGj>G@jMG?uhNhUCarbamate kinaserQSh,G@@h-G@h}rRSh/h)]rSS(j!)rTS}rUS(hNj!KhNhUb0521rVSh}rWSj!hjVShNhNj!Kh&Nh"}rXSj!U+h(h)]RrYSubj!)rZS}r[S(hNj!KhNhUb2874r\Sh}r]Sj!hj\ShNhNj!Kh&Nh"}r^Sj!U+h(h)]Rr_Subj!)r`S}raS(hNj!KhNhUb0323rbSh}rcSj!hjbShNhNj!Kh&Nh"}rdSj!U+h(h)]RreSubeRrfShUCBMKrrgSh2Gh3h4hNh5U(b0521 or b0323 or b2874)rhSh"}riSh7Nubh)rjS}rkS(h UArginine and Proline MetabolismrlSh }rmS(j GjG?j4Gj>G@j-G@jMG?jG?j4GjaGuhNhU4carbamoyl-phosphate synthase (glutamine-hydrolysing)rnSh,G@@h-Gh}roSh/h)]rpS(j!)rqS}rrS(hNj!KhNhUb0032rsSh}rtSj!hjsShNhNj!Kh&Nh"}ruSj!U+h(h)]RrvSubj!)rwS}rxS(hNj!KhNhUb0033rySh}rzSj!hjyShNhNj!Kh&Nh"}r{Sj!U+h(h)]Rr|SubeRr}ShUCBPSr~Sh2Gh3h4hNh5U(b0032 and b0033)rSh"}rSh7Nubh)rS}rS(h U*Cofactor and Prosthetic Group BiosynthesisrSh }rS(j GjLGh)rS}rS(hNhNhU7-cyano-7-carbaguaninerSh}rShUpreq0_crShUEhKhGhh)rS}rS(hNhUC7H5N5OrSh}rSh"}rSh$}rS(UHKUCKUOKUNKuhjSubh&Uch"}rSh(h)]RrSubG?j>G?h)rS}rS(hNhNhU7-deaza-7-carboxyguaninerSh}rShUcdg_crShUEhJhGhh)rS}rS(hNhUC7H5N4O3rSh}rSh"}rSh$}rS(UHKUCKUOKUNKuhjSubh&Uch"}rSh(h)]RrSubGj-G?jG?j4G?uhNhU7-cyano-7-carbaguanine synthaserSh,G@@h-Gh}rSh/h)]rSj!)rS}rS(hNj!KhNhUb0444rSh}rSj!hjShNhNj!Kh&Nh"}rSj!U+h(h)]RrSubaRrShUCCGSrSh2Gh3h4hNh5jSh"}rSh7Nubh)rS}rS(h U&Inorganic Ion Transport and MetabolismrSh }rS(j>G?j Gj-G?h)rS}rS(hNhNhUCadmiumrSh}rShUcd2_crShUEhKhGhh)rS}rS(hNhUCdrSh}rSh"}rSh$}rSjSKshjSubh&Uch"}rSh(h)]RrSubGjG?j4Gh)rS}rS(hNhNhUCadmiumrSh}rShUcd2_prShUEhKhGhh)rS}rS(hNhUCdrSh}rSh"}rSh$}rSjSKshjSubh&Uph"}rSh(h)]RrSubG?uhNhU*Cadmium (Cd+2) ABC transporter (periplasm)rSh,G@@h-Gh}rSh/h)]rSj!)rS}rS(hNj!KhNhUb3469rSh}rSj!hjShNhNj!Kh&Nh"}rSj!U+h(h)]RrSubaRrShUCD2abcpprSh2Gh3h4hNh5jSh"}rSh7Nubh)rS}rS(h U&Inorganic Ion Transport and MetabolismrSh }rS(j"GjSGj>G?jSG?uhNhUG@j4Gh)rT}rT(hNhNhUCDP-1,2-didodecanoylglycerolrTh}rThU cdpdddecg_crThUEhJhGhh)rT}rT(hNhU C36H63N3O15P2rTh}r Th"}r!Th$}r"T(UHK?UCK$UPKUOKUNKuhjTubh&Uch"}r#Th(h)]Rr$TubGuhNhU+CDP-Diacylglycerol pyrophostatase (n-C12:0)r%Th,G@@h-Gh}r&Th/h)]r'Tj!)r(T}r)T(hNj!KhNhUb3918r*Th}r+Tj!hj*ThNhNj!Kh&Nh"}r,Tj!U+h(h)]Rr-TubaRr.ThU CDAPPA120r/Th2Gh3h4hNh5j*Th"}r0Th7Nubh)r1T}r2T(h UGlycerophospholipid Metabolismr3Th }r4T(j TG?j>G@h)r5T}r6T(hNhNhUCDP-1,2-ditetradecanoylglycerolr7Th}r8ThU cdpdtdecg_cr9ThUEhJhGhh)r:T}r;T(hNhU C40H71N3O15P2rTh$}r?T(UHKGUCK(UPKUOKUNKuhjG@j4Gjz@G?uhNhU+CDP-Diacylglycerol pyrophostatase (n-C14:1)rZTh,G@@h-Gh}r[Th/h)]r\Tj(TaRr]ThU CDAPPA141r^Th2Gh3h4hNh5Ub3918r_Th"}r`Th7Nubh)raT}rbT(h UGlycerophospholipid MetabolismrcTh }rdT(j>G@j TG?h)reT}rfT(hNhNhUCDP-1,2-dihexadecanoylglycerolrgTh}rhThU cdpdhdecg_criThUEhJhGhh)rjT}rkT(hNhU C44H79N3O15P2rlTh}rmTh"}rnTh$}roT(UHKOUCK,UPKUOKUNKuhjlTubh&Uch"}rpTh(h)]RrqTubGj@G?j4GuhNhU+CDP-Diacylglycerol pyrophostatase (n-C16:0)rrTh,G@@h-Gh}rsTh/h)]rtTj(TaRruThU CDAPPA160rvTh2Gh3h4hNh5Ub3918rwTh"}rxTh7Nubh)ryT}rzT(h UGlycerophospholipid Metabolismr{Th }r|T(h)r}T}r~T(hNhNhU!CDP-1,2-dihexadec-9-enoylglycerolrTh}rThU cdpdhdec9eg_crThUEhJhGhh)rT}rT(hNhU C44H75N3O15P2rTh}rTh"}rTh$}rT(UHKKUCK,UPKUOKUNKuhjTubh&Uch"}rTh(h)]RrTubGj TG?j>G@j4Gj@G?uhNhU+CDP-Diacylglycerol pyrophostatase (n-C16:1)rTh,G@@h-Gh}rTh/h)]rTj(TaRrThU CDAPPA161rTh2Gh3h4hNh5Ub3918rTh"}rTh7Nubh)rT}rT(h UGlycerophospholipid MetabolismrTh }rT(h)rT}rT(hNhNhUCDP-1,2-dioctadecanoylglycerolrTh}rThU cdpdodecg_crThUEhJhGhh)rT}rT(hNhU C48H87N3O15P2rTh}rTh"}rTh$}rT(UHKWUCK0UPKUOKUNKuhjTubh&Uch"}rTh(h)]RrTubGj TG?j>G@j@G?j4GuhNhU+CDP-Diacylglycerol pyrophostatase (n-C18:0)rTh,G@@h-Gh}rTh/h)]rTj(TaRrThU CDAPPA180rTh2Gh3h4hNh5Ub3918rTh"}rTh7Nubh)rT}rT(h UGlycerophospholipid MetabolismrTh }rT(j TG?j>G@h)rT}rT(hNhNhU"CDP-1,2-dioctadec-11-enoylglycerolrTh}rThUcdpdodec11eg_crThUEhJhGhh)rT}rT(hNhU C48H83N3O15P2rTh}rTh"}rTh$}rT(UHKSUCK0UPKUOKUNKuhjTubh&Uch"}rTh(h)]RrTubGj4GjAG?uhNhU+CDP-Diacylglycerol pyrophostatase (n-C18:1)rTh,G@@h-Gh}rTh/h)]rTj(TaRrThU CDAPPA181rTh2Gh3h4hNh5Ub3918rTh"}rTh7Nubh)rT}rT(h U*Cofactor and Prosthetic Group BiosynthesisrTh }rT(h)rT}rT(hNhNhU7-aminomethyl-7-deazaguaninerTh}rThUpreq1_crThUEhKhGhh)rT}rT(hNhUC7H10N5OrTh}rTh"}rTh$}rT(UHK UCKUOKUNKuhjTubh&Uch"}rTh(h)]RrTubG?j>GjCGj)G@jSGuhNhU 7-cyano-7-deazaguanine reductaserTh,G@@h-Gh}rTh/h)]rTj!)rT}rT(hNj!KhNhUb2794rTh}rTj!hjThNhNj!Kh&Nh"}rTj!U+h(h)]RrTubaRrThUCDGRrTh2Gh3h4hNh5jTh"}rTh7Nubh)rT}rT(h U*Cofactor and Prosthetic Group BiosynthesisrTh }rT(j>GjLG?jSG?h)rT}rT(hNhNhU"6-carboxy-5,6,7,8-tetrahydropterinrTh}rThUcph4_crThUEhJhGhh)rT}rT(hNhUC7H8N5O3rTh}rTh"}rTh$}rT(UHKUCKUOKUNKuhjTubh&Uch"}rTh(h)]RrTubGuhNhU!7-deaza-7-carboxyguanine synthaserTh,G@@h-Gh}rTh/h)]RrThUCDGSrTh2Gh3h4hNh5Uh"}rTh7Nubh)rT}rT(h U*Cofactor and Prosthetic Group BiosynthesisrTh }rT(j Gh)rT}rT(hNhNhU;2-phospho-4-(cytidine 5'-diphospho)-2-C-methyl-D-erythritolrTh}rThU 2p4c2me_crThUEhJhGhh)rT}rT(hNhU C14H22N3O17P3rTh}rUh"}rUh$}rU(UHKUCKUPKUOKUNKuhjTubh&Uch"}rUh(h)]RrUubG?j-G?j>G?h)rU}rU(hNhNhU14-(cytidine 5'-diphospho)-2-C-methyl-D-erythritolrUh}rUhU4c2me_cr UhUEhJhGhh)r U}r U(hNhU C14H23N3O14P2r Uh}r Uh"}rUh$}rU(UHKUCKUPKUOKUNKuhj Uubh&Uch"}rUh(h)]RrUubGuhNhU84-(cytidine 5'-diphospho)-2-C-methyl-D-erythritol kinaserUh,G@@h-Gh}rUh/h)]rUj!)rU}rU(hNj!KhNhUb1208rUh}rUj!hjUhNhNj!Kh&Nh"}rUj!U+h(h)]RrUubaRrUhUCDPMEKrUh2Gh3h4hNh5jUh"}rUh7Nubh)rU}rU(h UGlycerophospholipid Metabolismr Uh }r!U(j>G@h)r"U}r#U(hNhNhUQcyclopropane phosphatidylethanolamine (dihexadec-9,10-cyclo-anoyl, n-C16:0 cyclo)r$Uh}r%UhUcpe160_cr&UhUEhKhGhh)r'U}r(U(hNhU C39H74N1O8P1r)Uh}r*Uh"}r+Uh$}r,U(UHKJUCK'UPKUOKUNKuhj)Uubh&Uch"}r-Uh(h)]Rr.UubG?jGjGj9G@uhNhUDcyclopropane fatty acid synthase (Phosphatidylethanolamine, n-C16:0)r/Uh,G@@h-Gh}r0Uh/h)]r1Uj!)r2U}r3U(hNj!KhNhUb1661r4Uh}r5Uj!hj4UhNhNj!Kh&Nh"}r6Uj!U+h(h)]Rr7UubaRr8UhUCFAS160Er9Uh2Gh3h4hNh5j4Uh"}r:Uh7Nubh)r;U}rU(j>G@jGjGj9G@h)r?U}r@U(hNhNhUMcyclopropane phosphatidylglycerol (dihexadec-9,10-cyclo-anoyl, n-C16:0 cyclo)rAUh}rBUhUcpg160_crCUhUEhJhGhh)rDU}rEU(hNhU C40H74O10P1rFUh}rGUh"}rHUh$}rIU(UHKJUCK(UOK UPKuhjFUubh&Uch"}rJUh(h)]RrKUubG?uhNhU@cyclopropane fatty acid synthase (Phosphatidylglycerol, n-C16:0)rLUh,G@@h-Gh}rMUh/h)]rNUj2UaRrOUhUCFAS160GrPUh2Gh3h4hNh5Ub1661rQUh"}rRUh7Nubh)rSU}rTU(h UGlycerophospholipid MetabolismrUUh }rVU(h)rWU}rXU(hNhNhURcyclopropane phosphatidylethanolamine (dioctadec-11,12-cyclo-anoyl, n-C18:0 cyclo)rYUh}rZUhUcpe180_cr[UhUEhKhGhh)r\U}r]U(hNhU C43H82N1O8P1r^Uh}r_Uh"}r`Uh$}raU(UHKRUCK+UPKUOKUNKuhj^Uubh&Uch"}rbUh(h)]RrcUubG?jGj>G@jGj9G@uhNhUDcyclopropane fatty acid synthase (Phosphatidylethanolamine, n-C18:0)rdUh,G@@h-Gh}reUh/h)]rfUj2UaRrgUhUCFAS180ErhUh2Gh3h4hNh5Ub1661riUh"}rjUh7Nubh)rkU}rlU(h UGlycerophospholipid MetabolismrmUh }rnU(jGh)roU}rpU(hNhNhUNcyclopropane phosphatidylglycerol (dioctadec-11,12-cyclo-anoyl, n-C18:0 cyclo)rqUh}rrUhUcpg180_crsUhUEhJhGhh)rtU}ruU(hNhU C44H82O10P1rvUh}rwUh"}rxUh$}ryU(UHKRUCK,UOK UPKuhjvUubh&Uch"}rzUh(h)]Rr{UubG?jGj>G@j9G@uhNhU@cyclopropane fatty acid synthase (Phosphatidylglycerol, n-C18:0)r|Uh,G@@h-Gh}r}Uh/h)]r~Uj2UaRrUhUCFAS180GrUh2Gh3h4hNh5Ub1661rUh"}rUh7Nubh)rU}rU(h UTransport, Inner MembranerUh }rU(j Gj>G?h)rU}rU(hNhNhUCys-GlyrUh}rUhUcgly_prUhUEhKhGhh)rU}rU(hNhU C5H10N2O3SrUh}rUh"}rUh$}rU(UHK UCKUSKUOKUNKuhjUubh&Uph"}rUh(h)]RrUubGjG?j4Gj-G?juGG?uhNhUAL-Cysteinylglycine (Cys-Gly) transport via ABC system (periplasm)rUh,G@@h-Gh}rUh/h)]rU(jZBj`BjrBjxBj~BeRrUhU CGLYabcpprUh2Gh3h4hNh5U/(b3544 and b3543 and b3542 and b3541 and b3540)rUh"}rUh7Nubh)rU}rU(h UTransport, Outer Membrane PorinrUh }rU(j GjUG?uhNhUGL-Cysteinylglycine transport via diffusion (extracellular to periplasm)rUh,G@@h-G@h}rUh/h)]rU(j!j!j!j!eRrUhUCGLYtexrUh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rUh"}rUh7Nubh)rU}rU(h UTransport, Inner MembranerUh }rU(j Gh)rU}rU(hNhNhUCholinerUh}rUhUchol_crUhUEhKhGhh)rU}rU(hNhUC5H14NOrUh}rUh"}rUh$}rU(UHKUCKUOKUNKuhjUubh&Uch"}rUh(h)]RrUubG?h)rU}rU(hNhNhUCholinerUh}rUhUchol_prUhUEhKhGhh)rU}rU(hNhUC5H14NOrUh}rUh"}rUh$}rU(UHKUCKUOKUNKuhjUubh&Uph"}rUh(h)]RrUubGj>G?jG?j-G?j4GuhNhU,choline transport via ABC system (periplasm)rUh,G@@h-Gh}rUh/h)]rU(j!)rU}rU(hNj!KhNhUb2130rUh}rUj!hjUhNhNj!Kh&Nh"}rUj!U+h(h)]RrUubj!)rU}rU(hNj!KhNhUb2129rUh}rUj!hjUhNhNj!Kh&Nh"}rUj!U+h(h)]RrUubj!)rU}rU(hNj!KhNhUb2131rUh}rUj!hjUhNhNj!Kh&Nh"}rUj!U+h(h)]RrUubj!)rU}rU(hNj!KhNhUb2128rUh}rUj!hjUhNhNj!Kh&Nh"}rUj!U+h(h)]RrUubeRrUhUCHLabcpprUh2Gh3h4hNh5U%(b2128 and b2129 and b2130 and b2131)rUh"}rUh7Nubh)rU}rU(h UTransport, Inner MembranerUh }rU(jUG?jUGj"Gj>G?uhNhU0choline transport via proton symport (periplasm)rUh,G@@h-Gh}rUh/h)]rU(j!)rU}rU(hNj!KhNhUb0314rUh}rUj!hjUhNhNj!Kh&Nh"}rUj!U+h(h)]RrUubj!)rU}rU(hNj!KhNhUb1801rUh}rUj!hjUhNhNj!Kh&Nh"}rUj!U+h(h)]RrUubeRrUhUCHLt2pprUh2Gh3h4hNh5U(b0314 or b1801)rUh"}rUh7Nubh)rU}rU(h UTransport, Outer Membrane PorinrUh }rU(j GjUG?uhNhUG?jGjG?uhNhUcholine dehydrogenaser Vh,G@@h-Gh}r Vh/h)]r Vj!)r V}r V(hNj!KhNhUb0311rVh}rVj!hjVhNhNj!Kh&Nh"}rVj!U+h(h)]RrVubaRrVhUCHOLDrVh2Gh3h4hNh5jVh"}rVh7Nubh)rV}rV(h U2Tyrosine, Tryptophan, and Phenylalanine MetabolismrVh }rV(h)rV}rV(hNhNhU PrephenaterVh}rVhUpphn_crVhUEhJhGhh)rV}rV(hNhUC10H8O6r Vh}r!Vh"}r"Vh$}r#V(UHKUCK UOKuhj Vubh&Uch"}r$Vh(h)]Rr%VubG?jGuhNhUchorismate mutaser&Vh,G@@h-Gh}r'Vh/h)]r(V(j!)r)V}r*V(hNj!KhNhUb2599r+Vh}r,Vj!hj+VhNhNj!Kh&Nh"}r-Vj!U+h(h)]Rr.Vubj!)r/V}r0V(hNj!KhNhUb2600r1Vh}r2Vj!hj1VhNhNj!Kh&Nh"}r3Vj!U+h(h)]Rr4VubeRr5VhUCHORMr6Vh2Gh3h4hNh5U(b2599 or b2600)r7Vh"}r8Vh7Nubh)r9V}r:V(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismr;Vh }rV(hNhNhU'5-O-(1-Carboxyvinyl)-3-phosphoshikimater?Vh}r@VhU3psme_crAVhUEhJhGhh)rBV}rCV(hNhU C10H9O10PrDVh}rEVh"}rFVh$}rGV(UHK UCK UOK UPKuhjDVubh&Uch"}rHVh(h)]RrIVubGjG?uhNhUchorismate synthaserJVh,G@@h-Gh}rKVh/h)]rLVj!)rMV}rNV(hNj!KhNhUb2329rOVh}rPVj!hjOVhNhNj!Kh&Nh"}rQVj!U+h(h)]RrRVubaRrSVhUCHORSrTVh2Gh3h4hNh5jOVh"}rUVh7Nubh)rVV}rWV(h U*Cofactor and Prosthetic Group BiosynthesisrXVh }rYV(jGh)rZV}r[V(hNhNhU4-Hydroxybenzoater\Vh}r]VhU4hbz_cr^VhUEhJhGhh)r_V}r`V(hNhUC7H5O3raVh}rbVh"}rcVh$}rdV(UHKUCKUOKuhjaVubh&Uch"}reVh(h)]RrfVubG?j5G?uhNhUChorismate pyruvate lyasergVh,G@@h-Gh}rhVh/h)]riVj!)rjV}rkV(hNj!KhNhUb4039rlVh}rmVj!hjlVhNhNj!Kh&Nh"}rnVj!U+h(h)]RroVubaRrpVhUCHRPLrqVh2Gh3h4hNh5jlVh"}rrVh7Nubh)rsV}rtV(h UTransport, Inner MembraneruVh }rvV(h)rwV}rxV(hNhNhUN,N'-diacetylchitobioseryVh}rzVhUchtbs_pr{VhUEhKhGhh)r|V}r}V(hNhU C16H28N2O11r~Vh}rVh"}rVh$}rV(UHKUCKUOK UNKuhj~Vubh&Uph"}rVh(h)]RrVubGj5G?h)rV}rV(hNhNhUdiacetylchitobiose-6-phosphaterVh}rVhU chtbs6p_crVhUEhJhGhh)rV}rV(hNhU C16H27N2O14PrVh}rVh"}rVh$}rV(UHKUCKUPKUOKUNKuhjVubh&Uch"}rVh(h)]RrVubG?j5GuhNhU0chitobiose transport via PEP:Pyr PTS (periplasm)rVh,G@@h-Gh}rVh/h)]rVj5aRrVhU CHTBSptspprVh2Gh3h4hNh5Ub2416rVh"}rVh7Nubh)rV}rV(h UTransport, Outer Membrane PorinrVh }rV(jwVG?j GuhNhU?chitobiose transport via diffusion (extracellular to periplasm)rVh,G@@h-G@h}rVh/h)]rV(j!j!j!j!eRrVhUCHTBStexrVh2Gh3h4hNh5U"(b2215 or b0929 or b1377 or b0241)rVh"}rVh7Nubh)rV}rV(h UAlternate Carbon MetabolismrVh }rV(jGh)rV}rV(hNhNhUtrans-CinnamaterVh}rVhUcinnm_crVhUEhJhGhh)rV}rV(hNhUC9H7O2rVh}rVh"}rVh$}rV(UHKUCK UOKuhjVubh&Uch"}rVh(h)]RrVubGj*Gj>GjG?h)rV}rV(hNhNhU4cis-3-(3-carboxyethenyl)-3,5-cyclohexadiene-1,2-diolrVh}rVhU cenchddd_crVhUEhJhGhh)rV}rV(hNhUC9H9O4rVh}rVh"}rVh$}rV(UHK UCK UOKuhjVubh&Uch"}rVh(h)]RrVubG?uhNhUCinnamate dioxygenaserVh,G@@h-Gh}rVh/h)]rV(j!)rV}rV(hNj!KhNhUb2538rVh}rVj!hjVhNhNj!Kh&Nh"}rVj!U+h(h)]RrVubj!)rV}rV(hNj!KhNhUb2542rVh}rVj!hjVhNhNj!Kh&Nh"}rVj!U+h(h)]RrVubj!)rV}rV(hNj!KhNhUb2540rVh}rVj!hjVhNhNj!Kh&Nh"}rVj!U+h(h)]RrVubj!)rV}rV(hNj!KhNhUb2539rVh}rVj!hjVhNhNj!Kh&Nh"}rVj!U+h(h)]RrVubeRrVhUCINNDOrVh2Gh3h4hNh5U%(b2538 and b2539 and b2540 and b2542)rVh"}rVh7Nubh)rV}rV(h UCitric Acid CyclerVh }rV(j9Gj2G?jNG?uhNhU Citrate lyaserVh,G@@h-Gh}rVh/h)]rV(j!)rV}rV(hNj!KhNhUb0616rVh}rVj!hjVhNhNj!Kh&Nh"}rVj!U+h(h)]RrVubj!)rV}rV(hNj!KhNhUb0615rVh}rVj!hjVhNhNj!Kh&Nh"}rVj!U+h(h)]RrVubj!)rV}rV(hNj!KhNhUb0617rVh}rVj!hjVhNhNj!Kh&Nh"}rVj!U+h(h)]RrVubj!)rV}rV(hNj!KhNhUb0614rVh}rVj!hjVhNhNj!Kh&Nh"}rVj!U+h(h)]RrVubeRrVhUCITLrWh2Gh3h4hNh5U'((b0615 and b0616 and b0617) and b0614)rWh"}rWh7Nubh)rW}rW(h UTransport, Inner MembranerWh }rW(j9Gj"Gj>G?h)rW}rW(hNhNhUCitrater Wh}r WhUcit_pr WhUEhJhGhh)r W}r W(hNhUC6H5O7rWh}rWh"}rWh$}rW(UHKUCKUOKuhjWubh&Uph"}rWh(h)]RrWubG?uhNhU5citrate transport out via proton antiport (periplasm)rWh,G@@h-Gh}rWh/h)]RrWhUCITt3pprWh2Gh3h4hNh5Uh"}rWh7Nubh)rW}rW(h UTransport, Inner MembranerWh }rW(j9G?j\NGjWGh)rW}rW(hNhNhU SuccinaterWh}r WhUsucc_pr!WhUEhJhGhh)r"W}r#W(hNhUC4H4O4r$Wh}r%Wh"}r&Wh$}r'W(UHKUCKUOKuhj$Wubh&Uph"}r(Wh(h)]Rr)WubG?uhNhU4Citrate transport via succinate antiport (periplasm)r*Wh,G@@h-Gh}r+Wh/h)]r,Wj!)r-W}r.W(hNj!KhNhUb0612r/Wh}r0Wj!hj/WhNhNj!Kh&Nh"}r1Wj!U+h(h)]Rr2WubaRr3WhUCITt7ppr4Wh2Gh3h4hNh5j/Wh"}r5Wh7Nubh)r6W}r7W(h UTransport, Outer Membrane Porinr8Wh }r9W(j# GjWG?uhNhUWh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r?Wh"}r@Wh7Nubh)rAW}rBW(h U+Lipopolysaccharide Biosynthesis / RecyclingrCWh }rDW(j Gh)rEW}rFW(hNhNhUcold adapted KDO(2)-lipid (A)rGWh}rHWhU lipa_cold_prIWhUEhJhGhh)rJW}rKW(hNhUC114H202N2O39P2rLWh}rMWh"}rNWh$}rOW(UHKUCKrUPKUOK'UNKuhjLWubh&Uph"}rPWh(h)]RrQWubGj>G?j4GjG?jG?j-G?uhNhUBcold lipid A transport via ABC system (periplasm to extracellular)rRWh,G@@h-Gh}rSWh/h)]rTW(j'9j-9j39j99j?9eRrUWhU CLIPAabctexrVWh2Gh3h4hNh5U/(b3200 and b3201 and b3199 and b4261 and b4262)rWWh"}rXWh7Nubh)rYW}rZW(h UGlycerophospholipid Metabolismr[Wh }r\W(h)r]W}r^W(hNhNhU,Phosphatidylglycerol (didodecanoyl, n-C12:0)r_Wh}r`WhUpg120_praWhUEhJhGhh)rbW}rcW(hNhU C30H58O10P1rdWh}reWh"}rfWh$}rgW(UHK:UCKUOK UPKuhjdWubh&Uph"}rhWh(h)]RriWubG?j"G?h)rjW}rkW(hNhNhU(1,2-didodecanoyl-sn-glycerol 3-phosphaterlWh}rmWhUpa120_prnWhUEhJhGhh)roW}rpW(hNhU C27H51O8P1rqWh}rrWh"}rsWh$}rtW(UHK3UCKUOKUPKuhjqWubh&Uph"}ruWh(h)]RrvWubG?h)rwW}rxW(hNhNhU&cardiolipin (tetradodecanoyl, n-C12:0)ryWh}rzWhU clpn120_pr{WhUEhJhGhh)r|W}r}W(hNhU C57H108O17P2r~Wh}rWh"}rWh$}rW(UHKlUCK9UOKUPKuhj~Wubh&Uph"}rWh(h)]RrWubGj#GuhNhU*cardiolipin hydrolase (periplasm, n-C12:0)rWh,G@@h-Gh}rWh/h)]RrWhU CLPNH120pprWh2Gh3h4hNh5Uh"}rWh7Nubh)rW}rW(h UGlycerophospholipid MetabolismrWh }rW(h)rW}rW(hNhNhU/Phosphatidylglycerol (ditetradecanoyl, n-C14:0)rWh}rWhUpg140_prWhUEhJhGhh)rW}rW(hNhU C34H66O10P1rWh}rWh"}rWh$}rW(UHKBUCK"UOK UPKuhjWubh&Uph"}rWh(h)]RrWubG?j"G?j#Gh)rW}rW(hNhNhU)cardiolipin (tetratetradecanoyl, n-C14:0)rWh}rWhU clpn140_prWhUEhJhGhh)rW}rW(hNhU C65H124O17P2rWh}rWh"}rWh$}rW(UHK|UCKAUOKUPKuhjWubh&Uph"}rWh(h)]RrWubGh)rW}rW(hNhNhU+1,2-ditetradecanoyl-sn-glycerol 3-phosphaterWh}rWhUpa140_prWhUEhJhGhh)rW}rW(hNhU C31H59O8P1rWh}rWh"}rWh$}rW(UHK;UCKUOKUPKuhjWubh&Uph"}rWh(h)]RrWubG?uhNhU*cardiolipin hydrolase (periplasm, n-C14:0)rWh,G@@h-Gh}rWh/h)]RrWhU CLPNH140pprWh2Gh3h4hNh5Uh"}rWh7Nubh)rW}rW(h UGlycerophospholipid MetabolismrWh }rW(h)rW}rW(hNhNhU.1,2-ditetradec-7-enoyl-sn-glycerol 3-phosphaterWh}rWhUpa141_prWhUEhJhGhh)rW}rW(hNhU C31H55O8P1rWh}rWh"}rWh$}rW(UHK7UCKUOKUPKuhjWubh&Uph"}rWh(h)]RrWubG?j"G?h)rW}rW(hNhNhU,cardiolipin (tetratetradec-7-enoyl, n-C14:1)rWh}rWhU clpn141_prWhUEhJhGhh)rW}rW(hNhU C65H116O17P2rWh}rWh"}rWh$}rW(UHKtUCKAUOKUPKuhjWubh&Uph"}rWh(h)]RrWubGh)rW}rW(hNhNhU2Phosphatidylglycerol (ditetradec-7-enoyl, n-C14:1)rWh}rWhUpg141_prWhUEhJhGhh)rW}rW(hNhU C34H62O10P1rWh}rWh"}rWh$}rW(UHK>UCK"UOK UPKuhjWubh&Uph"}rWh(h)]RrWubG?j#GuhNhU*cardiolipin hydrolase (periplasm, n-C14:1)rWh,G@@h-Gh}rWh/h)]RrWhU CLPNH141pprWh2Gh3h4hNh5Uh"}rWh7Nubh)rW}rW(h UGlycerophospholipid MetabolismrWh }rW(jGjG?j"G?h)rW}rW(hNhNhU*1,2-dihexadecanoyl-sn-glycerol 3-phosphaterWh}rWhUpa160_prWhUEhJhGhh)rW}rW(hNhU C35H67O8P1rWh}rWh"}rWh$}rW(UHKCUCK#UOKUPKuhjWubh&Uph"}rWh(h)]RrWubG?j#GuhNhU*cardiolipin hydrolase (periplasm, n-C16:0)rWh,G@@h-Gh}rWh/h)]RrWhU CLPNH160pprWh2Gh3h4hNh5Uh"}rWh7Nubh)rW}rX(h UGlycerophospholipid MetabolismrXh }rX(h)rX}rX(hNhNhU-1,2-dihexadec-9-enoyl-sn-glycerol 3-phosphaterXh}rXhUpa161_prXhUEhJhGhh)rX}r X(hNhU C35H63O8P1r Xh}r Xh"}r Xh$}r X(UHK?UCK#UOKUPKuhj Xubh&Uph"}rXh(h)]RrXubG?j"G?jG?j?Gj#GuhNhU*cardiolipin hydrolase (periplasm, n-C16:1)rXh,G@@h-Gh}rXh/h)]RrXhU CLPNH161pprXh2Gh3h4hNh5Uh"}rXh7Nubh)rX}rX(h UGlycerophospholipid MetabolismrXh }rX(h)rX}rX(hNhNhU(cardiolipin (tetraoctadecanoyl, n-C18:0)rXh}rXhU clpn180_prXhUEhJhGhh)rX}rX(hNhU C81H156O17P2r Xh}r!Xh"}r"Xh$}r#X(UHKUCKQUOKUPKuhj Xubh&Uph"}r$Xh(h)]Rr%XubGj"G?h)r&X}r'X(hNhNhU.Phosphatidylglycerol (dioctadecanoyl, n-C18:0)r(Xh}r)XhUpg180_pr*XhUEhJhGhh)r+X}r,X(hNhU C42H82O10P1r-Xh}r.Xh"}r/Xh$}r0X(UHKRUCK*UOK UPKuhj-Xubh&Uph"}r1Xh(h)]Rr2XubG?h)r3X}r4X(hNhNhU*1,2-dioctadecanoyl-sn-glycerol 3-phosphater5Xh}r6XhUpa180_pr7XhUEhJhGhh)r8X}r9X(hNhU C39H75O8P1r:Xh}r;Xh"}rXh(h)]Rr?XubG?j#GuhNhU*cardiolipin hydrolase (periplasm, n-C18:0)r@Xh,G@@h-Gh}rAXh/h)]RrBXhU CLPNH180pprCXh2Gh3h4hNh5Uh"}rDXh7Nubh)rEX}rFX(h UGlycerophospholipid MetabolismrGXh }rHX(jGhG?j"G?h)rIX}rJX(hNhNhU.1,2-dioctadec-11-enoyl-sn-glycerol 3-phosphaterKXh}rLXhUpa181_prMXhUEhJhGhh)rNX}rOX(hNhU C39H71O8P1rPXh}rQXh"}rRXh$}rSX(UHKGUCK'UOKUPKuhjPXubh&Uph"}rTXh(h)]RrUXubG?j#GuhNhU*cardiolipin hydrolase (periplasm, n-C18:1)rVXh,G@@h-Gh}rWXh/h)]RrXXhU CLPNH181pprYXh2Gh3h4hNh5Uh"}rZXh7Nubh)r[X}r\X(h UGlycerophospholipid Metabolismr]Xh }r^X(j]WGjwWG?h)r_X}r`X(hNhNhUGlycerolraXh}rbXhUglyc_prcXhUEhKhGhh)rdX}reX(hNhUC3H8O3rfXh}rgXh"}rhXh$}riX(UHKUCKUOKuhjfXubh&Uph"}rjXh(h)]RrkXubG?uhNhU+cardiolipin synthase (periplasmic, n-C12:0)rlXh,G@@h-G@h}rmXh/h)]rnX(j!)roX}rpX(hNj!KhNhUb0789rqXh}rrXj!hjqXhNhNj!Kh&Nh"}rsXj!U+h(h)]RrtXubj!)ruX}rvX(hNj!KhNhUb1249rwXh}rxXj!hjwXhNhNj!Kh&Nh"}ryXj!U+h(h)]RrzXubeRr{XhU CLPNS120ppr|Xh2Gh3h4hNh5U(b0789 or b1249)r}Xh"}r~Xh7Nubh)rX}rX(h UGlycerophospholipid MetabolismrXh }rX(j_XG?jWG?jWGuhNhU+cardiolipin synthase (periplasmic, n-C14:0)rXh,G@@h-G@h}rXh/h)]rX(joXjuXeRrXhU CLPNS140pprXh2Gh3h4hNh5U(b1249 or b0789)rXh"}rXh7Nubh)rX}rX(h UGlycerophospholipid MetabolismrXh }rX(jWGjWG?j_XG?uhNhU+cardiolipin synthase (periplasmic, n-C14:1)rXh,G@@h-G@h}rXh/h)]rX(joXjuXeRrXhU CLPNS141pprXh2Gh3h4hNh5U(b0789 or b1249)rXh"}rXh7Nubh)rX}rX(h UGlycerophospholipid MetabolismrXh }rX(jG?jGj_XG?uhNhU+cardiolipin synthase (periplasmic, n-C16:0)rXh,G@@h-G@h}rXh/h)]rX(juXjoXeRrXhU CLPNS160pprXh2Gh3h4hNh5U(b0789 or b1249)rXh"}rXh7Nubh)rX}rX(h UGlycerophospholipid MetabolismrXh }rX(j_XG?jGj?G?uhNhU+cardiolipin synthase (periplasmic, n-C16:1)rXh,G@@h-G@h}rXh/h)]rX(joXjuXeRrXhU CLPNS161pprXh2Gh3h4hNh5U(b1249 or b0789)rXh"}rXh7Nubh)rX}rX(h UGlycerophospholipid MetabolismrXh }rX(j&XGj_XG?jXG?uhNhU+cardiolipin synthase (periplasmic, n-C18:0)rXh,G@@h-G@h}rXh/h)]rX(joXjuXeRrXhU CLPNS180pprXh2Gh3h4hNh5U(b0789 or b1249)rXh"}rXh7Nubh)rX}rX(h UGlycerophospholipid MetabolismrXh }rX(j_XG?jG?hGuhNhU+cardiolipin synthase (periplasmic, n-C18:1)rXh,G@@h-G@h}rXh/h)]rX(juXjoXeRrXhU CLPNS181pprXh2Gh3h4hNh5U(b0789 or b1249)rXh"}rXh7Nubh)rX}rX(h U&Inorganic Ion Transport and MetabolismrXh }rX(h)rX}rX(hNhNhUChloriderXh}rXhUcl_prXhUEhJhGhh)rX}rX(hNhUClrXh}rXh"}rXh$}rXjXKshjXubh&Uph"}rXh(h)]RrXubGjG@j>Gj"G?uhNhUG?uhNhU)Chloramphenicol transport via TolC systemr:Yh,G@@h-Gh}r;Yh/h)]rY(hNj!KhNhUb0463r?Yh}r@Yj!hj?YhNhNj!Kh&Nh"}rAYj!U+h(h)]RrBYubj!)rCY}rDY(hNj!KhNhUb3035rEYh}rFYj!hjEYhNhNj!Kh&Nh"}rGYj!U+h(h)]RrHYubj!)rIY}rJY(hNj!KhNhUb2470rKYh}rLYj!hjKYhNhNj!Kh&Nh"}rMYj!U+h(h)]RrNYubj!)rOY}rPY(hNj!KhNhUb0462rQYh}rRYj!hjQYhNhNj!Kh&Nh"}rSYj!U+h(h)]RrTYubeRrUYhUCMtpprVYh2Gh3h4hNh5U<((b0463 and b0462 and b3035) or (b0463 and b2470 and b3035))rWYh"}rXYh7Nubh)rYY}rZY(h UTransport, Outer Membrane Porinr[Yh }r\Y(jVKG?jw GuhNhU8CO2 transport via diffusion (extracellular to periplasm)r]Yh,G@@h-G@h}r^Yh/h)]r_Y(j!j!j!j!eRr`YhUCO2texraYh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rbYh"}rcYh7Nubh)rdY}reY(h UTransport, Inner MembranerfYh }rgY(jVKGj -G?uhNhU)CO2 transporter via diffusion (periplasm)rhYh,G@@h-G@h}riYh/h)]rjYjB4aRrkYhUCO2tpprlYh2Gh3h4hNh5Us0001rmYh"}rnYh7Nubh)roY}rpY(h U&Inorganic Ion Transport and MetabolismrqYh }rrY(j Gj-G?j4GjGj>G?jG?h)rsY}rtY(hNhNhUCo2+ruYh}rvYhU cobalt2_prwYhUEhKhGhh)rxY}ryY(hNhUCorzYh}r{Yh"}r|Yh$}r}YjzYKshjzYubh&Uph"}r~Yh(h)]RrYubG?uhNhU)Cobalt (Co+2) ABC transporter (periplasm)rYh,G@@h-Gh}rYh/h)]rYjSaRrYhU COBALT2abcpprYh2Gh3h4hNh5Ub3469rYh"}rYh7Nubh)rY}rY(h U&Inorganic Ion Transport and MetabolismrYh }rY(jGj"Gj>G?jsYG?uhNhU;cobalt (Co+2) transport out via proton antiport (periplasm)rYh,G@@h-Gh}rYh/h)]rY(jSjSeRrYhU COBALT2t3pprYh2Gh3h4hNh5U(b0752 or b3915)rYh"}rYh7Nubh)rY}rY(h UTransport, Outer Membrane PorinrYh }rY(jsYG?j GuhNhUBcobalt (Co+2) transport via diffusion (extracellular to periplasm)rYh,G@@h-G@h}rYh/h)]rY(j!j!j!j!eRrYhU COBALT2texrYh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rYh"}rYh7Nubh)rY}rY(h U&Inorganic Ion Transport and MetabolismrYh }rY(jsYGjG?uhNhU(cobalt transport in via permease (no H+)rYh,G@@h-Gh}rYh/h)]rY(j!)rY}rY(hNj!KhNhUb3816rYh}rYj!hjYhNhNj!Kh&Nh"}rYj!U+h(h)]RrYubjSeRrYhU COBALT2tpprYh2Gh3h4hNh5U(b3040 or b3816)rYh"}rYh7Nubh)rY}rY(h U+Lipopolysaccharide Biosynthesis / RecyclingrYh }rY(h)rY}rY(hNhNhU(core oligosaccharide lipid A diphosphaterYh}rYhU colipap_prYhUEhJhGhh)rY}rY(hNhUC176H303N2O103P5rYh}rYh"}rYh$}rY(UHM/UCKUPKUOKgUNKuhjYubh&Uph"}rYh(h)]RrYubG?h)rY}rY(hNhNhUUndecaprenyl diphosphaterYh}rYhUudcpdp_prYhUEhJhGhh)rY}rY(hNhU C55H89O7P2rYh}rYh"}rYh$}rY(UHKYUCK7UOKUPKuhjYubh&Uph"}rYh(h)]RrYubGh)rY}rY(hNhNhUcore oligosaccharide lipid ArYh}rYhUcolipa_prYhUEhJhGhh)rY}rY(hNhUC176H303N2O100P4rYh}rYh"}rYh$}rY(UHM/UCKUPKUOKdUNKuhjYubh&Uph"}rYh(h)]RrYubGh)rY}rY(hNhNhUUndecaprenyl phosphaterYh}rYhUudcpp_prYhUEhJhGhh)rY}rY(hNhU C55H89O4PrYh}rYh"}rYh$}rY(UHKYUCK7UOKUPKuhjYubh&Uph"}rYh(h)]RrYubG?uhNhULipid A core kinase (periplasm)rYh,G@@h-Gh}rYh/h)]rYj!)rY}rY(hNj!KhNhUb2174rYh}rYj!hjYhNhNj!Kh&Nh"}rYj!U+h(h)]RrYubaRrYhU COLIPAKpprYh2Gh3h4hNh5jYh"}rYh7Nubh)rY}rY(h U+Lipopolysaccharide Biosynthesis / RecyclingrYh }rY(j Gj>G?j G?jYGj-G?j4GjG?uhNhU^core oligosaccharide lipid A diphosphate transport via ABC system (periplasm to extracellular)rYh,G@@h-Gh}rYh/h)]rY(j99j'9j?9j-9j39eRrYhU COLIPAPabctexrYh2Gh3h4hNh5U/(b3200 and b3201 and b3199 and b4261 and b4262)rYh"}rYh7Nubh)rY}rY(h U+Lipopolysaccharide Biosynthesis / RecyclingrYh }rZ(j Gj-G?j4Gj>G?jYG?jG?h)rZ}rZ(hNhNhUcore oligosaccharide lipid ArZh}rZhUcolipa_crZhUEhJhGhh)rZ}rZ(hNhUC176H303N2O100P4rZh}r Zh"}r Zh$}r Z(UHM/UCKUPKUOKdUNKuhjZubh&Uch"}r Zh(h)]Rr ZubGuhNhUAcore oligosaccharide lipid A transport via ABC system (periplasm)rZh,G@@h-Gh}rZh/h)]rZj!)rZ}rZ(hNj!KhNhUb0914rZh}rZj!hjZhNhNj!Kh&Nh"}rZj!U+h(h)]RrZubaRrZhU COLIPAabcpprZh2Gh3h4hNh5jZh"}rZh7Nubh)rZ}rZ(h U+Lipopolysaccharide Biosynthesis / RecyclingrZh }rZ(j Gj>G?jG?j-G?jYGjG?j4GuhNhURcore oligosaccharide lipid A transport via ABC system (periplasm to extracellular)rZh,G@@h-Gh}rZh/h)]r Z(j99j?9j'9j-9j39eRr!ZhU COLIPAabctexr"Zh2Gh3h4hNh5U/(b3200 and b3201 and b3199 and b4261 and b4262)r#Zh"}r$Zh7Nubh)r%Z}r&Z(h U&Inorganic Ion Transport and Metabolismr'Zh }r(Z(j7Gh)r)Z}r*Z(hNhNhUcoprogenr+Zh}r,ZhUcpgn_cr-ZhUEhJhGhh)r.Z}r/Z(hNhU C35H52N6O13Fer0Zh}r1Zh"}r2Zh$}r3Z(UHK4UCK#UFeKUOK UNKuhj0Zubh&Uch"}r4Zh(h)]Rr5ZubGjG?j>G@h)r6Z}r7Z(hNhNhUcoprogen unloaded (no Fe(III))r8Zh}r9ZhU cpgn__un_cr:ZhUEhJhGhh)r;Z}rZh"}r?Zh$}r@Z(UHK4UCK#UOK UNKuhj=Zubh&Uch"}rAZh(h)]RrBZubG@j6G@uhNhUcoprogen(Fe(III)) reductaserCZh,G@@h-Gh}rDZh/h)]RrEZhUCPGNR1rFZh2Gh3h4hNh5Uh"}rGZh7Nubh)rHZ}rIZ(h U&Inorganic Ion Transport and MetabolismrJZh }rKZ(j)ZGj>G@j6G@jJG?j6ZG@jJGuhNhUcoprogen(Fe(III)) reductaserLZh,G@@h-Gh}rMZh/h)]RrNZhUCPGNR2rOZh2Gh3h4hNh5Uh"}rPZh7Nubh)rQZ}rRZ(h U&Inorganic Ion Transport and MetabolismrSZh }rTZ(j2JGj'G?j>G@j6G@j)ZGj6ZG@uhNhUcoprogen(Fe(III)) reductaserUZh,G@@h-Gh}rVZh/h)]RrWZhUCPGNR3rXZh2Gh3h4hNh5Uh"}rYZh7Nubh)rZZ}r[Z(h U&Inorganic Ion Transport and Metabolismr\Zh }r]Z(j"Gj>G?h)r^Z}r_Z(hNhNhUcoprogen unloaded (no Fe(III))r`Zh}raZhU cpgn__un_prbZhUEhJhGhh)rcZ}rdZ(hNhU C35H52N6O13reZh}rfZh"}rgZh$}rhZ(UHK4UCK#UOK UNKuhjeZubh&Uph"}riZh(h)]RrjZubGj G?uhNhU+coprogen unloaded secretion (extracellular)rkZh,G@@h-Gh}rlZh/h)]RrmZhUCPGNUtexrnZh2Gh3h4hNh5Uh"}roZh7Nubh)rpZ}rqZ(h U&Inorganic Ion Transport and MetabolismrrZh }rsZ(j>G?j"Gj^ZG?j6ZGuhNhUcoprogen unloaded secretionrtZh,G@@h-Gh}ruZh/h)]RrvZhUCPGNUtpprwZh2Gh3h4hNh5Uh"}rxZh7Nubh)ryZ}rzZ(h UTransport, Inner Membraner{Zh }r|Z(j Gh)r}Z}r~Z(hNhNhUcoprogenrZh}rZhUcpgn_prZhUEhJhGhh)rZ}rZ(hNhU C35H52N6O13FerZh}rZh"}rZh$}rZ(UHK4UCK#UFeKUOK UNKuhjZubh&Uph"}rZh(h)]RrZubGj)ZG?j>G?j-G?jG?j4GuhNhU-coprogen transport via ABC system (periplasm)rZh,G@@h-Gh}rZh/h)]rZ(jXJj^JjdJeRrZhU CPGNabcpprZh2Gh3h4hNh5U(b0153 and b0151 and b0152)rZh"}rZh7Nubh)rZ}rZ(h U&Inorganic Ion Transport and MetabolismrZh }rZ(j GjGj G?uhNhU+coprogen Fe-loading reaction (spontaneaous)rZh,G@@h-Gh}rZh/h)]rZjB4aRrZhUCPGNexsrZh2Gh3h4hNh5Us0001rZh"}rZh7Nubh)rZ}rZ(h UTransport, Outer MembranerZh }rZ(j>G?j"Gj}ZG?j GuhNhU1Coprogen transport via ton system (extracellular)rZh,G@@h-Gh}rZh/h)]rZ(j!)rZ}rZ(hNj!KhNhUb1102rZh}rZj!hjZhNhNj!Kh&Nh"}rZj!U+h(h)]RrZubj=j=j=eRrZhU CPGNtonexrZh2Gh3h4hNh5U'(b1102 and (b1252 and b3005 and b3006))rZh"}rZh7Nubh)rZ}rZ(h U*Cofactor and Prosthetic Group BiosynthesisrZh }rZ(h)rZ}rZ(hNhNhUQ2-Amino-4-hydroxy-6-(erythro-1,2,3-trihydroxypropyl)dihydropteridine triphosphaterZh}rZhUahdt_crZhUEhJhGhh)rZ}rZ(hNhU C9H12N5O13P3rZh}rZh"}rZh$}rZ(UHK UCK UPKUOK UNKuhjZubh&Uch"}rZh(h)]RrZubGj>G?jTG?jRG?j4Gj4G?uhNhU+6-carboxy-5,6,7,8-tetrahydropterin synthaserZh,G@@h-Gh}rZh/h)]rZj!)rZ}rZ(hNj!KhNhUb2765rZh}rZj!hjZhNhNj!Kh&Nh"}rZj!U+h(h)]RrZubaRrZhUCPH4SrZh2Gh3h4hNh5jZh"}rZh7Nubh)rZ}rZ(h U*Cofactor and Prosthetic Group BiosynthesisrZh }rZ(jGjTG?j4Gh)rZ}rZ(hNhNhU!cyclic pyranopterin monophosphaterZh}rZhUcpmp_crZhUEhJhGhh)rZ}rZ(hNhU C10H13N5O8PrZh}rZh"}rZh$}rZ(UHK UCK UPKUOKUNKuhjZubh&Uch"}rZh(h)]RrZubG?uhNhU*cyclic pyranopterin monophosphate synthaserZh,G@@h-Gh}rZh/h)]rZ(j!)rZ}rZ(hNj!KhNhUb0781rZh}rZj!hjZhNhNj!Kh&Nh"}rZj!U+h(h)]RrZubj!)rZ}rZ(hNj!KhNhUb0783rZh}rZj!hjZhNhNj!Kh&Nh"}rZj!U+h(h)]RrZubeRrZhUCPMPSrZh2Gh3h4hNh5U(b0781 and b0783)rZh"}rZh7Nubh)rZ}rZ(h U*Cofactor and Prosthetic Group BiosynthesisrZh }rZ(h)rZ}rZ(hNhNhUProtoporphyrinogen IXrZh}rZhUpppg9_crZhUEhJhGhh)rZ}rZ(hNhU C34H38N4O4rZh}rZh"}rZh$}rZ(UHK&UCK"UOKUNKuhjZubh&Uch"}rZh(h)]RrZubG?j -G@j*Gj>Gj4G@h)rZ}r[(hNhNhUCoproporphyrinogen IIIr[h}r[hUcpppg3_cr[hUEhJhGhh)r[}r[(hNhU C36H40N4O8r[h}r[h"}r[h$}r [(UHK(UCK$UOKUNKuhj[ubh&Uch"}r [h(h)]Rr [ubGuhNhU(coproporphyrinogen oxidase (O2 required)r [h,G@@h-Gh}r [h/h)]r[j!)r[}r[(hNj!KhNhUb2436r[h}r[j!hj[hNhNj!Kh&Nh"}r[j!U+h(h)]Rr[ubaRr[hUCPPPGOr[h2Gh3h4hNh5j[h"}r[h7Nubh)r[}r[(h U*Cofactor and Prosthetic Group Biosynthesisr[h }r[(jZG?j -G@jGj/G@jG@jZGuhNhU1Oxygen Independent coproporphyrinogen-III oxidaser[h,G@@h-Gh}r[h/h)]r[j!)r[}r [(hNj!KhNhUb3867r![h}r"[j!hj![hNhNj!Kh&Nh"}r#[j!U+h(h)]Rr$[ubaRr%[hUCPPPGO2r&[h2Gh3h4hNh5j![h"}r'[h7Nubh)r([}r)[(h UOxidative Phosphorylationr*[h }r+[(h)r,[}r-[(hNhNhUgamma-butyrobetainyl-CoAr.[h}r/[hUbbtcoa_cr0[hUEhJhGhh)r1[}r2[(hNhUC28H46N8O17P3Sr3[h}r4[h"}r5[h$}r6[(UCKUHK.UOKUNKUPKUSKuhj3[ubh&Uch"}r7[h(h)]Rr8[ubGh)r9[}r:[(hNhNhUL-Carnitinyl-CoAr;[h}r<[hUcrncoa_cr=[hUEhJhGhh)r>[}r?[(hNhUC28H46N8O18P3Sr@[h}rA[h"}rB[h$}rC[(UCKUHK.UOKUNKUPKUSKuhj@[ubh&Uch"}rD[h(h)]RrE[ubG?h)rF[}rG[(hNhNhUgamma-butyrobetainerH[h}rI[hUgbbtn_crJ[hUEhKhGhh)rK[}rL[(hNhUC7H15NO2rM[h}rN[h"}rO[h$}rP[(UHKUCKUOKUNKuhjM[ubh&Uch"}rQ[h(h)]RrR[ubG?h)rS[}rT[(hNhNhU L-CarnitinerU[h}rV[hUcrn_crW[hUEhKhGhh)rX[}rY[(hNhUC7H15NO3rZ[h}r[[h"}r\[h$}r][(UHKUCKUOKUNKuhjZ[ubh&Uch"}r^[h(h)]Rr_[ubGuhNhU3gamma-butyrobetainyl-CoA: carnitine CoA transferaser`[h,G@@h-G@h}ra[h/h)]rb[j!)rc[}rd[(hNj!KhNhUb0038re[h}rf[j!hje[hNhNj!Kh&Nh"}rg[j!U+h(h)]Rrh[ubaRri[hUCRNBTCTrj[h2Gh3h4hNh5je[h"}rk[h7Nubh)rl[}rm[(h UOxidative Phosphorylationrn[h }ro[(j Gj-G?jS[Gj9[G?jGjG?uhNhUCarnitine-CoA Ligaserp[h,G@@h-Gh}rq[h/h)]rr[j!)rs[}rt[(hNj!KhNhUb0037ru[h}rv[j!hju[hNhNj!Kh&Nh"}rw[j!U+h(h)]Rrx[ubaRry[hUCRNCAL2rz[h2Gh3h4hNh5ju[h"}r{[h7Nubh)r|[}r}[(h UOxidative Phosphorylationr~[h }r[(h)r[}r[(hNhNhUD-carnitinyl-CoAr[h}r[hU crnDcoa_cr[hUEhJhGhh)r[}r[(hNhUC28H46N8O18P3Sr[h}r[h"}r[h$}r[(UCKUHK.UOKUNKUPKUSKuhj[ubh&Uch"}r[h(h)]Rr[ubG?j9[GuhNhUcarnitine-CoA racemaser[h,G@@h-G@h}r[h/h)]r[j!)r[}r[(hNj!KhNhUb0036r[h}r[j!hj[hNhNj!Kh&Nh"}r[j!U+h(h)]Rr[ubaRr[hUCRNCARr[h2Gh3h4hNh5j[h"}r[h7Nubh)r[}r[(h UOxidative Phosphorylationr[h }r[(h)r[}r[(hNhNhUcrotonobetainer[h}r[hUctbt_cr[hUEhKhGhh)r[}r[(hNhUC7H13NO2r[h}r[h"}r[h$}r[(UHK UCKUOKUNKuhj[ubh&Uch"}r[h(h)]Rr[ubG?h)r[}r[(hNhNhUcrotonobetainyl-CoAr[h}r[hU ctbtcoa_cr[hUEhJhGhh)r[}r[(hNhUC28H44N8O17P3Sr[h}r[h"}r[h$}r[(UCKUHK,UOKUNKUPKUSKuhj[ubh&Uch"}r[h(h)]Rr[ubGj9[G?jS[GuhNhU.crotonobetainyl-CoA: carnitine CoA transferaser[h,G@@h-G@h}r[h/h)]r[jc[aRr[hUCRNCBCTr[h2Gh3h4hNh5Ub0038r[h"}r[h7Nubh)r[}r[(h UOxidative Phosphorylationr[h }r[(j4G?j9[Gj[G?uhNhUCarnityl-CoA dehydratser[h,G@@h-G@h}r[h/h)]r[j[aRr[hUCRNCDHr[h2Gh3h4hNh5Ub0036r[h"}r[h7Nubh)r[}r[(h UOxidative Phosphorylationr[h }r[(j Gj[G?j-G?jGjG?h)r[}r[(hNhNhU D-Carnitiner[h}r[hUcrn__D_cr[hUEhKhGhh)r[}r[(hNhUC7H15NO3r[h}r[h"}r[h$}r[(UHKUCKUOKUNKuhj[ubh&Uch"}r[h(h)]Rr[ubGuhNhUD-Carnitine-CoA Ligaser[h,G@@h-Gh}r[h/h)]r[js[aRr[hUCRNDCAL2r[h2Gh3h4hNh5Ub0037r[h"}r[h7Nubh)r[}r[(h UTransport, Inner Membraner[h }r[(j Gj>G?h)r[}r[(hNhNhU D-Carnitiner[h}r[hUcrn__D_pr[hUEhKhGhh)r[}r[(hNhUC7H15NO3r[h}r[h"}r[h$}r[(UHKUCKUOKUNKuhj[ubh&Uph"}r[h(h)]Rr[ubGj[G?jG?j-G?j4GuhNhU0D-carnitine transport via ABC system (periplasm)r[h,G@@h-Gh}r[h/h)]r[(j!)r[}r[(hNj!KhNhUb2677r[h}r[j!hj[hNhNj!Kh&Nh"}r[j!U+h(h)]Rr[ubj!)r[}r[(hNj!KhNhUb2678r[h}r[j!hj[hNhNj!Kh&Nh"}r[j!U+h(h)]Rr\ubj!)r\}r\(hNj!KhNhUb2679r\h}r\j!hj\hNhNj!Kh&Nh"}r\j!U+h(h)]Rr\ubeRr\hU CRNDabcppr\h2Gh3h4hNh5U(b2677 and b2678 and b2679)r \h"}r \h7Nubh)r \}r \(h UTransport, Inner Membraner \h }r\(j>G?j[G?j"Gj[GuhNhU+D-carnitine outward transport (H+ antiport)r\h,G@@h-G@h}r\h/h)]r\j!)r\}r\(hNj!KhNhUb4111r\h}r\j!hj\hNhNj!Kh&Nh"}r\j!U+h(h)]Rr\ubaRr\hU CRNDt2rppr\h2Gh3h4hNh5j\h"}r\h7Nubh)r\}r\(h UTransport, Outer Membrane Porinr\h }r\(j Gj[G?uhNhU@D-carnitine transport via diffusion (extracellular to periplasm)r\h,G@@h-G@h}r \h/h)]r!\(j!j!j!j!eRr"\hUCRNDtexr#\h2Gh3h4hNh5U"(b1377 or b2215 or b0929 or b0241)r$\h"}r%\h7Nubh)r&\}r'\(h UTransport, Inner Membraner(\h }r)\(j Gj-G?j>G?jS[G?h)r*\}r+\(hNhNhU L-Carnitiner,\h}r-\hUcrn_pr.\hUEhKhGhh)r/\}r0\(hNhUC7H15NO3r1\h}r2\h"}r3\h$}r4\(UHKUCKUOKUNKuhj1\ubh&Uph"}r5\h(h)]Rr6\ubGjG?j4GuhNhU0L-carnitine transport via ABC system (periplasm)r7\h,G@@h-Gh}r8\h/h)]r9\(j[j[j\eRr:\hUCRNabcppr;\h2Gh3h4hNh5U(b2677 and b2678 and b2679)r<\h"}r=\h7Nubh)r>\}r?\(h UTransport, Inner Membraner@\h }rA\(j"GjS[G?j>G?j*\GuhNhU+L-carnitine outward transport (H+ antiport)rB\h,G@@h-G@h}rC\h/h)]rD\j\aRrE\hUCRNt2rpprF\h2Gh3h4hNh5Ub4111rG\h"}rH\h7Nubh)rI\}rJ\(h UTransport, Inner MembranerK\h }rL\(jF[Gj*\Gh)rM\}rN\(hNhNhUgamma-butyrobetainerO\h}rP\hUgbbtn_prQ\hUEhKhGhh)rR\}rS\(hNhUC7H15NO2rT\h}rU\h"}rV\h$}rW\(UHKUCKUOKUNKuhjT\ubh&Uph"}rX\h(h)]RrY\ubG?jS[G?uhNhU.Carnitine/butyrobetaine antiporter (periplasm)rZ\h,G@@h-Gh}r[\h/h)]r\\j!)r]\}r^\(hNj!KhNhUb0040r_\h}r`\j!hj_\hNhNj!Kh&Nh"}ra\j!U+h(h)]Rrb\ubaRrc\hUCRNt7pprd\h2Gh3h4hNh5j_\h"}re\h7Nubh)rf\}rg\(h UTransport, Inner Membranerh\h }ri\(jS[G?j[G?j*\Gj[GuhNhU.L-carnitine/D-carnitine antiporter (periplasm)rj\h,G@@h-Gh}rk\h/h)]rl\j]\aRrm\hUCRNt8pprn\h2Gh3h4hNh5Ub0040ro\h"}rp\h7Nubh)rq\}rr\(h UTransport, Outer Membrane Porinrs\h }rt\(j*\G?j GuhNhU@L-carnitine transport via diffusion (extracellular to periplasm)ru\h,G@@h-G@h}rv\h/h)]rw\(j!j!j!j!eRrx\hUCRNtexry\h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rz\h"}r{\h7Nubh)r|\}r}\(h UCitric Acid Cycler~\h }r\(jNGj9G?jGj>G?jG?j4GuhNhUcitrate synthaser\h,G@@h-Gh}r\h/h)]r\j!)r\}r\(hNj!KhNhUb0720r\h}r\j!hj\hNhNj!Kh&Nh"}r\j!U+h(h)]Rr\ubaRr\hUCSr\h2Gh3h4hNh5j\h"}r\h7Nubh)r\}r\(h UNucleotide Salvage Pathwayr\h }r\(jXGjLG?j>Gj4Gh)r\}r\(hNhNhUUracilr\h}r\hUura_cr\hUEhKhGhh)r\}r\(hNhUC4H4N2O2r\h}r\h"}r\h$}r\(UHKUCKUOKUNKuhj\ubh&Uch"}r\h(h)]Rr\ubG?uhNhUCytosine deaminaser\h,G@@h-Gh}r\h/h)]r\j!)r\}r\(hNj!KhNhUb0337r\h}r\j!hj\hNhNj!Kh&Nh"}r\j!U+h(h)]Rr\ubaRr\hUCSNDr\h2Gh3h4hNh5j\h"}r\h7Nubh)r\}r\(h UTransport, Inner Membraner\h }r\(h)r\}r\(hNhNhUCytosiner\h}r\hUcsn_pr\hUEhKhGhh)r\}r\(hNhUC4H5N3Or\h}r\h"}r\h$}r\(UHKUCKUOKUNKuhj\ubh&Uph"}r\h(h)]Rr\ubGjXG?j"Gj>G?uhNhU4cytosine transport in via proton symport (periplasm)r\h,G@@h-Gh}r\h/h)]r\j!)r\}r\(hNj!KhNhUb0336r\h}r\j!hj\hNhNj!Kh&Nh"}r\j!U+h(h)]Rr\ubaRr\hUCSNt2ppr\h2Gh3h4hNh5j\h"}r\h7Nubh)r\}r\(h UTransport, Outer Membrane Porinr\h }r\(j Gj\G?uhNhU=cytosine transport via diffusion (extracellular to periplasm)r\h,G@@h-G@h}r\h/h)]r\(j!j!j!j!eRr\hUCSNtexr\h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r\h"}r\h7Nubh)r\}r\(h UOxidative Phosphorylationr\h }r\(j Gj[Gj[G?jGjG?j-G?uhNhUCrotonobetaine-CoA Ligaser\h,G@@h-Gh}r\h/h)]r\js[aRr\hUCTBTCAL2r\h2Gh3h4hNh5Ub0037r\h"}r\h7Nubh)r\}r\(h UTransport, Inner Membraner\h }r\(j Gj-G?j>G?j[G?h)r\}r\(hNhNhUcrotonobetainer\h}r\hUctbt_pr\hUEhKhGhh)r\}r\(hNhUC7H13NO2r\h}r\h"}r\h$}r\(UHK UCKUOKUNKuhj\ubh&Uph"}r\h(h)]Rr\ubGjG?j4GuhNhU3crotonobetaine transport via ABC system (periplasm)r\h,G@@h-Gh}r\h/h)]r\(j[j[j\eRr\hU CTBTabcppr\h2Gh3h4hNh5U(b2677 and b2678 and b2679)r\h"}r\h7Nubh)r\}r\(h UTransport, Inner Membraner\h }r\(j[G?j"Gj>G?j\GuhNhU,cronobetaine outward transport (H+ antiport)r\h,G@@h-G@h}r\h/h)]r\j\aRr\hU CTBTt2rppr\h2Gh3h4hNh5Ub4111r\h"}r\h7Nubh)r\}r](h UMembrane Lipid Metabolismr]h }r](jz8G?h)r]}r](hNhNhUTetradecenoyl-CoA (n-C14:1CoA)r]h}r]hUtdecoa_cr]hUEhJhGhh)r]}r ](hNhUC35H56N7O17P3Sr ]h}r ]h"}r ]h$}r ](UCK#UHK8UOKUNKUPKUSKuhj ]ubh&Uch"}r]h(h)]Rr]ubGuhNhU!3-cis-2-trans-enoyl-CoA isomeraser]h,G@@h-G@h}r]h/h)]r]j!)r]}r](hNj!KhNhUb3846r]h}r]j!hj]hNhNj!Kh&Nh"}r]j!U+h(h)]Rr]ubaRr]hUCTECOAI6r]h2Gh3h4hNh5j]h"}r]h7Nubh)r]}r](h UMembrane Lipid Metabolismr]h }r](j8G?h)r ]}r!](hNhNhUHexadecenoyl-CoA (n-C16:1CoA)r"]h}r#]hUhdcoa_cr$]hUEhJhGhh)r%]}r&](hNhUC37H60N7O17P3Sr']h}r(]h"}r)]h$}r*](UCK%UHK](hNhUC39H64N7O17P3Sr?]h}r@]h"}rA]h$}rB](UCK'UHK@UOKUNKUPKUSKuhj?]ubh&Uch"}rC]h(h)]RrD]ubGuhNhU!3-cis-2-trans-enoyl-CoA isomeraserE]h,G@@h-G@h}rF]h/h)]rG]j]aRrH]hUCTECOAI8rI]h2Gh3h4hNh5Ub3846rJ]h"}rK]h7Nubh)rL]}rM](h U"Purine and Pyrimidine BiosynthesisrN]h }rO](j Gj2Gj>G@j-G?jaGjG?jG?j4GjG?uhNhUCTP synthase (glutamine)rP]h,G@@h-Gh}rQ]h/h)]rR]j!)rS]}rT](hNj!KhNhUb2780rU]h}rV]j!hjU]hNhNj!Kh&Nh"}rW]j!U+h(h)]RrX]ubaRrY]hUCTPS2rZ]h2Gh3h4hNh5jU]h"}r[]h7Nubh)r\]}r]](h U&Inorganic Ion Transport and Metabolismr^]h }r_](h)r`]}ra](hNhNhUCu2+rb]h}rc]hUcu2_prd]hUEhKhGhh)re]}rf](hNhUCurg]h}rh]h"}ri]h$}rj]jg]Kshjg]ubh&Uph"}rk]h(h)]Rrl]ubG@j"Gj.Gh)rm]}rn](hNhNhUCu+ro]h}rp]hUcu_prq]hUEhKhGhh)rr]}rs](hNhUCurt]h}ru]h"}rv]h$}rw]jt]Kshjt]ubh&Uph"}rx]h(h)]Rry]ubGj#G@uhNhUCuprous Oxidase (Cu+1)rz]h,G@@h-Gh}r{]h/h)]r|]j!)r}]}r~](hNj!KhNhUb0123r]h}r]j!hj]hNhNj!Kh&Nh"}r]j!U+h(h)]Rr]ubaRr]hUCU1Oppr]h2Gh3h4hNh5j]h"}r]h7Nubh)r]}r](h U&Inorganic Ion Transport and Metabolismr]h }r](j Gj-G?j>G?jm]G?jG?j4Gh)r]}r](hNhNhUCu+r]h}r]hUcu_cr]hUEhKhGhh)r]}r](hNhUCur]h}r]h"}r]h$}r]j]Kshj]ubh&Uch"}r]h(h)]Rr]ubGuhNhU*Copper (Cu +1) ABC transporter (periplasm)r]h,G@@h-Gh}r]h/h)]r]j!)r]}r](hNj!KhNhUb0484r]h}r]j!hj]hNhNj!Kh&Nh"}r]j!U+h(h)]Rr]ubaRr]hUCU1abcppr]h2Gh3h4hNh5j]h"}r]h7Nubh)r]}r](h U&Inorganic Ion Transport and Metabolismr]h }r](j Gj`]G?j-G?j>G?j4GjG?jqGuhNhU)Copper (Cu+2) ABC transporter (periplasm)r]h,G@@h-Gh}r]h/h)]r]jSaRr]hUCU2abcppr]h2Gh3h4hNh5Ub3469r]h"}r]h7Nubh)r]}r](h UTransport, Outer Membrane Porinr]h }r](j< Gj`]G?uhNhUBcopper (Cu+2) transport via diffusion (extracellular to periplasm)r]h,G@@h-G@h}r]h/h)]r](j!j!j!j!eRr]hUCU2texr]h2Gh3h4hNh5U"(b2215 or b0241 or b0929 or b1377)r]h"}r]h7Nubh)r]}r](h U&Inorganic Ion Transport and Metabolismr]h }r](j`]GjqG?uhNhU(copper transport in via permease (no H+)r]h,G@@h-Gh}r]h/h)]r]jSaRr]hUCU2tppr]h2Gh3h4hNh5Ub3040r]h"}r]h7Nubh)r]}r](h UTransport, Outer Membraner]h }r](j>G?jGj]Gj' G?uhNhU(copper transport out via proton antiportr]h,G@@h-Gh}r]h/h)]r](jLAjXAjRAjFAeRr]hUCUt3r]h2Gh3h4hNh5U%(b0572 and b0573 and b0574 and b0575)r]h"}r]h7Nubh)r]}r](h UTransport, Outer Membrane Porinr]h }r](jm]G?j' GuhNhUBcopper (Cu+1) transport via diffusion (extracellular to periplasm)r]h,G@@h-G@h}r]h/h)]r](j!j!j!j!eRr]hUCUtexr]h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r]h"}r]h7Nubh)r]}r](h U Unassignedr]h }r](j>G?h)r]}r](hNhNhUSulfiter]h}r]hUso3_cr]hUEhJhGhh)r]}r](hNhUO3Sr]h}r]h"}r]h$}r](USKUOKuhj]ubh&Uch"}r]h(h)]Rr]ubG?h)r]}r](hNhNhUHydrogen cyanider]h}r]hUcyan_cr]hUEhKhGhh)r]}r](hNhUCHNr]h}r]h"}r]h$}r](UHKUCKUNKuhj]ubh&Uch"}r]h(h)]Rr]ubGh)r]}r](hNhNhU Thiocyanater]h}r]hUtcynt_cr]hUEhJhGhh)r]}r](hNhUCNSr]h}r^h"}r^h$}r^(UCKUSKUNKuhj]ubh&Uch"}r^h(h)]Rr^ubG?h)r^}r^(hNhNhU Thiosulfater^h}r^hUtsul_cr ^hUEhJhGhh)r ^}r ^(hNhUO3S2r ^h}r ^h"}r^h$}r^(USKUOKuhj ^ubh&Uch"}r^h(h)]Rr^ubGuhNhUCyanide sulfurtransferaser^h,G@@h-Gh}r^h/h)]r^j!)r^}r^(hNj!KhNhUb3425r^h}r^j!hj^hNhNj!Kh&Nh"}r^j!U+h(h)]Rr^ubaRr^hUCYANSTr^h2Gh3h4hNh5j^h"}r^h7Nubh)r^}r^(h U&Inorganic Ion Transport and Metabolismr ^h }r!^(h)r"^}r#^(hNhNhUSulfiter$^h}r%^hUso3_pr&^hUEhJhGhh)r'^}r(^(hNhUO3Sr)^h}r*^h"}r+^h$}r,^(USKUOKuhj)^ubh&Uph"}r-^h(h)]Rr.^ubG?j"G?h)r/^}r0^(hNhNhU Thiosulfater1^h}r2^hUtsul_pr3^hUEhJhGhh)r4^}r5^(hNhUO3S2r6^h}r7^h"}r8^h$}r9^(USKUOKuhj6^ubh&Uph"}r:^h(h)]Rr;^ubGh)r<^}r=^(hNhNhUHydrogen cyanider>^h}r?^hUcyan_pr@^hUEhKhGhh)rA^}rB^(hNhUCHNrC^h}rD^h"}rE^h$}rF^(UHKUCKUNKuhjC^ubh&Uph"}rG^h(h)]RrH^ubGh)rI^}rJ^(hNhNhU ThiocyanaterK^h}rL^hUtcynt_prM^hUEhJhGhh)rN^}rO^(hNhUCNSrP^h}rQ^h"}rR^h$}rS^(UCKUSKUNKuhjP^ubh&Uph"}rT^h(h)]RrU^ubG?uhNhU'Cyanide sulfurtransferase (periplasmic)rV^h,G@@h-Gh}rW^h/h)]rX^j!)rY^}rZ^(hNj!KhNhUb1308r[^h}r\^j!hj[^hNhNj!Kh&Nh"}r]^j!U+h(h)]Rr^^ubaRr_^hUCYANSTppr`^h2Gh3h4hNh5j[^h"}ra^h7Nubh)rb^}rc^(h UTransport, Outer Membrane Porinrd^h }re^(jQ Gj<^G?uhNhUGh)rq^}rr^(hNhNhUCyanaters^h}rt^hUcynt_cru^hUEhJhGhh)rv^}rw^(hNhUCNOrx^h}ry^h"}rz^h$}r{^(UCKUOKUNKuhjx^ubh&Uch"}r|^h(h)]Rr}^ubGj4Gj -G@uhNhUCyanate aminohydrolaser~^h,G@@h-Gh}r^h/h)]r^j!)r^}r^(hNj!KhNhUb0340r^h}r^j!hj^hNhNj!Kh&Nh"}r^j!U+h(h)]Rr^ubaRr^hUCYNTAHr^h2Gh3h4hNh5j^h"}r^h7Nubh)r^}r^(h UTransport, Inner Membraner^h }r^(h)r^}r^(hNhNhUCyanater^h}r^hUcynt_pr^hUEhJhGhh)r^}r^(hNhUCNOr^h}r^h"}r^h$}r^(UCKUOKUNKuhj^ubh&Uph"}r^h(h)]Rr^ubGjq^G?j"Gj>G?uhNhU0Cyanate transport via proton symport (periplasm)r^h,G@@h-Gh}r^h/h)]r^j!)r^}r^(hNj!KhNhUb0341r^h}r^j!hj^hNhNj!Kh&Nh"}r^j!U+h(h)]Rr^ubaRr^hUCYNTt2ppr^h2Gh3h4hNh5j^h"}r^h7Nubh)r^}r^(h UTransport, Outer Membrane Porinr^h }r^(j^G?jf GuhNhUG?j4GjG?uhNhU,D-cysteine uptake via ABC system (periplasm)r_h,G@@h-Gh}r_h/h)]Rr_hU CYSDabcppr_h2Gh3h4hNh5Uh"}r_h7Nubh)r _}r _(h UTransport, Outer Membrane Porinr _h }r _(j{ Gj^G?uhNhU?D-cysteine transport via diffusion (extracellular to periplasm)r _h,G@@h-G@h}r_h/h)]r_(j!j!j!j!eRr_hUCYSDtexr_h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r_h"}r_h7Nubh)r_}r_(h UCysteine Metabolismr_h }r_(j>G?j2G?jG?j:Gj^GuhNhUcysteine synthaser_h,G@@h-Gh}r_h/h)]r_(j!)r_}r_(hNj!KhNhUb2414r_h}r_j!hj_hNhNj!Kh&Nh"}r_j!U+h(h)]Rr _ubj!)r!_}r"_(hNj!KhNhUb2421r#_h}r$_j!hj#_hNhNj!Kh&Nh"}r%_j!U+h(h)]Rr&_ubeRr'_hUCYSSr(_h2Gh3h4hNh5U(b2414 or b2421)r)_h"}r*_h7Nubh)r+_}r,_(h UCysteine Metabolismr-_h }r._(j[G?h)r/_}r0_(hNhNhUsulfur dioxider1_h}r2_hUso2_cr3_hUEhKhGhh)r4_}r5_(hNhUO2Sr6_h}r7_h"}r8_h$}r9_(USKUOKuhj6_ubh&Uch"}r:_h(h)]Rr;_ubG?j>Gh)r<_}r=_(hNhNhU3-Sulfino-L-alaniner>_h}r?_hU3sala_cr@_hUEhJhGhh)rA_}rB_(hNhUC3H5NO4SrC_h}rD_h"}rE_h$}rF_(UHKUCKUSKUOKUNKuhjC_ubh&Uch"}rG_h(h)]RrH_ubGuhNhU$L-cysteine sulfinic acid desulfuraserI_h,G@@h-Gh}rJ_h/h)]rK_j!)rL_}rM_(hNj!KhNhUb2810rN_h}rO_j!hjN_hNhNj!Kh&Nh"}rP_j!U+h(h)]RrQ_ubaRrR_hUCYSSADSrS_h2Gh3h4hNh5jN_h"}rT_h7Nubh)rU_}rV_(h UMethionine MetabolismrW_h }rX_(jLG?h)rY_}rZ_(hNhNhUL-Homocysteiner[_h}r\_hU hcys__L_cr]_hUEhKhGhh)r^_}r__(hNhUC4H9NO2Sr`_h}ra_h"}rb_h$}rc_(UHK UCKUSKUOKUNKuhj`_ubh&Uch"}rd_h(h)]Rre_ubG?h)rf_}rg_(hNhNhUL-Cystathioninerh_h}ri_hU cyst__L_crj_hUEhKhGhh)rk_}rl_(hNhU C7H14N2O4Srm_h}rn_h"}ro_h$}rp_(UHKUCKUSKUOKUNKuhjm_ubh&Uch"}rq_h(h)]Rrr_ubGj5G?j4GuhNhUcystathionine b-lyasers_h,G@@h-Gh}rt_h/h)]ru_(j^j!)rv_}rw_(hNj!KhNhUb1622rx_h}ry_j!hjx_hNhNj!Kh&Nh"}rz_j!U+h(h)]Rr{_ubeRr|_hUCYSTLr}_h2Gh3h4hNh5U(b1622 or b3008)r~_h"}r_h7Nubh)r_}r_(h U tRNA Chargingr_h }r_(j Gh)r_}r_(hNhNhUL-Cysteinyl-tRNA(Cys)r_h}r_hU cystrna_cr_hUEhKhGhh)r_}r_(hNhUC3H6NOSRr_h}r_h"}r_h$}r_(UCKUHKUOKUNKUSKURKuhj_ubh&Uch"}r_h(h)]Rr_ubG?jTG?jGh)r_}r_(hNhNhU tRNA(Cys)r_h}r_hU trnacys_cr_hUEhKhGhh)r_}r_(hNhURh}r_h"}r_h$}r_URKshURubh&Uch"}r_h(h)]Rr_ubGj%G?uhNhUCysteinyl-tRNA synthetaser_h,G@@h-Gh}r_h/h)]r_j!)r_}r_(hNj!KhNhUb0526r_h}r_j!hj_hNhNj!Kh&Nh"}r_j!U+h(h)]Rr_ubaRr_hUCYSTRSr_h2Gh3h4hNh5j_h"}r_h7Nubh)r_}r_(h UTransport, Inner Membraner_h }r_(j Gj>G?h)r_}r_(hNhNhU L-Cysteiner_h}r_hUcys__L_pr_hUEhKhGhh)r_}r_(hNhUC3H7NO2Sr_h}r_h"}r_h$}r_(UHKUCKUSKUOKUNKuhj_ubh&Uph"}r_h(h)]Rr_ubG?j-G?jGj4GjG?uhNhU9L-cysteine export via ABC system (cytoplasm to periplasm)r_h,G@@h-Gh}r_h/h)]r_(j!)r_}r_(hNj!KhNhUb0886r_h}r_j!hj_hNhNj!Kh&Nh"}r_j!U+h(h)]Rr_ubj!)r_}r_(hNj!KhNhUb0887r_h}r_j!hj_hNhNj!Kh&Nh"}r_j!U+h(h)]Rr_ubeRr_hU CYSabc2ppr_h2Gh3h4hNh5U(b0886 and b0887)r_h"}r_h7Nubh)r_}r_(h UTransport, Inner Membraner_h }r_(j Gj>G?j_Gj-G?jG?jG?j4GuhNhU,L-cysteine uptake via ABC system (periplasm)r_h,G@@h-Gh}r_h/h)]Rr_hUCYSabcppr_h2Gh3h4hNh5Uh"}r_h7Nubh)r_}r_(h UTransport, Outer Membrane Porinr_h }r_(j_G?j GuhNhU?L-cysteine transport via diffusion (extracellular to periplasm)r_h,G@@h-G@h}r_h/h)]r_(j!j!j!j!eRr_hUCYStexr_h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r_h"}r_h7Nubh)r_}r_(h UTransport, Inner Membraner_h }r_(jGj_G?uhNhU+L-cysteine export via facilitated transportr_h,G@@h-Gh}r_h/h)]r_(j;j;eRr_hUCYStppr_h2Gh3h4hNh5U(b2578 or b1533)r_h"}r_h7Nubh)r_}r_(h UOxidative Phosphorylationr_h }r_(j>Gj"G@jGj4G?jDNG?j*GuhNhU;cytochrome oxidase bd (menaquinol-8: 2 protons) (periplasm)r_h,G@@h-Gh}r_h/h)]r_(j!)r_}r_(hNj!KhNhUb0979r_h}r_j!hj_hNhNj!Kh&Nh"}r_j!U+h(h)]Rr_ubj!)r_}r_(hNj!KhNhUb0978r_h}r_j!hj_hNhNj!Kh&Nh"}r_j!U+h(h)]Rr_ubeRr_hUCYTBD2ppr`h2Gh3h4hNh5U(b0978 and b0979)r`h"}r`h7Nubh)r`}r`(h UOxidative Phosphorylationr`h }r`(jNG?j"G@j>Gj4G?jGj*GuhNhU:cytochrome oxidase bd (ubiquinol-8: 2 protons) (periplasm)r`h,G@@h-Gh}r`h/h)]r `(j!)r `}r `(hNj!KhNhUb0734r `h}r `j!hj `hNhNj!Kh&Nh"}r`j!U+h(h)]Rr`ubj_j!)r`}r`(hNj!KhNhUb0733r`h}r`j!hj`hNhNj!Kh&Nh"}r`j!U+h(h)]Rr`ubj_eRr`hUCYTBDppr`h2Gh3h4hNh5U(((b0978 and b0979) or (b0733 and b0734))r`h"}r`h7Nubh)r`}r`(h UOxidative Phosphorylationr`h }r`(jGjNG?j"G@j>Gj4G?j*GuhNhU;cytochrome oxidase bo3 (ubiquinol-8: 4 protons) (periplasm)r`h,G@@h-Gh}r`h/h)]r `(j!)r!`}r"`(hNj!KhNhUb0429r#`h}r$`j!hj#`hNhNj!Kh&Nh"}r%`j!U+h(h)]Rr&`ubj!)r'`}r(`(hNj!KhNhUb0431r)`h}r*`j!hj)`hNhNj!Kh&Nh"}r+`j!U+h(h)]Rr,`ubj!)r-`}r.`(hNj!KhNhUb0432r/`h}r0`j!hj/`hNhNj!Kh&Nh"}r1`j!U+h(h)]Rr2`ubj!)r3`}r4`(hNj!KhNhUb0430r5`h}r6`j!hj5`hNhNj!Kh&Nh"}r7`j!U+h(h)]Rr8`ubeRr9`hU CYTBO3_4ppr:`h2Gh3h4hNh5U%(b0429 and b0430 and b0431 and b0432)r;`h"}r<`h7Nubh)r=`}r>`(h UNucleotide Salvage Pathwayr?`h }r@`(j>GjLG?h)rA`}rB`(hNhNhUCytidinerC`h}rD`hUcytd_crE`hUEhKhGhh)rF`}rG`(hNhU C9H13N3O5rH`h}rI`h"}rJ`h$}rK`(UHK UCK UOKUNKuhjH`ubh&Uch"}rL`h(h)]RrM`ubGj4Gh)rN`}rO`(hNhNhUUridinerP`h}rQ`hUuri_crR`hUEhKhGhh)rS`}rT`(hNhU C9H12N2O6rU`h}rV`h"}rW`h$}rX`(UHK UCK UOKUNKuhjU`ubh&Uch"}rY`h(h)]RrZ`ubG?uhNhUcytidine deaminaser[`h,G@@h-Gh}r\`h/h)]r]`j!)r^`}r_`(hNj!KhNhUb2143r``h}ra`j!hj``hNhNj!Kh&Nh"}rb`j!U+h(h)]Rrc`ubaRrd`hUCYTDre`h2Gh3h4hNh5j``h"}rf`h7Nubh)rg`}rh`(h UAlternate Carbon Metabolismri`h }rj`(jXG?j<G?jA`Gj4GuhNhUCytidine hydrolaserk`h,G@@h-Gh}rl`h/h)]rm`(j<j!)rn`}ro`(hNj!KhNhUb0651rp`h}rq`j!hjp`hNhNj!Kh&Nh"}rr`j!U+h(h)]Rrs`ubj!)rt`}ru`(hNj!KhNhUb2162rv`h}rw`j!hjv`hNhNj!Kh&Nh"}rx`j!U+h(h)]Rry`ubeRrz`hUCYTDHr{`h2Gh3h4hNh5U(b2162 or b0651 or b0030)r|`h"}r}`h7Nubh)r~`}r`(h UNucleotide Salvage Pathwayr`h }r`(j4<G?j TG?jA`Gj>G?jGuhNhUcytidine kinase (GTP)r`h,G@@h-Gh}r`h/h)]r`j!)r`}r`(hNj!KhNhUb2066r`h}r`j!hj`hNhNj!Kh&Nh"}r`j!U+h(h)]Rr`ubaRr`hUCYTDK2r`h2Gh3h4hNh5j`h"}r`h7Nubh)r`}r`(h UTransport, Inner Membraner`h }r`(j+Gj"GjA`G?j>G?uhNhU4cytidine transport in via proton symport (periplasm)r`h,G@@h-Gh}r`h/h)]r`(j<j<eRr`hUCYTDt2ppr`h2Gh3h4hNh5U(b2393 or b2964)r`h"}r`h7Nubh)r`}r`(h UTransport, Inner Membraner`h }r`(j+GjA`G?j"Gj>G?uhNhU@cytidine transport in via proton symport, reversible (periplasm)r`h,G@@h-G@h}r`h/h)]r`j<aRr`hU CYTDt2rppr`h2Gh3h4hNh5Ub2406r`h"}r`h7Nubh)r`}r`(h UTransport, Outer Membrane Porinr`h }r`(j+G?j GuhNhU=cytidine transport via diffusion (extracellular to periplasm)r`h,G@@h-G@h}r`h/h)]r`(j!j!j!j!eRr`hUCYTDtexr`h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r`h"}r`h7Nubh)r`}r`(h UNucleotide Salvage Pathwayr`h }r`(j Gj TGh)r`}r`(hNhNhUCDPr`h}r`hUcdp_cr`hUEhJhGhh)r`}r`(hNhU C9H12N3O11P2r`h}r`h"}r`h$}r`(UHK UCK UPKUOK UNKuhj`ubh&Uch"}r`h(h)]Rr`ubG?j-G?uhNhUcytidylate kinase (CMP)r`h,G@@h-G@h}r`h/h)]r`j!)r`}r`(hNj!KhNhUb0910r`h}r`j!hj`hNhNj!Kh&Nh"}r`j!U+h(h)]Rr`ubaRr`hUCYTK1r`h2Gh3h4hNh5j`h"}r`h7Nubh)r`}r`(h UNucleotide Salvage Pathwayr`h }r`(j Gh)r`}r`(hNhNhUdCMPr`h}r`hUdcmp_cr`hUEhJhGhh)r`}r`(hNhU C9H12N3O7Pr`h}r`h"}r`h$}r`(UHK UCK UPKUOKUNKuhj`ubh&Uch"}r`h(h)]Rr`ubGj-G?h)r`}r`(hNhNhUdCDPr`h}r`hUdcdp_cr`hUEhJhGhh)r`}r`(hNhU C9H12N3O10P2r`h}r`h"}r`h$}r`(UHK UCK UPKUOK UNKuhj`ubh&Uch"}r`h(h)]Rr`ubG?uhNhUcytidylate kinase (dCMP)r`h,G@@h-G@h}r`h/h)]r`j`aRr`hUCYTK2r`h2Gh3h4hNh5Ub0910r`h"}r`h7Nubh)r`}r`(h UTransport, Inner Membraner`h }r`(j>G?h)r`}r`(hNhNhU D-Lactater`h}r`hUlac__D_pr`hUEhJhGhh)r`}r`(hNhUC3H5O3r`h}r`h"}r`h$}r`(UHKUCKUOKuhj`ubh&Uph"}rah(h)]RraubGj"Gj6G?uhNhU2D-lactate transport via proton symport (periplasm)rah,G@@h-G@h}rah/h)]ra(j!)ra}ra(hNj!KhNhUb2975rah}raj!hjahNhNj!Kh&Nh"}r aj!U+h(h)]Rr aubj!)r a}r a(hNj!KhNhUb3603r ah}raj!hj ahNhNj!Kh&Nh"}raj!U+h(h)]RraubeRrahU D__LACt2pprah2Gh3h4hNh5U(b3603 or b2975)rah"}rah7Nubh)ra}ra(h UTransport, Outer Membrane Porinrah }ra(jrGj`G?uhNhU>D-lactate transport via diffusion (extracellular to periplasm)rah,G@@h-G@h}rah/h)]ra(j!j!j!j!eRrahU D__LACtexrah2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rah"}rah7Nubh)r a}r!a(h U Alanine and Aspartate Metabolismr"ah }r#a(j7G?jLG?jGj5G?jN/Gj4GuhNhUD-Amino acid dehydrogenaser$ah,G@@h-Gh}r%ah/h)]r&aj!)r'a}r(a(hNj!KhNhUb1189r)ah}r*aj!hj)ahNhNj!Kh&Nh"}r+aj!U+h(h)]Rr,aubaRr-ahUDAADr.ah2Gh3h4hNh5j)ah"}r/ah7Nubh)r0a}r1a(h UNucleotide Salvage Pathwayr2ah }r3a(jLG?j>Gh)r4a}r5a(hNhNhUDeoxyadenosiner6ah}r7ahUdad__2_cr8ahUEhKhGhh)r9a}r:a(hNhU C10H13N5O3r;ah}ra(UHK UCK UOKUNKuhj;aubh&Uch"}r?ah(h)]Rr@aubGh)rAa}rBa(hNhNhU DeoxyinosinerCah}rDahUdin_crEahUEhKhGhh)rFa}rGa(hNhU C10H12N4O4rHah}rIah"}rJah$}rKa(UHK UCK UOKUNKuhjHaubh&Uch"}rLah(h)]RrMaubG?j4GuhNhUDeoxyadenosine deaminaserNah,G@@h-Gh}rOah/h)]rPaj;aRrQahUDADArRah2Gh3h4hNh5Ub1623rSah"}rTah7Nubh)rUa}rVa(h UNucleotide Salvage PathwayrWah }rXa(h)rYa}rZa(hNhNhUdADPr[ah}r\ahUdadp_cr]ahUEhJhGhh)r^a}r_a(hNhU C10H12N5O9P2r`ah}raah"}rbah$}rca(UHK UCK UPKUOK UNKuhj`aubh&Uch"}rdah(h)]RreaubG?h)rfa}rga(hNhNhUdAMPrhah}riahUdamp_crjahUEhJhGhh)rka}rla(hNhU C10H12N5O6Prmah}rnah"}roah$}rpa(UHK UCK UPKUOKUNKuhjmaubh&Uch"}rqah(h)]RrraubGj-G?j GuhNhUdeoxyadenylate kinasersah,G@@h-G@h}rtah/h)]ruaj'<aRrvahUDADKrwah2Gh3h4hNh5Ub0474rxah"}ryah7Nubh)rza}r{a(h UTransport, Inner Membraner|ah }r}a(h)r~a}ra(hNhNhUDeoxyadenosinerah}rahUdad__2_prahUEhKhGhh)ra}ra(hNhU C10H13N5O3rah}rah"}rah$}ra(UHK UCK UOKUNKuhjaubh&Uph"}rah(h)]RraubGj"Gj>G?j4aG?uhNhU:deoxyadenosine transport in via proton symport (periplasm)rah,G@@h-Gh}rah/h)]ra(j<j<eRrahUDADNt2pprah2Gh3h4hNh5U(b2964 or b2393)rah"}rah7Nubh)ra}ra(h UTransport, Outer Membranerah }ra(j~aG?j GuhNhUCdeoxyadenosine transport via diffusion (extracellular to periplasm)rah,G@@h-G@h}rah/h)]raj<aRrahUDADNtexrah2Gh3h4hNh5Ub0411rah"}rah7Nubh)ra}ra(h UGlycerophospholipid Metabolismrah }ra(j@G?j-G?j>G?j Gj GuhNhUdiacylglycerol kinase (n-C12:0)rah,G@@h-Gh}rah/h)]raj!)ra}ra(hNj!KhNhUb4042rah}raj!hjahNhNj!Kh&Nh"}raj!U+h(h)]RraubaRrahUDAGK120rah2Gh3h4hNh5jah"}rah7Nubh)ra}ra(h UGlycerophospholipid Metabolismrah }ra(j Gj>G?jH@G?j-G?j GuhNhUdiacylglycerol kinase (n-C14:0)rah,G@@h-Gh}rah/h)]rajaaRrahUDAGK140rah2Gh3h4hNh5Ub4042rah"}rah7Nubh)ra}ra(h UGlycerophospholipid Metabolismrah }ra(j Gj>G?j Gjz@G?j-G?uhNhUdiacylglycerol kinase (n-C14:1)rah,G@@h-Gh}rah/h)]rajaaRrahUDAGK141rah2Gh3h4hNh5Ub4042rah"}rah7Nubh)ra}ra(h UGlycerophospholipid Metabolismrah }ra(j Gj-G?j>G?j*!Gj@G?uhNhUdiacylglycerol kinase (n-C16:0)rah,G@@h-Gh}rah/h)]rajaaRrahUDAGK160rah2Gh3h4hNh5Ub4042rah"}rah7Nubh)ra}ra(h UGlycerophospholipid Metabolismrah }ra(j Gj@G?j>G?j-G?j@!GuhNhUdiacylglycerol kinase (n-C16:1)rah,G@@h-Gh}rah/h)]rajaaRrahUDAGK161rah2Gh3h4hNh5Ub4042rah"}rah7Nubh)ra}ra(h UGlycerophospholipid Metabolismrah }ra(j Gj>G?jp!Gj-G?j@G?uhNhUdiacylglycerol kinase (n-C18:0)rah,G@@h-Gh}rah/h)]rajaaRrahUDAGK180rah2Gh3h4hNh5Ub4042rah"}rah7Nubh)ra}ra(h UGlycerophospholipid Metabolismrah }ra(j GjAG?j>G?j-G?j!GuhNhUdiacylglycerol kinase (n-C18:1)rah,G@@h-Gh}rah/h)]rajaaRrahUDAGK181rah2Gh3h4hNh5Ub4042rah"}rah7Nubh)ra}ra(h UTransport, Inner Membranerah }ra(jN/G?jx/Gj>G?j"GuhNhU5D-alanine transport in via proton symport (periplasm)rah,G@@h-Gh}rah/h)]rajCaRrahUDALAt2pprah2Gh3h4hNh5Ub4208rah"}rah7Nubh)ra}ra(h UTransport, Outer Membrane Porinrah }ra(jx/G?j GuhNhU>D-Alanine transport via diffusion (extracellular to periplasm)rah,G@@h-G@h}rah/h)]rb(j!j!j!j!eRrbhUDALAtexrbh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rbh"}rbh7Nubh)rb}rb(h UTransport, Outer Membrane Porinrbh }rb(j Gh)r b}r b(hNhNhUdAMPr bh}r bhUdamp_pr bhUEhJhGhh)rb}rb(hNhU C10H12N5O6Prbh}rbh"}rbh$}rb(UHK UCK UPKUOKUNKuhjbubh&Uph"}rbh(h)]RrbubG?uhNhU9dAMP transport via diffusion (extracellular to periplasm)rbh,G@@h-G@h}rbh/h)]rb(j!j!j!j!eRrbhUDAMPtexrbh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rbh"}rbh7Nubh)rb}rb(h UAlternate Carbon Metabolismrbh }r b(j4GjLG@j"Gj5G?uhNhU#2,3-diaminopropionate amonnia lyaser!bh,G@@h-Gh}r"bh/h)]r#bj!)r$b}r%b(hNj!KhNhUb2871r&bh}r'bj!hj&bhNhNj!Kh&Nh"}r(bj!U+h(h)]Rr)bubaRr*bhUDAPALr+bh2Gh3h4hNh5j&bh"}r,bh7Nubh)r-b}r.b(h UThreonine and Lysine Metabolismr/bh }r0b(h)r1b}r2b(hNhNhUmeso-2,6-Diaminoheptanedioater3bh}r4bhU 26dap__M_cr5bhUEhKhGhh)r6b}r7b(hNhU C7H14N2O4r8bh}r9bh"}r:bh$}r;b(UHKUCKUOKUNKuhj8bubh&Uch"}rGhG?uhNhUdiaminopimelate decarboxylaser>bh,G@@h-Gh}r?bh/h)]r@bj!)rAb}rBb(hNj!KhNhUb2838rCbh}rDbj!hjCbhNhNj!Kh&Nh"}rEbj!U+h(h)]RrFbubaRrGbhUDAPDCrHbh2Gh3h4hNh5jCbh"}rIbh7Nubh)rJb}rKb(h UThreonine and Lysine MetabolismrLbh }rMb(h)rNb}rOb(hNhNhULL-2,6-DiaminoheptanedioaterPbh}rQbhU 26dap__LL_crRbhUEhKhGhh)rSb}rTb(hNhU C7H14N2O4rUbh}rVbh"}rWbh$}rXb(UHKUCKUOKUNKuhjUbubh&Uch"}rYbh(h)]RrZbubGj1bG?uhNhUdiaminopimelate epimeraser[bh,G@@h-G@h}r\bh/h)]r]bj!)r^b}r_b(hNj!KhNhUb3809r`bh}rabj!hj`bhNhNj!Kh&Nh"}rbbj!U+h(h)]RrcbubaRrdbhUDAPErebh2Gh3h4hNh5j`bh"}rfbh7Nubh)rgb}rhb(h UTransport, Inner Membraneribh }rjb(j Gj>G?j1bG?jG?j4Gj{#Gj-G?uhNhU/M-diaminopimelic acid ABC transport (periplasm)rkbh,G@@h-Gh}rlbh/h)]RrmbhUDAPabcpprnbh2Gh3h4hNh5Uh"}robh7Nubh)rpb}rqb(h UTransport, Outer Membrane Porinrrbh }rsb(j`RG?jzGuhNhUG1,5-Diaminopentane transport via diffusion (extracellular to periplasm)rtbh,G@@h-G@h}rubh/h)]rvb(j!j!j!j!eRrwbhUDAPtexrxbh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rybh"}rzbh7Nubh)r{b}r|b(h UGlycerophospholipid Metabolismr}bh }r~b(j>GjGjTG?j@GjTG?uhNhU'CDP-diacylglycerol synthetase (n-C12:0)rbh,G@@h-Gh}rbh/h)]rbj!)rb}rb(hNj!KhNhUb0175rbh}rbj!hjbhNhNj!Kh&Nh"}rbj!U+h(h)]RrbubaRrbhUDASYN120rbh2Gh3h4hNh5jbh"}rbh7Nubh)rb}rb(h UGlycerophospholipid Metabolismrbh }rb(jTG?j>Gj5TG?jH@GjGuhNhU'CDP-diacylglycerol synthetase (n-C14:0)rbh,G@@h-Gh}rbh/h)]rbjbaRrbhUDASYN140rbh2Gh3h4hNh5Ub0175rbh"}rbh7Nubh)rb}rb(h UGlycerophospholipid Metabolismrbh }rb(jTG?j>GjMTG?jGjz@GuhNhU'CDP-diacylglycerol synthetase (n-C14:1)rbh,G@@h-Gh}rbh/h)]rbjbaRrbhUDASYN141rbh2Gh3h4hNh5Ub0175rbh"}rbh7Nubh)rb}rb(h UGlycerophospholipid Metabolismrbh }rb(jeTG?j>GjTG?jGj@GuhNhU'CDP-diacylglycerol synthetase (n-C16:0)rbh,G@@h-Gh}rbh/h)]rbjbaRrbhUDASYN160rbh2Gh3h4hNh5Ub0175rbh"}rbh7Nubh)rb}rb(h UGlycerophospholipid Metabolismrbh }rb(j}TG?jTG?j>GjGj@GuhNhU'CDP-diacylglycerol synthetase (n-C16:1)rbh,G@@h-Gh}rbh/h)]rbjbaRrbhUDASYN161rbh2Gh3h4hNh5Ub0175rbh"}rbh7Nubh)rb}rb(h UGlycerophospholipid Metabolismrbh }rb(jTG?jTG?j>GjGj@GuhNhU'CDP-diacylglycerol synthetase (n-C18:0)rbh,G@@h-Gh}rbh/h)]rbjbaRrbhUDASYN180rbh2Gh3h4hNh5Ub0175rbh"}rbh7Nubh)rb}rb(h UGlycerophospholipid Metabolismrbh }rb(jTG?j>GjGjTG?jAGuhNhU'CDP-diacylglycerol synthetase (n-C18:1)rbh,G@@h-Gh}rbh/h)]rbjbaRrbhUDASYN181rbh2Gh3h4hNh5Ub0175rbh"}rbh7Nubh)rb}rb(h UNucleotide Salvage Pathwayrbh }rb(jLG?j>GjnGh)rb}rb(hNhNhUdITPrbh}rbhUditp_crbhUEhJhGhh)rb}rb(hNhU C10H11N4O13P3rbh}rbh"}rbh$}rb(UHK UCK UPKUOK UNKuhjbubh&Uch"}rbh(h)]RrbubG?j4GuhNhU#dATP amine hydrolysis (spontaneous)rbh,G@@h-Gh}rbh/h)]rbjB4aRrbhUDATPHsrbh2Gh3h4hNh5Us0001rbh"}rbh7Nubh)rb}rb(h U*Cofactor and Prosthetic Group Biosynthesisrbh }rb(h)rb}rb(hNhNhU$3,4-dihydroxy-2-butanone 4-phosphaterbh}rbhUdb4p_crbhUEhJhGhh)rb}rb(hNhUC4H7O6Prbh}rbh"}rbh$}rb(UHKUCKUOKUPKuhjbubh&Uch"}rbh(h)]RrbubG?jHGG?jG0Gj>G?uhNhU-3,4-Dihydroxy-2-butanone-4-phosphate synthaserbh,G@@h-Gh}rbh/h)]rbj!)rb}rb(hNj!KhNhUb3041rbh}rbj!hjbhNhNj!Kh&Nh"}rbj!U+h(h)]RrbubaRrbhUDB4PSrch2Gh3h4hNh5jbh"}rch7Nubh)rc}rc(h U*Cofactor and Prosthetic Group Biosynthesisrch }rc(j Gj7QG?j -Gj>G@jGGj-G?jG?uhNhUdethiobiotin synthaserch,G@@h-Gh}rch/h)]rcj!)r c}r c(hNj!KhNhUb0778r ch}r cj!hj chNhNj!Kh&Nh"}r cj!U+h(h)]RrcubaRrchUDBTSrch2Gh3h4hNh5j ch"}rch7Nubh)rc}rc(h UAlternate Carbon Metabolismrch }rc(jd5G?jq5G?j4GjVGuhNhU(diacetylchitobiose-6-phosphate hydrolaserch,G@@h-Gh}rch/h)]rcj!)rc}rc(hNj!KhNhUb1734rch}rcj!hjchNhNj!Kh&Nh"}rcj!U+h(h)]RrcubaRrchUDC6PHr ch2Gh3h4hNh5jch"}r!ch7Nubh)r"c}r#c(h UTransport, Outer Membrane Porinr$ch }r%c(h)r&c}r'c(hNhNhUDecanoate (n-C10:0)r(ch}r)chUdca_pr*chUEhJhGhh)r+c}r,c(hNhUC10H19O2r-ch}r.ch"}r/ch$}r0c(UHKUCK UOKuhj-cubh&Uph"}r1ch(h)]Rr2cubG?j GuhNhU>Decanoate transport via diffusion (extracellular to periplasm)r3ch,G@@h-G@h}r4ch/h)]r5c(j!j!j!j!eRr6chUDCAtexr7ch2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r8ch"}r9ch7Nubh)r:c}r;c(h UTransport, Outer Membrane Porinrc}r?c(hNhNhUdCMPr@ch}rAchUdcmp_prBchUEhJhGhh)rCc}rDc(hNhU C9H12N3O7PrEch}rFch"}rGch$}rHc(UHK UCK UPKUOKUNKuhjEcubh&Uph"}rIch(h)]RrJcubG?uhNhU9dCMP transport via diffusion (extracellular to periplasm)rKch,G@@h-G@h}rLch/h)]rMc(j!j!j!j!eRrNchUDCMPtexrOch2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rPch"}rQch7Nubh)rRc}rSc(h UNucleotide Salvage PathwayrTch }rUc(jLG?jGj>Gj4Gh)rVc}rWc(hNhNhUdUTPrXch}rYchUdutp_crZchUEhJhGhh)r[c}r\c(hNhU C9H11N2O14P3r]ch}r^ch"}r_ch$}r`c(UHK UCK UPKUOKUNKuhj]cubh&Uch"}rach(h)]RrbcubG?uhNhUdCTP deaminasercch,G@@h-Gh}rdch/h)]recj!)rfc}rgc(hNj!KhNhUb2065rhch}ricj!hjhchNhNj!Kh&Nh"}rjcj!U+h(h)]RrkcubaRrlchUDCTPDrmch2Gh3h4hNh5jhch"}rnch7Nubh)roc}rpc(h UNucleotide Salvage Pathwayrqch }rrc(j>Gh)rsc}rtc(hNhNhU Deoxycytidineruch}rvchUdcyt_crwchUEhKhGhh)rxc}ryc(hNhU C9H13N3O4rzch}r{ch"}r|ch$}r}c(UHK UCK UOKUNKuhjzcubh&Uch"}r~ch(h)]RrcubGjLG?j4Gh)rc}rc(hNhNhU Deoxyuridinerch}rchUduri_crchUEhKhGhh)rc}rc(hNhU C9H12N2O5rch}rch"}rch$}rc(UHK UCK UOKUNKuhjcubh&Uch"}rch(h)]RrcubG?uhNhUdeoxycytidine deaminaserch,G@@h-Gh}rch/h)]rcj^`aRrchUDCYTDrch2Gh3h4hNh5Ub2143rch"}rch7Nubh)rc}rc(h UTransport, Inner Membranerch }rc(jscG?h)rc}rc(hNhNhU Deoxycytidinerch}rchUdcyt_prchUEhKhGhh)rc}rc(hNhU C9H13N3O4rch}rch"}rch$}rc(UHK UCK UOKUNKuhjcubh&Uph"}rch(h)]RrcubGj>G?j"GuhNhU9deoxycytidine transport in via proton symport (periplasm)rch,G@@h-Gh}rch/h)]rc(j<j<eRrchUDCYTt2pprch2Gh3h4hNh5U(b2393 or b2964)rch"}rch7Nubh)rc}rc(h UTransport, Outer Membranerch }rc(jcG?jGuhNhUBdeoxycytidine transport via diffusion (extracellular to periplasm)rch,G@@h-G@h}rch/h)]rcj<aRrchUDCYTtexrch2Gh3h4hNh5Ub0411rch"}rch7Nubh)rc}rc(h UTransport, Outer Membranerch }rc(j#Gh)rc}rc(hNhNhUDodecanoate (n-C12:0)rch}rchUddca_prchUEhJhGhh)rc}rc(hNhUC12H23O2rch}rch"}rch$}rc(UHKUCK UOKuhjcubh&Uph"}rch(h)]RrcubG?uhNhUfFatty acid (dodecanoate) transport via facilitated irreversible diffusion (extracellular to periplasm)rch,G@@h-Gh}rch/h)]rcj!)rc}rc(hNj!KhNhUb2344rch}rcj!hjchNhNj!Kh&Nh"}rcj!U+h(h)]RrcubaRrchUDDCAtexirch2Gh3h4hNh5jch"}rch7Nubh)rc}rc(h UAlternate Carbon Metabolismrch }rc(j Gj>G?h)rc}rc(hNhNhU+2-Dehydro-3-deoxy-D-galactonate 6-phosphaterch}rchU 2dh3dgal6p_crchUEhJhGhh)rc}rc(hNhUC6H8O9Prch}rch"}rch$}rc(UHKUCKUOK UPKuhjcubh&Uch"}rch(h)]RrcubG?j-G?h)rc}rc(hNhNhU2-Dehydro-3-deoxy-D-galactonaterch}rchU 2dh3dgal_crchUEhJhGhh)rc}rc(hNhUC6H9O6rch}rch"}rch$}rc(UHK UCKUOKuhjcubh&Uch"}rch(h)]RrcubGuhNhU 2-dehydro-3-deoxygalactonokinaserch,G@@h-Gh}rch/h)]rcj!)rc}rc(hNj!KhNhUb3693rch}rcj!hjchNhNj!Kh&Nh"}rcj!U+h(h)]RrcubaRrchUDDGALKrch2Gh3h4hNh5jch"}rch7Nubh)rc}rc(h UTransport, Inner Membranerdh }rd(j$FG?h)rd}rd(hNhNhU2-Dehydro-3-deoxy-D-gluconaterdh}rdhU 2ddglcn_prdhUEhJhGhh)rd}rd(hNhUC6H9O6r dh}r dh"}r dh$}r d(UHK UCKUOKuhj dubh&Uph"}r dh(h)]RrdubGj"Gj>G?uhNhUR2-dehydro-3-deoxy-D-gluconate transport via proton symport, reversible (periplasm)rdh,G@@h-G@h}rdh/h)]rdj!)rd}rd(hNj!KhNhUb3909rdh}rdj!hjdhNhNj!Kh&Nh"}rdj!U+h(h)]RrdubaRrdhU DDGLCNt2rpprdh2Gh3h4hNh5jdh"}rdh7Nubh)rd}rd(h UTransport, Outer Membrane Porinrdh }rd(jdG?j GuhNhUR2-dehydro-3-deoxy-D-gluconate transport via diffusion (extracellular to periplasm)rdh,G@@h-G@h}r dh/h)]r!d(j!j!j!j!eRr"dhU DDGLCNtexr#dh2Gh3h4hNh5U"(b0929 or b1377 or b2215 or b0241)r$dh"}r%dh7Nubh)r&d}r'd(h UAlternate Carbon Metabolismr(dh }r)d(j Gj-G?j>G?h)r*d}r+d(hNhNhU)2-Dehydro-3-deoxy-D-gluconate 6-phosphater,dh}r-dhU2ddg6p_cr.dhUEhJhGhh)r/d}r0d(hNhUC6H8O9Pr1dh}r2dh"}r3dh$}r4d(UHKUCKUOK UPKuhj1dubh&Uch"}r5dh(h)]Rr6dubG?j$FGuhNhU2-dehydro-3-deoxygluconokinaser7dh,G@@h-Gh}r8dh/h)]r9dj!)r:d}r;d(hNj!KhNhUb3526rdj!U+h(h)]Rr?dubaRr@dhUDDGLKrAdh2Gh3h4hNh5jG?uhNhU:deoxyguanosine transport in via proton symport (periplasm)rdh,G@@h-Gh}rdh/h)]rdj<aRrdhUDGSNt2pprdh2Gh3h4hNh5Ub2964rdh"}rdh7Nubh)rd}rd(h UTransport, Outer Membrane Porinreh }re(jdG?jMGuhNhUCdeoxyguanosine transport via diffusion (extracellular to periplasm)reh,G@@h-G@h}reh/h)]re(j!j!j!j!eRrehUDGSNtexreh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)reh"}reh7Nubh)r e}r e(h UAlternate Carbon Metabolismr eh }r e(j4Gh)r e}re(hNhNhU2,3-dehydroadipyl-CoAreh}rehU 23dhacoa_crehUEhJhGhh)re}re(hNhUC27H37N7O19P3Sreh}reh"}reh$}re(UCKUHK%UOKUNKUPKUSKuhjeubh&Uch"}reh(h)]RreubGh)re}re(hNhNhU(3S)-3-Hydroxyadipyl-CoAreh}rehU 3hadpcoa_crehUEhJhGhh)re}r e(hNhUC27H39N7O20P3Sr!eh}r"eh"}r#eh$}r$e(UCKUHK'UOKUNKUPKUSKuhj!eubh&Uch"}r%eh(h)]Rr&eubG?uhNhU2,3-dehydroadipyl-CoA hydrataser'eh,G@@h-G@h}r(eh/h)]r)ej!)r*e}r+e(hNj!KhNhUb1393r,eh}r-ej!hj,ehNhNj!Kh&Nh"}r.ej!U+h(h)]Rr/eubaRr0ehUDHACOAHr1eh2Gh3h4hNh5j,eh"}r2eh7Nubh)r3e}r4e(h U*Valine, Leucine, and Isoleucine Metabolismr5eh }r6e(h)r7e}r8e(hNhNhU#(R)-2,3-Dihydroxy-3-methylbutanoater9eh}r:ehU23dhmb_cr;ehUEhJhGhh)reh}r?eh"}r@eh$}rAe(UHK UCKUOKuhj>eubh&Uch"}rBeh(h)]RrCeubGh)rDe}rEe(hNhNhU3-Methyl-2-oxobutanoaterFeh}rGehU3mob_crHehUEhJhGhh)rIe}rJe(hNhUC5H7O3rKeh}rLeh"}rMeh$}rNe(UHKUCKUOKuhjKeubh&Uch"}rOeh(h)]RrPeubG?j4G?uhNhUG?jGh)re}re(hNhNhU!2,3-Dihydro-2,3-dihydroxybenzoatereh}rehU23ddhb_crehUEhJhGhh)re}re(hNhUC7H7O4reh}reh"}reh$}re(UHKUCKUOKuhjeubh&Uch"}reh(h)]RreubGh)re}re(hNhNhU2,3-Dihydroxybenzoatereh}rehU23dhb_crehUEhJhGhh)re}re(hNhUC7H5O4reh}reh"}reh$}re(UHKUCKUOKuhjeubh&Uch"}reh(h)]RreubG?uhNhU/2,3-dihydro-2,3-dihydroxybenzoate dehydrogenasereh,G@@h-G@h}reh/h)]rej!)re}re(hNj!KhNhUb0596reh}rej!hjehNhNj!Kh&Nh"}rej!U+h(h)]RrfubaRrfhUDHBDrfh2Gh3h4hNh5jeh"}rfh7Nubh)rf}rf(h U*Cofactor and Prosthetic Group Biosynthesisrfh }rf(j Gh)rf}r f(hNhNhU(2,3-Dihydroxybenzoyl)adenylater fh}r fhU23dhba_cr fhUEhJhGhh)r f}rf(hNhU C17H17N5O10Prfh}rfh"}rfh$}rf(UHKUCKUPKUOK UNKuhjfubh&Uch"}rfh(h)]RrfubG?jeGj>GjTG?uhNhU(2,3-dihydroxybenzoate adenylate synthaserfh,G@@h-Gh}rfh/h)]rfj!)rf}rf(hNj!KhNhUb0594rfh}rfj!hjfhNhNj!Kh&Nh"}rfj!U+h(h)]RrfubaRrfhUDHBSrfh2Gh3h4hNh5jfh"}r fh7Nubh)r!f}r"f(h U*Cofactor and Prosthetic Group Biosynthesisr#fh }r$f(j4GjG?jeG?h)r%f}r&f(hNhNhU2,3-dihydroxybenzoylseriner'fh}r(fhU 23dhbzs_cr)fhUEhJhGhh)r*f}r+f(hNhU C10H10NO6r,fh}r-fh"}r.fh$}r/f(UHK UCK UOKUNKuhj,fubh&Uch"}r0fh(h)]Rr1fubGuhNhU$2,3-dihydroxybenzoylserine hydrolaser2fh,G@@h-Gh}r3fh/h)]Rr4fhUDHBSHr5fh2Gh3h4hNh5Uh"}r6fh7Nubh)r7f}r8f(h UAlternate Carbon Metabolismr9fh }r:f(jG?jGj>G?j*G?jVGuhNhU$2,3-dihydroxycinnamate dehydrogenaser;fh,G@@h-Gh}rf}r?f(hNj!KhNhUb2541r@fh}rAfj!hj@fhNhNj!Kh&Nh"}rBfj!U+h(h)]RrCfubaRrDfhUDHCINDrEfh2Gh3h4hNh5j@fh"}rFfh7Nubh)rGf}rHf(h UAlternate Carbon MetabolismrIfh }rJf(h)rKf}rLf(hNhNhU 2-hydroxy-6-ketononatrienedioaterMfh}rNfhUhkntd_crOfhUEhJhGhh)rPf}rQf(hNhUC9H6O6rRfh}rSfh"}rTfh$}rUf(UHKUCK UOKuhjRfubh&Uch"}rVfh(h)]RrWfubG?j*Gj*Gj>G?uhNhU&2,3-dihydroxycinnamate 1,2-dioxygenaserXfh,G@@h-Gh}rYfh/h)]rZfj!)r[f}r\f(hNj!KhNhUb0348r]fh}r^fj!hj]fhNhNj!Kh&Nh"}r_fj!U+h(h)]Rr`fubaRrafhUDHCINDOrbfh2Gh3h4hNh5j]fh"}rcfh7Nubh)rdf}ref(h UThreonine and Lysine Metabolismrffh }rgf(jCGj>Gh)rhf}rif(hNhNhU2,3-Dihydrodipicolinaterjfh}rkfhU23dhdp_crlfhUEhJhGhh)rmf}rnf(hNhUC7H5NO4rofh}rpfh"}rqfh$}rrf(UHKUCKUOKUNKuhjofubh&Uch"}rsfh(h)]RrtfubGj)G?h)ruf}rvf(hNhNhU2,3,4,5-Tetrahydrodipicolinaterwfh}rxfhUthdp_cryfhUEhJhGhh)rzf}r{f(hNhUC7H7NO4r|fh}r}fh"}r~fh$}rf(UHKUCKUOKUNKuhj|fubh&Uch"}rfh(h)]RrfubG?uhNhU%dihydrodipicolinate reductase (NADPH)rfh,G@@h-Gh}rfh/h)]rfj!)rf}rf(hNj!KhNhUb0031rfh}rfj!hjfhNhNj!Kh&Nh"}rfj!U+h(h)]RrfubaRrfhUDHDPRyrfh2Gh3h4hNh5jfh"}rfh7Nubh)rf}rf(h UThreonine and Lysine Metabolismrfh }rf(j>G?j5Gj\LGj4G@jhfG?uhNhUdihydrodipicolinate synthaserfh,G@@h-Gh}rfh/h)]rfj!)rf}rf(hNj!KhNhUb2478rfh}rfj!hjfhNhNj!Kh&Nh"}rfj!U+h(h)]RrfubaRrfhUDHDPSrfh2Gh3h4hNh5jfh"}rfh7Nubh)rf}rf(h U*Cofactor and Prosthetic Group Biosynthesisrfh }rf(h)rf}rf(hNhNhU7,8-Dihydrofolaterfh}rfhUdhf_crfhUEhJhGhh)rf}rf(hNhU C19H19N7O6rfh}rfh"}rfh$}rf(UHKUCKUOKUNKuhjfubh&Uch"}rfh(h)]RrfubGj>Gj)G?jCGjG?uhNhUdihydrofolate reductaserfh,G@@h-G@h}rfh/h)]rf(j!)rf}rf(hNj!KhNhUb0048rfh}rfj!hjfhNhNj!Kh&Nh"}rfj!U+h(h)]Rrfubj!)rf}rf(hNj!KhNhUb1606rfh}rfj!hjfhNhNj!Kh&Nh"}rfj!U+h(h)]RrfubeRrfhUDHFRrfh2Gh3h4hNh5U(b1606 or b0048)rfh"}rfh7Nubh)rf}rf(h U*Cofactor and Prosthetic Group Biosynthesisrfh }rf(jfG?jGj-G?h)rf}rf(hNhNhUDihydropteroaterfh}rfhUdhpt_crfhUEhJhGhh)rf}rf(hNhU C14H13N6O3rfh}rfh"}rfh$}rf(UHK UCKUOKUNKuhjfubh&Uch"}rfh(h)]RrfubGj>G?j GjG?uhNhUdihydrofolate synthaserfh,G@@h-Gh}rfh/h)]rfj!)rf}rf(hNj!KhNhUb2315rfh}rfj!hjfhNhNj!Kh&Nh"}rfj!U+h(h)]RrfubaRrfhUDHFSrfh2Gh3h4hNh5jfh"}rfh7Nubh)rf}rf(h U*Cofactor and Prosthetic Group Biosynthesisrfh }rf(h)rf}rf(hNhNhUTetrahydromonapterinrfh}rfhUthmnp_crfhUEhKhGhh)rf}rf(hNhU C9H15N5O4rfh}rfh"}rfh$}rf(UHKUCK UOKUNKuhjfubh&Uch"}rfh(h)]RrfubG?j>Gh)rf}rf(hNhNhUDihydromonapterinrfh}rfhUdhmpt_crfhUEhKhGhh)rf}rf(hNhU C9H13N5O4rfh}rfh"}rfh$}rf(UHK UCK UOKUNKuhjfubh&Uch"}rfh(h)]RrfubGjCGj)G?uhNhUDihydromonapterin reductaserfh,G@@h-Gh}rfh/h)]rfjfaRrghUDHMPTRrgh2Gh3h4hNh5Ub1606rgh"}rgh7Nubh)rg}rg(h U*Cofactor and Prosthetic Group Biosynthesisrgh }rg(h)rg}r g(hNhNhU all-trans-Octaprenyl diphosphater gh}r ghUoctdp_cr ghUEhJhGhh)r g}rg(hNhU C40H65O7P2rgh}rgh"}rgh$}rg(UHKAUCK(UOKUPKuhjgubh&Uch"}rgh(h)]RrgubGh)rg}rg(hNhNhU1,4-Dihydroxy-2-naphthoatergh}rghUdhna_crghUEhJhGhh)rg}rg(hNhUC11H7O4rgh}rgh"}rgh$}rg(UHKUCK UOKuhjgubh&Uch"}r gh(h)]Rr!gubGjTG?j~G?j>Gj -G?uhNhU01,4-dihydroxy-2-naphthoate octaprenyltransferaser"gh,G@@h-Gh}r#gh/h)]r$gj!)r%g}r&g(hNj!KhNhUb3930r'gh}r(gj!hj'ghNhNj!Kh&Nh"}r)gj!U+h(h)]Rr*gubaRr+ghUDHNAOT4r,gh2Gh3h4hNh5j'gh"}r-gh7Nubh)r.g}r/g(h U*Cofactor and Prosthetic Group Biosynthesisr0gh }r1g(h)r2g}r3g(hNhNhUO-Succinylbenzoyl-CoAr4gh}r5ghUsbzcoa_cr6ghUEhJhGhh)r7g}r8g(hNhUC32H39N7O20P3Sr9gh}r:gh"}r;gh$}rgubGh)r?g}r@g(hNhNhU1,4-dihydroxy-2-napthoyl-CoArAgh}rBghU 14dhncoa_crCghUEhJhGhh)rDg}rEg(hNhUC32H38N7O19P3SrFgh}rGgh"}rHgh$}rIg(UCK UHK&UOKUNKUPKUSKuhjFgubh&Uch"}rJgh(h)]RrKgubG?j>Gj4G?uhNhU%1,4-dihydroxy-2-napthoyl-CoA synthaserLgh,G@@h-Gh}rMgh/h)]rNgj!)rOg}rPg(hNj!KhNhUb2262rQgh}rRgj!hjQghNhNj!Kh&Nh"}rSgj!U+h(h)]RrTgubaRrUghUDHNCOASrVgh2Gh3h4hNh5jQgh"}rWgh7Nubh)rXg}rYg(h U*Cofactor and Prosthetic Group BiosynthesisrZgh }r[g(j>G?j?gGjgG?jG?j4GuhNhU)1,4-dihydroxy-2-napthoyl-CoA thioesteraser\gh,G@@h-Gh}r]gh/h)]r^gj!)r_g}r`g(hNj!KhNhUb0736ragh}rbgj!hjaghNhNj!Kh&Nh"}rcgj!U+h(h)]RrdgubaRreghUDHNCOATrfgh2Gh3h4hNh5jagh"}rggh7Nubh)rhg}rig(h U*Cofactor and Prosthetic Group Biosynthesisrjgh }rkg(h)rlg}rmg(hNhNhU6-hydroxymethyl dihydropterinrngh}roghU6hmhpt_crpghUEhKhGhh)rqg}rrg(hNhUC7H9N5O2rsgh}rtgh"}rugh$}rvg(UHK UCKUOKUNKuhjsgubh&Uch"}rwgh(h)]RrxgubG?h)ryg}rzg(hNhNhUGlycolaldehyder{gh}r|ghUgcald_cr}ghUEhKhGhh)r~g}rg(hNhUC2H4O2rgh}rgh"}rgh$}rg(UHKUCKUOKuhjgubh&Uch"}rgh(h)]RrgubG?h)rg}rg(hNhNhUDihydroneopterinrgh}rghUdhnpt_crghUEhKhGhh)rg}rg(hNhU C9H13N5O4rgh}rgh"}rgh$}rg(UHK UCK UOKUNKuhjgubh&Uch"}rgh(h)]RrgubGuhNhU$dihydroneopterin aldolase reversiblergh,G@@h-G@h}rgh/h)]rgj!)rg}rg(hNj!KhNhUb3058rgh}rgj!hjghNhNj!Kh&Nh"}rgj!U+h(h)]RrgubaRrghUDHNPA2rrgh2Gh3h4hNh5jgh"}rgh7Nubh)rg}rg(h U*Cofactor and Prosthetic Group Biosynthesisrgh }rg(jfG?jgGuhNhUDihydroneopterin epimerasergh,G@@h-G@h}rgh/h)]rgjgaRrghUDHNPTErgh2Gh3h4hNh5Ub3058rgh"}rgh7Nubh)rg}rg(h U"Purine and Pyrimidine Biosynthesisrgh }rg(h)rg}rg(hNhNhU(S)-Dihydroorotatergh}rghU dhor__S_crghUEhJhGhh)rg}rg(hNhUC5H5N2O4rgh}rgh"}rgh$}rg(UHKUCKUOKUNKuhjgubh&Uch"}rgh(h)]RrgubGh)rg}rg(hNhNhUOrotatergh}rghUorot_crghUEhJhGhh)rg}rg(hNhUC5H3N2O4rgh}rgh"}rgh$}rg(UHKUCKUOKUNKuhjgubh&Uch"}rgh(h)]RrgubG?jNGjG?uhNhU*dihydoorotic acid dehydrogenase (quinone8)rgh,G@@h-Gh}rgh/h)]rgj!)rg}rg(hNj!KhNhUb0945rgh}rgj!hjghNhNj!Kh&Nh"}rgj!U+h(h)]RrgubaRrghUDHORD2rgh2Gh3h4hNh5jgh"}rgh7Nubh)rg}rg(h U"Purine and Pyrimidine Biosynthesisrgh }rg(jgGjgG?jDNGjG?uhNhU"dihydroorotic acid (menaquinone-8)rgh,G@@h-Gh}rgh/h)]rgjgaRrghUDHORD5rgh2Gh3h4hNh5Ub0945rgh"}rgh7Nubh)rg}rg(h U"Purine and Pyrimidine Biosynthesisrgh }rg(jgGjgG?j>Gj\NG?uhNhUFumarate dependent DHORDrgh,G@@h-Gh}rgh/h)]RrghUDHORDfumrgh2Gh3h4hNh5Uh"}rgh7Nubh)rg}rg(h U"Purine and Pyrimidine Biosynthesisrgh }rg(j4GjgGjMG?j>G?uhNhUdihydroorotasergh,G@@h-G@h}rgh/h)]rgj!)rg}rg(hNj!KhNhUb1062rgh}rgj!hjghNhNj!Kh&Nh"}rgj!U+h(h)]RrgubaRrghUDHORTSrgh2Gh3h4hNh5jgh"}rgh7Nubh)rg}rg(h UAlternate Carbon Metabolismrgh }rg(jG?j+G?j>G?jGh)rg}rg(hNhNhU2cis-3-(3-carboxyethyl)-3,5-cyclohexadiene-1,2-diolrgh}rghU cechddd_crhhUEhJhGhh)rh}rh(hNhUC9H11O4rhh}rhh"}rhh$}rh(UHK UCK UOKuhjhubh&Uch"}rhh(h)]RrhubGuhNhU+2,3-dihydroxyphenylpropionate dehydrogenaser hh,G@@h-Gh}r hh/h)]r hj>faRr hhUDHPPDr hh2Gh3h4hNh5Ub2541rhh"}rhh7Nube(h)rh}rh(h U*Cofactor and Prosthetic Group Biosynthesisrhh }rh(jLG?j>GjIG?j4Gh)rh}rh(hNhNhU=2,5-Diamino-6-(ribosylamino)-4-(3H)-pyrimidinone 5'-phosphaterhh}rhhU 25drapp_crhhUEhJhGhh)rh}rh(hNhU C9H14N5O8Prhh}rhh"}rhh$}rh(UHKUCK UPKUOKUNKuhjhubh&Uch"}rhh(h)]Rr hubGuhNhU@diaminohydroxyphosphoribosylaminopryrimidine deaminase (25drapp)r!hh,G@@h-Gh}r"hh/h)]r#hjIaRr$hhUDHPPDA2r%hh2Gh3h4hNh5Ub0414r&hh"}r'hh7Nubh)r(h}r)h(h U*Cofactor and Prosthetic Group Biosynthesisr*hh }r+h(j;GjTG?h)r,h}r-h(hNhNhU+6-hydroxymethyl-dihydropterin pyrophosphater.hh}r/hhU 6hmhptpp_cr0hhUEhJhGhh)r1h}r2h(hNhU C7H8N5O8P2r3hh}r4hh"}r5hh$}r6h(UHKUCKUPKUOKUNKuhj3hubh&Uch"}r7hh(h)]Rr8hubGjfG?uhNhUdihydropteroate synthaser9hh,G@@h-Gh}r:hh/h)]r;hj!)rhh}r?hj!hj>hhNhNj!Kh&Nh"}r@hj!U+h(h)]RrAhubaRrBhhUDHPS2rChh2Gh3h4hNh5j>hh"}rDhh7Nubh)rEh}rFh(h UMethionine MetabolismrGhh }rHh(h)rIh}rJh(hNhNhU4,5-dihydroxy-2,3-pentanedionerKhh}rLhhUdhptd_crMhhUEhKhGhh)rNh}rOh(hNhUC5H8O4rPhh}rQhh"}rRhh$}rSh(UHKUCKUOKuhjPhubh&Uch"}rThh(h)]RrUhubGh)rVh}rWh(hNhNhU0(2R,4S)-2-methyl-2,4-dihydroxydihydrofuran-3-onerXhh}rYhhUmdhdhf_crZhhUEhKhGhh)r[h}r\h(hNhUC5H8O4r]hh}r^hh"}r_hh$}r`h(UHKUCKUOKuhj]hubh&Uch"}rahh(h)]RrbhubG?uhNhU84,5-dihydroxy-2,3-pentanedione cyclization (spontaneous)rchh,G@@h-Gh}rdhh/h)]rehjB4aRrfhhUDHPTDCs2rghh2Gh3h4hNh5Us0001rhhh"}rihh7Nubh)rjh}rkh(h UAlternate Carbon Metabolismrlhh }rmh(jCGj)G?j>Gh)rnh}roh(hNhNhU5,6,7,8-tetrahydropteridinerphh}rqhhUthptdn_crrhhUEhKhGhh)rsh}rth(hNhUC6H10N4ruhh}rvhh"}rwhh$}rxh(UHK UCKUNKuhjuhubh&Uch"}ryhh(h)]RrzhubG?h)r{h}r|h(hNhNhU6,7-Dihydropteridiner}hh}r~hhUdhptdn_crhhUEhKhGhh)rh}rh(hNhUC6H6N4rhh}rhh"}rhh$}rh(UHKUCKUNKuhjhubh&Uch"}rhh(h)]RrhubGuhNhUdihydropteridine reductaserhh,Gh-Gh}rhh/h)]rhj!)rh}rh(hNj!KhNhUb0578rhh}rhj!hjhhNhNj!Kh&Nh"}rhj!U+h(h)]RrhubaRrhhUDHPTDNRrhh2Gh3h4hNh5jhh"}rhh7Nubh)rh}rh(h UAlternate Carbon Metabolismrhh }rh(jGjG?j>GjnhG?j{hGuhNhU!dihydropteridine reductase (NADH)rhh,Gh-Gh}rhh/h)]rhjhaRrhhUDHPTDNRNrhh2Gh3h4hNh5Ub0578rhh"}rhh7Nubh)rh}rh(h U*Cofactor and Prosthetic Group Biosynthesisrhh }rh(jZGh)rh}rh(hNhNhUdihydromonapterin-triphosphaterhh}rhhUdhmptp_crhhUEhJhGhh)rh}rh(hNhU C9H12N5O13P3rhh}rhh"}rhh$}rh(UHK UCK UPKUOK UNKuhjhubh&Uch"}rhh(h)]RrhubG?uhNhU*dihydroneopterin triphosphate 2'-epimeraserhh,G@@h-G@h}rhh/h)]rhj!)rh}rh(hNj!KhNhUb2303rhh}rhj!hjhhNhNj!Kh&Nh"}rhj!U+h(h)]RrhubaRrhhUDHPTPErhh2Gh3h4hNh5jhh"}rhh7Nubh)rh}rh(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrhh }rh(jTdGh)rh}rh(hNhNhU3-Dehydroquinaterhh}rhhU3dhq_crhhUEhJhGhh)rh}rh(hNhUC7H9O6rhh}rhh"}rhh$}rh(UHK UCKUOKuhjhubh&Uch"}rhh(h)]RrhubG?jG?uhNhU3-dehydroquinate synthaserhh,G@@h-Gh}rhh/h)]rhj!)rh}rh(hNj!KhNhUb3389rhh}rhj!hjhhNhNj!Kh&Nh"}rhj!U+h(h)]RrhubaRrhhUDHQSrhh2Gh3h4hNh5jhh"}rhh7Nubh)rh}rh(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrhh }rh(h)rh}rh(hNhNhU3-Dehydroshikimaterhh}rhhU3dhsk_crhhUEhJhGhh)rh}rh(hNhUC7H7O5rhh}rhh"}rhh$}rh(UHKUCKUOKuhjhubh&Uch"}rhh(h)]RrhubG?jhGj4G?uhNhU*3-dehydroquinate dehydratase, irreversiblerhh,G@@h-Gh}rhh/h)]rhj!)rh}rh(hNj!KhNhUb1693rhh}rhj!hjhhNhNj!Kh&Nh"}rhj!U+h(h)]RrhubaRrhhUDHQTirhh2Gh3h4hNh5jhh"}rhh7Nubh)rh}rh(h UTransport, Outer Membrane Porinrhh }rh(jwGh)rh}rh(hNhNhUdIMPrhh}rhhUdimp_prhhUEhJhGhh)rh}ri(hNhU C10H11N4O7Prih}rih"}rih$}ri(UHK UCK UPKUOKUNKuhjiubh&Uph"}rih(h)]RriubG?uhNhU9dIMP transport via diffusion (extracellular to periplasm)rih,G@@h-G@h}rih/h)]r i(j!j!j!j!eRr ihUDIMPtexr ih2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r ih"}r ih7Nubh)ri}ri(h UTransport, Inner Membranerih }ri(h)ri}ri(hNhNhU Deoxyinosinerih}rihUdin_prihUEhKhGhh)ri}ri(hNhU C10H12N4O4rih}rih"}rih$}ri(UHK UCK UOKUNKuhjiubh&Uph"}rih(h)]RriubGjAaG?j"Gj>G?uhNhU8deoxyinosine transport in via proton symport (periplasm)rih,G@@h-Gh}r ih/h)]r!ij<aRr"ihUDINSt2ppr#ih2Gh3h4hNh5Ub2964r$ih"}r%ih7Nubh)r&i}r'i(h UTransport, Outer Membrane Porinr(ih }r)i(jGjiG?uhNhUAdeoxyinosine transport via diffusion (extracellular to periplasm)r*ih,G@@h-G@h}r+ih/h)]r,i(j!j!j!j!eRr-ihUDINStexr.ih2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r/ih"}r0ih7Nubh)r1i}r2i(h UAlternate Carbon Metabolismr3ih }r4i(j(G?jCGh)r5i}r6i(hNhNhU2,5-diketo-D-gluconater7ih}r8ihU 25dkglcn_cr9ihUEhJhGhh)r:i}r;i(hNhUC6H7O7rih$}r?i(UHKUCKUOKuhjGj)G?uhNhU 2,5-diketo-D-gluconate reductaserBih,G@@h-Gh}rCih/h)]rDi(jEjFeRrEihUDKGLCNR1rFih2Gh3h4hNh5U(b0207 or b3012)rGih"}rHih7Nubh)rIi}rJi(h UAlternate Carbon MetabolismrKih }rLi(jGj5iGj>GjG?j/G?uhNhU'2,5-diketo-D-gluconate reductase (NADH)rMih,G@@h-Gh}rNih/h)]rOij-(aRrPihU DKGLCNR2xrQih2Gh3h4hNh5Ub3553rRih"}rSih7Nubh)rTi}rUi(h UAlternate Carbon MetabolismrVih }rWi(j5iGj/G?j>GjCGj)G?uhNhU(2,5-diketo-D-gluconate reductase (NADPH)rXih,G@@h-Gh}rYih/h)]rZij-(aRr[ihU DKGLCNR2yr\ih2Gh3h4hNh5Ub3553r]ih"}r^ih7Nubh)r_i}r`i(h U*Cofactor and Prosthetic Group Biosynthesisraih }rbi(jTG?h)rci}rdi(hNhNhUDimethylallyl diphosphatereih}rfihUdmpp_crgihUEhJhGhh)rhi}rii(hNhUC5H9O7P2rjih}rkih"}rlih$}rmi(UHK UCKUOKUPKuhjjiubh&Uch"}rnih(h)]RroiubGh)rpi}rqi(hNhNhUIsopentenyl diphosphaterrih}rsihUipdp_crtihUEhJhGhh)rui}rvi(hNhUC5H9O7P2rwih}rxih"}ryih$}rzi(UHK UCKUOKUPKuhjwiubh&Uch"}r{ih(h)]Rr|iubGh)r}i}r~i(hNhNhUGeranyl diphosphaterih}rihUgrdp_crihUEhJhGhh)ri}ri(hNhU C10H17O7P2rih}rih"}rih$}ri(UHKUCK UOKUPKuhjiubh&Uch"}rih(h)]RriubG?uhNhUdimethylallyltranstransferaserih,G@@h-Gh}rih/h)]rij!)ri}ri(hNj!KhNhUb0421rih}rij!hjihNhNj!Kh&Nh"}rij!U+h(h)]RriubaRrihUDMATTrih2Gh3h4hNh5jih"}rih7Nubh)ri}ri(h U*Cofactor and Prosthetic Group Biosynthesisrih }ri(jGjG?h)ri}ri(hNhNhU.1-hydroxy-2-methyl-2-(E)-butenyl 4-diphosphaterih}rihUh2mb4p_crihUEhJhGhh)ri}ri(hNhUC5H9O8P2rih}rih"}rih$}ri(UHK UCKUOKUPKuhjiubh&Uch"}rih(h)]RriubGj>GjciG?j4G?uhNhU?1-hydroxy-2-methyl-2-(E)-butenyl 4-diphosphate reductase (dmpp)rih,G@@h-Gh}rih/h)]rij!)ri}ri(hNj!KhNhUb0029rih}rij!hjihNhNj!Kh&Nh"}rij!U+h(h)]RriubaRrihUDMPPSrih2Gh3h4hNh5jih"}rih7Nubh)ri}ri(h U*Cofactor and Prosthetic Group Biosynthesisrih }ri(jGh)ri}ri(hNhNhU92-Octaprenyl-3-methyl-5-hydroxy-6-methoxy-1,4-benzoquinolrih}rihU 2omhmbl_crihUEhKhGhh)ri}ri(hNhUC48H74O4rih}rih"}rih$}ri(UHKJUCK0UOKuhjiubh&Uch"}rih(h)]RriubGj>G?jG?j9G?uhNhU)3-Dimethylubiquinonol 3-methyltransferaserih,G@@h-Gh}rih/h)]rij!)ri}ri(hNj!KhNhUb2232rih}rij!hjihNhNj!Kh&Nh"}rij!U+h(h)]RriubaRrihUDMQMTrih2Gh3h4hNh5jih"}rih7Nubh)ri}ri(h UOxidative Phosphorylationrih }ri(h)ri}ri(hNhNhUDimethyl sulfiderih}rihUdms_crihUEhKhGhh)ri}ri(hNhUC2H6Srih}rih"}rih$}ri(UHKUCKUSKuhjiubh&Uch"}rih(h)]RriubG?jDNG?j4G?jGh)ri}ri(hNhNhUDimethyl sulfoxiderih}rihUdmso_crihUEhKhGhh)ri}ri(hNhUC2H6OSrih}rih"}rih$}ri(UHKUCKUSKUOKuhjiubh&Uch"}rih(h)]RriubGuhNhU+Dimethyl sulfoxide reductase (Menaquinol 8)rih,G@@h-Gh}rih/h)]ri(j!)ri}ri(hNj!KhNhUb1589rih}rij!hjihNhNj!Kh&Nh"}rij!U+h(h)]Rriubj!)ri}ri(hNj!KhNhUb0895rih}rij!hjihNhNj!Kh&Nh"}rij!U+h(h)]Rriubj!)ri}ri(hNj!KhNhUb1587rih}rjj!hjihNhNj!Kh&Nh"}rjj!U+h(h)]Rrjubj!)rj}rj(hNj!KhNhUb1590rjh}rjj!hjjhNhNj!Kh&Nh"}rjj!U+h(h)]Rrjubj!)r j}r j(hNj!KhNhUb1588r jh}r jj!hj jhNhNj!Kh&Nh"}r jj!U+h(h)]Rrjubj!)rj}rj(hNj!KhNhUb0894rjh}rjj!hjjhNhNj!Kh&Nh"}rjj!U+h(h)]Rrjubj!)rj}rj(hNj!KhNhUb0896rjh}rjj!hjjhNhNj!Kh&Nh"}rjj!U+h(h)]RrjubeRrjhUDMSOR1rjh2Gh3h4hNh5UF((b1587 and b1588 and b1589 and b1590) or (b0894 and b0895 and b0896))rjh"}rjh7Nubh)rj}r j(h UOxidative Phosphorylationr!jh }r"j(h)r#j}r$j(hNhNhUDimethyl sulfider%jh}r&jhUdms_pr'jhUEhKhGhh)r(j}r)j(hNhUC2H6Sr*jh}r+jh"}r,jh$}r-j(UHKUCKUSKuhj*jubh&Uph"}r.jh(h)]Rr/jubG?h)r0j}r1j(hNhNhUDimethyl sulfoxider2jh}r3jhUdmso_pr4jhUEhKhGhh)r5j}r6j(hNhUC2H6OSr7jh}r8jh"}r9jh$}r:j(UHKUCKUSKUOKuhj7jubh&Uph"}r;jh(h)]Rrjh/h)]r?j(j!)r@j}rAj(hNj!KhNhUb1872rBjh}rCjj!hjBjhNhNj!Kh&Nh"}rDjj!U+h(h)]RrEjubj!)rFj}rGj(hNj!KhNhUb1873rHjh}rIjj!hjHjhNhNj!Kh&Nh"}rJjj!U+h(h)]RrKjubeRrLjhUDMSOR1pprMjh2Gh3h4hNh5U(b1872 and b1873)rNjh"}rOjh7Nubh)rPj}rQj(h UOxidative PhosphorylationrRjh }rSj(jiGj~Gj4G?h)rTj}rUj(hNhNhU2-Demethylmenaquinone 8rVjh}rWjhU2dmmq8_crXjhUEhKhGhh)rYj}rZj(hNhUC50H70O2r[jh}r\jh"}r]jh$}r^j(UHKFUCK2UOKuhj[jubh&Uch"}r_jh(h)]Rr`jubG?jiG?uhNhU3Dimethyl sulfoxide reductase (Demethylmenaquinol 8)rajh,G@@h-Gh}rbjh/h)]rcj(jijjjjeRrdjhUDMSOR2rejh2Gh3h4hNh5U(b0894 and b0895 and b0896)rfjh"}rgjh7Nubh)rhj}rij(h UOxidative Phosphorylationrjjh }rkj(j#jG?j~GjTjG?j#G?j0jGuhNhU?Dimethyl sulfoxide reductase (Demethylmenaquinol 8) (periplasm)rljh,G@@h-Gh}rmjh/h)]rnj(j@jjFjeRrojhUDMSOR2pprpjh2Gh3h4hNh5U(b1872 and b1873)rqjh"}rrjh7Nubh)rsj}rtj(h UTransport, Outer Membrane Porinrujh }rvj(jGj0jG?uhNhUGDimethyl sulfoxide transport via diffusion (extracellular to periplasm)rwjh,G@@h-G@h}rxjh/h)]ryj(j!j!j!j!eRrzjhUDMSOtexr{jh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r|jh"}r}jh7Nubh)r~j}rj(h UTransport, Inner Membranerjh }rj(j0jGjiG?uhNhU6Dimethyl sulfoxide transport via diffusion (periplasm)rjh,G@@h-G@h}rjh/h)]rjjB4aRrjhUDMSOtpprjh2Gh3h4hNh5Us0001rjh"}rjh7Nubh)rj}rj(h UTransport, Outer Membrane Porinrjh }rj(j#jG?jGuhNhUEDimethyl sulfide transport via diffusion (extracellular to periplasm)rjh,G@@h-G@h}rjh/h)]rj(j!j!j!j!eRrjhUDMStexrjh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rjh"}rjh7Nubh)rj}rj(h U*Cofactor and Prosthetic Group Biosynthesisrjh }rj(h)rj}rj(hNhNhUDihydroneopterin monophosphaterjh}rjhUdhpmp_crjhUEhJhGhh)rj}rj(hNhU C9H12N5O7Prjh}rjh"}rjh$}rj(UHK UCK UPKUOKUNKuhjjubh&Uch"}rjh(h)]RrjubGj4GjgG?jG?uhNhU.Dihydroneopterin monophosphate dephosphorylaserjh,G@@h-Gh}rjh/h)]RrjhUDNMPPArjh2Gh3h4hNh5Uh"}rjh7Nubh)rj}rj(h U*Cofactor and Prosthetic Group Biosynthesisrjh }rj(jZGj>G?jjG?jTG?j4GuhNhU-Dihydroneopterin triphosphate pyrophosphataserjh,G@@h-Gh}rjh/h)]rj(j!)rj}rj(hNj!KhNhUb0099rjh}rjj!hjjhNhNj!Kh&Nh"}rjj!U+h(h)]Rrjubj!)rj}rj(hNj!KhNhUb1865rjh}rjj!hjjhNhNj!Kh&Nh"}rjj!U+h(h)]RrjubeRrjhUDNTPPArjh2Gh3h4hNh5U(b0099 or b1865)rjh"}rjh7Nubh)rj}rj(h UAlternate Carbon Metabolismrjh }rj(jGj[+G?jG?j>Gh)rj}rj(hNhNhU2,3-Dioxo-L-gulonaterjh}rjhU 23doguln_crjhUEhJhGhh)rj}rj(hNhUC6H7O7rjh}rjh"}rjh$}rj(UHKUCKUOKuhjjubh&Uch"}rjh(h)]RrjubGuhNhU2,3 dioxo-L-gulonate reductaserjh,G@@h-Gh}rjh/h)]rjj!)rj}rj(hNj!KhNhUb3575rjh}rjj!hjjhNhNj!Kh&Nh"}rjj!U+h(h)]RrjubaRrjhUDOGULNRrjh2Gh3h4hNh5jjh"}rjh7Nubh)rj}rj(h UTransport, Outer Membrane Porinrjh }rj(j.G?jGuhNhU=dopamine transport via diffusion (extracellular to periplasm)rjh,G@@h-G@h}rjh/h)]rj(j!j!j!j!eRrjhUDOPAtexrjh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rjh"}rjh7Nubh)rj}rj(h UTransport, Outer Membrane Porinrjh }rj(jGh)rj}rj(hNhNhU doxorubicinrjh}rjhU doxrbcn_prjhUEhKhGhh)rj}rj(hNhU C27H29NO11rjh}rjh"}rjh$}rj(UHKUCKUOK UNKuhjjubh&Uph"}rjh(h)]RrjubG?uhNhU@Doxorubicin transport via diffusion (extracellular to periplasm)rjh,G@@h-G@h}rjh/h)]rj(j!j!j!j!eRrjhU DOXRBCNtexrjh2Gh3h4hNh5U"(b1377 or b2215 or b0929 or b0241)rjh"}rkh7Nubh)rk}rk(h UTransport, Outer Membranerkh }rk(jG?j"GjjGj>G?uhNhU%Doxorubicin transport via TolC systemrkh,G@@h-Gh}rkh/h)]rk(jCYj=YjIYjOYeRrkhU DOXRBCNtppr kh2Gh3h4hNh5U<((b0463 and b0462 and b3035) or (b0463 and b2470 and b3035))r kh"}r kh7Nubh)r k}r k(h U*Cofactor and Prosthetic Group Biosynthesisrkh }rk(j Gj>G?j-G?jG?h)rk}rk(hNhNhU Dephospho-CoArkh}rkhUdpcoa_crkhUEhJhGhh)rk}rk(hNhUC21H33N7O13P2Srkh}rkh"}rkh$}rk(UCKUHK!UOK UNKUPKUSKuhjkubh&Uch"}rkh(h)]RrkubGuhNhUdephospho-CoA kinaserkh,G@@h-Gh}rkh/h)]rkj!)r k}r!k(hNj!KhNhUb0103r"kh}r#kj!hj"khNhNj!Kh&Nh"}r$kj!U+h(h)]Rr%kubaRr&khUDPCOAKr'kh2Gh3h4hNh5j"kh"}r(kh7Nubh)r)k}r*k(h U*Cofactor and Prosthetic Group Biosynthesisr+kh }r,k(jCGj)G?j>Gh)r-k}r.k(hNhNhU2-Dehydropantoater/kh}r0khU2dhp_cr1khUEhJhGhh)r2k}r3k(hNhUC6H9O4r4kh}r5kh"}r6kh$}r7k(UHK UCKUOKuhj4kubh&Uch"}r8kh(h)]Rr9kubGh)r:k}r;k(hNhNhU (R)-PantoaterkhUEhJhGhh)r?k}r@k(hNhUC6H11O4rAkh}rBkh"}rCkh$}rDk(UHK UCKUOKuhjAkubh&Uch"}rEkh(h)]RrFkubG?uhNhU2-dehydropantoate 2-reductaserGkh,G@@h-Gh}rHkh/h)]rIk(j!)rJk}rKk(hNj!KhNhUb3774rLkh}rMkj!hjLkhNhNj!Kh&Nh"}rNkj!U+h(h)]RrOkubj!)rPk}rQk(hNj!KhNhUb0425rRkh}rSkj!hjRkhNhNj!Kh&Nh"}rTkj!U+h(h)]RrUkubeRrVkhUDPRrWkh2Gh3h4hNh5U(b0425 or b3774)rXkh"}rYkh7Nubh)rZk}r[k(h UAlternate Carbon Metabolismr\kh }r]k(j4G?j~dG?h)r^k}r_k(hNhNhU2-Deoxy-D-ribose 5-phosphater`kh}rakhU2dr5p_crbkhUEhJhGhh)rck}rdk(hNhUC5H9O7Prekh}rfkh"}rgkh$}rhk(UHK UCKUOKUPKuhjekubh&Uch"}rikh(h)]RrjkubGuhNhUdeoxyribose-phosphate aldolaserkkh,G@@h-Gh}rlkh/h)]rmkj!)rnk}rok(hNj!KhNhUb4381rpkh}rqkj!hjpkhNhNj!Kh&Nh"}rrkj!U+h(h)]RrskubaRrtkhUDRPArukh2Gh3h4hNh5jpkh"}rvkh7Nubh)rwk}rxk(h U Unassignedrykh }rzk(h)r{k}r|k(hNhNhU3periplasmic protein disulfide isomerase I (reduced)r}kh}r~khUdsbard_prkhUEhKhGhh)rk}rk(hNhUXH2rkh}rkh"}rkh$}rk(UXKUHKuhjkubh&Uph"}rkh(h)]RrkubGjNGh)rk}rk(hNhNhU4periplasmic protein disulfide isomerase I (oxidized)rkh}rkhUdsbaox_prkhUEhKhGhh)rk}rk(hNhUXh}rkh"}rkh$}rkUXKshUXubh&Uph"}rkh(h)]RrkubG?jG?uhNhU+DsbA protein reoxidation reaction (aerobic)rkh,G@@h-Gh}rkh/h)]rk(j!)rk}rk(hNj!KhNhUb1185rkh}rkj!hjkhNhNj!Kh&Nh"}rkj!U+h(h)]Rrkubj!)rk}rk(hNj!KhNhUb3860rkh}rkj!hjkhNhNj!Kh&Nh"}rkj!U+h(h)]RrkubeRrkhUDSBAO1rkh2Gh3h4hNh5U(b3860 and b1185)rkh"}rkh7Nubh)rk}rk(h U Unassignedrkh }rk(jkG?jG?j{kGjDNGuhNhU-DsbA protein reoxidation reaction (anaerobic)rkh,G@@h-Gh}rkh/h)]rk(jkjkeRrkhUDSBAO2rkh2Gh3h4hNh5U(b3860 and b1185)rkh"}rkh7Nubh)rk}rk(h U Unassignedrkh }rk(h)rk}rk(hNhNhU)protein disulfide isomerase II (oxidized)rkh}rkhUdsbcox_prkhUEhKhGhh)rk}rk(hNhUXh}rkh"}rkh$}rkUXKshUXubh&Uph"}rkh(h)]RrkubGh)rk}rk(hNhNhUReduced glutathionerkh}rkhUgthrd_prkhUEhJhGhh)rk}rk(hNhU C10H16N3O6Srkh}rkh"}rkh$}rk(UHKUCK USKUOKUNKuhjkubh&Uph"}rkh(h)]RrkubGh)rk}rk(hNhNhUOxidized glutathionerkh}rkhUgthox_prkhUEhJhGhh)rk}rk(hNhU C20H30N6O12S2rkh}rkh"}rkh$}rk(UHKUCKUSKUOK UNKuhjkubh&Uph"}rkh(h)]RrkubG?h)rk}rk(hNhNhU(protein disulfide isomerase II (reduced)rkh}rkhUdsbcrd_prkhUEhKhGhh)rk}rk(hNhUXH2rkh}rkh"}rkh$}rk(UXKUHKuhjkubh&Uph"}rkh(h)]RrkubG?uhNhU DsbC:glutathione thiotransferaserkh,G@@h-Gh}rkh/h)]rkj!)rk}rk(hNj!KhNhUb2893rkh}rkj!hjkhNhNj!Kh&Nh"}rkj!U+h(h)]RrkubaRrkhUDSBCGTrkh2Gh3h4hNh5jkh"}rkh7Nubh)rk}rk(h U Unassignedrkh }rk(h)rk}rk(hNhNhU4fused thiol:disulfide interchange protein (oxidized)rkh}rkhUdsbdox_crkhUEhKhGhh)rk}rk(hNhUXh}rlh"}rlh$}rlUXKshUXubh&Uch"}rlh(h)]RrlubGh)rl}rl(hNhNhU3fused thiol:disulfide interchange protein (reduced)rlh}rlhUdsbdrd_cr lhUEhKhGhh)r l}r l(hNhUXH2r lh}r lh"}rlh$}rl(UXKUHKuhj lubh&Uch"}rlh(h)]RrlubG?h)rl}rl(hNhNhUOxidized thioredoxinrlh}rlhUtrdox_crlhUEhKhGhh)rl}rl(hNhUXh}rlh"}rlh$}rlUXKshUXubh&Uch"}rlh(h)]RrlubG?h)rl}rl(hNhNhUReduced thioredoxinr lh}r!lhUtrdrd_cr"lhUEhKhGhh)r#l}r$l(hNhUXH2r%lh}r&lh"}r'lh$}r(l(UXKUHKuhj%lubh&Uch"}r)lh(h)]Rr*lubGuhNhUDsbD reductaser+lh,G@@h-Gh}r,lh/h)]r-l(j!)r.l}r/l(hNj!KhNhUb3781r0lh}r1lj!hj0lhNhNj!Kh&Nh"}r2lj!U+h(h)]Rr3lubj!)r4l}r5l(hNj!KhNhUb4136r6lh}r7lj!hj6lhNhNj!Kh&Nh"}r8lj!U+h(h)]Rr9lubj!)r:l}r;l(hNj!KhNhUb2582rlj!U+h(h)]Rr?lubeRr@lhUDSBDRrAlh2Gh3h4hNh5U(((b4136 and b2582) or (b4136 and b3781))rBlh"}rClh7Nubh)rDl}rEl(h U UnassignedrFlh }rGl(jkGjkG?h)rHl}rIl(hNhNhUCperiplasmic disulfide isomerase/thiol-disulphide oxidase (oxidized)rJlh}rKlhUdsbgox_prLlhUEhKhGhh)rMl}rNl(hNhUXh}rOlh"}rPlh$}rQlUXKshUXubh&Uph"}rRlh(h)]RrSlubGh)rTl}rUl(hNhNhUBperiplasmic disulfide isomerase/thiol-disulphide oxidase (reduced)rVlh}rWlhUdsbgrd_prXlhUEhKhGhh)rYl}rZl(hNhUXH2r[lh}r\lh"}r]lh$}r^l(UXKUHKuhj[lubh&Uph"}r_lh(h)]Rr`lubG?uhNhU DsbG:glutathione thiotransferaseralh,G@@h-Gh}rblh/h)]rclj!)rdl}rel(hNj!KhNhUb0604rflh}rglj!hjflhNhNj!Kh&Nh"}rhlj!U+h(h)]RrilubaRrjlhUDSBGGTrklh2Gh3h4hNh5jflh"}rllh7Nubh)rml}rnl(h UGlycine and Serine Metabolismrolh }rpl(j>G?h)rql}rrl(hNhNhUD-Serinerslh}rtlhUser__D_crulhUEhKhGhh)rvl}rwl(hNhUC3H7NO3rxlh}rylh"}rzlh$}r{l(UHKUCKUOKUNKuhjxlubh&Uch"}r|lh(h)]Rr}lubGh)r~l}rl(hNhNhU2-Aminomalonate semialdehyderlh}rlhU2amsa_crlhUEhKhGhh)rl}rl(hNhUC3H5NO3rlh}rlh"}rlh$}rl(UHKUCKUOKUNKuhjlubh&Uch"}rlh(h)]RrlubG?jCG?j)GuhNhUD-serine dehydrogenaserlh,G@@h-G@h}rlh/h)]rljOaRrlhUDSERDHrrlh2Gh3h4hNh5Ub1539rlh"}rlh7Nubh)rl}rl(h UTransport, Inner Membranerlh }rl(jqlG?j"Gj>G?h)rl}rl(hNhNhUD-Serinerlh}rlhUser__D_prlhUEhKhGhh)rl}rl(hNhUC3H7NO3rlh}rlh"}rlh$}rl(UHKUCKUOKUNKuhjlubh&Uph"}rlh(h)]RrlubGuhNhU4D-serine transport in via proton symport (periplasm)rlh,G@@h-Gh}rlh/h)]rljCaRrlhUDSERt2pprlh2Gh3h4hNh5Ub4208rlh"}rlh7Nubh)rl}rl(h UTransport, Outer Membrane Porinrlh }rl(jlG?jGuhNhU=D-serine transport via diffusion (extracellular to periplasm)rlh,G@@h-G@h}rlh/h)]rl(j!j!j!j!eRrlhUDSERtexrlh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rlh"}rlh7Nubh)rl}rl(h UAlternate Carbon Metabolismrlh }rl(h)rl}rl(hNhNhU D-tartraterlh}rlhU tartr__D_crlhUEhJhGhh)rl}rl(hNhUC4H4O6rlh}rlh"}rlh$}rl(UHKUCKUOKuhjlubh&Uch"}rlh(h)]RrlubGj4G?jNG?uhNhUD(-)-tartrate dehydrataserlh,G@@h-Gh}rlh/h)]rlj!)rl}rl(hNj!KhNhUb4122rlh}rlj!hjlhNhNj!Kh&Nh"}rlj!U+h(h)]RrlubaRrlhUDTARTDrlh2Gh3h4hNh5jlh"}rlh7Nubh)rl}rl(h UNucleotide Salvage Pathwayrlh }rl(h)rl}rl(hNhNhUdTMPrlh}rlhUdtmp_crlhUEhJhGhh)rl}rl(hNhU C10H13N2O8Prlh}rlh"}rlh$}rl(UHK UCK UPKUOKUNKuhjlubh&Uch"}rlh(h)]RrlubGj-G?jl1G?j GuhNhU dTMP kinaserlh,G@@h-G@h}rlh/h)]rlj!)rl}rl(hNj!KhNhUb1098rlh}rlj!hjlhNhNj!Kh&Nh"}rlj!U+h(h)]RrlubaRrlhUDTMPKrlh2Gh3h4hNh5jlh"}rlh7Nubh)rl}rl(h UTransport, Outer Membrane Porinrlh }rl(h)rl}rl(hNhNhUdTMPrlh}rlhUdtmp_prlhUEhJhGhh)rl}rl(hNhU C10H13N2O8Prlh}rlh"}rlh$}rl(UHK UCK UPKUOKUNKuhjlubh&Uph"}rlh(h)]RrlubG?jGuhNhU9dTMP transport via diffusion (extracellular to periplasm)rmh,G@@h-G@h}rmh/h)]rm(j!j!j!j!eRrmhUDTMPtexrmh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rmh"}rmh7Nubh)rm}rm(h UTransport, Outer Membrane Porinr mh }r m(j Gh)r m}r m(hNhNhUdUMPr mh}rmhUdump_prmhUEhJhGhh)rm}rm(hNhU C9H11N2O8Prmh}rmh"}rmh$}rm(UHK UCK UPKUOKUNKuhjmubh&Uph"}rmh(h)]RrmubG?uhNhU9dUMP transport via diffusion (extracellular to periplasm)rmh,G@@h-G@h}rmh/h)]rm(j!j!j!j!eRrmhUDUMPtexrmh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rmh"}rmh7Nubh)rm}r m(h UNucleotide Salvage Pathwayr!mh }r"m(jG?h)r#m}r$m(hNhNhU5,6-dihydrouracilr%mh}r&mhU56dura_cr'mhUEhKhGhh)r(m}r)m(hNhUC4H6N2O2r*mh}r+mh"}r,mh$}r-m(UHKUCKUOKUNKuhj*mubh&Uch"}r.mh(h)]Rr/mubGj>G?jGj\G?uhNhU!dihydrouracil dehydrogenase (NAD)r0mh,G@@h-G@h}r1mh/h)]r2m(j!)r3m}r4m(hNj!KhNhUb2146r5mh}r6mj!hj5mhNhNj!Kh&Nh"}r7mj!U+h(h)]Rr8mubj!)r9m}r:m(hNj!KhNhUb2147r;mh}rmubeRr?mhUDURADxr@mh2Gh3h4hNh5U(b2147 and b2146)rAmh"}rBmh7Nubh)rCm}rDm(h UNucleotide Salvage PathwayrEmh }rFm(j Gj>G?h)rGm}rHm(hNhNhUdUMPrImh}rJmhUdump_crKmhUEhJhGhh)rLm}rMm(hNhU C9H11N2O8PrNmh}rOmh"}rPmh$}rQm(UHK UCK UPKUOKUNKuhjNmubh&Uch"}rRmh(h)]RrSmubG?j-G?jcGuhNhU&deoxyuridine kinase (ATP:Deoxyuridine)rTmh,G@@h-Gh}rUmh/h)]rVmj!)rWm}rXm(hNj!KhNhUb1238rYmh}rZmj!hjYmhNhNj!Kh&Nh"}r[mj!U+h(h)]Rr\mubaRr]mhUDURIK1r^mh2Gh3h4hNh5jYmh"}r_mh7Nubh)r`m}ram(h UNucleotide Salvage Pathwayrbmh }rcm(h)rdm}rem(hNhNhU2-Deoxy-D-ribose 1-phosphaterfmh}rgmhU2dr1p_crhmhUEhJhGhh)rim}rjm(hNhUC5H9O7Prkmh}rlmh"}rmmh$}rnm(UHK UCKUOKUPKuhjkmubh&Uch"}romh(h)]RrpmubG?jcGjGj\G?uhNhUdeoxyuridine phosphorylaserqmh,G@@h-G@h}rrmh/h)]rsm(j!)rtm}rum(hNj!KhNhUb4384rvmh}rwmj!hjvmhNhNj!Kh&Nh"}rxmj!U+h(h)]Rrymubj!)rzm}r{m(hNj!KhNhUb4382r|mh}r}mj!hj|mhNhNj!Kh&Nh"}r~mj!U+h(h)]RrmubeRrmhUDURIPPrmh2Gh3h4hNh5U(b4382 or b4384)rmh"}rmh7Nubh)rm}rm(h UTransport, Inner Membranermh }rm(h)rm}rm(hNhNhU Deoxyuridinermh}rmhUduri_prmhUEhKhGhh)rm}rm(hNhU C9H12N2O5rmh}rmh"}rmh$}rm(UHK UCK UOKUNKuhjmubh&Uph"}rmh(h)]RrmubGj"Gj>G?jcG?uhNhU8deoxyuridine transport in via proton symport (periplasm)rmh,G@@h-Gh}rmh/h)]rm(j<j<eRrmhUDURIt2pprmh2Gh3h4hNh5U(b2964 or b2393)rmh"}rmh7Nubh)rm}rm(h UTransport, Outer Membranermh }rm(jGjmG?uhNhUAdeoxyuridine transport via diffusion (extracellular to periplasm)rmh,G@@h-G@h}rmh/h)]rmj<aRrmhUDURItexrmh2Gh3h4hNh5Ub0411rmh"}rmh7Nubh)rm}rm(h UNucleotide Salvage Pathwayrmh }rm(jTG?jGmG?j>G?j4GjVcGuhNhUdUTP diphosphatasermh,G@@h-Gh}rmh/h)]rm(j!)rm}rm(hNj!KhNhUb2251rmh}rmj!hjmhNhNj!Kh&Nh"}rmj!U+h(h)]Rrmubj!)rm}rm(hNj!KhNhUb3640rmh}rmj!hjmhNhNj!Kh&Nh"}rmj!U+h(h)]RrmubeRrmhUDUTPDPrmh2Gh3h4hNh5U(b3640 or b2251)rmh"}rmh7Nubh)rm}rm(h U*Cofactor and Prosthetic Group Biosynthesisrmh }rm(jCGj)G?j>Gh)rm}rm(hNhNhU1-deoxy-D-xylulose 5-phosphatermh}rmhUdxyl5p_crmhUEhJhGhh)rm}rm(hNhUC5H9O7Prmh}rmh"}rmh$}rm(UHK UCKUOKUPKuhjmubh&Uch"}rmh(h)]RrmubGh)rm}rm(hNhNhU#2-C-methyl-D-erythritol 4-phosphatermh}rmhU2me4p_crmhUEhJhGhh)rm}rm(hNhUC5H11O7Prmh}rmh"}rmh$}rm(UHK UCKUOKUPKuhjmubh&Uch"}rmh(h)]RrmubG?uhNhU#1-deoxy-D-xylulose reductoisomerasermh,G@@h-Gh}rmh/h)]rmj!)rm}rm(hNj!KhNhUb0173rmh}rmj!hjmhNhNj!Kh&Nh"}rmj!U+h(h)]RrmubaRrmhUDXPRIirmh2Gh3h4hNh5jmh"}rmh7Nubh)rm}rm(h U*Cofactor and Prosthetic Group Biosynthesisrmh }rm(j -G?j>Gj5GjmG?j~dGuhNhU'1-deoxy-D-xylulose 5-phosphate synthasermh,G@@h-Gh}rmh/h)]rmj!)rm}rm(hNj!KhNhUb0420rmh}rmj!hjmhNhNj!Kh&Nh"}rmj!U+h(h)]RrmubaRrmhUDXPSrmh2Gh3h4hNh5jmh"}rmh7Nubh)rm}rm(h U*Cofactor and Prosthetic Group Biosynthesisrmh }rm(j Gh)rm}rm(hNhNhU1-deoxy-D-xylulosermh}rmhUdxyl_crnhUEhKhGhh)rn}rn(hNhUC5H10O4rnh}rnh"}rnh$}rn(UHK UCKUOKuhjnubh&Uch"}rnh(h)]RrnubGj-G?jmG?j>G?uhNhU1-Deoxy-D-xylulose kinaser nh,G@@h-Gh}r nh/h)]r nj!)r n}r n(hNj!KhNhUb3564rnh}rnj!hjnhNhNj!Kh&Nh"}rnj!U+h(h)]RrnubaRrnhUDXYLKrnh2Gh3h4hNh5jnh"}rnh7Nubh)rn}rn(h U*Cofactor and Prosthetic Group Biosynthesisrnh }rn(jG?h)rn}rn(hNhNhU4-Phospho-D-erythronaternh}rnhU4per_crnhUEhJhGhh)rn}rn(hNhUC4H6O8Pr nh}r!nh"}r"nh$}r#n(UHKUCKUOKUPKuhj nubh&Uch"}r$nh(h)]Rr%nubG?jGdGj>G@jGj4GuhNhU#Erythrose 4-phosphate dehydrogenaser&nh,G@@h-G@h}r'nh/h)]r(n(j!)r)n}r*n(hNj!KhNhUb2927r+nh}r,nj!hj+nhNhNj!Kh&Nh"}r-nj!U+h(h)]Rr.nubj!)r/n}r0n(hNj!KhNhUb1779r1nh}r2nj!hj1nhNhNj!Kh&Nh"}r3nj!U+h(h)]Rr4nubeRr5nhUE4PDr6nh2Gh3h4hNh5U(b2927 or b1779)r7nh"}r8nh7Nubh)r9n}r:n(h UCell Envelope Biosynthesisr;nh }rGj(GjU-G?uhNhU7enoyl-[acyl-carrier-protein] reductase (NADH) (n-C10:0)r=nh,G@@h-Gh}r>nh/h)]r?nj!)r@n}rAn(hNj!KhNhUb1288rBnh}rCnj!hjBnhNhNj!Kh&Nh"}rDnj!U+h(h)]RrEnubaRrFnhUEAR100xrGnh2Gh3h4hNh5jBnh"}rHnh7Nubh)rIn}rJn(h UCell Envelope BiosynthesisrKnh }rLn(jCGj)G?j>Gj(GjU-G?uhNhU8enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C10:0)rMnh,G@@h-Gh}rNnh/h)]rOnj@naRrPnhUEAR100yrQnh2Gh3h4hNh5Ub1288rRnh"}rSnh7Nubh)rTn}rUn(h UCell Envelope BiosynthesisrVnh }rWn(jGj:)Gj>GjG?j-G?uhNhU7enoyl-[acyl-carrier-protein] reductase (NADH) (n-C12:0)rXnh,G@@h-Gh}rYnh/h)]rZnj@naRr[nhUEAR120xr\nh2Gh3h4hNh5Ub1288r]nh"}r^nh7Nubh)r_n}r`n(h UCell Envelope Biosynthesisranh }rbn(j:)Gj>Gj)G?jCGj-G?uhNhU8enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C12:0)rcnh,G@@h-Gh}rdnh/h)]renj@naRrfnhUEAR120yrgnh2Gh3h4hNh5Ub1288rhnh"}rinh7Nubh)rjn}rkn(h UCell Envelope Biosynthesisrlnh }rmn(jGj_)Gj>GjG?j-G?uhNhU7enoyl-[acyl-carrier-protein] reductase (NADH) (n-C12:1)rnnh,G@@h-Gh}ronh/h)]rpnj@naRrqnhUEAR121xrrnh2Gh3h4hNh5Ub1288rsnh"}rtnh7Nubh)run}rvn(h UCell Envelope Biosynthesisrwnh }rxn(j_)GjCGj)G?j>Gj-G?uhNhU8enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C12:1)rynh,G@@h-Gh}rznh/h)]r{nj@naRr|nhUEAR121yr}nh2Gh3h4hNh5Ub1288r~nh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(jGj-G?j)GjG?j>GuhNhU7enoyl-[acyl-carrier-protein] reductase (NADH) (n-C14:0)rnh,G@@h-Gh}rnh/h)]rnj@naRrnhUEAR140xrnh2Gh3h4hNh5Ub1288rnh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(jCGj)G?j)Gj>Gj-G?uhNhU8enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C14:0)rnh,G@@h-Gh}rnh/h)]rnj@naRrnhUEAR140yrnh2Gh3h4hNh5Ub1288rnh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(jGjG?j-G?j)Gj>GuhNhU7enoyl-[acyl-carrier-protein] reductase (NADH) (n-C14:1)rnh,G@@h-Gh}rnh/h)]rnj@naRrnhUEAR141xrnh2Gh3h4hNh5Ub1288rnh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(jCGj)Gj-G?j>Gj)G?uhNhU8enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C14:1)rnh,G@@h-Gh}rnh/h)]rnj@naRrnhUEAR141yrnh2Gh3h4hNh5Ub1288rnh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(jGjG?j)Gj>Gj-G?uhNhU7enoyl-[acyl-carrier-protein] reductase (NADH) (n-C16:0)rnh,G@@h-Gh}rnh/h)]rnj@naRrnhUEAR160xrnh2Gh3h4hNh5Ub1288rnh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(j>Gj)G?jCGj)Gj-G?uhNhU8enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C16:0)rnh,G@@h-Gh}rnh/h)]rnj@naRrnhUEAR160yrnh2Gh3h4hNh5Ub1288rnh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(jGjG?j-G?j>Gj)GuhNhU7enoyl-[acyl-carrier-protein] reductase (NADH) (n-C16:1)rnh,G@@h-Gh}rnh/h)]rnj@naRrnhUEAR161xrnh2Gh3h4hNh5Ub1288rnh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(j-G?j)G?j>GjCGj)GuhNhU8enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C16:1)rnh,G@@h-Gh}rnh/h)]rnj@naRrnhUEAR161yrnh2Gh3h4hNh5Ub1288rnh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(jGjG?j0G?j>Gj *GuhNhU7enoyl-[acyl-carrier-protein] reductase (NADH) (n-C18:0)rnh,G@@h-Gh}rnh/h)]rnj@naRrnhUEAR180xrnh2Gh3h4hNh5Ub1288rnh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(j>Gj0G?jCGj)G?j *GuhNhU8enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C18:0)rnh,G@@h-Gh}rnh/h)]rnj@naRrnhUEAR180yrnh2Gh3h4hNh5Ub1288rnh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(jGj0G?j>GjG?j=*GuhNhU7enoyl-[acyl-carrier-protein] reductase (NADH) (n-C18:1)rnh,G@@h-Gh}rnh/h)]rnj@naRrnhUEAR181xrnh2Gh3h4hNh5Ub1288rnh"}rnh7Nubh)rn}rn(h UCell Envelope Biosynthesisrnh }rn(jCGj)G?j>Gj0G?j=*GuhNhU8enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C18:1)rnh,G@@h-Gh}rnh/h)]rnj@naRrohUEAR181yroh2Gh3h4hNh5Ub1288roh"}roh7Nubh)ro}ro(h UCell Envelope Biosynthesisroh }ro(jGj>Gjb*GjG?j.G?uhNhU6enoyl-[acyl-carrier-protein] reductase (NADH) (n-C4:0)roh,G@@h-Gh}r oh/h)]r oj@naRr ohUEAR40xr oh2Gh3h4hNh5Ub1288r oh"}roh7Nubh)ro}ro(h UCell Envelope Biosynthesisroh }ro(j)G?jb*GjCGj.G?j>GuhNhU7enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C4:0)roh,G@@h-Gh}roh/h)]roj@naRrohUEAR40yroh2Gh3h4hNh5Ub1288roh"}roh7Nubh)ro}ro(h UCell Envelope Biosynthesisroh }ro(jGjG?jz*Gj-.G?j>GuhNhU6enoyl-[acyl-carrier-protein] reductase (NADH) (n-C6:0)roh,G@@h-Gh}roh/h)]r oj@naRr!ohUEAR60xr"oh2Gh3h4hNh5Ub1288r#oh"}r$oh7Nubh)r%o}r&o(h UCell Envelope Biosynthesisr'oh }r(o(jz*Gj)G?j>Gj-.G?jCGuhNhU7enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C6:0)r)oh,G@@h-Gh}r*oh/h)]r+oj@naRr,ohUEAR60yr-oh2Gh3h4hNh5Ub1288r.oh"}r/oh7Nubh)r0o}r1o(h UCell Envelope Biosynthesisr2oh }r3o(jGj-G?jG?j*Gj>GuhNhU6enoyl-[acyl-carrier-protein] reductase (NADH) (n-C8:0)r4oh,G@@h-Gh}r5oh/h)]r6oj@naRr7ohUEAR80xr8oh2Gh3h4hNh5Ub1288r9oh"}r:oh7Nubh)r;o}ro(j-G?jCGj*Gj>Gj)G?uhNhU7enoyl-[acyl-carrier-protein] reductase (NADPH) (n-C8:0)r?oh,G@@h-Gh}r@oh/h)]rAoj@naRrBohUEAR80yrCoh2Gh3h4hNh5Ub1288rDoh"}rEoh7Nubh)rFo}rGo(h U+Lipopolysaccharide Biosynthesis / RecyclingrHoh }rIo(j Gj4G?j-G?j>G?j4GjG?h)rJo}rKo(hNhNhU?(enterobacterial common antigen)x4 core oligosaccharide lipid ArLoh}rMohU eca4colipa_prNohUEhJhGhh)rOo}rPo(hNhUC272H447N14O160P4rQoh}rRoh"}rSoh$}rTo(UHMUCMUPKUOKUNKuhjQoubh&Uph"}rUoh(h)]RrVoubGuhNhUventerobacterial common antigen (x4) core oligosaccharide lipid A transport via ABC system (periplasm to extracellular)rWoh,G@@h-Gh}rXoh/h)]rYo(j'9j99j-9j39j?9eRrZohUECA4COLIPAabctexr[oh2Gh3h4hNh5U/(b3200 and b3201 and b3199 and b4261 and b4262)r\oh"}r]oh7Nubh)r^o}r_o(h U+Lipopolysaccharide Biosynthesis / Recyclingr`oh }rao(h)rbo}rco(hNhNhU;(enterobacterial common antigen)x4 undecaprenyl-diphosphaterdoh}reohU eca4und_prfohUEhJhGhh)rgo}rho(hNhUC151H234N12O67P2rioh}rjoh"}rkoh$}rlo(UHKUCKUPKUOKCUNK uhjioubh&Uph"}rmoh(h)]RrnoubGjJoG?jYG?j"G?jYGuhNhU@enterobacterial common antigen (x4) O-antigen ligase (periplasm)rooh,G@@h-Gh}rpoh/h)]rqoj!)rro}rso(hNj!KhNhUb3622rtoh}ruoj!hjtohNhNj!Kh&Nh"}rvoj!U+h(h)]RrwoubaRrxohU ECA4OALppryoh2Gh3h4hNh5jtoh"}rzoh7Nubh)r{o}r|o(h U+Lipopolysaccharide Biosynthesis / Recyclingr}oh }r~o(h)ro}ro(hNhNhUhUndecaprenyl-diphospho N-acetylglucosamine-N-acetylmannosaminuronate-N-acetamido-4,6-dideoxy-D-galactoseroh}rohU unagamuf_prohUEhJhGhh)ro}ro(hNhUC79H126N3O22P2roh}roh"}roh$}ro(UHK~UCKOUPKUOKUNKuhjoubh&Uph"}roh(h)]RroubGh)ro}ro(hNhNhU;(enterobacterial common antigen)x2 undecaprenyl-diphosphateroh}rohU eca2und_prohUEhJhGhh)ro}ro(hNhUC103H162N6O37P2roh}roh"}roh$}ro(UHKUCKgUPKUOK%UNKuhjoubh&Uph"}roh(h)]RroubG?jYG?j"G?uhNhU5enterobacterial common antigen polymerase (periplasm)roh,G@@h-Gh}roh/h)]ro(j!)ro}ro(hNj!KhNhUb3785roh}roj!hjohNhNj!Kh&Nh"}roj!U+h(h)]Rroubj!)ro}ro(hNj!KhNhUb3793roh}roj!hjohNhNj!Kh&Nh"}roj!U+h(h)]RroubeRrohUECAP1pproh2Gh3h4hNh5U(b3793 and b3785)roh"}roh7Nubh)ro}ro(h U+Lipopolysaccharide Biosynthesis / Recyclingroh }ro(joGjYG?j"G?h)ro}ro(hNhNhU;(enterobacterial common antigen)x3 undecaprenyl-diphosphateroh}rohU eca3und_prohUEhJhGhh)ro}ro(hNhUC127H198N9O52P2roh}roh"}roh$}ro(UHKUCKUPKUOK4UNK uhjoubh&Uph"}roh(h)]RroubG?joGuhNhU5enterobacterial common antigen polymerase (periplasm)roh,G@@h-Gh}roh/h)]ro(jojoeRrohUECAP2pproh2Gh3h4hNh5U(b3793 and b3785)roh"}roh7Nubh)ro}ro(h U+Lipopolysaccharide Biosynthesis / Recyclingroh }ro(jboG?joGjYG?j"G?joGuhNhU5enterobacterial common antigen polymerase (periplasm)roh,G@@h-Gh}roh/h)]ro(jojoeRrohUECAP3pproh2Gh3h4hNh5U(b3793 and b3785)roh"}roh7Nubh)ro}ro(h U+Lipopolysaccharide Biosynthesis / Recyclingroh }ro(jR1GjoG?uhNhUMenterobacterial common antigen transferase (flippase, cytoplasm to periplasm)roh,G@@h-Gh}roh/h)]roj!)ro}ro(hNj!KhNhUb3792roh}roj!hjohNhNj!Kh&Nh"}roj!U+h(h)]RroubaRrohUECAtpproh2Gh3h4hNh5joh"}roh7Nubh)ro}ro(h UMembrane Lipid Metabolismroh }ro(h)ro}ro(hNhNhU(S)-3-Hydroxybutanoyl-CoAroh}rohU3hbcoa_crohUEhJhGhh)ro}ro(hNhUC25H38N7O18P3Sroh}roh"}roh$}ro(UCKUHK&UOKUNKUPKUSKuhjoubh&Uch"}roh(h)]RroubGj4G?j7G?uhNhU53-hydroxyacyl-CoA dehydratase (3-hydroxybutanoyl-CoA)roh,G@@h-G@h}roh/h)]ro(j!)ro}ro(hNj!KhNhUb2341roh}roj!hjohNhNj!Kh&Nh"}roj!U+h(h)]Rroubj]eRrohUECOAH1roh2Gh3h4hNh5U(b3846 or b2341)roh"}roh7Nubh)ro}ro(h UMembrane Lipid Metabolismroh }rp(j4G?h)rp}rp(hNhNhU(S)-3-Hydroxyhexanoyl-CoArph}rphU3hhcoa_crphUEhJhGhh)rp}rp(hNhUC27H42N7O18P3Srph}r ph"}r ph$}r p(UCKUHK*UOKUNKUPKUSKuhjpubh&Uch"}r ph(h)]Rr pubGj8G?uhNhU53-hydroxyacyl-CoA dehydratase (3-hydroxyhexanoyl-CoA)rph,G@@h-G@h}rph/h)]rp(joj]eRrphUECOAH2rph2Gh3h4hNh5U(b3846 or b2341)rph"}rph7Nubh)rp}rp(h UMembrane Lipid Metabolismrph }rp(h)rp}rp(hNhNhU(S)-3-Hydroxyoctanoyl-CoArph}rphU3hocoa_crphUEhJhGhh)rp}rp(hNhUC29H46N7O18P3Sr ph}r!ph"}r"ph$}r#p(UCKUHK.UOKUNKUPKUSKuhj pubh&Uch"}r$ph(h)]Rr%pubGj4G?j28G?uhNhU53-hydroxyacyl-CoA dehydratase (3-hydroxyoctanoyl-CoA)r&ph,G@@h-G@h}r'ph/h)]r(p(joj]eRr)phUECOAH3r*ph2Gh3h4hNh5U(b3846 or b2341)r+ph"}r,ph7Nubh)r-p}r.p(h UMembrane Lipid Metabolismr/ph }r0p(h)r1p}r2p(hNhNhU(S)-3-Hydroxydecanoyl-CoAr3ph}r4phU3hdcoa_cr5phUEhJhGhh)r6p}r7p(hNhUC31H50N7O18P3Sr8ph}r9ph"}r:ph$}r;p(UCKUHK2UOKUNKUPKUSKuhj8pubh&Uch"}rph,G@@h-G@h}r?ph/h)]r@p(joj]eRrAphUECOAH4rBph2Gh3h4hNh5U(b3846 or b2341)rCph"}rDph7Nubh)rEp}rFp(h UMembrane Lipid MetabolismrGph }rHp(h)rIp}rJp(hNhNhU(S)-3-Hydroxydodecanoyl-CoArKph}rLphU 3hddcoa_crMphUEhJhGhh)rNp}rOp(hNhUC33H54N7O18P3SrPph}rQph"}rRph$}rSp(UCK!UHK6UOKUNKUPKUSKuhjPpubh&Uch"}rTph(h)]RrUpubGjb8G?j4G?uhNhU73-hydroxyacyl-CoA dehydratase (3-hydroxydodecanoyl-CoA)rVph,G@@h-G@h}rWph/h)]rXp(joj]eRrYphUECOAH5rZph2Gh3h4hNh5U(b3846 or b2341)r[ph"}r\ph7Nubh)r]p}r^p(h UMembrane Lipid Metabolismr_ph }r`p(jz8G?h)rap}rbp(hNhNhU(S)-3-Hydroxytetradecanoyl-CoArcph}rdphU 3htdcoa_crephUEhJhGhh)rfp}rgp(hNhUC35H58N7O18P3Srhph}riph"}rjph$}rkp(UCK#UHK:UOKUNKUPKUSKuhjhpubh&Uch"}rlph(h)]RrmpubGj4G?uhNhU:3-hydroxyacyl-CoA dehydratase (3-hydroxytetradecanoyl-CoA)rnph,G@@h-G@h}roph/h)]rpp(joj]eRrqphUECOAH6rrph2Gh3h4hNh5U(b3846 or b2341)rsph"}rtph7Nubh)rup}rvp(h UMembrane Lipid Metabolismrwph }rxp(j8G?j4G?h)ryp}rzp(hNhNhU(S)-3-Hydroxyhexadecanoyl-CoAr{ph}r|phU 3hhdcoa_cr}phUEhJhGhh)r~p}rp(hNhUC37H62N7O18P3Srph}rph"}rph$}rp(UCK%UHK>UOKUNKUPKUSKuhjpubh&Uch"}rph(h)]RrpubGuhNhU93-hydroxyacyl-CoA dehydratase (3-hydroxyhexadecanoyl-CoA)rph,G@@h-G@h}rph/h)]rp(joj]eRrphUECOAH7rph2Gh3h4hNh5U(b3846 or b2341)rph"}rph7Nubh)rp}rp(h UMembrane Lipid Metabolismrph }rp(j8G?h)rp}rp(hNhNhU(S)-3-Hydroxyoctadecanoyl-CoArph}rphU 3hodcoa_crphUEhJhGhh)rp}rp(hNhUC39H66N7O18P3Srph}rph"}rph$}rp(UCK'UHKBUOKUNKUPKUSKuhjpubh&Uch"}rph(h)]RrpubGj4G?uhNhU93-hydroxyacyl-CoA dehydratase (3-hydroxyoctadecanoyl-CoA)rph,G@@h-G@h}rph/h)]rp(joj]eRrphUECOAH8rph2Gh3h4hNh5U(b3846 or b2341)rph"}rph7Nubh)rp}rp(h UPentose Phosphate Pathwayrph }rp(j5G?j~dG?j*dGuhNhU+2-dehydro-3-deoxy-phosphogluconate aldolaserph,G@@h-Gh}rph/h)]rpj!)rp}rp(hNj!KhNhUb1850rph}rpj!hjphNhNj!Kh&Nh"}rpj!U+h(h)]RrpubaRrphUEDArph2Gh3h4hNh5jph"}rph7Nubh)rp}rp(h UPentose Phosphate Pathwayrph }rp(j*dG?h)rp}rp(hNhNhU6-Phospho-D-gluconaterph}rphU6pgc_crphUEhJhGhh)rp}rp(hNhU C6H10O10Prph}rph"}rph$}rp(UHK UCKUOK UPKuhjpubh&Uch"}rph(h)]RrpubGj4G?uhNhU6-phosphogluconate dehydrataserph,G@@h-Gh}rph/h)]rpj!)rp}rp(hNj!KhNhUb1851rph}rpj!hjphNhNj!Kh&Nh"}rpj!U+h(h)]RrpubaRrphUEDDrph2Gh3h4hNh5jph"}rph7Nubh)rp}rp(h U+Lipopolysaccharide Biosynthesis / Recyclingrph }rp(h)rp}rp(hNhNhUKDO(2)-lipid IV(A)rph}rphU kdo2lipid4_crphUEhJhGhh)rp}rp(hNhUC84H148N2O37P2rph}rph"}rph$}rp(UHKUCKTUPKUOK%UNKuhjpubh&Uch"}rph(h)]RrpubGj$-G?h)rp}rp(hNhNhUKDO(2)-lipid IV(A) with lauraterph}rphU kdo2lipid4L_crphUEhJhGhh)rp}rp(hNhUC96H170N2O38P2rph}rph"}rph$}rp(UHKUCK`UPKUOK&UNKuhjpubh&Uch"}rph(h)]RrpubG?j-GuhNhU)Endotoxin Synthesis (lauroyl transferase)rph,G@@h-Gh}rph/h)]rpj!)rp}rp(hNj!KhNhUb1054rph}rpj!hjphNhNj!Kh&Nh"}rpj!U+h(h)]RrpubaRrphUEDTXS1rph2Gh3h4hNh5jph"}rph7Nubh)rp}rp(h U+Lipopolysaccharide Biosynthesis / Recyclingrph }rp(j-Gj$-G?h)rq}rq(hNhNhUKDO(2)-lipid (A)rqh}rqhUlipa_crqhUEhJhGhh)rq}rq(hNhUC110H196N2O39P2rqh}rqh"}r qh$}r q(UHKUCKnUPKUOK'UNKuhjqubh&Uch"}r qh(h)]Rr qubG?jpGuhNhU+Endotoxin Synthesis (myristoyl transferase)r qh,G@@h-Gh}rqh/h)]rqj!)rq}rq(hNj!KhNhUb1855rqh}rqj!hjqhNhNj!Kh&Nh"}rqj!U+h(h)]RrqubaRrqhUEDTXS2rqh2Gh3h4hNh5jqh"}rqh7Nubh)rq}rq(h U+Lipopolysaccharide Biosynthesis / Recyclingrqh }rq(h)rq}rq(hNhNhU$KDO(2)-lipid IV(A) with palmitoleoylrqh}r qhU kdo2lipid4p_cr!qhUEhJhGhh)r"q}r#q(hNhUC100H176N2O38P2r$qh}r%qh"}r&qh$}r'q(UHKUCKdUPKUOK&UNKuhj$qubh&Uch"}r(qh(h)]Rr)qubG?jpGj$-G?j-GuhNhU&Endotoxin Synthesis (palmitoleoyl ACP)r*qh,G@@h-Gh}r+qh/h)]r,qj!)r-q}r.q(hNj!KhNhUb2378r/qh}r0qj!hj/qhNhNj!Kh&Nh"}r1qj!U+h(h)]Rr2qubaRr3qhUEDTXS3r4qh2Gh3h4hNh5j/qh"}r5qh7Nubh)r6q}r7q(h U+Lipopolysaccharide Biosynthesis / Recyclingr8qh }r9q(jqGj-Gh)r:q}r;q(hNhNhUcold adapted KDO(2)-lipid (A)rqhUEhJhGhh)r?q}r@q(hNhUC114H202N2O39P2rAqh}rBqh"}rCqh$}rDq(UHKUCKrUPKUOK'UNKuhjAqubh&Uch"}rEqh(h)]RrFqubG?j$-G?uhNhU+Endotoxin Synthesis (myristoyl transferase)rGqh,G@@h-Gh}rHqh/h)]rIqjqaRrJqhUEDTXS4rKqh2Gh3h4hNh5Ub1855rLqh"}rMqh7Nubh)rNq}rOq(h U*Cofactor and Prosthetic Group BiosynthesisrPqh }rQq(j>Gj)G?h)rRq}rSq(hNhNhU,Glutaryl-[acyl-carrier protein] methyl esterrTqh}rUqhUgmeACP_crVqhUEhJhGhh)rWq}rXq(hNhUC17H29N2O10PRSrYqh}rZqh"}r[qh$}r\q(UCKUHKUOK UNKUPKUSKURKuhjYqubh&Uch"}r]qh(h)]Rr^qubG?h)r_q}r`q(hNhNhU1Enoylglutaryl-[acyl-carrier protein] methyl esterraqh}rbqhU egmeACP_crcqhUEhJhGhh)rdq}req(hNhUC17H27N2O10PRSrfqh}rgqh"}rhqh$}riq(UCKUHKUOK UNKUPKUSKURKuhjfqubh&Uch"}rjqh(h)]RrkqubGjCGuhNhU*Enoylglutaryl-[ACP] methyl ester reductaserlqh,G@@h-Gh}rmqh/h)]rnqj@naRroqhUEGMEACPRrpqh2Gh3h4hNh5Ub1288rqqh"}rrqh7Nubh)rsq}rtq(h U+Lipopolysaccharide Biosynthesis / Recyclingruqh }rvq(j Gh)rwq}rxq(hNhNhU$phosphoethanolamine KDO(2)-lipid (A)ryqh}rzqhUenlipa_pr{qhUEhJhGhh)r|q}r}q(hNhUC112H202N3O42P3r~qh}rqh"}rqh$}rq(UHKUCKpUPKUOK*UNKuhj~qubh&Uph"}rqh(h)]RrqubGj>G?jIG?j-G?jG?j4GuhNhUQphosphoethanolamine lipid A transport via ABC system (periplasm to extracellular)rqh,G@@h-Gh}rqh/h)]rq(j99j?9j-9j39j'9eRrqhU ENLIPAabctexrqh2Gh3h4hNh5U/(b3200 and b3201 and b3199 and b4261 and b4262)rqh"}rqh7Nubh)rq}rq(h UGlycolysis/Gluconeogenesisrqh }rq(j4G?j5G?h)rq}rq(hNhNhUD-Glycerate 2-phosphaterqh}rqhU2pg_crqhUEhJhGhh)rq}rq(hNhUC3H4O7Prqh}rqh"}rqh$}rq(UHKUCKUOKUPKuhjqubh&Uch"}rqh(h)]RrqubGuhNhUenolaserqh,G@@h-G@h}rqh/h)]rqj!)rq}rq(hNj!KhNhUb2779rqh}rqj!hjqhNhNj!Kh&Nh"}rqj!U+h(h)]RrqubaRrqhUENOrqh2Gh3h4hNh5jqh"}rqh7Nubh)rq}rq(h U*Cofactor and Prosthetic Group Biosynthesisrqh }rq(jfGh)rq}rq(hNhNhU L-seryl-AMPrqh}rqhUseramp_crqhUEhKhGhh)rq}rq(hNhU C13H19N6O9Prqh}rqh"}rqh$}rq(UHKUCK UPKUOK UNKuhjqubh&Uch"}rqh(h)]RrqubGj>G@"hG?j%G@uhNhUenterochelin synthaserqh,G@@h-Gh}rqh/h)]rqj!)rq}rq(hNj!KhNhUb0583rqh}rqj!hjqhNhNj!Kh&Nh"}rqj!U+h(h)]RrqubaRrqhUENTCSrqh2Gh3h4hNh5jqh"}rqh7Nubh)rq}rq(h U&Inorganic Ion Transport and Metabolismrqh }rq(hGj4Gj%fG@j>G@uhNhUEnterochelin Esteraserqh,G@@h-Gh}rqh/h)]rqj!)rq}rq(hNj!KhNhUb0585rqh}rqj!hjqhNhNj!Kh&Nh"}rqj!U+h(h)]RrqubaRrqhUENTERESrqh2Gh3h4hNh5jqh"}rqh7Nubh)rq}rq(h U&Inorganic Ion Transport and Metabolismrqh }rq(jhG?j%fG@j>G@h)rq}rq(hNhNhUFe-enterobactinrqh}rqhU feenter_crqhUEhKhGhh)rq}rq(hNhU C30H27FeN3O15rqh}rqh"}rqh$}rq(UHKUCKUFeKUOKUNKuhjqubh&Uch"}rqh(h)]RrqubGj4GuhNhU%Enterochelin Esterase (Fe containing)rqh,G@@h-Gh}rqh/h)]rqjqaRrqhUENTERES2rqh2Gh3h4hNh5Ub0585rqh"}rqh7Nubh)rq}rq(h U*Cofactor and Prosthetic Group Biosynthesisrqh }rq(jCGh)rq}rq(hNhNhU1Enoylpimeloyl-[acyl-carrier protein] methyl esterrqh}rqhU epmeACP_crqhUEhJhGhh)rq}rq(hNhUC19H31N2O10PRSrqh}rqh"}rqh$}rq(UCKUHKUOK UNKUPKUSKURKuhjqubh&Uch"}rqh(h)]RrqubGj>Gj)G?h)rq}rq(hNhNhU,Pimeloyl-[acyl-carrier protein] methyl esterrrh}rrhUpmeACP_crrhUEhJhGhh)rr}rr(hNhUC19H33N2O10PRSrrh}rrh"}rrh$}rr(UCKUHK!UOK UNKUPKUSKURKuhjrubh&Uch"}r rh(h)]Rr rubG?uhNhU*Enoylpimeloyl-[ACP] methyl ester reductaser rh,G@@h-Gh}r rh/h)]r rj@naRrrhUEPMEACPRrrh2Gh3h4hNh5Ub1288rrh"}rrh7Nubh)rr}rr(h UCell Envelope Biosynthesisrrh }rr(h)rr}rr(hNhNhU Ethanolaminerrh}rrhUetha_crrhUEhKhGhh)rr}rr(hNhUC2H8NOrrh}rrh"}rrh$}r r(UHKUCKUOKUNKuhjrubh&Uch"}r!rh(h)]Rr"rubGj4G?jLG?uhNhUEthanolamine ammonia-lyaser#rh,G@@h-Gh}r$rh/h)]r%r(j!)r&r}r'r(hNj!KhNhUb2441r(rh}r)rj!hj(rhNhNj!Kh&Nh"}r*rj!U+h(h)]Rr+rubj!)r,r}r-r(hNj!KhNhUb2440r.rh}r/rj!hj.rhNhNj!Kh&Nh"}r0rj!U+h(h)]Rr1rubeRr2rhUETHAALr3rh2Gh3h4hNh5U(b2440 and b2441)r4rh"}r5rh7Nubh)r6r}r7r(h UTransport, Inner Membraner8rh }r9r(j>G?jrG?j"Gh)r:r}r;r(hNhNhU EthanolaminerrhUEhKhGhh)r?r}r@r(hNhUC2H8NOrArh}rBrh"}rCrh$}rDr(UHKUCKUOKUNKuhjArubh&Uph"}rErh(h)]RrFrubGuhNhU,ethanolamine transport in via proton symportrGrh,G@@h-Gh}rHrh/h)]RrIrhUETHAt2pprJrh2Gh3h4hNh5Uh"}rKrh7Nubh)rLr}rMr(h UTransport, Outer Membrane PorinrNrh }rOr(jsGj:rG?uhNhU4ethanolamine transport via diffusion (extracellular)rPrh,G@@h-G@h}rQrh/h)]rRr(j!j!j!j!eRrSrhUETHAtexrTrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rUrh"}rVrh7Nubh)rWr}rXr(h UTransport, Inner MembranerYrh }rZr(j Gh)r[r}r\r(hNhNhUethanesulfonater]rh}r^rhUethso3_cr_rhUEhJhGhh)r`r}rar(hNhUC2H5O3Srbrh}rcrh"}rdrh$}rer(UHKUCKUSKUOKuhjbrubh&Uch"}rfrh(h)]RrgrubG?j>G?j-G?jG?j4Gh)rhr}rir(hNhNhUethanesulfonaterjrh}rkrhUethso3_prlrhUEhJhGhh)rmr}rnr(hNhUC2H5O3Srorh}rprh"}rqrh$}rrr(UHKUCKUSKUOKuhjorubh&Uph"}rsrh(h)]RrtrubGuhNhU4ethanesulfonate transport via ABC system (periplasm)rurh,G@@h-Gh}rvrh/h)]rwr(jQjQjQeRrxrhU ETHSO3abcppryrh2Gh3h4hNh5U(b0936 and b0933 and b0934)rzrh"}r{rh7Nubh)r|r}r}r(h UTransport, Outer Membrane Porinr~rh }rr(jGjhrG?uhNhUDethanesulfonate transport via diffusion (extracellular to periplasm)rrh,G@@h-G@h}rrh/h)]rr(j!j!j!j!eRrrhU ETHSO3texrrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rrh"}rrh7Nubh)rr}rr(h UTransport, Outer Membrane Porinrrh }rr(h)rr}rr(hNhNhUEthanolrrh}rrhUetoh_prrhUEhKhGhh)rr}rr(hNhUC2H6Orrh}rrh"}rrh$}rr(UHKUCKUOKuhjrubh&Uph"}rrh(h)]RrrubG?jGuhNhUG?jU-Gj4GuhNhUfatty-acyl-ACP hydrolaser sh,G@@h-Gh}r sh/h)]r sj!)r s}rs(hNj!KhNhUb0404rsh}rsj!hjshNhNj!Kh&Nh"}rsj!U+h(h)]RrsubaRrshU FA100ACPHirsh2Gh3h4hNh5jsh"}rsh7Nubh)rs}rs(h UCell Envelope Biosynthesisrsh }rs(j-Gj>G?j$-G?j%G?j4GuhNhUfatty-acyl-ACP hydrolasersh,G@@h-Gh}rsh/h)]rsj saRrshU FA120ACPHirsh2Gh3h4hNh5Ub0404rsh"}r sh7Nubh)r!s}r"s(h UCell Envelope Biosynthesisr#sh }r$s(j-Gj$-G?j>G?j4Gj%G?uhNhUfatty-acyl-ACP hydrolaser%sh,G@@h-Gh}r&sh/h)]r'sj saRr(shU FA140ACPHir)sh2Gh3h4hNh5Ub0404r*sh"}r+sh7Nubh)r,s}r-s(h UCell Envelope Biosynthesisr.sh }r/s(j$-G?j-Gj>G?j&G?j4GuhNhUfatty-acyl-ACP hydrolaser0sh,G@@h-Gh}r1sh/h)]r2sj saRr3shU FA141ACPHir4sh2Gh3h4hNh5Ub0404r5sh"}r6sh7Nubh)r7s}r8s(h UCell Envelope Biosynthesisr9sh }r:s(j$-G?j>G?j&G?j4Gj-GuhNhUfatty-acyl-ACP hydrolaser;sh,G@@h-Gh}rshU FA160ACPHir?sh2Gh3h4hNh5Ub0404r@sh"}rAsh7Nubh)rBs}rCs(h UCell Envelope BiosynthesisrDsh }rEs(j7&G?j>G?j-Gj$-G?j4GuhNhUfatty-acyl-ACP hydrolaserFsh,G@@h-Gh}rGsh/h)]rHsj saRrIshU FA161ACPHirJsh2Gh3h4hNh5Ub0404rKsh"}rLsh7Nubh)rMs}rNs(h UCell Envelope BiosynthesisrOsh }rPs(j-Gj0G?j>G?j$-G?j4GuhNhUfatty-acyl-ACP hydrolaserQsh,G@@h-Gh}rRsh/h)]rSsj saRrTshU FA80ACPHirUsh2Gh3h4hNh5Ub0404rVsh"}rWsh7Nubh)rXs}rYs(h UCell Envelope BiosynthesisrZsh }r[s(j0G?jT3Gj>G?jG?j4GuhNhU'fatty-acid-CoA thioesterase (decanoate)r\sh,G@@h-Gh}r]sh/h)]r^sj!)r_s}r`s(hNj!KhNhUb0452rash}rbsj!hjashNhNj!Kh&Nh"}rcsj!U+h(h)]RrdsubaRreshU FACOAE100rfsh2Gh3h4hNh5jash"}rgsh7Nubh)rhs}ris(h UCell Envelope Biosynthesisrjsh }rks(jy3Gj%G?j>G?jG?j4GuhNhU)fatty-acid-CoA thioesterase (dodecanoate)rlsh,G@@h-Gh}rmsh/h)]rnsj_saRroshU FACOAE120rpsh2Gh3h4hNh5Ub0452rqsh"}rrsh7Nubh)rss}rts(h UCell Envelope Biosynthesisrush }rvs(j3Gj>G?j%G?jG?j4GuhNhU,fatty-acid-CoA thioesterase (tetradecanoate)rwsh,G@@h-Gh}rxsh/h)]rysj_saRrzshU FACOAE140r{sh2Gh3h4hNh5Ub0452r|sh"}r}sh7Nubh)r~s}rs(h UCell Envelope Biosynthesisrsh }rs(j>G?jG?j4Gj]Gj&G?uhNhU,fatty-acid-CoA thioesterase (tetradecenoate)rsh,G@@h-Gh}rsh/h)]rsj_saRrshU FACOAE141rsh2Gh3h4hNh5Ub0452rsh"}rsh7Nubh)rs}rs(h UCell Envelope Biosynthesisrsh }rs(j3Gj>G?jG?j4Gj&G?uhNhU+fatty-acid-CoA thioesterase (hexadecanoate)rsh,G@@h-Gh}rsh/h)]rsj_saRrshU FACOAE160rsh2Gh3h4hNh5Ub0452rsh"}rsh7Nubh)rs}rs(h UCell Envelope Biosynthesisrsh }rs(j ]Gj>G?jG?j4Gj7&G?uhNhU+fatty-acid-CoA thioesterase (hexadecenoate)rsh,G@@h-Gh}rsh/h)]rsj_saRrshU FACOAE161rsh2Gh3h4hNh5Ub0452rsh"}rsh7Nubh)rs}rs(h UCell Envelope Biosynthesisrsh }rs(j8Gj>G?j\&G?j4GjG?uhNhU+fatty-acid-CoA thioesterase (octadecanoate)rsh,G@@h-Gh}rsh/h)]rsj_saRrshU FACOAE180rsh2Gh3h4hNh5Ub0452rsh"}rsh7Nubh)rs}rs(h UCell Envelope Biosynthesisrsh }rs(jt&G?j>G?j8]Gj4GjG?uhNhU+fatty-acid-CoA thioesterase (octadecenoate)rsh,G@@h-Gh}rsh/h)]rsj_saRrshU FACOAE181rsh2Gh3h4hNh5Ub0452rsh"}rsh7Nubh)rs}rs(h UCell Envelope Biosynthesisrsh }rs(j 3Gh)rs}rs(hNhNhUHexanoate (n-C6:0)rsh}rshUhxa_crshUEhJhGhh)rs}rs(hNhUC6H11O2rsh}rsh"}rsh$}rs(UHK UCKUOKuhjsubh&Uch"}rsh(h)]RrsubG?j4Gj>G?jG?uhNhU'fatty-acid-CoA thioesterase (hexanoate)rsh,G@@h-Gh}rsh/h)]rsj_saRrshUFACOAE60rsh2Gh3h4hNh5Ub0452rsh"}rsh7Nubh)rs}rs(h UCell Envelope Biosynthesisrsh }rs(j0G?j>G?jG?j4Gj"3GuhNhU'fatty-acid-CoA thioesterase (octanoate)rsh,G@@h-Gh}rsh/h)]rsj_saRrshUFACOAE80rsh2Gh3h4hNh5Ub0452rsh"}rsh7Nubh)rs}rs(h UCell Envelope Biosynthesisrsh }rs(j Gj&cGj>G?jT3G?j"GjGjTG?j%G?uhNhUFfatty-acid-CoA ligase (decanoate transport via vectoral Co-A coupling)rsh,G@@h-Gh}rsh/h)]rs(j!)rs}rs(hNj!KhNhUb1805rsh}rsj!hjshNhNj!Kh&Nh"}rsj!U+h(h)]Rrsubj!)rs}rs(hNj!KhNhUb1701rsh}rsj!hjshNhNj!Kh&Nh"}rsj!U+h(h)]RrsubeRrshU FACOAL100t2pprsh2Gh3h4hNh5U(b1805 or b1701)rsh"}rsh7Nubh)rs}rs(h UCell Envelope Biosynthesisrsh }rs(j Gjy3G?j>G?j"Gj%G?jTG?jGjcGuhNhUHfatty-acid-CoA ligase (dodecanoate transport via vectoral Co-A coupling)rsh,G@@h-Gh}rsh/h)]rs(jsjseRrshU FACOAL120t2pprsh2Gh3h4hNh5U(b1701 or b1805)rsh"}rsh7Nubh)rs}rs(h UCell Envelope Biosynthesisrsh }rs(j3G?jTG?h)rs}rs(hNhNhUtetradecanoate (n-C14:0)rth}rthUttdca_prthUEhJhGhh)rt}rt(hNhUC14H27O2rth}rth"}rth$}rt(UHKUCKUOKuhjtubh&Uph"}r th(h)]Rr tubGj>G?j"Gj Gj%G?jGuhNhUKfatty-acid-CoA ligase (tetradecanoate transport via vectoral Co-A coupling)r th,G@@h-Gh}r th/h)]r t(jsjseRrthU FACOAL140t2pprth2Gh3h4hNh5U(b1701 or b1805)rth"}rth7Nubh)rt}rt(h UCell Envelope Biosynthesisrth }rt(j GjTG?j"Gj%G?j>G?jGh)rt}rt(hNhNhUtetradecenoate (n-C14:1)rth}rthUttdcea_prthUEhJhGhh)rt}rt(hNhUC14H25O2rth}rth"}rth$}r t(UHKUCKUOKuhjtubh&Uph"}r!th(h)]Rr"tubGj]G?uhNhUKfatty-acid-CoA ligase (tetradecenoate transport via vectoral Co-A coupling)r#th,G@@h-Gh}r$th/h)]r%t(jsjseRr&thU FACOAL141t2ppr'th2Gh3h4hNh5U(b1701 or b1805)r(th"}r)th7Nubh)r*t}r+t(h UCell Envelope Biosynthesisr,th }r-t(j%G?j Gj>G?j"Gh)r.t}r/t(hNhNhUHexadecanoate (n-C16:0)r0th}r1thUhdca_pr2thUEhJhGhh)r3t}r4t(hNhUC16H31O2r5th}r6th"}r7th$}r8t(UHKUCKUOKuhj5tubh&Uph"}r9th(h)]Rr:tubGjTG?jGj3G?uhNhUJfatty-acid-CoA ligase (hexadecanoate transport via vectoral Co-A coupling)r;th,G@@h-Gh}rthU FACOAL160t2ppr?th2Gh3h4hNh5U(b1701 or b1805)r@th"}rAth7Nubh)rBt}rCt(h UCell Envelope BiosynthesisrDth }rEt(j Gj>G?j ]G?j"Gh)rFt}rGt(hNhNhUHexadecenoate (n-C16:1)rHth}rIthUhdcea_prJthUEhJhGhh)rKt}rLt(hNhUC16H29O2rMth}rNth"}rOth$}rPt(UHKUCKUOKuhjMtubh&Uph"}rQth(h)]RrRtubGjTG?jGj%G?uhNhUJfatty-acid-CoA ligase (hexadecenoate transport via vectoral Co-A coupling)rSth,G@@h-Gh}rTth/h)]rUt(jsjseRrVthU FACOAL161t2pprWth2Gh3h4hNh5U(b1805 or b1701)rXth"}rYth7Nubh)rZt}r[t(h UCell Envelope Biosynthesisr\th }r]t(j GjTG?j"Gj8G?h)r^t}r_t(hNhNhUoctadecanoate (n-C18:0)r`th}rathUocdca_prbthUEhJhGhh)rct}rdt(hNhUC18H35O2reth}rfth"}rgth$}rht(UHK#UCKUOKuhjetubh&Uph"}rith(h)]RrjtubGj>G?j%G?jGuhNhUJfatty-acid-CoA ligase (octadecanoate transport via vectoral Co-A coupling)rkth,G@@h-Gh}rlth/h)]rmt(jsjseRrnthU FACOAL180t2pproth2Gh3h4hNh5U(b1701 or b1805)rpth"}rqth7Nubh)rrt}rst(h UCell Envelope Biosynthesisrtth }rut(j GjTG?j>G?j"Gj8]G?jGj%G?h)rvt}rwt(hNhNhUoctadecenoate (n-C18:1)rxth}rythUocdcea_przthUEhJhGhh)r{t}r|t(hNhUC18H33O2r}th}r~th"}rth$}rt(UHK!UCKUOKuhj}tubh&Uph"}rth(h)]RrtubGuhNhUJfatty-acid-CoA ligase (octadecenoate transport via vectoral Co-A coupling)rth,G@@h-Gh}rth/h)]rt(jsjseRrthU FACOAL181t2pprth2Gh3h4hNh5U(b1805 or b1701)rth"}rth7Nubh)rt}rt(h UCell Envelope Biosynthesisrth }rt(j GjTG?h)rt}rt(hNhNhUHexanoate (n-C6:0)rth}rthUhxa_prthUEhJhGhh)rt}rt(hNhUC6H11O2rth}rth"}rth$}rt(UHK UCKUOKuhjtubh&Uph"}rth(h)]RrtubGj"Gj%G?j>G?j 3G?jGuhNhUFfatty-acid-CoA ligase (hexanoate transport via vectoral Co-A coupling)rth,G@@h-Gh}rth/h)]rt(jsjseRrthU FACOAL60t2pprth2Gh3h4hNh5U(b1805 or b1701)rth"}rth7Nubh)rt}rt(h UCell Envelope Biosynthesisrth }rt(j Gj>G?h)rt}rt(hNhNhUoctanoate (n-C8:0)rth}rthUocta_prthUEhJhGhh)rt}rt(hNhUC8H15O2rth}rth"}rth$}rt(UHKUCKUOKuhjtubh&Uph"}rth(h)]RrtubGj%G?jTG?jGj"3G?j"GuhNhUFfatty-acid-CoA ligase (octanoate transport via vectoral Co-A coupling)rth,G@@h-Gh}rth/h)]rt(jsjseRrthU FACOAL80t2pprth2Gh3h4hNh5U(b1805 or b1701)rth"}rth7Nubh)rt}rt(h U*Cofactor and Prosthetic Group Biosynthesisrth }rt(j7G?jG?jGj>GjGuhNhU FAD reductaserth,G@@h-Gh}rth/h)]rtj!)rt}rt(hNj!KhNhUb3844rth}rtj!hjthNhNj!Kh&Nh"}rtj!U+h(h)]RrtubaRrthUFADRxrth2Gh3h4hNh5jth"}rth7Nubh)rt}rt(h U*Cofactor and Prosthetic Group Biosynthesisrth }rt(j7G?jCGj)G?jGj>GuhNhU FAD reductaserth,G@@h-Gh}rth/h)]rt(j!)rt}rt(hNj!KhNhUb2764rth}rtj!hjthNhNj!Kh&Nh"}rtj!U+h(h)]Rrtubj!)rt}rt(hNj!KhNhUb2763rth}rtj!hjthNhNj!Kh&Nh"}rtj!U+h(h)]RrtubeRrthUFADRx2rth2Gh3h4hNh5U(b2763 and b2764)rth"}rth7Nubh)rt}rt(h U*Cofactor and Prosthetic Group Biosynthesisrth }rt(jG?jGj>G?h)rt}rt(hNhNhUhydroxymethylglutathionerth}rthUhmgth_crthUEhJhGhh)rt}rt(hNhU C11H18N3O7Srth}rth"}rth$}rt(UHKUCK USKUOKUNKuhjtubh&Uch"}rth(h)]RrtubGh)rt}rt(hNhNhUS-Formylglutathionerth}rthU Sfglutth_crthUEhJhGhh)rt}rt(hNhU C11H16N3O7Srth}rth"}rth$}rt(UHKUCK USKUOKUNKuhjtubh&Uch"}rth(h)]RrtubG?uhNhUformaldehyde dehydrogenaserth,G@@h-G@h}ruh/h)]rujCaRruhUFALDH2ruh2Gh3h4hNh5Ub0356ruh"}ruh7Nubh)ru}ru(h UTransport, Outer Membrane Porinruh }r u(jGh)r u}r u(hNhNhU Formaldehyder uh}r uhUfald_pruhUEhKhGhh)ru}ru(hNhUCH2Oruh}ruh"}ruh$}ru(UHKUCKUOKuhjuubh&Uph"}ruh(h)]RruubG?uhNhUAformaldehyde transport via diffusion (extracellular to periplasm)ruh,G@@h-G@h}ruh/h)]ru(j!j!j!j!eRruhUFALDtexruh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)ruh"}ruh7Nubh)ru}ru(h UTransport, Inner Membraner uh }r!u(h)r"u}r#u(hNhNhU Formaldehyder$uh}r%uhUfald_cr&uhUEhKhGhh)r'u}r(u(hNhUCH2Or)uh}r*uh"}r+uh$}r,u(UHKUCKUOKuhj)uubh&Uch"}r-uh(h)]Rr.uubG?j uGuhNhU0formaldehyde transport via diffusion (periplasm)r/uh,G@@h-G@h}r0uh/h)]r1ujB4aRr2uhUFALDtppr3uh2Gh3h4hNh5Us0001r4uh"}r5uh7Nubh)r6u}r7u(h U*Cofactor and Prosthetic Group Biosynthesisr8uh }r9u(j"uGjwGjtG?uhNhU-formaldehyde glutathione ligase (spontaneous)r:uh,G@@h-G@h}r;uh/h)]ruh2Gh3h4hNh5Us0001r?uh"}r@uh7Nubh)rAu}rBu(h UGlycolysis/GluconeogenesisrCuh }rDu(jeG?h)rEu}rFu(hNhNhUD-Fructose 1,6-bisphosphaterGuh}rHuhUfdp_crIuhUEhJhGhh)rJu}rKu(hNhU C6H10O12P2rLuh}rMuh"}rNuh$}rOu(UHK UCKUOK UPKuhjLuubh&Uch"}rPuh(h)]RrQuubGj~dG?uhNhUfructose-bisphosphate aldolaserRuh,G@@h-G@h}rSuh/h)]rTu(j!)rUu}rVu(hNj!KhNhUb2925rWuh}rXuj!hjWuhNhNj!Kh&Nh"}rYuj!U+h(h)]RrZuubj!)r[u}r\u(hNj!KhNhUb1773r]uh}r^uj!hj]uhNhNj!Kh&Nh"}r_uj!U+h(h)]Rr`uubj!)rau}rbu(hNj!KhNhUb2097rcuh}rduj!hjcuhNhNj!Kh&Nh"}reuj!U+h(h)]RrfuubeRrguhUFBArhuh2Gh3h4hNh5U(b2097 or b1773 or b2925)riuh"}rjuh7Nubh)rku}rlu(h UPentose Phosphate Pathwayrmuh }rnu(jeG?h)rou}rpu(hNhNhUSedoheptulose 1,7-bisphosphaterquh}rruhUs17bp_crsuhUEhJhGhh)rtu}ruu(hNhU C7H12O13P2rvuh}rwuh"}rxuh$}ryu(UHK UCKUOK UPKuhjvuubh&Uch"}rzuh(h)]Rr{uubGjGdG?uhNhUASedoheptulose 1,7-bisphosphate D-glyceraldehyde-3-phosphate-lyaser|uh,G@@h-G@h}r}uh/h)]r~ujUuaRruhUFBA3ruh2Gh3h4hNh5Ub2925ruh"}ruh7Nubh)ru}ru(h UGlycolysis/Gluconeogenesisruh }ru(jWEG?jEuGjG?j4GuhNhUfructose-bisphosphataseruh,G@@h-Gh}ruh/h)]ru(j!)ru}ru(hNj!KhNhUb4232ruh}ruj!hjuhNhNj!Kh&Nh"}ruj!U+h(h)]Rruubj!)ru}ru(hNj!KhNhUb3925ruh}ruj!hjuhNhNj!Kh&Nh"}ruj!U+h(h)]Rruubj!)ru}ru(hNj!KhNhUb2930ruh}ruj!hjuhNhNj!Kh&Nh"}ruj!U+h(h)]RruubeRruhUFBPruh2Gh3h4hNh5U(b3925 or b4232 or b2930)ruh"}ruh7Nubh)ru}ru(h UAlternate Carbon Metabolismruh }ru(h)ru}ru(hNhNhU L-fuculoseruh}ruhUfcl__L_cruhUEhKhGhh)ru}ru(hNhUC6H12O5ruh}ruh"}ruh$}ru(UHK UCKUOKuhjuubh&Uch"}ruh(h)]RruubG?h)ru}ru(hNhNhUL-Fucoseruh}ruhUfuc__L_cruhUEhKhGhh)ru}ru(hNhUC6H12O5ruh}ruh"}ruh$}ru(UHK UCKUOKuhjuubh&Uch"}ruh(h)]RruubGuhNhUL-fucose isomeraseruh,G@@h-G@h}ruh/h)]ruj!)ru}ru(hNj!KhNhUb2802ruh}ruj!hjuhNhNj!Kh&Nh"}ruj!U+h(h)]RruubaRruhUFCIruh2Gh3h4hNh5juh"}ruh7Nubh)ru}ru(h UAlternate Carbon Metabolismruh }ru(j Gj-G?j>G?h)ru}ru(hNhNhUL-Fuculose 1-phosphateruh}ruhUfc1p_cruhUEhJhGhh)ru}ru(hNhUC6H11O8Pruh}ruh"}ruh$}ru(UHK UCKUOKUPKuhjuubh&Uch"}ruh(h)]RruubG?juGuhNhUL-fuculokinaseruh,G@@h-Gh}ruh/h)]ruj!)ru}ru(hNj!KhNhUb2803ruh}ruj!hjuhNhNj!Kh&Nh"}ruj!U+h(h)]RruubaRruhUFCLKruh2Gh3h4hNh5juh"}ruh7Nubh)ru}ru(h UAlternate Carbon Metabolismruh }ru(juGjeG?h)ru}ru(hNhNhUL-Lactaldehyderuh}ruhU lald__L_cruhUEhKhGhh)ru}ru(hNhUC3H6O2ruh}ruh"}ruh$}ru(UHKUCKUOKuhjuubh&Uch"}ruh(h)]RruubG?uhNhUL-fuculose 1-phosphate aldolaseruh,G@@h-G@h}ruh/h)]ru(j!)ru}ru(hNj!KhNhUb2800ruh}ruj!hjuhNhNj!Kh&Nh"}ruj!U+h(h)]Rrvubj!)rv}rv(hNj!KhNhUb2738rvh}rvj!hjvhNhNj!Kh&Nh"}rvj!U+h(h)]RrvubeRrvhUFCLPArvh2Gh3h4hNh5U(b2738 or b2800)r vh"}r vh7Nubh)r v}r v(h U*Cofactor and Prosthetic Group Biosynthesisr vh }rv(j6Gh)rv}rv(hNhNhUProtoporphyrinrvh}rvhUppp9_crvhUEhJhGhh)rv}rv(hNhU C34H32N4O4rvh}rvh"}rvh$}rv(UHK UCK"UOKUNKuhjvubh&Uch"}rvh(h)]RrvubGj:G?j>G@uhNhUFerrochelataservh,G@@h-Gh}rvh/h)]rvj!)rv}r v(hNj!KhNhUb0475r!vh}r"vj!hj!vhNhNj!Kh&Nh"}r#vj!U+h(h)]Rr$vubaRr%vhUFCLTr&vh2Gh3h4hNh5j!vh"}r'vh7Nubh)r(v}r)v(h UOxidative Phosphorylationr*vh }r+v(jVKG?j>Gj"G?jNGjG?h)r,v}r-v(hNhNhUFormater.vh}r/vhUfor_pr0vhUEhJhGhh)r1v}r2v(hNhUCH1O2r3vh}r4vh"}r5vh$}r6v(UHKUCKUOKuhj3vubh&Uph"}r7vh(h)]Rr8vubGuhNhU-formate dehydrogenase (quinone-8) (periplasm)r9vh,G@@h-Gh}r:vh/h)]r;v(j!)rvh}r?vj!hj>vhNhNj!Kh&Nh"}r@vj!U+h(h)]RrAvubj!)rBv}rCv(hNj!KhNhUb3893rDvh}rEvj!hjDvhNhNj!Kh&Nh"}rFvj!U+h(h)]RrGvubj!)rHv}rIv(hNj!KhNhUb3894rJvh}rKvj!hjJvhNhNj!Kh&Nh"}rLvj!U+h(h)]RrMvubj!)rNv}rOv(hNj!KhNhUb1474rPvh}rQvj!hjPvhNhNj!Kh&Nh"}rRvj!U+h(h)]RrSvubj!)rTv}rUv(hNj!KhNhUb1476rVvh}rWvj!hjVvhNhNj!Kh&Nh"}rXvj!U+h(h)]RrYvubj!)rZv}r[v(hNj!KhNhUb3892r\vh}r]vj!hj\vhNhNj!Kh&Nh"}r^vj!U+h(h)]Rr_vubeRr`vhUFDH4ppravh2Gh3h4hNh5U<((b3892 and b3893 and b3894) or (b1474 and b1475 and b1476))rbvh"}rcvh7Nubh)rdv}rev(h UOxidative Phosphorylationrfvh }rgv(jVKG?jG?j"G?j>GjDNGj,vGuhNhU1Formate Dehydrogenase (menaquinone-8) (periplasm)rhvh,G@@h-Gh}rivh/h)]rjv(jG?jygG?jJGj4G?j]G?uhNhUFMNH2-dependent monooxygenaservh,G@@h-Gh}rvh/h)]rvj!)rv}rv(hNj!KhNhUb0935rvh}rvj!hjvhNhNj!Kh&Nh"}rvj!U+h(h)]RrvubaRrvhUFDMOrvh2Gh3h4hNh5jvh"}rvh7Nubh)rv}rv(h U&Inorganic Ion Transport and Metabolismrvh }rv(h)rv}rv(hNhNhUmethanesulfonatervh}rvhUmso3_crvhUEhJhGhh)rv}rv(hNhUCH3O3Srvh}rvh"}rvh$}rv(UHKUCKUSKUOKuhjvubh&Uch"}rvh(h)]RrvubGj>G?j"uG?jJG?j*Gj]G?jJGj4G?uhNhU0FMNH2-dependent monooxygenase (methanesulfonate)rvh,G@@h-Gh}rvh/h)]rvjvaRrvhUFDMO2rvh2Gh3h4hNh5Ub0935rvh"}rvh7Nubh)rv}rv(h U&Inorganic Ion Transport and Metabolismrvh }rv(j[rGjJG?j*Gj>G?j4G?j]G?j4G?jJGuhNhU/FMNH2-dependent monooxygenase (ethanesulfonate)rvh,G@@h-Gh}rvh/h)]rvjvaRrvhUFDMO3rvh2Gh3h4hNh5Ub0935rvh"}rvh7Nubh)rv}rv(h U&Inorganic Ion Transport and Metabolismrvh }rv(j>G?j*GjyQGjJG?jJGj]G?jDG?j4G?uhNhU/FMNH2-dependent monooxygenase (butanesulfonate)rvh,G@@h-Gh}rvh/h)]rvjvaRrvhUFDMO4rvh2Gh3h4hNh5Ub0935rvh"}rvh7Nubh)rv}rv(h U&Inorganic Ion Transport and Metabolismrvh }rv(h)rv}rv(hNhNhU sulfoacetatervh}rvhUsulfac_crvhUEhJhGhh)rv}rv(hNhUC2H2O5Srvh}rvh"}rvh$}rv(UHKUCKUSKUOKuhjvubh&Uch"}rvh(h)]RrvubGjJG?h)rv}rv(hNhNhU Glyoxylatervh}rvhUglx_crvhUEhJhGhh)rv}rv(hNhUC2H1O3rvh}rvh"}rvh$}rv(UHKUCKUOKuhjvubh&Uch"}rvh(h)]RrvubG?j*Gj4G?j>G?jJGj]G?uhNhU,FMNH2-dependent monooxygenase (sulfoacetate)rvh,G@@h-Gh}rvh/h)]rvjvaRrvhUFDMO6rvh2Gh3h4hNh5Ub0935rvh"}rvh7Nubh)rv}rv(h U&Inorganic Ion Transport and Metabolismrvh }rv(j Gj-G?j4Gj>G?h)rv}rv(hNhNhUFe2+rvh}rvhUfe2_prvhUEhKhGhh)rv}rv(hNhUFervh}rvh"}rvh$}rvjvKshjvubh&Uph"}rvh(h)]RrvubGjG?j6G?uhNhU.iron (II) transport via ABC system (periplasm)rvh,G@@h-Gh}rvh/h)]rvj!)rv}rv(hNj!KhNhUb3409rvh}rvj!hjvhNhNj!Kh&Nh"}rvj!U+h(h)]RrvubaRrvhUFE2abcpprvh2Gh3h4hNh5jvh"}rvh7Nubh)rv}rv(h U&Inorganic Ion Transport and Metabolismrvh }rv(j>G?j"GjvGj6G?uhNhU5iron (II) transport in via proton symport (periplasm)rwh,G@@h-Gh}rwh/h)]rwj!)rw}rw(hNj!KhNhUb2392rwh}rwj!hjwhNhNj!Kh&Nh"}rwj!U+h(h)]RrwubaRr whUFE2t2ppr wh2Gh3h4hNh5jwh"}r wh7Nubh)r w}r w(h U&Inorganic Ion Transport and Metabolismrwh }rw(j6Gj"GjvG?j>G?uhNhU9iron (Fe+2) transport out via proton antiport (periplasm)rwh,G@@h-Gh}rwh/h)]rwjSaRrwhUFE2t3pprwh2Gh3h4hNh5Ub3915rwh"}rwh7Nubh)rw}rw(h UTransport, Outer Membrane Porinrwh }rw(jGjvG?uhNhU>iron (II) transport via diffusion (extracellular to periplasm)rwh,G@@h-G@h}rwh/h)]rw(j!j!j!j!eRrwhUFE2texrwh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r wh"}r!wh7Nubh)r"w}r#w(h U&Inorganic Ion Transport and Metabolismr$wh }r%w(jvGj6G?uhNhU+iron (+2) transport in via permease (no H+)r&wh,G@@h-Gh}r'wh/h)]r(wjSaRr)whUFE2tppr*wh2Gh3h4hNh5Ub3040r+wh"}r,wh7Nubh)r-w}r.w(h U&Inorganic Ion Transport and Metabolismr/wh }r0w(j9G@jhG?j-G?j Gj>G?j4GjG?h)r1w}r2w(hNhNhUFe(III)dicitrater3wh}r4whU fe3dcit_pr5whUEhJhGhh)r6w}r7w(hNhU C12H10FeO14r8wh}r9wh"}r:wh$}r;w(UHK UCK UFeKUOKuhj8wubh&Uph"}rwh,G@@h-Gh}r?wh/h)]r@w(j!)rAw}rBw(hNj!KhNhUb4287rCwh}rDwj!hjCwhNhNj!Kh&Nh"}rEwj!U+h(h)]RrFwubj!)rGw}rHw(hNj!KhNhUb4289rIwh}rJwj!hjIwhNhNj!Kh&Nh"}rKwj!U+h(h)]RrLwubj!)rMw}rNw(hNj!KhNhUb4290rOwh}rPwj!hjOwhNhNj!Kh&Nh"}rQwj!U+h(h)]RrRwubj!)rSw}rTw(hNj!KhNhUb4288rUwh}rVwj!hjUwhNhNj!Kh&Nh"}rWwj!U+h(h)]RrXwubeRrYwhU FE3DCITabcpprZwh2Gh3h4hNh5U%(b4290 and b4289 and b4288 and b4287)r[wh"}r\wh7Nubh)r]w}r^w(h UTransport, Outer Membraner_wh }r`w(j>G?j"Gj1wG?jGuhNhU9ferric-dicitrate transport via ton system (extracellular)rawh,G@@h-Gh}rbwh/h)]rcw(j!)rdw}rew(hNj!KhNhUb4291rfwh}rgwj!hjfwhNhNj!Kh&Nh"}rhwj!U+h(h)]Rriwubj=j=j=eRrjwhU FE3DCITtonexrkwh2Gh3h4hNh5U'(b4291 and (b1252 and b3005 and b3006))rlwh"}rmwh7Nubh)rnw}row(h U&Inorganic Ion Transport and Metabolismrpwh }rqw(j%fG?jhG?h)rrw}rsw(hNhNhU!ferric 2,3-dihydroxybenzoylserinertwh}ruwhU fe3dhbzs_crvwhUEhKhGhh)rww}rxw(hNhU C10H10NO6Ferywh}rzwh"}r{wh$}r|w(UHK UCK UFeKUOKUNKuhjywubh&Uch"}r}wh(h)]Rr~wubGuhNhU9release of Fe(III) from ferric 2,3-dihydroxybenzoylserinerwh,G@@h-Gh}rwh/h)]RrwhUFE3DHBZRrwh2Gh3h4hNh5Uh"}rwh7Nubh)rw}rw(h U&Inorganic Ion Transport and Metabolismrwh }rw(j Gj-G?jrwG?j>G?jG?h)rw}rw(hNhNhU!ferric 2,3-dihydroxybenzoylserinerwh}rwhU fe3dhbzs_prwhUEhKhGhh)rw}rw(hNhU C10H10NO6Ferwh}rwh"}rwh$}rw(UHK UCK UFeKUOKUNKuhjwubh&Uph"}rwh(h)]RrwubGj4GuhNhUFferric 2,3-dihydroxybenzoylserine transport via ABC system (periplasm)rwh,G@@h-Gh}rwh/h)]rw(j!)rw}rw(hNj!KhNhUb0589rwh}rwj!hjwhNhNj!Kh&Nh"}rwj!U+h(h)]Rrwubj!)rw}rw(hNj!KhNhUb0592rwh}rwj!hjwhNhNj!Kh&Nh"}rwj!U+h(h)]Rrwubj!)rw}rw(hNj!KhNhUb0590rwh}rwj!hjwhNhNj!Kh&Nh"}rwj!U+h(h)]Rrwubj!)rw}rw(hNj!KhNhUb0588rwh}rwj!hjwhNhNj!Kh&Nh"}rwj!U+h(h)]RrwubeRrwhU FE3DHBZSabcpprwh2Gh3h4hNh5U%(b0592 and b0588 and b0590 and b0589)rwh"}rwh7Nubh)rw}rw(h UTransport, Outer Membranerwh }rw(j>G?jGjwG?j"GuhNhUJferric 2,3-dihydroxybenzoylserine transport via ton system (extracellular)rwh,G@@h-Gh}rwh/h)]rw(j!)rw}rw(hNj!KhNhUb0805rwh}rwj!hjwhNhNj!Kh&Nh"}rwj!U+h(h)]Rrwubj=j!)rw}rw(hNj!KhNhUb2155rwh}rwj!hjwhNhNj!Kh&Nh"}rwj!U+h(h)]Rrwubj=j=eRrwhU FE3DHBZStonexrwh2Gh3h4hNh5UT((b0805 and (b1252 and b3005 and b3006)) or (b2155 and (b1252 and b3005 and b3006)))rwh"}rwh7Nubh)rw}rw(h U&Inorganic Ion Transport and Metabolismrwh }rw(j7Gj>G@jG?h)rw}rw(hNhNhUFe(III)hydoxamate, unloadedrwh}rwhU fe3hox__un_crwhUEhJhGhh)rw}rw(hNhU C9H18O6N3rwh}rwh"}rwh$}rw(UHKUCK UOKUNKuhjwubh&Uch"}rwh(h)]RrwubG@h)rw}rw(hNhNhUFe(III)hydroxamaterwh}rwhUfe3hox_crwhUEhKhGhh)rw}rw(hNhU C9H18O6N3Ferwh}rwh"}rwh$}rw(UHKUCK UFeKUOKUNKuhjwubh&Uch"}rwh(h)]RrwubGj6G@uhNhUFe(III)hydroxamate reductaserwh,G@@h-Gh}rwh/h)]RrwhUFE3HOXR1rwh2Gh3h4hNh5Uh"}rwh7Nubh)rw}rw(h U&Inorganic Ion Transport and Metabolismrwh }rw(jJG?j6G@j>G@jJGjwG@jwGuhNhUFe(III)hydroxamate reductaserwh,G@@h-Gh}rwh/h)]RrwhUFE3HOXR2rwh2Gh3h4hNh5Uh"}rwh7Nubh)rw}rw(h U&Inorganic Ion Transport and Metabolismrwh }rw(j'G?jwG@j>G@jwGj2JGj6G@uhNhUFe(III)hydroxamate reductaserwh,G@@h-Gh}rwh/h)]RrwhUFE3HOXR3rwh2Gh3h4hNh5Uh"}rwh7Nubh)rx}rx(h U&Inorganic Ion Transport and Metabolismrxh }rx(j>G?j"Gh)rx}rx(hNhNhUFe(III)hydoxamate, unloadedrxh}rxhU fe3hox__un_prxhUEhJhGhh)r x}r x(hNhU C9H18O6N3r xh}r xh"}r xh$}rx(UHKUCK UOKUNKuhj xubh&Uph"}rxh(h)]RrxubG?jwGuhNhU%Fe(III)hydroxamate unloaded secretionrxh,G@@h-Gh}rxh/h)]RrxhU FE3HOXUtexrxh2Gh3h4hNh5Uh"}rxh7Nubh)rx}rx(h U&Inorganic Ion Transport and Metabolismrxh }rx(j>G?jEG?jxGj"GuhNhU5Fe(III)hydroxamate unloaded secretion (extracellular)rxh,G@@h-Gh}rxh/h)]RrxhU FE3HOXUtpprxh2Gh3h4hNh5Uh"}rxh7Nubh)rx}r x(h U&Inorganic Ion Transport and Metabolismr!xh }r"x(j Gh)r#x}r$x(hNhNhUFe(III)hydroxamater%xh}r&xhUfe3hox_pr'xhUEhKhGhh)r(x}r)x(hNhU C9H18O6N3Fer*xh}r+xh"}r,xh$}r-x(UHKUCK UFeKUOKUNKuhj*xubh&Uph"}r.xh(h)]Rr/xubGj>G?jwG?j-G?j4GjG?uhNhU5ferric-dicitrate transport via ABC system (periplasm)r0xh,G@@h-Gh}r1xh/h)]r2x(jXJj^JjdJeRr3xhU FE3HOXabcppr4xh2Gh3h4hNh5U(b0153 and b0151 and b0152)r5xh"}r6xh7Nubh)r7x}r8x(h U&Inorganic Ion Transport and Metabolismr9xh }r:x(jGjEGj0G?uhNhU6Fe(III) hydroxamate Fe-loading reaction (spontaneaous)r;xh,G@@h-Gh}rxhU FE3HOXexsr?xh2Gh3h4hNh5Us0001r@xh"}rAxh7Nubh)rBx}rCx(h UTransport, Outer MembranerDxh }rEx(j>G?j"Gj#xG?j0GuhNhU;Fe(III)hydroxamine transport via ton system (extracellular)rFxh,G@@h-Gh}rGxh/h)]rHx(j=j=j!)rIx}rJx(hNj!KhNhUb0150rKxh}rLxj!hjKxhNhNj!Kh&Nh"}rMxj!U+h(h)]RrNxubj=eRrOxhU FE3HOXtonexrPxh2Gh3h4hNh5U'(b0150 and (b1252 and b3005 and b3006))rQxh"}rRxh7Nubh)rSx}rTx(h U*Cofactor and Prosthetic Group BiosynthesisrUxh }rVx(j7GjhGjG?j>G@j6G@uhNhUFe(III) reductionrWxh,G@@h-Gh}rXxh/h)]rYxjtaRrZxhUFE3Rir[xh2Gh3h4hNh5Ub3844r\xh"}r]xh7Nubh)r^x}r_x(h U&Inorganic Ion Transport and Metabolismr`xh }rax(j GjhG?j>G?j-G?jG?h)rbx}rcx(hNhNhUFe3+rdxh}rexhUfe3_prfxhUEhKhGhh)rgx}rhx(hNhUFerixh}rjxh"}rkxh$}rlxjixKshjixubh&Uph"}rmxh(h)]RrnxubGj4GuhNhUG@h)rx}rx(hNhNhUFerrichrome minus Fe(III)rxh}rxhU fecrm__un_crxhUEhJhGhh)rx}rx(hNhU C27H42N9O12rxh}rxh"}rxh$}rx(UHK*UCKUOK UNK uhjxubh&Uch"}rxh(h)]RrxubG@j6G@uhNhUFerrichrome reductaserxh,G@@h-Gh}rxh/h)]RrxhUFECRMR1rxh2Gh3h4hNh5Uh"}rxh7Nubh)rx}rx(h U&Inorganic Ion Transport and Metabolismrxh }rx(jxGjJG?j>G@jxG@jJGj6G@uhNhUFerrichrome reductaserxh,G@@h-Gh}rxh/h)]RrxhUFECRMR2rxh2Gh3h4hNh5Uh"}rxh7Nubh)rx}rx(h U&Inorganic Ion Transport and Metabolismrxh }rx(jxGjxG@j>G@j2JGj6G@j'G?uhNhUFerrichrome reductaserxh,G@@h-Gh}rxh/h)]RrxhUFECRMR3rxh2Gh3h4hNh5Uh"}rxh7Nubh)rx}rx(h U&Inorganic Ion Transport and Metabolismrxh }rx(j>G?j"GjoG?h)rx}rx(hNhNhUFerrichrome minus Fe(III)rxh}rxhU fecrm__un_prxhUEhJhGhh)rx}rx(hNhU C27H42N9O12rxh}rxh"}rxh$}rx(UHK*UCKUOK UNK uhjxubh&Uph"}rxh(h)]RrxubGuhNhU3ferrichrome (minus Fe) secretion (to extracellular)rxh,G@@h-Gh}rxh/h)]RrxhU FECRMUtexrxh2Gh3h4hNh5Uh"}rxh7Nubh)rx}rx(h U&Inorganic Ion Transport and Metabolismrxh }rx(j>G?j"GjxG?jxGuhNhU/ferrichrome (minus Fe) secretion (to periplasm)rxh,G@@h-Gh}rxh/h)]RrxhU FECRMUtpprxh2Gh3h4hNh5Uh"}rxh7Nubh)rx}rx(h U&Inorganic Ion Transport and Metabolismrxh }rx(j Gh)rx}rx(hNhNhU Ferrichromerxh}rxhUfecrm_prxhUEhKhGhh)rx}rx(hNhU C27H42FeN9O12rxh}rxh"}rxh$}rx(UHK*UCKUFeKUOK UNK uhjxubh&Uph"}rxh(h)]RrxubGjxG?j>G?j4Gj-G?jG?uhNhU0ferrichrome transport via ABC system (periplasm)rxh,G@@h-Gh}rxh/h)]rx(jXJj^JjdJeRrxhU FECRMabcpprxh2Gh3h4hNh5U(b0153 and b0151 and b0152)rxh"}rxh7Nubh)rx}rx(h U&Inorganic Ion Transport and Metabolismrxh }rx(jGjZG?joGuhNhU2ferrichrome Fe(III)-loading reaction (spontaneous)rxh,G@@h-Gh}rxh/h)]rxjB4aRrxhUFECRMexsrxh2Gh3h4hNh5Us0001rxh"}rxh7Nubh)rx}rx(h UTransport, Outer Membranerxh }rx(j>G?j"GjZGjxG?uhNhU4ferrichrome transport via ton system (extracellular)rxh,G@@h-Gh}rxh/h)]rx(jIxj=j=j=eRrxhU FECRMtonexrxh2Gh3h4hNh5U'(b0150 and (b1252 and b3005 and b3006))rxh"}ryh7Nubh)ry}ry(h U&Inorganic Ion Transport and Metabolismryh }ry(j7GjG?hG@jqGj>G@j6G@uhNhU-Fe-enterobactin reduction (Fe(III)-unloading)ryh,G@@h-Gh}ryh/h)]RryhU FEENTERR1ryh2Gh3h4hNh5Uh"}r yh7Nubh)r y}r y(h U&Inorganic Ion Transport and Metabolismr yh }r y(jJG?j6G@j>G@hG@jJGjqGuhNhU-Fe-enterobactin reduction (Fe(III)-unloading)ryh,G@@h-Gh}ryh/h)]RryhU FEENTERR2ryh2Gh3h4hNh5Uh"}ryh7Nubh)ry}ry(h U&Inorganic Ion Transport and Metabolismryh }ry(j'G?hG@j6G@j>G@j2JGjqGuhNhU-Fe-enterobactin reduction (Fe(III)-unloading)ryh,G@@h-Gh}ryh/h)]RryhU FEENTERR3ryh2Gh3h4hNh5Uh"}ryh7Nubh)ry}ry(h U&Inorganic Ion Transport and Metabolismryh }ry(h)r y}r!y(hNhNhUFe-enterobactinr"yh}r#yhU feenter_pr$yhUEhKhGhh)r%y}r&y(hNhU C30H27FeN3O15r'yh}r(yh"}r)yh$}r*y(UHKUCKUFeKUOKUNKuhj'yubh&Uph"}r+yh(h)]Rr,yubGj>G?j-G?j GjG?jqG?j4GuhNhU4Fe-enterobactin transport via ABC system (periplasm)r-yh,G@@h-Gh}r.yh/h)]r/y(jwjwjwjweRr0yhU FEENTERabcppr1yh2Gh3h4hNh5U%(b0592 and b0588 and b0590 and b0589)r2yh"}r3yh7Nubh)r4y}r5y(h U&Inorganic Ion Transport and Metabolismr6yh }r7y(jG?j^GjGuhNhU*enterobactin Fe(III) binding (spontaneous)r8yh,G@@h-Gh}r9yh/h)]r:yjB4aRr;yhU FEENTERexsryh7Nubh)r?y}r@y(h U&Inorganic Ion Transport and MetabolismrAyh }rBy(j>G?h)rCy}rDy(hNhNhU EnterochelinrEyh}rFyhUenter_prGyhUEhKhGhh)rHy}rIy(hNhU C30H27N3O15rJyh}rKyh"}rLyh$}rMy(UHKUCKUOKUNKuhjJyubh&Uph"}rNyh(h)]RrOyubGj^G?j"GuhNhU,enterochelin transport (secretion periplasm)rPyh,G@@h-Gh}rQyh/h)]rRyjCYaRrSyhU FEENTERtexrTyh2Gh3h4hNh5Ub3035rUyh"}rVyh7Nubh)rWy}rXy(h UTransport, Outer MembranerYyh }rZy(jGj"Gj>G?j yG?uhNhU8Fe-enterobactin transport via ton system (extracellular)r[yh,G@@h-Gh}r\yh/h)]r]y(j=j=j!)r^y}r_y(hNj!KhNhUb0584r`yh}rayj!hj`yhNhNj!Kh&Nh"}rbyj!U+h(h)]Rrcyubj=eRrdyhU FEENTERtonexreyh2Gh3h4hNh5U'(b0584 and (b1252 and b3005 and b3006))rfyh"}rgyh7Nubh)rhy}riy(h UTransport, Inner Membranerjyh }rky(hGj>G?j"GjCyG?uhNhU"enterochelin transport (secretion)rlyh,G@@h-Gh}rmyh/h)]rnyj!)roy}rpy(hNj!KhNhUb0591rqyh}rryj!hjqyhNhNj!Kh&Nh"}rsyj!U+h(h)]RrtyubaRruyhU FEENTERtpprvyh2Gh3h4hNh5jqyh"}rwyh7Nubh)rxy}ryy(h U&Inorganic Ion Transport and Metabolismrzyh }r{y(j7GjG?h)r|y}r}y(hNhNhU ferroxaminer~yh}ryhUfeoxam_cryhUEhKhGhh)ry}ry(hNhU C25H46FeN6O8ryh}ryh"}ryh$}ry(UHK.UCKUFeKUOKUNKuhjyubh&Uch"}ryh(h)]RryubGj>G@h)ry}ry(hNhNhUferroxamine minus Fe(3)ryh}ryhU feoxam__un_cryhUEhJhGhh)ry}ry(hNhU C25H46N6O8ryh}ryh"}ryh$}ry(UHK.UCKUOKUNKuhjyubh&Uch"}ryh(h)]RryubG@j6G@uhNhUferroxamine reductaseryh,G@@h-Gh}ryh/h)]ryj!)ry}ry(hNj!KhNhUb4367ryh}ryj!hjyhNhNj!Kh&Nh"}ryj!U+h(h)]RryubaRryhUFEOXAMR1ryh2Gh3h4hNh5jyh"}ryh7Nubh)ry}ry(h U&Inorganic Ion Transport and Metabolismryh }ry(j|yGjJG?jyG@jJGj>G@j6G@uhNhUferroxamine reductaseryh,G@@h-Gh}ryh/h)]ryjyaRryhUFEOXAMR2ryh2Gh3h4hNh5Ub4367ryh"}ryh7Nubh)ry}ry(h U&Inorganic Ion Transport and Metabolismryh }ry(j2JGj'G?j|yGj>G@jyG@j6G@uhNhUferroxamine reductaseryh,G@@h-Gh}ryh/h)]ryjyaRryhUFEOXAMR3ryh2Gh3h4hNh5Ub4367ryh"}ryh7Nubh)ry}ry(h U&Inorganic Ion Transport and Metabolismryh }ry(jG?j"Gj>G?h)ry}ry(hNhNhUferroxamine minus Fe(3)ryh}ryhU feoxam__un_pryhUEhJhGhh)ry}ry(hNhU C25H46N6O8ryh}ryh"}ryh$}ry(UHK.UCKUOKUNKuhjyubh&Uph"}ryh(h)]RryubGuhNhU4ferroxamine (minus Fe3) secretion (to extracellular)ryh,G@@h-Gh}ryh/h)]RryhU FEOXAMUtexryh2Gh3h4hNh5Uh"}ryh7Nubh)ry}ry(h U&Inorganic Ion Transport and Metabolismryh }ry(j>G?j"GjyGjyG?uhNhU0ferroxamine (minus Fe3) secretion (to periplasm)ryh,G@@h-Gh}ryh/h)]RryhU FEOXAMUtppryh2Gh3h4hNh5Uh"}ryh7Nubh)ry}ry(h U&Inorganic Ion Transport and Metabolismryh }ry(j Gj-G?j>G?jG?j4Gj|yG?h)ry}ry(hNhNhU ferroxamineryh}ryhUfeoxam_pryhUEhKhGhh)ry}ry(hNhU C25H46FeN6O8ryh}ryh"}ryh$}ry(UHK.UCKUFeKUOKUNKuhjyubh&Uph"}ryh(h)]RryubGuhNhU0ferroxamine transport via ABC system (periplasm)ryh,G@@h-Gh}ryh/h)]ry(jXJj^JjdJeRryhU FEOXAMabcppryh2Gh3h4hNh5U(b0153 and b0151 and b0152)ryh"}ryh7Nubh)ry}ry(h U&Inorganic Ion Transport and Metabolismryh }ry(jGjGjG?uhNhU.ferroxamine Fe3-loading reaction (spontaneous)ryh,G@@h-Gh}ryh/h)]ryjB4aRryhU FEOXAMexsryh2Gh3h4hNh5Us0001ryh"}ryh7Nubh)ry}ry(h UTransport, Outer Membraneryh }ry(jyG?j"Gj>G?jGuhNhU4ferroxamine transport via ton system (extracellular)ryh,G@@h-Gh}ryh/h)]rz(jIxj=j=j=eRrzhU FEOXAMtonexrzh2Gh3h4hNh5U'(b0150 and (b1252 and b3005 and b3006))rzh"}rzh7Nubh)rz}rz(h U&Inorganic Ion Transport and Metabolismrzh }rz(j"Gj#G@j.GjbxG@jvGuhNhU ferroxidaser zh,G@@h-Gh}r zh/h)]r zj}]aRr zhUFEROppr zh2Gh3h4hNh5Ub0123rzh"}rzh7Nubh)rz}rz(h U*Cofactor and Prosthetic Group Biosynthesisrzh }rz(jhG@j>Gh)rz}rz(hNhNhU$[3Fe-4S] damaged iron-sulfur clusterrzh}rzhU3fe4s_crzhUEhKhGhh)rz}rz(hNhUS4Fe3rzh}rzh"}rzh$}rz(USKUFeKuhjzubh&Uch"}rzh(h)]Rr zubG@j4G@jGj1GuhNhU2iron-sulfur cluster damage (peroxide, spontaneous)r!zh,G@@h-Gh}r"zh/h)]r#zjB4aRr$zhUFESD1sr%zh2Gh3h4hNh5Us0001r&zh"}r'zh7Nubh)r(z}r)z(h U*Cofactor and Prosthetic Group Biosynthesisr*zh }r+z(jhG@jzG@jGj>Gj4G?h)r,z}r-z(hNhNhU Nitrous oxider.zh}r/zhUn2o_cr0zhUEhKhGhh)r1z}r2z(hNhUN2Or3zh}r4zh"}r5zh$}r6z(UOKUNKuhj3zubh&Uch"}r7zh(h)]Rr8zubG?h)r9z}r:z(hNhNhU Nitric oxider;zh}rz}r?z(hNhUNOr@zh}rAzh"}rBzh$}rCz(UOKUNKuhj@zubh&Uch"}rDzh(h)]RrEzubGuhNhU7iron-sulfur cluster damage (nitrous oxide, spontaneous)rFzh,G@@h-Gh}rGzh/h)]rHzjB4aRrIzhUFESD2srJzh2Gh3h4hNh5Us0001rKzh"}rLzh7Nubh)rMz}rNz(h U*Cofactor and Prosthetic Group BiosynthesisrOzh }rPz(jzGj6GjG?uhNhUiron-sulfur cluster repairrQzh,G@@h-Gh}rRzh/h)]rSzj!)rTz}rUz(hNj!KhNhUb4209rVzh}rWzj!hjVzhNhNj!Kh&Nh"}rXzj!U+h(h)]RrYzubaRrZzhUFESRr[zh2Gh3h4hNh5jVzh"}r\zh7Nubh)r]z}r^z(h UAlternate Carbon Metabolismr_zh }r`z(j4GjrG?j1G?h)raz}rbz(hNhNhUSucrose 6-phosphaterczh}rdzhUsuc6p_crezhUEhJhGhh)rfz}rgz(hNhU C12H21O14Prhzh}rizh"}rjzh$}rkz(UHKUCK UOKUPKuhjhzubh&Uch"}rlzh(h)]RrmzubGuhNhUbeta-fructofuranosidasernzh,G@@h-Gh}rozh/h)]RrpzhUFFSDrqzh2Gh3h4hNh5Uh"}rrzh7Nubh)rsz}rtz(h UPyruvate Metabolismruzh }rvz(h)rwz}rxz(hNhNhUH2ryzh}rzzhUh2_cr{zhUEhKhGhh)r|z}r}z(hNhUH2r~zh}rzh"}rzh$}rzUHKshj~zubh&Uch"}rzh(h)]RrzubG?j>Gj -G?jHGGuhNhUFormate-hydrogen lyaserzh,Gh-Gh}rzh/h)]rz(j!)rz}rz(hNj!KhNhUb2484rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2488rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2719rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2722rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb4079rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2490rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2485rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2723rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2721rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2482rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2483rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2489rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2486rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2720rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2487rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2481rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]Rrzubj!)rz}rz(hNj!KhNhUb2724rzh}rzj!hjzhNhNj!Kh&Nh"}rzj!U+h(h)]RrzubeRrzhUFHLrzh2Gh3h4hNh5U((b4079 and (b2481 and b2482 and b2483 and b2484 and b2485 and b2486 and b2487 and b2488 and b2489 and b2490)) or (b4079 and (b2719 and b2720 and b2721 and b2722 and b2723 and b2724)))rzh"}rzh7Nubh)rz}rz(h U Unassignedrzh }rz(h)rz}rz(hNhNhUflavodoxin semi oxidizedrzh}rzhUflxso_crzhUEhKhGhh)rz}rz(hNhUXHrzh}rzh"}rzh$}rz(UXKUHKuhjzubh&Uch"}r{h(h)]Rr{ubGj>G?j)G?jCGh)r{}r{(hNhNhUFlavodoxin reducedr{h}r{hUflxr_cr{hUEhJhGhh)r{}r{(hNhUXHr {h}r {h"}r {h$}r {(UXKUHKuhj {ubh&Uch"}r {h(h)]Rr{ubG@uhNhUflavodoxin reductase (NADPH)r{h,G@@h-Gh}r{h/h)]r{(j!)r{}r{(hNj!KhNhUb3924r{h}r{j!hj{hNhNj!Kh&Nh"}r{j!U+h(h)]Rr{ubj!)r{}r{(hNj!KhNhUb0684r{h}r{j!hj{hNhNj!Kh&Nh"}r{j!U+h(h)]Rr{ubj!)r{}r{(hNj!KhNhUb2895r {h}r!{j!hj {hNhNj!Kh&Nh"}r"{j!U+h(h)]Rr#{ubeRr${hUFLDR2r%{h2Gh3h4hNh5U(((b0684 and b3924) or (b2895 and b3924))r&{h"}r'{h7Nubh)r({}r){(h U*Cofactor and Prosthetic Group Biosynthesisr*{h }r+{(j'GjCGj>Gj)G?j2JG?uhNhUflavin reductaser,{h,G@@h-Gh}r-{h/h)]r.{(jtjtjteRr/{hUFLVRr0{h2Gh3h4hNh5U(b3844 or (b2763 and b2764))r1{h"}r2{h7Nubh)r3{}r4{(h U*Cofactor and Prosthetic Group Biosynthesisr5{h }r6{(jGj>GjG?j2JG?j'GuhNhUflavin reductase (NAD)r7{h,G@@h-Gh}r8{h/h)]r9{jtaRr:{hUFLVRxr;{h2Gh3h4hNh5Ub3844r<{h"}r={h7Nubh)r>{}r?{(h U tRNA Chargingr@{h }rA{(j>G?jG?h)rB{}rC{(hNhNhUN-Formylmethionyl-tRNArD{h}rE{hU fmettrna_crF{hUEhKhGhh)rG{}rH{(hNhU C6H9NO2SRrI{h}rJ{h"}rK{h$}rL{(UCKUHK UOKUNKUSKURKuhjI{ubh&Uch"}rM{h(h)]RrN{ubG?h)rO{}rP{(hNhNhUL-Methionyl-tRNA (Met)rQ{h}rR{hU mettrna_crS{hUEhKhGhh)rT{}rU{(hNhU C5H10NOSRrV{h}rW{h"}rX{h$}rY{(UCKUHK UOKUNKUSKURKuhjV{ubh&Uch"}rZ{h(h)]Rr[{ubGjGuhNhU Methionyl-tRNA formyltransferaser\{h,G@@h-Gh}r]{h/h)]r^{j!)r_{}r`{(hNj!KhNhUb3288ra{h}rb{j!hja{hNhNj!Kh&Nh"}rc{j!U+h(h)]Rrd{ubaRre{hUFMETTRSrf{h2Gh3h4hNh5ja{h"}rg{h7Nubh)rh{}ri{(h U*Cofactor and Prosthetic Group Biosynthesisrj{h }rk{(j GjJGjG?j>GjTG?uhNhUFMN adenylyltransferaserl{h,G@@h-Gh}rm{h/h)]rn{j!)ro{}rp{(hNj!KhNhUb0025rq{h}rr{j!hjq{hNhNj!Kh&Nh"}rs{j!U+h(h)]Rrt{ubaRru{hUFMNATrv{h2Gh3h4hNh5jq{h"}rw{h7Nubh)rx{}ry{(h U*Cofactor and Prosthetic Group Biosynthesisrz{h }r{{(jGjG?jJGj>GjJG?uhNhU FMN reductaser|{h,G@@h-Gh}r}{h/h)]r~{(jtj!)r{}r{(hNj!KhNhUb0937r{h}r{j!hj{hNhNj!Kh&Nh"}r{j!U+h(h)]Rr{ubeRr{hUFMNRxr{h2Gh3h4hNh5U(b0937 or b3844)r{h"}r{h7Nubh)r{}r{(h U*Cofactor and Prosthetic Group Biosynthesisr{h }r{(j>Gj)G?jJGjCGjJG?uhNhU FMN reductaser{h,G@@h-Gh}r{h/h)]r{(jtjtj{jteRr{hUFMNRx2r{h2Gh3h4hNh5U%(b3844 or b0937 or (b2763 and b2764))r{h"}r{h7Nubh)r{}r{(h UFolate Metabolismr{h }r{(j>Gh)r{}r{(hNhNhU5-Formyltetrahydrofolater{h}r{hU5fthf_cr{hUEhJhGhh)r{}r{(hNhU C20H21N7O7r{h}r{h"}r{h$}r{(UHKUCKUOKUNKuhj{ubh&Uch"}r{h(h)]Rr{ubGh)r{}r{(hNhNhU5,10-Methenyltetrahydrofolater{h}r{hUmethf_cr{hUEhJhGhh)r{}r{(hNhU C20H20N7O6r{h}r{h"}r{h$}r{(UHKUCKUOKUNKuhj{ubh&Uch"}r{h(h)]Rr{ubG?j4G?uhNhUAminomethyltransferaser{h,G@@h-Gh}r{h/h)]r{j!)r{}r{(hNj!KhNhUb2912r{h}r{j!hj{hNhNj!Kh&Nh"}r{j!U+h(h)]Rr{ubaRr{hUFOMETRir{h2Gh3h4hNh5j{h"}r{h7Nubh)r{}r{(h UAlternate Carbon Metabolismr{h }r{(h)r{}r{(hNhNhU Oxalyl-CoAr{h}r{hU oxalcoa_cr{hUEhJhGhh)r{}r{(hNhUC23H31N7O19P3Sr{h}r{h"}r{h$}r{(UCKUHKUOKUNKUPKUSKuhj{ubh&Uch"}r{h(h)]Rr{ubG?h)r{}r{(hNhNhUOxalater{h}r{hUoxa_cr{hUEhJhGhh)r{}r{(hNhUC2O4r{h}r{h"}r{h$}r{(UCKUOKuhj{ubh&Uch"}r{h(h)]Rr{ubGjHGG?h)r{}r{(hNhNhU Formyl-CoAr{h}r{hUforcoa_cr{hUEhJhGhh)r{}r{(hNhUC22H32N7O17P3Sr{h}r{h"}r{h$}r{(UCKUHK UOKUNKUPKUSKuhj{ubh&Uch"}r{h(h)]Rr{ubGuhNhUFormyl-CoA Transferaser{h,G@@h-G@h}r{h/h)]r{j!)r{}r{(hNj!KhNhUb2374r{h}r{j!hj{hNhNj!Kh&Nh"}r{j!U+h(h)]Rr{ubaRr{hUFORCTr{h2Gh3h4hNh5j{h"}r{h7Nubh)r{}r{(h UTransport, Inner Membraner{h }r{(j>G?jHGG?j,vGj"GuhNhU=formate transport via proton symport (uptake only, periplasm)r{h,G@@h-Gh}r{h/h)]r{(j!)r{}r{(hNj!KhNhUb0904r{h}r{j!hj{hNhNj!Kh&Nh"}r|j!U+h(h)]Rr|ubj!)r|}r|(hNj!KhNhUb2492r|h}r|j!hj|hNhNj!Kh&Nh"}r|j!U+h(h)]Rr|ubeRr|hUFORt2ppr |h2Gh3h4hNh5U(b0904 or b2492)r |h"}r |h7Nubh)r |}r |(h UTransport, Outer Membrane Porinr|h }r|(jGj,vG?uhNhUGjDNG?j\NG?jGuhNhUfumarate reductaser&|h,G@@h-Gh}r'|h/h)]r(|(j!)r)|}r*|(hNj!KhNhUb4153r+|h}r,|j!hj+|hNhNj!Kh&Nh"}r-|j!U+h(h)]Rr.|ubj!)r/|}r0|(hNj!KhNhUb4152r1|h}r2|j!hj1|hNhNj!Kh&Nh"}r3|j!U+h(h)]Rr4|ubj!)r5|}r6|(hNj!KhNhUb4154r7|h}r8|j!hj7|hNhNj!Kh&Nh"}r9|j!U+h(h)]Rr:|ubj!)r;|}r<|(hNj!KhNhUb4151r=|h}r>|j!hj=|hNhNj!Kh&Nh"}r?|j!U+h(h)]Rr@|ubeRrA|hUFRD2rB|h2Gh3h4hNh5U%(b4151 and b4152 and b4153 and b4154)rC|h"}rD|h7Nubh)rE|}rF|(h UCitric Acid CyclerG|h }rH|(j>Gj~Gj\NG?jTjG?uhNhUfumarate reductaserI|h,G@@h-Gh}rJ|h/h)]rK|(j5|j)|j;|j/|eRrL|hUFRD3rM|h2Gh3h4hNh5U%(b4151 and b4152 and b4153 and b4154)rN|h"}rO|h7Nubh)rP|}rQ|(h UAlternate Carbon MetabolismrR|h }rS|(h)rT|}rU|(hNhNhUD-Fructose 1-phosphaterV|h}rW|hUf1p_crX|hUEhJhGhh)rY|}rZ|(hNhUC6H11O9Pr[|h}r\|h"}r]|h$}r^|(UHK UCKUOK UPKuhj[|ubh&Uch"}r_|h(h)]Rr`|ubGj>G?j Gj-G?jEuG?uhNhUfructose-1-phosphate kinasera|h,G@@h-Gh}rb|h/h)]rc|j!)rd|}re|(hNj!KhNhUb2168rf|h}rg|j!hjf|hNhNj!Kh&Nh"}rh|j!U+h(h)]Rri|ubaRrj|hUFRUKrk|h2Gh3h4hNh5jf|h"}rl|h7Nubh)rm|}rn|(h UAlternate Carbon Metabolismro|h }rp|(h)rq|}rr|(hNhNhUfructoselysine Phosphaters|h}rt|hU frulysp_cru|hUEhJhGhh)rv|}rw|(hNhU C12H24N2O10Prx|h}ry|h"}rz|h$}r{|(UHKUCK UPKUOK UNKuhjx|ubh&Uch"}r||h(h)]Rr}|ubGj1G?j4GhG?uhNhU"Fructoselysine phosphate deglycaser~|h,G@@h-G@h}r|h/h)]r|j!)r|}r|(hNj!KhNhUb3371r|h}r|j!hj|hNhNj!Kh&Nh"}r|j!U+h(h)]Rr|ubaRr|hUFRULYSDGr|h2Gh3h4hNh5j|h"}r|h7Nubh)r|}r|(h UAlternate Carbon Metabolismr|h }r|(h)r|}r|(hNhNhUfructoselysiner|h}r|hUfrulys_cr|hUEhKhGhh)r|}r|(hNhU C12H25N2O7r|h}r|h"}r|h$}r|(UHKUCK UOKUNKuhj|ubh&Uch"}r|h(h)]Rr|ubG?h)r|}r|(hNhNhU psicoselysiner|h}r|hUpsclys_cr|hUEhKhGhh)r|}r|(hNhU C12H25N2O7r|h}r|h"}r|h$}r|(UHKUCK UOKUNKuhj|ubh&Uch"}r|h(h)]Rr|ubGuhNhUfructoselysine 3-epimeraser|h,G@@h-G@h}r|h/h)]r|j!)r|}r|(hNj!KhNhUb4474r|h}r|j!hj|hNhNj!Kh&Nh"}r|j!U+h(h)]Rr|ubaRr|hUFRULYSEr|h2Gh3h4hNh5j|h"}r|h7Nubh)r|}r|(h UAlternate Carbon Metabolismr|h }r|(j Gj>G?j|Gj-G?jq|G?uhNhUFructoselysine Kinaser|h,G@@h-Gh}r|h/h)]r|j!)r|}r|(hNj!KhNhUb3374r|h}r|j!hj|hNhNj!Kh&Nh"}r|j!U+h(h)]Rr|ubaRr|hUFRULYSKr|h2Gh3h4hNh5j|h"}r|h7Nubh)r|}r|(h UTransport, Inner Membraner|h }r|(h)r|}r|(hNhNhUfructoselysiner|h}r|hUfrulys_pr|hUEhKhGhh)r|}r|(hNhU C12H25N2O7r|h}r|h"}r|h$}r|(UHKUCK UOKUNKuhj|ubh&Uph"}r|h(h)]Rr|ubGj|G?j>G?j"GuhNhU7Fructoselysine transport via proton symport (periplasm)r|h,G@@h-Gh}r|h/h)]r|j!)r|}r|(hNj!KhNhUb3370r|h}r|j!hj|hNhNj!Kh&Nh"}r|j!U+h(h)]Rr|ubaRr|hU FRULYSt2ppr|h2Gh3h4hNh5j|h"}r|h7Nubh)r|}r|(h UTransport, Outer Membrane Porinr|h }r|(jGj|G?uhNhU8fructoselysine transporter via diffusion (extracellular)r|h,G@@h-G@h}r|h/h)]r|(j!j!j!j!eRr|hU FRULYStexr|h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r|h"}r|h7Nubh)r|}r|(h UTransport, Inner Membraner|h }r|(h)r|}r|(hNhNhUD-Fructuronater|h}r|hUfruur_cr|hUEhJhGhh)r|}r|(hNhUC6H9O7r|h}r|h"}r|h$}r|(UHK UCKUOKuhj|ubh&Uch"}r|h(h)]Rr|ubG?j>G?j"Gh)r|}r|(hNhNhUD-Fructuronater|h}r}hUfruur_pr}hUEhJhGhh)r}}r}(hNhUC6H9O7r}h}r}h"}r}h$}r}(UHK UCKUOKuhj}ubh&Uph"}r}h(h)]Rr }ubGuhNhUCD-fructuronate transport via proton symport, reversible (periplasm)r }h,G@@h-G@h}r }h/h)]r }j!)r }}r}(hNj!KhNhUb4321r}h}r}j!hj}hNhNj!Kh&Nh"}r}j!U+h(h)]Rr}ubaRr}hU FRUURt2rppr}h2Gh3h4hNh5j}h"}r}h7Nubh)r}}r}(h UTransport, Outer Membrane Porinr}h }r}(jGj|G?uhNhU6D-fructuronate transport via diffusion (extracellular)r}h,G@@h-G@h}r}h/h)]r}(j!j!j!j!eRr}hUFRUURtexr}h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r}h"}r }h7Nubh)r!}}r"}(h UTransport, Inner Membraner#}h }r$}(jWEG?h)r%}}r&}(hNhNhU D-Fructoser'}h}r(}hUfru_pr)}hUEhKhGhh)r*}}r+}(hNhUC6H12O6r,}h}r-}h"}r.}h$}r/}(UHK UCKUOKuhj,}ubh&Uph"}r0}h(h)]Rr1}ubGj5Gj5G?uhNhU?Fructose transport via PEP:Pyr PTS (f6p generating) (periplasm)r2}h,G@@h-Gh}r3}h/h)]r4}(j5jJ7jP7jV7j6eRr5}hU FRUpts2ppr6}h2Gh3h4hNh5U/(b1817 and b1818 and b1819 and b2415 and b2416)r7}h"}r8}h7Nubh)r9}}r:}(h UTransport, Inner Membraner;}h }r<}(jT|G?j%}Gj5G?j5GuhNhU0D-fructose transport via PEP:Pyr PTS (periplasm)r=}h,G@@h-Gh}r>}h/h)]r?}(j!)r@}}rA}(hNj!KhNhUb2169rB}h}rC}j!hjB}hNhNj!Kh&Nh"}rD}j!U+h(h)]RrE}ubj6j5j!)rF}}rG}(hNj!KhNhUb2167rH}h}rI}j!hjH}hNhNj!Kh&Nh"}rJ}j!U+h(h)]RrK}ubeRrL}hUFRUptspprM}h2Gh3h4hNh5U%(b2167 and b2169 and b2415 and b2416)rN}h"}rO}h7Nubh)rP}}rQ}(h UTransport, Outer Membrane PorinrR}h }rS}(jGj%}G?uhNhU?D-fructose transport via diffusion (extracellular to periplasm)rT}h,G@@h-G@h}rU}h/h)]rV}(j!j!j!j!eRrW}hUFRUtexrX}h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rY}h"}rZ}h7Nubh)r[}}r\}(h UFolate Metabolismr]}h }r^}(jHGG?jG?j>G?jGj4GuhNhU"formyltetrahydrofolate deformylaser_}h,G@@h-Gh}r`}h/h)]ra}j!)rb}}rc}(hNj!KhNhUb1232rd}h}re}j!hjd}hNhNj!Kh&Nh"}rf}j!U+h(h)]Rrg}ubaRrh}hUFTHFDri}h2Gh3h4hNh5jd}h"}rj}h7Nubh)rk}}rl}(h UFolate Metabolismrm}h }rn}(jHGGj-G?j GjG?jGjG?uhNhUformate-tetrahydrofolate ligasero}h,G@@h-Gh}rp}h/h)]Rrq}hUFTHFLirr}h2Gh3h4hNh5Uh"}rs}h7Nubh)rt}}ru}(h UTransport, Outer Membrane Porinrv}h }rw}(jGh)rx}}ry}(hNhNhUL-Fucoserz}h}r{}hUfuc__L_pr|}hUEhKhGhh)r}}}r~}(hNhUC6H12O5r}h}r}h"}r}h$}r}(UHK UCKUOKuhj}ubh&Uph"}r}h(h)]Rr}ubG?uhNhU=L-fucose transport via diffusion (extracellular to periplasm)r}h,G@@h-G@h}r}h/h)]r}(j!j!j!j!eRr}hUFUCtexr}h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r}h"}r}h7Nubh)r}}r}(h UTransport, Inner Membraner}h }r}(jx}Gj>G?j"GjuG?uhNhU1L-fucose transport via proton symport (periplasm)r}h,G@@h-G@h}r}h/h)]r}j!)r}}r}(hNj!KhNhUb2801r}h}r}j!hj}hNhNj!Kh&Nh"}r}j!U+h(h)]Rr}ubaRr}hUFUCtppr}h2Gh3h4hNh5j}h"}r}h7Nubh)r}}r}(h UCitric Acid Cycler}h }r}(j4Gj>Gh)r}}r}(hNhNhUL-Malater}h}r}hUmal__L_cr}hUEhJhGhh)r}}r}(hNhUC4H4O5r}h}r}h"}r}h$}r}(UHKUCKUOKuhj}ubh&Uch"}r}h(h)]Rr}ubG?uhNhUfumaraser}h,G@@h-G@h}r}h/h)]r}(jlj!)r}}r}(hNj!KhNhUb1612r}h}r}j!hj}hNhNj!Kh&Nh"}r}j!U+h(h)]Rr}ubj!)r}}r}(hNj!KhNhUb1611r}h}r}j!hj}hNhNj!Kh&Nh"}r}j!U+h(h)]Rr}ubeRr}hUFUMr}h2Gh3h4hNh5U(b1612 or b4122 or b1611)r}h"}r}h7Nubh)r}}r}(h UTransport, Inner Membraner}h }r}(j>G?j>G@j"Gh)r}}r}(hNhNhUFumarater}h}r}hUfum_pr}hUEhJhGhh)r}}r}(hNhUC4H2O4r}h}r}h"}r}h$}r}(UHKUCKUOKuhj}ubh&Uph"}r}h(h)]Rr}ubGuhNhU7Fumarate transport via proton symport (2 H) (periplasm)r}h,G@@h-Gh}r}h/h)]r}jNaRr}hU FUMt2_2ppr}h2Gh3h4hNh5Ub3528r}h"}r}h7Nubh)r}}r}(h UTransport, Inner Membraner}h }r}(j}Gj"Gj>G@j>G?uhNhU7Fumarate transport via proton symport (3 H) (periplasm)r}h,G@@h-Gh}r}h/h)]r}(j!)r}}r}(hNj!KhNhUb0621r}h}r}j!hj}hNhNj!Kh&Nh"}r}j!U+h(h)]Rr}ubjOj OeRr}hU FUMt2_3ppr}h2Gh3h4hNh5U(b4138 or b4123 or b0621)r}h"}r}h7Nubh)r}}r}(h UTransport, Outer Membrane Porinr}h }r}(j}G?j,GuhNhU=Fumarate transport via diffusion (extracellular to periplasm)r}h,G@@h-G@h}r}h/h)]r}(j!j!j!j!eRr}hUFUMtexr}h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r}h"}r}h7Nubh)r}}r}(h UTransport, Outer Membrane Porinr}h }r}(jAGh)r}}r}(hNhNhU fusidic acidr}h}r}hUfusa_pr}hUEhKhGhh)r}}r}(hNhUC31H48O5r}h}r~h"}r~h$}r~(UHK0UCKUOKuhj}ubh&Uph"}r~h(h)]Rr~ubG?uhNhUAFusidic acid transport via diffusion (extracellular to periplasm)r~h,G@@h-G@h}r~h/h)]r~(j!j!j!j!eRr~hUFUSAtexr ~h2Gh3h4hNh5U"(b1377 or b2215 or b0929 or b0241)r ~h"}r ~h7Nubh)r ~}r ~(h UTransport, Outer Membraner~h }r~(j"Gj}Gj>G?jAG?uhNhU&Fusidic acid transport via TolC systemr~h,G@@h-Gh}r~h/h)]r~(j=YjCYjIYjOYeRr~hUFUSAtppr~h2Gh3h4hNh5U<((b0463 and b0462 and b3035) or (b0463 and b2470 and b3035))r~h"}r~h7Nubh)r~}r~(h UCell Envelope Biosynthesisr~h }r~(h)r~}r~(hNhNhU"N-Acetyl-D-glucosamine 1-phosphater~h}r~hU acgam1p_cr~hUEhJhGhh)r ~}r!~(hNhU C8H14NO9Pr"~h}r#~h"}r$~h$}r%~(UHKUCKUPKUOK UNKuhj"~ubh&Uch"}r&~h(h)]Rr'~ubG?h)r(~}r)~(hNhNhUD-Glucosamine 1-phosphater*~h}r+~hUgam1p_cr,~hUEhJhGhh)r-~}r.~(hNhU C6H13NO8Pr/~h}r0~h"}r1~h$}r2~(UHK UCKUPKUOKUNKuhj/~ubh&Uch"}r3~h(h)]Rr4~ubGjGj>G?jG?uhNhU+glucosamine-1-phosphate N-acetyltransferaser5~h,G@@h-Gh}r6~h/h)]r7~j!)r8~}r9~(hNj!KhNhUb3730r:~h}r;~j!hj:~hNhNj!Kh&Nh"}r<~j!U+h(h)]Rr=~ubaRr>~hUG1PACTr?~h2Gh3h4hNh5j:~h"}r@~h7Nubh)rA~}rB~(h UGlycolysis/GluconeogenesisrC~h }rD~(h)rE~}rF~(hNhNhU D-GlucoserG~h}rH~hUglc__D_prI~hUEhKhGhh)rJ~}rK~(hNhUC6H12O6rL~h}rM~h"}rN~h$}rO~(UHK UCKUOKuhjL~ubh&Uph"}rP~h(h)]RrQ~ubG?h)rR~}rS~(hNhNhUD-Glucose 1-phosphaterT~h}rU~hUg1p_prV~hUEhJhGhh)rW~}rX~(hNhUC6H11O9PrY~h}rZ~h"}r[~h$}r\~(UHK UCKUOK UPKuhjY~ubh&Uph"}r]~h(h)]Rr^~ubGj+G?j#GuhNhUGlucose-1-phosphataser_~h,G@@h-Gh}r`~h/h)]ra~j!)rb~}rc~(hNj!KhNhUb1002rd~h}re~j!hjd~hNhNj!Kh&Nh"}rf~j!U+h(h)]Rrg~ubaRrh~hUG1PPppri~h2Gh3h4hNh5jd~h"}rj~h7Nubh)rk~}rl~(h UCell Envelope Biosynthesisrm~h }rn~(j GjTG?j>Gh)ro~}rp~(hNhNhUD-Glucose 1-phosphaterq~h}rr~hUg1p_crs~hUEhJhGhh)rt~}ru~(hNhUC6H11O9Prv~h}rw~h"}rx~h$}ry~(UHK UCKUOK UPKuhjv~ubh&Uch"}rz~h(h)]Rr{~ubGh)r|~}r}~(hNhNhU dTDPglucoser~~h}r~hU dtdpglu_cr~hUEhJhGhh)r~}r~(hNhU C16H24N2O16P2r~h}r~h"}r~h$}r~(UHKUCKUPKUOKUNKuhj~ubh&Uch"}r~h(h)]Rr~ubG?uhNhU)glucose-1-phosphate thymidylyltransferaser~h,G@@h-Gh}r~h/h)]r~(j!)r~}r~(hNj!KhNhUb2039r~h}r~j!hj~hNhNj!Kh&Nh"}r~j!U+h(h)]Rr~ubj!)r~}r~(hNj!KhNhUb3789r~h}r~j!hj~hNhNj!Kh&Nh"}r~j!U+h(h)]Rr~ubeRr~hUG1PTTr~h2Gh3h4hNh5U(b2039 or b3789)r~h"}r~h7Nubh)r~}r~(h UTransport, Outer Membrane Porinr~h }r~(jVGjR~G?uhNhU-D-glucose 1-phosphate transport via diffusionr~h,G@@h-G@h}r~h/h)]r~(j!j!j!j!eRr~hUG1Ptexr~h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r~h"}r~h7Nubh)r~}r~(h U*Cofactor and Prosthetic Group Biosynthesisr~h }r~(h)r~}r~(hNhNhU5-Amino-4-oxopentanoater~h}r~hU5aop_cr~hUEhKhGhh)r~}r~(hNhUC5H9NO3r~h}r~h"}r~h$}r~(UHK UCKUOKUNKuhj~ubh&Uch"}r~h(h)]Rr~ubG?h)r~}r~(hNhNhUL-Glutamate 1-semialdehyder~h}r~hUglu1sa_cr~hUEhKhGhh)r~}r~(hNhUC5H9NO3r~h}r~h"}r~h$}r~(UHK UCKUOKUNKuhj~ubh&Uch"}r~h(h)]Rr~ubGuhNhU)glutamate-1-semialdehyde aminotransferaser~h,G@@h-G@h}r~h/h)]r~j!)r~}r~(hNj!KhNhUb0154r~h}r~j!hj~hNhNj!Kh&Nh"}r~j!U+h(h)]Rr~ubaRr~hUG1SATr~h2Gh3h4hNh5j~h"}r~h7Nubh)r~}r~(h UAlternate Carbon Metabolismr~h }r~(jCG?h)r~}r~(hNhNhUGlycerol 2-phosphater~h}r~hUglyc2p_cr~hUEhJhGhh)r~}r~(hNhUC3H7O6Pr~h}r~h"}r~h$}r~(UHKUCKUOKUPKuhj~ubh&Uch"}r~h(h)]Rr~ubGjG?j4GuhNhU glycerol-2-phosphate phosphataser~h,G@@h-Gh}r~h/h)]r~j!)r~}r~(hNj!KhNhUb2533r~h}r~j!hj~hNhNj!Kh&Nh"}r~j!U+h(h)]Rr~ubaRr~hUG2PPr~h2Gh3h4hNh5j~h"}r~h7Nubh)r~}r~(h UAlternate Carbon Metabolismr~h }r~(j_XG?j+G?h)r~}r~(hNhNhUGlycerol 2-phosphater~h}r~hUglyc2p_pr~hUEhJhGhh)r~}r~(hNhUC3H7O6Pr~h}r~h"}r~h$}r~(UHKUCKUOKUPKuhj~ubh&Uph"}r~h(h)]Rr~ubGj#GuhNhU.glycerol 2-phosphate phosphatase (periplasmic)r~h,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4055rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUG2PPppr h2Gh3h4hNh5jh"}r h7Nubh)r }r (h UGlycerophospholipid Metabolismr h }r(j+@G?j$-G?jHGj-GuhNhU,glycerol-3-phosphate acyltransferase (C12:0)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb4041rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj{0eRrhUG3PAT120rh2Gh3h4hNh5U(b1094 and b4041)rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jHGj-GjU@G?j$-G?uhNhU,glycerol-3-phosphate acyltransferase (C14:0)r h,G@@h-Gh}r!h/h)]r"(j{0jeRr#hUG3PAT140r$h2Gh3h4hNh5U(b1094 and b4041)r%h"}r&h7Nubh)r'}r((h UGlycerophospholipid Metabolismr)h }r*(jHGj$-G?j-Gjm@G?uhNhU,glycerol-3-phosphate acyltransferase (C14:1)r+h,G@@h-Gh}r,h/h)]r-(j{0jeRr.hUG3PAT141r/h2Gh3h4hNh5U(b1094 and b4041)r0h"}r1h7Nubh)r2}r3(h UGlycerophospholipid Metabolismr4h }r5(jHGj-Gj@G?j$-G?uhNhU,glycerol-3-phosphate acyltransferase (C16:0)r6h,G@@h-Gh}r7h/h)]r8(j{0jeRr9hUG3PAT160r:h2Gh3h4hNh5U(b1094 and b4041)r;h"}r<h7Nubh)r=}r>(h UGlycerophospholipid Metabolismr?h }r@(j-Gj$-G?j@G?jHGuhNhU,glycerol-3-phosphate acyltransferase (C16:1)rAh,G@@h-Gh}rBh/h)]rC(j{0jeRrDhUG3PAT161rEh2Gh3h4hNh5U(b1094 and b4041)rFh"}rGh7Nubh)rH}rI(h UGlycerophospholipid MetabolismrJh }rK(jHGj@G?j0Gj$-G?uhNhU,glycerol-3-phosphate acyltransferase (C18:0)rLh,G@@h-Gh}rMh/h)]rN(j{0jeRrOhUG3PAT180rPh2Gh3h4hNh5U(b1094 and b4041)rQh"}rRh7Nubh)rS}rT(h UGlycerophospholipid MetabolismrUh }rV(j0Gj$-G?jAG?jHGuhNhU,glycerol-3-phosphate acyltransferase (C18:1)rWh,G@@h-Gh}rXh/h)]rY(j{0jeRrZhUG3PAT181r[h2Gh3h4hNh5U(b1094 and b4041)r\h"}r]h7Nubh)r^}r_(h UTransport, Inner Membraner`h }ra(j Gj>G?h)rb}rc(hNhNhUsn-Glycero-3-phosphocholinerdh}rehUg3pc_crfhUEhKhGhh)rg}rh(hNhU C8H20NO6Prih}rjh"}rkh$}rl(UHKUCKUPKUOKUNKuhjiubh&Uch"}rmh(h)]RrnubG?j4GjG?j-G?h)ro}rp(hNhNhUsn-Glycero-3-phosphocholinerqh}rrhUg3pc_prshUEhKhGhh)rt}ru(hNhU C8H20NO6Prvh}rwh"}rxh$}ry(UHKUCKUPKUOKUNKuhjvubh&Uph"}rzh(h)]Rr{ubGuhNhUAsn-glycerol-3-phosphocholine transport via ABC system (periplasm)r|h,G@@h-Gh}r}h/h)]r~(j!)r}r(hNj!KhNhUb3452rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3453rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3451rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3450rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhU G3PCabcpprh2Gh3h4hNh5U%(b3452 and b3453 and b3450 and b3451)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jkGjoG?uhNhUMglycero-3-phosphocholine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUG3PCtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jeG?jCG?j)Gj>G?jHGuhNhU)glycerol-3-phosphate dehydrogenase (NADP)rh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb3608rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUG3PD2rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(jeG?jNGjHGjG?uhNhU1glycerol-3-phosphate dehydrogenase (ubiquinone-8)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3426rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2241rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2243rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2242rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUG3PD5rh2Gh3h4hNh5U&((b2241 and b2242 and b2243) or b3426)rh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(jHGjeG?jG?jDNGuhNhU2glycerol-3-phosphate dehydrogenase (menaquinone-8)rh,G@@h-Gh}rh/h)]r(jjjeRrhUG3PD6rh2Gh3h4hNh5U(b2241 and b2242 and b2243)rh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(jHGjeG?j~G?jTjGuhNhU:glycerol-3-phosphate dehydrogenase (demethylmenaquinone-8)rh,G@@h-Gh}rh/h)]r(jjjeRrhUG3PD7rh2Gh3h4hNh5U(b2241 and b2242 and b2243)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj-G?h)r}r(hNhNhU sn-Glycero-3-phosphoethanolaminerh}rhUg3pe_prhUEhKhGhh)r}r(hNhU C5H14NO6Prh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubGj>G?jG?j4Gh)r}r(hNhNhU sn-Glycero-3-phosphoethanolaminerh}rhUg3pe_crhUEhKhGhh)r}r(hNhU C5H14NO6Prh}rh"}r h$}r (UHKUCKUPKUOKUNKuhjubh&Uch"}r h(h)]Rr ubG?uhNhUFsn-glycerol-3-phosphoethanolamine transport via ABC system (periplasm)r h,G@@h-Gh}rh/h)]r(jjjjeRrhU G3PEabcpprh2Gh3h4hNh5U%(b3452 and b3453 and b3450 and b3451)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?jGuhNhURglycero-3-phosphoethanolamine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUG3PEtexrh2Gh3h4hNh5U"(b0929 or b1377 or b2215 or b0241)rh"}rh7Nubh)r}r (h UTransport, Inner Membraner!h }r"(j Gh)r#}r$(hNhNhUGlycerophosphoglycerolr%h}r&hUg3pg_pr'hUEhJhGhh)r(}r)(hNhUC6H14O8Pr*h}r+h"}r,h$}r-(UHKUCKUOKUPKuhj*ubh&Uph"}r.h(h)]Rr/ubGj4Gj>G?h)r0}r1(hNhNhUGlycerophosphoglycerolr2h}r3hUg3pg_cr4hUEhJhGhh)r5}r6(hNhUC6H14O8Pr7h}r8h"}r9h$}r:(UHKUCKUOKUPKuhj7ubh&Uch"}r;h(h)]Rr<ubG?j-G?jG?uhNhUBsn-glycerol-3-phosphoglycerol transport via ABC system (periplasm)r=h,G@@h-Gh}r>h/h)]r?(jjjjeRr@hU G3PGabcpprAh2Gh3h4hNh5U%(b3452 and b3453 and b3450 and b3451)rBh"}rCh7Nubh)rD}rE(h UTransport, Outer Membrane PorinrFh }rG(jGj#G?uhNhUGglycerophoglycerol transport via diffusion (extracellular to periplasm)rHh,G@@h-G@h}rIh/h)]rJ(j!j!j!j!eRrKhUG3PGtexrLh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rMh"}rNh7Nubh)rO}rP(h UTransport, Inner MembranerQh }rR(j Gj-G?j>G?jG?h)rS}rT(hNhNhUsn-Glycero-3-phospho-1-inositolrUh}rVhUg3pi_prWhUEhJhGhh)rX}rY(hNhU C9H18O11PrZh}r[h"}r\h$}r](UHKUCK UOK UPKuhjZubh&Uph"}r^h(h)]Rr_ubGj4Gh)r`}ra(hNhNhUsn-Glycero-3-phospho-1-inositolrbh}rchUg3pi_crdhUEhJhGhh)re}rf(hNhU C9H18O11Prgh}rhh"}rih$}rj(UHKUCK UOK UPKuhjgubh&Uch"}rkh(h)]RrlubG?uhNhUFsn-glycerol-3-phosphoethanolamine transport via ABC system (periplasm)rmh,G@@h-Gh}rnh/h)]ro(jjjjeRrphU G3PIabcpprqh2Gh3h4hNh5U%(b3452 and b3453 and b3450 and b3451)rrh"}rsh7Nubh)rt}ru(h UTransport, Outer Membrane Porinrvh }rw(jSG?jGuhNhUQglycero-3-phospho-1-inositol transport via diffusion (extracellular to periplasm)rxh,G@@h-G@h}ryh/h)]rz(j!j!j!j!eRr{hUG3PItexr|h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r}h"}r~h7Nubh)r}r(h UTransport, Inner Membranerh }r(h)r}r(hNhNhUGlycerophosphoserinerh}rhUg3ps_crhUEhJhGhh)r}r(hNhU C6H13NO8Prh}rh"}rh$}r(UHK UCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?j>G?h)r}r(hNhNhUGlycerophosphoserinerh}rhUg3ps_prhUEhJhGhh)r}r(hNhU C6H13NO8Prh}rh"}rh$}r(UHK UCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubGj-G?j GjG?j4GuhNhU@sn-glycerol-3-phosphoserine transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(jjjjeRrhU G3PSabcpprh2Gh3h4hNh5U%(b3452 and b3453 and b3450 and b3451)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?jGuhNhUHglycerophosphserine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUG3PStexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jCG?jHGjG?j4GuhNhUglycerol-3-phosphataserh,G@@h-Gh}rh/h)]rjraRrhUG3PTrh2Gh3h4hNh5Ub0822rh"}rh7Nubh)r}r(h UArginine and Proline Metabolismrh }r(j>G?h)r}r(hNhNhUL-Glutamate 5-semialdehyderh}rhUglu5sa_cr€hUEhKhGhh)rÀ}rĀ(hNhUC5H9NO3rŀh}rƀh"}rǀh$}rȀ(UHK UCKUOKUNKuhjŀubh&Uch"}rɀh(h)]RrʀubGj4G?h)rˀ}r̀(hNhNhU1-Pyrroline-5-carboxylater̀h}r΀hU1pyr5c_crπhUEhJhGhh)rЀ}rр(hNhUC5H6NO2rҀh}rӀh"}rԀh$}rՀ(UHKUCKUOKUNKuhjҀubh&Uch"}rրh(h)]Rr׀ubG?uhNhU4L-glutamate 5-semialdehyde dehydratase (spontaneous)r؀h,G@@h-Gh}rـh/h)]rڀjB4aRrۀhUG5SADsr܀h2Gh3h4hNh5Us0001r݀h"}rހh7Nubh)r߀}r(h UArginine and Proline Metabolismrh }r(j)G?j>GjCGh)r}r(hNhNhUL-Glutamate 5-phosphaterh}rhUglu5p_crhUEhJhGhh)r}r(hNhUC5H8NO7Prh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGjG?jG?uhNhU&glutamate-5-semialdehyde dehydrogenaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0243rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUG5SDrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jWEG?j4Gj}>GjLG?uhNhU!glucosamine-6-phosphate deaminaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0678rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRr hUG6PDAr h2Gh3h4hNh5jh"}r h7Nubh)r }r (h UPentose Phosphate Pathwayrh }r(h)r}r(hNhNhU6-phospho-D-glucono-1,5-lactonerh}rhU6pgl_crhUEhJhGhh)r}r(hNhUC6H9O9Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Uch"}rh(h)]RrubG?j>G?j1GjCG?j)GuhNhU!glucose 6-phosphate dehydrogenaserh,G@@h-G@h}rh/h)]rj!)r }r!(hNj!KhNhUb1852r"h}r#j!hj"hNhNj!Kh&Nh"}r$j!U+h(h)]Rr%ubaRr&hUG6PDH2rr'h2Gh3h4hNh5j"h"}r(h7Nubh)r)}r*(h UGlycolysis/Gluconeogenesisr+h }r,(j1Gj4GjG?jFG?uhNhUglucose-6-phosphate phosphataser-h,G@@h-Gh}r.h/h)]r/jraRr0hUG6PPr1h2Gh3h4hNh5Ub0822r2h"}r3h7Nubh)r4}r5(h UTransport, Inner Membraner6h }r7(h)r8}r9(hNhNhUD-Glucose 6-phosphater:h}r;hUg6p_pr<hUEhJhGhh)r=}r>(hNhUC6H11O9Pr?h}r@h"}rAh$}rB(UHK UCKUOK UPKuhj?ubh&Uph"}rCh(h)]RrDubGj1G?jGj+G@uhNhU@Glucose-6-phosphate transport via phosphate antiport (periplasm)rEh,G@@h-Gh}rFh/h)]rGjraRrHhU G6Pt6_2pprIh2Gh3h4hNh5Ub3666rJh"}rKh7Nubh)rL}rM(h UTransport, Outer Membrane PorinrNh }rO(j8G?jGuhNhUHglucose 6-phosphate transport via diffusion (extracellular to periplasm)rPh,G@@h-G@h}rQh/h)]rR(j!j!j!j!eRrShUG6PtexrTh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rUh"}rVh7Nubh)rW}rX(h UAlternate Carbon MetabolismrYh }rZ(j+G?h)r[}r\(hNhNhUalpha-D-Galactose 1-phosphater]h}r^hUgal1p_pr_hUEhJhGhh)r`}ra(hNhUC6H11O9Prbh}rch"}rdh$}re(UHK UCKUOK UPKuhjbubh&Uph"}rfh(h)]RrgubGh)rh}ri(hNhNhU D-Galactoserjh}rkhUgal_prlhUEhKhGhh)rm}rn(hNhUC6H12O6roh}rph"}rqh$}rr(UHK UCKUOKuhjoubh&Uph"}rsh(h)]RrtubG?j#GuhNhUD-galactose 1-phosphataseruh,G@@h-Gh}rvh/h)]rwjb~aRrxhUGAL1PPppryh2Gh3h4hNh5Ub1002rzh"}r{h7Nubh)r|}r}(h UTransport, Outer Membrane Porinr~h }r(jGj[G?uhNhULD-galactose 1-phosphate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGAL1Ptexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(h)r}r(hNhNhUbeta D-Galactoserh}rhU gal__bD_prhUEhKhGhh)r}r(hNhUC6H12O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uph"}rh(h)]RrubG?jGuhNhUEbeta D-galactose transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGALBDtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j4G?h)r}r(hNhNhU5-Dehydro-4-deoxy-D-glucaraterh}rhU 5dh4dglc_crhUEhJhGhh)r}r(hNhUC6H6O7rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubG?h)r}r(hNhNhU D-Galactaraterh}rhU galct__D_crhUEhJhGhh)r}r(hNhUC6H8O8rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubGuhNhUgalactarate dehydrataserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3128rh}rÁj!hjhNhNj!Kh&Nh"}rāj!U+h(h)]RrŁubaRrƁhUGALCTDrǁh2Gh3h4hNh5jh"}rȁh7Nubh)rɁ}rʁ(h UAlternate Carbon Metabolismrˁh }ŕ(jG?j>G?jGh)ŕ}r΁(hNhNhUD-Tagaturonaterρh}rЁhUtagur_crсhUEhJhGhh)rҁ}rӁ(hNhUC6H9O7rԁh}rՁh"}rցh$}rׁ(UHK UCKUOKuhjԁubh&Uch"}r؁h(h)]RrفubG?h)rځ}rہ(hNhNhU L-Galactonater܁h}r݁hU galctn__L_crށhUEhJhGhh)r߁}r(hNhUC6H11O7rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uch"}rh(h)]RrubGuhNhUL-galactonate oxidoreductaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4358rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGALCTLOrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhU D-Galactonaterh}rhU galctn__D_crhUEhJhGhh)r}r(hNhUC6H11O7rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uch"}rh(h)]RrubGjcG?j4G?uhNhUgalactonate dehydrataserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4478r h}r j!hj hNhNj!Kh&Nh"}r j!U+h(h)]Rr ubaRr hUGALCTNDrh2Gh3h4hNh5j h"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(h)r}r(hNhNhU L-Galactonaterh}rhU galctn__L_prhUEhJhGhh)r}r(hNhUC6H11O7rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uph"}rh(h)]Rr ubGj"Gj>G?jځG?uhNhU6L-galactonate transport via proton symport (periplasm)r!h,G@@h-Gh}r"h/h)]r#j!)r$}r%(hNj!KhNhUb4356r&h}r'j!hj&hNhNj!Kh&Nh"}r(j!U+h(h)]Rr)ubaRr*hU GALCTNLt2ppr+h2Gh3h4hNh5j&h"}r,h7Nubh)r-}r.(h UTransport, Outer Membrane Porinr/h }r0(jRGjG?uhNhUBL-galactonate transport via diffusion (extracellular to periplasm)r1h,G@@h-G@h}r2h/h)]r3(j!j!j!j!eRr4hU GALCTNLtexr5h2Gh3h4hNh5U"(b2215 or b1377 or b0929 or b0241)r6h"}r7h7Nubh)r8}r9(h UTransport, Inner Membraner:h }r;(jG?j"Gh)r<}r=(hNhNhU D-Galactonater>h}r?hU galctn__D_pr@hUEhJhGhh)rA}rB(hNhUC6H11O7rCh}rDh"}rEh$}rF(UHK UCKUOKuhjCubh&Uph"}rGh(h)]RrHubGj>G?uhNhU6D-galactonate transport via proton symport (periplasm)rIh,G@@h-Gh}rJh/h)]rKj!)rL}rM(hNj!KhNhUb3691rNh}rOj!hjNhNhNj!Kh&Nh"}rPj!U+h(h)]RrQubaRrRhU GALCTNt2pprSh2Gh3h4hNh5jNh"}rTh7Nubh)rU}rV(h UTransport, Outer Membrane PorinrWh }rX(j=Gj<G?uhNhUBD-galactonate transport via diffusion (extracellular to periplasm)rYh,G@@h-G@h}rZh/h)]r[(j!j!j!j!eRr\hU GALCTNtexr]h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r^h"}r_h7Nubh)r`}ra(h UTransport, Inner Membranerbh }rc(j>G?h)rd}re(hNhNhU D-Galactaraterfh}rghU galct__D_prhhUEhJhGhh)ri}rj(hNhUC6H8O8rkh}rlh"}rmh$}rn(UHKUCKUOKuhjkubh&Uph"}roh(h)]RrpubGj"GjG?uhNhUAD-galactarte transport via proton symport, reversible (periplasm)rqh,G@@h-G@h}rrh/h)]rs(j!)rt}ru(hNj!KhNhUb3127rvh}rwj!hjvhNhNj!Kh&Nh"}rxj!U+h(h)]Rryubj!)rz}r{(hNj!KhNhUb2789r|h}r}j!hj|hNhNj!Kh&Nh"}r~j!U+h(h)]RrubeRrhU GALCTt2rpprh2Gh3h4hNh5U(b2789 or b3127)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j(GjdG?uhNhUAD-galactarte transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGALCTtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j Gj>G?h)r}r(hNhNhU D-Galactoserh}rhUgal_crhUEhKhGhh)r}r(hNhUC6H12O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uch"}rh(h)]RrubGj-G?h)r}r(hNhNhUalpha-D-Galactose 1-phosphaterh}rhUgal1p_crhUEhJhGhh)r}r(hNhUC6H11O9Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Uch"}rh(h)]RrubG?uhNhU galactokinaserh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb2045rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0757rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUGALKrrh2Gh3h4hNh5U(b2045 or b0757)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismr‚h }rÂ(jhG?jGuhNhUaldose-1-epimeraserĂh,G@@h-Gh}rłh/h)]rƂj!)rǂ}rȂ(hNj!KhNhUb0756rɂh}rʂj!hjɂhNhNj!Kh&Nh"}r˂j!U+h(h)]Rr̂ubaRr͂hUGALM2ppr΂h2Gh3h4hNh5jɂh"}rςh7Nubh)rЂ}rт(h UAlternate Carbon Metabolismr҂h }rӂ(h)rԂ}rՂ(hNhNhU Melibioserւh}rׂhUmelib_cr؂hUEhKhGhh)rق}rڂ(hNhU C12H22O11rۂh}r܂h"}r݂h$}rނ(UHKUCK UOK uhjۂubh&Uch"}r߂h(h)]RrubGjG?j4GjFG?uhNhUa-galactosidase (melibiose)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4119rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGALS3rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j7G?j>G?h)r}r(hNhNhU6galactosyl-glucosyl-inner core oligosaccharide lipid Arh}rhU gagicolipa_crhUEhJhGhh)r}r(hNhUC157H271N2O84P4rh}rh"}rh$}r(UHMUCKUPKUOKTUNKuhjubh&Uch"}rh(h)]RrubG?h)r}r(hNhNhU UDPglucoserh}rhUudpg_crhUEhJhGhh)r}r(hNhU C15H22N2O17P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}r h(h)]Rr ubGh)r }r (hNhNhU+glucosyl-inner core oligosaccharide lipid Ar h}rhU gicolipa_crhUEhJhGhh)r}r(hNhUC151H261N2O79P4rh}rh"}rh$}r(UHMUCKUPKUOKOUNKuhjubh&Uch"}rh(h)]RrubGuhNhU,galactosyltransferase I (LPS core synthesis)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3628rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rr ubaRr!hUGALT1r"h2Gh3h4hNh5jh"}r#h7Nubh)r$}r%(h UTransport, Inner Membraner&h }r'(j5Gh)r(}r)(hNhNhUGalactitol 1-phosphater*h}r+hUgalt1p_cr,hUEhJhGhh)r-}r.(hNhUC6H13O9Pr/h}r0h"}r1h$}r2(UHK UCKUOK UPKuhj/ubh&Uch"}r3h(h)]Rr4ubG?h)r5}r6(hNhNhU Galactitolr7h}r8hUgalt_pr9hUEhKhGhh)r:}r;(hNhUC6H14O6r<h}r=h"}r>h$}r?(UHKUCKUOKuhj<ubh&Uph"}r@h(h)]RrAubGj5G?uhNhU0Galactitol transport via PEP:Pyr PTS (periplasm)rBh,G@@h-Gh}rCh/h)]rD(j!)rE}rF(hNj!KhNhUb2093rGh}rHj!hjGhNhNj!Kh&Nh"}rIj!U+h(h)]RrJubj!)rK}rL(hNj!KhNhUb2094rMh}rNj!hjMhNhNj!Kh&Nh"}rOj!U+h(h)]RrPubj5j!)rQ}rR(hNj!KhNhUb2092rSh}rTj!hjShNhNj!Kh&Nh"}rUj!U+h(h)]RrVubj6eRrWhU GALTptspprXh2Gh3h4hNh5U/(b2094 and b2093 and b2092 and b2415 and b2416)rYh"}rZh7Nubh)r[}r\(h UTransport, Outer Membrane Porinr]h }r^(jgGj5G?uhNhU?Galactitol transport via diffusion (extracellular to periplasm)r_h,G@@h-G@h}r`h/h)]ra(j!j!j!j!eRrbhUGALTtexrch2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rdh"}reh7Nubh)rf}rg(h UTransport, Inner Membranerhh }ri(h)rj}rk(hNhNhUD-Galacturonaterlh}rmhUgalur_crnhUEhJhGhh)ro}rp(hNhUC6H9O7rqh}rrh"}rsh$}rt(UHK UCKUOKuhjqubh&Uch"}ruh(h)]RrvubG?j>G?j"Gh)rw}rx(hNhNhUD-Galacturonateryh}rzhUgalur_pr{hUEhJhGhh)r|}r}(hNhUC6H9O7r~h}rh"}rh$}r(UHK UCKUOKuhj~ubh&Uph"}rh(h)]RrubGuhNhUDD-galacturonate transport via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb3093rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhU GALURt2rpprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j|GjwG?uhNhUDD-galacturonate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGALURtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j2Gj>GjG?jo~GjTG?uhNhU:UTP-glucose-1-phosphate uridylyltransferase (irreversible)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1236rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGALUirh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj-G?jG?j>G?jG?jhGj4GuhNhU0D-galactose transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb4485rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4230rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4227rh}rj!hjhNhNj!Kh&Nh"}rƒj!U+h(h)]RrÃubj!)ră}rŃ(hNj!KhNhUb2148rƃh}rǃj!hjƃhNhNj!Kh&Nh"}rȃj!U+h(h)]RrɃubj!)rʃ}r˃(hNj!KhNhUb2150r̃h}r̓j!hj̃hNhNj!Kh&Nh"}r΃j!U+h(h)]Rrσubj!)rЃ}rу(hNj!KhNhUb4231r҃h}rӃj!hj҃hNhNj!Kh&Nh"}rԃj!U+h(h)]RrՃubj!)rփ}r׃(hNj!KhNhUb2149r؃h}rكj!hj؃hNhNj!Kh&Nh"}rڃj!U+h(h)]RrۃubeRr܃hUGALabcppr݃h2Gh3h4hNh5UF((b2149 and b2150 and b2148) or (b4231 and b4227 and b4485 and b4230))rރh"}r߃h7Nubh)r}r(h UTransport, Inner Membranerh }r(j"GjG?j>G?jhGuhNhU7D-galactose transport in via proton symport (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2943rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGALt2pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jhG?jGuhNhU@D-galactose transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGALtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jGh)r}r(hNhNhUD-Glucosamine 6-phosphaterh}rhUgam6p_prhUEhJhGhh)r}r(hNhU C6H13NO8Prh}rh"}rh$}r (UHK UCKUPKUOKUNKuhjubh&Uph"}r h(h)]Rr ubGj+G@j}>G?uhNhUFD-Glucosamine 6-phosphate transport via phosphate antiport (periplasm)r h,G@@h-Gh}r h/h)]rjraRrhU GAM6Pt6_2pprh2Gh3h4hNh5Ub3666rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhUND-glucosamine 6-phosphate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU GAMAN6Ptexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membraner h }r!(h)r"}r#(hNhNhU D-Glucosaminer$h}r%hUgam_pr&hUEhKhGhh)r'}r((hNhUC6H14NO5r)h}r*h"}r+h$}r,(UHKUCKUOKUNKuhj)ubh&Uph"}r-h(h)]Rr.ubGj5Gj}>G?j5G?uhNhU3D-glucosamine transport via PEP:Pyr PTS (periplasm)r/h,G@@h-Gh}r0h/h)]r1(j5jJ7jP7jV7j6eRr2hUGAMptsppr3h2Gh3h4hNh5U/(b1817 and b1818 and b1819 and b2415 and b2416)r4h"}r5h7Nubh)r6}r7(h UTransport, Outer Membrane Porinr8h }r9(j"G?jGuhNhUBD-glucosamine transport via diffusion (extracellular to periplasm)r:h,G@@h-G@h}r;h/h)]r<(j!j!j!j!eRr=hUGAMtexr>h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r?h"}r@h7Nubh)rA}rB(h UGlycolysis/GluconeogenesisrCh }rD(jG?jGj>G?h)rE}rF(hNhNhU3-Phospho-D-glyceroyl phosphaterGh}rHhU13dpg_crIhUEhJhGhh)rJ}rK(hNhU C3H4O10P2rLh}rMh"}rNh$}rO(UHKUCKUOK UPKuhjLubh&Uch"}rPh(h)]RrQubG?j~dGjGuhNhU(glyceraldehyde-3-phosphate dehydrogenaserRh,G@@h-G@h}rSh/h)]rTj/naRrUhUGAPDrVh2Gh3h4hNh5Ub1779rWh"}rXh7Nubh)rY}rZ(h U"Purine and Pyrimidine Biosynthesisr[h }r\(jG?j>G?jGh)r]}r^(hNhNhU#N1-(5-Phospho-D-ribosyl)glycinamider_h}r`hUgar_crahUEhJhGhh)rb}rc(hNhU C7H14N2O8Prdh}reh"}rfh$}rg(UHKUCKUPKUOKUNKuhjdubh&Uch"}rhh(h)]RriubGh)rj}rk(hNhNhU-N2-Formyl-N1-(5-phospho-D-ribosyl)glycinamiderlh}rmhUfgam_crnhUEhJhGhh)ro}rp(hNhU C8H13N2O9Prqh}rrh"}rsh$}rt(UHK UCKUPKUOK UNKuhjqubh&Uch"}ruh(h)]RrvubG?uhNhU+phosphoribosylglycinamide formyltransferaserwh,G@@h-G@h}rxh/h)]ryj!)rz}r{(hNj!KhNhUb2500r|h}r}j!hj|hNhNj!Kh&Nh"}r~j!U+h(h)]RrubaRrhUGARFTrh2Gh3h4hNh5j|h"}rh7Nubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(jHGGj-G?j]Gj>G?j GjG?jjG?uhNhUGAR transformylase-Trh,G@@h-Gh}rh/h)]rj6aRrhUGARTrh2Gh3h4hNh5Ub1849rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjM\G?uhNhUHgamma-butyrobetaine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGBBTNtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UFolate Metabolismrh }r(jG?jGj>G@jygGh)r}r(hNhNhU Glycolaterh}rhUglyclt_crhUEhJhGhh)r}r(hNhUC2H3O3rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubG?j4GuhNhUGlycolaldehyde dehydrogenaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1415rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGCALDDrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhUGDP-4-oxo-L-fucoserh}rhU gdpofuc_crhUEhJhGhh)r}r(hNhU C16H21N5O15P2rh}r„h"}rÄh$}rĄ(UHKUCKUPKUOKUNKuhjubh&Uch"}rńh(h)]RrƄubG?h)rDŽ}rȄ(hNhNhUGDP-4-dehydro-6-deoxy-D-mannoserɄh}rʄhU gdpddman_cr˄hUEhJhGhh)r̄}r̈́(hNhU C16H21N5O15P2r΄h}rτh"}rЄh$}rф(UHKUCKUPKUOKUNKuhj΄ubh&Uch"}r҄h(h)]RrӄubGuhNhU)GDP-4-dehydro-6-deoxy-D-mannose epimeraserԄh,G@@h-Gh}rՄh/h)]rքj!)rׄ}r؄(hNj!KhNhUb2052rلh}rڄj!hjلhNhNj!Kh&Nh"}rۄj!U+h(h)]Rr܄ubaRr݄hUGDMANErބh2Gh3h4hNh5jلh"}r߄h7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j Gj4<Gj>G?j%G?h)r}r(hNhNhU Guanosine 3',5'-bis(diphosphate)rh}rhUppgpp_crhUEhJhGhh)r}r(hNhU C10H11N5O17P4rh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?uhNhUGDP diphosphokinaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2784rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3650rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUGDPDPKrh2Gh3h4hNh5U(b2784 or b3650)rh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j4<G?j>G?h)r}r (hNhNhU D-Mannoser h}r hUman_cr hUEhKhGhh)r }r(hNhUC6H12O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uch"}rh(h)]RrubG?h)r}r(hNhNhU GDP-D-mannoserh}rhU gdpmann_crhUEhJhGhh)r}r(hNhU C16H23N5O16P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}r h(h)]Rr!ubGj4GuhNhUGDP-mannose mannosyl hydrolaser"h,G@@h-Gh}r#h/h)]r$j!)r%}r&(hNj!KhNhUb2051r'h}r(j!hj'hNhNj!Kh&Nh"}r)j!U+h(h)]Rr*ubaRr+hUGDPMNHr,h2Gh3h4hNh5j'h"}r-h7Nubh)r.}r/(h UCell Envelope Biosynthesisr0h }r1(j>G@j/=G?h)r2}r3(hNhNhUD-Mannose 1-phosphater4h}r5hUman1p_cr6hUEhJhGhh)r7}r8(hNhUC6H11O9Pr9h}r:h"}r;h$}r<(UHK UCKUOK UPKuhj9ubh&Uch"}r=h(h)]Rr>ubG?jGj4GuhNhUGDP-mannose phyrophosphataser?h,G@@h-Gh}r@h/h)]rAj!)rB}rC(hNj!KhNhUb2467rDh}rEj!hjDhNhNj!Kh&Nh"}rFj!U+h(h)]RrGubaRrHhUGDPMNPrIh2Gh3h4hNh5jDh"}rJh7Nubh)rK}rL(h U*Cofactor and Prosthetic Group BiosynthesisrMh }rN(h)rO}rP(hNhNhU(Guanosine 3'-diphosphate 5'-triphosphaterQh}rRhUgdptp_crShUEhJhGhh)rT}rU(hNhU C10H11N5O20P5rVh}rWh"}rXh$}rY(UHK UCK UPKUOKUNKuhjVubh&Uch"}rZh(h)]Rr[ubGj4GjG?jTG?uhNhU9guanosine 3'-diphosphate 5'-triphosphate 3'-diphosphataser\h,G@@h-Gh}r]h/h)]r^jaRr_hUGDPTPDPr`h2Gh3h4hNh5Ub3650rah"}rbh7Nubh)rc}rd(h UTransport, Outer Membrane Porinreh }rf(jGh)rg}rh(hNhNhUGDPrih}rjhUgdp_prkhUEhJhGhh)rl}rm(hNhU C10H12N5O11P2rnh}roh"}rph$}rq(UHK UCK UPKUOK UNKuhjnubh&Uph"}rrh(h)]RrsubG?uhNhU8GDP transport via diffusion (extracellular to periplasm)rth,G@@h-G@h}ruh/h)]rv(j!j!j!j!eRrwhUGDPtexrxh2Gh3h4hNh5U"(b1377 or b2215 or b0929 or b0241)ryh"}rzh7Nubh)r{}r|(h UCell Envelope Biosynthesisr}h }r~(jWEGjaGj}>G?jG?uhNhU+glutamine-fructose-6-phosphate transaminaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3729rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGF6PTArh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jCG?j)Gh)r}r(hNhNhU"gamma-glutamyl-gamma-butyraldehyderh}rhU ggbutal_crhUEhKhGhh)r}r(hNhU C9H16O4N2rh}rh"}rh$}r(UHKUCK UOKUNKuhjubh&Uch"}rh(h)]RrubGj>G@h)r}r(hNhNhU&gamma-glutamyl-gamma aminobutyric acidrh}rhU gg4abut_crhUEhJhGhh)r}r(hNhU C9H15O5N2rh}rh"}rh$}r(UHKUCK UOKUNKuhjubh&Uch"}rh(h)]RrubG?j4GuhNhU4gamma-glutamyl-gamma aminobutyric acid dehydrogenaserh,G@@h-G@h}rh/h)]rjIDaRrhUGGGABADrrh2Gh3h4hNh5Ub1300rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jGj4Gj2G?jG?uhNhU0gamma-glutamyl-gamma-aminobutyric acid hydrolaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1298rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGGGABAHrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismr…h }rÅ(j1G?jLG?j*Gj4Gh)rą}rŅ(hNhNhUgamma-glutamyl-putrescinerƅh}rDžhUggptrc_crȅhUEhKhGhh)rɅ}rʅ(hNhU C9H20O3N3r˅h}r̅h"}rͅh$}r΅(UHKUCK UOKUNKuhj˅ubh&Uch"}rυh(h)]RrЅubGjG?uhNhU!gamma glutamyl putrescine oxidaserхh,G@@h-Gh}r҅h/h)]rӅj!)rԅ}rՅ(hNj!KhNhUb1301rօh}rׅj!hjօhNhNj!Kh&Nh"}r؅j!U+h(h)]RrمubaRrڅhUGGPTRCOrۅh2Gh3h4hNh5jօh"}r܅h7Nubh)r݅}rޅ(h UAlternate Carbon Metabolismr߅h }r(j GjGj>G?jGj-G?jG?jąG?uhNhU"gamma glutamyl putrescine synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1297rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGGPTRCSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UArginine and Proline Metabolismrh }r(jGj>GjG?j1Gh)r}r(hNhNhUgamma-hydroxybutyraterh}rhUghb_crhUEhJhGhh)r}r(hNhUC4H7O3rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubG?uhNhU*gamma-hydroxybutyrate dehydrogenase (NADH)rh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb3882rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGHBDHxrh2Gh3h4hNh5jh"}r h7Nubh)r }r (h UGlycine and Serine Metabolismr h }r (jGhG?j$G?jGj4G?uhNhU,glycine hydroxymethyltransferase, reversiblerh,G@@h-G@h}rh/h)]rjCaRrhUGHMT2rrh2Gh3h4hNh5Ub2551rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j Gj-G?j4<G?j/=GuhNhUguanylate kinase (GMP:ATP)rh,G@@h-G@h}rh/h)]rjdaRrhUGK1rh2Gh3h4hNh5Ub3648rh"}rh7Nubh)r }r!(h UGlycolysis/Gluconeogenesisr"h }r#(jAGh)r$}r%(hNhNhUbranching glycogenr&h}r'hU bglycogen_cr(hUEhKhGhh)r)}r*(hNhUC6H10O5r+h}r,h"}r-h$}r.(UHK UCKUOKuhj+ubh&Uch"}r/h(h)]Rr0ubG?uhNhU91,4-alpha-glucan branching enzyme (glycogen -> bglycogen)r1h,G@@h-Gh}r2h/h)]r3j!)r4}r5(hNj!KhNhUb3432r6h}r7j!hj6hNhNj!Kh&Nh"}r8j!U+h(h)]Rr9ubaRr:hUGLBRAN2r;h2Gh3h4hNh5j6h"}r<h7Nubh)r=}r>(h UAlternate Carbon Metabolismr?h }r@(jFGjGh)rA}rB(hNhNhU6-Acetyl-D-glucoserCh}rDhU acglc__D_crEhUEhKhGhh)rF}rG(hNhUC8H14O7rHh}rIh"}rJh$}rK(UHKUCKUOKuhjHubh&Uch"}rLh(h)]RrMubG?jG?uhNhUD-glucose O-acetyltransferaserNh,G@@h-G@h}rOh/h)]rPj!)rQ}rR(hNj!KhNhUb0459rSh}rTj!hjShNhNj!Kh&Nh"}rUj!U+h(h)]RrVubaRrWhUGLCATrrXh2Gh3h4hNh5jSh"}rYh7Nubh)rZ}r[(h UOxidative Phosphorylationr\h }r](h)r^}r_(hNhNhU D-Gluconater`h}rahUglcn_prbhUEhJhGhh)rc}rd(hNhUC6H11O7reh}rfh"}rgh$}rh(UHK UCKUOKuhjeubh&Uph"}rih(h)]RrjubG?j#GjE~GjNGjG?j"G?uhNhUG?uhNhU@D-gluconate transport via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb4476rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj/j!)r}r(hNj!KhNhUb3415rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj }eRrhU GLCNt2rpprh2Gh3h4hNh5U"(b4321 or b4476 or b3415 or b4265)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j^G?jGuhNhU@D-gluconate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGLCNtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UGlycolysis/Gluconeogenesisrh }r(jAGjGjo~G?uhNhUglycogen phosphorylaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3428rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3417rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUGLCPrh2Gh3h4hNh5U(b3428 or b3417)rh"}rh7Nubh)r}r(h UGlycolysis/Gluconeogenesisrh }r(jo~G?j$GjGuhNhUglycogen phosphorylaserh,G@@h-Gh}rh/h)]r(jjeRrhUGLCP2rh2Gh3h4hNh5U(b3417 or b3428)rh"}rh7Nubh)r†}rÆ(h UAlternate Carbon MetabolismrĆh }rņ(h)rƆ}rdž(hNhNhU2-Hydroxy-3-oxopropanoaterȆh}rɆhU 2h3oppan_crʆhUEhJhGhh)rˆ}r̆(hNhUC3H3O4r͆h}rΆh"}rφh$}rІ(UHKUCKUOKuhj͆ubh&Uch"}rцh(h)]Rr҆ubG?jGj5G?uhNhU#5-dehydro-4-deoxyglucarate aldolaserӆh,G@@h-Gh}rԆh/h)]rՆj!)rֆ}r׆(hNj!KhNhUb3126r؆h}rنj!hj؆hNhNj!Kh&Nh"}rچj!U+h(h)]RrۆubaRr܆hUGLCRALr݆h2Gh3h4hNh5j؆h"}rކh7Nubh)r߆}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhU D-Glucaraterh}rhUglcr_crhUEhJhGhh)r}r(hNhUC6H8O8rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubGj4G?jG?uhNhUglucarate dehydrataserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2787rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2788rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUGLCRDrh2Gh3h4hNh5U(b2788 or b2787)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?jG?h)r}r(hNhNhU D-Glucarater h}r hUglcr_pr hUEhJhGhh)r }r (hNhUC6H8O8rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uph"}rh(h)]RrubGj"GuhNhU@D-glucarate transport via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]r(jzjteRrhU GLCRt2rpprh2Gh3h4hNh5U(b3127 or b2789)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?jGuhNhU@D-glucarate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}r h/h)]r!(j!j!j!j!eRr"hUGLCRtexr#h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r$h"}r%h7Nubh)r&}r'(h UGlycolysis/Gluconeogenesisr(h }r)(h)r*}r+(hNhNhU ADPglucoser,h}r-hUadpglc_cr.hUEhJhGhh)r/}r0(hNhU C16H23N5O15P2r1h}r2h"}r3h$}r4(UHKUCKUPKUOKUNKuhj1ubh&Uch"}r5h(h)]Rr6ubGj-G?jAG?j>G?uhNhUglycogen synthase (ADPGlc)r7h,G@@h-Gh}r8h/h)]r9j!)r:}r;(hNj!KhNhUb3429r<h}r=j!hj<hNhNj!Kh&Nh"}r>j!U+h(h)]Rr?ubaRr@hUGLCS1rAh2Gh3h4hNh5j<h"}rBh7Nubh)rC}rD(h U+Lipopolysaccharide Biosynthesis / RecyclingrEh }rF(jGh)rG}rH(hNhNhU+inner core oligosaccharide lipid A (E coli)rIh}rJhU icolipa_crKhUEhJhGhh)rL}rM(hNhUC145H251N2O74P4rNh}rOh"}rPh$}rQ(UHKUCKUPKUOKJUNKuhjNubh&Uch"}rRh(h)]RrSubGj>G?j G?j7G?uhNhU*glucosyltransferase I (LPS core synthesis)rTh,G@@h-Gh}rUh/h)]rVj!)rW}rX(hNj!KhNhUb3631rYh}rZj!hjYhNhNj!Kh&Nh"}r[j!U+h(h)]Rr\ubaRr]hUGLCTR1r^h2Gh3h4hNh5jYh"}r_h7Nubh)r`}ra(h U+Lipopolysaccharide Biosynthesis / Recyclingrbh }rc(jGh)rd}re(hNhNhU?glucosyl-galactosyl-glucosyl-inner core oligosaccharide lipid Arfh}rghU ggagicolipa_crhhUEhJhGhh)ri}rj(hNhUC163H281N2O89P4rkh}rlh"}rmh$}rn(UHMUCKUPKUOKYUNKuhjkubh&Uch"}roh(h)]RrpubG?j>G?jGj7G?uhNhU+glucosyltransferase II (LPS core synthesis)rqh,G@@h-Gh}rrh/h)]rsj!)rt}ru(hNj!KhNhUb3627rvh}rwj!hjvhNhNj!Kh&Nh"}rxj!U+h(h)]RryubaRrzhUGLCTR2r{h2Gh3h4hNh5jvh"}r|h7Nubh)r}}r~(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(h)r}r(hNhNhUHglucosyl-glucosyl-galactosyl-glucosyl-inner core oligosaccharide lipid Arh}rhUgggagicolipa_crhUEhJhGhh)r}r(hNhUC169H291N2O94P4rh}rh"}rh$}r(UHM#UCKUPKUOK^UNKuhjubh&Uch"}rh(h)]RrubG?jdGj>G?jGj7G?uhNhU,glucosyltransferase III (LPS core synthesis)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3626rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGLCTR3rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j9Gh)r}r(hNhNhUD-Glucuronate 1-phosphaterh}rhU glcur1p_prhUEhJhGhh)r}r(hNhUC6H8O10Prh}rh"}rh$}r(UHKUCKUOK UPKuhjubh&Uph"}rh(h)]RrubG?uhNhUND-glucuronate 1-phosphate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU GLCUR1Ptexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(h)r}r(hNhNhU D-Glucuronaterh}rhUglcur_crhUEhJhGhh)r}r(hNhUC6H9O7rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uch"}rh(h)]Rr‡ubG?j"Gj>G?h)rÇ}rć(hNhNhU D-GlucuronaterŇh}rƇhUglcur_prLJhUEhJhGhh)rȇ}rɇ(hNhUC6H9O7rʇh}rˇh"}ṙh$}r͇(UHK UCKUOKuhjʇubh&Uph"}r·h(h)]RrχubGuhNhUBD-glucuronate transport via proton symport, reversible (periplasm)rЇh,G@@h-G@h}rчh/h)]r҇(jdjeRrӇhU GLCURt2rpprԇh2Gh3h4hNh5U(b3909 or b3093)rՇh"}rևh7Nubh)rׇ}r؇(h UTransport, Outer Membrane Porinrهh }rڇ(jÇG?j$GuhNhUAD-glucuronat transport via diffusion (extracellular to periplasm)rۇh,G@@h-G@h}r܇h/h)]r݇(j!j!j!j!eRrއhUGLCURtexr߇h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj-G?jE~Gj>G?jG?j4GjFG?uhNhU.D-glucose transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(jփjʃjăeRrhUGLCabcpprh2Gh3h4hNh5U(b2149 and b2150 and b2148)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jE~Gj1G?j5Gj5G?uhNhU/D-glucose transport via PEP:Pyr PTS (periplasm)rh,G@@h-Gh}rh/h)]r(j5j6j5jJ7j!)r}r(hNj!KhNhUb1621rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubjP7jV7j5eRrhUGLCptspprh2Gh3h4hNh5U((b2417 and b1621 and b2415 and b2416) or (b2417 and b1101 and b2415 and b2416) or (b1817 and b1818 and b1819 and b2415 and b2416))rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jE~Gj"Gj>G?jFG?uhNhU5D-glucose transport in via proton symport (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhUGLCt2pprh2Gh3h4hNh5Ub2943rh"}rh7Nubh)r }r (h UTransport, Outer Membrane Porinr h }r (jGjE~G?uhNhU glycogen)r#h,G@@h-Gh}r$h/h)]r%j!)r&}r'(hNj!KhNhUb3431r(h}r)j!hj(hNhNj!Kh&Nh"}r*j!U+h(h)]Rr+ubaRr,hUGLDBRAN2r-h2Gh3h4hNh5j(h"}r.h7Nubh)r/}r0(h UGlycolysis/Gluconeogenesisr1h }r2(jTG?j>Gj Gjo~Gj*G?uhNhU'glucose-1-phosphate adenylyltransferaser3h,G@@h-Gh}r4h/h)]r5j!)r6}r7(hNj!KhNhUb3430r8h}r9j!hj8hNhNj!Kh&Nh"}r:j!U+h(h)]Rr;ubaRr<hUGLGCr=h2Gh3h4hNh5j8h"}r>h7Nubh)r?}r@(h UGlutamate MetabolismrAh }rB(j GjGj-G?jLGj>G?jaG?jG?uhNhUglutamine synthetaserCh,G@@h-Gh}rDh/h)]rE(j!)rF}rG(hNj!KhNhUb3870rHh}rIj!hjHhNhNj!Kh&Nh"}rJj!U+h(h)]RrKubjeRrLhUGLNSrMh2Gh3h4hNh5U(b3870 or b1297)rNh"}rOh7Nubh)rP}rQ(h U tRNA ChargingrRh }rS(j%G?j Gh)rT}rU(hNhNhUL-Glutaminyl-tRNA(Gln)rVh}rWhU glntrna_crXhUEhKhGhh)rY}rZ(hNhU C5H9N2O2Rr[h}r\h"}r]h$}r^(UHK UCKURKUOKUNKuhj[ubh&Uch"}r_h(h)]Rr`ubG?h)ra}rb(hNhNhU tRNA(Gln)rch}rdhU trnagln_crehUEhKhGhh)rf}rg(hNhURh}rhh"}rih$}rjURKshURubh&Uch"}rkh(h)]RrlubGjTG?jaGuhNhUGlutaminyl-tRNA synthetasermh,G@@h-Gh}rnh/h)]roj!)rp}rq(hNj!KhNhUb0680rrh}rsj!hjrhNhNj!Kh&Nh"}rtj!U+h(h)]RruubaRrvhUGLNTRSrwh2Gh3h4hNh5jrh"}rxh7Nubh)ry}rz(h UTransport, Inner Membraner{h }r|(j Gh)r}}r~(hNhNhU L-Glutaminerh}rhUgln__L_prhUEhKhGhh)r}r(hNhU C5H10N2O3rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Uph"}rh(h)]RrubGj>G?j-G?j4GjG?jaG?uhNhU0L-glutamine transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0810rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0809rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0811rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUGLNabcpprh2Gh3h4hNh5U(b0811 and b0810 and b0809)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jNGj}G?uhNhU@L-glutamine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGLNtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jG?j>G?h)r}r(hNhNhUD-Tagatose 6-phosphaterh}rhU tag6p__D_crhUEhJhGhh)r}r(hNhUC6H11O9Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Uch"}rh(h)]RrubG?j(GjGuhNhU$Galactitol-1-phosphate dehydrogenaserh,G@@h-G@h}rh/h)]rj!)rˆ}rÈ(hNj!KhNhUb2091rĈh}rňj!hjĈhNhNj!Kh&Nh"}rƈj!U+h(h)]RrLjubaRrȈhUGLTPDrɈh2Gh3h4hNh5jĈh"}rʈh7Nubh)rˈ}r̈(h UArginine and Proline Metabolismr͈h }rΈ(jG?j GjGj-G?uhNhUglutamate 5-kinaserψh,G@@h-Gh}rЈh/h)]rшj!)r҈}rӈ(hNj!KhNhUb0242rԈh}rՈj!hjԈhNhNj!Kh&Nh"}rֈj!U+h(h)]Rr׈ubaRr؈hUGLU5Krوh2Gh3h4hNh5jԈh"}rڈh7Nubh)rۈ}r܈(h UTransport, Inner Membraner݈h }rވ(j2Gh)r߈}r(hNhNhU L-Glutamaterh}rhUglu__L_prhUEhJhGhh)r}r(hNhUC5H8NO4rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uph"}rh(h)]RrubGjG?jU2G?uhNhU.4-aminobutyrate/glutamate antiport (periplasm)rh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb1492rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhU GLUABUTt7pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j GjGj-G?j>G?jGjG?h)r}r(hNhNhUgamma-L-Glutamyl-L-cysteinerh}rhUglucys_crhUEhJhGhh)r}r(hNhU C8H13N2O5Srh}rh"}rh$}r(UHK UCKUSKUOKUNKuhjubh&Uch"}rh(h)]RrubG?uhNhU!gamma-glutamylcysteine synthetaser h,G@@h-Gh}r h/h)]r j!)r }r (hNj!KhNhUb2688rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGLUCYSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlutamate Metabolismrh }r(jGj>Gj2G?j -G?uhNhUGlutamate Decarboxylaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1493rh}rj!hjhNhNj!Kh&Nh"}r j!U+h(h)]Rr!ubj!)r"}r#(hNj!KhNhUb3517r$h}r%j!hj$hNhNj!Kh&Nh"}r&j!U+h(h)]Rr'ubeRr(hUGLUDCr)h2Gh3h4hNh5U(b3517 or b1493)r*h"}r+h7Nubh)r,}r-(h UGlutamate Metabolismr.h }r/(jLG?jGjCG?j4Gj2G?j)Gj>G?uhNhUglutamate dehydrogenase (NADP)r0h,G@@h-G@h}r1h/h)]r2j!)r3}r4(hNj!KhNhUb1761r5h}r6j!hj5hNhNj!Kh&Nh"}r7j!U+h(h)]Rr8ubaRr9hUGLUDyr:h2Gh3h4hNh5j5h"}r;h7Nubh)r<}r=(h UGlutamate Metabolismr>h }r?(j4GjaGjG?jLG?uhNhU glutaminaser@h,G@@h-Gh}rAh/h)]rB(j!)rC}rD(hNj!KhNhUb0485rEh}rFj!hjEhNhNj!Kh&Nh"}rGj!U+h(h)]RrHubj;j!)rI}rJ(hNj!KhNhUb1524rKh}rLj!hjKhNhNj!Kh&Nh"}rMj!U+h(h)]RrNubeRrOhUGLUNrPh2Gh3h4hNh5U(b1812 or b0485 or b1524)rQh"}rRh7Nubh)rS}rT(h UGlutamate MetabolismrUh }rV(j߈G?j.G?j#Gj}GuhNhU glutaminaserWh,G@@h-Gh}rXh/h)]rYjLaRrZhUGLUNppr[h2Gh3h4hNh5Ub2957r\h"}r]h7Nubh)r^}r_(h U"Purine and Pyrimidine Biosynthesisr`h }ra(jG?j=Gh)rb}rc(hNhNhU5-Phospho-beta-D-ribosylaminerdh}rehUpram_crfhUEhJhGhh)rg}rh(hNhU C5H11NO7Prih}rjh"}rkh$}rl(UHK UCKUPKUOKUNKuhjiubh&Uch"}rmh(h)]RrnubG?jTG?jaGj4GuhNhU4glutamine phosphoribosyldiphosphate amidotransferaseroh,G@@h-Gh}rph/h)]rqj!)rr}rs(hNj!KhNhUb2312rth}ruj!hjthNhNj!Kh&Nh"}rvj!U+h(h)]RrwubaRrxhUGLUPRTryh2Gh3h4hNh5jth"}rzh7Nubh)r{}r|(h UCell Envelope Biosynthesisr}h }r~(h)r}r(hNhNhU D-Glutamaterh}rhUglu__D_crhUEhJhGhh)r}r(hNhUC5H8NO4rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubGjG?uhNhUglutamate racemaserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb3967rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGLURrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlutamate Metabolismrh }r(jG@j2Gj>GjCGjaGj)G?uhNhUglutamate synthase (NADPH)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3213rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3212rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUGLUSyrh2Gh3h4hNh5U(b3212 and b3213)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j>Gj)G?j~G?jCGh)r}r(hNhNhU tRNA (Glu)rh}rhU trnaglu_crhUEhKhGhh)r}r(hNhURh}rh"}rh$}rURKshURubh&Uch"}rh(h)]RrubG?h)r}r(hNhNhUL-Glutamyl-tRNA(Glu)rh}r‰hU glutrna_crÉhUEhKhGhh)rĉ}rʼn(hNhUC5H7NO3RrƉh}rljh"}rȉh$}rɉ(UHKUCKURKUOKUNKuhjƉubh&Uch"}rʉh(h)]RrˉubGuhNhUglutamyl-tRNA reductaser̉h,G@@h-Gh}r͉h/h)]rΉj!)rω}rЉ(hNj!KhNhUb1210rщh}r҉j!hjщhNhNj!Kh&Nh"}rӉj!U+h(h)]RrԉubaRrՉhUGLUTRRr։h2Gh3h4hNh5jщh"}r׉h7Nubh)r؉}rى(h U*Cofactor and Prosthetic Group Biosynthesisrډh }rۉ(j%G?j GjGjTG?jGjG?uhNhUGlutamyl-tRNA synthetaser܉h,G@@h-Gh}r݉h/h)]rމj!)r߉}r(hNj!KhNhUb2400rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGLUTRSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j GjG?j>G?j߈Gj-G?jG?j4GuhNhU0L-glutamate transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(jNjNjNjNeRrhUGLUabcpprh2Gh3h4hNh5U%(b0655 and b0654 and b0653 and b0652)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?j"GjG?j߈GuhNhU@L-glutamate transport via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]rj"OaRrhUGLUt2rpprh2Gh3h4hNh5Ub4077rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jG?j8;GjE;G?j߈GuhNhU!Na+/glutamate symport (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3653rh}rj!hjhNhNj!Kh&Nh"}r j!U+h(h)]Rr ubaRr hUGLUt4ppr h2Gh3h4hNh5jh"}r h7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j߈G?jcGuhNhU@L-glutamate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGLUtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UGlyoxylate Metabolismrh }r(jvGjƆG?j -G?j>GuhNhUglyoxalate carboligaserh,G@@h-Gh}rh/h)]rj!)r }r!(hNj!KhNhUb0507r"h}r#j!hj"hNhNj!Kh&Nh"}r$j!U+h(h)]Rr%ubaRr&hUGLXCLr'h2Gh3h4hNh5j"h"}r(h7Nubh)r)}r*(h UTransport, Outer Membrane Porinr+h }r,(jGh)r-}r.(hNhNhUD-Glyceraldehyder/h}r0hUglyald_pr1hUEhKhGhh)r2}r3(hNhUC3H6O3r4h}r5h"}r6h$}r7(UHKUCKUOKuhj4ubh&Uph"}r8h(h)]Rr9ubG?uhNhUCGlyceraldehyde transport via diffusion (extracellular to periplasm)r:h,G@@h-G@h}r;h/h)]r<(j!j!j!j!eRr=hU GLYALDtexr>h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r?h"}r@h7Nubh)rA}rB(h UTransport, Inner MembranerCh }rD(j-GjCG?uhNhU0Glyceraldehyde facilitated diffusion (periplasm)rEh,G@@h-G@h}rFh/h)]rGj!)rH}rI(hNj!KhNhUb3927rJh}rKj!hjJhNhNj!Kh&Nh"}rLj!U+h(h)]RrMubaRrNhU GLYALDtpprOh2Gh3h4hNh5jJh"}rPh7Nubh)rQ}rR(h UGlycine and Serine MetabolismrSh }rT(jGjHG?jG?hGuhNhUglycine C-acetyltransferaserUh,G@@h-G@h}rVh/h)]rWj!)rX}rY(hNj!KhNhUb3617rZh}r[j!hjZhNhNj!Kh&Nh"}r\j!U+h(h)]Rr]ubaRr^hUGLYATr_h2Gh3h4hNh5jZh"}r`h7Nubh)ra}rb(h UTransport, Inner Membranerch }rd(j Gj>G?jCPG?h)re}rf(hNhNhUGlycine betainergh}rhhUglyb_prihUEhKhGhh)rj}rk(hNhUC5H11NO2rlh}rmh"}rnh$}ro(UHK UCKUOKUNKuhjlubh&Uph"}rph(h)]RrqubGj4GjG?j-G?uhNhU4Glycine betaine transport via ABC system (periplasm)rrh,G@@h-Gh}rsh/h)]rt(jUjUjUjUeRruhU GLYBabcpprvh2Gh3h4hNh5U%(b2128 and b2129 and b2130 and b2131)rwh"}rxh7Nubh)ry}rz(h UTransport, Inner Membraner{h }r|(jeGj"GjCPG?j>G?uhNhU8Glycine betaine transport via proton symport (periplasm)r}h,G@@h-Gh}r~h/h)]r(j\jUeRrhUGLYBt2pprh2Gh3h4hNh5U(b1801 or b4111)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jeG?jGuhNhUDGlycine betaine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGLYBtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj~G?j>G?j4Gj-G?jG?j~GuhNhUG?j-G?h)r}r(hNhNhUGlycerol 3-phosphaterh}rhUglyc3p_prhUEhJhGhh)r}r(hNhUC3H7O6Prh}rh"}rh$}r(UHKUCKUOKUPKuhjubh&Uph"}rh(h)]RrubGjG?j4GuhNhUG?uhNhU@D-glycerate transport via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]r(jtjzeRrhU GLYCAt2rpprh2Gh3h4hNh5U(b2789 or b3127)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhU@D-glycerate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGLYCAtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r (h UAlternate Carbon Metabolismr h }r (jCGj>G?jGjeG?jG?uhNhUGlycerol dehydrogenaser h,G@@h-Gh}r h/h)]rjFaRrhUGLYCDxrh2Gh3h4hNh5Ub3945rh"}rh7Nubh)r}r(h UGlyoxylate Metabolismrh }r(j Gh)r}r(hNhNhU3-Phospho-D-glyceraterh}rhU3pg_crhUEhJhGhh)r}r(hNhUC3H4O7Prh}rh"}r h$}r!(UHKUCKUOKUPKuhjubh&Uch"}r"h(h)]Rr#ubG?j-G?j>G?j܊GuhNhUglycerate kinaser$h,G@@h-Gh}r%h/h)]r&j!)r'}r((hNj!KhNhUb0514r)h}r*j!hj)hNhNj!Kh&Nh"}r+j!U+h(h)]Rr,ubaRr-hUGLYCKr.h2Gh3h4hNh5j)h"}r/h7Nubh)r0}r1(h UGlycine and Serine Metabolismr2h }r3(j>G?j-G?jqG?j܊Gj GuhNhUglycerate kinaser4h,G@@h-Gh}r5h/h)]r6j!)r7}r8(hNj!KhNhUb3124r9h}r:j!hj9hNhNj!Kh&Nh"}r;j!U+h(h)]Rr<ubaRr=hUGLYCK2r>h2Gh3h4hNh5j9h"}r?h7Nubh)r@}rA(h UFolate MetabolismrBh }rC(jG?j -G?jLG?j$G?hGjGjGuhNhUGlycine Cleavage SystemrDh,G@@h-Gh}rEh/h)]rF(jAj!)rG}rH(hNj!KhNhUb2903rIh}rJj!hjIhNhNj!Kh&Nh"}rKj!U+h(h)]RrLubj!)rM}rN(hNj!KhNhUb2905rOh}rPj!hjOhNhNj!Kh&Nh"}rQj!U+h(h)]RrRubj!)rS}rT(hNj!KhNhUb2904rUh}rVj!hjUhNhNj!Kh&Nh"}rWj!U+h(h)]RrXubeRrYhUGLYCLrZh2Gh3h4hNh5U%(b2904 and b2903 and b2905 and b0116)r[h"}r\h7Nubh)r]}r^(h UGlyoxylate Metabolismr_h }r`(jGjG?j>GjvGjG?uhNhUGlycolate dehydrogenase (NAD)rah,G@@h-Gh}rbh/h)]rc(j-(j!)rd}re(hNj!KhNhUb1033rfh}rgj!hjfhNhNj!Kh&Nh"}rhj!U+h(h)]RriubeRrjhUGLYCLTDxrkh2Gh3h4hNh5U(b3553 or b1033)rlh"}rmh7Nubh)rn}ro(h UGlyoxylate Metabolismrph }rq(jCGjvGj>Gj)G?jG?uhNhUGlycolate dehydrogenase (NADP)rrh,G@@h-Gh}rsh/h)]rt(j-(jdeRruhUGLYCLTDyrvh2Gh3h4hNh5U(b1033 or b3553)rwh"}rxh7Nubh)ry}rz(h UTransport, Inner Membraner{h }r|(j>G?j"Gh)r}}r~(hNhNhU Glycolaterh}rhUglyclt_prhUEhJhGhh)r}r(hNhUC2H3O3rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uph"}rh(h)]RrubGjG?uhNhU>glycolate transport via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]r(jaj aeRrhU GLYCLTt2rpprh2Gh3h4hNh5U(b3603 or b2975)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jG?j}Gj8;GjE;G?uhNhU2glycolate transport via sodium symport (periplasm)rh,G@@h-Gh}rh/h)]rjU;aRrhU GLYCLTt4pprh2Gh3h4hNh5Ub4067rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j Gj}G?uhNhU>glycolate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU GLYCLTtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jGjNGjvG?jG?uhNhUGlycolate oxidaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb4467rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2979rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4468rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUGLYCTO2rh2Gh3h4hNh5U(b2979 and b4467 and b4468)r‹h"}rËh7Nubh)rċ}rŋ(h UAlternate Carbon MetabolismrƋh }rNj(jGjDNGjvG?jG?uhNhUGlycolate oxidaserȋh,G@@h-Gh}rɋh/h)]rʋ(jjjeRrˋhUGLYCTO3r̋h2Gh3h4hNh5U(b2979 and b4467 and b4468)r͋h"}r΋h7Nubh)rϋ}rЋ(h UAlternate Carbon Metabolismrыh }rҋ(jTjGjGj~G?jvG?uhNhUGlycolate oxidaserӋh,G@@h-Gh}rԋh/h)]rՋ(jjjeRr֋hUGLYCTO4r׋h2Gh3h4hNh5U(b2979 and b4467 and b4468)r؋h"}rًh7Nubh)rڋ}rۋ(h UTransport, Outer Membrane Porinr܋h }r݋(jGj_XG?uhNhU=glycerol transport via diffusion (extracellular to periplasm)rދh,G@@h-G@h}rߋh/h)]r(j!j!j!j!eRrhUGLYCtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j_XG?jCGuhNhU*glycerol transport via channel (periplasm)rh,G@@h-G@h}rh/h)]r(jHjB4eRrhUGLYCtpprh2Gh3h4hNh5U(b3927 or s0001)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jCGj-G?j>G?jHG?j GuhNhUglycerol kinaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3926rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGLYKrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UMethylglyoxal Metabolismrh }r(j>G?j4Gh)r}r(hNhNhU(R)-S-Lactoylglutathionerh}rhUlgt__S_crhUEhJhGhh)r }r (hNhU C13H20N3O8Sr h}r h"}r h$}r(UHKUCK USKUOKUNKuhj ubh&Uch"}rh(h)]RrubGj6G?jwG?uhNhU hydroxyacylglutathione hydrolaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0212rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGLYOXrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UMethylglyoxal Metabolismrh }r (j4Gj/1Gj>G?j6G?uhNhUglyoxalase IIIr!h,G@@h-Gh}r"h/h)]Rr#hUGLYOX3r$h2Gh3h4hNh5Uh"}r%h7Nubh)r&}r'(h U tRNA Chargingr(h }r)(j%G?j Gh)r*}r+(hNhNhUGlycyl-tRNA(Gly)r,h}r-hU glytrna_cr.hUEhKhGhh)r/}r0(hNhUC2H4NORr1h}r2h"}r3h$}r4(UHKUCKURKUOKUNKuhj1ubh&Uch"}r5h(h)]Rr6ubG?hGjTG?h)r7}r8(hNhNhU tRNA(Gly)r9h}r:hU trnagly_cr;hUEhKhGhh)r<}r=(hNhURh}r>h"}r?h$}r@URKshURubh&Uch"}rAh(h)]RrBubGuhNhUGlycyl-tRNA synthetaserCh,G@@h-Gh}rDh/h)]rE(j!)rF}rG(hNj!KhNhUb3559rHh}rIj!hjHhNhNj!Kh&Nh"}rJj!U+h(h)]RrKubj!)rL}rM(hNj!KhNhUb3560rNh}rOj!hjNhNhNj!Kh&Nh"}rPj!U+h(h)]RrQubeRrRhUGLYTRSrSh2Gh3h4hNh5U(b3559 and b3560)rTh"}rUh7Nubh)rV}rW(h UTransport, Inner MembranerXh }rY(j>G?hG?j"Gh)rZ}r[(hNhNhUGlyciner\h}r]hUgly_pr^hUEhKhGhh)r_}r`(hNhUC2H5NO2rah}rbh"}rch$}rd(UHKUCKUOKUNKuhjaubh&Uph"}reh(h)]RrfubGuhNhU3glycine transport in via proton symport (periplasm)rgh,G@@h-Gh}rhh/h)]ri(jCjUeRrjhUGLYt2pprkh2Gh3h4hNh5U(b4208 or b1801)rlh"}rmh7Nubh)rn}ro(h UTransport, Inner Membranerph }rq(j"GjZGj>G?hG?uhNhU;glycine reversible transport via proton symport (periplasm)rrh,G@@h-G@h}rsh/h)]RrthUGLYt2rppruh2Gh3h4hNh5Uh"}rvh7Nubh)rw}rx(h UTransport, Inner Membraneryh }rz(j8;GjE;G?hG?jZGuhNhU3glycine transport in via sodium symport (periplasm)r{h,G@@h-Gh}r|h/h)]r}jCaRr~hUGLYt4pprh2Gh3h4hNh5Ub0007rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jxGjZG?uhNhUGjTG?h)r}r(hNhNhU%D-Glycero-D-manno-heptose 1-phosphaterh}rhU gmhep1p_crhUEhJhGhh)r}r(hNhU C7H13O10Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Uch"}rh(h)]RrubGuhNhU6D-glycero-D-manno-hepose 1-phosphate adenyltransferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3052rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGMHEPATrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j Gj>G?h)r}r(hNhNhU*D-Glycero-D-manno-heptose 1,7-bisphosphaterh}rhU gmhep17bp_crŒhUEhJhGhh)rÌ}rČ(hNhU C7H12O13P2rŌh}rƌh"}rnjh$}rȌ(UHK UCKUOK UPKuhjŌubh&Uch"}rɌh(h)]RrʌubG?h)rˌ}ř(hNhNhU%D-Glycero-D-manno-heptose 7-phosphater͌h}rΌhU gmhep7p_crόhUEhJhGhh)rЌ}rь(hNhU C7H13O10PrҌh}rӌh"}rԌh$}rՌ(UHK UCKUOK UPKuhjҌubh&Uch"}r֌h(h)]Rr׌ubGj-G?uhNhU,D-glycero-D-manno-heptose 7-phosphate kinaser،h,G@@h-Gh}rٌh/h)]rڌjaRrیhUGMHEPKr܌h2Gh3h4hNh5Ub3052r݌h"}rތh7Nubh)rߌ}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(jGjG?j4GjG?uhNhU6D-glycero-D-manno-heptose 1,7-bisphosphate phosphataserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0200rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGMHEPPArh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(jCGjLG?j>Gj/=Gj)G?j`>G?uhNhU GMP reductaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0104rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGMPRrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(j GjG?j>G@j/=G?j%G?h)r}r(hNhNhUXanthosine 5'-phosphaterh}rhUxmp_crhUEhJhGhh)r}r (hNhU C10H11N4O9Pr h}r h"}r h$}r (UHK UCK UPKUOK UNKuhj ubh&Uch"}rh(h)]RrubGjaGjTG?j4GuhNhU GMP synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2507rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGMPS2rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j Gh)r }r!(hNhNhUGMPr"h}r#hUgmp_pr$hUEhJhGhh)r%}r&(hNhU C10H12N5O8Pr'h}r(h"}r)h$}r*(UHK UCK UPKUOKUNKuhj'ubh&Uph"}r+h(h)]Rr,ubG?uhNhU8GMP transport via diffusion (extracellular to periplasm)r-h,G@@h-G@h}r.h/h)]r/(j!j!j!j!eRr0hUGMPtexr1h2Gh3h4hNh5U"(b1377 or b2215 or b0241 or b0929)r2h"}r3h7Nubh)r4}r5(h UPentose Phosphate Pathwayr6h }r7(j -G?j)GjCG?jG0G?jpGuhNhUphosphogluconate dehydrogenaser8h,G@@h-Gh}r9h/h)]r:j!)r;}r<(hNj!KhNhUb2029r=h}r>j!hj=hNhNj!Kh&Nh"}r?j!U+h(h)]Rr@ubaRrAhUGNDrBh2Gh3h4hNh5j=h"}rCh7Nubh)rD}rE(h UAlternate Carbon MetabolismrFh }rG(j GjpG?j-G?j>G?j(GuhNhU gluconokinaserHh,G@@h-Gh}rIh/h)]rJ(j!)rK}rL(hNj!KhNhUb4268rMh}rNj!hjMhNhNj!Kh&Nh"}rOj!U+h(h)]RrPubj!)rQ}rR(hNj!KhNhUb3437rSh}rTj!hjShNhNj!Kh&Nh"}rUj!U+h(h)]RrVubeRrWhUGNKrXh2Gh3h4hNh5U(b4268 or b3437)rYh"}rZh7Nubh)r[}r\(h UCell Envelope Biosynthesisr]h }r^(jCGjGj>Gh)r_}r`(hNhNhU GDP-L-fucoserah}rbhUgdpfuc_crchUEhJhGhh)rd}re(hNhU C16H23N5O15P2rfh}rgh"}rhh$}ri(UHKUCKUPKUOKUNKuhjfubh&Uch"}rjh(h)]RrkubG?j)G?uhNhUGDP-4-oxo-L-fucose reductaserlh,G@@h-Gh}rmh/h)]rnjׄaRrohUGOFUCRrph2Gh3h4hNh5Ub2052rqh"}rrh7Nubh)rs}rt(h UNucleotide Salvage Pathwayruh }rv(j4<G@h)rw}rx(hNhNhU%P1,P4-Bis(5'-guanosyl) tetraphosphateryh}rzhUgp4g_cr{hUEhJhGhh)r|}r}(hNhUC20H24N10O21P4r~h}rh"}rh$}r(UHKUCKUPKUOKUNK uhj~ubh&Uch"}rh(h)]RrubGj>G@j4GuhNhUGp4G hydrolaserh,G@@h-Gh}rh/h)]rjcHaRrhUGP4GHrh2Gh3h4hNh5Ub0049rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jUG?jbGj>G?jHG?j4GuhNhU?Glycerophosphodiester phosphodiesterase (Glycerophosphocholine)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3449rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGPDDA1rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jUG?j"G?j#GjG?joGuhNhU?Glycerophosphodiester phosphodiesterase (Glycerophosphocholine)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2239rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGPDDA1pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j>G?jHG?jGjrG?j4GuhNhUDGlycerophosphodiester phosphodiesterase (Glycerophosphoethanolamine)rh,G@@h-Gh}rh/h)]rjaRrhUGPDDA2rh2Gh3h4hNh5Ub3449rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jGj"G?jG?j#Gj:rG?uhNhUDGlycerophosphodiester phosphodiesterase (Glycerophosphoethanolamine)rh,G@@h-Gh}rh/h)]rjaRrhUGPDDA2pprh2Gh3h4hNh5Ub2239rh"}rh7Nubh)r}r(h UGlycerophospholipid MetabolismrÍh }rč(j4GjG?jHG?j>G?jGuhNhU>Glycerophosphodiester phosphodiesterase (Glycerophosphoserine)rōh,G@@h-Gh}rƍh/h)]rǍjaRrȍhUGPDDA3rɍh2Gh3h4hNh5Ub3449rʍh"}rˍh7Nubh)r̍}r͍(h UGlycerophospholipid Metabolismr΍h }rύ(h)rЍ}rэ(hNhNhUL-Serinerҍh}rӍhUser__L_prԍhUEhKhGhh)rՍ}r֍(hNhUC3H7NO3r׍h}r؍h"}rٍh$}rڍ(UHKUCKUOKUNKuhj׍ubh&Uph"}rۍh(h)]Rr܍ubG?j"G?jG?j#GjGuhNhU>Glycerophosphodiester phosphodiesterase (Glycerophosphoserine)rݍh,G@@h-Gh}rލh/h)]rߍjaRrhUGPDDA3pprh2Gh3h4hNh5Ub2239rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jCG?j>G?j0GjHG?j4GuhNhU@Glycerophosphodiester phosphodiesterase (Glycerophosphoglycerol)rh,G@@h-Gh}rh/h)]rjaRrhUGPDDA4rh2Gh3h4hNh5Ub3449rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j_XG?j"G?jG?j#Gj#GuhNhU@Glycerophosphodiester phosphodiesterase (Glycerophosphoglycerol)rh,G@@h-Gh}rh/h)]rjaRrhUGPDDA4pprh2Gh3h4hNh5Ub2239rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU myo-Inositolrh}rhUinost_crhUEhKhGhh)r}r(hNhUC6H12O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uch"}r h(h)]Rr ubG?j>G?jHG?j4Gj`GuhNhU@Glycerophosphodiester phosphodiesterase (Glycerophosphoinositol)r h,G@@h-Gh}r h/h)]r jaRrhUGPDDA5rh2Gh3h4hNh5Ub3449rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jSGj"G?jG?h)r}r(hNhNhU myo-Inositolrh}rhUinost_prhUEhKhGhh)r}r(hNhUC6H12O6rh}rh"}rh$}r (UHK UCKUOKuhjubh&Uph"}r!h(h)]Rr"ubG?j#GuhNhU@Glycerophosphodiester phosphodiesterase (Glycerophosphoinositol)r#h,G@@h-Gh}r$h/h)]r%jaRr&hUGPDDA5ppr'h2Gh3h4hNh5Ub2239r(h"}r)h7Nubh)r*}r+(h U*Cofactor and Prosthetic Group Biosynthesisr,h }r-(jpiGjTG?h)r.}r/(hNhNhUFarnesyl diphosphater0h}r1hUfrdp_cr2hUEhJhGhh)r3}r4(hNhU C15H25O7P2r5h}r6h"}r7h$}r8(UHKUCKUOKUPKuhj5ubh&Uch"}r9h(h)]Rr:ubG?j}iGuhNhUgeranyltranstransferaser;h,G@@h-Gh}r<h/h)]r=jiaRr>hUGRTTr?h2Gh3h4hNh5Ub0421r@h"}rAh7Nubh)rB}rC(h U UnassignedrDh }rE(h)rF}rG(hNhNhUglutaredoxin (oxidized)rHh}rIhUgrxox_crJhUEhKhGhh)rK}rL(hNhUXh}rMh"}rNh$}rOUXKshUXubh&Uch"}rPh(h)]RrQubGh)rR}rS(hNhNhUglutaredoxin (reduced)rTh}rUhUgrxrd_crVhUEhKhGhh)rW}rX(hNhUXH2rYh}rZh"}r[h$}r\(UXKUHKuhjYubh&Uch"}r]h(h)]Rr^ubG?jwGjPOG?uhNhUglutaredoxin reductaser_h,G@@h-Gh}r`h/h)]ra(j!)rb}rc(hNj!KhNhUb1654rdh}rej!hjdhNhNj!Kh&Nh"}rfj!U+h(h)]Rrgubj!)rh}ri(hNj!KhNhUb0849rjh}rkj!hjjhNhNj!Kh&Nh"}rlj!U+h(h)]Rrmubj!)rn}ro(hNj!KhNhUb3610rph}rqj!hjphNhNj!Kh&Nh"}rrj!U+h(h)]Rrsubj`OeRrthUGRXRruh2Gh3h4hNh5U"(b1064 or b3610 or b1654 or b0849)rvh"}rwh7Nubh)rx}ry(h UNucleotide Salvage Pathwayrzh }r{(j/=G?j-G?h)r|}r}(hNhNhU Guanosiner~h}rhUgsn_crhUEhKhGhh)r}r(hNhU C10H13N5O5rh}rh"}rh$}r(UHK UCK UOKUNKuhjubh&Uch"}rh(h)]RrubGj>G?j GuhNhUguanosine kinaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0477rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGSNKrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j|G?j+Gj>G?j"GuhNhU5guanosine transport in via proton symport (periplasm)rh,G@@h-Gh}rh/h)]rj<aRrhUGSNt2pprh2Gh3h4hNh5Ub2964rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j5Gj+G?uhNhU>guanosine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGSNtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UArginine and Proline Metabolismrh }r(jfG?jwG?h)r}r(hNhNhUGlutathionylspermidinerh}rhUgtspmd_crhUEhKhGhh)r}r(hNhU C17H36N6O5Srh}rh"}rh$}r(UHK$UCKUSKUOKUNKuhjubh&Uch"}rh(h)]RrubGj4GuhNhUGlutathionylspermidine amidaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2988rh}rŽj!hjhNhNj!Kh&Nh"}rÎj!U+h(h)]RrĎubaRrŎhUGSPMDArƎh2Gh3h4hNh5jh"}rǎh7Nubh)rȎ}rɎ(h UArginine and Proline Metabolismrʎh }rˎ(j GjwGj>G?j-G?jfGjG?jG?uhNhU!Glutathionylspermidine synthetaser̎h,G@@h-Gh}r͎h/h)]rΎjaRrώhUGSPMDSrЎh2Gh3h4hNh5Ub2988rюh"}rҎh7Nubh)rӎ}rԎ(h UTransport, Outer Membrane PorinrՎh }r֎(jJGjkG?uhNhUEglutathione (ox) transport via diffusion (extracellular to periplasm)r׎h,G@@h-G@h}r؎h/h)]rَ(j!j!j!j!eRrڎhUGTHOXtexrێh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r܎h"}rݎh7Nubh)rގ}rߎ(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j>GjPOGjwG@jCGj)G?uhNhUglutathione oxidoreductaserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb3500rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGTHOrrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U Unassignedrh }r(jPOG?j1GjwGj4G@uhNhUglutathione peridoxaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1710rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGTHPirh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jkGj߈G?jUG?j#GuhNhU#glutathione hydralase (periplasmic)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3447rh}rj!hjhNhNj!Kh&Nh"}r j!U+h(h)]Rr ubaRr hUGTHRDHppr h2Gh3h4hNh5jh"}r h7Nubh)r}r(h UTransport, Inner Membranerh }r(j GjkG?j-G?j>G?j4GjG?jwGuhNhU:glutathione export via ABC system (cytoplasm to periplasm)rh,G@@h-Gh}rh/h)]r(j_j_eRrhU GTHRDabc2pprh2Gh3h4hNh5U(b0886 and b0887)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j GjkGj-G?j>G?jwG?jG?j4GuhNhU.Reduced glutathione via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r }r!(hNj!KhNhUb0829r"h}r#j!hj"hNhNj!Kh&Nh"}r$j!U+h(h)]Rr%ubj!)r&}r'(hNj!KhNhUb0831r(h}r)j!hj(hNhNj!Kh&Nh"}r*j!U+h(h)]Rr+ubj!)r,}r-(hNj!KhNhUb0832r.h}r/j!hj.hNhNj!Kh&Nh"}r0j!U+h(h)]Rr1ubj!)r2}r3(hNj!KhNhUb0830r4h}r5j!hj4hNhNj!Kh&Nh"}r6j!U+h(h)]Rr7ubeRr8hU GTHRDabcppr9h2Gh3h4hNh5U%(b0829 and b0830 and b0831 and b0832)r:h"}r;h7Nubh)r<}r=(h UTransport, Outer Membrane Porinr>h }r?(j_GjkG?uhNhU@glutathione transport via diffusion (extracellular to periplasm)r@h,G@@h-G@h}rAh/h)]rB(j!j!j!j!eRrChUGTHRDtexrDh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rEh"}rFh7Nubh)rG}rH(h U*Cofactor and Prosthetic Group BiosynthesisrIh }rJ(j GjwG?j>G?hGj-G?jGjG?uhNhUglutathione synthetaserKh,G@@h-Gh}rLh/h)]rMj!)rN}rO(hNj!KhNhUb2947rPh}rQj!hjPhNhNj!Kh&Nh"}rRj!U+h(h)]RrSubaRrThUGTHSrUh2Gh3h4hNh5jPh"}rVh7Nubh)rW}rX(h U*Cofactor and Prosthetic Group BiosynthesisrYh }rZ(jZG?jHGG?j>G?j4GjGuhNhUGTP cyclohydrolase Ir[h,G@@h-Gh}r\h/h)]r]j!)r^}r_(hNj!KhNhUb2153r`h}raj!hj`hNhNj!Kh&Nh"}rbj!U+h(h)]RrcubaRrdhUGTPCIreh2Gh3h4hNh5j`h"}rfh7Nubh)rg}rh(h U*Cofactor and Prosthetic Group Biosynthesisrih }rj(jHGG?jTG?jGj>G@j4GjhG?uhNhUGTP cyclohydrolase II (25drapp)rkh,G@@h-Gh}rlh/h)]rmj!)rn}ro(hNj!KhNhUb1277rph}rqj!hjphNhNj!Kh&Nh"}rrj!U+h(h)]RrsubaRrthUGTPCII2ruh2Gh3h4hNh5jph"}rvh7Nubh)rw}rx(h U*Cofactor and Prosthetic Group Biosynthesisryh }rz(jG?j>G?jOGjG?j4GuhNhU6guanosine-5'-triphosphate,3'-diphosphate diphosphataser{h,G@@h-Gh}r|h/h)]r}j!)r~}r(hNj!KhNhUb3779rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGTPDPDPrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j GjOG?jGj>G?j%G?uhNhUGTP diphosphokinaserh,G@@h-Gh}rh/h)]rjaRrhUGTPDPKrh2Gh3h4hNh5Ub2784rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jLG?h)r}r(hNhNhUXTPrh}rhUxtp_crhUEhJhGhh)r}r(hNhU C10H11N4O15P3rh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?jGj>Gj4GuhNhU"GTP amine hydrolysis (spontaneous)rh,G@@h-Gh}rh/h)]rjB4aRrhUGTPHsrh2Gh3h4hNh5Us0001rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(h)r}r(hNhNhUGTPrh}rhUgtp_prhUEhJhGhh)r}r(hNhU C10H12N5O14P3rh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Uph"}rh(h)]RrubG?jtGuhNhU8GTP transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUGTPtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}rÏ(h UNucleotide Salvage Pathwayrďh }rŏ(h)rƏ}rǏ(hNhNhU3',5'-Cyclic GMPrȏh}rɏhU35cgmp_crʏhUEhJhGhh)rˏ}ȑ(hNhU C10H11N5O7Pr͏h}rΏh"}rϏh$}rЏ(UHK UCK UPKUOKUNKuhj͏ubh&Uch"}rяh(h)]RrҏubG?jGjTG?uhNhUguanylate cyclaserӏh,G@@h-Gh}rԏh/h)]RrՏhUGUACYCr֏h2Gh3h4hNh5Uh"}r׏h7Nubh)r؏}rُ(h UNucleotide Salvage Pathwayrڏh }rۏ(jLG?j>Gh)r܏}rݏ(hNhNhUGuaninerޏh}rߏhUgua_crhUEhKhGhh)r}r(hNhUC5H5N5Orh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubGh)r}r(hNhNhUXanthinerh}rhUxan_crhUEhKhGhh)r}r(hNhUC5H4N4O2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubG?j4GuhNhUguanine deaminaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2883rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUGUADrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j=Gj/=G?j܏GjTG?uhNhU!guanine phosphoribosyltransferaserh,G@@h-Gh}rh/h)]r(j!)r }r (hNj!KhNhUb0125r h}r j!hj hNhNj!Kh&Nh"}r j!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0238rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUGUAPRTrh2Gh3h4hNh5U(b0238 or b0125)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j܏G?j"Gj>G?h)r}r(hNhNhUGuaninerh}r hUgua_pr!hUEhKhGhh)r"}r#(hNhUC5H5N5Or$h}r%h"}r&h$}r'(UHKUCKUOKUNKuhj$ubh&Uph"}r(h(h)]Rr)ubGuhNhU3guanine transport in via proton symport (periplasm)r*h,G@@h-Gh}r+h/h)]r,j<aRr-hUGUAt2ppr.h2Gh3h4hNh5Ub3654r/h"}r0h7Nubh)r1}r2(h UTransport, Outer Membraner3h }r4(jGjG?uhNhUh }r?(j܏G?jGuhNhU+Guanine transport via diffusion (periplasm)r@h,G@@h-G@h}rAh/h)]RrBhUGUAtpprCh2Gh3h4hNh5Uh"}rDh7Nubh)rE}rF(h UAlternate Carbon MetabolismrGh }rH(jGj|G?uhNhU%glucuronate isomerase (D-glucuronate)rIh,G@@h-G@h}rJh/h)]rKj!)rL}rM(hNj!KhNhUb3092rNh}rOj!hjNhNhNj!Kh&Nh"}rPj!U+h(h)]RrQubaRrRhUGUI1rSh2Gh3h4hNh5jNh"}rTh7Nubh)rU}rV(h UAlternate Carbon MetabolismrWh }rX(jjGj́G?uhNhU'glucuronate isomerase (D-galacturonate)rYh,G@@h-G@h}rZh/h)]r[jLaRr\hUGUI2r]h2Gh3h4hNh5Ub3092r^h"}r_h7Nubh)r`}ra(h UAlternate Carbon Metabolismrbh }rc(jÇG?jGj+G?j#GuhNhU/Glucuronate 1-phosphate phosphatase (periplasm)rdh,G@@h-Gh}reh/h)]RrfhUGUR1PPpprgh2Gh3h4hNh5Uh"}rhh7Nubh)ri}rj(h UTransport, Outer Membrane Porinrkh }rl(jGj.G?uhNhU4hydrogen peroxide transport via diffusion (external)rmh,G@@h-G@h}rnh/h)]ro(j!j!j!j!eRrphUH2O2texrqh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rrh"}rsh7Nubh)rt}ru(h UTransport, Outer Membrane Porinrvh }rw(jGj#G?uhNhU8H2O transport via diffusion (extracellular to periplasm)rxh,G@@h-G@h}ryh/h)]rz(j!)r{}r|(hNj!KhNhUb1319r}h}r~j!hj}hNhNj!Kh&Nh"}rj!U+h(h)]RrubjB4j!j!j!)r}r(hNj!KhNhUb3875rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!j!)r}r(hNj!KhNhUb0957rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!eRrhUH2Otexrh2Gh3h4hNh5UF(s0001 or b0957 or b3875 or b2215 or b0241 or b1319 or b1377 or b0929)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j4G?j#GuhNhU'H2O transport via diffusion (periplasm)rh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb0875rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubjB4eRrhUH2Otpprh2Gh3h4hNh5U(s0001 or b0875)rh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j>G@j*GjG?j^GuhNhUHydrogen sulfide oxidationrh,G@@h-Gh}rh/h)]RrhUH2SOrh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(h)r}r(hNhNhUHydrogen sulfiderh}rhUh2s_prhUEhKhGhh)r}r(hNhUH2Srh}rh"}rh$}r(UHKUSKuhjubh&Uph"}rh(h)]RrubG?j^GuhNhUh2s transport (periplasm)rh,G@@h-Gh}rh/h)]rjB4aRrhUH2St1pprh2Gh3h4hNh5Us0001rh"}rh7Nubh)rÐ}rĐ(h UTransport, Outer Membrane PorinrŐh }rƐ(jG?jGuhNhU8h2s transport via diffusion (extracellular to periplasm)rǐh,G@@h-G@h}rȐh/h)]rɐ(j!j!j!j!eRrʐhUH2Stexrːh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r̐h"}r͐h7Nubh)rΐ}rϐ(h UTransport, Outer Membrane PorinrАh }rѐ(jGh)rҐ}rӐ(hNhNhUH2rԐh}rՐhUh2_pr֐hUEhKhGhh)rא}rؐ(hNhUH2rِh}rڐh"}rېh$}rܐUHKshjِubh&Uph"}rݐh(h)]RrސubG?uhNhU=hydrogen transport via diffusion (extracellular to periplasm)rߐh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUH2texrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jwzG?jҐGuhNhU(hydrogen transport diffusion (periplasm)rh,G@@h-G@h}rh/h)]rjB4aRrhUH2tpprh2Gh3h4hNh5Us0001rh"}rh7Nubh)r}r(h UMembrane Lipid Metabolismrh }r(jGjG?joG?j>Gj}2GuhNhU13-hydroxyacyl-CoA dehydrogenase (acetoacetyl-CoA)rh,G@@h-G@h}rh/h)]r(joj]eRrhUHACD1rh2Gh3h4hNh5U(b3846 or b2341)rh"}rh7Nubh)r}r(h UMembrane Lipid Metabolismrh }r(jGj>Gj2GjG?jpG?uhNhU33-hydroxyacyl-CoA dehydrogenase (3-oxohexanoyl-CoA)rh,G@@h-G@h}rh/h)]r(joj]eRrhUHACD2rh2Gh3h4hNh5U(b3846 or b2341)rh"}rh7Nubh)r}r(h UMembrane Lipid Metabolismr h }r (j2GjGj>GjG?jpG?uhNhU33-hydroxyacyl-CoA dehydrogenase (3-oxooctanoyl-CoA)r h,G@@h-G@h}r h/h)]r (joj]eRrhUHACD3rh2Gh3h4hNh5U(b3846 or b2341)rh"}rh7Nubh)r}r(h UMembrane Lipid Metabolismrh }r(jGj>GjG?j1pG?j/3GuhNhU33-hydroxyacyl-CoA dehydrogenase (3-oxodecanoyl-CoA)rh,G@@h-G@h}rh/h)]r(joj]eRrhUHACD4rh2Gh3h4hNh5U(b3846 or b2341)rh"}rh7Nubh)r}r(h UMembrane Lipid Metabolismrh }r (jGj>GjG3GjG?jIpG?uhNhU53-hydroxyacyl-CoA dehydrogenase (3-oxododecanoyl-CoA)r!h,G@@h-G@h}r"h/h)]r#(joj]eRr$hUHACD5r%h2Gh3h4hNh5U(b3846 or b2341)r&h"}r'h7Nubh)r(}r)(h UMembrane Lipid Metabolismr*h }r+(jGjapG?jG?jl3Gj>GuhNhU83-hydroxyacyl-CoA dehydrogenase (3-oxotetradecanoyl-CoA)r,h,G@@h-G@h}r-h/h)]r.(joj]eRr/hUHACD6r0h2Gh3h4hNh5U(b3846 or b2341)r1h"}r2h7Nubh)r3}r4(h UMembrane Lipid Metabolismr5h }r6(jGjG?j3Gj>GjypG?uhNhU73-hydroxyacyl-CoA dehydrogenase (3-oxohexadecanoyl-CoA)r7h,G@@h-G@h}r8h/h)]r9(joj]eRr:hUHACD7r;h2Gh3h4hNh5U(b3846 or b2341)r<h"}r=h7Nubh)r>}r?(h UMembrane Lipid Metabolismr@h }rA(jGj3GjG?jpG?j>GuhNhUD3-hydroxyacyl-CoA dehydrogenase (3-oxooctadecanoyl-CoA), peroxisomalrBh,G@@h-G@h}rCh/h)]rD(joj]eRrEhUHACD8rFh2Gh3h4hNh5U(b3846 or b2341)rGh"}rHh7Nubh)rI}rJ(h UAlternate Carbon MetabolismrKh }rL(jE.G?jeGj>G?jGjG?uhNhU(3-hydroxyadipyl-CoA dehydrogenase (NAD+)rMh,G@@h-G@h}rNh/h)]rOj!)rP}rQ(hNj!KhNhUb1395rRh}rSj!hjRhNhNj!Kh&Nh"}rTj!U+h(h)]RrUubaRrVhU HADPCOADH3rWh2Gh3h4hNh5jRh"}rXh7Nubh)rY}rZ(h U*Cofactor and Prosthetic Group Biosynthesisr[h }r\(jgGjTG?h)r]}r^(hNhNhU3-Octaprenyl-4-hydroxybenzoater_h}r`hU3ophb_crahUEhJhGhh)rb}rc(hNhUC47H69O3rdh}reh"}rfh$}rg(UHKEUCK/UOKuhjdubh&Uch"}rhh(h)]RriubG?jZVGuhNhU%Hydroxybenzoate octaprenyltransferaserjh,G@@h-Gh}rkh/h)]rlj!)rm}rn(hNj!KhNhUb4040roh}rpj!hjohNhNj!Kh&Nh"}rqj!U+h(h)]RrrubaRrshUHBZOPTrth2Gh3h4hNh5joh"}ruh7Nubh)rv}rw(h UTransport, Inner Membranerxh }ry(j*G?j"Gj>G?h)rz}r{(hNhNhU3-hydroxycinnamic acidr|h}r}hU 3hcinnm_pr~hUEhJhGhh)r}r(hNhUC9H7O3rh}rh"}rh$}r(UHKUCK UOKuhjubh&Uph"}rh(h)]RrubGuhNhUK3-hydroxycinnamic acid transport via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb0353rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhU HCINNMt2rpprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jzG?jvGuhNhUK3-hydroxycinnamic acid transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU HCINNMtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U Unassignedrh }r(j -Gj>G?j4Gj4G?uhNhUHCO3 equilibration reactionrh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb0126rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0339rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUHCO3Erh2Gh3h4hNh5U(b0126 or b0339)rh"}rh7Nubh)r}r(h UMethionine Metabolismrh }r(j>G?jY_GjGjG?j9G?uhNhU homocysteine S-methyltransferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0261rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRr‘hUHCYSMTrÑh2Gh3h4hNh5jh"}rđh7Nubh)rő}rƑ(h UMethionine MetabolismrǑh }rȑ(j>G?jY_Gh)rɑ}rʑ(hNhNhUS-Methyl-L-methioninerˑh}ȓhUmmet_cr͑hUEhKhGhh)rΑ}rϑ(hNhU C6H14NO2SrБh}rёh"}rґh$}rӑ(UHKUCKUSKUOKUNKuhjБubh&Uch"}rԑh(h)]RrՑubGjG@uhNhUHomocysteine Methyltransferaser֑h,G@@h-Gh}rבh/h)]rؑjaRrّhUHCYSMT2rڑh2Gh3h4hNh5Ub0261rۑh"}rܑh7Nubh)rݑ}rޑ(h UTransport, Outer Membranerߑh }r(j.tG?j0GuhNhU[Hexadecanoate transport via facilitated irreversible diffusion (extracellular to periplasm)rh,G@@h-Gh}rh/h)]rjcaRrhUHDCAtexirh2Gh3h4hNh5Ub2344rh"}rh7Nubh)r}r(h UTransport, Outer Membranerh }r(jFtG?jEGuhNhU[Hexadecenoate transport via facilitated irreversible diffusion (extracellular to periplasm)rh,G@@h-Gh}rh/h)]rjcaRrhU HDCEAtexirh2Gh3h4hNh5Ub2344rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jTG?j:Gj.GjG?j4GuhNhUHeme O synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0428rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUHEMEOSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j Gj-G?j>G?h)r}r(hNhNhU%phospho-heptosyl-heptosyl-kdo2-lipidAr h}r hU phhlipa_cr hUEhJhGhh)r }r (hNhUC124H219N2O54P3rh}rh"}rh$}r(UHKUCK|UPKUOK6UNKuhjubh&Uch"}rh(h)]RrubG?h)r}r(hNhNhUheptosyl-heptosyl-kdo2-lipidArh}rhUhhlipa_crhUEhJhGhh)r}r(hNhUC124H220N2O51P2rh}rh"}rh$}r(UHKUCK|UPKUOK3UNKuhjubh&Uch"}rh(h)]Rr ubGuhNhU)LPS heptose kinase I (LPS core synthesis)r!h,G@@h-Gh}r"h/h)]r#j!)r$}r%(hNj!KhNhUb3630r&h}r'j!hj&hNhNj!Kh&Nh"}r(j!U+h(h)]Rr)ubaRr*hUHEPK1r+h2Gh3h4hNh5j&h"}r,h7Nubh)r-}r.(h U+Lipopolysaccharide Biosynthesis / Recyclingr/h }r0(j Gh)r1}r2(hNhNhU.heptosyl-phospho-heptosyl-heptosyl-kdo2-lipidAr3h}r4hU hphhlipa_cr5hUEhJhGhh)r6}r7(hNhUC131H231N2O60P3r8h}r9h"}r:h$}r;(UHKUCKUPKUOKG?j-G?h)r>}r?(hNhNhU6phospho-heptosyl-phospho-heptosyl-heptosyl-kdo2-lipidAr@h}rAhU phphhlipa_crBhUEhJhGhh)rC}rD(hNhUC131H230N2O63P4rEh}rFh"}rGh$}rH(UHKUCKUPKUOK?UNKuhjEubh&Uch"}rIh(h)]RrJubG?uhNhU*LPS heptose kinase II (LPS core synthesis)rKh,G@@h-Gh}rLh/h)]rMj!)rN}rO(hNj!KhNhUb3625rPh}rQj!hjPhNhNj!Kh&Nh"}rRj!U+h(h)]RrSubaRrThUHEPK2rUh2Gh3h4hNh5jPh"}rVh7Nubh)rW}rX(h U+Lipopolysaccharide Biosynthesis / RecyclingrYh }rZ(j?Gj>G?jqGh)r[}r\(hNhNhUheptosyl-kdo2-lipidAr]h}r^hUhlipa_cr_hUEhJhGhh)r`}ra(hNhUC117H208N2O45P2rbh}rch"}rdh$}re(UHKUCKuUPKUOK-UNKuhjbubh&Uch"}rfh(h)]RrgubG?j-G?uhNhU*heptosyltransferase I (LPS core synthesis)rhh,G@@h-Gh}rih/h)]rjj!)rk}rl(hNj!KhNhUb3621rmh}rnj!hjmhNhNj!Kh&Nh"}roj!U+h(h)]RrpubaRrqhUHEPT1rrh2Gh3h4hNh5jmh"}rsh7Nubh)rt}ru(h U+Lipopolysaccharide Biosynthesis / Recyclingrvh }rw(j?Gj>G?jG?j-G?j[GuhNhU+heptosyltransferase II (LPS core synthesis)rxh,G@@h-Gh}ryh/h)]rzj!)r{}r|(hNj!KhNhUb3620r}h}r~j!hj}hNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUHEPT2rh2Gh3h4hNh5j}h"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j1G?j-G?j>G?jGj?GuhNhU,heptosyltransferase III (LPS core synthesis)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3632rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUHEPT3rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j-G?jZG?j>G?jGj?GuhNhU+heptosyltransferase IV (LPS core synthesis)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3623rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUHEPT4rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j Gj>G?h)r}r(hNhNhU$4-Methyl-5-(2-hydroxyethyl)-thiazolerh}rhU4mhetz_crhUEhKhGhh)r}r(hNhUC6H9NOSrh}rh"}rh$}r(UHK UCKUSKUOKUNKuhjubh&Uch"}rh(h)]RrubGj-G?h)r}r(hNhNhU$4-Methyl-5-(2-phosphoethyl)-thiazolerh}rhU4mpetz_crhUEhJhGhh)r}r(hNhU C6H8NO4PSrh}rh"}rh$}r(UCKUHKUOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubG?uhNhUhydroxyethylthiazole kinaser’h,G@@h-Gh}rÒh/h)]rĒj!)rŒ}rƒ(hNj!KhNhUb2104rǒh}rȒj!hjǒhNhNj!Kh&Nh"}rɒj!U+h(h)]RrʒubaRr˒hUHETZKr̒h2Gh3h4hNh5jǒh"}r͒h7Nubh)rΒ}rϒ(h UGlycolysis/GluconeogenesisrВh }rђ(j Gj>G?j1G?j-G?jFGuhNhUhexokinase (D-glucose:ATP)rҒh,G@@h-Gh}rӒh/h)]rԒj!)rՒ}r֒(hNj!KhNhUb2388rגh}rؒj!hjגhNhNj!Kh&Nh"}rْj!U+h(h)]RrڒubaRrےhUHEX1rܒh2Gh3h4hNh5jגh"}rݒh7Nubh)rޒ}rߒ(h UAlternate Carbon Metabolismrh }r(j GjGh)r}r(hNhNhUD-Mannose 6-phosphaterh}rhUman6p_crhUEhJhGhh)r}r(hNhUC6H11O9Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Uch"}rh(h)]RrubG?j>G?j-G?uhNhUhexokinase (D-mannose:ATP)rh,G@@h-Gh}rh/h)]RrhUHEX4rh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j Gj>G?jWEG?jrGj-G?uhNhUhexokinase (D-fructose:ATP)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0394rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUHEX7rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?j"GjsG?jtGuhNhU>hexanoate transport via proton symport, reversible (periplasm)rh,G@@h-G@h}r h/h)]r j3aRr hUHEXt2rppr h2Gh3h4hNh5Ub2223r h"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j Gh)r}r(hNhNhUHg2+rh}rhUhg2_prhUEhKhGhh)r}r(hNhUHgrh}rh"}rh$}rjKshjubh&Uph"}rh(h)]RrubG?j>G?h)r }r!(hNhNhUHg2+r"h}r#hUhg2_cr$hUEhKhGhh)r%}r&(hNhUHgr'h}r(h"}r)h$}r*j'Kshj'ubh&Uch"}r+h(h)]Rr,ubGj-G?jG?j4GuhNhU*Mercury (Hg+2) ABC transporter (periplasm)r-h,G@@h-Gh}r.h/h)]r/jSaRr0hUHG2abcppr1h2Gh3h4hNh5Ub3469r2h"}r3h7Nubh)r4}r5(h U&Inorganic Ion Transport and Metabolismr6h }r7(j>G?j"Gj GjG?uhNhUh7Nubh)r?}r@(h UTransport, Outer Membrane PorinrAh }rB(jG?jZGuhNhUCmercury (Hg+2) transport via diffusion (extracellular to periplasm)rCh,G@@h-G@h}rDh/h)]rE(j!j!j!j!eRrFhUHG2texrGh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rHh"}rIh7Nubh)rJ}rK(h UHistidine MetabolismrLh }rM(jG@j>G@h)rN}rO(hNhNhU L-HistidinolrPh}rQhUhistd_crRhUEhKhGhh)rS}rT(hNhUC6H12N3OrUh}rVh"}rWh$}rX(UHK UCKUOKUNKuhjUubh&Uch"}rYh(h)]RrZubGjG?jGj4GuhNhUhistidinol dehydrogenaser[h,G@@h-Gh}r\h/h)]r]j!)r^}r_(hNj!KhNhUb2020r`h}raj!hj`hNhNj!Kh&Nh"}rbj!U+h(h)]RrcubaRrdhUHISTDreh2Gh3h4hNh5j`h"}rfh7Nubh)rg}rh(h UHistidine Metabolismrih }rj(jNG?h)rk}rl(hNhNhUL-Histidinol phosphatermh}rnhUhisp_crohUEhJhGhh)rp}rq(hNhU C6H11N3O4Prrh}rsh"}rth$}ru(UHK UCKUPKUOKUNKuhjrubh&Uch"}rvh(h)]RrwubGjG?j4GuhNhUhistidinol-phosphataserxh,G@@h-Gh}ryh/h)]rzj!)r{}r|(hNj!KhNhUb2022r}h}r~j!hj}hNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUHISTPrh2Gh3h4hNh5j}h"}rh7Nubh)r}r(h U tRNA Chargingrh }r(j GjTG?h)r}r(hNhNhU tRNA(His)rh}rhU trnahis_crhUEhKhGhh)r}r(hNhURh}rh"}rh$}rURKshURubh&Uch"}rh(h)]RrubGh)r}r(hNhNhUL-Histidyl-tRNA(His)rh}rhU histrna_crhUEhKhGhh)r}r(hNhUC6H8N3ORrh}rh"}rh$}r(UHKUCKURKUOKUNKuhjubh&Uch"}rh(h)]RrubG?j%G?jGuhNhUHistidyl-tRNA synthetaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2514rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUHISTRSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj>G?jG?j-G?jG?j4Gh)r}r(hNhNhU L-Histidinerh}rhUhis__L_prhUEhKhGhh)r}r(hNhUC6H9N3O2rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Uph"}rh(h)]RrubGuhNhU0L-histidine transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(jKj!)r}r“(hNj!KhNhUb2309rÓh}rēj!hjÓhNhNj!Kh&Nh"}rœj!U+h(h)]RrƓubj Lj&LeRrǓhUHISabcpprȓh2Gh3h4hNh5U%(b2309 and b2307 and b2306 and b2308)rɓh"}rʓh7Nubh)r˓}r̓(h UTransport, Inner Membraner͓h }rΓ(j>G?jG?j"GjGuhNhU?L-histidine reversible transport via proton symport (periplasm)rϓh,G@@h-G@h}rГh/h)]rѓj!)rғ}rӓ(hNj!KhNhUb0112rԓh}rՓj!hjԓhNhNj!Kh&Nh"}r֓j!U+h(h)]RrדubaRrؓhUHISt2rpprٓh2Gh3h4hNh5jԓh"}rړh7Nubh)rۓ}rܓ(h UTransport, Outer Membrane Porinrݓh }rޓ(joGjG?uhNhU@L-histidine transport via diffusion (extracellular to periplasm)rߓh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUHIStexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhU(2-Hydroxy-6-oxonona-2,4-diene-1,9-dioaterh}rhUhkndd_crhUEhJhGhh)r}r(hNhUC9H8O6rh}rh"}rh$}r(UHKUCK UOKuhjubh&Uch"}rh(h)]RrubGj>G?h)r}r(hNhNhU2-Oxopent-4-enoaterh}rhUop4en_crhUEhJhGhh)r}r(hNhUC5H5O3rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubG?j4Gj\NG?uhNhU22-hydroxy-6-ketonona-2,4-dienedioic acid hydrolaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0349r h}r j!hj hNhNj!Kh&Nh"}r j!U+h(h)]Rr ubaRr hUHKNDDHrh2Gh3h4hNh5j h"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j>G?j>G?jG?j4GjKfGuhNhU*2-hydroxy-6-ketononotrienedioate hydrolaserh,G@@h-Gh}rh/h)]rjaRrhUHKNTDHrh2Gh3h4hNh5Ub0349rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jLG@h)r}r (hNhNhUPorphobilinogenr!h}r"hUppbng_cr#hUEhJhGhh)r$}r%(hNhU C10H13N2O4r&h}r'h"}r(h$}r)(UHK UCK UOKUNKuhj&ubh&Uch"}r*h(h)]Rr+ubGh)r,}r-(hNhNhUHydroxymethylbilaner.h}r/hUhmbil_cr0hUEhJhGhh)r1}r2(hNhU C40H38N4O17r3h}r4h"}r5h$}r6(UHK&UCK(UOKUNKuhj3ubh&Uch"}r7h(h)]Rr8ubG?j4GuhNhUhydroxymethylbilane synthaser9h,G@@h-Gh}r:h/h)]r;j!)r<}r=(hNj!KhNhUb3805r>h}r?j!hj>hNhNj!Kh&Nh"}r@j!U+h(h)]RrAubaRrBhUHMBSrCh2Gh3h4hNh5j>h"}rDh7Nubh)rE}rF(h U*Cofactor and Prosthetic Group BiosynthesisrGh }rH(j Gh)rI}rJ(hNhNhU*4-Amino-5-hydroxymethyl-2-methylpyrimidinerKh}rLhU4ahmmp_crMhUEhKhGhh)rN}rO(hNhUC6H9N3OrPh}rQh"}rRh$}rS(UHK UCKUOKUNKuhjPubh&Uch"}rTh(h)]RrUubGj-G?j>G?ju(G?uhNhU$hydroxymethylpyrimidine kinase (ATP)rVh,G@@h-Gh}rWh/h)]rX(j!)rY}rZ(hNj!KhNhUb2103r[h}r\j!hj[hNhNj!Kh&Nh"}r]j!U+h(h)]Rr^ubj!)r_}r`(hNj!KhNhUb2418rah}rbj!hjahNhNj!Kh&Nh"}rcj!U+h(h)]RrdubeRrehUHMPK1rfh2Gh3h4hNh5U(b2103 or b2418)rgh"}rhh7Nubh)ri}rj(h UTransport, Inner Membranerkh }rl(h)rm}rn(hNhNhU L-Homoserineroh}rphUhom__L_crqhUEhKhGhh)rr}rs(hNhUC4H9NO3rth}ruh"}rvh$}rw(UHK UCKUOKUNKuhjtubh&Uch"}rxh(h)]RryubGj"Gj>G?h)rz}r{(hNhNhU L-Homoseriner|h}r}hUhom__L_pr~hUEhKhGhh)r}r(hNhUC4H9NO3rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Uph"}rh(h)]RrubG?uhNhU,L-homoserineserine efflux via proton symportrh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0813rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3824rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUHOMt2pprh2Gh3h4hNh5U(b0813 or b3824)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjzG?uhNhUAL-homoserine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUHOMtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j4G?h)r}r(hNhNhU4-Hydroxy-2-oxopentanoaterh}rhU 4h2opntn_crhUEhJhGhh)r}r(hNhUC5H7O4rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubGj5G?uhNhU"4-hydroxy-2-oxopentanoate aldolaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0352rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUHOPNTALrh2Gh3h4hNh5jh"}rh7Nubh)r”}rÔ(h U*Cofactor and Prosthetic Group BiosynthesisrĔh }rŔ(j%G?j Gj,hG?jlgGj>G?uhNhU/6-hydroxymethyl-dihydropterin pyrophosphokinaserƔh,G@@h-Gh}rǔh/h)]rȔj!)rɔ}rʔ(hNj!KhNhUb0142r˔h}r̔j!hj˔hNhNj!Kh&Nh"}r͔j!U+h(h)]RrΔubaRrϔhUHPPK2rДh2Gh3h4hNh5j˔h"}rєh7Nubh)rҔ}rӔ(h UAlternate Carbon MetabolismrԔh }rՔ(j>G?j+Gj*GjG?uhNhU,2,3-dihydroxypheylpropionate 1,2-dioxygenaser֔h,G@@h-Gh}rהh/h)]rؔj[faRrٔhUHPPPNDOrڔh2Gh3h4hNh5Ub0348r۔h"}rܔh7Nubh)rݔ}rޔ(h UTransport, Inner Membranerߔh }r(j*G?h)r}r(hNhNhU3-(3-hydroxy-phenyl)propionaterh}rhU3hpppn_prhUEhJhGhh)r}r(hNhUC9H9O3rh}rh"}rh$}r(UHK UCK UOKuhjubh&Uph"}rh(h)]RrubGj"Gj>G?uhNhUR3-(3-hydroxyphenyl)propionate transport via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]rjaRrhU HPPPNt2rpprh2Gh3h4hNh5Ub0353rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhUR3-(3-hydroxyphenyl)propionate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUHPPPNtexrh2Gh3h4hNh5U"(b0929 or b1377 or b2215 or b0241)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhUHydroxypyruvaterh}rhUhpyr_crhUEhJhGhh)r }r (hNhUC3H3O4r h}r h"}r h$}r(UHKUCKUOKuhj ubh&Uch"}rh(h)]RrubGjƆG?uhNhUhydroxypyruvate isomeraserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb0508rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUHPYRIrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r (jGjG?j>Gj܊G?jGuhNhU Hydroxypyruvate reductase (NADH)r!h,G@@h-Gh}r"h/h)]r#(j-(jdeRr$hUHPYRRxr%h2Gh3h4hNh5U(b1033 or b3553)r&h"}r'h7Nubh)r(}r)(h UAlternate Carbon Metabolismr*h }r+(j܊G?jGjCGj)G?j>GuhNhU!Hydroxypyruvate reductase (NADPH)r,h,G@@h-Gh}r-h/h)]r.(j-(jdeRr/hUHPYRRyr0h2Gh3h4hNh5U(b1033 or b3553)r1h"}r2h7Nubh)r3}r4(h UThreonine and Lysine Metabolismr5h }r6(jmGj>G?j)GjCG?j\LG?uhNhU homoserine dehydrogenase (NADPH)r7h,G@@h-G@h}r8h/h)]r9(jNj NeRr:hUHSDyr;h2Gh3h4hNh5U(b3940 or b0002)r<h"}r=h7Nubh)r>}r?(h UThreonine and Lysine Metabolismr@h }rA(jmGj Gj>G?h)rB}rC(hNhNhUO-Phospho-L-homoserinerDh}rEhUphom_crFhUEhJhGhh)rG}rH(hNhUC4H8NO6PrIh}rJh"}rKh$}rL(UHKUCKUPKUOKUNKuhjIubh&Uch"}rMh(h)]RrNubG?j-G?uhNhUhomoserine kinaserOh,G@@h-Gh}rPh/h)]rQj!)rR}rS(hNj!KhNhUb0003rTh}rUj!hjThNhNj!Kh&Nh"}rVj!U+h(h)]RrWubaRrXhUHSKrYh2Gh3h4hNh5jTh"}rZh7Nubh)r[}r\(h UMethionine Metabolismr]h }r^(jmGh)r_}r`(hNhNhUO-Succinyl-L-homoserinerah}rbhUsuchms_crchUEhJhGhh)rd}re(hNhUC8H12NO6rfh}rgh"}rhh$}ri(UHK UCKUOKUNKuhjfubh&Uch"}rjh(h)]RrkubG?jG?jGuhNhU homoserine O-succinyltransferaserlh,G@@h-Gh}rmh/h)]rnj!)ro}rp(hNj!KhNhUb4013rqh}rrj!hjqhNhNj!Kh&Nh"}rsj!U+h(h)]RrtubaRruhUHSSTrvh2Gh3h4hNh5jqh"}rwh7Nubh)rx}ry(h UHistidine Metabolismrzh }r{(jGj2G?jkG?h)r|}r}(hNhNhU'3-(Imidazol-4-yl)-2-oxopropyl phosphater~h}rhUimacp_crhUEhJhGhh)r}r(hNhU C6H7N2O5Prh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGuhNhU!histidinol-phosphate transaminaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2021rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUHSTPTrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jG?jGjG?j>G?j;Gj4GuhNhUhypoxanthine dehydrogenaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2868rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2867rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2866rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUHXANDrh2Gh3h4hNh5U(b2866 and b2867 and b2868)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jtG?jGuhNhU>Hexanoate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUHXAtexrh2Gh3h4hNh5U"(b2215 or b0241 or b0929 or b1377)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j 3G?j2G?jsGjGuhNhU$Acetyl-CoA:hexanoate-CoA transferaserh,G@@h-Gh}r•h/h)]rÕ(j2j2eRrĕhUHXCTrŕh2Gh3h4hNh5U(b2221 and b2222)rƕh"}rǕh7Nubh)rȕ}rɕ(h UNucleotide Salvage Pathwayrʕh }r˕(j;Gj=GjTG?j`>G?uhNhU5hypoxanthine phosphoribosyltransferase (Hypoxanthine)r̕h,G@@h-Gh}r͕h/h)]rΕ(j jeRrϕhUHXPRTrЕh2Gh3h4hNh5U(b0238 or b0125)rѕh"}rҕh7Nubh)rӕ}rԕ(h UOxidative PhosphorylationrՕh }r֕(jwzGj"G@jNGj>GjG?uhNhU1hydrogenase (ubiquinone-8: 2 protons) (periplasm)rוh,G@@h-Gh}rؕh/h)]rٕ(jzj!)rڕ}rە(hNj!KhNhUb2995rܕh}rݕj!hjܕhNhNj!Kh&Nh"}rޕj!U+h(h)]Rrߕubjzj!)r}r(hNj!KhNhUb0972rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2994rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubjzjzjzj!)r}r(hNj!KhNhUb0973rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2997rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubjzj!)r}r(hNj!KhNhUb0974rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2996rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUHYD1pprh2Gh3h4hNh5U((b0972 and b0973 and b0974) or (b2994 and b2995 and b2996 and b2997) or (b2719 and b2720 and b2721 and b2722 and b2723 and b2724))rh"}rh7Nubh)r}r (h UOxidative Phosphorylationr h }r (jwzGj"G@j>GjDNGjG?uhNhU1Hydrogenase (menaquinone8: 2 protons) (periplasm)r h,G@@h-Gh}r h/h)]r(jjjjjjڕjeRrhUHYD2pprh2Gh3h4hNh5UF((b0972 and b0973 and b0974) or (b2994 and b2995 and b2996 and b2997))rh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(jwzGj>GjTjGj~G?j"G@uhNhU:Hydrogenase (Demethylmenaquinone-8: 2 protons) (periplasm)rh,G@@h-Gh}rh/h)]r(jڕjjjjjjeRrhUHYD3pprh2Gh3h4hNh5UF((b0972 and b0973 and b0974) or (b2994 and b2995 and b2996 and b2997))rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisr h }r!(jBGjG?j4Gh)r"}r#(hNhNhU Pyridoxaminer$h}r%hUpydam_cr&hUEhKhGhh)r'}r((hNhU C8H13N2O2r)h}r*h"}r+h$}r,(UHK UCKUOKUNKuhj)ubh&Uch"}r-h(h)]Rr.ubG?uhNhUhypothetical enymer/h,G@@h-Gh}r0h/h)]Rr1hUHYPOEr2h2Gh3h4hNh5Uh"}r3h7Nubh)r4}r5(h UTransport, Outer Membrane Porinr6h }r7(h)r8}r9(hNhNhU Hypoxanthiner:h}r;hUhxan_pr<hUEhKhGhh)r=}r>(hNhUC5H4N4Or?h}r@h"}rAh$}rB(UHKUCKUOKUNKuhj?ubh&Uph"}rCh(h)]RrDubG?jGuhNhUAHypoxanthine transport via diffusion (extracellular to periplasm)rEh,G@@h-G@h}rFh/h)]rG(j!j!j!j!eRrHhUHYXNtexrIh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rJh"}rKh7Nubh)rL}rM(h UTransport, Inner MembranerNh }rO(j;G?j8GuhNhU"Hypoxanthine transport (periplasm)rPh,G@@h-G@h}rQh/h)]RrRhUHYXNtpprSh2Gh3h4hNh5Uh"}rTh7Nubh)rU}rV(h UTransport, Outer Membrane PorinrWh }rX(jGj"G?uhNhU;proton transport via diffusion (extracellular to periplasm)rYh,G@@h-G@h}rZh/h)]r[(j!j!j!j!eRr\hUHtexr]h2Gh3h4hNh5U"(b0929 or b1377 or b2215 or b0241)r^h"}r_h7Nubh)r`}ra(h U*Cofactor and Prosthetic Group Biosynthesisrbh }rc(h)rd}re(hNhNhUIscU scaffold proteinrfh}rghUiscu_crhhUEhKhGhh)ri}rj(hNhUH8O2S6Rrkh}rlh"}rmh$}rn(UHKUSKURKUOKuhjkubh&Uch"}roh(h)]RrpubGh)rq}rr(hNhNhUIscS with bound sulfurrsh}rthUiscssh_cruhUEhKhGhh)rv}rw(hNhUHS2Rrxh}ryh"}rzh$}r{(UHKUSKURKuhjxubh&Uch"}r|h(h)]Rr}ubGh)r~}r(hNhNhUIscS sulfur acceptor proteinrh}rhUiscs_crhUEhKhGhh)r}r(hNhUHSRrh}rh"}rh$}r(UHKUSKURKuhjubh&Uch"}rh(h)]RrubG?jDQGj>G@h)r}r(hNhNhU IscU with bound [2Fe-2S] clusterrh}rhU iscu__2fe2s_crhUEhJhGhh)r}r(hNhU H4O2S8Fe2Rrh}rh"}rh$}r(UHKUSKURKUFeKUOKuhjubh&Uch"}rh(h)]RrubG?uhNhUISC [2Fe-2S] regenerationrh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2530rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2529rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUI2FE2SRrh2Gh3h4hNh5U(b2530 and b2529)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j7GjdGjG?jqGj>G@j~G@jG?j6GuhNhUISC [2Fe-2S] Synthesisrh,G@@h-Gh}rh/h)]r(jjj!)r}r(hNj!KhNhUb3807rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUI2FE2SSrh2Gh3h4hNh5U(b3807 and b2530 and b2529)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j7Gj>G@jqGjG?j~G@jGh)r}r(hNhNhU%IscU with two bound [2Fe-2S] clustersr–h}rÖhUiscu__2fe2s2_crĖhUEhJhGhh)rŖ}rƖ(hNhU O2S10Fe4Rrǖh}rȖh"}rɖh$}rʖ(USK URKUFeKUOKuhjǖubh&Uch"}r˖h(h)]Rr̖ubG?j6GuhNhUISC [2Fe-2S] Synthesis IIr͖h,G@@h-Gh}rΖh/h)]rϖ(jjjeRrЖhUI2FE2SS2rіh2Gh3h4hNh5U(b3807 and b2530 and b2529)rҖh"}rӖh7Nubh)rԖ}rՖ(h U*Cofactor and Prosthetic Group Biosynthesisr֖h }rז(jdG?jPG?j>GjGuhNhUISC [2Fe-2S] Transferrؖh,G@@h-Gh}rٖh/h)]rږ(j!)rۖ}rܖ(hNj!KhNhUb2528rݖh}rޖj!hjݖhNhNj!Kh&Nh"}rߖj!U+h(h)]RrubjeRrhUI2FE2STrh2Gh3h4hNh5U(b2528 and b2529)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j7GjG?j>GjGh)r}r(hNhNhU IscU with bound [4Fe-4S] clusterrh}rhU iscu__4fe4s_crhUEhJhGhh)r}r(hNhU H4O2S10Fe4Rrh}rh"}rh$}r(UHKUSK URKUFeKUOKuhjubh&Uch"}rh(h)]RrubG?uhNhUISC [4Fe-4S] Reductionrh,G@@h-Gh}rh/h)]rjaRrhUI4FE4SRrh2Gh3h4hNh5Ub2529rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j>GjG?jdG?jGuhNhUISC [4Fe-4S] Transferrh,G@@h-Gh}rh/h)]r(jۖjeRrhUI4FE4STrh2Gh3h4hNh5U(b2528 and b2529)rh"}rh7Nubh)r}r (h UCitric Acid Cycler h }r (j -G?jCG?j)Gj2G?j9GuhNhUisocitrate dehydrogenase (NADP)r h,G@@h-G@h}r h/h)]rj!)r}r(hNj!KhNhUb1136rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUICDHyrrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGh)r}r(hNhNhU Isochorismaterh}rhUichor_cr hUEhJhGhh)r!}r"(hNhUC10H8O6r#h}r$h"}r%h$}r&(UHKUCK UOKuhj#ubh&Uch"}r'h(h)]Rr(ubG?uhNhUisochorismate synthaser)h,G@@h-G@h}r*h/h)]r+j!)r,}r-(hNj!KhNhUb2265r.h}r/j!hj.hNhNj!Kh&Nh"}r0j!U+h(h)]Rr1ubaRr2hUICHORSr3h2Gh3h4hNh5j.h"}r4h7Nubh)r5}r6(h U*Cofactor and Prosthetic Group Biosynthesisr7h }r8(jGjG?uhNhUIsochorismate Synthaser9h,G@@h-Gh}r:h/h)]r;j!)r<}r=(hNj!KhNhUb0593r>h}r?j!hj>hNhNj!Kh&Nh"}r@j!U+h(h)]RrAubaRrBhUICHORSirCh2Gh3h4hNh5j>h"}rDh7Nubh)rE}rF(h U*Cofactor and Prosthetic Group BiosynthesisrGh }rH(jeG?j4GjGj5G?uhNhUisochorismataserIh,G@@h-Gh}rJh/h)]rKj!)rL}rM(hNj!KhNhUb0595rNh}rOj!hjNhNhNj!Kh&Nh"}rPj!U+h(h)]RrQubaRrRhUICHORTrSh2Gh3h4hNh5jNh"}rTh7Nubh)rU}rV(h UAnaplerotic ReactionsrWh }rX(jvG?j9Gj\NG?uhNhUIsocitrate lyaserYh,G@@h-Gh}rZh/h)]r[j!)r\}r](hNj!KhNhUb4015r^h}r_j!hj^hNhNj!Kh&Nh"}r`j!U+h(h)]RraubaRrbhUICLrch2Gh3h4hNh5j^h"}rdh7Nubh)re}rf(h U*Cofactor and Prosthetic Group Biosynthesisrgh }rh(j[G?j~GjqG?jGuhNhUISC Cysteine desulfurationrih,G@@h-Gh}rjh/h)]rkjaRrlhUICYSDSrmh2Gh3h4hNh5Ub2530rnh"}roh7Nubh)rp}rq(h UAlternate Carbon Metabolismrrh }rs(jGjG?j/Gj>GjE(G?uhNhUL-idonate 5-dehydrogenaserth,G@@h-G@h}ruh/h)]rvj!)rw}rx(hNj!KhNhUb4267ryh}rzj!hjyhNhNj!Kh&Nh"}r{j!U+h(h)]Rr|ubaRr}hUIDONDr~h2Gh3h4hNh5jyh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j/Gj>Gj)G?jCGjE(G?uhNhU!L-indonate 5-dehydrogenase (NADP)rh,G@@h-Gh}rh/h)]rjwaRrhUIDOND2rh2Gh3h4hNh5Ub4267rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(h)r}r(hNhNhU L-Idonaterh}rhU idon__L_prhUEhJhGhh)r}r(hNhUC6H11O7rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uph"}rh(h)]RrubGj"Gj>G?jE(G?uhNhU>L-idonate transport via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]rj/aRrhU IDONt2rpprh2Gh3h4hNh5Ub4265rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhU>L-idonate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUIDONtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UHistidine Metabolismrh }r(jG?j>G?h)r}r(hNhNhU/D-erythro-1-(Imidazol-4-yl)glycerol 3-phosphaterh}rhUeig3p_crhUEhJhGhh)r}r(hNhU C6H9N2O6Prh}rh"}rh$}r(UHK UCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?h)r}r(hNhNhUd5-[(5-phospho-1-deoxyribulos-1-ylamino)methylideneamino]-1-(5-phosphoribosyl)imidazole-4-carboxamiderh}r—hUprlp_cr×hUEhJhGhh)rė}rŗ(hNhU C15H21N5O15P2rƗh}rǗh"}rȗh$}rɗ(UHKUCKUPKUOKUNKuhjƗubh&Uch"}rʗh(h)]Rr˗ubGjaGj;>G?uhNhU'Imidazole-glycerol-3-phosphate synthaser̗h,G@@h-Gh}r͗h/h)]rΗ(j!)rϗ}rЗ(hNj!KhNhUb2023rїh}rҗj!hjїhNhNj!Kh&Nh"}rӗj!U+h(h)]Rrԗubj!)r՗}r֗(hNj!KhNhUb2025rחh}rؗj!hjחhNhNj!Kh&Nh"}rٗj!U+h(h)]RrڗubeRrۗhUIG3PSrܗh2Gh3h4hNh5U(b2023 and b2025)rݗh"}rޗh7Nubh)rߗ}r(h UHistidine Metabolismrh }r(j4G?jGj|G?uhNhU'imidazoleglycerol-phosphate dehydrataserh,G@@h-Gh}rh/h)]rj{aRrhUIGPDHrh2Gh3h4hNh5Ub2022rh"}rh7Nubh)r}r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(h)r}r(hNhNhU#C'-(3-Indolyl)-glycerol 3-phosphaterh}rhU3ig3p_crhUEhJhGhh)r}r(hNhU C11H12NO6Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?j>Gj4G?h)r}r(hNhNhU71-(2-Carboxyphenylamino)-1-deoxy-D-ribulose 5-phosphaterh}rhU2cpr5p_crhUEhJhGhh)r}r(hNhU C12H13NO9Prh}rh"}rh$}r(UHK UCK UPKUOK UNKuhjubh&Uch"}rh(h)]RrubGj -G?uhNhU$indole-3-glycerol-phosphate synthaserh,G@@h-Gh}r h/h)]r j!)r }r (hNj!KhNhUb1262r h}rj!hj hNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUIGPSrh2Gh3h4hNh5j h"}rh7Nubh)r}r(h U*Valine, Leucine, and Isoleucine Metabolismrh }r(j2Gj1GjneG?jG?uhNhUisoleucine transaminaserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb3770rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rr ubaRr!hUILETAr"h2Gh3h4hNh5jh"}r#h7Nubh)r$}r%(h U tRNA Chargingr&h }r'(j Gh)r(}r)(hNhNhU tRNA(Ile)r*h}r+hU trnaile_cr,hUEhKhGhh)r-}r.(hNhURh}r/h"}r0h$}r1URKshURubh&Uch"}r2h(h)]Rr3ubGj1GjTG?h)r4}r5(hNhNhUL-Isoleucyl-tRNA(Ile)r6h}r7hU iletrna_cr8hUEhKhGhh)r9}r:(hNhUC6H12NORr;h}r<h"}r=h$}r>(UHK UCKURKUOKUNKuhj;ubh&Uch"}r?h(h)]Rr@ubG?j%G?uhNhUIsoleucyl-tRNA synthetaserAh,G@@h-Gh}rBh/h)]rCj!)rD}rE(hNj!KhNhUb0026rFh}rGj!hjFhNhNj!Kh&Nh"}rHj!U+h(h)]RrIubaRrJhUILETRSrKh2Gh3h4hNh5jFh"}rLh7Nubh)rM}rN(h UTransport, Inner MembranerOh }rP(j Gj>G?h)rQ}rR(hNhNhU L-IsoleucinerSh}rThUile__L_prUhUEhKhGhh)rV}rW(hNhUC6H13NO2rXh}rYh"}rZh$}r[(UHK UCKUOKUNKuhjXubh&Uph"}r\h(h)]Rr]ubGj4GjG?j-G?j1G?uhNhU1L-isoleucine transport via ABC system (periplasm)r^h,G@@h-Gh}r_h/h)]r`(jzCjCjCjCjCeRrahUILEabcpprbh2Gh3h4hNh5U/(b3454 and b3455 and b3457 and b3460 and b3456)rch"}rdh7Nubh)re}rf(h UTransport, Inner Membranergh }rh(j>G?j"GjQGj1G?uhNhU@L-isoleucine reversible transport via proton symport (periplasm)rih,G@@h-G@h}rjh/h)]rkj!)rl}rm(hNj!KhNhUb0401rnh}roj!hjnhNhNj!Kh&Nh"}rpj!U+h(h)]RrqubaRrrhUILEt2rpprsh2Gh3h4hNh5jnh"}rth7Nubh)ru}rv(h UTransport, Outer Membrane Porinrwh }rx(jGjQG?uhNhUAL-isoleucine transport via diffusion (extracellular to periplasm)ryh,G@@h-G@h}rzh/h)]r{(j!j!j!j!eRr|hUILEtexr}h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r~h"}rh7Nubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(j~AG?j4Gj`>GuhNhUIMP cyclohydrolaserh,G@@h-G@h}rh/h)]rjAaRrhUIMPCrh2Gh3h4hNh5Ub4006rh"}rh7Nubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(jG?jGj>G?jG?j`>Gj4GuhNhUIMP dehydrogenaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2508rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUIMPDrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGh)r}r(hNhNhUIMPrh}rhUimp_prhUEhJhGhh)r}r(hNhU C10H11N4O8Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Uph"}rh(h)]RrubG?uhNhU8IMP transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUIMPtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>Gj"G?h)r}r(hNhNhUIndolerh}rhUindole_crhUEhKhGhh)r}r(hNhUC8H7Nrh}rh"}rh$}r(UHKUCKUNKuhjubh&Uch"}r˜h(h)]RrØubGh)rĘ}rŘ(hNhNhUIndolerƘh}rǘhUindole_prȘhUEhKhGhh)rɘ}rʘ(hNhUC8H7Nr˘h}r̘h"}r͘h$}rΘ(UHKUCKUNKuhj˘ubh&Uph"}rϘh(h)]RrИubG?uhNhU=Indole transport via proton symport, irreversible (periplasm)rјh,G@@h-Gh}rҘh/h)]rӘ(j!)rԘ}r՘(hNj!KhNhUb3266r֘h}rטj!hj֘hNhNj!Kh&Nh"}rؘj!U+h(h)]Rr٘ubjCYj!)rژ}rۘ(hNj!KhNhUb3265rܘh}rݘj!hjܘhNhNj!Kh&Nh"}rޘj!U+h(h)]RrߘubeRrhU INDOLEt2pprh2Gh3h4hNh5U((b3265 and b3266) and b3035)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?jĘGjG?j"GuhNhU;Indole transport via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb3161rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhU INDOLEt2rpprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jĘG?jGuhNhU;Indole transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU INDOLEtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jGjG?j8;GjE;G?uhNhU&Na+/myo-inositol symporter (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3679rh}r j!hjhNhNj!Kh&Nh"}r j!U+h(h)]Rr ubaRr hU INOSTt4ppr h2Gh3h4hNh5jh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j;G?jz;Gj4Gj<G?uhNhUInosine hydrolaserh,G@@h-Gh}rh/h)]rj<aRrhUINSHrh2Gh3h4hNh5Ub0030rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j Gj>G?j`>G?j-G?jz;GuhNhUinsosine kinaserh,G@@h-Gh}rh/h)]r jaRr!hUINSKr"h2Gh3h4hNh5Ub0477r#h"}r$h7Nubh)r%}r&(h UTransport, Outer Membrane Porinr'h }r((jG?jGuhNhU=inositol transport via diffusion (extracellular to periplasm)r)h,G@@h-G@h}r*h/h)]r+(j!j!j!j!eRr,hUINSTtexr-h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r.h"}r/h7Nubh)r0}r1(h UTransport, Inner Membraner2h }r3(j>G?j"Gjz;G?h)r4}r5(hNhNhUInosiner6h}r7hUins_pr8hUEhKhGhh)r9}r:(hNhU C10H12N4O5r;h}r<h"}r=h$}r>(UHK UCK UOKUNKuhj;ubh&Uph"}r?h(h)]Rr@ubGuhNhU3inosine transport in via proton symport (periplasm)rAh,G@@h-Gh}rBh/h)]rCj<aRrDhUINSt2pprEh2Gh3h4hNh5Ub2964rFh"}rGh7Nubh)rH}rI(h UTransport, Inner MembranerJh }rK(j>G?jz;G?j4Gj"GuhNhU?inosine transport in via proton symport, reversible (periplasm)rLh,G@@h-G@h}rMh/h)]rNj<aRrOhUINSt2rpprPh2Gh3h4hNh5Ub2406rQh"}rRh7Nubh)rS}rT(h UTransport, Outer MembranerUh }rV(j,Gj4G?uhNhUGj4G?uhNhU?1-hydroxy-2-methyl-2-(E)-butenyl 4-diphosphate reductase (ipdp)rrh,G@@h-Gh}rsh/h)]rtjiaRruhUIPDPSrvh2Gh3h4hNh5Ub0029rwh"}rxh7Nubh)ry}rz(h U*Valine, Leucine, and Isoleucine Metabolismr{h }r|(h)r}}r~(hNhNhU&3-Carboxy-2-hydroxy-4-methylpentanoaterh}rhU3c2hmp_crhUEhJhGhh)r}r(hNhUC7H10O5rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uch"}rh(h)]RrubGjG?j>G?h)r}r(hNhNhU"3-Carboxy-4-methyl-2-oxopentanoaterh}rhU3c4mop_crhUEhJhGhh)r}r(hNhUC7H8O5rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubG?jGuhNhU3-isopropylmalate dehydrogenaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0073rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUIPMDrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Valine, Leucine, and Isoleucine Metabolismrh }r(h)r}r(hNhNhU2-Isopropylmaleaterh}rhU2ippm_crhUEhJhGhh)r}r(hNhUC7H8O4rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubG?j4G?j}GuhNhU3-isopropylmalate dehydrataserh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb0071rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0072rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rr™ubeRrÙhUIPPMIaręh2Gh3h4hNh5U(b0071 and b0072)rřh"}rƙh7Nubh)rǙ}rș(h U*Valine, Leucine, and Isoleucine Metabolismrəh }rʙ(j4GjGh)r˙}r̙(hNhNhU&3-Carboxy-3-hydroxy-4-methylpentanoater͙h}rΙhU3c3hmp_crϙhUEhJhGhh)rЙ}rљ(hNhUC7H10O5rҙh}rәh"}rԙh$}rՙ(UHK UCKUOKuhjҙubh&Uch"}r֙h(h)]RrיubG?uhNhU2-isopropylmalate hydrataserؙh,G@@h-G@h}rٙh/h)]rڙ(jjeRrۙhUIPPMIbrܙh2Gh3h4hNh5U(b0071 and b0072)rݙh"}rޙh7Nubh)rߙ}r(h U*Valine, Leucine, and Isoleucine Metabolismrh }r(jGjDeGj>G?j4Gj˙G?jG?uhNhU2-isopropylmalate synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0074rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUIPPSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj-G?jsvG?j>G?jG?j4Gh)r}r(hNhNhUIsethionic acidrh}rhUisetac_prhUEhJhGhh)r}r(hNhUC2H5O4Srh}rh"}rh$}r(UHKUCKUSKUOKuhjubh&Uph"}rh(h)]RrubGuhNhU0isethionate transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(jQjQjQjQjQjQeRrhU ISETACabcpprh2Gh3h4hNh5U<((b0365 and b0366 and b0367) or (b0936 and b0933 and b0934))rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinr h }r (jG?jAGuhNhU@isethionate transport via diffusion (extracellular to periplasm)r h,G@@h-G@h}r h/h)]r (j!j!j!j!eRrhU ISETACtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j GjpGj>G?j-G?h)r}r(hNhNhUKDO(2)-lipid IV(A)rh}rhU kdo2lipid4_prhUEhJhGhh)r}r(hNhUC84H148N2O37P2rh}rh"}rh$}r (UHKUCKTUPKUOK%UNKuhjubh&Uph"}r!h(h)]Rr"ubG?jG?j4GuhNhU6KDO(2)-lipid IV A transport via ABC system (periplasm)r#h,G@@h-Gh}r$h/h)]r%jZaRr&hU K2L4Aabcppr'h2Gh3h4hNh5Ub0914r(h"}r)h7Nubh)r*}r+(h U+Lipopolysaccharide Biosynthesis / Recyclingr,h }r-(j Gj>G?j-G?jGjG?j4Gj&G?uhNhUGKDO(2)-lipid IV A transport via ABC system (periplasm to extracellular)r.h,G@@h-Gh}r/h/h)]r0(j'9j-9j39j99j?9eRr1hU K2L4Aabctexr2h2Gh3h4hNh5U/(b3200 and b3201 and b3199 and b4261 and b4262)r3h"}r4h7Nubh)r5}r6(h U*Valine, Leucine, and Isoleucine Metabolismr7h }r8(jCG?j>G?j6G?j)Gj7eGuhNhU=ketol-acid reductoisomerase (2,3-dihydroxy-3-methylbutanoate)r9h,G@@h-G@h}r:h/h)]r;jJkaRr<hUKARA1r=h2Gh3h4hNh5Ub3774r>h"}r?h7Nubh)r@}rA(h U*Valine, Leucine, and Isoleucine MetabolismrBh }rC(j>Gj)G?jCGjaeG?jg6GuhNhU,ketol-acid reductoisomerase (2-Acetolactate)rDh,G@@h-G@h}rEh/h)]rFjJkaRrGhUKARA2rHh2Gh3h4hNh5Ub3774rIh"}rJh7Nubh)rK}rL(h UMembrane Lipid MetabolismrMh }rN(j1-Gj$-G?j>Gj,G?j8Gj -G?uhNhUbeta-ketoacyl-ACP synthaserOh,G@@h-Gh}rPh/h)]rQ(jA-jG-eRrRhUKAS14rSh2Gh3h4hNh5U(b2323 or b1095)rTh"}rUh7Nubh)rV}rW(h UMembrane Lipid MetabolismrXh }rY(j -G?jGj>Gj1-Gj,G?jG?uhNhUbeta-ketoacyl-ACP synthase (2)rZh,G@@h-Gh}r[h/h)]r\j8aRr]hUKAS15r^h2Gh3h4hNh5Ub1091r_h"}r`h7Nubh)ra}rb(h U+Lipopolysaccharide Biosynthesis / Recyclingrch }rd(h)re}rf(hNhNhU3-Deoxy-D-manno-2-octulosonatergh}rhhUkdo_crihUEhJhGhh)rj}rk(hNhUC8H13O8rlh}rmh"}rnh$}ro(UHK UCKUOKuhjlubh&Uch"}rph(h)]RrqubGjTG?h)rr}rs(hNhNhU CMP-3-deoxy-D-manno-octulosonaterth}ruhUckdo_crvhUEhJhGhh)rw}rx(hNhU C17H24N3O15Pryh}rzh"}r{h$}r|(UHKUCKUPKUOKUNKuhjyubh&Uch"}r}h(h)]Rr~ubG?jGuhNhU/3-deoxy-manno-octulosonate cytidylyltransferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0918rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUKDOCT2rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(h)r}r(hNhNhU(3-Deoxy-D-manno-octulosonate 8-phosphaterh}rhUkdo8p_crhUEhJhGhh)r}r(hNhU C8H12O11Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Uch"}rh(h)]RrubGjeG?jG?j4GuhNhU(3-deoxy-manno-octulosonate-8-phosphataserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3198rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUKDOPPrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j5GjT0GjG?jG?j4GuhNhU73-deoxy -D-manno-octulosonic -acid 8-phosphate synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1215rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUKDOPSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j>Gj -G?jN+Gh)r}r(hNhNhUL-Xylulose 5-phosphaterh}rhU xu5p__L_crhUEhJhGhh)r}rš(hNhUC5H9O8PrÚh}rĚh"}rŚh$}rƚ(UHK UCKUOKUPKuhjÚubh&Uch"}rǚh(h)]RrȚubG?uhNhU+3-keto-L-gulonate 6-phosphate decarboxylaserɚh,G@@h-Gh}rʚh/h)]r˚(j!)r̚}r͚(hNj!KhNhUb3581rΚh}rϚj!hjΚhNhNj!Kh&Nh"}rКj!U+h(h)]Rrњubj!)rҚ}rӚ(hNj!KhNhUb4196rԚh}r՚j!hjԚhNhNj!Kh&Nh"}r֚j!U+h(h)]RrךubeRrؚhUKG6PDCrٚh2Gh3h4hNh5U(b4196 or b3581)rښh"}rۚh7Nubh)rܚ}rݚ(h U&Inorganic Ion Transport and Metabolismrޚh }rߚ(j Gj>G?j-G?j4GjG?h)r}r(hNhNhU potassiumrh}rhUk_prhUEhKhGhh)r}r(hNhUKh}rh"}rh$}rUKKshUKubh&Uph"}rh(h)]RrubGhG?uhNhU%Potassium ABC transporter (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0697rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4513rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0698rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0696rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUKabcpprh2Gh3h4hNh5UF((b0698 and b0697 and b0696) or (b0698 and b0697 and b0696 and b4513))r h"}r h7Nubh)r }r (h U&Inorganic Ion Transport and Metabolismr h }r(j>G?jGhG?j"GuhNhU5potassium transport in via proton symport (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3747rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1363rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3849r h}r!j!hj hNhNj!Kh&Nh"}r"j!U+h(h)]Rr#ubj!)r$}r%(hNj!KhNhUb1291r&h}r'j!hj&hNhNj!Kh&Nh"}r(j!U+h(h)]Rr)ubj!)r*}r+(hNj!KhNhUb3290r,h}r-j!hj,hNhNj!Kh&Nh"}r.j!U+h(h)]Rr/ubj!)r0}r1(hNj!KhNhUb1250r2h}r3j!hj2hNhNj!Kh&Nh"}r4j!U+h(h)]Rr5ubeRr6hUKt2ppr7h2Gh3h4hNh5UN((b1291 and b3290 and b3849) or b1250 or (b1291 and b3290 and b1363) or b3747)r8h"}r9h7Nubh)r:}r;(h U&Inorganic Ion Transport and Metabolismr<h }r=(j>G?j"GhGjG?uhNhU7potassium transport out via proton antiport (periplasm)r>h,G@@h-Gh}r?h/h)]r@(j!)rA}rB(hNj!KhNhUb0842rCh}rDj!hjChNhNj!Kh&Nh"}rEj!U+h(h)]RrFubjHRj!)rG}rH(hNj!KhNhUb0047rIh}rJj!hjIhNhNj!Kh&Nh"}rKj!U+h(h)]RrLubj!)rM}rN(hNj!KhNhUb3350rOh}rPj!hjOhNhNj!Kh&Nh"}rQj!U+h(h)]RrRubeRrShUKt3pprTh2Gh3h4hNh5U"(b1216 or b0842 or b3350 or b0047)rUh"}rVh7Nubh)rW}rX(h UTransport, Outer Membrane PorinrYh }rZ(jG?jVGuhNhU>potassium transport via diffusion (extracellular to periplasm)r[h,G@@h-G@h}r\h/h)]r](j!j!j!j!eRr^hUKtexr_h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r`h"}rah7Nubh)rb}rc(h UOxidative Phosphorylationrdh }re(h)rf}rg(hNhNhU L-Lactaterhh}rihUlac__L_crjhUEhJhGhh)rk}rl(hNhUC3H5O3rmh}rnh"}roh$}rp(UHKUCKUOKuhjmubh&Uch"}rqh(h)]RrrubGjNGj5G?jG?uhNhU$L-Lactate dehydrogenase (ubiquinone)rsh,G@@h-Gh}rth/h)]ru(j!)rv}rw(hNj!KhNhUb0307rxh}ryj!hjxhNhNj!Kh&Nh"}rzj!U+h(h)]Rr{ubj!)r|}r}(hNj!KhNhUb0308r~h}rj!hj~hNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3605rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0306rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUL__LACD2rh2Gh3h4hNh5U&(b3605 or (b0306 and b0307 and b0308))rh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(jDNGjfGj5G?jG?uhNhU%L-Lactate dehydrogenase (menaquinone)rh,G@@h-Gh}rh/h)]r(jvjj|jeRrhUL__LACD3rh2Gh3h4hNh5U&(b3605 or (b0306 and b0307 and b0308))rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(h)r}r(hNhNhU L-Lactaterh}rhUlac__L_prhUEhJhGhh)r}r(hNhUC3H5O3rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uph"}rh(h)]RrubGjfG?j"Gj>G?uhNhU=L-lactate reversible transport via proton symport (periplasm)rh,G@@h-G@h}rh/h)]r(jaj aeRrhU L__LACt2rpprh2Gh3h4hNh5U(b3603 or b2975)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhU>L-lactate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU L__LACtexrh2Gh3h4hNh5U"(b0929 or b1377 or b2215 or b0241)rh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingr›h }rÛ(h)rě}rś(hNhNhU2undecaprenyl phosphate-4-amino-4-deoxy-L-arabinoserƛh}rǛhUuLa4n_prțhUEhKhGhh)rɛ}rʛ(hNhU C60H100N1O7P1r˛h}r̛h"}r͛h$}rΛ(UHKdUCKh7Nubh)r?}r@(h UTransport, Inner MembranerAh }rB(j>G?j"Gj+GjBG?uhNhU@L-alanyl-D-glutamate transport in via proton symport (periplasm)rCh,G@@h-Gh}rDh/h)]rE(j!)rF}rG(hNj!KhNhUb1634rHh}rIj!hjHhNhNj!Kh&Nh"}rJj!U+h(h)]RrKubj!)rL}rM(hNj!KhNhUb3496rNh}rOj!hjNhNhNj!Kh&Nh"}rPj!U+h(h)]RrQubj!)rR}rS(hNj!KhNhUb4130rTh}rUj!hjThNhNj!Kh&Nh"}rVj!U+h(h)]RrWubj!)rX}rY(hNj!KhNhUb0709rZh}r[j!hjZhNhNj!Kh&Nh"}r\j!U+h(h)]Rr]ubeRr^hU LALADGLUtppr_h2Gh3h4hNh5U"(b1634 or b3496 or b4130 or b0709)r`h"}rah7Nubh)rb}rc(h UTransport, Outer Membrane Porinrdh }re(j]Gh)rf}rg(hNhNhUL-alanine-L-glutamaterhh}rihU LalaLglu_prjhUEhJhGhh)rk}rl(hNhU C8H13N2O5rmh}rnh"}roh$}rp(UHK UCKUOKUNKuhjmubh&Uph"}rqh(h)]RrrubG?uhNhUIL-alanyl-L-glutamate transport via diffusion (extracellular to periplasm)rsh,G@@h-G@h}rth/h)]ru(j!j!j!j!eRrvhU LALALGLUtexrwh2Gh3h4hNh5U"(b2215 or b1377 or b0241 or b0929)rxh"}ryh7Nubh)rz}r{(h UTransport, Inner Membraner|h }r}(jBG?jfGj"Gj>G?uhNhU@L-alanyl-L-glutamate transport in via proton symport (periplasm)r~h,G@@h-Gh}rh/h)]r(jFjLjXjReRrhU LALALGLUtpprh2Gh3h4hNh5U"(b1634 or b3496 or b4130 or b0709)rh"}rh7Nubh)r}r(h UMethylglyoxal Metabolismrh }r(j>GjGj/1Gh)r}r(hNhNhUD-Lactaldehyderh}rhU lald__D_crhUEhKhGhh)r}r(hNhUC3H6O2rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubG?jG?uhNhU$D-Lactaldehyde:NAD+ 1-oxidoreductaserh,G@@h-Gh}rh/h)]rjFaRrhULALDO2xrh2Gh3h4hNh5Ub3945rh"}rh7Nubh)r}r(h UMethylglyoxal Metabolismrh }r(juG?jCGj)G?j>Gj/1GuhNhU%L-Lactaldehyde:NADP+ 1-oxidoreductaserh,G@@h-Gh}rh/h)]RrhULALDO3rh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UMurein Recyclingrh }r(j4GjBGjG?j[G?uhNhU$L-alanyl-gamma-L-glutamate peptidaserh,G@@h-Gh}rh/h)]rjGaRrhULALGPrh2Gh3h4hNh5Ub0237rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jG?juGjfG?j>G@jGj4GuhNhUlactaldehyde dehydrogenaserh,G@@h-Gh}rh/h)]rjaRrhULCADirh2Gh3h4hNh5Ub1415rh"}rh7Nubh)r}r(h UMethylglyoxal Metabolismrh }r(jGjGj>GjG?j!G?uhNhU2lacaldehyde reductase (R-propane-1,2-diol forming)rh,G@@h-G@h}rh/h)]RrœhULCARRrÜh2Gh3h4hNh5Uh"}rĜh7Nubh)rŜ}rƜ(h UAlternate Carbon Metabolismrǜh }rȜ(jGjuGj>GjG?j "G?uhNhU2lacaldehyde reductase (S-propane-1,2-diol forming)rɜh,G@@h-G@h}rʜh/h)]r˜j!)r̜}r͜(hNj!KhNhUb2799rΜh}rϜj!hjΜhNhNj!Kh&Nh"}rМj!U+h(h)]RrќubaRrҜhULCARSrӜh2Gh3h4hNh5jΜh"}rԜh7Nubh)r՜}r֜(h UTransport, Inner Membranerלh }r؜(jGjG?j"Gj>G?uhNhU0Lactose transport via proton aniport (periplasm)rٜh,G@@h-Gh}rڜh/h)]rۜ(j!)rܜ}rݜ(hNj!KhNhUb2170rޜh}rߜj!hjޜhNhNj!Kh&Nh"}rj!U+h(h)]RrubjKj!)r}r(hNj!KhNhUb0070rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhU LCTSt3ipprh2Gh3h4hNh5U(b2170 or b0070 or b1528)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?jGuhNhUG?jGj"GjG?uhNhU0Lactose transport via proton symport (periplasm)rh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb0343rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhULCTStpprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UPyruvate Metabolismr h }r (jG?jGj6Gj>G?j5G?uhNhUD-lactate dehydrogenaser h,G@@h-G@h}r h/h)]r (j!)r}r(hNj!KhNhUb2133rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1380rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhULDH_Drh2Gh3h4hNh5U(b2133 or b1380)rh"}rh7Nubh)r}r(h UOxidative Phosphorylationr h }r!(jG?jNGj6Gj5G?uhNhUD-lactate dehydrogenaser"h,G@@h-Gh}r#h/h)]r$jaRr%hULDH_D2r&h2Gh3h4hNh5Ub2133r'h"}r(h7Nubh)r)}r*(h U*Valine, Leucine, and Isoleucine Metabolismr+h }r,(j2G?jGG?jGh)r-}r.(hNhNhU4-Methyl-2-oxopentanoater/h}r0hU4mop_cr1hUEhJhGhh)r2}r3(hNhUC6H9O3r4h}r5h"}r6h$}r7(UHK UCKUOKuhj4ubh&Uch"}r8h(h)]Rr9ubGuhNhU#leucine transaminase (irreversible)r:h,G@@h-Gh}r;h/h)]r<(j!)r=}r>(hNj!KhNhUb4054r?h}r@j!hj?hNhNj!Kh&Nh"}rAj!U+h(h)]RrBubjeRrChULEUTAirDh2Gh3h4hNh5U(b3770 or b4054)rEh"}rFh7Nubh)rG}rH(h U tRNA ChargingrIh }rJ(j GjTG?h)rK}rL(hNhNhUL-Leucyl-tRNA(Leu)rMh}rNhU leutrna_crOhUEhKhGhh)rP}rQ(hNhUC6H12NORrRh}rSh"}rTh$}rU(UHK UCKURKUOKUNKuhjRubh&Uch"}rVh(h)]RrWubG?jGGh)rX}rY(hNhNhU tRNA(Leu)rZh}r[hU trnaleu_cr\hUEhKhGhh)r]}r^(hNhURh}r_h"}r`h$}raURKshURubh&Uch"}rbh(h)]RrcubGj%G?uhNhULeucyl-tRNA synthetaserdh,G@@h-Gh}reh/h)]rfj!)rg}rh(hNj!KhNhUb0642rih}rjj!hjihNhNj!Kh&Nh"}rkj!U+h(h)]RrlubaRrmhULEUTRSrnh2Gh3h4hNh5jih"}roh7Nubh)rp}rq(h UTransport, Inner Membranerrh }rs(j Gj-G?j4GjGG?j>G?jG?h)rt}ru(hNhNhU L-Leucinervh}rwhUleu__L_prxhUEhKhGhh)ry}rz(hNhUC6H13NO2r{h}r|h"}r}h$}r~(UHK UCKUOKUNKuhj{ubh&Uph"}rh(h)]RrubGuhNhU.L-leucine transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(jzCjCjCjCjCj!)r}r(hNj!KhNhUb3458rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhULEUabcpprh2Gh3h4hNh5Ud((b3454 and b3455 and b3457 and b3460 and b3456) or (b3454 and b3455 and b3457 and b3458 and b3456))rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jGG?j"Gj>G?jtGuhNhU=L-leucine reversible transport via proton symport (periplasm)rh,G@@h-G@h}rh/h)]rjlaRrhULEUt2rpprh2Gh3h4hNh5Ub0401rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjtG?uhNhU>L-leucine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhULEUtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UMethylglyoxal Metabolismrh }r(jwGj/1GjG?uhNhUlactoylglutathione lyaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1651rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhULGTHLrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j GjEWG?j>G?j-G?j4GjG?j:qGuhNhU3lipid (cold) A transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU LIPACabcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(jG?jG?j0GjGjGuhNhUYcore oligosaccharide lipid A:hexadecanoate transferase (n-C16:0) (extracellular membrane)rÝh,G@@h-Gh}rĝh/h)]rŝj!)rƝ}rǝ(hNj!KhNhUb0622rȝh}rɝj!hjȝhNhNj!Kh&Nh"}rʝj!U+h(h)]Rr˝ubaRr̝hU LIPAHT2exr͝h2Gh3h4hNh5jȝh"}rΝh7Nubh)rϝ}rН(h U+Lipopolysaccharide Biosynthesis / Recyclingrѝh }rҝ(jG?jG?jGjGj0GuhNhUDLipid A:hexadecanoate transferase (n-C16:0) (extracellular membrane)rӝh,G@@h-Gh}rԝh/h)]r՝jƝaRr֝hULIPAHTexrםh2Gh3h4hNh5Ub0622r؝h"}rٝh7Nubh)rڝ}r۝(h U*Cofactor and Prosthetic Group Biosynthesisrܝh }rݝ(j%G?jG?h)rޝ}rߝ(hNhNhU lipoyl-AMPrh}rhU lipoamp_crhUEhJhGhh)r}r(hNhU C18H25N5O8PS2rh}rh"}rh$}r(UCKUHKUOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubGuhNhULipoyl-adenylate protein ligaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4386rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhULIPAMPLrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jޝG?j Gh)r}r(hNhNhULipoaterh}rhU lipoate_crhUEhKhGhh)r}r(hNhU C8H14O2S2rh}rh"}rh$}r(UHKUCKUSKUOKuhjubh&Uch"}rh(h)]RrubGjTG?uhNhU!Lipoate-ATP adenylate transferaserh,G@@h-Gh}r h/h)]r jaRr hULIPATPTr h2Gh3h4hNh5Ub4386r h"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j GjqGj>G?jG?h)r}r(hNhNhUKDO(2)-lipid (A)rh}rhUlipa_prhUEhJhGhh)r}r(hNhUC110H196N2O39P2rh}rh"}rh$}r(UHKUCKnUPKUOK'UNKuhjubh&Uph"}rh(h)]RrubG?j-G?j4GuhNhU,lipid A transport via ABC system (periplasm)r h,G@@h-Gh}r!h/h)]r"jZaRr#hU LIPAabcppr$h2Gh3h4hNh5Ub0914r%h"}r&h7Nubh)r'}r((h U+Lipopolysaccharide Biosynthesis / Recyclingr)h }r*(j Gj>G?j-G?jG?jG?jGj4GuhNhU=lipid A transport via ABC system (periplasm to extracellular)r+h,G@@h-Gh}r,h/h)]r-(j99j?9j-9j39j'9eRr.hU LIPAabctexr/h2Gh3h4hNh5U/(b3200 and b3201 and b3199 and b4261 and b4262)r0h"}r1h7Nubh)r2}r3(h U*Cofactor and Prosthetic Group Biosynthesisr4h }r5(j>Gj-Gj$-G?h)r6}r7(hNhNhUoctanoate (protein bound)r8h}r9hUoctapb_cr:hUEhKhGhh)r;}r<(hNhUC8H15Or=h}r>h"}r?h$}r@(UHKUCKUOKuhj=ubh&Uch"}rAh(h)]RrBubG?uhNhULipoyl(octanoyl) transferaserCh,G@@h-Gh}rDh/h)]rEj!)rF}rG(hNj!KhNhUb0630rHh}rIj!hjHhNhNj!Kh&Nh"}rJj!U+h(h)]RrKubaRrLhULIPOCTrMh2Gh3h4hNh5jHh"}rNh7Nubh)rO}rP(h U*Cofactor and Prosthetic Group BiosynthesisrQh }rR(jG?jG?j>GjGj6G@jGjPG?jG@jGj6Gj/G@uhNhULipoate synthaserSh,G@@h-Gh}rTh/h)]rUj!)rV}rW(hNj!KhNhUb0628rXh}rYj!hjXhNhNj!Kh&Nh"}rZj!U+h(h)]Rr[ubaRr\hULIPOSr]h2Gh3h4hNh5jXh"}r^h7Nubh)r_}r`(h UTransport, Inner Membranerah }rb(j"GjG?j>G?h)rc}rd(hNhNhULipoatereh}rfhU lipoate_prghUEhKhGhh)rh}ri(hNhU C8H14O2S2rjh}rkh"}rlh$}rm(UHKUCKUSKUOKuhjjubh&Uph"}rnh(h)]RroubGuhNhU0Lipoate transport via proton symport (periplasm)rph,G@@h-Gh}rqh/h)]RrrhULIPOt2pprsh2Gh3h4hNh5Uh"}rth7Nubh)ru}rv(h UTransport, Outer Membrane Porinrwh }rx(jGjcG?uhNhUG?h)r}r(hNhNhU?2,3-Bis(3-hydroxytetradecanoyl)-beta-D-glucosaminyl 1-phosphaterh}rhUlipidX_crhUEhJhGhh)r}r(hNhU C34H64NO12Prh}rh"}rh$}r(UHK@UCK"UPKUOK UNKuhjubh&Uch"}rh(h)]RrubGh)r}r(hNhNhU.UDP-2,3-bis(3-hydroxytetradecanoyl)glucosaminerh}rhUu23ga_crhUEhJhGhh)r}r(hNhU C43H75N3O20P2rh}rh"}rh$}r(UHKKUCK+UPKUOKUNKuhjubh&Uch"}rh(h)]RrubGj7G?uhNhULipid A disaccaride synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0182rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhULPADSSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j"G?jG?jcG?j#Gh)r}r(hNhNhU$1-dodecanoyl-sn-glycerol 3-phosphaterh}rhU 1ddecg3p_prhUEhJhGhh)r}r(hNhU C15H29O7P1ržh}rÞh"}rĞh$}rŞ(UHKUCKUOKUPKuhjžubh&Uph"}rƞh(h)]RrǞubGuhNhUFLysophospholipase L1 (2-acylglycerophosphotidate, n-C12:0) (periplasm)rȞh,G@@h-Gh}rɞh/h)]rʞj!)r˞}r̞(hNj!KhNhUb0494r͞h}rΞj!hj͞hNhNj!Kh&Nh"}rϞj!U+h(h)]RrОubaRrўhULPLIPAL1A120pprҞh2Gh3h4hNh5j͞h"}rӞh7Nubh)rԞ}r՞(h UGlycerophospholipid Metabolismr֞h }rמ(h)r؞}rٞ(hNhNhU'1-tetradecanoyl-sn-glycerol 3-phosphaterڞh}r۞hU 1tdecg3p_prܞhUEhJhGhh)rݞ}rޞ(hNhU C17H33O7P1rߞh}rh"}rh$}r(UHK!UCKUOKUPKuhjߞubh&Uph"}rh(h)]RrubGjsG?j"G?jG?j#GuhNhUFLysophospholipase L1 (2-acylglycerophosphotidate, n-C14:0) (periplasm)rh,G@@h-Gh}rh/h)]rj˞aRrhULPLIPAL1A140pprh2Gh3h4hNh5Ub0494rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j"G?jtG?h)r}r(hNhNhU*1-tetradec-7-enoyl-sn-glycerol 3-phosphaterh}rhU 1tdec7eg3p_prhUEhJhGhh)r}r(hNhU C17H31O7P1rh}rh"}rh$}r(UHKUCKUOKUPKuhjubh&Uph"}rh(h)]RrubGj#GjG?uhNhUFLysophospholipase L1 (2-acylglycerophosphotidate, n-C14:1) (periplasm)rh,G@@h-Gh}rh/h)]rj˞aRrhULPLIPAL1A141pprh2Gh3h4hNh5Ub0494rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r (hNhNhU&1-hexadecanoyl-sn-glycerol 3-phosphater h}r hU 1hdecg3p_pr hUEhJhGhh)r }r(hNhU C19H37O7P1rh}rh"}rh$}r(UHK%UCKUOKUPKuhjubh&Uph"}rh(h)]RrubGj"G?j.tG?j#GjG?uhNhUFLysophospholipase L1 (2-acylglycerophosphotidate, n-C16:0) (periplasm)rh,G@@h-Gh}rh/h)]rj˞aRrhULPLIPAL1A160pprh2Gh3h4hNh5Ub0494rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jFtG?j"G?h)r }r!(hNhNhU)1-hexadec-9-enoyl-sn-glycerol 3-phosphater"h}r#hU 1hdec9eg3p_pr$hUEhJhGhh)r%}r&(hNhU C19H35O7P1r'h}r(h"}r)h$}r*(UHK#UCKUOKUPKuhj'ubh&Uph"}r+h(h)]Rr,ubGj#GjG?uhNhUFLysophospholipase L1 (2-acylglycerophosphotidate, n-C16:1) (periplasm)r-h,G@@h-Gh}r.h/h)]r/j˞aRr0hULPLIPAL1A161ppr1h2Gh3h4hNh5Ub0494r2h"}r3h7Nubh)r4}r5(h UGlycerophospholipid Metabolismr6h }r7(h)r8}r9(hNhNhU&1-octadecanoyl-sn-glycerol 3-phosphater:h}r;hU 1odecg3p_pr<hUEhJhGhh)r=}r>(hNhU C21H41O7P1r?h}r@h"}rAh$}rB(UHK)UCKUOKUPKuhj?ubh&Uph"}rCh(h)]RrDubGj"G?jG?j^tG?j#GuhNhUFLysophospholipase L1 (2-acylglycerophosphotidate, n-C18:0) (periplasm)rEh,G@@h-Gh}rFh/h)]rGj˞aRrHhULPLIPAL1A180pprIh2Gh3h4hNh5Ub0494rJh"}rKh7Nubh)rL}rM(h UGlycerophospholipid MetabolismrNh }rO(h)rP}rQ(hNhNhU*1-octadec-11-enoyl-sn-glycerol 3-phosphaterRh}rShU 1odec11eg3p_prThUEhJhGhh)rU}rV(hNhU C21H39O7P1rWh}rXh"}rYh$}rZ(UHK'UCKUOKUPKuhjWubh&Uph"}r[h(h)]Rr\ubGjG?jvtG?j"G?j#GuhNhUFLysophospholipase L1 (2-acylglycerophosphotidate, n-C18:1) (periplasm)r]h,G@@h-Gh}r^h/h)]r_j˞aRr`hULPLIPAL1A181pprah2Gh3h4hNh5Ub0494rbh"}rch7Nubh)rd}re(h UGlycerophospholipid Metabolismrfh }rg(jG?j"G?jcG?j#Gh)rh}ri(hNhNhU11-Acyl-sn-glycero-3-phosphoethanolamine (n-C12:0)rjh}rkhU 1agpe120_prlhUEhKhGhh)rm}rn(hNhU C17H36NO7P1roh}rph"}rqh$}rr(UHK$UCKUPKUOKUNKuhjoubh&Uph"}rsh(h)]RrtubGuhNhULLysophospholipase L1 (2-acylglycerophosphoethanolamine, n-C12:0) (periplasm)ruh,G@@h-Gh}rvh/h)]rwj˞aRrxhULPLIPAL1E120ppryh2Gh3h4hNh5Ub0494rzh"}r{h7Nubh)r|}r}(h UGlycerophospholipid Metabolismr~h }r(h)r}r(hNhNhU11-Acyl-sn-glycero-3-phosphoethanolamine (n-C14:0)rh}rhU 1agpe140_prhUEhKhGhh)r}r(hNhU C19H40NO7P1rh}rh"}rh$}r(UHK(UCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubGjG?j"G?jsG?j#GuhNhULLysophospholipase L1 (2-acylglycerophosphoethanolamine, n-C14:0) (periplasm)rh,G@@h-Gh}rh/h)]rj˞aRrhULPLIPAL1E140pprh2Gh3h4hNh5Ub0494rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU11-Acyl-sn-glycero-3-phosphoethanolamine (n-C14:1)rh}rhU 1agpe141_prhUEhKhGhh)r}r(hNhU C19H38NO7P1rh}rh"}rh$}r(UHK&UCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubGjG?j"G?jtG?j#GuhNhULLysophospholipase L1 (2-acylglycerophosphoethanolamine, n-C14:1) (periplasm)rh,G@@h-Gh}rh/h)]rj˞aRrhULPLIPAL1E141pprh2Gh3h4hNh5Ub0494rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?j"G?j.tG?h)r}r(hNhNhU11-Acyl-sn-glycero-3-phosphoethanolamine (n-C16:0)rh}rhU 1agpe160_prhUEhKhGhh)r}r(hNhU C21H44NO7P1rh}rh"}rh$}r(UHK,UCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubGj#GuhNhULLysophospholipase L1 (2-acylglycerophosphoethanolamine, n-C16:0) (periplasm)rh,G@@h-Gh}rh/h)]rj˞aRrhULPLIPAL1E160pprh2Gh3h4hNh5Ub0494rŸh"}rßh7Nubh)rğ}rş(h UGlycerophospholipid MetabolismrƟh }rǟ(jFtG?h)rȟ}rɟ(hNhNhU11-Acyl-sn-glycero-3-phosphoethanolamine (n-C16:1)rʟh}r˟hU 1agpe161_pr̟hUEhKhGhh)r͟}rΟ(hNhU C21H42NO7P1rϟh}rПh"}rџh$}rҟ(UHK*UCKUPKUOKUNKuhjϟubh&Uph"}rӟh(h)]RrԟubGjG?j"G?j#GuhNhULLysophospholipase L1 (2-acylglycerophosphoethanolamine, n-C16:1) (periplasm)r՟h,G@@h-Gh}r֟h/h)]rןj˞aRr؟hULPLIPAL1E161pprٟh2Gh3h4hNh5Ub0494rڟh"}r۟h7Nubh)rܟ}rݟ(h UGlycerophospholipid Metabolismrޟh }rߟ(h)r}r(hNhNhU11-Acyl-sn-glycero-3-phosphoethanolamine (n-C18:0)rh}rhU 1agpe180_prhUEhKhGhh)r}r(hNhU C23H48NO7P1rh}rh"}rh$}r(UHK0UCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubGj"G?j^tG?jG?j#GuhNhULLysophospholipase L1 (2-acylglycerophosphoethanolamine, n-C18:0) (periplasm)rh,G@@h-Gh}rh/h)]rj˞aRrhULPLIPAL1E180pprh2Gh3h4hNh5Ub0494rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU11-Acyl-sn-glycero-3-phosphoethanolamine (n-C18:1)rh}rhU 1agpe181_prhUEhKhGhh)r}r(hNhU C23H46NO7P1rh}rh"}rh$}r(UHK.UCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubGjG?jvtG?j"G?j#GuhNhULLysophospholipase L1 (2-acylglycerophosphoethanolamine, n-C18:1) (periplasm)rh,G@@h-Gh}rh/h)]rj˞aRrhULPLIPAL1E181ppr h2Gh3h4hNh5Ub0494r h"}r h7Nubh)r }r (h UGlycerophospholipid Metabolismrh }r(j"G?j#Gh)r}r(hNhNhU-1-Acyl-sn-glycero-3-phosphoglycerol (n-C12:0)rh}rhU 1agpg120_prhUEhJhGhh)r}r(hNhU C18H36O9P1rh}rh"}rh$}r(UHK$UCKUOK UPKuhjubh&Uph"}rh(h)]RrubGjcG?j#G?uhNhUHLysophospholipase L1 (2-acylglycerophosphoglycerol, n-C12:0) (periplasm)rh,G@@h-Gh}rh/h)]rj˞aRr hULPLIPAL1G120ppr!h2Gh3h4hNh5Ub0494r"h"}r#h7Nubh)r$}r%(h UGlycerophospholipid Metabolismr&h }r'(jsG?j"G?j#Gj#G?h)r(}r)(hNhNhU-1-Acyl-sn-glycero-3-phosphoglycerol (n-C14:0)r*h}r+hU 1agpg140_pr,hUEhJhGhh)r-}r.(hNhU C20H40O9P1r/h}r0h"}r1h$}r2(UHK(UCKUOK UPKuhj/ubh&Uph"}r3h(h)]Rr4ubGuhNhUHLysophospholipase L1 (2-acylglycerophosphoglycerol, n-C14:0) (periplasm)r5h,G@@h-Gh}r6h/h)]r7j˞aRr8hULPLIPAL1G140ppr9h2Gh3h4hNh5Ub0494r:h"}r;h7Nubh)r<}r=(h UGlycerophospholipid Metabolismr>h }r?(h)r@}rA(hNhNhU-1-Acyl-sn-glycero-3-phosphoglycerol (n-C14:1)rBh}rChU 1agpg141_prDhUEhJhGhh)rE}rF(hNhU C20H38O9P1rGh}rHh"}rIh$}rJ(UHK&UCKUOK UPKuhjGubh&Uph"}rKh(h)]RrLubGj"G?jtG?j#G?j#GuhNhUHLysophospholipase L1 (2-acylglycerophosphoglycerol, n-C14:1) (periplasm)rMh,G@@h-Gh}rNh/h)]rOj˞aRrPhULPLIPAL1G141pprQh2Gh3h4hNh5Ub0494rRh"}rSh7Nubh)rT}rU(h UGlycerophospholipid MetabolismrVh }rW(j"G?j#Gj#G?j.tG?h)rX}rY(hNhNhU-1-Acyl-sn-glycero-3-phosphoglycerol (n-C16:0)rZh}r[hU 1agpg160_pr\hUEhJhGhh)r]}r^(hNhU C22H44O9P1r_h}r`h"}rah$}rb(UHK,UCKUOK UPKuhj_ubh&Uph"}rch(h)]RrdubGuhNhUHLysophospholipase L1 (2-acylglycerophosphoglycerol, n-C16:0) (periplasm)reh,G@@h-Gh}rfh/h)]rgj˞aRrhhULPLIPAL1G160pprih2Gh3h4hNh5Ub0494rjh"}rkh7Nubh)rl}rm(h UGlycerophospholipid Metabolismrnh }ro(jFtG?h)rp}rq(hNhNhU-1-Acyl-sn-glycero-3-phosphoglycerol (n-C16:1)rrh}rshU 1agpg161_prthUEhJhGhh)ru}rv(hNhU C22H42O9P1rwh}rxh"}ryh$}rz(UHK*UCKUOK UPKuhjwubh&Uph"}r{h(h)]Rr|ubGj"G?j#G?j#GuhNhUHLysophospholipase L1 (2-acylglycerophosphoglycerol, n-C16:1) (periplasm)r}h,G@@h-Gh}r~h/h)]rj˞aRrhULPLIPAL1G161pprh2Gh3h4hNh5Ub0494rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU-1-Acyl-sn-glycero-3-phosphoglycerol (n-C18:0)rh}rhU 1agpg180_prhUEhJhGhh)r}r(hNhU C24H48O9P1rh}rh"}rh$}r(UHK0UCKUOK UPKuhjubh&Uph"}rh(h)]RrubGj"G?j^tG?j#G?j#GuhNhUHLysophospholipase L1 (2-acylglycerophosphoglycerol, n-C18:0) (periplasm)rh,G@@h-Gh}rh/h)]rj˞aRrhULPLIPAL1G180pprh2Gh3h4hNh5Ub0494rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU-1-Acyl-sn-glycero-3-phosphoglycerol (n-C18:1)rh}rhU 1agpg181_prhUEhJhGhh)r}r(hNhU C24H46O9P1rh}rh"}rh$}r(UHK.UCKUOK UPKuhjubh&Uph"}rh(h)]RrubGj"G?jvtG?j#G?j#GuhNhUHLysophospholipase L1 (2-acylglycerophosphoglycerol, n-C18:1) (periplasm)rh,G@@h-Gh}rh/h)]rj˞aRrhULPLIPAL1G181pprh2Gh3h4hNh5Ub0494rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jHG?j%G?j#Gj>G@j4GuhNhU:Lysophospholipase L2 (2-acylglycerophosphotidate, n-C12:0)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3825rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhU LPLIPAL2A120r h2Gh3h4hNh5jh"}ràh7Nubh)rĠ}rŠ(h UGlycerophospholipid MetabolismrƠh }rǠ(j#Gj>G@jHG?j4Gj%G?uhNhU:Lysophospholipase L2 (2-acylglycerophosphotidate, n-C14:0)rȠh,G@@h-Gh}rɠh/h)]rʠjaRrˠhU LPLIPAL2A140r̠h2Gh3h4hNh5Ub3825r͠h"}rΠh7Nubh)rϠ}rР(h UGlycerophospholipid MetabolismrѠh }rҠ(jHG?j>G@j#Gj4Gj&G?uhNhU:Lysophospholipase L2 (2-acylglycerophosphotidate, n-C14:1)rӠh,G@@h-Gh}rԠh/h)]rՠjaRr֠hU LPLIPAL2A141rנh2Gh3h4hNh5Ub3825rؠh"}r٠h7Nubh)rڠ}r۠(h UGlycerophospholipid Metabolismrܠh }rݠ(jHG?j$Gj>G@j&G?j4GuhNhU:Lysophospholipase L2 (2-acylglycerophosphotidate, n-C16:0)rޠh,G@@h-Gh}rߠh/h)]rjaRrhU LPLIPAL2A160rh2Gh3h4hNh5Ub3825rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jHG?j>G@j7&G?j4Gj9$GuhNhU:Lysophospholipase L2 (2-acylglycerophosphotidate, n-C16:1)rh,G@@h-Gh}rh/h)]rjaRrhU LPLIPAL2A161rh2Gh3h4hNh5Ub3825rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jHG?j^$Gj>G@j\&G?j4GuhNhU:Lysophospholipase L2 (2-acylglycerophosphotidate, n-C18:0)rh,G@@h-Gh}rh/h)]rjaRrhU LPLIPAL2A180rh2Gh3h4hNh5Ub3825rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jv$Gjt&G?j>G@jHG?j4GuhNhU:Lysophospholipase L2 (2-acylglycerophosphotidate, n-C18:1)rh,G@@h-Gh}rh/h)]rjaRrhU LPLIPAL2A181rh2Gh3h4hNh5Ub3825rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r (h)r }r (hNhNhU#acyl phosphatidylglycerol (n-C12:0)r h}r hUapg120_crhUEhJhGhh)r}r(hNhU C42H80O11Prh}rh"}rh$}r(UHKPUCK*UOK UPKuhjubh&Uch"}rh(h)]RrubG?jG?j$Gj'GuhNhURLysophospholipase L2 (acyltransferase, 2-acyl-glycerophosphoethanolamine, n-C12:0)rh,G@@h-Gh}rh/h)]rjaRrhULPLIPAL2ATE120rh2Gh3h4hNh5Ub3825rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismr h }r!(h)r"}r#(hNhNhU#acyl phosphatidylglycerol (n-C14:0)r$h}r%hUapg140_cr&hUEhJhGhh)r'}r((hNhU C48H92O11Pr)h}r*h"}r+h$}r,(UHK\UCK0UOK UPKuhj)ubh&Uch"}r-h(h)]Rr.ubG?j'GjG?j$GuhNhURLysophospholipase L2 (acyltransferase, 2-acyl-glycerophosphoethanolamine, n-C14:0)r/h,G@@h-Gh}r0h/h)]r1jaRr2hULPLIPAL2ATE140r3h2Gh3h4hNh5Ub3825r4h"}r5h7Nubh)r6}r7(h UGlycerophospholipid Metabolismr8h }r9(j'Gh)r:}r;(hNhNhU#acyl phosphatidylglycerol (n-C14:1)r<h}r=hUapg141_cr>hUEhJhGhh)r?}r@(hNhU C48H86O11PrAh}rBh"}rCh$}rD(UHKVUCK0UOK UPKuhjAubh&Uch"}rEh(h)]RrFubG?jG?j$GuhNhURLysophospholipase L2 (acyltransferase, 2-acyl-glycerophosphoethanolamine, n-C14:1)rGh,G@@h-Gh}rHh/h)]rIjaRrJhULPLIPAL2ATE141rKh2Gh3h4hNh5Ub3825rLh"}rMh7Nubh)rN}rO(h UGlycerophospholipid MetabolismrPh }rQ(h)rR}rS(hNhNhU#acyl phosphatidylglycerol (n-C16:0)rTh}rUhUapg160_crVhUEhJhGhh)rW}rX(hNhU C54H104O11PrYh}rZh"}r[h$}r\(UHKhUCK6UOK UPKuhjYubh&Uch"}r]h(h)]Rr^ubG?jG?j%GjGuhNhURLysophospholipase L2 (acyltransferase, 2-acyl-glycerophosphoethanolamine, n-C16:0)r_h,G@@h-Gh}r`h/h)]rajaRrbhULPLIPAL2ATE160rch2Gh3h4hNh5Ub3825rdh"}reh7Nubh)rf}rg(h UGlycerophospholipid Metabolismrhh }ri(jGjG?j/%Gh)rj}rk(hNhNhU#acyl phosphatidylglycerol (n-C16:1)rlh}rmhUapg161_crnhUEhJhGhh)ro}rp(hNhU C54H98O11Prqh}rrh"}rsh$}rt(UHKbUCK6UOK UPKuhjqubh&Uch"}ruh(h)]RrvubG?uhNhURLysophospholipase L2 (acyltransferase, 2-acyl-glycerophosphoethanolamine, n-C16:1)rwh,G@@h-Gh}rxh/h)]ryjaRrzhULPLIPAL2ATE161r{h2Gh3h4hNh5Ub3825r|h"}r}h7Nubh)r~}r(h UGlycerophospholipid Metabolismrh }r(j'Gja%GjG?h)r}r(hNhNhU#acyl phosphatidylglycerol (n-C18:0)rh}rhUapg180_crhUEhJhGhh)r}r(hNhU C60H116O11Prh}rh"}rh$}r(UHKtUCKG?jG?j4Gj$GuhNhU@Lysophospholipase L2 (2-acylglycerophosphoethanolamine, n-C12:0)rh,G@@h-Gh}rh/h)]rjaRrhU LPLIPAL2E120rh2Gh3h4hNh5Ub3825rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r (j$Gj>G?j%G?jG?j4GuhNhU@Lysophospholipase L2 (2-acylglycerophosphoethanolamine, n-C14:0)r h,G@@h-Gh}r h/h)]r jaRr hU LPLIPAL2E140rh2Gh3h4hNh5Ub3825rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j$Gj>G?jG?j4Gj&G?uhNhU@Lysophospholipase L2 (2-acylglycerophosphoethanolamine, n-C14:1)rh,G@@h-Gh}rh/h)]rjaRrhU LPLIPAL2E141rh2Gh3h4hNh5Ub3825rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j&G?j>G?j%Gj4GjG?uhNhU@Lysophospholipase L2 (2-acylglycerophosphoethanolamine, n-C16:0)r h,G@@h-Gh}r!h/h)]r"jaRr#hU LPLIPAL2E160r$h2Gh3h4hNh5Ub3825r%h"}r&h7Nubh)r'}r((h UGlycerophospholipid Metabolismr)h }r*(j7&G?j>G?j/%Gj4GjG?uhNhU@Lysophospholipase L2 (2-acylglycerophosphoethanolamine, n-C16:1)r+h,G@@h-Gh}r,h/h)]r-jaRr.hU LPLIPAL2E161r/h2Gh3h4hNh5Ub3825r0h"}r1h7Nubh)r2}r3(h UGlycerophospholipid Metabolismr4h }r5(jG?j>G?j\&G?j4Gja%GuhNhU@Lysophospholipase L2 (2-acylglycerophosphoethanolamine, n-C18:0)r6h,G@@h-Gh}r7h/h)]r8jaRr9hU LPLIPAL2E180r:h2Gh3h4hNh5Ub3825r;h"}r<h7Nubh)r=}r>(h UGlycerophospholipid Metabolismr?h }r@(jt&G?j>G?jG?j4Gj%GuhNhU@Lysophospholipase L2 (2-acylglycerophosphoethanolamine, n-C18:1)rAh,G@@h-Gh}rBh/h)]rCjaRrDhU LPLIPAL2E181rEh2Gh3h4hNh5Ub3825rFh"}rGh7Nubh)rH}rI(h UGlycerophospholipid MetabolismrJh }rK(j%G?j&Gj0G?j>G?j4GuhNhUG?j0G?j%G?j4Gj&GuhNhUG?j&G?j4Gj&GuhNhUG?j&Gj4Gj&G?uhNhUG?j0G?j 'Gj7&G?j4GuhNhUG?j\&G?jE'Gj4GuhNhUG?j4GuhNhUG?jGuhNhUL-serine dehydrogenaserh,G@@h-G@h}rh/h)]rjOaRrhULSERDHrrh2Gh3h4hNh5Ub1539rh"}rh7Nubh)r}r(h UThreonine and Lysine Metabolismrh }r(jHG?j>GhGj -G?uhNhUlysine decarboxylaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb4131rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0186rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhULYSDCrh2Gh3h4hNh5U(b0186 or b4131)rh"}rh7Nubh)r}r(h U tRNA Chargingrh }r(h)r}r(hNhNhUL-Lysine-tRNA (Lys)rh}rhU lystrna_crhUEhKhGhh)r}r(hNhU C6H14N2ORr¢h}râh"}rĢh$}rŢ(UHKUCKURKUOKUNKuhj¢ubh&Uch"}rƢh(h)]RrǢubG?j Gh)rȢ}rɢ(hNhNhU tRNA(Lys)rʢh}rˢhU trnalys_cr̢hUEhKhGhh)r͢}r΢(hNhURh}rϢh"}rТh$}rѢURKshURubh&Uch"}rҢh(h)]RrӢubGjTG?j%G?hGuhNhULysyl-tRNA synthetaserԢh,G@@h-Gh}rբh/h)]r֢(jsHj!)rע}rآ(hNj!KhNhUb2890r٢h}rڢj!hj٢hNhNj!Kh&Nh"}rۢj!U+h(h)]RrܢubeRrݢhULYSTRSrޢh2Gh3h4hNh5U(b4129 or b2890)rߢh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj-G?j>G?hG?j4GjG?jmRGuhNhU-L-lysine transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j LjLjKj&LeRrhULYSabcpprh2Gh3h4hNh5U%(b2310 and b2307 and b2306 and b2308)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?j"GhG?jmRGuhNhU4L-lysine transport in via proton symport (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2156rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhULYSt2pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jmRG?j>G?j"GhGuhNhUCL-lysine transport out via proton antiport (cytoplasm to periplasm)rh,G@@h-Gh}rh/h)]rj7LaRrhULYSt3pprh2Gh3h4hNh5Ub2923rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinr h }r (jmRG?jGuhNhU=L-lysine transport via diffusion (extracellular to periplasm)r h,G@@h-G@h}r h/h)]r (j!j!j!j!eRrhULYStexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhU L-Xyluloserh}rhU xylu__L_crhUEhKhGhh)r}r(hNhUC5H10O5rh}rh"}rh$}r (UHK UCKUOKuhjubh&Uch"}r!h(h)]Rr"ubG?h)r#}r$(hNhNhUL-Lyxoser%h}r&hUlyx__L_cr'hUEhKhGhh)r(}r)(hNhUC5H10O5r*h}r+h"}r,h$}r-(UHK UCKUOKuhj*ubh&Uch"}r.h(h)]Rr/ubGuhNhULyxose isomeraser0h,G@@h-Gh}r1h/h)]r2j!)r3}r4(hNj!KhNhUb3903r5h}r6j!hj5hNhNj!Kh&Nh"}r7j!U+h(h)]Rr8ubaRr9hULYXIr:h2Gh3h4hNh5j5h"}r;h7Nubh)r<}r=(h UTransport, Inner Membraner>h }r?(j>G?j"Gj#G?h)r@}rA(hNhNhUL-LyxoserBh}rChUlyx__L_prDhUEhKhGhh)rE}rF(hNhUC5H10O5rGh}rHh"}rIh$}rJ(UHK UCKUOKuhjGubh&Uph"}rKh(h)]RrLubGuhNhU1L-Lyxose transport via proton symport (periplasm)rMh,G@@h-Gh}rNh/h)]rOj!)rP}rQ(hNj!KhNhUb3907rRh}rSj!hjRhNhNj!Kh&Nh"}rTj!U+h(h)]RrUubaRrVhULYXt2pprWh2Gh3h4hNh5jRh"}rXh7Nubh)rY}rZ(h UTransport, Outer Membrane Porinr[h }r\(jGj@G?uhNhU=L-Lyxose transport via diffusion (extracellular to periplasm)r]h,G@@h-G@h}r^h/h)]r_(j!j!j!j!eRr`hULYXtexrah2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rbh"}rch7Nubh)rd}re(h UAlternate Carbon Metabolismrfh }rg(jG?jGh)rh}ri(hNhNhUD-Mannitol 1-phosphaterjh}rkhUmnl1p_crlhUEhJhGhh)rm}rn(hNhUC6H13O9Proh}rph"}rqh$}rr(UHK UCKUOK UPKuhjoubh&Uch"}rsh(h)]RrtubGj>G?jWEG?uhNhU$mannitol-1-phosphate 5-dehydrogenaseruh,G@@h-G@h}rvh/h)]rwj!)rx}ry(hNj!KhNhUb3600rzh}r{j!hjzhNhNj!Kh&Nh"}r|j!U+h(h)]Rr}ubaRr~hUM1PDrh2Gh3h4hNh5jzh"}rh7Nubh)r}r(h UMembrane Lipid Metabolismrh }r(j>Gj1-Gj -G?j8G?uhNhUMalonyl-ACP decarboxylaserh,G@@h-Gh}rh/h)]rjG-aRrhUMACPDrh2Gh3h4hNh5Ub2323rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGj9G?h)r}r(hNhNhUmalonyl-CoA methyl esterrh}rhU malcoame_crhUEhJhGhh)r}r(hNhUC25H36N7O19P3Srh}rh"}rh$}r(UCKUHK$UOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubG?jGuhNhUMalonyl-CoA methyltransferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0777rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMALCOAMTrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhUD-Malaterh}rhUmal__D_crhUEhJhGhh)r}r(hNhUC4H4O5rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubGj -G?jG?jGj5G?uhNhU7malate decarboxylating oxidoreductase (decarboxylating)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1800rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rr£ubaRrãhUMALDDHrģh2Gh3h4hNh5jh"}rţh7Nubh)rƣ}rǣ(h UTransport, Inner Membranerȣh }rɣ(jG?h)rʣ}rˣ(hNhNhUD-Malateṛh}rͣhUmal__D_prΣhUEhJhGhh)rϣ}rУ(hNhUC4H4O5rѣh}rңh"}rӣh$}rԣ(UHKUCKUOKuhjѣubh&Uph"}rգh(h)]Rr֣ubGj"Gj>G@uhNhU7D-Malate transport via proton symport (2 H) (periplasm)rףh,G@@h-Gh}rأh/h)]r٣jNaRrڣhU MALDt2_2pprۣh2Gh3h4hNh5Ub3528rܣh"}rݣh7Nubh)rޣ}rߣ(h UTransport, Outer Membrane Porinrh }r(j/GjʣG?uhNhU=D-Malate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUMALDtexrh2Gh3h4hNh5U"(b2215 or b1377 or b0241 or b0929)rh"}rh7Nubh)r}r(h UAnaplerotic Reactionsrh }r(j}G?jGj>G?jG?jvGj4GuhNhUmalate synthaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2976rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4014rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUMALSrh2Gh3h4hNh5U(b4014 or b2976)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j|FGjG?jGh)r}r(hNhNhUAcetyl-maltoserh}rhUacmalt_crhUEhKhGhh)r }r (hNhU C14H24O12r h}r h"}r h$}r(UHKUCKUOK uhj ubh&Uch"}rh(h)]RrubG?uhNhUmaltose O-acetyltransferaserh,G@@h-G@h}rh/h)]rjQaRrhUMALTATrrh2Gh3h4hNh5Ub0459rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj1G?j>G?j1Gj-G?jG?j4GuhNhU1maltohexaose transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j?"jE"jK"jQ"eRrhU MALTHXabcppr h2Gh3h4hNh5U%(b4034 and b4033 and b4032 and b4035)r!h"}r"h7Nubh)r#}r$(h UTransport, Outer Membraner%h }r&(jnGj1G?uhNhUNmaltohexaose transport via diffusion (extracellular to periplasm) irreversibler'h,G@@h-Gh}r(h/h)]r)jb"aRr*hU MALTHXtexir+h2Gh3h4hNh5Ub4036r,h"}r-h7Nubh)r.}r/(h UTransport, Inner Membraner0h }r1(j Gh)r2}r3(hNhNhU Maltopentaoser4h}r5hUmaltpt_pr6hUEhKhGhh)r7}r8(hNhU C30H52O26r9h}r:h"}r;h$}r<(UHK4UCKUOKuhj9ubh&Uph"}r=h(h)]Rr>ubGj>G?j-G?jFG?jG?j4GuhNhU2maltopentaose transport via ABC system (periplasm)r?h,G@@h-Gh}r@h/h)]rA(j?"jE"jK"jQ"eRrBhU MALTPTabcpprCh2Gh3h4hNh5U%(b4034 and b4033 and b4032 and b4035)rDh"}rEh7Nubh)rF}rG(h UTransport, Outer MembranerHh }rI(jGj2G?uhNhUZmaltopentaoseMaltotriose transport via diffusion (extracellular to periplasm) irreversiblerJh,G@@h-Gh}rKh/h)]rLjb"aRrMhU MALTPTtexirNh2Gh3h4hNh5Ub4036rOh"}rPh7Nubh)rQ}rR(h UTransport, Inner MembranerSh }rT(j Gj>G?j4GjFG?h)rU}rV(hNhNhU MaltotrioserWh}rXhUmalttr_prYhUEhKhGhh)rZ}r[(hNhU C18H32O16r\h}r]h"}r^h$}r_(UHK UCKUOKuhj\ubh&Uph"}r`h(h)]RraubGjG?j-G?uhNhU0Maltotriose transport via ABC system (periplasm)rbh,G@@h-Gh}rch/h)]rd(jK"j?"jE"jQ"eRrehU MALTTRabcpprfh2Gh3h4hNh5U%(b4034 and b4033 and b4032 and b4035)rgh"}rhh7Nubh)ri}rj(h UTransport, Outer Membranerkh }rl(jGjUG?uhNhUMMaltotriose transport via diffusion (extracellular to periplasm) irreversiblermh,G@@h-Gh}rnh/h)]rojb"aRrphU MALTTRtexirqh2Gh3h4hNh5Ub4036rrh"}rsh7Nubh)rt}ru(h UTransport, Inner Membranervh }rw(joFG?j Gj>G?j-G?jG?j4Gh)rx}ry(hNhNhU Maltotetraoserzh}r{hU maltttr_pr|hUEhKhGhh)r}}r~(hNhU C24H42O21rh}rh"}rh$}r(UHK*UCKUOKuhjubh&Uph"}rh(h)]RrubGuhNhU2maltotetraose transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j?"jE"jK"jQ"eRrhU MALTTTRabcpprh2Gh3h4hNh5U%(b4034 and b4033 and b4032 and b4035)rh"}rh7Nubh)r}r(h UTransport, Outer Membranerh }r(jxG?jGuhNhUZmaltotetraoseMaltotriose transport via diffusion (extracellular to periplasm) irreversiblerh,G@@h-Gh}rh/h)]rjb"aRrhU MALTTTRtexirh2Gh3h4hNh5Ub4036rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj-G?j|FG?j>G?h)r}r(hNhNhUMaltoserh}rhUmalt_prhUEhKhGhh)r}r(hNhU C12H22O11rh}rh"}rh$}r(UHKUCK UOK uhjubh&Uph"}rh(h)]RrubGj4GjG?uhNhU,maltose transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j?"jE"jK"jQ"eRrhU MALTabcpprh2Gh3h4hNh5U%(b4034 and b4033 and b4032 and b4035)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(h)r}r(hNhNhUMaltose 6'-phosphaterh}rhUmalt6p_crhUEhJhGhh)r}r(hNhU C12H21O14Prh}rh"}rh$}r(UHKUCK UOKUPKuhjubh&Uch"}rh(h)]RrubG?j5GjGj5G?uhNhU-maltose transport via PEP:Pyr PTS (periplasm)rh,G@@h-Gh}rh/h)]r¤(j5jj5j6eRrähU MALTptspprĤh2Gh3h4hNh5U%(b2417 and b1621 and b2415 and b2416)rŤh"}rƤh7Nubh)rǤ}rȤ(h UTransport, Outer Membranerɤh }rʤ(jYGjG?uhNhUTmaltoseMaltotriose transport via diffusion (extracellular to periplasm) irreversiblerˤh,G@@h-Gh}r̤h/h)]rͤjb"aRrΤhUMALTtexirϤh2Gh3h4hNh5Ub4036rФh"}rѤh7Nubh)rҤ}rӤ(h UTransport, Inner MembranerԤh }rդ(j}G?j"Gj>G@h)r֤}rפ(hNhNhUL-Malaterؤh}r٤hUmal__L_prڤhUEhJhGhh)rۤ}rܤ(hNhUC4H4O5rݤh}rޤh"}rߤh$}r(UHKUCKUOKuhjݤubh&Uph"}rh(h)]RrubGuhNhU5Malate transport via proton symport (2 H) (periplasm)rh,G@@h-Gh}rh/h)]rjNaRrhU MALt2_2pprh2Gh3h4hNh5Ub3528rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G@j֤Gj"Gj}G?uhNhU5Malate transport via proton symport (3 H) (periplasm)rh,G@@h-Gh}rh/h)]r(j OjOeRrhU MALt2_3pprh2Gh3h4hNh5U(b4123 or b4138)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?j֤G?j"Gj}GuhNhU6L-malate transport out via proton antiport (periplasm)rh,G@@h-Gh}rh/h)]RrhUMALt3pprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jDGj֤G?uhNhU;Malate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUMALtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r }r (h UCell Envelope Biosynthesisr h }r (j4<Gj>GjG?jG?j2GuhNhU-mannose-1-phosphate guanylyltransferase (GDP)r h,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2049rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMAN1PT2rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jWEG?jGuhNhUmannose-6-phosphate isomeraserh,G@@h-G@h}rh/h)]rj!)r }r!(hNj!KhNhUb1613r"h}r#j!hj"hNhNj!Kh&Nh"}r$j!U+h(h)]Rr%ubaRr&hUMAN6PIr'h2Gh3h4hNh5j"h"}r(h7Nubh)r)}r*(h UTransport, Inner Membraner+h }r,(jGj+G@h)r-}r.(hNhNhUD-Mannose 6-phosphater/h}r0hUman6p_pr1hUEhJhGhh)r2}r3(hNhUC6H11O9Pr4h}r5h"}r6h$}r7(UHK UCKUOK UPKuhj4ubh&Uph"}r8h(h)]Rr9ubGjG?uhNhU@Mannose-6-phosphate transport via phosphate antiport (periplasm)r:h,G@@h-Gh}r;h/h)]r<jraRr=hU MAN6Pt6_2ppr>h2Gh3h4hNh5Ub3666r?h"}r@h7Nubh)rA}rB(h UTransport, Outer Membrane PorinrCh }rD(j-G?jGuhNhUHMannose 6-phosphate transport via diffusion (extracellular to periplasm)rEh,G@@h-G@h}rFh/h)]rG(j!j!j!j!eRrHhUMAN6PtexrIh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rJh"}rKh7Nubh)rL}rM(h UAlternate Carbon MetabolismrNh }rO(jG?h)rP}rQ(hNhNhU D-MannonaterRh}rShUmana_crThUEhJhGhh)rU}rV(hNhUC6H11O7rWh}rXh"}rYh$}rZ(UHK UCKUOKuhjWubh&Uch"}r[h(h)]Rr\ubGj|G?j>G?jGuhNhUMannonate oxidoreductaser]h,G@@h-G@h}r^h/h)]r_j!)r`}ra(hNj!KhNhUb4323rbh}rcj!hjbhNhNj!Kh&Nh"}rdj!U+h(h)]RreubaRrfhUMANAOrgh2Gh3h4hNh5jbh"}rhh7Nubh)ri}rj(h UTransport, Inner Membranerkh }rl(j5Gh)rm}rn(hNhNhU2(alpha-D-Mannosyl)-D-glycerateroh}rphU manglyc_prqhUEhJhGhh)rr}rs(hNhUC9H15O9rth}ruh"}rvh$}rw(UHKUCK UOK uhjtubh&Uph"}rxh(h)]RryubGj5G?h)rz}r{(hNhNhU+2(alpha-D-Mannosyl-6-phosphate)-D-glycerater|h}r}hU man6pglyc_cr~hUEhJhGhh)r}r(hNhU C9H14O12Prh}rh"}rh$}r(UHKUCK UOK UPKuhjubh&Uch"}rh(h)]RrubG?uhNhUD2-O-alpha-mannosyl-D-glycerate transport via PEP:Pyr PTS (periplasm)rh,G@@h-Gh}rh/h)]r(j6j!)r}r(hNj!KhNhUb0731rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj5eRrhU MANGLYCptspprh2Gh3h4hNh5U(b0731 and b2415 and b2416)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjmG?uhNhUS2-O-alpha-mannosyl-D-glycerate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU MANGLYCtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j4Gj܊G?jzGjG?uhNhU42-O-alpha-mannosyl-6-phosphate-D-glycerate hydrolaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0732rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMANPGHrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jG?j5Gj5G?h)r}r(hNhNhU D-Mannoserh}rhUman_prhUEhKhGhh)r}r(hNhUC6H12O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uph"}rh(h)]RrubGuhNhU/D-mannose transport via PEP:Pyr PTS (periplasm)rh,G@@h-Gh}rh/h)]r¥(j5jP7jJ7jV7j6eRråhUMANptspprĥh2Gh3h4hNh5U/(b1817 and b1818 and b1819 and b2415 and b2416)rťh"}rƥh7Nubh)rǥ}rȥ(h UTransport, Outer Membrane Porinrɥh }rʥ(jG?jGuhNhU>D-mannose transport via diffusion (extracellular to periplasm)r˥h,G@@h-G@h}r̥h/h)]rͥ(j!j!j!j!eRrΥhUMANtexrϥh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rХh"}rѥh7Nubh)rҥ}rӥ(h UAlternate Carbon Metabolismrԥh }rե(j4G?h)r֥}rץ(hNhNhUcis-2-Methylaconitaterإh}r٥hU2mcacn_crڥhUEhJhGhh)rۥ}rܥ(hNhUC7H5O6rݥh}rޥh"}rߥh$}r(UHKUCKUOKuhjݥubh&Uch"}rh(h)]RrubG?h)r}r(hNhNhU2-Methylcitraterh}rhU2mcit_crhUEhJhGhh)r}r(hNhUC7H7O7rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubGuhNhU2-methylcitrate dehydrataserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0334rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMCITDrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j\NG?j5G?h)r}r(hNhNhUmethylisocitraterh}rhUmicit_crhUEhJhGhh)r}r(hNhUC7H7O7rh}rh"}r h$}r (UHKUCKUOKuhjubh&Uch"}r h(h)]Rr ubGuhNhUmethylisocitrate lyaser h,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb0331rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMCITL2rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jNGjG?j4Gj>G?jG?j4GuhNhU2-methylcitrate synthaserh,G@@h-Gh}rh/h)]rj!)r }r!(hNj!KhNhUb0333r"h}r#j!hj"hNhNj!Kh&Nh"}r$j!U+h(h)]Rr%ubaRr&hUMCITSr'h2Gh3h4hNh5j"h"}r(h7Nubh)r)}r*(h UMembrane Lipid Metabolismr+h }r,(jGj$-GjG?j1-G?uhNhUMalonyl-CoA-ACP transacylaser-h,G@@h-G@h}r.h/h)]r/(j!)r0}r1(hNj!KhNhUb1092r2h}r3j!hj2hNhNj!Kh&Nh"}r4j!U+h(h)]Rr5ubj{0eRr6hUMCOATAr7h2Gh3h4hNh5U(b1094 and b1092)r8h"}r9h7Nubh)r:}r;(h UCysteine Metabolismr<h }r=(h)r>}r?(hNhNhUMercaptopyruvater@h}rAhU mercppyr_crBhUEhJhGhh)rC}rD(hNhUC3H3O3SrEh}rFh"}rGh$}rH(UHKUCKUSKUOKuhjEubh&Uch"}rIh(h)]RrJubGj]Gj>G?j5G?j]G?uhNhU$3-mercaptopyruvate sulfurtransferaserKh,G@@h-Gh}rLh/h)]rMj!)rN}rO(hNj!KhNhUb2521rPh}rQj!hjPhNhNj!Kh&Nh"}rRj!U+h(h)]RrSubaRrThUMCPSTrUh2Gh3h4hNh5jPh"}rVh7Nubh)rW}rX(h UMurein BiosynthesisrYh }rZ(jG?h)r[}r\(hNhNhUQtwo linked disacharide pentapeptide murein units (uncrosslinked, middle of chain)r]h}r^hU murein5p5p_pr_hUEhJhGhh)r`}ra(hNhU C80H124N16O42rbh}rch"}rdh$}re(UHK|UCKPUOK*UNKuhjbubh&Uph"}rfh(h)]RrgubGjx/G?uhNhU?murein crosslinking transpeptidase 1A:(A2pm->D-ala) (periplasm)rhh,G@@h-Gh}rih/h)]rj(j!)rk}rl(hNj!KhNhUb0149rmh}rnj!hjmhNhNj!Kh&Nh"}roj!U+h(h)]Rrpubj!)rq}rr(hNj!KhNhUb3396rsh}rtj!hjshNhNj!Kh&Nh"}ruj!U+h(h)]Rrvubj!)rw}rx(hNj!KhNhUb0084ryh}rzj!hjyhNhNj!Kh&Nh"}r{j!U+h(h)]Rr|ubj!)r}}r~(hNj!KhNhUb0635rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUMCTP1Apprh2Gh3h4hNh5U"(b0084 or b0635 or b0149 or b3396)rh"}rh7Nubh)r}r(h UMurein Biosynthesisrh }r(j[Gh)r}r(hNhNhUgtwo disacharide linked murein units, pentapeptide corsslinked tripeptide (A2pm->A2pm) (middle of chain)rh}rhU murein5px3p_prhUEhJhGhh)r}r(hNhU C74H112N14O39rh}rh"}rh$}r(UHKpUCKJUOK'UNKuhjubh&Uph"}rh(h)]RrubG?jDBG?uhNhU>murein crosslinking transpeptidase 1B:(A2pm->A2pm) (periplasm)rh,G@@h-Gh}rh/h)]r(jqjkeRrhUMCTP1Bpprh2Gh3h4hNh5U(b0149 or b3396)rh"}rh7Nubh)r}r(h UMurein Biosynthesisrh }r(jx/G@h)r}r(hNhNhUSthree linked disacharide pentapeptide murein units (uncrosslinked, middle of chain)rh}rhUmurein5p5p5p_prhUEhJhGhh)r}r(hNhUC120H186N24O63rh}rh"}rh$}r(UHKUCKxUOK?UNKuhjubh&Uph"}rh(h)]RrubGh)r}r(hNhNhUthree disacharide linked murein units (pentapeptide crosslinked tetrapeptide (A2pm->D-ala) tetrapeptide corsslinked tetrapeptide (A2pm->D-ala)) (middle of chain)rh}rhUmurein5px4px4p_prhUEhJhGhh)r}r(hNhUC114H172N22O59rh}rh"}rh$}r(UHKUCKrUOK;UNKuhjubh&Uph"}rh(h)]RrubG?uhNhU?murein crosslinking transpeptidase 1A:(A2pm->D-ala) (periplasm)rh,G@@h-Gh}rh/h)]r(jwjqjkj}eRrhUMCTP2Apprh2Gh3h4hNh5U"(b0084 or b0635 or b3396 or b0149)r¦h"}ræh7Nubh)rĦ}rŦ(h UMurein BiosynthesisrƦh }rǦ(jx/G?j#GjGjG?uhNhU5murein D,D-carboxypeptidase (murein5px4p) (periplasm)rȦh,G@@h-Gh}rɦh/h)]rʦ(j!)r˦}r̦(hNj!KhNhUb0632rͦh}rΦj!hjͦhNhNj!Kh&Nh"}rϦj!U+h(h)]RrЦubj!)rѦ}rҦ(hNj!KhNhUb2010rӦh}rԦj!hjӦhNhNj!Kh&Nh"}rզj!U+h(h)]Rr֦ubj!)rצ}rئ(hNj!KhNhUb3182r٦h}rڦj!hj٦hNhNj!Kh&Nh"}rۦj!U+h(h)]Rrܦubj!)rݦ}rަ(hNj!KhNhUb0839rߦh}rj!hjߦhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUMDDCP1pprh2Gh3h4hNh5U"(b0632 or b3182 or b0839 or b2010)rh"}rh7Nubh)r}r(h UMurein Biosynthesisrh }r(jx/G?j#Gj%G?jGuhNhU8murein D,D-carboxypeptidase (murein5px4px4p) (periplasm)rh,G@@h-Gh}rh/h)]r(j˦jѦjצjݦeRrhUMDDCP2pprh2Gh3h4hNh5U"(b0632 or b3182 or b0839 or b2010)rh"}rh7Nubh)r}r(h UMurein Biosynthesisrh }r(j[Gjx/G?j#Gh)r}r(hNhNhUbtwo linked disacharide pentapeptide and tetrapeptide murein units (uncrosslinked, middle of chain)rh}rhU murein5p4p_prhUEhJhGhh)r}r(hNhU C77H119N15O41rh}rh"}rh$}r(UHKwUCKMUOK)UNKuhjubh&Uph"}rh(h)]RrubG?uhNhU4murein D,D-carboxypeptidase (murein5p5p) (periplasm)rh,G@@h-Gh}rh/h)]r(j˦jצjݦjѦeRrhUMDDCP3pprh2Gh3h4hNh5U"(b0632 or b3182 or b0839 or b2010)rh"}r h7Nubh)r }r (h UMurein Biosynthesisr h }r (jx/G?jGjsG?j#GuhNhU4murein D,D-carboxypeptidase (murein5p4p) (periplasm)rh,G@@h-Gh}rh/h)]r(j˦jѦjצjݦeRrhUMDDCP4pprh2Gh3h4hNh5U"(b0632 or b3182 or b0839 or b2010)rh"}rh7Nubh)r}r(h UMurein Biosynthesisrh }r(jx/G?h)r}r(hNhNhU`two linked disacharide pentapeptide and tripeptide murein units (uncrosslinked, middle of chain)rh}rhU murein5p3p_prhUEhJhGhh)r}r(hNhU C74H114N14O40r h}r!h"}r"h$}r#(UHKrUCKJUOK(UNKuhj ubh&Uph"}r$h(h)]Rr%ubGj#Gh)r&}r'(hNhNhU`two linked disacharide tetrapeptide and tripeptide murein units (uncrosslinked, middle of chain)r(h}r)hU murein4p3p_pr*hUEhJhGhh)r+}r,(hNhU C71H109N13O39r-h}r.h"}r/h$}r0(UHKmUCKGUOK'UNK uhj-ubh&Uph"}r1h(h)]Rr2ubG?uhNhU4murein D,D-carboxypeptidase (murein5p3p) (periplasm)r3h,G@@h-Gh}r4h/h)]r5(j˦jצjݦjѦeRr6hUMDDCP5ppr7h2Gh3h4hNh5U"(b0632 or b3182 or b0839 or b2010)r8h"}r9h7Nubh)r:}r;(h UMurein Recyclingr<h }r=(jsG?j#GjGuhNhU2murein D,D-endopeptidase (murein4px4p) (periplasm)r>h,G@@h-Gh}r?h/h)]r@(jצj!)rA}rB(hNj!KhNhUb2328rCh}rDj!hjChNhNj!Kh&Nh"}rEj!U+h(h)]RrFubj!)rG}rH(hNj!KhNhUb2134rIh}rJj!hjIhNhNj!Kh&Nh"}rKj!U+h(h)]RrLubeRrMhUMDDEP1pprNh2Gh3h4hNh5U(b3182 or b2328 or b2134)rOh"}rPh7Nubh)rQ}rR(h UMurein RecyclingrSh }rT(j#Gj]Gj&G?uhNhU2murein D,D-endopeptidase (murein3px4p) (periplasm)rUh,G@@h-Gh}rVh/h)]rW(jצjAjGeRrXhUMDDEP2pprYh2Gh3h4hNh5U(b3182 or b2328 or b2134)rZh"}r[h7Nubh)r\}r](h UMurein Recyclingr^h }r_(jGj#GjG?uhNhU2murein D,D-endopeptidase (murein5px4p) (periplasm)r`h,G@@h-Gh}rah/h)]rb(jAjצjGeRrchUMDDEP3pprdh2Gh3h4hNh5U(b3182 or b2328 or b2134)reh"}rfh7Nubh)rg}rh(h UMurein Recyclingrih }rj(j%Gj#Gh)rk}rl(hNhNhUthree disacharide linked murein units (tetrapeptide crosslinked tetrapeptide (A2pm->D-ala), one uncrosslinked tetrapaptide) (middle of chain)rmh}rnhUmurein4px4p4p_prohUEhJhGhh)rp}rq(hNhUC111H169N21O59rrh}rsh"}rth$}ru(UHKUCKoUOK;UNKuhjrubh&Uph"}rvh(h)]RrwubG?uhNhU5murein D,D-endopeptidase (murein4px4px4p) (periplasm)rxh,G@@h-Gh}ryh/h)]rz(jצjAjGeRr{hUMDDEP4ppr|h2Gh3h4hNh5U(b3182 or b2328 or b2134)r}h"}r~h7Nubh)r}r(h UCitric Acid Cyclerh }r(jG?jNG?j>G?jGj}GuhNhUmalate dehydrogenaserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb3236rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMDHrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCitric Acid Cyclerh }r(jNG?j}GjNGjG?uhNhU/Malate dehydrogenase (ubiquinone 8 as acceptor)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2210rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMDH2rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCitric Acid Cyclerh }r(jDNGjG?j}GjNG?uhNhU0Malate dehydrogenase (menaquinone 8 as acceptor)rh,G@@h-Gh}rh/h)]rjaRrhUMDH3rh2Gh3h4hNh5Ub2210rh"}rh7Nubh)r}r(h UAnaplerotic Reactionsrh }r(jG?j}GjGj5G?j -G?uhNhUmalic enzyme (NAD)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1479rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUME1rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAnaplerotic Reactionsrh }r(j}Gj)GjCG?j5G?j -G?uhNhUmalic enzyme (NADP)rh,G@@h-Gh}rh/h)]rj!)r}r§(hNj!KhNhUb2463rçh}rħj!hjçhNhNj!Kh&Nh"}rŧj!U+h(h)]RrƧubaRrǧhUME2rȧh2Gh3h4hNh5jçh"}rɧh7Nubh)rʧ}r˧(h U*Cofactor and Prosthetic Group Biosynthesisŗh }rͧ(jzG@j>GjiG?h)rΧ}rϧ(hNhNhU,2-C-methyl-D-erythritol 2,4-cyclodiphosphaterЧh}rѧhU2mecdp_crҧhUEhJhGhh)rӧ}rԧ(hNhU C5H10O9P2rէh}r֧h"}rקh$}rا(UHK UCKUOK UPKuhjէubh&Uch"}r٧h(h)]RrڧubGj4G?j{GuhNhU72C-methyl-D-erythritol 2,4 cyclodiphosphate dehydrataserۧh,G@@h-Gh}rܧh/h)]rݧ(j{j!)rާ}rߧ(hNj!KhNhUb2515rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj{eRrhUMECDPDH5rh2Gh3h4hNh5U(((b2895 and b2515) or (b0684 and b2515))rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jΧG?jTGj TG?uhNhU52-C-methyl-D-erythritol 2,4-cyclodiphosphate synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2746rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMECDPSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jԂG?j"Gj>G?h)r}r(hNhNhU Melibioserh}rhUmelib_prhUEhKhGhh)r}r(hNhU C12H22O11rh}rh"}rh$}r(UHKUCK UOK uhjubh&Uph"}rh(h)]RrubGuhNhU.melibiose transport in via symport (periplasm)r h,G@@h-Gh}r h/h)]r j!)r }r (hNj!KhNhUb4120rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhU MELIBt2pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?jԂGj"GjG?uhNhU/melibiose transport in via antiport (periplasm)rh,G@@h-Gh}rh/h)]rjKaRrhU MELIBt3ipprh2Gh3h4hNh5Ub1528rh"}rh7Nubh)r }r!(h UTransport, Outer Membrane Porinr"h }r#(jG?jGuhNhU>melibiose transport via diffusion (extracellular to periplasm)r$h,G@@h-G@h}r%h/h)]r&(j!j!j!j!eRr'hUMELIBtexr(h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r)h"}r*h7Nubh)r+}r,(h UTransport, Outer Membrane Porinr-h }r.(jGh)r/}r0(hNhNhUMethanolr1h}r2hUmeoh_pr3hUEhKhGhh)r4}r5(hNhUCH4O1r6h}r7h"}r8h$}r9(UHKUCKUOKuhj6ubh&Uph"}r:h(h)]Rr;ubG?uhNhU=Methanol transport via diffusion (extracellular to periplasm)r<h,G@@h-G@h}r=h/h)]r>(j!j!j!j!eRr?hUMEOHtexr@h2Gh3h4hNh5U"(b1377 or b0929 or b2215 or b0241)rAh"}rBh7Nubh)rC}rD(h UTransport, Inner MembranerEh }rF(h)rG}rH(hNhNhUMethanolrIh}rJhUmeoh_crKhUEhKhGhh)rL}rM(hNhUCH4O1rNh}rOh"}rPh$}rQ(UHKUCKUOKuhjNubh&Uch"}rRh(h)]RrSubG?j/GuhNhU7Methanol reversible transport via diffusion (periplasm)rTh,G@@h-G@h}rUh/h)]rVjB4aRrWhUMEOHtrpprXh2Gh3h4hNh5Us0001rYh"}rZh7Nubh)r[}r\(h U*Cofactor and Prosthetic Group Biosynthesisr]h }r^(jTG?jmGj>GjGjUG?uhNhU82-C-methyl-D-erythritol 4-phosphate cytidylyltransferaser_h,G@@h-Gh}r`h/h)]raj!)rb}rc(hNj!KhNhUb2747rdh}rej!hjdhNhNj!Kh&Nh"}rfj!U+h(h)]RrgubaRrhhUMEPCTrih2Gh3h4hNh5jdh"}rjh7Nubh)rk}rl(h UMethionine Metabolismrmh }rn(j GjG?jTG?jGjG?j4GuhNhUmethionine adenosyltransferaseroh,G@@h-Gh}rph/h)]rqj!)rr}rs(hNj!KhNhUb2942rth}ruj!hjthNhNj!Kh&Nh"}rvj!U+h(h)]RrwubaRrxhUMETATryh2Gh3h4hNh5jth"}rzh7Nubh)r{}r|(h UTransport, Inner Membraner}h }r~(j Gh)r}r(hNhNhU D-Methioninerh}rhUmet__D_crhUEhKhGhh)r}r(hNhU C5H10NO2Srh}rh"}rh$}r(UHK UCKUSKUOKUNKuhjubh&Uch"}rh(h)]RrubG?j4Gh)r}r(hNhNhU D-Methioninerh}rhUmet__D_prhUEhKhGhh)r}r(hNhU C5H10NO2Srh}rh"}rh$}r(UHK UCKUSKUOKUNKuhjubh&Uph"}rh(h)]RrubGj>G?jG?j-G?uhNhU1D-methionine transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0198rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0197rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0199rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhU METDabcpprh2Gh3h4hNh5U(b0198 and b0199 and b0197)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?j+GuhNhUAD-methionine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUMETDtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UMethionine Metabolismrh }r(j1Gj4G?jGh)r}r¨(hNhNhUL-Methionine Sulfoxiderèh}rĨhUmetsox__S__L_crŨhUEhKhGhh)rƨ}rǨ(hNhU C5H11NO3SrȨh}rɨh"}rʨh$}r˨(UHK UCKUSKUOKUNKuhjȨubh&Uch"}r̨h(h)]RrͨubG?uhNhU"methionine oxidation (spontaneous)rΨh,G@@h-Gh}rϨh/h)]rШjB4aRrѨhUMETOX1srҨh2Gh3h4hNh5Us0001rӨh"}rԨh7Nubh)rը}r֨(h UMethionine Metabolismrרh }rب(j4G?h)r٨}rڨ(hNhNhUL-methionine-R-sulfoxiderۨh}rܨhUmetsox__R__L_crݨhUEhKhGhh)rި}rߨ(hNhU C5H11NO3Srh}rh"}rh$}r(UHK UCKUSKUOKUNKuhjubh&Uch"}rh(h)]RrubG?jGj1GuhNhU$methionine oxidation 2 (spontaneous)rh,G@@h-Gh}rh/h)]rjB4aRrhUMETOX2srh2Gh3h4hNh5Us0001rh"}rh7Nubh)r}r(h UMethionine Metabolismrh }r(j>G?jY_GjG?jG?jGuhNhUmethionine synthaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3829rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4019rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUMETSrh2Gh3h4hNh5U(b4019 or b3829)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj>G?h)r}r (hNhNhUL-Methionine Sulfoxider h}r hUmetsox__S__L_pr hUEhKhGhh)r }r(hNhU C5H11NO3Srh}rh"}rh$}r(UHK UCKUSKUOKUNKuhjubh&Uph"}rh(h)]RrubGj-G?j4GjG?jG?uhNhU9L-methionine S-oxide transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]RrhU METSOX1abcpprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jjGjG?uhNhU.L-methionine S-oxide diffusion (extracellular)rh,G@@h-G@h}rh/h)]r (j!j!j!j!eRr!hU METSOX1texr"h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r#h"}r$h7Nubh)r%}r&(h UTransport, Inner Membraner'h }r((j Gh)r)}r*(hNhNhUL-methionine-R-sulfoxider+h}r,hUmetsox__R__L_pr-hUEhKhGhh)r.}r/(hNhU C5H11NO3Sr0h}r1h"}r2h$}r3(UHK UCKUSKUOKUNKuhj0ubh&Uph"}r4h(h)]Rr5ubGj-G?j٨G?j4Gj>G?jG?uhNhU9L-methionine R-oxide transport via ABC system (periplasm)r6h,G@@h-Gh}r7h/h)]Rr8hU METSOX2abcppr9h2Gh3h4hNh5Uh"}r:h7Nubh)r;}r<(h UTransport, Outer Membrane Porinr=h }r>(jUGj)G?uhNhU.L-methionine R-oxide diffusion (extracellular)r?h,G@@h-G@h}r@h/h)]rA(j!j!j!j!eRrBhU METSOX2texrCh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rDh"}rEh7Nubh)rF}rG(h UMethionine MetabolismrHh }rI(jGjlGjG?j4G?jlG?uhNhUL-methionine-S-oxide reductaserJh,G@@h-Gh}rKh/h)]rL(j:lj.ljPj!)rM}rN(hNj!KhNhUb4219rOh}rPj!hjOhNhNj!Kh&Nh"}rQj!U+h(h)]RrRubeRrShUMETSOXR1rTh2Gh3h4hNh5UR((b4219 and b2582) or (b4219 and b3781) or (b3551 and b2582) or (b3551 and b3781))rUh"}rVh7Nubh)rW}rX(h UMethionine MetabolismrYh }rZ(jlG?jlGjG?j4G?j٨GuhNhU"L-methionine-R-sulfoxide reductaser[h,G@@h-Gh}r\h/h)]r](j:lj.lj!)r^}r_(hNj!KhNhUb1778r`h}raj!hj`hNhNj!Kh&Nh"}rbj!U+h(h)]RrcubeRrdhUMETSOXR2reh2Gh3h4hNh5U(((b1778 and b2582) or (b1778 and b3781))rfh"}rgh7Nubh)rh}ri(h U tRNA Chargingrjh }rk(j Gh)rl}rm(hNhNhU tRNA(Met)rnh}rohU trnamet_crphUEhKhGhh)rq}rr(hNhURh}rsh"}rth$}ruURKshURubh&Uch"}rvh(h)]RrwubGj%G?jTG?jGjO{G?uhNhUMethionyl-tRNA synthetaserxh,G@@h-Gh}ryh/h)]rzj!)r{}r|(hNj!KhNhUb2114r}h}r~j!hj}hNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMETTRSrh2Gh3h4hNh5j}h"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj>G?j-G?jG?jG?h)r}r(hNhNhU L-Methioninerh}rhUmet__L_prhUEhKhGhh)r}r(hNhU C5H11NO2Srh}rh"}rh$}r(UHK UCKUSKUOKUNKuhjubh&Uph"}rh(h)]RrubGj4GuhNhU1L-methionine transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(jjjeRrhUMETabcpprh2Gh3h4hNh5U(b0198 and b0199 and b0197)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?j@GuhNhUAL-methionine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUMETtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j>Gh)r}r(hNhNhU magnesiumrh}rhUmg2_prhUEhKhGhh)r}r(hNhUMgrh}rh"}rh$}rjKshjubh&Uph"}rh(h)]RrubGj"G@jWG?uhNhUAmagnesium (Mg+2) transport in/out via proton antiport (periplasm)rh,G@@h-G@h}rh/h)]RrhU MG2t3_2pprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?jGuhNhUEmagnesium (Mg+2) transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}r©h/h)]ré(j!j!j!j!eRrĩhUMG2texrũh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rƩh"}rǩh7Nubh)rȩ}rɩ(h U&Inorganic Ion Transport and Metabolismrʩh }r˩(jGjWG?uhNhU)magnesium (+2) transport in via diffusionr̩h,G@@h-Gh}rͩh/h)]rΩjYaRrϩhUMG2tpprЩh2Gh3h4hNh5Ub3816rѩh"}rҩh7Nubh)rө}rԩ(h U&Inorganic Ion Transport and Metabolismrթh }r֩(j Gj>G?jGj-G?jWG?jG?j4GuhNhU4Magnesium (Mg+2) ABC transporter (ubtake, periplasm)rשh,G@@h-Gh}rةh/h)]r٩j!)rک}r۩(hNj!KhNhUb4242rܩh}rݩj!hjܩhNhNj!Kh&Nh"}rީj!U+h(h)]RrߩubaRrhU MG2uabcpprh2Gh3h4hNh5jܩh"}rh7Nubh)r}r(h UMethylglyoxal Metabolismrh }r(jeGj/1G?jG?uhNhUmethylglyoxal synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0963rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMGSArh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(jG?h)r}r(hNhNhU1D-myo-Inositol 1-phosphaterh}rhU mi1p__D_crhUEhJhGhh)r}r(hNhUC6H11O9Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Uch"}rh(h)]RrubGjG?j4GuhNhUmyo-inositol 1-phosphataserh,G@@h-Gh}rh/h)]rj~aRrhUMI1PPrh2Gh3h4hNh5Ub2533r h"}r h7Nubh)r }r (h UAlternate Carbon Metabolismr h }r(j4Gj֥GjG?uhNhU2-methylisocitrate dehydrataserh,G@@h-G@h}rh/h)]rj9aRrhUMICITDrrh2Gh3h4hNh5Ub0118rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGh)r}r(hNhNhU minocyclinerh}rhUmincyc_prhUEhKhGhh)r}r (hNhU C23H27N3O7r!h}r"h"}r#h$}r$(UHKUCKUOKUNKuhj!ubh&Uph"}r%h(h)]Rr&ubG?uhNhU@Minocycline transport via diffusion (extracellular to periplasm)r'h,G@@h-G@h}r(h/h)]r)(j!j!j!j!eRr*hU MINCYCtexr+h2Gh3h4hNh5U"(b1377 or b2215 or b0929 or b0241)r,h"}r-h7Nubh)r.}r/(h UTransport, Outer Membraner0h }r1(j>G?jG?j"GjGuhNhU%Minocycline transport via TolC systemr2h,G@@h-Gh}r3h/h)]r4(jCYj=YjIYjOYeRr5hU MINCYCtppr6h2Gh3h4hNh5U<((b0463 and b0462 and b3035) or (b0463 and b2470 and b3035))r7h"}r8h7Nubh)r9}r:(h UTransport, Outer Membraner;h }r<(jGh)r=}r>(hNhNhUmyo-Inositol hexakisphosphater?h}r@hUminohp_prAhUEhJhGhh)rB}rC(hNhU C6H6O24P6rDh}rEh"}rFh$}rG(UHKUCKUOKUPKuhjDubh&Uph"}rHh(h)]RrIubG?uhNhUKmyo-inositol phosphate transport via diffusion (extracellular to periplasm)rJh,G@@h-Gh}rKh/h)]RrLhU MINOHPtexirMh2Gh3h4hNh5Uh"}rNh7Nubh)rO}rP(h UMurein BiosynthesisrQh }rR(jGjDBG?j#Gj]G?uhNhU5murein L,D-carboxypeptidase (murein5px4p) (periplasm)rSh,G@@h-Gh}rTh/h)]RrUhU MLDCP1ApprVh2Gh3h4hNh5Uh"}rWh7Nubh)rX}rY(h UMurein BiosynthesisrZh }r[(jx/G?j#Gj&G?jsGuhNhU4murein L,D-carboxypeptidase (murein4p4p) (periplasm)r\h,G@@h-Gh}r]h/h)]Rr^hU MLDCP1Bppr_h2Gh3h4hNh5Uh"}r`h7Nubh)ra}rb(h UMurein Biosynthesisrch }rd(jDBG?j[GjG?j#GuhNhU4murein L,D-carboxypeptidase (murein5p5p) (periplasm)reh,G@@h-Gh}rfh/h)]RrghU MLDCP2Apprhh2Gh3h4hNh5Uh"}rih7Nubh)rj}rk(h UMurein Biosynthesisrlh }rm(j&Gjx/G?j#GjG?uhNhU4murein L,D-carboxypeptidase (murein4p3p) (periplasm)rnh,G@@h-Gh}roh/h)]RrphU MLDCP2Bpprqh2Gh3h4hNh5Uh"}rrh7Nubh)rs}rt(h UMurein Biosynthesisruh }rv(jDBG?h)rw}rx(hNhNhUetwo disacharide linked murein units, tripeptide crosslinked tripeptide (A2pm->A2pm) (middle of chain)ryh}rzhU murein3px3p_pr{hUEhJhGhh)r|}r}(hNhU C68H102N12O37r~h}rh"}rh$}r(UHKfUCKDUOK%UNK uhj~ubh&Uph"}rh(h)]RrubG?jGj#GuhNhU5murein L,D-carboxypeptidase (murein5px3p) (periplasm)rh,G@@h-Gh}rh/h)]RrhU MLDCP3Apprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UMurein Recyclingrh }r(jG?jwGj#GuhNhU2murein L,D-endopeptidase (murein3px3p) (periplasm)rh,G@@h-Gh}rh/h)]RrhUMLDEP1pprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UMurein Recyclingrh }r(jGj#GjG?uhNhU2murein L,D-endopeptidase (murein5px3p) (periplasm)rh,G@@h-Gh}rh/h)]RrhUMLDEP2pprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jFGjFG?j4Gj|FG?uhNhU&Maltodextrin glucosidase (maltotriose)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0403rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMLTG1rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j4GjFG?jFG?joFGuhNhU(Maltodextrin glucosidase (maltotetraose)rh,G@@h-Gh}rh/h)]rjaRrhUMLTG2rh2Gh3h4hNh5Ub0403rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(joFG?jFGj4GjFG?uhNhU(Maltodextrin glucosidase (maltopentaose)rh,G@@h-Gh}rh/h)]rjaRrhUMLTG3rh2Gh3h4hNh5Ub0403rh"}rh7Nubh)r}rª(h UAlternate Carbon Metabolismrêh }rĪ(j4Gj1GjFG?jFG?uhNhU'Maltodextrin glucosidase (maltohexaose)rŪh,G@@h-Gh}rƪh/h)]rǪjaRrȪhUMLTG4rɪh2Gh3h4hNh5Ub0403rʪh"}r˪h7Nubh)r̪}rͪ(h UAlternate Carbon MetabolismrΪh }rϪ(j4GjFG?j1G?jFGuhNhU(Maltodextrin glucosidase (maltoheptaose)rЪh,G@@h-Gh}rѪh/h)]rҪjaRrӪhUMLTG5rԪh2Gh3h4hNh5Ub0403rժh"}r֪h7Nubh)rת}rت(h UMurein Recyclingr٪h }rڪ(jsGj@?G@uhNhU6murein lytic transglycosylase (murein4p4p) (periplasm)r۪h,G@@h-Gh}rܪh/h)]rݪ(j!)rު}rߪ(hNj!KhNhUb1193rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2558rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2701rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2813rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2963rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4392rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUMLTGY1pprh2Gh3h4hNh5U4(b2558 or b2963 or b4392 or b2813 or b2701 or b1193)rh"}rh7Nubh)r}r(h UMurein Recyclingrh }r (j&Gj>G?j@?G?uhNhU6murein lytic transglycosylase (murein4p3p) (periplasm)r h,G@@h-Gh}r h/h)]r (jjjjުjjeRr hUMLTGY2pprh2Gh3h4hNh5U4(b1193 or b2558 or b2963 or b4392 or b2813 or b2701)rh"}rh7Nubh)r}r(h UMurein Recyclingrh }r(jGj>G@uhNhU6murein lytic transglycosylase (murein3p3p) (periplasm)rh,G@@h-Gh}rh/h)]r(jުjjjjjeRrhUMLTGY3pprh2Gh3h4hNh5U4(b1193 or b2963 or b2558 or b4392 or b2813 or b2701)rh"}rh7Nubh)r}r(h UMurein Recyclingrh }r(j@?G?jkGjG?uhNhU9murein lytic transglycosylase (murein4px4p4p) (periplasm)r h,G@@h-Gh}r!h/h)]r"(jުjjjjjeRr#hUMLTGY4ppr$h2Gh3h4hNh5U4(b2701 or b1193 or b2963 or b2558 or b4392 or b2813)r%h"}r&h7Nubh)r'}r((h UAlternate Carbon Metabolismr)h }r*(jFGjoFG?jo~G?jGuhNhU*Maltodextrin phosphorylase (maltopentaose)r+h,G@@h-G@h}r,h/h)]r-jaRr.hUMLTP1r/h2Gh3h4hNh5Ub3417r0h"}r1h7Nubh)r2}r3(h UAlternate Carbon Metabolismr4h }r5(jFG?j1Gjo~G?jGuhNhU)Maltodextrin phosphorylase (maltohexaose)r6h,G@@h-G@h}r7h/h)]r8jaRr9hUMLTP2r:h2Gh3h4hNh5Ub3417r;h"}r<h7Nubh)r=}r>(h UAlternate Carbon Metabolismr?h }r@(jo~G?jFGj1G?jGuhNhU*Maltodextrin phosphorylase (maltoheptaose)rAh,G@@h-G@h}rBh/h)]rCjaRrDhUMLTP3rEh2Gh3h4hNh5Ub3417rFh"}rGh7Nubh)rH}rI(h UAlternate Carbon MetabolismrJh }rK(j>Gh)rL}rM(hNhNhU(S)-Methylmalonyl-CoArNh}rOhU mmcoa__S_crPhUEhJhGhh)rQ}rR(hNhUC25H35N7O19P3SrSh}rTh"}rUh$}rV(UCKUHK#UOKUNKUPKUSKuhjSubh&Uch"}rWh(h)]RrXubGj -G?j4G?uhNhUMethylmalonyl-CoA decarboxylaserYh,G@@h-Gh}rZh/h)]r[j!)r\}r](hNj!KhNhUb2919r^h}r_j!hj^hNhNj!Kh&Nh"}r`j!U+h(h)]RraubaRrbhUMMCDrch2Gh3h4hNh5j^h"}rdh7Nubh)re}rf(h UTransport, Inner Membranergh }rh(h)ri}rj(hNhNhUS-Methyl-L-methioninerkh}rlhUmmet_prmhUEhKhGhh)rn}ro(hNhU C6H14NO2Srph}rqh"}rrh$}rs(UHKUCKUSKUOKUNKuhjpubh&Uph"}rth(h)]RruubGj"GjɑG?j>G?uhNhU'S-methylmethionine permease (periplasm)rvh,G@@h-Gh}rwh/h)]rxj!)ry}rz(hNj!KhNhUb0260r{h}r|j!hj{hNhNj!Kh&Nh"}r}j!U+h(h)]Rr~ubaRrhUMMETt2pprh2Gh3h4hNh5j{h"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jiG?jGuhNhUJS-methyl-L-methionine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUMMETtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jGjLG?uhNhUMethylmalonyl-CoA mutaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2917rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMMMrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j>G?j Gh)r}r(hNhNhUMn2+rh}rhUmn2_prhUEhKhGhh)r}r(hNhUMnrh}rh"}rh$}rjKshjubh&Uph"}rh(h)]RrubG?j"GuhNhU>manganese (Mn+2) transport out via proton antiport (periplasm)rh,G@@h-Gh}rh/h)]r(jSjSeRrhUMN2t3pprh2Gh3h4hNh5U(b3915 or b0752)rh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j G?jGuhNhU+manganese transport in via permease (no H+)rh,G@@h-Gh}rh/h)]rjSaRrhUMN2tpprh2Gh3h4hNh5Ub3040rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismr«h }rë(jGjG?j4GjG?uhNhUmannose 6-phosphate phosphataserīh,G@@h-Gh}rūh/h)]rƫjraRrǫhUMN6PPrȫh2Gh3h4hNh5Ub0822rɫh"}rʫh7Nubh)r˫}r̫(h UTransport, Inner Membranerͫh }rΫ(jhG?h)rϫ}rЫ(hNhNhU D-Mannitolrѫh}rҫhUmnl_prӫhUEhKhGhh)rԫ}rի(hNhUC6H14O6r֫h}r׫h"}rثh$}r٫(UHKUCKUOKuhj֫ubh&Uph"}rګh(h)]Rr۫ubGj5G?j5GuhNhU.mannitol transport via PEP:Pyr PTS (periplasm)rܫh,G@@h-Gh}rݫh/h)]rޫ(j!)r߫}r(hNj!KhNhUb3599rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj5j6eRrhUMNLptspprh2Gh3h4hNh5U(b3599 and b2415 and b2416)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjϫG?uhNhU=mannitol transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUMNLtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j4G?j$FG?jPGuhNhUD-mannonate hydrolyaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4322rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMNNHrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?j G?j"GjGuhNhUj!hj=hNhNj!Kh&Nh"}r?j!U+h(h)]Rr@ubjeRrAhUMOADSUxrBh2Gh3h4hNh5U(b2530 and b0784)rCh"}rDh7Nubh)rE}rF(h U+Lipopolysaccharide Biosynthesis / RecyclingrGh }rH(h)rI}rJ(hNhNhUKDO-lipid IV(A)rKh}rLhU kdolipid4_crMhUEhJhGhh)rN}rO(hNhUC76H137N2O30P2rPh}rQh"}rRh$}rS(UHKUCKLUPKUOKUNKuhjPubh&Uch"}rTh(h)]RrUubG?jrGj TG?j>G?h)rV}rW(hNhNhU`2,3,2'3'-Tetrakis(beta-hydroxymyristoyl)-D-glucosaminyl-1,6-beta-D-glucosamine 1,4'-bisphosphaterXh}rYhUlipidA_crZhUEhJhGhh)r[}r\(hNhUC68H126N2O23P2r]h}r^h"}r_h$}r`(UHK~UCKDUPKUOKUNKuhj]ubh&Uch"}rah(h)]RrbubGuhNhU,3-deoxy-D-manno-octulosonic acid transferaserch,G@@h-Gh}rdh/h)]rej!)rf}rg(hNj!KhNhUb3633rhh}rij!hjhhNhNj!Kh&Nh"}rjj!U+h(h)]RrkubaRrlhUMOATrmh2Gh3h4hNh5jhh"}rnh7Nubh)ro}rp(h U+Lipopolysaccharide Biosynthesis / Recyclingrqh }rr(jpG?jIGjrGj TG?j>G?uhNhU,3-deoxy-D-manno-octulosonic acid transferasersh,G@@h-Gh}rth/h)]rujfaRrvhUMOAT2rwh2Gh3h4hNh5Ub3633rxh"}ryh7Nubh)rz}r{(h U+Lipopolysaccharide Biosynthesis / Recyclingr|h }r}(j>GjrGj>G?j TG?h)r~}r(hNhNhU:kdo-phospho-heptosyl-phospho-heptosyl-heptosyl-kdo2-lipidArh}rhU kphphhlipa_crhUEhJhGhh)r}r(hNhUC139H241N2O70P4rh}rh"}rh$}r(UHKUCKUPKUOKFUNKuhjubh&Uch"}rh(h)]RrubG?uhNhUH3-deoxy-D-manno-octulosonic acid transferase III (LPS core biosynthesis)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3624rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMOAT3Crh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j>G?h)r}r(hNhNhU Molybdaterh}rhUmobd_prhUEhJhGhh)r}r(hNhUMoO4rh}rh"}rh$}r(UMoKUOKuhjubh&Uph"}rh(h)]RrubGjuG?j-G?j GjG?j4GuhNhU.molybdate transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0763rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2425rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2424rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3917rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rr¬ubj!)rì}rĬ(hNj!KhNhUb2423rŬh}rƬj!hjŬhNhNj!Kh&Nh"}rǬj!U+h(h)]RrȬubj!)rɬ}rʬ(hNj!KhNhUb0764rˬh}r̬j!hjˬhNhNj!Kh&Nh"}rͬj!U+h(h)]Rrάubj!)rϬ}rЬ(hNj!KhNhUb2422rѬh}rҬj!hjѬhNhNj!Kh&Nh"}rӬj!U+h(h)]RrԬubj!)rլ}r֬(hNj!KhNhUb0765r׬h}rجj!hj׬hNhNj!Kh&Nh"}r٬j!U+h(h)]RrڬubeRr۬hU MOBDabcpprܬh2Gh3h4hNh5Uo((b0763 and b0764 and b0765) or (b2422 and b2424 and b2423 and b3917) or (b2422 and b2425 and b2424 and b2423))rݬh"}rެh7Nubh)r߬}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhU>molybdate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUMOBDtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j>GjTG?jPGjGjG?uhNhU,molybdopterin cytidine dinucleotide synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2877rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMOCDSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j%G?jqG?jxPGj>GjPG?juGj4G?uhNhUmolybdenum cofactor synthaserh,G@@h-Gh}rh/h)]rjPaRrhUMOCOSrh2Gh3h4hNh5Ub0827rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j>GjGjTG?jPGj{G?uhNhU+molybdopterin guanine dinucleotide synthaser h,G@@h-Gh}r h/h)]r (jPjPeRr hUMOGDSr h2Gh3h4hNh5U(b3857 or (b3857 and b3856))rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jG?j$GjDeGj-kG?j4GuhNhU03-methyl-2-oxobutanoate hydroxymethyltransferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0134rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMOHMTrh2Gh3h4hNh5jh"}rh7Nubh)r }r!(h UCitric Acid Cycler"h }r#(jNG?j*Gj1G?j}GuhNhUmalate oxidaser$h,G@@h-G@h}r%h/h)]Rr&hUMOXr'h2Gh3h4hNh5Uh"}r(h7Nubh)r)}r*(h U*Cofactor and Prosthetic Group Biosynthesisr+h }r,(j GjxPG?j>Gh)r-}r.(hNhNhU molybdopterinr/h}r0hUmpt_cr1hUEhJhGhh)r2}r3(hNhUC10H10N5O6PS2Cur4h}r5h"}r6h$}r7(UCK UHK UOKUNKUPKUSKUCuKuhj4ubh&Uch"}r8h(h)]Rr9ubGjTG?uhNhU!molybdopterin adenylyltransferaser:h,G@@h-Gh}r;h/h)]r<j!)r=}r>(hNj!KhNhUb0009r?h}r@j!hj?hNhNj!Kh&Nh"}rAj!U+h(h)]RrBubaRrChUMPTATrDh2Gh3h4hNh5j?h"}rEh7Nubh)rF}rG(h UMurein BiosynthesisrHh }rI(j>G@j[G?jjG@h)rJ}rK(hNhNhUnUndecaprenyl-diphospho-N-acetylmuramoyl-(N-acetylglucosamine)-L-ala-D-glu-meso-2,6-diaminopimeloyl-D-ala-D-alarLh}rMhU uaagmda_crNhUEhJhGhh)rO}rP(hNhUC95H152N8O28P2rQh}rRh"}rSh$}rT(UHKUCK_UPKUOKUNKuhjQubh&Uch"}rUh(h)]RrVubGuhNhU$murein polymerizing transglycosylaserWh,G@@h-Gh}rXh/h)]rY(j!)rZ}r[(hNj!KhNhUb1069r\h}r]j!hj\hNhNj!Kh&Nh"}r^j!U+h(h)]Rr_ubjqjkj!)r`}ra(hNj!KhNhUb2519rbh}rcj!hjbhNhNj!Kh&Nh"}rdj!U+h(h)]RreubeRrfhUMPTGrgh2Gh3h4hNh5U=((b3396 and b1069) or (b0149 and b1069) or (b1069 and b2519))rhh"}rih7Nubh)rj}rk(h UMurein Biosynthesisrlh }rm(j[GjJGj>G?jG?jjG?uhNhU;murein polymerizing transglycosylase 2 (three linked units)rnh,G@@h-Gh}roh/h)]rp(jkjZj`jqeRrqhUMPTG2rrh2Gh3h4hNh5U=((b3396 and b1069) or (b0149 and b1069) or (b1069 and b2519))rsh"}rth7Nubh)ru}rv(h U*Cofactor and Prosthetic Group Biosynthesisrwh }rx(jqGj+GjZGj>G@j-G?h)ry}rz(hNhNhUMoaD Protein with carboxylater{h}r|hU moadcoo_cr}hUEhJhGhh)r~}r(hNhUC1O2Xrh}rh"}rh$}r(UXKUCKUOKuhjubh&Uch"}rh(h)]RrubG@uhNhUmolybdopterin synthaserh,G@@h-Gh}rh/h)]r(j;j!)r}r(hNj!KhNhUb0785rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUMPTSrh2Gh3h4hNh5U(b0784 and b0785)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j Gj>GjG?jTG?jyGuhNhU"molybdopterin synthase sulfurylaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0826rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMPTSSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jCGj(Gj>Gj8+G?j)G?uhNhUmalonic semialdehyde reductaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1008rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubjOeRrhUMSARrh2Gh3h4hNh5U(b1008 or b1539)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj-G?jvG?j>G?jG?h)r}r(hNhNhUmethanesulfonaterh}rhUmso3_prhUEhJhGhh)r}r(hNhUCH3O3Srh}rh"}rh$}r­(UHKUCKUSKUOKuhjubh&Uph"}ríh(h)]RrĭubGj4GuhNhU5methanesulfonate transport via ABC system (periplasm)rŭh,G@@h-Gh}rƭh/h)]rǭ(jQjQjQeRrȭhU MSO3abcpprɭh2Gh3h4hNh5U(b0936 and b0933 and b0934)rʭh"}r˭h7Nubh)r̭}rͭ(h UTransport, Outer Membrane Porinrέh }rϭ(jGjG?uhNhUEmethanesulfonate transport via diffusion (extracellular to periplasm)rЭh,G@@h-G@h}rѭh/h)]rҭ(j!j!j!j!eRrӭhUMSO3texrԭh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rխh"}r֭h7Nubh)r׭}rح(h UArginine and Proline Metabolismr٭h }rڭ(j4Gj10G?jHGj/G?uhNhU methylthioadenosine nucleosidaserۭh,G@@h-Gh}rܭh/h)]rݭj 0aRrޭhUMTANr߭h2Gh3h4hNh5Ub0159rh"}rh7Nubh)r}r(h UFolate Metabolismrh }r(jG?j4Gj>G?j{GuhNhU'methenyltetrahydrofolate cyclohydrolaserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb0529rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUMTHFCrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UFolate Metabolismrh }r(j)Gj$GjCG?j{G?uhNhU.methylenetetrahydrofolate dehydrogenase (NADP)rh,G@@h-G@h}rh/h)]rjaRrhUMTHFDrh2Gh3h4hNh5Ub0529rh"}rh7Nubh)r}r(h UFolate Metabolismrh }r(jGj>Gj$GjG?jG?uhNhU/5,10-methylenetetrahydrofolate reductase (NADH)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3941rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rr ubaRr hUMTHFR2r h2Gh3h4hNh5jh"}r h7Nubh)r }r(h UMethionine Metabolismrh }r(hzG?jVhGj4GuhNhUL(2R,4S)-2-methyl-2,3,3,4-tetrahydroxytetrahydrofuran synthesis (spontaneous)rh,G@@h-Gh}rh/h)]rjB4aRrhUMTHTHFSsrh2Gh3h4hNh5Us0001rh"}rh7Nubh)r}r(h UGlycine and Serine Metabolismrh }r(j1G?j"uG?j*GjdG?h)r}r(hNhNhUN-Methyltryptophanrh}rhUNmtrp_cr hUEhKhGhh)r!}r"(hNhU C12H14N2O2r#h}r$h"}r%h$}r&(UHKUCK UOKUNKuhj#ubh&Uch"}r'h(h)]Rr(ubGj4GuhNhUN-methyltryptophan oxidaser)h,G@@h-Gh}r*h/h)]r+j!)r,}r-(hNj!KhNhUb1059r.h}r/j!hj.hNhNj!Kh&Nh"}r0j!U+h(h)]Rr1ubaRr2hUMTRPOXr3h2Gh3h4hNh5j.h"}r4h7Nubh)r5}r6(h UTransport, Outer Membrane Porinr7h }r8(j'Gh)r9}r:(hNhNhU Nitrous oxider;h}r<hUn2o_pr=hUEhKhGhh)r>}r?(hNhUN2Or@h}rAh"}rBh$}rC(UOKUNKuhj@ubh&Uph"}rDh(h)]RrEubG?uhNhUCnitrious oxide transport via diffusion (extracellular to periplasm)rFh,G@@h-G@h}rGh/h)]rH(j!j!j!j!eRrIhUN2OtexrJh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rKh"}rLh7Nubh)rM}rN(h U&Inorganic Ion Transport and MetabolismrOh }rP(j9Gj,zG?uhNhU$nitrious oxide transport (diffusion)rQh,G@@h-G@h}rRh/h)]rSjB4aRrThUN2OtpprUh2Gh3h4hNh5Us0001rVh"}rWh7Nubh)rX}rY(h UArginine and Proline MetabolismrZh }r[(j9GjG?j4Gj2G?uhNhUN-acetylornithine deacetylaser\h,G@@h-Gh}r]h/h)]r^j 9aRr_hUNACODAr`h2Gh3h4hNh5Ub3957rah"}rbh7Nubh)rc}rd(h UTransport, Outer Membrane Porinreh }rf(jQGh)rg}rh(hNhNhU Nicotinaterih}rjhUnac_prkhUEhJhGhh)rl}rm(hNhUC6H4NO2rnh}roh"}rph$}rq(UHKUCKUOKUNKuhjnubh&Uph"}rrh(h)]RrsubG?uhNhUCNicotinic acid transport via diffusion (extracellular to periplasm)rth,G@@h-G@h}ruh/h)]rv(j!j!j!j!eRrwhUNACtexrxh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)ryh"}rzh7Nubh)r{}r|(h UTransport, Inner Membraner}h }r~(h)r}r(hNhNhU Nicotinaterh}rhUnac_crhUEhJhGhh)r}r(hNhUC6H4NO2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubG?jgGuhNhU!Nicotinic acid uptake (periplasm)rh,G@@h-Gh}rh/h)]RrhUNACtpprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j>G@jGj4Gh)r}r(hNhNhUNMNrh}rhUnmn_crhUEhJhGhh)r}r(hNhU C11H14N2O8Prh}rh"}rh$}r(UHKUCK UPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?j%G?uhNhUNAD diphosphataserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2411rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3996rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUNADDPrh2Gh3h4hNh5U(b3996 or b2411)rh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(jGjG?jG?j>GjDNGuhNhU.NADH dehydrogenase (menaquinone-8 & 0 protons)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1109rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRr®hUNADH10rîh2Gh3h4hNh5jh"}rĮh7Nubh)rŮ}rƮ(h UOxidative PhosphorylationrǮh }rȮ(jGj>Gj"G@jNGjG?jG?uhNhU9NADH dehydrogenase (ubiquinone-8 & 3 protons) (periplasm)rɮh,G@@h-Gh}rʮh/h)]rˮ(j!)r̮}rͮ(hNj!KhNhUb2285rήh}rϮj!hjήhNhNj!Kh&Nh"}rЮj!U+h(h)]RrѮubj!)rҮ}rӮ(hNj!KhNhUb2284rԮh}rծj!hjԮhNhNj!Kh&Nh"}r֮j!U+h(h)]Rr׮ubj!)rخ}rٮ(hNj!KhNhUb2281rڮh}rۮj!hjڮhNhNj!Kh&Nh"}rܮj!U+h(h)]Rrݮubj!)rޮ}r߮(hNj!KhNhUb2278rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2279rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2287rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2283rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2280rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2288rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2286rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r (hNj!KhNhUb2276r h}r j!hj hNhNj!Kh&Nh"}r j!U+h(h)]Rr ubj!)r}r(hNj!KhNhUb2277rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2282rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUNADH16pprh2Gh3h4hNh5U(b2276 and b2277 and b2278 and b2279 and b2280 and b2281 and b2282 and b2283 and b2284 and b2285 and b2286 and b2287 and b2288)rh"}rh7Nubh)r}r(h UOxidative Phosphorylationr h }r!(jGjG?j>Gj"G@jDNGjG?uhNhU:NADH dehydrogenase (menaquinone-8 & 3 protons) (periplasm)r"h,G@@h-Gh}r#h/h)]r$(j̮jjҮjjjޮjjjخjjjjeRr%hUNADH17ppr&h2Gh3h4hNh5U(b2276 and b2277 and b2278 and b2279 and b2280 and b2281 and b2282 and b2283 and b2284 and b2285 and b2286 and b2287 and b2288)r'h"}r(h7Nubh)r)}r*(h UOxidative Phosphorylationr+h }r,(jGjG?j~G?j"G@j>GjTjGuhNhUBNADH dehydrogenase (demethylmenaquinone-8 & 3 protons) (periplasm)r-h,G@@h-Gh}r.h/h)]r/(j̮jjjjҮjjjjخjjޮjjeRr0hUNADH18ppr1h2Gh3h4hNh5U(b2276 and b2277 and b2278 and b2279 and b2280 and b2281 and b2282 and b2283 and b2284 and b2285 and b2286 and b2287 and b2288)r2h"}r3h7Nubh)r4}r5(h UOxidative Phosphorylationr6h }r7(jGjG?jNGj>GjG?uhNhU"NADH dehydrogenase (ubiquinone-8 )r8h,G@@h-Gh}r9h/h)]r:jaRr;hUNADH5r<h2Gh3h4hNh5Ub1109r=h"}r>h7Nubh)r?}r@(h UOxidative PhosphorylationrAh }rB(jGj>Gj~G?jG?jTjGuhNhU6NADH dehydrogenase (demethylmenaquinone-8 & 0 protons)rCh,G@@h-Gh}rDh/h)]rEjaRrFhUNADH9rGh2Gh3h4hNh5Ub1109rHh"}rIh7Nubh)rJ}rK(h U*Cofactor and Prosthetic Group BiosynthesisrLh }rM(j GjGj)G?j>G?j-G?uhNhU NAD kinaserNh,G@@h-Gh}rOh/h)]rPj!)rQ}rR(hNj!KhNhUb2615rSh}rTj!hjShNhNj!Kh&Nh"}rUj!U+h(h)]RrVubaRrWhUNADKrXh2Gh3h4hNh5jSh"}rYh7Nubh)rZ}r[(h U*Cofactor and Prosthetic Group Biosynthesisr\h }r](j>G?h)r^}r_(hNhNhU Nicotinamider`h}rahUncam_crbhUEhKhGhh)rc}rd(hNhUC6H6N2Oreh}rfh"}rgh$}rh(UHKUCKUOKUNKuhjeubh&Uch"}rih(h)]RrjubG?jGj=G?j4GuhNhUNAD nucleosidaserkh,G@@h-Gh}rlh/h)]RrmhUNADNrnh2Gh3h4hNh5Uh"}roh7Nubh)rp}rq(h UOxidative Phosphorylationrrh }rs(j>Gj)G?jNGjCGjG?uhNhU&NADPH Quinone Reductase (Ubiquinone-8)rth,G@@h-Gh}ruh/h)]rvj!)rw}rx(hNj!KhNhUb3028ryh}rzj!hjyhNhNj!Kh&Nh"}r{j!U+h(h)]Rr|ubaRr}hUNADPHQR2r~h2Gh3h4hNh5jyh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(j)G?j>GjCGjDNGjG?uhNhU'NADPH Quinone Reductase (Menaquinone-8)rh,G@@h-Gh}rh/h)]rjwaRrhUNADPHQR3rh2Gh3h4hNh5Ub3028rh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(j>Gj~G?jCGj)G?jTjGuhNhU1NADPH Quinone Reductase (2-Demethylmenaquinone-8)rh,G@@h-Gh}rh/h)]rjwaRrhUNADPHQR4rh2Gh3h4hNh5Ub3028rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j)Gj4GjG?jG?uhNhUNADP phosphataserh,G@@h-Gh}rh/h)]RrhUNADPPPSrh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j Gh)r}r(hNhNhU Deamino-NAD+rh}rhUdnad_crhUEhJhGhh)r}r(hNhU C21H24N6O15P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGjG?jLGj>G?jTG?j%G?uhNhUNAD synthase (nh3)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1740rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUNADS1rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(jG?jCGj)G?jGuhNhUNAD transhydrogenaserh,G@@h-Gh}rh/h)]r¯(j!)rï}rį(hNj!KhNhUb1602růh}rƯj!hjůhNhNj!Kh&Nh"}rǯj!U+h(h)]Rrȯubj!)rɯ}rʯ(hNj!KhNhUb3962r˯h}r̯j!hj˯hNhNj!Kh&Nh"}rͯj!U+h(h)]Rrίubj!)rϯ}rЯ(hNj!KhNhUb1603rѯh}rүj!hjѯhNhNj!Kh&Nh"}rӯj!U+h(h)]RrԯubeRrկhUNADTRHDr֯h2Gh3h4hNh5U(b3962 or (b1602 and b1603))rׯh"}rدh7Nubh)rٯ}rگ(h U*Cofactor and Prosthetic Group Biosynthesisrۯh }rܯ(j Gh)rݯ}rޯ(hNhNhUNicotinate D-ribonucleotider߯h}rhUnicrnt_crhUEhJhGhh)r}r(hNhU C11H12NO9Prh}rh"}rh$}r(UHK UCK UPKUOK UNKuhjubh&Uch"}rh(h)]RrubG?jGj=GjTG?jG?j-G?j4GuhNhU/nicotinic acid mononucleotide pyrophosphorylaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0931rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUNAMNPPrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j>G@j8;G@j"GjE;GuhNhU2sodium proton antiporter (H:NA is 1.5) (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1186rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhU NAt3_1p5pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r (j>G@j"Gj8;G?jE;GuhNhU0sodium proton antiporter (H:NA is 2) (periplasm)r h,G@@h-Gh}r h/h)]r j!)r }r(hNj!KhNhUb0019rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUNAt3_2pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j>G?jE;Gj8;G?j"GuhNhUAsodium transport out via proton antiport (cytoplasm to periplasm)rh,G@@h-Gh}rh/h)]r(jHRjAeRrhUNAt3pprh2Gh3h4hNh5U(b0842 or b1216)rh"}r h7Nubh)r!}r"(h UTransport, Outer Membrane Porinr#h }r$(j<Gj8;G?uhNhU;sodium transport via diffusion (extracellular to periplasm)r%h,G@@h-G@h}r&h/h)]r'(j!j!j!j!eRr(hUNAtexr)h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r*h"}r+h7Nubh)r,}r-(h UNucleotide Salvage Pathwayr.h }r/(j Gj-G?j4<GjG?uhNhU'nucleoside-diphosphate kinase (ATP:GDP)r0h,G@@h-G@h}r1h/h)]r2(j!)r3}r4(hNj!KhNhUb2518r5h}r6j!hj5hNhNj!Kh&Nh"}r7j!U+h(h)]Rr8ubj'<eRr9hUNDPK1r:h2Gh3h4hNh5U(b0474 or b2518)r;h"}r<h7Nubh)r=}r>(h UNucleotide Salvage Pathwayr?h }r@(j Gj7Gj-G?j2G?uhNhU'nucleoside-diphosphate kinase (ATP:UDP)rAh,G@@h-G@h}rBh/h)]rC(j3j'<eRrDhUNDPK2rEh2Gh3h4hNh5U(b0474 or b2518)rFh"}rGh7Nubh)rH}rI(h UNucleotide Salvage PathwayrJh }rK(j Gj`Gj-G?jG?uhNhU'nucleoside-diphosphate kinase (ATP:CDP)rLh,G@@h-G@h}rMh/h)]rN(j3j'<eRrOhUNDPK3rPh2Gh3h4hNh5U(b2518 or b0474)rQh"}rRh7Nubh)rS}rT(h UNucleotide Salvage PathwayrUh }rV(j Gjl1Gj-G?j G?uhNhU(nucleoside-diphosphate kinase (ATP:dTDP)rWh,G@@h-G@h}rXh/h)]rY(j3j'<eRrZhUNDPK4r[h2Gh3h4hNh5U(b0474 or b2518)r\h"}r]h7Nubh)r^}r_(h UNucleotide Salvage Pathwayr`h }ra(j GhG?j-G?jdGuhNhU(nucleoside-diphosphate kinase (ATP:dGDP)rbh,G@@h-G@h}rch/h)]rd(j3j'<eRrehUNDPK5rfh2Gh3h4hNh5U(b0474 or b2518)rgh"}rhh7Nubh)ri}rj(h UNucleotide Salvage Pathwayrkh }rl(h)rm}rn(hNhNhUdUDProh}rphUdudp_crqhUEhJhGhh)rr}rs(hNhU C9H11N2O11P2rth}ruh"}rvh$}rw(UHK UCK UPKUOK UNKuhjtubh&Uch"}rxh(h)]RryubGj GjVcG?j-G?uhNhU(nucleoside-diphosphate kinase (ATP:dUDP)rzh,G@@h-G@h}r{h/h)]r|(j'<j3eRr}hUNDPK6r~h2Gh3h4hNh5U(b2518 or b0474)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jG?j-G?j`Gj GuhNhU(nucleoside-diphosphate kinase (ATP:dCDP)rh,G@@h-G@h}rh/h)]r(j'<j3eRrhUNDPK7rh2Gh3h4hNh5U(b0474 or b2518)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j-G?jYaGjnG?j GuhNhU(nucleoside-diphosphate kinase (ATP:dADP)rh,G@@h-G@h}rh/h)]r(j'<j3eRrhUNDPK8rh2Gh3h4hNh5U(b0474 or b2518)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jfGj.G?uhNhUGj,zG?j9zGjG?j4G?uhNhU#NADH:flavorubredoxin oxidoreductaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2711rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2710r°h}rðj!hj°hNhNj!Kh&Nh"}rİj!U+h(h)]RrŰubeRrưhUNHFRBOrǰh2Gh3h4hNh5U(b2710 and b2711)rȰh"}rɰh7Nubh)rʰ}r˰(h U&Inorganic Ion Transport and Metabolismr̰h }rͰ(j Gj-G?h)rΰ}rϰ(hNhNhUnickelrаh}rѰhUni2_prҰhUEhKhGhh)rӰ}r԰(hNhUNirհh}rְh"}rװh$}rذjհKshjհubh&Uph"}rٰh(h)]RrڰubG?jGj>G?j4GjG?uhNhU)Nickle (Ni+2) ABC transporter (periplasm)r۰h,G@@h-Gh}rܰh/h)]rݰjSaRrްhUNI2abcppr߰h2Gh3h4hNh5Ub3469rh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jΰG?j>G?j"GjGuhNhU;nickle (Ni+2) transport out via proton antiport (periplasm)rh,G@@h-Gh}rh/h)]r(jSjSeRrhUNI2t3pprh2Gh3h4hNh5U(b3915 or b0752)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j{GjΰG?uhNhU;nickel transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUNI2texrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jΰGjG?uhNhU-nickel (+2) transport in via permease (no H+)rh,G@@h-Gh}rh/h)]rjYaRrhUNI2tpprh2Gh3h4hNh5Ub3816rh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j Gj>G?jΰGjG?j-G?jG?j4GuhNhU3nickel transport via ABC system (uptake, periplasm)rh,G@@h-Gh}rh/h)]r (j!)r }r (hNj!KhNhUb3478r h}r j!hj hNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3480rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubjکj!)r}r(hNj!KhNhUb3476rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3479rh}rj!hjhNhNj!Kh&Nh"}r j!U+h(h)]Rr!ubj!)r"}r#(hNj!KhNhUb3477r$h}r%j!hj$hNhNj!Kh&Nh"}r&j!U+h(h)]Rr'ubeRr(hU NI2uabcppr)h2Gh3h4hNh5U:((b3476 and b3477 and b3478 and b3479 and b3480) or b4242)r*h"}r+h7Nubh)r,}r-(h U*Cofactor and Prosthetic Group Biosynthesisr.h }r/(j GjTG?j>GjG?jGuhNhU+nicotinamide-nucleotide adenylyltransferaser0h,G@@h-Gh}r1h/h)]r2(j!)r3}r4(hNj!KhNhUb0639r5h}r6j!hj5hNhNj!Kh&Nh"}r7j!U+h(h)]Rr8ubj!)r9}r:(hNj!KhNhUb4390r;h}r<j!hj;hNhNj!Kh&Nh"}r=j!U+h(h)]Rr>ubeRr?hUNMNATr@h2Gh3h4hNh5U(b4390 or b0639)rAh"}rBh7Nubh)rC}rD(h U*Cofactor and Prosthetic Group BiosynthesisrEh }rF(j4GjLG?jݯG?jGuhNhUnicotinamide-nucleotide amidaserGh,G@@h-Gh}rHh/h)]RrIhUNMNDArJh2Gh3h4hNh5Uh"}rKh7Nubh)rL}rM(h U*Cofactor and Prosthetic Group BiosynthesisrNh }rO(j>G?jGj4Gj^G?j=G?uhNhUNMN nucleosidaserPh,G@@h-Gh}rQh/h)]RrRhUNMNNrSh2Gh3h4hNh5Uh"}rTh7Nubh)rU}rV(h UTransport, Inner MembranerWh }rX(h)rY}rZ(hNhNhUNMNr[h}r\hUnmn_pr]hUEhJhGhh)r^}r_(hNhU C11H14N2O8Pr`h}rah"}rbh$}rc(UHKUCK UPKUOKUNKuhj`ubh&Uph"}rdh(h)]RreubGjG?uhNhUNMN permease (periplasm)rfh,G@@h-Gh}rgh/h)]rhj!)ri}rj(hNj!KhNhUb0751rkh}rlj!hjkhNhNj!Kh&Nh"}rmj!U+h(h)]RrnubaRrohUNMNPtpprph2Gh3h4hNh5jkh"}rqh7Nubh)rr}rs(h UTransport, Inner Membranerth }ru(j=G?j^G?j>G?j4GjYGuhNhU0NMN transport via NMN glycohydrolase (periplasm)rvh,G@@h-Gh}rwh/h)]RrxhUNMNt7ppryh2Gh3h4hNh5Uh"}rzh7Nubh)r{}r|(h UTransport, Outer Membrane Porinr}h }r~(jYG?jGuhNhU8NMN transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUNMNtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j^Gj4GjG?jLG?uhNhUnicotinamidaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1768rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUNNAMrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j GjݯGjTG?j>GjG?uhNhU)nicotinate-nucleotide adenylyltransferaserh,G@@h-G@h}rh/h)]rj3aRrhUNNATrrh2Gh3h4hNh5Ub0639rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhU5,6-Dimethylbenzimidazolerh}rhUdmbzid_crhUEhKhGhh)r}r(hNhUC9H10N2rh}rh"}rh$}r(UHK UCK UNKuhjubh&Uch"}rh(h)]RrubGjݯGh)r}r(hNhNhU8N1-(5-Phospho-alpha-D-ribosyl)-5,6-dimethylbenzimidazolerh}rhU 5prdmbz_crhUEhJhGhh)r}r(hNhU C14H17N2O7Prh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?j>G?jG?uhNhUENicotinate-nucleotide dimethylbenzimidazole phosphoribosyltransferaserh,G@@h-Gh}rh/h)]rj!)r±}rñ(hNj!KhNhUb1991rıh}rűj!hjıhNhNj!Kh&Nh"}rƱj!U+h(h)]RrDZubaRrȱhUNNDMBRTrɱh2Gh3h4hNh5jıh"}rʱh7Nubh)r˱}ṟ(h U*Cofactor and Prosthetic Group Biosynthesisrͱh }rα(j -G?h)rϱ}rб(hNhNhU Quinolinaterѱh}rұhUquln_crӱhUEhJhGhh)rԱ}rձ(hNhUC7H3NO4rֱh}rױh"}rرh$}rٱ(UHKUCKUOKUNKuhjֱubh&Uch"}rڱh(h)]Rr۱ubGj=Gj>GjTG?jݯG?uhNhU5nicotinate-nucleotide diphosphorylase (carboxylating)rܱh,G@@h-Gh}rݱh/h)]rޱj!)r߱}r(hNj!KhNhUb0109rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUNNDPRrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(h)r}r(hNhNhUNitriterh}rhUno2_prhUEhJhGhh)r}r(hNhUNO2rh}rh"}rh$}r(UOKUNKuhjubh&Uph"}rh(h)]RrubGj"Gh)r}r(hNhNhUNitriterh}rhUno2_crhUEhJhGhh)r}r(hNhUNO2rh}rh"}rh$}r(UOKUNKuhjubh&Uch"}rh(h)]RrubG?j>G?uhNhU?nitrite transport in via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]r(j!)r }r (hNj!KhNhUb3367r h}r j!hj hNhNj!Kh&Nh"}r j!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1223rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUNO2t2rpprh2Gh3h4hNh5U(b3367 or b1223)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?jGuhNhU}r?(hNj!KhNhUb2202r@h}rAj!hj@hNhNj!Kh&Nh"}rBj!U+h(h)]RrCubj!)rD}rE(hNj!KhNhUb2205rFh}rGj!hjFhNhNj!Kh&Nh"}rHj!U+h(h)]RrIubj!)rJ}rK(hNj!KhNhUb2203rLh}rMj!hjLhNhNj!Kh&Nh"}rNj!U+h(h)]RrOubj!)rP}rQ(hNj!KhNhUb2206rRh}rSj!hjRhNhNj!Kh&Nh"}rTj!U+h(h)]RrUubeRrVhUNO3R1bpprWh2Gh3h4hNh5U1((b2203 and b2206) and b2202 and b2205 and b2204)rXh"}rYh7Nubh)rZ}r[(h UOxidative Phosphorylationr\h }r](h)r^}r_(hNhNhUNitrater`h}rahUno3_crbhUEhJhGhh)rc}rd(hNhUNO3reh}rfh"}rgh$}rh(UOKUNKuhjeubh&Uch"}rih(h)]RrjubGjNG?j"G@j>GjGj4G?jG?uhNhU+Nitrate reductase (Ubiquinol-8) (periplasm)rkh,G@@h-Gh}rlh/h)]rm(j!)rn}ro(hNj!KhNhUb1468rph}rqj!hjphNhNj!Kh&Nh"}rrj!U+h(h)]Rrsubj!)rt}ru(hNj!KhNhUb1224rvh}rwj!hjvhNhNj!Kh&Nh"}rxj!U+h(h)]Rryubj!)rz}r{(hNj!KhNhUb1226r|h}r}j!hj|hNhNj!Kh&Nh"}r~j!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1227rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1466rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1225rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1467rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1465rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUNO3R1pprh2Gh3h4hNh5UP((b1465 and b1466 and b1467 and b1468) or (b1224 and b1225 and b1226 and b1227))rh"}rh7Nubh)r}r(h UNitrogen Metabolismrh }r(jG?j#G?jDNG?jGj(GuhNhU,Nitrate reductase (Menaquinol-8) (periplasm)rh,G@@h-Gh}rh/h)]r(jPjJj>eRrhUNO3R2bpprh2Gh3h4hNh5U((b2203 and b2206) and b2202)rh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(j^GjDNG?j"G@j>Gj4G?jG?jGuhNhU,Nitrate reductase (Menaquinol-8) (periplasm)rh,G@@h-Gh}rh/h)]r(jjjnjjjzjtjeRrhUNO3R2pprh2Gh3h4hNh5UP((b1465 and b1466 and b1467 and b1468) or (b1224 and b1225 and b1226 and b1227))rh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jG?j^G?j(GjGuhNhU5nitrate transport in via nitrite antiport (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1469rh}r²j!hjhNhNj!Kh&Nh"}ròj!U+h(h)]RrIJubjeRrŲhUNO3t7pprƲh2Gh3h4hNh5U(b1223 or b1469)rDzh"}rȲh7Nubh)rɲ}rʲ(h UTransport, Outer Membrane Porinr˲h }r̲(jGj(G?uhNhUG?jG?j*Gj9zGuhNhUnitric oxide dioxygenaserزh,G@@h-Gh}rٲh/h)]rڲj!)r۲}rܲ(hNj!KhNhUb2552rݲh}r޲j!hjݲhNhNj!Kh&Nh"}r߲j!U+h(h)]RrubaRrhUNODOxrh2Gh3h4hNh5jݲh"}rh7Nubh)r}r(h UNitrogen Metabolismrh }r(j>G?j)G?jCGj^G@j*Gj9zGuhNhUnitric oxide dioxygenaserh,G@@h-Gh}rh/h)]rj۲aRrhUNODOyrh2Gh3h4hNh5Ub2552rh"}rh7Nubh)r}r(h UTransport, Outer Membranerh }r(jGh)r}r(hNhNhU novobiocinrh}rhUnovbcn_prhUEhKhGhh)r}r(hNhU C31H36N2O11rh}rh"}rh$}r(UHK$UCKUOK UNKuhjubh&Uph"}rh(h)]RrubG?uhNhU?Novobiocin transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]rjB4aRrhU NOVBCNtexrh2Gh3h4hNh5Us0001rh"}rh7Nubh)r}r(h UTransport, Outer Membraner h }r (j>G?jG?j"GjGuhNhU$Novobiocin transport via TolC systemr h,G@@h-Gh}r h/h)]r (jCYjIYj=YjOYeRrhU NOVBCNtpprh2Gh3h4hNh5U<((b0463 and b0462 and b3035) or (b0463 and b2470 and b3035))rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGh)r}r(hNhNhU Nitric oxiderh}rhUno_prhUEhKhGhh)r}r(hNhUNOrh}rh"}rh$}r (UOKUNKuhjubh&Uph"}r!h(h)]Rr"ubG?uhNhUAnitric oxide transport via diffusion (extracellular to periplasm)r#h,G@@h-G@h}r$h/h)]r%(j!j!j!j!eRr&hUNOtexr'h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r(h"}r)h7Nubh)r*}r+(h U&Inorganic Ion Transport and Metabolismr,h }r-(jGj9zG?uhNhUNO transport (diffusion)r.h,G@@h-G@h}r/h/h)]r0jB4aRr1hUNOtppr2h2Gh3h4hNh5Us0001r3h"}r4h7Nubh)r5}r6(h UNucleotide Salvage Pathwayr7h }r8(jGmGjcG?j4GjG?uhNhU5'-nucleotidase (dUMP)r9h,G@@h-Gh}r:h/h)]r;(j!)r<}r=(hNj!KhNhUb2744r>h}r?j!hj>hNhNj!Kh&Nh"}r@j!U+h(h)]RrAubj!)rB}rC(hNj!KhNhUb4374rDh}rEj!hjDhNhNj!Kh&Nh"}rFj!U+h(h)]RrGubj!)rH}rI(hNj!KhNhUb2291rJh}rKj!hjJhNhNj!Kh&Nh"}rLj!U+h(h)]RrMubeRrNhUNTD1rOh2Gh3h4hNh5U(b2291 or b2744 or b4374)rPh"}rQh7Nubh)rR}rS(h UNucleotide Salvage PathwayrTh }rU(j4Gh)rV}rW(hNhNhU XanthosinerXh}rYhUxtsn_crZhUEhKhGhh)r[}r\(hNhU C10H12N4O6r]h}r^h"}r_h$}r`(UHK UCK UOKUNKuhj]ubh&Uch"}rah(h)]RrbubG?jG?jGuhNhU5'-nucleotidase (XMP)rch,G@@h-Gh}rdh/h)]rej<aRrfhUNTD10rgh2Gh3h4hNh5Ub2744rhh"}rih7Nubh)rj}rk(h UNucleotide Salvage Pathwayrlh }rm(h)rn}ro(hNhNhUXanthosine 5'-phosphaterph}rqhUxmp_prrhUEhJhGhh)rs}rt(hNhU C10H11N4O9Pruh}rvh"}rwh$}rx(UHK UCK UPKUOK UNKuhjuubh&Uph"}ryh(h)]RrzubGj+G?h)r{}r|(hNhNhU Xanthosiner}h}r~hUxtsn_prhUEhKhGhh)r}r(hNhU C10H12N4O6rh}rh"}rh$}r(UHK UCK UOKUNKuhjubh&Uph"}rh(h)]RrubG?j#GuhNhU5'-nucleotidase (XMP)rh,G@@h-Gh}rh/h)]r(jj!)r}r(hNj!KhNhUb0480rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUNTD10pprh2Gh3h4hNh5U(b0480 or b4055)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j`>Gjz;G?j4GjG?uhNhU5'-nucleotidase (IMP)rh,G@@h-Gh}rh/h)]rj<aRrhUNTD11rh2Gh3h4hNh5Ub2744rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jGj+G?j#Gj4G?uhNhU5'-nucleotidase (IMP)rh,G@@h-Gh}rh/h)]r(jjeRrhUNTD11pprh2Gh3h4hNh5U(b0480 or b4055)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(h)r}r(hNhNhUdIMPrh}rhUdimp_crhUEhJhGhh)r}r(hNhU C10H11N4O7Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Uch"}rh(h)]RrubGjAaG?j4GjG?uhNhU5'-nucleotidase (dIMP)rh,G@@h-Gh}rh/h)]r(j<jHeRrhUNTD12rh2Gh3h4hNh5U(b2291 or b2744)rh"}r³h7Nubh)ró}rij(h UNucleotide Salvage Pathwayrųh }rƳ(jiG?jhGj+G?j#GuhNhU"5'-nucleotidase (dIMP) (periplasm)rdzh,G@@h-Gh}rȳh/h)]rɳ(jjeRrʳhUNTD12ppr˳h2Gh3h4hNh5U(b0480 or b4055)r̳h"}rͳh7Nubh)rγ}rϳ(h UNucleotide Salvage Pathwayrгh }rѳ(j#Gj+G?jmG?j mGuhNhU5'-nucleotidase (dUMP)rҳh,G@@h-Gh}rӳh/h)]rԳ(jjeRrճhUNTD1pprֳh2Gh3h4hNh5U(b0480 or b4055)r׳h"}rسh7Nubh)rٳ}rڳ(h UNucleotide Salvage Pathwayr۳h }rܳ(j5Gj4GjG?jN`G?uhNhU5'-nucleotidase (UMP)rݳh,G@@h-Gh}r޳h/h)]r߳(j<jBeRrhUNTD2rh2Gh3h4hNh5U(b2744 or b4374)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j#Gj+G?jx+G?h)r}r(hNhNhUUMPrh}rhUump_prhUEhJhGhh)r}r(hNhU C9H11N2O9Prh}rh"}rh$}r(UHK UCK UPKUOK UNKuhjubh&Uph"}rh(h)]RrubGuhNhU5'-nucleotidase (UMP)rh,G@@h-Gh}rh/h)]r(jjeRrhUNTD2pprh2Gh3h4hNh5U(b0480 or b4055)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j`GjscG?jG?j4GuhNhU5'-nucleotidase (dCMP)rh,G@@h-Gh}rh/h)]r(j<jHeRrhUNTD3rh2Gh3h4hNh5U(b2744 or b2291)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayr h }r (j>cGj+G?jcG?j#GuhNhU5'-nucleotidase (dCMP)r h,G@@h-Gh}r h/h)]r (jjeRrhUNTD3pprh2Gh3h4hNh5U(b0480 or b4055)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jA`G?j TGj4GjG?uhNhU5'-nucleotidase (CMP)rh,G@@h-Gh}rh/h)]rj<aRrhUNTD4rh2Gh3h4hNh5Ub2744rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r (j YGj+G?j+G?j#GuhNhU5'-nucleotidase (CMP)r!h,G@@h-Gh}r"h/h)]r#(jjeRr$hUNTD4ppr%h2Gh3h4hNh5U(b0480 or b4055)r&h"}r'h7Nubh)r(}r)(h UNucleotide Salvage Pathwayr*h }r+(h)r,}r-(hNhNhU Thymidiner.h}r/hUthymd_cr0hUEhKhGhh)r1}r2(hNhU C10H14N2O5r3h}r4h"}r5h$}r6(UHKUCK UOKUNKuhj3ubh&Uch"}r7h(h)]Rr8ubG?jlGjG?j4GuhNhU5'-nucleotidase (dTMP)r9h,G@@h-Gh}r:h/h)]r;(j<jBjHeRr<hUNTD5r=h2Gh3h4hNh5U(b2291 or b2744 or b4374)r>h"}r?h7Nubh)r@}rA(h UNucleotide Salvage PathwayrBh }rC(h)rD}rE(hNhNhU ThymidinerFh}rGhUthymd_prHhUEhKhGhh)rI}rJ(hNhU C10H14N2O5rKh}rLh"}rMh$}rN(UHKUCK UOKUNKuhjKubh&Uph"}rOh(h)]RrPubG?j+G?jlGj#GuhNhU5'-nucleotidase (dTMP)rQh,G@@h-Gh}rRh/h)]rS(jjeRrThUNTD5pprUh2Gh3h4hNh5U(b0480 or b4055)rVh"}rWh7Nubh)rX}rY(h UNucleotide Salvage PathwayrZh }r[(j4aG?jfaGj4GjG?uhNhU5'-nucleotidase (dAMP)r\h,G@@h-Gh}r]h/h)]r^(j<jHeRr_hUNTD6r`h2Gh3h4hNh5U(b2291 or b2744)rah"}rbh7Nubh)rc}rd(h UNucleotide Salvage Pathwayreh }rf(j~aG?j+G?j bGj#GuhNhU5'-nucleotidase (dAMP)rgh,G@@h-Gh}rhh/h)]ri(jjeRrjhUNTD6pprkh2Gh3h4hNh5U(b0480 or b4055)rlh"}rmh7Nubh)rn}ro(h UNucleotide Salvage Pathwayrph }rq(jm;G?j4GjG?j%GuhNhU5'-nucleotidase (AMP)rrh,G@@h-Gh}rsh/h)]rtj<aRruhUNTD7rvh2Gh3h4hNh5Ub2744rwh"}rxh7Nubh)ry}rz(h UNucleotide Salvage Pathwayr{h }r|(j#GjGGj+G?j+G?uhNhU5'-nucleotidase (AMP)r}h,G@@h-Gh}r~h/h)]r(jjeRrhUNTD7pprh2Gh3h4hNh5U(b0480 or b4055)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jdG?jdGjG?j4GuhNhU5'-nucleotidase (dGMP)rh,G@@h-Gh}rh/h)]r(j<jHeRrhUNTD8rh2Gh3h4hNh5U(b2291 or b2744)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jdGj#GjdG?j+G?uhNhU5'-nucleotidase (dGMP)rh,G@@h-Gh}rh/h)]r(jjeRrhUNTD8pprh2Gh3h4hNh5U(b0480 or b4055)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j/=GjG?j|G?j4GuhNhU5'-nucleotidase (GMP)rh,G@@h-Gh}rh/h)]rj<aRrhUNTD9rh2Gh3h4hNh5Ub2744rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j Gj+G?j+G?j#GuhNhU5'-nucleotidase (GMP)rh,G@@h-Gh}rh/h)]r(jjeRrhUNTD9pprh2Gh3h4hNh5U(b0480 or b4055)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j Gj-G?j>G?jG?j4GuhNhUnucleoside-triphosphatase (ATP)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0650rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4161rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rr´ubeRrôhUNTP1rĴh2Gh3h4hNh5U(b0650 or b4161)rŴh"}rƴh7Nubh)rǴ}rȴ(h UNucleotide Salvage Pathwayrɴh }rʴ(j>G?j4GjG?jY<G?jL<GuhNhUnucleoside-triphosphatase (ITP)r˴h,G@@h-Gh}r̴h/h)]rʹ(j!)rδ}rϴ(hNj!KhNhUb4394rдh}rѴj!hjдhNhNj!Kh&Nh"}rҴj!U+h(h)]RrӴubjeRrԴhUNTP10rմh2Gh3h4hNh5U(b4161 or b4394)rִh"}r״h7Nubh)rش}rٴ(h UNucleotide Salvage Pathwayrڴh }r۴(j>G?h)rܴ}rݴ(hNhNhUdIDPr޴h}rߴhUdidp_crhUEhJhGhh)r}r(hNhU C10H11N4O10P2rh}rh"}rh$}r(UHK UCK UPKUOK UNKuhjubh&Uch"}rh(h)]RrubG?jG?jbGj4GuhNhU nucleoside-triphosphatase (dITP)rh,G@@h-Gh}rh/h)]rjδaRrhUNTP11rh2Gh3h4hNh5Ub4394rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(h)r}r(hNhNhUXDPrh}rhUxdp_crhUEhJhGhh)r}r(hNhU C10H11N4O12P2rh}rh"}rh$}r(UHK UCK UPKUOK UNKuhjubh&Uch"}rh(h)]RrubG?jGj>G?jG?j4GuhNhUnucleoside-triphosphatase (XTP)rh,G@@h-Gh}rh/h)]rjδaRrhUNTP12rh2Gh3h4hNh5Ub4394rh"}rh7Nubh)r}r (h UNucleotide Salvage Pathwayr h }r (j4<G?j>G?jG?j4GjGuhNhUnucleoside-triphosphatase (GTP)r h,G@@h-Gh}r h/h)]rjaRrhUNTP3rh2Gh3h4hNh5Ub4161rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jgG?jGj"G?j#Gj+G?uhNhU+nucleoside-triphosphatase (GTP) (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0980rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRr hUNTP3ppr!h2Gh3h4hNh5jh"}r"h7Nubh)r#}r$(h UNucleotide Salvage Pathwayr%h }r&(j`G?j>G?jGjG?j4GuhNhUnucleoside-triphosphatase (CTP)r'h,G@@h-Gh}r(h/h)]r)jaRr*hUNTP5r+h2Gh3h4hNh5Ub4161r,h"}r-h7Nubh)r.}r/(h UNucleotide Salvage Pathwayr0h }r1(j>G?hGjdG?j4GjTG?uhNhU0Nucleoside triphosphate pyrophosphorylase (dgtp)r2h,G@@h-Gh}r3h/h)]r4(jjj!)r5}r6(hNj!KhNhUb2781r7h}r8j!hj7hNhNj!Kh&Nh"}r9j!U+h(h)]Rr:ubeRr;hUNTPP1r<h2Gh3h4hNh5U(b0099 or b2781)r=h"}r>h7Nubh)r?}r@(h UNucleotide Salvage PathwayrAh }rB(j>G?jG?jbGj4GjTG?uhNhU0Nucleoside triphosphate pyrophosphorylase (ditp)rCh,G@@h-Gh}rDh/h)]rEj!)rF}rG(hNj!KhNhUb2954rHh}rIj!hjHhNhNj!Kh&Nh"}rJj!U+h(h)]RrKubaRrLhUNTPP10rMh2Gh3h4hNh5jHh"}rNh7Nubh)rO}rP(h UNucleotide Salvage PathwayrQh }rR(jG?j>G?jGj4GjTG?uhNhU/Nucleoside triphosphate pyrophosphorylase (xtp)rSh,G@@h-Gh}rTh/h)]rUjFaRrVhUNTPP11rWh2Gh3h4hNh5Ub2954rXh"}rYh7Nubh)rZ}r[(h UNucleotide Salvage Pathwayr\h }r](jTG?j>G?j/=G?j4GjGuhNhU/Nucleoside triphosphate pyrophosphorylase (gtp)r^h,G@@h-Gh}r_h/h)]r`(jjj5eRrahUNTPP2rbh2Gh3h4hNh5U(b0099 or b2781)rch"}rdh7Nubh)re}rf(h UNucleotide Salvage Pathwayrgh }rh(jTG?jGj>G?j`G?j4GuhNhU0Nucleoside triphosphate pyrophosphorylase (dctp)rih,G@@h-Gh}rjh/h)]rk(j!)rl}rm(hNj!KhNhUb1759rnh}roj!hjnhNhNj!Kh&Nh"}rpj!U+h(h)]Rrqubjmj5eRrrhUNTPP3rsh2Gh3h4hNh5U(b2781 or b2251 or b1759)rth"}ruh7Nubh)rv}rw(h UNucleotide Salvage Pathwayrxh }ry(jTG?j TG?j>G?j4GjGuhNhU/Nucleoside triphosphate pyrophosphorylase (ctp)rzh,G@@h-Gh}r{h/h)]r|(jlj5eRr}hUNTPP4r~h2Gh3h4hNh5U(b1759 or b2781)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jTG?jfaG?j>G?j4GjnGuhNhU0Nucleoside triphosphate pyrophosphorylase (datp)rh,G@@h-Gh}rh/h)]r(jjj5eRrhUNTPP5rh2Gh3h4hNh5U(b2781 or b1865)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j GjTG?j>G?j4Gj%G?uhNhU/Nucleoside triphosphate pyrophosphorylase (atp)rh,G@@h-Gh}rh/h)]rj5aRrhUNTPP6rh2Gh3h4hNh5Ub2781rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j Gj>G?jlG?jTG?j4GuhNhU0Nucleoside triphosphate pyrophosphorylase (dttp)rh,G@@h-Gh}rh/h)]r(jmj5eRrhUNTPP7rh2Gh3h4hNh5U(b2781 or b2251)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j5G?j2Gj>G?j4GjTG?uhNhU/Nucleoside triphosphate pyrophosphorylase (utp)rh,G@@h-Gh}rh/h)]rj5aRrhUNTPP8rh2Gh3h4hNh5Ub2781rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jTG?j>G?j`>G?j4GjL<GuhNhU/Nucleoside triphosphate pyrophosphorylase (itp)rh,G@@h-Gh}rh/h)]rjFaRrhUNTPP9rh2Gh3h4hNh5Ub2954rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jdG?hGjRG?j4GuhNhU(Nucleoside triphosphate tripolyhydrolaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0160rh}rµj!hjhNhNj!Kh&Nh"}rõj!U+h(h)]RrĵubaRrŵhUNTPTP1rƵh2Gh3h4hNh5jh"}rǵh7Nubh)rȵ}rɵ(h UNucleotide Salvage Pathwayrʵh }r˵(j|G?j4GjGjRG?uhNhU(Nucleoside triphosphate tripolyhydrolaser̵h,G@@h-Gh}r͵h/h)]rεjaRrϵhUNTPTP2rеh2Gh3h4hNh5Ub0160rѵh"}rҵh7Nubh)rӵ}rԵ(h UOxidative Phosphorylationrյh }rֵ(jGj>GjLG?jG@j4G@jGuhNhUnitrite Reductase (NADH)r׵h,G@@h-Gh}rصh/h)]rٵ(j!)rڵ}r۵(hNj!KhNhUb3365rܵh}rݵj!hjܵhNhNj!Kh&Nh"}r޵j!U+h(h)]Rrߵubj!)r}r(hNj!KhNhUb3366rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUNTRIR2xrh2Gh3h4hNh5U(b3365 and b3366)rh"}rh7Nubh)r}r(h UNitrogen Metabolismrh }r(jGj.G?j"GjNG@jGj#G@uhNhU+nitrite Reductase (Ubiquinole-8, periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb4071rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4070rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4072rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4073rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRr hUNTRIR3ppr h2Gh3h4hNh5U%(b4070 and b4071 and b4072 and b4073)r h"}r h7Nubh)r }r(h UNitrogen Metabolismrh }r(jDNG@j#G@jGj.G?j"GjGuhNhU,nitrite Reductase (Menaquinole-8, periplasm)rh,G@@h-Gh}rh/h)]r(jjjjeRrhUNTRIR4pprh2Gh3h4hNh5U%(b4070 and b4071 and b4072 and b4073)rh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j Gj-G?j>G?h)r}r(hNhNhU,(O16 antigen)x4 core oligosaccharide lipid Arh}rhU o16a4colipa_pr hUEhJhGhh)r!}r"(hNhUC312H523N6O200P4r#h}r$h"}r%h$}r&(UHM UCM8UPKUOKUNKuhj#ubh&Uph"}r'h(h)]Rr(ubGjG?j4GjG?uhNhUcO16 antigen (x4) core oligosaccharide lipid A transport via ABC system (periplasm to extracellular)r)h,G@@h-Gh}r*h/h)]r+(j99j'9j-9j39j?9eRr,hUO16A4COLIPAabctexr-h2Gh3h4hNh5U/(b3200 and b3201 and b3199 and b4261 and b4262)r.h"}r/h7Nubh)r0}r1(h U+Lipopolysaccharide Biosynthesis / Recyclingr2h }r3(h)r4}r5(hNhNhU((O16 antigen)x4 undecaprenyl diphosphater6h}r7hU o16a4und_pr8hUEhJhGhh)r9}r:(hNhUC191H310N4O107P2r;h}r<h"}r=h$}r>(UHM6UCKUPKUOKkUNKuhj;ubh&Uph"}r?h(h)]Rr@ubGjYG?j"G?jG?jYGuhNhU#O16 anitgen (x4) ligase (periplasm)rAh,G@@h-Gh}rBh/h)]rCjroaRrDhUO16A4LpprEh2Gh3h4hNh5Ub3622rFh"}rGh7Nubh)rH}rI(h U+Lipopolysaccharide Biosynthesis / RecyclingrJh }rK(j"G?jYG?h)rL}rM(hNhNhU((O16 antigen)x2 undecaprenyl diphosphaterNh}rOhU o16a2und_prPhUEhJhGhh)rQ}rR(hNhUC123H200N2O57P2rSh}rTh"}rUh$}rV(UHKUCK{UPKUOK9UNKuhjSubh&Uph"}rWh(h)]RrXubG?h)rY}rZ(hNhNhU$O16 antigen undecaprenyl diphosphater[h}r\hU o16aund_pr]hUEhJhGhh)r^}r_(hNhUC89H145N1O32P2r`h}rah"}rbh$}rc(UHKUCKYUPKUOK UNKuhj`ubh&Uph"}rdh(h)]RreubGuhNhU"O16 antigen polymerase (periplasm)rfh,G@@h-Gh}rgh/h)]rh(j!)ri}rj(hNj!KhNhUb2035rkh}rlj!hjkhNhNj!Kh&Nh"}rmj!U+h(h)]Rrnubj!)ro}rp(hNj!KhNhUb2027rqh}rrj!hjqhNhNj!Kh&Nh"}rsj!U+h(h)]RrtubeRruhUO16AP1pprvh2Gh3h4hNh5U(b2035 and b2027)rwh"}rxh7Nubh)ry}rz(h U+Lipopolysaccharide Biosynthesis / Recyclingr{h }r|(h)r}}r~(hNhNhU((O16 antigen)x3 undecaprenyl diphosphaterh}rhU o16a3und_prhUEhJhGhh)r}r(hNhUC157H255N3O82P2rh}rh"}rh$}r(UHKUCKUPKUOKRUNKuhjubh&Uph"}rh(h)]RrubG?j"G?jYG?jLGjYGuhNhU"O16 antigen polymerase (periplasm)rh,G@@h-Gh}rh/h)]r(jijoeRrhUO16AP2pprh2Gh3h4hNh5U(b2035 and b2027)rh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j}GjYG?j4G?jYGj"G?uhNhU"O16 antigen polymerase (periplasm)rh,G@@h-Gh}rh/h)]r(jijoeRrhUO16AP3pprh2Gh3h4hNh5U(b2035 and b2027)rh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(h)r}r(hNhNhU?O-acetyl-rhamanosyl-N-acetylglucosamyl-undecaprenyl diphosphaterh}rhU aragund_crhUEhJhGhh)r}r(hNhUC71H115N1O17P2rh}rh"}rh$}r(UHKsUCKGUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?jGh)r}r(hNhNhU6rhamanosyl-N-acetylglucosamyl-undecaprenyl diphosphaterh}rhUragund_crhUEhJhGhh)r}r(hNhUC69H113N1O16P2rh}rh"}rh$}r(UHKqUCKEUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGjG?uhNhUirhamanosyl-N-acetylglucosamyl-undecaprenyl diphosphate O-acetyltransferase (LPS O16 antigen biosynthesis)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2033rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rr¶ubaRröhUO16ATrĶh2Gh3h4hNh5jh"}rŶh7Nubh)rƶ}rǶ(h U+Lipopolysaccharide Biosynthesis / Recyclingrȶh }rɶ(h)rʶ}r˶(hNhNhU$O16 antigen undecaprenyl diphosphater̶h}rͶhU o16aund_crζhUEhJhGhh)r϶}rж(hNhUC89H145N1O32P2rѶh}rҶh"}rӶh$}rԶ(UHKUCKYUPKUOK UNKuhjѶubh&Uch"}rնh(h)]RrֶubGjYG?uhNhU.O16 antigen (flippase, cytoplasm to periplasm)r׶h,G@@h-Gh}rضh/h)]rٶj!)rڶ}r۶(hNj!KhNhUb2037rܶh}rݶj!hjܶhNhNj!Kh&Nh"}r޶j!U+h(h)]Rr߶ubaRrhU O16AUNDtpprh2Gh3h4hNh5jܶh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(h)r}r(hNhNhUYgalactofuranosyl-glucosyl-O-acetyl-rhamanosyl-N-acetylglucosamyl-undecaprenyl diphosphaterh}rhU gfgaragund_crhUEhJhGhh)r}r(hNhUC83H135N1O27P2rh}rh"}rh$}r(UHKUCKSUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?h)r}r(hNhNhUUDP-D-galacto-1,4-furanoserh}rhU udpgalfur_crhUEhJhGhh)r}r(hNhU C15H22N2O17P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGj>G?h)r}r(hNhNhUHglucosyl-O-acetyl-rhamanosyl-N-acetylglucosamyl-undecaprenyl diphosphaterh}rhU garagund_crhUEhJhGhh)r}r(hNhUC77H125N1O22P2rh}r h"}r h$}r (UHK}UCKMUPKUOKUNKuhjubh&Uch"}r h(h)]Rr ubGj7G?uhNhU:galactofuranosyltransferase (LPS O16 antigen biosynthesis)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2034rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUO16GALFTrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j7G?jGj>G?jGjG?uhNhU4glucosyltransferase I (LPS O16 antigen biosynthesis)rh,G@@h-Gh}rh/h)]r j!)r!}r"(hNj!KhNhUb2032r#h}r$j!hj#hNhNj!Kh&Nh"}r%j!U+h(h)]Rr&ubaRr'hUO16GLCT1r(h2Gh3h4hNh5j#h"}r)h7Nubh)r*}r+(h U+Lipopolysaccharide Biosynthesis / Recyclingr,h }r-(jGj7G?jʶG?j>G?jGuhNhU5glucosyltransferase II (LPS O16 antigen biosynthesis)r.h,G@@h-Gh}r/h/h)]Rr0hUO16GLCT2r1h2Gh3h4hNh5Uh"}r2h7Nubh)r3}r4(h UTransport, Outer Membrane Porinr5h }r6(j#Gh)r7}r8(hNhNhUSuperoxide anionr9h}r:hUo2s_pr;hUEhJhGhh)r<}r=(hNhUO2r>h}r?h"}r@h$}rAUOKshj>ubh&Uph"}rBh(h)]RrCubG?uhNhUEsuperoxide anion transport via diffusion (extracellular to periplasm)rDh,G@@h-G@h}rEh/h)]rF(j!j!j!j!eRrGhUO2StexrHh2Gh3h4hNh5U"(b1377 or b2215 or b0241 or b0929)rIh"}rJh7Nubh)rK}rL(h UTransport, Outer Membrane PorinrMh }rN(jGj.G?uhNhU;oxygen transport via diffusion (extracellular to periplasm)rOh,G@@h-G@h}rPh/h)]rQ(j!j!j!j!eRrRhUO2texrSh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rTh"}rUh7Nubh)rV}rW(h U&Inorganic Ion Transport and MetabolismrXh }rY(j.Gj*G?uhNhU&o2 transport via diffusion (periplasm)rZh,G@@h-G@h}r[h/h)]r\jB4aRr]hUO2tppr^h2Gh3h4hNh5Us0001r_h"}r`h7Nubh)ra}rb(h UPyruvate Metabolismrch }rd(j>Gj -G?j5G?jNGuhNhUoxaloacetate decarboxylasereh,G@@h-Gh}rfh/h)]rgjpaRrhhUOAADCrih2Gh3h4hNh5Ub1850rjh"}rkh7Nubh)rl}rm(h UAlternate Carbon Metabolismrnh }ro(jHGG?jGj4G?jZ6GuhNhU2-Oxobutanoate formate lyaserph,G@@h-Gh}rqh/h)]rr(j!)rs}rt(hNj!KhNhUb3114ruh}rvj!hjuhNhNj!Kh&Nh"}rwj!U+h(h)]Rrxubj!)ry}rz(hNj!KhNhUb2579r{h}r|j!hj{hNhNj!Kh&Nh"}r}j!U+h(h)]Rr~ubj!)r}r(hNj!KhNhUb0903rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0902rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUOBTFLrh2Gh3h4hNh5UI(((b0902 and b0903) and b2579) or (b0902 and b0903) or (b0902 and b3114))rh"}rh7Nubh)r}r(h UArginine and Proline Metabolismrh }r(j>G?jMGjG?jKG?j8GuhNhUornithine carbamoyltransferaserh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb4254rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0273rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUOCBTrh2Gh3h4hNh5U(b4254 or b0273)rh"}rh7Nubh)r}r(h UTransport, Outer Membranerh }r(j8Gj^tG?uhNhU[Octadecanoate transport via facilitated irreversible diffusion (extracellular to periplasm)rh,G@@h-Gh}rh/h)]rjcaRrhU OCDCAtexirh2Gh3h4hNh5Ub2344rh"}rh7Nubh)r}r(h UTransport, Outer Membranerh }r(jMGjvtG?uhNhUeOctadecenoate (n-C18:1) transport via facilitated irreversible diffusion (extracellular to periplasm)rh,G@@h-Gh}rh/h)]rjcaRrhU OCDCEAtexirh2Gh3h4hNh5Ub2344rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jtG?jbGuhNhU>Octanoate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r·(j!j!j!j!eRr÷hUOCTAtexrķh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rŷh"}rƷh7Nubh)rǷ}rȷ(h U*Cofactor and Prosthetic Group Biosynthesisrɷh }rʷ(jgG?jpiGjTG@j.GuhNhU!Octaprenyl pyrophosphate synthaser˷h,G@@h-Gh}r̷h/h)]rͷj!)rη}rϷ(hNj!KhNhUb3187rзh}rѷj!hjзhNhNj!Kh&Nh"}rҷj!U+h(h)]RrӷubaRrԷhUOCTDPSrշh2Gh3h4hNh5jзh"}rַh7Nubh)r׷}rط(h U*Cofactor and Prosthetic Group Biosynthesisrٷh }rڷ(j Gj>Gj0GjTG?j%G?j6G?uhNhU*Octanoate non-lipoylated apo domain ligaser۷h,G@@h-Gh}rܷh/h)]rݷjaRr޷hUOCTNLLr߷h2Gh3h4hNh5Ub4386rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j4G?h)r}r(hNhNhU53-Hydroxyglutaryl-[acyl-carrier protein] methyl esterrh}rhU hgmeACP_crhUEhJhGhh)r}r(hNhUC17H29N2O11PRSrh}rh"}rh$}r(UCKUHKUOK UNKUPKUSKURKuhjubh&Uch"}rh(h)]RrubGj_qG?uhNhU-3-Oxo-glutaryl-[ACP] methyl ester dehydrataserh,G@@h-Gh}rh/h)]rj)aRrhUOGMEACPDrh2Gh3h4hNh5Ub0180rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jG?jCGj)G?h)r}r(hNhNhU23-Oxo-glutaryl-[acyl-carrier protein] methyl esterrh}rhU ogmeACP_crhUEhJhGhh)r}r(hNhUC17H27N2O11PRSrh}rh"}rh$}r(UCKUHKUOK UNKUPKUSKURKuhjubh&Uch"}r h(h)]Rr ubGj>GuhNhU+3-Oxo-glutaryl-[ACP] methyl ester reductaser h,G@@h-Gh}r h/h)]r j+aRrhUOGMEACPRrh2Gh3h4hNh5Ub1093rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j1-Gj>GjG?jG?j -G?jGuhNhU*3-Oxo-glutaryl-[ACP] methyl ester synthaserh,G@@h-Gh}rh/h)]rj8aRrhUOGMEACPSrh2Gh3h4hNh5Ub1091rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r (jGj2G?j$/G?h)r!}r"(hNhNhU"2-Oxo-3-hydroxy-4-phosphobutanoater#h}r$hUohpb_cr%hUEhJhGhh)r&}r'(hNhUC4H4O8Pr(h}r)h"}r*h$}r+(UHKUCKUOKUPKuhj(ubh&Uch"}r,h(h)]Rr-ubGuhNhU?O-Phospho-4-hydroxy-L-threonine:2-oxoglutarate aminotransferaser.h,G@@h-G@h}r/h/h)]r0j!)r1}r2(hNj!KhNhUb0907r3h}r4j!hj3hNhNj!Kh&Nh"}r5j!U+h(h)]Rr6ubaRr7hUOHPBATr8h2Gh3h4hNh5j3h"}r9h7Nubh)r:}r;(h U*Cofactor and Prosthetic Group Biosynthesisr<h }r=(j Gj>G?jGh)r>}r?(hNhNhU2-Octaprenyl-6-methoxyphenolr@h}rAhU2omph_crBhUEhKhGhh)rC}rD(hNhUC47H72O2rEh}rFh"}rGh$}rH(UHKHUCK/UOKuhjEubh&Uch"}rIh(h)]RrJubG?j9G?uhNhU&2-octaprenyl-6-hydroxyphenol methylaserKh,G@@h-Gh}rLh/h)]rMjiaRrNhUOHPHMrOh2Gh3h4hNh5Ub2232rPh"}rQh7Nubh)rR}rS(h U*Cofactor and Prosthetic Group BiosynthesisrTh }rU(h)rV}rW(hNhNhU&2-Octaprenyl-6-methoxy-1,4-benzoquinolrXh}rYhU2ombzl_crZhUEhKhGhh)r[}r\(hNhUC47H72O3r]h}r^h"}r_h$}r`(UHKHUCK/UOKuhj]ubh&Uch"}rah(h)]RrbubGh)rc}rd(hNhNhU02-Octaprenyl-3-methyl-6-methoxy- 1,4-benzoquinolreh}rfhU2ommbl_crghUEhKhGhh)rh}ri(hNhUC48H74O3rjh}rkh"}rlh$}rm(UHKJUCK0UOKuhjjubh&Uch"}rnh(h)]RroubG?j>G?jGj9G?uhNhU,2-Octaprenyl-6-methoxy-benzoquinol methylaserph,G@@h-Gh}rqh/h)]rrj;GaRrshUOMBZLMrth2Gh3h4hNh5Ub3833ruh"}rvh7Nubh)rw}rx(h U*Valine, Leucine, and Isoleucine Metabolismryh }rz(j>GjGj-G?j -G?uhNhU22-Oxo-4-methyl-3-carboxypentanoate decarboxylationr{h,G@@h-Gh}r|h/h)]r}jB4aRr~hUOMCDCrh2Gh3h4hNh5Us0001rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jiG?j*GjcGuhNhU;2-Octaprenyl-3-methyl-6-methoxy-1,4-benzoquinol hydroxylaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0662rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUOMMBLHXrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jG?j>G@jiG?j-G@j GjGj4GjG@jcGuhNhUG2-Octaprenyl-3-methyl-6-methoxy-1,4-benzoquinol hydroxylase (anaerobic)rh,G@@h-Gh}rh/h)]RrhUOMMBLHX3rh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(j>Gh)r}r(hNhNhUOrotidine 5'-phosphaterh}rhUorot5p_crhUEhJhGhh)r}r(hNhU C10H10N2O11Prh}rh"}rh$}r(UHK UCK UPKUOK UNKuhjubh&Uch"}rh(h)]RrubGj -G?j5G?uhNhU$orotidine-5'-phosphate decarboxylaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1281rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUOMPDCrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jVG?j*Gj>GuhNhU(2-octaprenyl-6-methoxyphenol hydroxylaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2907rh}r¸j!hjhNhNj!Kh&Nh"}røj!U+h(h)]RrĸubaRrŸhUOMPHHXrƸh2Gh3h4hNh5jh"}rǸh7Nubh)rȸ}rɸ(h U*Cofactor and Prosthetic Group Biosynthesisrʸh }r˸(jVG?j-G@j4Gj Gj>G@jGj>GjG@jG?uhNhU42-octaprenyl-6-methoxyphenol hydroxylase (anaerobic)r̸h,G@@h-Gh}r͸h/h)]RrθhUOMPHHX3rϸh2Gh3h4hNh5Uh"}rиh7Nubh)rѸ}rҸ(h UAlternate Carbon MetabolismrӸh }rԸ(j4GjGjG?uhNhU2-oxopent-4-enoate hydrataserոh,G@@h-Gh}rָh/h)]r׸j!)rظ}rٸ(hNj!KhNhUb0350rڸh}r۸j!hjڸhNhNj!Kh&Nh"}rܸj!U+h(h)]RrݸubaRr޸hUOP4ENHr߸h2Gh3h4hNh5jڸh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j]Gh)r}r(hNhNhU2-Octaprenylphenolrh}rhU2oph_crhUEhKhGhh)r}r(hNhUC46H70Orh}rh"}rh$}r(UHKFUCK.UOKuhjubh&Uch"}rh(h)]RrubG?j -G?j>GuhNhU(Octaprenyl-hydroxybenzoate decarboxylaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3843rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2311rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUOPHBDCrh2Gh3h4hNh5U(b3843 and b2311)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGj*Gj G?uhNhU2-Octaprenylphenol hydroxylaser h,G@@h-Gh}r h/h)]r j!)r }r (hNj!KhNhUb3835rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUOPHHXrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jG?j G?j GjGj>G@jGj4GjG@j-G@uhNhU*2-Octaprenylphenol hydroxylase (anaerobic)rh,G@@h-Gh}rh/h)]RrhUOPHHX3rh2Gh3h4hNh5Uh"}rh7Nube(h)r}r(h U*Cofactor and Prosthetic Group Biosynthesisr h }r!(j4G?jqG?h)r"}r#(hNhNhU53-Hydroxypimeloyl-[acyl-carrier protein] methyl esterr$h}r%hU hpmeACP_cr&hUEhJhGhh)r'}r((hNhUC19H33N2O11PRSr)h}r*h"}r+h$}r,(UCKUHK!UOK UNKUPKUSKURKuhj)ubh&Uch"}r-h(h)]Rr.ubGuhNhU-3-Oxo-pimeloyl-[ACP] methyl ester dehydrataser/h,G@@h-Gh}r0h/h)]r1j)aRr2hUOPMEACPDr3h2Gh3h4hNh5Ub0180r4h"}r5h7Nubh)r6}r7(h U*Cofactor and Prosthetic Group Biosynthesisr8h }r9(h)r:}r;(hNhNhU23-Oxo-pimeloyl-[acyl-carrier protein] methyl esterr<h}r=hU opmeACP_cr>hUEhJhGhh)r?}r@(hNhUC19H31N2O11PRSrAh}rBh"}rCh$}rD(UCKUHKUOK UNKUPKUSKURKuhjAubh&Uch"}rEh(h)]RrFubGj)G?j"G?j>GjCGuhNhU+3-Oxo-pimeloyl-[ACP] methyl ester reductaserGh,G@@h-Gh}rHh/h)]rIj+aRrJhUOPMEACPRrKh2Gh3h4hNh5Ub1093rLh"}rMh7Nubh)rN}rO(h U*Cofactor and Prosthetic Group BiosynthesisrPh }rQ(j -G?j>Gj$-G?jRqGj:G?j1-GuhNhU*3-Oxo-pimeloyl-[ACP] methyl ester synthaserRh,G@@h-Gh}rSh/h)]rTjG-aRrUhUOPMEACPSrVh2Gh3h4hNh5Ub2323rWh"}rXh7Nubh)rY}rZ(h UArginine and Proline Metabolismr[h }r\(j>Gj8GjG?j -G?uhNhUOrnithine Decarboxylaser]h,G@@h-Gh}r^h/h)]r_(j!)r`}ra(hNj!KhNhUb0693rbh}rcj!hjbhNhNj!Kh&Nh"}rdj!U+h(h)]Rreubj!)rf}rg(hNj!KhNhUb2965rhh}rij!hjhhNhNj!Kh&Nh"}rjj!U+h(h)]RrkubeRrlhUORNDCrmh2Gh3h4hNh5U(b2965 or b0693)rnh"}roh7Nubh)rp}rq(h UTransport, Inner Membranerrh }rs(j Gj>G?j-G?jsKGjG?j8G?j4GuhNhU.ornithine transport via ABC system (periplasm)rth,G@@h-Gh}ruh/h)]rv(j LjLjKj&LeRrwhUORNabcpprxh2Gh3h4hNh5U%(b2310 and b2307 and b2306 and b2308)ryh"}rzh7Nubh)r{}r|(h UTransport, Outer Membrane Porinr}h }r~(jwGjsKG?uhNhU>ornithine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUORNtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G@h)r}r(hNhNhUOrotaterh}rhUorot_prhUEhJhGhh)r}r(hNhUC5H3N2O4rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uph"}rh(h)]RrubGj"GjgG?uhNhU6Orotate transport via proton symport (2 H) (periplasm)rh,G@@h-Gh}rh/h)]rjNaRrhU OROTt2_2pprh2Gh3h4hNh5Ub3528rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhUGuhNhUOxalyl-CoA decarboxylaserӹh,G@@h-Gh}rԹh/h)]rչj!)rֹ}r׹(hNj!KhNhUb2373rعh}rٹj!hjعhNhNj!Kh&Nh"}rڹj!U+h(h)]Rr۹ubaRrܹhUOXCDCrݹh2Gh3h4hNh5jعh"}r޹h7Nubh)r߹}r(h UAlternate Carbon Metabolismrh }r(jCG?j)Gh)r}r(hNhNhU 2-oxepin-2(3H)-ylideneacetyl-CoArh}rhU 2oxpaccoa_crhUEhJhGhh)r}r(hNhUC29H38N7O18P3Srh}rh"}rh$}r(UCKUHK&UOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubGj>G@h)r}r(hNhNhU3-oxo-5,6-dehydrosuberyl-CoArh}rhU 3oxdhscoa_crhUEhJhGhh)r}r(hNhUC29H39N7O20P3Srh}rh"}rh$}r(UCKUHK'UOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubG?j4GuhNhUUoxepin-CoA hydrolase/ 3-oxo-5,6-dehydrosuberyl-CoA semialdehyde dehydrogenase (NADP+)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1387rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUOXCOAHDHrh2Gh3h4hNh5jh"}rh7Nubh)r }r (h UAlternate Carbon Metabolismr h }r (jGj eG?jG?jGuhNhU%3-oxo-5,6-dehydrosuberyl-CoA thiolaser h,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1394rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubjU.eRrhUOXDHCOATrh2Gh3h4hNh5U(b1394 and b1397)rh"}rh7Nubh)r}r(h UArginine and Proline Metabolismrh }r(jG?jG?j>G?jGj4GjˀGuhNhU'1-pyrroline-5-carboxylate dehydrogenaserh,G@@h-Gh}rh/h)]r j!)r!}r"(hNj!KhNhUb1014r#h}r$j!hj#hNhNj!Kh&Nh"}r%j!U+h(h)]Rr&ubaRr'hUP5CDr(h2Gh3h4hNh5j#h"}r)h7Nubh)r*}r+(h UArginine and Proline Metabolismr,h }r-(jG?jCGj)G?j>GjˀGuhNhU!pyrroline-5-carboxylate reductaser.h,G@@h-Gh}r/h/h)]r0j!)r1}r2(hNj!KhNhUb0386r3h}r4j!hj3hNhNj!Kh&Nh"}r5j!U+h(h)]Rr6ubaRr7hUP5CRr8h2Gh3h4hNh5j3h"}r9h7Nubh)r:}r;(h UTransport, Inner Membraner<h }r=(j@Gj Gj>G?j-G?jjWG?jG?j4GuhNhU;phosphatidate transport via ABC system (n-C12:0, periplasm)r>h,G@@h-Gh}r?h/h)]r@jZaRrAhU PA120abcpprBh2Gh3h4hNh5Ub0914rCh"}rDh7Nubh)rE}rF(h UTransport, Inner MembranerGh }rH(j GjWG?j>G?jH@Gj-G?jG?j4GuhNhU;phosphatidate transport via ABC system (n-C14:0, periplasm)rIh,G@@h-Gh}rJh/h)]rKjZaRrLhU PA140abcpprMh2Gh3h4hNh5Ub0914rNh"}rOh7Nubh)rP}rQ(h UTransport, Inner MembranerRh }rS(j GjWG?j>G?jz@Gj-G?jG?j4GuhNhU;phosphatidate transport via ABC system (n-C14:1, periplasm)rTh,G@@h-Gh}rUh/h)]rVjZaRrWhU PA141abcpprXh2Gh3h4hNh5Ub0914rYh"}rZh7Nubh)r[}r\(h UTransport, Inner Membraner]h }r^(j Gj-G?j>G?j@GjG?j4GjWG?uhNhU;phosphatidate transport via ABC system (n-C16:0, periplasm)r_h,G@@h-Gh}r`h/h)]rajZaRrbhU PA160abcpprch2Gh3h4hNh5Ub0914rdh"}reh7Nubh)rf}rg(h UTransport, Inner Membranerhh }ri(jXG?j@Gj>G?j4Gj GjG?j-G?uhNhU;phosphatidate transport via ABC system (n-C16:1, periplasm)rjh,G@@h-Gh}rkh/h)]rljZaRrmhU PA161abcpprnh2Gh3h4hNh5Ub0914roh"}rph7Nubh)rq}rr(h UTransport, Inner Membranersh }rt(j Gj>G?j-G?j3XG?jG?j@Gj4GuhNhU;phosphatidate transport via ABC system (n-C18:0, periplasm)ruh,G@@h-Gh}rvh/h)]rwjZaRrxhU PA180abcppryh2Gh3h4hNh5Ub0914rzh"}r{h7Nubh)r|}r}(h UTransport, Inner Membraner~h }r(j Gj-G?j>G?jAGjIXG?jG?j4GuhNhU;phosphatidate transport via ABC system (n-C18:1, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PA181abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?h)r}r(hNhNhUPhenylacetaldehyderh}rhUpacald_prhUEhKhGhh)r}r(hNhUC8H8Orh}rh"}rh$}r(UHKUCKUOKuhjubh&Uph"}rh(h)]RrubGj"GjDG?uhNhUFphenylacetaldehyde reversible transport via proton symport (periplasm)rh,G@@h-G@h}rh/h)]RrhU PACALDt2rpprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhUJphenethylacetaldehyde transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU PACALDtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhURing 1,2-epoxyphenylacetyl-CoArh}rhU rephaccoa_crhUEhJhGhh)r}r(hNhUC29H38N7O18P3Srh}rh"}rh$}r(UCKUHK&UOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubG?jCGj)G?j*Gj>Gh)r}r(hNhNhUPhenylacetyl-CoArh}rhU phaccoa_crhUEhJhGhh)r}r(hNhUC29H38N7O17P3Srh}rh"}rºh$}rú(UCKUHK&UOKUNKUPKUSKuhjubh&Uch"}rĺh(h)]RrźubGj4G?uhNhU+ring 1,2-phenylacetyl-CoA epoxidase (NADPH)rƺh,G@@h-Gh}rǺh/h)]rȺ(j!)rɺ}rʺ(hNj!KhNhUb1389r˺h}r̺j!hj˺hNhNj!Kh&Nh"}rͺj!U+h(h)]Rrκubj!)rϺ}rк(hNj!KhNhUb1390rѺh}rҺj!hjѺhNhNj!Kh&Nh"}rӺj!U+h(h)]RrԺubj!)rպ}rֺ(hNj!KhNhUb1391r׺h}rغj!hj׺hNhNj!Kh&Nh"}rٺj!U+h(h)]Rrںubj!)rۺ}rܺ(hNj!KhNhUb1392rݺh}r޺j!hjݺhNhNj!Kh&Nh"}rߺj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1388rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUPACCOAErh2Gh3h4hNh5U/(b1388 and b1389 and b1390 and b1391 and b1392)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j Gj)DGj%G?jTG?jG?jGuhNhUphenylacetate-CoA ligaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1398rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPACCOALrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j%G?j GjMGj>G?h)r}r(hNhNhU(R)-Pantothenaterh}rhU pnto__R_crhUEhJhGhh)r}r(hNhUC9H16NO5rh}rh"}rh$}r (UHKUCK UOKUNKuhjubh&Uch"}r h(h)]Rr ubG?jTG?j:kGuhNhUpantothenate synthaser h,G@@h-Gh}r h/h)]rj!)r}r(hNj!KhNhUb0133rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPANTSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j4Gj@Gj G?jG?uhNhU#Phosphatidate phosphatase (n-C12:0)rh,G@@h-Gh}rh/h)]rj!)r}r (hNj!KhNhUb1278r!h}r"j!hj!hNhNj!Kh&Nh"}r#j!U+h(h)]Rr$ubaRr%hUPAPA120r&h2Gh3h4hNh5j!h"}r'h7Nubh)r(}r)(h UGlycerophospholipid Metabolismr*h }r+(j G?j#GjjWGj+G?uhNhU0Phosphatidate phosphatase (periplasmic, n-C12:0)r,h,G@@h-Gh}r-h/h)]r.jaRr/hU PAPA120ppr0h2Gh3h4hNh5Ub1278r1h"}r2h7Nubh)r3}r4(h UGlycerophospholipid Metabolismr5h }r6(jG?jH@Gj G?j4GuhNhU#Phosphatidate phosphatase (n-C14:0)r7h,G@@h-Gh}r8h/h)]r9jaRr:hUPAPA140r;h2Gh3h4hNh5Ub1278r<h"}r=h7Nubh)r>}r?(h UGlycerophospholipid Metabolismr@h }rA(jWGj#Gj+G?j G?uhNhU0Phosphatidate phosphatase (periplasmic, n-C14:0)rBh,G@@h-Gh}rCh/h)]rDjaRrEhU PAPA140pprFh2Gh3h4hNh5Ub1278rGh"}rHh7Nubh)rI}rJ(h UGlycerophospholipid MetabolismrKh }rL(j G?jz@GjG?j4GuhNhU#Phosphatidate phosphatase (n-C14:1)rMh,G@@h-Gh}rNh/h)]rOjaRrPhUPAPA141rQh2Gh3h4hNh5Ub1278rRh"}rSh7Nubh)rT}rU(h UGlycerophospholipid MetabolismrVh }rW(j!G?jWGj#Gj+G?uhNhU0Phosphatidate phosphatase (periplasmic, n-C14:1)rXh,G@@h-Gh}rYh/h)]rZjaRr[hU PAPA141ppr\h2Gh3h4hNh5Ub1278r]h"}r^h7Nubh)r_}r`(h UGlycerophospholipid Metabolismrah }rb(jG?j@Gj4Gj*!G?uhNhU#Phosphatidate phosphatase (n-C16:0)rch,G@@h-Gh}rdh/h)]rejaRrfhUPAPA160rgh2Gh3h4hNh5Ub1278rhh"}rih7Nubh)rj}rk(h UGlycerophospholipid Metabolismrlh }rm(j+G?j!G?jWGj#GuhNhU0Phosphatidate phosphatase (periplasmic, n-C16:0)rnh,G@@h-Gh}roh/h)]rpjaRrqhU PAPA160pprrh2Gh3h4hNh5Ub1278rsh"}rth7Nubh)ru}rv(h UGlycerophospholipid Metabolismrwh }rx(j@!G?jG?j@Gj4GuhNhU#Phosphatidate phosphatase (n-C16:1)ryh,G@@h-Gh}rzh/h)]r{jaRr|hUPAPA161r}h2Gh3h4hNh5Ub1278r~h"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jXGj#GjM!G?j+G?uhNhU0Phosphatidate phosphatase (periplasmic, n-C16:1)rh,G@@h-Gh}rh/h)]rjaRrhU PAPA161pprh2Gh3h4hNh5Ub1278rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jp!G?j@GjG?j4GuhNhU#Phosphatidate phosphatase (n-C18:0)rh,G@@h-Gh}rh/h)]rjaRrhUPAPA180rh2Gh3h4hNh5Ub1278rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j3XGj#Gj+G?jc!G?uhNhU0Phosphatidate phosphatase (periplasmic, n-C18:0)rh,G@@h-Gh}rh/h)]rjaRrhU PAPA180pprh2Gh3h4hNh5Ub1278rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jAGj4GjG?j!G?uhNhU#Phosphatidate phosphatase (n-C18:1)rh,G@@h-Gh}rh/h)]rjaRrhUPAPA181rh2Gh3h4hNh5Ub1278rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j#GjIXGj!G?j+G?uhNhU0Phosphatidate phosphatase (periplasmic, n-C18:1)rh,G@@h-Gh}rh/h)]rjaRrhU PAPA181pprh2Gh3h4hNh5Ub1278rh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j5G?j5Gh)r}r(hNhNhUTUDP-N-acetylmuramoyl-L-alanyl-D-glutamyl-meso-2,6-diaminopimeloyl-D-alanyl-D-alaninerh}rhUugmda_crhUEhJhGhh)r}r(hNhU C41H61N9O28P2r»h}rûh"}rĻh$}rŻ(UHK=UCK)UPKUOKUNK uhj»ubh&Uch"}rƻh(h)]RrǻubGh)rȻ}rɻ(hNhNhUgUndecaprenyl-diphospho-N-acetylmuramoyl-L-alanyl-D-glutamyl-meso-2,6-diaminopimeloyl-D-alanyl-D-alaninerʻh}r˻hUuagmda_cr̻hUEhJhGhh)rͻ}rλ(hNhUC87H139N7O23P2rϻh}rлh"}rѻh$}rһ(UHKUCKWUPKUOKUNKuhjϻubh&Uch"}rӻh(h)]RrԻubG?uhNhULphospho-N-acetylmuramoyl-pentapeptide-transferase (meso-2,6-diaminopimelate)rջh,G@@h-Gh}rֻh/h)]r׻j!)rػ}rٻ(hNj!KhNhUb0087rڻh}rۻj!hjڻhNhNj!Kh&Nh"}rܻj!U+h(h)]RrݻubaRr޻hUPAPPT3r߻h2Gh3h4hNh5jڻh"}rh7Nubh)r}r(h UCysteine Metabolismrh }r(j>G@jlG?jlGj=Gj]G?j:G?uhNhU/phosphoadenylyl-sulfate reductase (thioredoxin)rh,G@@h-Gh}rh/h)]r(j.lj!)r}r(hNj!KhNhUb2762rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj:leRrhUPAPSRrh2Gh3h4hNh5U(((b2762 and b2582) or (b2762 and b3781))rh"}rh7Nubh)r}r(h UCysteine Metabolismrh }r(jFG?jRGj>G@j:G?j]G?j=GuhNhU0phosphoadenylyl-sulfate reductase (glutaredoxin)rh,G@@h-Gh}rh/h)]r(jhjnjj`OjbeRrhUPAPSR2rh2Gh3h4hNh5UR((b2762 and b0849) or (b2762 and b1064) or (b2762 and b1654) or (b2762 and b3610))rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j>G?j<Gj4Gj%G?uhNhU)3',5'-cyclic-nucleotide phosphodiesteraserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1489rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rr ubaRr hUPDE1r h2Gh3h4hNh5jh"}r h7Nubh)r }r(h UNucleotide Salvage Pathwayrh }r(jƏGj/=G?j>G?j4GuhNhU)3',5'-cyclic-nucleotide phosphodiesteraserh,G@@h-Gh}rh/h)]rjaRrhUPDE4rh2Gh3h4hNh5Ub1489rh"}rh7Nubh)r}r(h UGlycolysis/Gluconeogenesisrh }r(jG?j -G?j5GjG?jGjGuhNhUpyruvate dehydrogenaserh,G@@h-Gh}rh/h)]r(j!)r}r (hNj!KhNhUb0114r!h}r"j!hj!hNhNj!Kh&Nh"}r#j!U+h(h)]Rr$ubj!)r%}r&(hNj!KhNhUb0115r'h}r(j!hj'hNhNj!Kh&Nh"}r)j!U+h(h)]Rr*ubjAeRr+hUPDHr,h2Gh3h4hNh5U(b0114 and b0115 and b0116)r-h"}r.h7Nubh)r/}r0(h U*Cofactor and Prosthetic Group Biosynthesisr1h }r2(jG?jGjG?j>G?h)r3}r4(hNhNhUPyridoxine 5'-phosphater5h}r6hUpdx5p_cr7hUEhJhGhh)r8}r9(hNhU C8H10NO6Pr:h}r;h"}r<h$}r=(UHK UCKUPKUOKUNKuhj:ubh&Uch"}r>h(h)]Rr?ubGuhNhU*pyridoxine 5'-phosphate oxidase (anaerboicr@h,G@@h-Gh}rAh/h)]RrBhUPDX5PO2rCh2Gh3h4hNh5Uh"}rDh7Nubh)rE}rF(h U*Cofactor and Prosthetic Group BiosynthesisrGh }rH(j1G?j*GjG?j3GuhNhUpyridoxine 5'-phosphate oxidaserIh,G@@h-Gh}rJh/h)]rKj!)rL}rM(hNj!KhNhUb1638rNh}rOj!hjNhNhNj!Kh&Nh"}rPj!U+h(h)]RrQubaRrRhUPDX5POirSh2Gh3h4hNh5jNh"}rTh7Nubh)rU}rV(h U*Cofactor and Prosthetic Group BiosynthesisrWh }rX(jG?j -G?jGj4G@jmGj>G?j3G?jG?j$/GuhNhU Pyridoxine 5'-phosphate synthaserYh,G@@h-Gh}rZh/h)]r[(j!)r\}r](hNj!KhNhUb2564r^h}r_j!hj^hNhNj!Kh&Nh"}r`j!U+h(h)]Rraubj!)rb}rc(hNj!KhNhUb0052rdh}rej!hjdhNhNj!Kh&Nh"}rfj!U+h(h)]RrgubeRrhhUPDX5PSrih2Gh3h4hNh5U(b0052 and b2564)rjh"}rkh7Nubh)rl}rm(h U*Cofactor and Prosthetic Group Biosynthesisrnh }ro(j4Gj3GjG?h)rp}rq(hNhNhU Pyridoxinerrh}rshUpydxn_crthUEhKhGhh)ru}rv(hNhUC8H11NO3rwh}rxh"}ryh$}rz(UHK UCKUOKUNKuhjwubh&Uch"}r{h(h)]Rr|ubG?uhNhU"Pyridoxine 5-phosphate phosphataser}h,G@@h-Gh}r~h/h)]rj!)r}r(hNj!KhNhUb0766rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPDXPPrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj-G?h)r}r(hNhNhU0phosphatidylethanolamine (didodecanoyl, n-C12:0)rh}rhUpe120_prhUEhKhGhh)r}r(hNhU C29H58N1O8P1rh}rh"}rh$}r(UHK:UCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubG?j>G?j%GjG?j4GuhNhUFphosphatidylethanolamine transport via ABC system (n-C12:0, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PE120abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gh)r}r(hNhNhU3phosphatidylethanolamine (ditetradecanoyl, n-C14:0)rh}rhUpe140_prhUEhKhGhh)r}r(hNhU C33H66N1O8P1rh}rh"}rh$}r(UHKBUCK!UPKUOKUNKuhjubh&Uph"}rh(h)]RrubG?j>G?j4GjG?j%Gj-G?uhNhUFphosphatidylethanolamine transport via ABC system (n-C14:0, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PE140abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj>G?h)r}r(hNhNhU6phosphatidylethanolamine (ditetradec-7-enoyl, n-C14:1)rh}rhUpe141_prhUEhKhGhh)r¼}rü(hNhU C33H62N1O8P1rļh}rżh"}rƼh$}rǼ(UHK>UCK!UPKUOKUNKuhjļubh&Uph"}rȼh(h)]RrɼubG?j-G?jG?j%Gj4GuhNhUFphosphatidylethanolamine transport via ABC system (n-C14:1, periplasm)rʼh,G@@h-Gh}r˼h/h)]r̼jZaRrͼhU PE141abcpprμh2Gh3h4hNh5Ub0914rϼh"}rмh7Nubh)rѼ}rҼ(h UTransport, Inner MembranerӼh }rԼ(j GjG?j>G?j-G?jGjG?j4GuhNhUFphosphatidylethanolamine transport via ABC system (n-C16:0, periplasm)rռh,G@@h-Gh}rּh/h)]r׼jZaRrؼhU PE160abcpprټh2Gh3h4hNh5Ub0914rڼh"}rۼh7Nubh)rܼ}rݼ(h UTransport, Inner Membraner޼h }r߼(j>G?j GjG?jGj-G?jG?j4GuhNhUFphosphatidylethanolamine transport via ABC system (n-C16:1, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PE161abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jO&Gj Gj>G?jG?j4Gh)r}r(hNhNhU2phosphatidylethanolamine (dioctadecanoyl, n-C18:0)rh}rhUpe180_prhUEhKhGhh)r}r(hNhU C41H82N1O8P1rh}rh"}rh$}r(UHKRUCK)UPKUOKUNKuhjubh&Uph"}rh(h)]RrubG?j-G?uhNhUFphosphatidylethanolamine transport via ABC system (n-C18:0, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PE180abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj>G?j4GjGjG?jG?j-G?uhNhUFphosphatidylethanolamine transport via ABC system (n-C18:1, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PE181abcpprh2Gh3h4hNh5Ub0914rh"}r h7Nubh)r }r (h UNitrogen Metabolismr h }r (h)r}r(hNhNhUPhenethylaminerh}rhUpeamn_prhUEhKhGhh)r}r(hNhUC8H12Nrh}rh"}rh$}r(UHK UCKUNKuhjubh&Uph"}rh(h)]RrubGj.G?j.G?jG?j#Gj.GuhNhUPhenethylamine oxidaserh,G@@h-Gh}rh/h)]rj.aRrhUPEAMNOpprh2Gh3h4hNh5Ub1386r h"}r!h7Nubh)r"}r#(h UTransport, Outer Membrane Porinr$h }r%(jGjG?uhNhUCphenethylamine transport via diffusion (extracellular to periplasm)r&h,G@@h-G@h}r'h/h)]r((j!j!j!j!eRr)hUPEAMNtexr*h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r+h"}r,h7Nubh)r-}r.(h U*Cofactor and Prosthetic Group Biosynthesisr/h }r0(jnGj!G?j>G?jGjG?uhNhU,Erythronate 4-phosphate (4per) dehydrogenaser1h,G@@h-G@h}r2h/h)]r3j!)r4}r5(hNj!KhNhUb2320r6h}r7j!hj6hNhNj!Kh&Nh"}r8j!U+h(h)]Rr9ubaRr:hUPERDr;h2Gh3h4hNh5j6h"}r<h7Nubh)r=}r>(h U+Lipopolysaccharide Biosynthesis / Recyclingr?h }r@(jGjwqG?jGjM!G?uhNhU)phosphoethanolamine transferase (c-C16:1)rAh,G@@h-Gh}rBh/h)]rCj!)rD}rE(hNj!KhNhUb3546rFh}rGj!hjFhNhNj!Kh&Nh"}rHj!U+h(h)]RrIubaRrJhU PETNT161pprKh2Gh3h4hNh5jFh"}rLh7Nubh)rM}rN(h U+Lipopolysaccharide Biosynthesis / RecyclingrOh }rP(jwqG?jGj!G?jGuhNhU)phosphoethanolamine transferase (c-C16:1)rQh,G@@h-Gh}rRh/h)]rSjDaRrThU PETNT181pprUh2Gh3h4hNh5Ub3546rVh"}rWh7Nubh)rX}rY(h UGlycolysis/GluconeogenesisrZh }r[(j Gj-G?jWEGj>G?jEuG?uhNhUphosphofructokinaser\h,G@@h-Gh}r]h/h)]r^(j!)r_}r`(hNj!KhNhUb3916rah}rbj!hjahNhNj!Kh&Nh"}rcj!U+h(h)]Rrdubj!)re}rf(hNj!KhNhUb1723rgh}rhj!hjghNhNj!Kh&Nh"}rij!U+h(h)]RrjubeRrkhUPFKrlh2Gh3h4hNh5U(b3916 or b1723)rmh"}rnh7Nubh)ro}rp(h UAlternate Carbon Metabolismrqh }rr(j Gj-G?j>G?h)rs}rt(hNhNhUD-Tagatose 1,6-biphosphateruh}rvhU tagdp__D_crwhUEhJhGhh)rx}ry(hNhU C6H10O12P2rzh}r{h"}r|h$}r}(UHK UCKUOK UPKuhjzubh&Uch"}r~h(h)]RrubG?jGuhNhUPhosphofructokinaserh,G@@h-Gh}rh/h)]rj_aRrhUPFK_2rh2Gh3h4hNh5Ub3916rh"}rh7Nubh)r}r(h UPentose Phosphate Pathwayrh }r(j Gj>G?h)r}r(hNhNhUSedoheptulose 7-phosphaterh}rhUs7p_crhUEhJhGhh)r}r(hNhU C7H13O10Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Uch"}rh(h)]RrubGj-G?jouG?uhNhUphosphofructokinase (s7p)rh,G@@h-Gh}rh/h)]rj_aRrhUPFK_3rh2Gh3h4hNh5Ub3916rh"}rh7Nubh)r}r(h UPyruvate Metabolismrh }r(jHGG?jG?j5GjGuhNhUpyruvate formate lyaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3952rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubjyjjsj!)r}r(hNj!KhNhUb3951rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubjeRrhUPFLrh2Gh3h4hNh5U^((b0902 and b0903) or (b0902 and b3114) or (b3951 and b3952) or ((b0902 and b0903) and b2579))rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj'Gj>G?j]WG?j4Gj-G?jG?uhNhUBphosphatidylglycerol transport via ABC system (n-C12:0, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PG120abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r½(h UTransport, Inner Membranerýh }rĽ(j Gj>G?jWG?j-G?j'GjG?j4GuhNhUBphosphatidylglycerol transport via ABC system (n-C14:0, periplasm)rŽh,G@@h-Gh}rƽh/h)]rǽjZaRrȽhU PG140abcpprɽh2Gh3h4hNh5Ub0914rʽh"}r˽h7Nubh)r̽}rͽ(h UTransport, Inner Membranerνh }rϽ(j Gj'Gj>G?jWG?jG?j4Gj-G?uhNhUBphosphatidylglycerol transport via ABC system (n-C14:1, periplasm)rнh,G@@h-Gh}rѽh/h)]rҽjZaRrӽhU PG141abcpprԽh2Gh3h4hNh5Ub0914rսh"}rֽh7Nubh)r׽}rؽ(h UTransport, Inner Membranerٽh }rڽ(j Gj>G?j4GjG?jGjG?j-G?uhNhUBphosphatidylglycerol transport via ABC system (n-C16:0, periplasm)r۽h,G@@h-Gh}rܽh/h)]rݽjZaRr޽hU PG160abcppr߽h2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj>G?jGj-G?jG?jG?j4GuhNhUBphosphatidylglycerol transport via ABC system (n-C16:1, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PG161abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j'Gj Gj&XG?j>G?j4GjG?j-G?uhNhUBphosphatidylglycerol transport via ABC system (n-C18:0, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PG180abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj>G?hG?jGj-G?jG?j4GuhNhUBphosphatidylglycerol transport via ABC system (n-C18:1, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PG181abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j(~Gj}>G?uhNhUphosphoglucosamine mutaserh,G@@h-G@h}rh/h)]r j!)r }r (hNj!KhNhUb3176r h}r j!hj hNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPGAMTrh2Gh3h4hNh5j h"}rh7Nubh)r}r(h UGlycine and Serine Metabolismrh }r(jG?jGjGj>G?h)r}r(hNhNhU3-Phosphohydroxypyruvaterh}rhU3php_crhUEhJhGhh)r}r(hNhUC3H2O7Prh}rh"}r h$}r!(UHKUCKUOKUPKuhjubh&Uch"}r"h(h)]Rr#ubG?uhNhUphosphoglycerate dehydrogenaser$h,G@@h-Gh}r%h/h)]r&j!)r'}r((hNj!KhNhUb2913r)h}r*j!hj)hNhNj!Kh&Nh"}r+j!U+h(h)]Rr,ubaRr-hUPGCDr.h2Gh3h4hNh5j)h"}r/h7Nubh)r0}r1(h UGlycolysis/Gluconeogenesisr2h }r3(j1GjWEG?uhNhUglucose-6-phosphate isomeraser4h,G@@h-G@h}r5h/h)]r6j!)r7}r8(hNj!KhNhUb4025r9h}r:j!hj9hNhNj!Kh&Nh"}r;j!U+h(h)]Rr<ubaRr=hUPGIr>h2Gh3h4hNh5j9h"}r?h7Nubh)r@}rA(h UGlycolysis/GluconeogenesisrBh }rC(j GjGj-G?jEG?uhNhUphosphoglycerate kinaserDh,G@@h-G@h}rEh/h)]rFj!)rG}rH(hNj!KhNhUb2926rIh}rJj!hjIhNhNj!Kh&Nh"}rKj!U+h(h)]RrLubaRrMhUPGKrNh2Gh3h4hNh5jIh"}rOh7Nubh)rP}rQ(h UPentose Phosphate PathwayrRh }rS(j4GjpG?jGj>G?uhNhU6-phosphogluconolactonaserTh,G@@h-Gh}rUh/h)]rVj!)rW}rX(hNj!KhNhUb0767rYh}rZj!hjYhNhNj!Kh&Nh"}r[j!U+h(h)]Rr\ubaRr]hUPGLr^h2Gh3h4hNh5jYh"}r_h7Nubh)r`}ra(h UAlternate Carbon Metabolismrbh }rc(h)rd}re(hNhNhU2-Phosphoglycolaterfh}rghU2pglyc_crhhUEhJhGhh)ri}rj(hNhUC2H2O6Prkh}rlh"}rmh$}rn(UHKUCKUOKUPKuhjkubh&Uch"}roh(h)]RrpubGjG?jG?j4GuhNhUPhosphoglycolate phosphataserqh,G@@h-Gh}rrh/h)]rsj!)rt}ru(hNj!KhNhUb3385rvh}rwj!hjvhNhNj!Kh&Nh"}rxj!U+h(h)]RryubaRrzhUPGLYCPr{h2Gh3h4hNh5jvh"}r|h7Nubh)r}}r~(h UGlycolysis/Gluconeogenesisrh }r(jqGjG?uhNhUphosphoglycerate mutaserh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb4395rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3612rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0755rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUPGMrh2Gh3h4hNh5U(b3612 or b4395 or b0755)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jo~Gj1G?uhNhUphosphoglucomutaserh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb0688rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2690rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUPGMTrh2Gh3h4hNh5U(b2690 or b0688)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gh)r}r(hNhNhU4Phosphatidylglycerophosphate (didodecanoyl, n-C12:0)rh}rhUpgp120_prhUEhJhGhh)r}r(hNhU C30H57O13P2rh}rh"}rh$}r(UHK9UCKUOK UPKuhjubh&Uph"}rh(h)]RrubG?j-G?j>G?h)r¾}rþ(hNhNhU4Phosphatidylglycerophosphate (didodecanoyl, n-C12:0)rľh}ržhUpgp120_crƾhUEhJhGhh)rǾ}rȾ(hNhU C30H57O13P2rɾh}rʾh"}r˾h$}r̾(UHK9UCKUOK UPKuhjɾubh&Uch"}r;h(h)]RrξubGjG?j4GuhNhUJphosphatidylglycerophosphate transport via ABC system (n-C12:0, periplasm)rϾh,G@@h-Gh}rоh/h)]rѾjZaRrҾhU PGP120abcpprӾh2Gh3h4hNh5Ub0914rԾh"}rվh7Nubh)r־}r׾(h UTransport, Inner Membranerؾh }rپ(j Gj-G?j>G?h)rھ}r۾(hNhNhU7Phosphatidylglycerophosphate (ditetradecanoyl, n-C14:0)rܾh}rݾhUpgp140_cr޾hUEhJhGhh)r߾}r(hNhU C34H65O13P2rh}rh"}rh$}r(UHKAUCK"UOK UPKuhjubh&Uch"}rh(h)]RrubGjG?j4Gh)r}r(hNhNhU7Phosphatidylglycerophosphate (ditetradecanoyl, n-C14:0)rh}rhUpgp140_prhUEhJhGhh)r}r(hNhU C34H65O13P2rh}rh"}rh$}r(UHKAUCK"UOK UPKuhjubh&Uph"}rh(h)]RrubG?uhNhUJphosphatidylglycerophosphate transport via ABC system (n-C14:0, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PGP140abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gh)r}r(hNhNhU:Phosphatidylglycerophosphate (ditetradec-7-enoyl, n-C14:1)rh}rhUpgp141_prhUEhJhGhh)r}r(hNhU C34H61O13P2rh}rh"}rh$}r (UHK=UCK"UOK UPKuhjubh&Uph"}r h(h)]Rr ubG?j>G?j4GjG?j-G?h)r }r (hNhNhU:Phosphatidylglycerophosphate (ditetradec-7-enoyl, n-C14:1)rh}rhUpgp141_crhUEhJhGhh)r}r(hNhU C34H61O13P2rh}rh"}rh$}r(UHK=UCK"UOK UPKuhjubh&Uch"}rh(h)]RrubGuhNhUJphosphatidylglycerophosphate transport via ABC system (n-C14:1, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PGP141abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r }r!(h UTransport, Inner Membraner"h }r#(j Gh)r$}r%(hNhNhU6Phosphatidylglycerophosphate (dihexadecanoyl, n-C16:0)r&h}r'hUpgp160_cr(hUEhJhGhh)r)}r*(hNhU C38H73O13P2r+h}r,h"}r-h$}r.(UHKIUCK&UOK UPKuhj+ubh&Uch"}r/h(h)]Rr0ubGj>G?j-G?jG?j4Gh)r1}r2(hNhNhU6Phosphatidylglycerophosphate (dihexadecanoyl, n-C16:0)r3h}r4hUpgp160_pr5hUEhJhGhh)r6}r7(hNhU C38H73O13P2r8h}r9h"}r:h$}r;(UHKIUCK&UOK UPKuhj8ubh&Uph"}r<h(h)]Rr=ubG?uhNhUJphosphatidylglycerophosphate transport via ABC system (n-C16:0, periplasm)r>h,G@@h-Gh}r?h/h)]r@jZaRrAhU PGP160abcpprBh2Gh3h4hNh5Ub0914rCh"}rDh7Nubh)rE}rF(h UTransport, Inner MembranerGh }rH(j Gj>G?h)rI}rJ(hNhNhU9Phosphatidylglycerophosphate (dihexadec-9-enoyl, n-C16:1)rKh}rLhUpgp161_prMhUEhJhGhh)rN}rO(hNhU C38H69O13P2rPh}rQh"}rRh$}rS(UHKEUCK&UOK UPKuhjPubh&Uph"}rTh(h)]RrUubG?h)rV}rW(hNhNhU9Phosphatidylglycerophosphate (dihexadec-9-enoyl, n-C16:1)rXh}rYhUpgp161_crZhUEhJhGhh)r[}r\(hNhU C38H69O13P2r]h}r^h"}r_h$}r`(UHKEUCK&UOK UPKuhj]ubh&Uch"}rah(h)]RrbubGj-G?jG?j4GuhNhUJphosphatidylglycerophosphate transport via ABC system (n-C16:1, periplasm)rch,G@@h-Gh}rdh/h)]rejZaRrfhU PGP161abcpprgh2Gh3h4hNh5Ub0914rhh"}rih7Nubh)rj}rk(h UTransport, Inner Membranerlh }rm(j Gh)rn}ro(hNhNhU6Phosphatidylglycerophosphate (dioctadecanoyl, n-C18:0)rph}rqhUpgp180_prrhUEhJhGhh)rs}rt(hNhU C42H81O13P2ruh}rvh"}rwh$}rx(UHKQUCK*UOK UPKuhjuubh&Uph"}ryh(h)]RrzubG?h)r{}r|(hNhNhU6Phosphatidylglycerophosphate (dioctadecanoyl, n-C18:0)r}h}r~hUpgp180_crhUEhJhGhh)r}r(hNhU C42H81O13P2rh}rh"}rh$}r(UHKQUCK*UOK UPKuhjubh&Uch"}rh(h)]RrubGj>G?j-G?jG?j4GuhNhUJphosphatidylglycerophosphate transport via ABC system (n-C18:0, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PGP180abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj-G?h)r}r(hNhNhU:Phosphatidylglycerophosphate (dioctadec-11-enoyl, n-C18:1)rh}rhUpgp181_prhUEhJhGhh)r}r(hNhU C42H77O13P2rh}rh"}rh$}r(UHKMUCK*UOK UPKuhjubh&Uph"}rh(h)]RrubG?j>G?jG?j4Gh)r}r(hNhNhU:Phosphatidylglycerophosphate (dioctadec-11-enoyl, n-C18:1)rh}rhUpgp181_crhUEhJhGhh)r}r(hNhU C42H77O13P2rh}rh"}rh$}r(UHKMUCK*UOK UPKuhjubh&Uch"}rh(h)]RrubGuhNhUJphosphatidylglycerophosphate transport via ABC system (n-C18:1, periplasm)rh,G@@h-Gh}rh/h)]rjZaRrhU PGP181abcpprh2Gh3h4hNh5Ub0914rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?j'G?j4Gj¾GuhNhU4phosphatidylglycerol phosphate phosphatase (n-C14:0)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0418rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubjeRrhUPGPP120r¿h2Gh3h4hNh5U(b1278 or b0418)rÿh"}rĿh7Nubh)rſ}rƿ(h UGlycerophospholipid Metabolismrǿh }rȿ(j]WG?j#Gj+G?jGuhNhU?phosphatidylglycerol phosphate phosphatase (periplasm, n-C14:0)rɿh,G@@h-Gh}rʿh/h)]r˿(jjeRr̿hU PGPP120pprͿh2Gh3h4hNh5U(b0418 or b1278)rοh"}rϿh7Nubh)rп}rѿ(h UGlycerophospholipid Metabolismrҿh }rӿ(jھGj'G?j4GjG?uhNhU4phosphatidylglycerol phosphate phosphatase (n-C14:0)rԿh,G@@h-Gh}rտh/h)]rֿ(jjeRr׿hUPGPP140rؿh2Gh3h4hNh5U(b1278 or b0418)rٿh"}rڿh7Nubh)rۿ}rܿ(h UGlycerophospholipid Metabolismrݿh }r޿(jWG?jGj+G?j#GuhNhU?phosphatidylglycerol phosphate phosphatase (periplasm, n-C14:0)r߿h,G@@h-Gh}rh/h)]r(jjeRrhU PGPP140pprh2Gh3h4hNh5U(b0418 or b1278)rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j'G?j4Gj GjG?uhNhU4phosphatidylglycerol phosphate phosphatase (n-C14:1)rh,G@@h-Gh}rh/h)]r(jjeRrhUPGPP141rh2Gh3h4hNh5U(b1278 or b0418)rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jWG?j+G?j#GjGuhNhU?phosphatidylglycerol phosphate phosphatase (periplasm, n-C14:1)rh,G@@h-Gh}rh/h)]r(jjeRrhU PGPP141pprh2Gh3h4hNh5U(b0418 or b1278)rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j$GjG?jG?j4GuhNhU4phosphatidylglycerol phosphate phosphatase (n-C16:0)rh,G@@h-Gh}rh/h)]r(jjeRrhUPGPP160rh2Gh3h4hNh5U(b0418 or b1278)rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismr h }r (j1GjG?j+G?j#GuhNhU?phosphatidylglycerol phosphate phosphatase (periplasm, n-C16:0)r h,G@@h-Gh}r h/h)]r (jjeRrhU PGPP160pprh2Gh3h4hNh5U(b0418 or b1278)rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?j4GjVGjG?uhNhU4phosphatidylglycerol phosphate phosphatase (n-C16:1)rh,G@@h-Gh}rh/h)]r(jjeRrhUPGPP161rh2Gh3h4hNh5U(b1278 or b0418)rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r (jIGj+G?j#GjG?uhNhU?phosphatidylglycerol phosphate phosphatase (periplasm, n-C16:1)r!h,G@@h-Gh}r"h/h)]r#(jjeRr$hU PGPP161ppr%h2Gh3h4hNh5U(b0418 or b1278)r&h"}r'h7Nubh)r(}r)(h UGlycerophospholipid Metabolismr*h }r+(j{Gj4Gj'G?jG?uhNhU4phosphatidylglycerol phosphate phosphatase (n-C18:0)r,h,G@@h-Gh}r-h/h)]r.(jjeRr/hUPGPP180r0h2Gh3h4hNh5U(b0418 or b1278)r1h"}r2h7Nubh)r3}r4(h UGlycerophospholipid Metabolismr5h }r6(jnGj&XG?j+G?j#GuhNhU?phosphatidylglycerol phosphate phosphatase (periplasm, n-C18:0)r7h,G@@h-Gh}r8h/h)]r9(jjeRr:hU PGPP180ppr;h2Gh3h4hNh5U(b0418 or b1278)r<h"}r=h7Nubh)r>}r?(h UGlycerophospholipid Metabolismr@h }rA(jGj4GjG?jG?uhNhU4phosphatidylglycerol phosphate phosphatase (n-C18:1)rBh,G@@h-Gh}rCh/h)]rD(jjeRrEhUPGPP181rFh2Gh3h4hNh5U(b1278 or b0418)rGh"}rHh7Nubh)rI}rJ(h UGlycerophospholipid MetabolismrKh }rL(j#GhG?j+G?jGuhNhU?phosphatidylglycerol phosphate phosphatase (periplasm, n-C18:1)rMh,G@@h-Gh}rNh/h)]rO(jjeRrPhU PGPP181pprQh2Gh3h4hNh5U(b0418 or b1278)rRh"}rSh7Nubh)rT}rU(h UGlycerophospholipid MetabolismrVh }rW(j>G?jTGj TG?jHGj¾G?uhNhU'Phosphatidylglycerol synthase (n-C12:0)rXh,G@@h-Gh}rYh/h)]rZj!)r[}r\(hNj!KhNhUb1912r]h}r^j!hj]hNhNj!Kh&Nh"}r_j!U+h(h)]Rr`ubaRrahUPGSA120rbh2Gh3h4hNh5j]h"}rch7Nubh)rd}re(h UGlycerophospholipid Metabolismrfh }rg(j>G?jھG?j TG?jHGj5TGuhNhU'Phosphatidylglycerol synthase (n-C14:0)rhh,G@@h-Gh}rih/h)]rjj[aRrkhUPGSA140rlh2Gh3h4hNh5Ub1912rmh"}rnh7Nubh)ro}rp(h UGlycerophospholipid Metabolismrqh }rr(jHGj TG?jMTGj>G?j G?uhNhU'Phosphatidylglycerol synthase (n-C14:1)rsh,G@@h-Gh}rth/h)]ruj[aRrvhUPGSA141rwh2Gh3h4hNh5Ub1912rxh"}ryh7Nubh)rz}r{(h UGlycerophospholipid Metabolismr|h }r}(jHGj TG?jeTGj>G?j$G?uhNhU'Phosphatidylglycerol synthase (n-C16:0)r~h,G@@h-Gh}rh/h)]rj[aRrhUPGSA160rh2Gh3h4hNh5Ub1912rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j}TGj>G?j TG?jVG?jHGuhNhU'Phosphatidylglycerol synthase (n-C16:1)rh,G@@h-Gh}rh/h)]rj[aRrhUPGSA161rh2Gh3h4hNh5Ub1912rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j>G?jHGjTGj TG?j{G?uhNhU'Phosphatidylglycerol synthase (n-C18:0)rh,G@@h-Gh}rh/h)]rj[aRrhUPGSA180rh2Gh3h4hNh5Ub1912rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j>G?j TG?jHGjTGjG?uhNhU'Phosphatidylglycerol synthase (n-C18:1)rh,G@@h-Gh}rh/h)]rj[aRrhUPGSA181rh2Gh3h4hNh5Ub1912rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj-G?j:Gj>G?h)r}r(hNhNhU Protohemerh}rhUpheme_prhUEhJhGhh)r}r(hNhU C34H30FeN4O4rh}rh"}rh$}r(UHKUCK"UFeKUOKUNKuhjubh&Uph"}rh(h)]RrubG?jG?j4GuhNhU.protoheme transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2200rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2199rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2198rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2197rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2201rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhU PHEMEabcpprh2Gh3h4hNh5U/(b2201 and b2200 and b2199 and b2198 and b2197)rh"}rh7Nubh)r}r(h UTransport, Outer Membranerh }r(jG?jGuhNhUOprotoheme transport irreversible out via diffusion (periplasm to extracellular)rh,G@@h-Gh}rh/h)]RrhU PHEMEtiexrh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(jNGj2GjG?h)r}r(hNhNhUPhenylpyruvaterh}rhUphpyr_crhUEhJhGhh)r}r(hNhUC9H7O3rh}rh"}rh$}r(UHKUCK UOKuhjubh&Uch"}rh(h)]RrubG?uhNhUphenylalanine transaminaserh,G@@h-G@h}rh/h)]r(jj=jNeRrhUPHETA1rh2Gh3h4hNh5U(b4054 or b0928 or b3770)rh"}rh7Nubh)r}r(h U tRNA Chargingrh }r(j GjTG?j%G?jNGh)r}r(hNhNhUL-Phenylalanyl-tRNA(Phe)rh}rhU phetrna_crhUEhKhGhh)r}r(hNhUC9H10NORrh}r h"}r h$}r (UHK UCK URKUOKUNKuhjubh&Uch"}r h(h)]Rr ubG?h)r}r(hNhNhU tRNA(Phe)rh}rhU trnaphe_crhUEhKhGhh)r}r(hNhURh}rh"}rh$}rURKshURubh&Uch"}rh(h)]RrubGuhNhUPhenylalanyl-tRNA synthetaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1714rh}r j!hjhNhNj!Kh&Nh"}r!j!U+h(h)]Rr"ubj!)r#}r$(hNj!KhNhUb1713r%h}r&j!hj%hNhNj!Kh&Nh"}r'j!U+h(h)]Rr(ubeRr)hUPHETRSr*h2Gh3h4hNh5U(b1713 and b1714)r+h"}r,h7Nubh)r-}r.(h UTransport, Inner Membraner/h }r0(j>G?j"Gh)r1}r2(hNhNhUL-Phenylalaniner3h}r4hUphe__L_pr5hUEhKhGhh)r6}r7(hNhUC9H11NO2r8h}r9h"}r:h$}r;(UHK UCK UOKUNKuhj8ubh&Uph"}r<h(h)]Rr=ubGjNG?uhNhUCL-phenylalanine reversible transport via proton symport (periplasm)r>h,G@@h-G@h}r?h/h)]r@(j!)rA}rB(hNj!KhNhUb0576rCh}rDj!hjChNhNj!Kh&Nh"}rEj!U+h(h)]RrFubj!)rG}rH(hNj!KhNhUb1473rIh}rJj!hjIhNhNj!Kh&Nh"}rKj!U+h(h)]RrLubjғeRrMhUPHEt2rpprNh2Gh3h4hNh5U(b1473 or b0112 or b0576)rOh"}rPh7Nubh)rQ}rR(h UTransport, Outer Membrane PorinrSh }rT(jGj1G?uhNhUDL-phenylalanine transport via diffusion (extracellular to periplasm)rUh,G@@h-G@h}rVh/h)]rW(j!j!j!j!eRrXhUPHEtexrYh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rZh"}r[h7Nubh)r\}r](h UAlternate Carbon Metabolismr^h }r_(jG?j=Gj#Gj+G@uhNhUPhytase (periplasm)r`h,G@@h-Gh}rah/h)]rbjaRrchUPHYTSpprdh2Gh3h4hNh5Ub0980reh"}rfh7Nubh)rg}rh(h U&Inorganic Ion Transport and Metabolismrih }rj(j"Gj>G?jG?j+GuhNhU6phosphate reversible transport via symport (periplasm)rkh,G@@h-G@h}rlh/h)]rm(j!)rn}ro(hNj!KhNhUb2987rph}rqj!hjphNhNj!Kh&Nh"}rrj!U+h(h)]Rrsubj!)rt}ru(hNj!KhNhUb3493rvh}rwj!hjvhNhNj!Kh&Nh"}rxj!U+h(h)]RryubeRrzhUPIt2rppr{h2Gh3h4hNh5U(b2987 or b3493)r|h"}r}h7Nubh)r~}r(h UTransport, Outer Membrane Porinrh }r(jGj+G?uhNhU>phosphate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUPItexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j Gj-G?j>G?jG@j4Gj+GuhNhU6phosphate transport via ABC system (uptake, periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3728rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3727rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3725rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3726rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUPIuabcpprh2Gh3h4hNh5U%(b3726 and b3725 and b3727 and b3728)rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jjWGj#Gj#G?jcG?uhNhU5Phospholipase A1 (phosphatidate, n-C12:0) (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3821rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhU PLIPA1A120pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j#G?jsG?jWGj#GuhNhU5Phospholipase A1 (phosphatidate, n-C14:0) (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhU PLIPA1A140pprh2Gh3h4hNh5Ub3821rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jWGjtG?j#G?j#GuhNhU5Phospholipase A1 (phosphatidate, n-C14:1) (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhU PLIPA1A141pprh2Gh3h4hNh5Ub3821rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jWGj#Gj$G?j.tG?uhNhU5Phospholipase A1 (phosphatidate, n-C16:0) (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhU PLIPA1A160pprh2Gh3h4hNh5Ub3821rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j,$G?jXGj#GjFtG?uhNhU5Phospholipase A1 (phosphatidate, n-C16:1) (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhU PLIPA1A161pprh2Gh3h4hNh5Ub3821rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j3XGj#GjQ$G?j^tG?uhNhU5Phospholipase A1 (phosphatidate, n-C18:0) (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhU PLIPA1A180pprh2Gh3h4hNh5Ub3821rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jIXGjvtG?j$G?j#GuhNhU5Phospholipase A1 (phosphatidate, n-C18:1) (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhU PLIPA1A181pprh2Gh3h4hNh5Ub3821rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j"G?j$G?jcG?jGj#GuhNhU@Phospholipase A1 (phosphatidylethanolamine, n-C12:0) (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhU PLIPA1E120pprh2Gh3h4hNh5Ub3821rh"}rh7Nubh)r }r (h UGlycerophospholipid Metabolismr h }r (jGjsG?j"G?j$G?j#GuhNhU@Phospholipase A1 (phosphatidylethanolamine, n-C14:0) (periplasm)r h,G@@h-Gh}rh/h)]rjaRrhU PLIPA1E140pprh2Gh3h4hNh5Ub3821rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jGj"G?j$G?jtG?j#GuhNhU@Phospholipase A1 (phosphatidylethanolamine, n-C14:1) (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhU PLIPA1E141pprh2Gh3h4hNh5Ub3821rh"}rh7Nubh)r}r (h UGlycerophospholipid Metabolismr!h }r"(j"G?jGj.tG?j#Gj %G?uhNhU@Phospholipase A1 (phosphatidylethanolamine, n-C16:0) (periplasm)r#h,G@@h-Gh}r$h/h)]r%jaRr&hU PLIPA1E160ppr'h2Gh3h4hNh5Ub3821r(h"}r)h7Nubh)r*}r+(h UGlycerophospholipid Metabolismr,h }r-(jGjFtG?j"G?j#Gj<%G?uhNhU@Phospholipase A1 (phosphatidylethanolamine, n-C16:1) (periplasm)r.h,G@@h-Gh}r/h/h)]r0jaRr1hU PLIPA1E161ppr2h2Gh3h4hNh5Ub3821r3h"}r4h7Nubh)r5}r6(h UGlycerophospholipid Metabolismr7h }r8(j"G?jT%G?jGj#Gj^tG?uhNhU@Phospholipase A1 (phosphatidylethanolamine, n-C18:0) (periplasm)r9h,G@@h-Gh}r:h/h)]r;jaRr<hU PLIPA1E180ppr=h2Gh3h4hNh5Ub3821r>h"}r?h7Nubh)r@}rA(h UGlycerophospholipid MetabolismrBh }rC(jGj"G?jy%G?jvtG?j#GuhNhU@Phospholipase A1 (phosphatidylethanolamine, n-C18:1) (periplasm)rDh,G@@h-Gh}rEh/h)]rFjaRrGhU PLIPA1E181pprHh2Gh3h4hNh5Ub3821rIh"}rJh7Nubh)rK}rL(h UGlycerophospholipid MetabolismrMh }rN(j&G?j]WGj"G?jcG?j#GuhNhU(h UGlycerophospholipid Metabolismr?h }r@(jWGj"G?jsG?j(G?j#GuhNhUG?h)r}r(hNhNhUD-4'-Phosphopantothenaterh}rhU4ppan_crhUEhJhGhh)r}r(hNhU C9H15NO8Prh}rh"}rh$}r(UHKUCK UPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?j-G?uhNhUpantothenate kinaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3974rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPNTKrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(h)r}r(hNhNhU(R)-Pantothenaterh}rhU pnto__R_prhUEhJhGhh)r}r(hNhUC9H16NO5rh}rh"}rh$}r(UHKUCK UOKUNKuhjubh&Uph"}rh(h)]RrubGjE;G?j8;GjG?uhNhU)Pantothenate sodium symporter (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3258rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPNTOt4pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?j GuhNhUAPantothenate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUPNTOtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jGjG?h)r }r (hNhNhUPeroxyaminoacrylater h}r hUpoaac_cr hUEhKhGhh)r}r(hNhUC3H5NO3rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubGj4G?j(G?uhNhUperoxyaminoacrylate reductaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1010rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPOAACRr h2Gh3h4hNh5jh"}r!h7Nubh)r"}r#(h UPyruvate Metabolismr$h }r%(j -G?j{G@j>G?jG?j5GjGjzGuhNhUpyruvate synthaser&h,G@@h-G@h}r'h/h)]r((j!)r)}r*(hNj!KhNhUb1378r+h}r,j!hj+hNhNj!Kh&Nh"}r-j!U+h(h)]Rr.ubj{j{eRr/hUPOR5r0h2Gh3h4hNh5U(((b0684 and b1378) or (b2895 and b1378))r1h"}r2h7Nubh)r3}r4(h UOxidative Phosphorylationr5h }r6(j -G?j2G?jNGj5GjG?j4GuhNhUpyruvate oxidaser7h,G@@h-Gh}r8h/h)]r9j!)r:}r;(hNj!KhNhUb0871r<h}r=j!hj<hNhNj!Kh&Nh"}r>j!U+h(h)]Rr?ubaRr@hUPOXrAh2Gh3h4hNh5j<h"}rBh7Nubh)rC}rD(h UAnaplerotic ReactionsrEh }rF(j>G?jTGjG@j4GuhNhUinorganic diphosphataserGh,G@@h-Gh}rHh/h)]rI(j!)rJ}rK(hNj!KhNhUb4226rLh}rMj!hjLhNhNj!Kh&Nh"}rNj!U+h(h)]RrOubj<j!)rP}rQ(hNj!KhNhUb2502rRh}rSj!hjRhNhNj!Kh&Nh"}rTj!U+h(h)]RrUubeRrVhUPPArWh2Gh3h4hNh5U(b2744 or b4226 or b2502)rXh"}rYh7Nubh)rZ}r[(h UAnaplerotic Reactionsr\h }r](jTG?j>G?jRGjG?j4GuhNhUinorganic triphosphataser^h,G@@h-Gh}r_h/h)]r`(j<jPeRrahUPPA2rbh2Gh3h4hNh5U(b2502 or b2744)rch"}rdh7Nubh)re}rf(h UAlternate Carbon Metabolismrgh }rh(j4G?h)ri}rj(hNhNhUPropanoyl phosphaterkh}rlhUppap_crmhUEhJhGhh)rn}ro(hNhUC3H5O5Prph}rqh"}rrh$}rs(UHKUCKUOKUPKuhjpubh&Uch"}rth(h)]RruubGj G?j-GuhNhUPropionate kinaservh,G@@h-G@h}rwh/h)]rxj6aRryhUPPAKrrzh2Gh3h4hNh5Ub3115r{h"}r|h7Nubh)r}}r~(h UTransport, Outer Membrane Porinrh }r(j4Gh)r}r(hNhNhUPropanalrh}rhUppal_prhUEhKhGhh)r}r(hNhUC3H6Orh}rh"}rh$}r(UHKUCKUOKuhjubh&Uph"}rh(h)]RrubG?uhNhU=propanal transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUPPALtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jG?jfDGuhNhU*propanal transport via channel (periplasm)rh,G@@h-G@h}rh/h)]RrhUPPALtpprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j4G?h)r}r(hNhNhUPropionate (n-C3:0)rh}rhUppa_prhUEhJhGhh)r}r(hNhUC3H5O2rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uph"}rh(h)]RrubGj8;GjE;G?uhNhU$Na+/Propionate symporter (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1015rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPPAt4pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhU"propionate transport via diffusionrh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUPPAtexrh2Gh3h4hNh5U"(b1377 or b0929 or b2215 or b0241)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j~GjG?j>G?j4G@uhNhUporphobilinogen synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0369rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPPBNGSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAnaplerotic Reactionsrh }r(jNG?j -Gj>G?j5Gj4GjG?uhNhUphosphoenolpyruvate carboxylaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3956rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPPCrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhU(N-((R)-4-Phosphopantothenoyl)-L-cysteinerh}rhU4ppcys_crhUEhJhGhh)r}r(hNhU C12H20N2O9PSrh}rh"}rh$}r(UCK UHKUOK UNKUPKUSKuhjubh&Uch"}rh(h)]RrubGj -G?h)r}r(hNhNhUPantetheine 4'-phosphaterh}rhUpan4p_crhUEhJhGhh)r}r(hNhU C11H21N2O7PSrh}rh"}rh$}r(UCK UHKUOKUNKUPKUSKuhjubh&Uch"}rh(h)]RrubG?j>GuhNhU)phosphopantothenoylcysteine decarboxylaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3639r h}r j!hj hNhNj!Kh&Nh"}r j!U+h(h)]Rr ubaRr hUPPCDCrh2Gh3h4hNh5j h"}rh7Nubh)r}r(h UAnaplerotic Reactionsrh }r(j Gj5G?jNGj -G?j-G?uhNhU!phosphoenolpyruvate carboxykinaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3403rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPPCKrh2Gh3h4hNh5jh"}rh7Nubh)r }r!(h UAlternate Carbon Metabolismr"h }r#(j4G?j\NGjG?j4GuhNhU(Propanoyl-CoA: succinate CoA-transferaser$h,G@@h-Gh}r%h/h)]r&j!)r'}r((hNj!KhNhUb2920r)h}r*j!hj)hNhNj!Kh&Nh"}r+j!U+h(h)]Rr,ubaRr-hUPPCSCTr.h2Gh3h4hNh5j)h"}r/h7Nubh)r0}r1(h U*Cofactor and Prosthetic Group Biosynthesisr2h }r3(j4<G?jTG?j4GjGuhNhU1guanosine-3',5'-bis(diphosphate) 3'-diphosphataser4h,G@@h-Gh}r5h/h)]r6jaRr7hUPPGPPDPr8h2Gh3h4hNh5Ub3650r9h"}r:h7Nubh)r;}r<(h UOxidative Phosphorylationr=h }r>(j Gj-G?jTGjRG?uhNhUpolyphosphate kinaser?h,G@@h-G@h}r@h/h)]rAj!)rB}rC(hNj!KhNhUb2501rDh}rEj!hjDhNhNj!Kh&Nh"}rFj!U+h(h)]RrGubaRrHhUPPK2rrIh2Gh3h4hNh5jDh"}rJh7Nubh)rK}rL(h UOxidative PhosphorylationrMh }rN(j GjTG?j-G?jGuhNhUpolyphosphate kinaserOh,G@@h-G@h}rPh/h)]rQjBaRrRhUPPKrrSh2Gh3h4hNh5Ub2501rTh"}rUh7Nubh)rV}rW(h UAlternate Carbon MetabolismrXh }rY(j=G?h)rZ}r[(hNhNhUalpha-D-Ribose 1-phosphater\h}r]hUr1p_cr^hUEhJhGhh)r_}r`(hNhUC5H9O8Prah}rbh"}rch$}rd(UHK UCKUOKUPKuhjaubh&Uch"}reh(h)]RrfubGuhNhUphosphopentomutasergh,G@@h-G@h}rhh/h)]ri(j!)rj}rk(hNj!KhNhUb3380rlh}rmj!hjlhNhNj!Kh&Nh"}rnj!U+h(h)]Rroubj!)rp}rq(hNj!KhNhUb4383rrh}rsj!hjrhNhNj!Kh&Nh"}rtj!U+h(h)]RruubeRrvhUPPMrwh2Gh3h4hNh5U(b3380 or b4383)rxh"}ryh7Nubh)rz}r{(h UAlternate Carbon Metabolismr|h }r}(jdmGj^kG?uhNhU"phosphopentomutase 2 (deoxyribose)r~h,G@@h-G@h}rh/h)]rjpaRrhUPPM2rh2Gh3h4hNh5Ub4383rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jG?j>G?j TG?jTG?jGjGjGuhNhU#phosphopantothenate-cysteine ligaserh,G@@h-Gh}rh/h)]rjaRrhUPPNCL2rh2Gh3h4hNh5Ub3639rh"}rh7Nubh)r}r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(h)r}r(hNhNhU3-(4-Hydroxyphenyl)pyruvaterh}rhU34hpp_crhUEhJhGhh)r}r(hNhUC9H7O4rh}rh"}rh$}r(UHKUCK UOKuhjubh&Uch"}rh(h)]RrubG?jG?jVGjGj -G?uhNhUprephenate dehydrogenaserh,G@@h-Gh}rh/h)]rj/VaRrhUPPNDrh2Gh3h4hNh5Ub2600rh"}rh7Nubh)r}r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(jG?j -G?jVGj>Gj4G?uhNhUprephenate dehydrataserh,G@@h-Gh}rh/h)]rj)VaRrhUPPNDHrh2Gh3h4hNh5Ub2599rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jZGj*Gj4G@jvG?uhNhU$protoporphyrinogen oxidase (aerobic)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3850rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPPPGOrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jZGj>Gj\NG@jvG?uhNhU&protoporphyrinogen oxidase (anaerobic)rh,G@@h-Gh}rh/h)]rjaRrhUPPPGO3rh2Gh3h4hNh5Ub3850rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jGh)r}r(hNhNhUPhenylpropanoaterh}rhUpppn_crhUEhJhGhh)r}r(hNhUC9H9O2rh}rh"}rh$}r(UHK UCK UOKuhjubh&Uch"}rh(h)]RrubGj*Gj>GjG?jgG?uhNhUPhenylpropanoate Dioxygenaserh,G@@h-Gh}rh/h)]r(jVjVjVjVeRrhUPPPNDOrh2Gh3h4hNh5U%(b2538 and b2539 and b2540 and b2542)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(h)r}r(hNhNhUPhenylpropanoaterh}rhUpppn_prhUEhJhGhh)r}r(hNhUC9H9O2rh}rh"}rh$}r(UHK UCK UOKuhjubh&Uph"}rh(h)]RrubGjG?j>G?j"GuhNhUG3-phenylpropionate transport via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb2536rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhU PPPNt2rpprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jIGjG?uhNhUG3-phenylpropionate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r (j!j!j!j!eRr hUPPPNtexr h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r h"}r h7Nubh)r}r(h UGlycolysis/Gluconeogenesisrh }r(j%G?j Gj5Gj5G?j>G@jG?j4GuhNhUphosphoenolpyruvate synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1702rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPPSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U Unassignedr h }r!(h)r"}r#(hNhNhU Phosphonater$h}r%hUppt_pr&hUEhJhGhh)r'}r((hNhUHO3Pr)h}r*h"}r+h$}r,(UHKUOKUPKuhj)ubh&Uph"}r-h(h)]Rr.ubGjҐG?j#Gj+G?uhNhU#Phosphonate hydrogenase (periplasm)r/h,G@@h-Gh}r0h/h)]r1j!)r2}r3(hNj!KhNhUb0383r4h}r5j!hj4hNhNj!Kh&Nh"}r6j!U+h(h)]Rr7ubaRr8hUPPTHppr9h2Gh3h4hNh5j4h"}r:h7Nubh)r;}r<(h UTransport, Outer Membrane Porinr=h }r>(j"G?j^GuhNhU@Phosphonate transport via diffusion (extracellular to periplasm)r?h,G@@h-G@h}r@h/h)]rA(j!j!j!j!eRrBhUPPTtexrCh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rDh"}rEh7Nubh)rF}rG(h U"Purine and Pyrimidine BiosynthesisrHh }rI(j GhGj]G?j>G?jG?j-G?jbGuhNhU"phosphoribosylglycinamide synthaserJh,G@@h-G@h}rKh/h)]rLj!)rM}rN(hNj!KhNhUb4005rOh}rPj!hjOhNhNj!Kh&Nh"}rQj!U+h(h)]RrRubaRrShUPRAGSrrTh2Gh3h4hNh5jOh"}rUh7Nubh)rV}rW(h U"Purine and Pyrimidine BiosynthesisrXh }rY(j Gj>G@h)rZ}r[(hNhNhU12-(Formamido)-N1-(5-phospho-D-ribosyl)acetamidiner\h}r]hUfpram_cr^hUEhJhGhh)r_}r`(hNhU C8H15N3O8Prah}rbh"}rch$}rd(UHKUCKUPKUOKUNKuhjaubh&Uch"}reh(h)]RrfubGj-G?jG?jAG?uhNhU%phosphoribosylaminoimidazole synthasergh,G@@h-Gh}rhh/h)]rij!)rj}rk(hNj!KhNhUb2499rlh}rmj!hjlhNhNj!Kh&Nh"}rnj!U+h(h)]RroubaRrphUPRAISrqh2Gh3h4hNh5jlh"}rrh7Nubh)rs}rt(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismruh }rv(jGGjG?uhNhU3phosphoribosylanthranilate isomerase (irreversible)rwh,G@@h-Gh}rxh/h)]ryj aRrzhUPRAIir{h2Gh3h4hNh5Ub1262r|h"}r}h7Nubh)r~}r(h UHistidine Metabolismrh }r(j4Gh)r}r(hNhNhU1-(5-Phosphoribosyl)-AMPrh}rhUprbamp_crhUEhJhGhh)r}r(hNhU C15H19N5O14P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGh)r}r(hNhNhUW1-(5-Phosphoribosyl)-5-[(5-phosphoribosylamino)methylideneamino]imidazole-4-carboxamiderh}rhUprfp_crhUEhJhGhh)r}r(hNhU C15H21N5O15P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?uhNhU!phosphoribosyl-AMP cyclohydrolaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2026rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPRAMPCrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(j Gj>G?jH>G?jAGjGjG?j-G?uhNhU7phosphoribosylaminoimidazolesuccinocarboxamide synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2476rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPRASCSirh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UHistidine Metabolismrh }r(jG?jTG?jOGj>G?j4GuhNhU"phosphoribosyl-ATP pyrophosphataserh,G@@h-Gh}rh/h)]rjaRrhUPRATPPrh2Gh3h4hNh5Ub2026rh"}rh7Nubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(j GjG?j-G?jZG?j>G?jaGjG?j4GjjGuhNhU*phosphoribosylformylglycinamidine synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2557rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPRFGSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UHistidine Metabolismrh }r(jG?jGuhNhUa1-(5-phosphoribosyl)-5-[(5-phosphoribosylamino)methylideneamino)imidazole-4-carboxamide isomeraserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb2024rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPRMICIrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UArginine and Proline Metabolismrh }r(j7G?jGjGjˀG?j>G?uhNhUProline dehydrogenaserh,G@@h-Gh}rh/h)]rj!aRrhUPROD2rh2Gh3h4hNh5Ub1014rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gh)r}r(hNhNhUL-Prolinylglycinerh}rhUprogly_prhUEhKhGhh)r}r(hNhU C7H12N2O3rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Uph"}rh(h)]RrubGj>G?j-G?jG?jGG?j4GuhNhU@L-Prolinylglycine (Pro-Gly) transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(jZBj`BjrBj~BjxBeRrhU PROGLYabcpprh2Gh3h4hNh5U/(b3544 and b3543 and b3542 and b3541 and b3540)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r (jG?jGuhNhUFL-Prolinylglycine transport via diffusion (extracellular to periplasm)r h,G@@h-G@h}r h/h)]r (j!j!j!j!eRr hU PROGLYtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U tRNA Chargingrh }r(j%G?j GjGh)r}r(hNhNhU tRNA(Pro)rh}rhU trnapro_crhUEhKhGhh)r}r(hNhURh}rh"}rh$}rURKshURubh&Uch"}rh(h)]Rr ubGjTG?h)r!}r"(hNhNhUL-Prolyl-tRNA(Pro)r#h}r$hU protrna_cr%hUEhKhGhh)r&}r'(hNhUC5H8NORr(h}r)h"}r*h$}r+(UHKUCKURKUOKUNKuhj(ubh&Uch"}r,h(h)]Rr-ubG?uhNhUProlyl-tRNA synthetaser.h,G@@h-Gh}r/h/h)]r0j!)r1}r2(hNj!KhNhUb0194r3h}r4j!hj3hNhNj!Kh&Nh"}r5j!U+h(h)]Rr6ubaRr7hUPROTRSr8h2Gh3h4hNh5j3h"}r9h7Nubh)r:}r;(h UTransport, Inner Membraner<h }r=(j GjG?j>G?h)r>}r?(hNhNhU L-Proliner@h}rAhUpro__L_prBhUEhKhGhh)rC}rD(hNhUC5H9NO2rEh}rFh"}rGh$}rH(UHK UCKUOKUNKuhjEubh&Uph"}rIh(h)]RrJubGj-G?j4GjG?uhNhU.L-proline transport via ABC system (periplasm)rKh,G@@h-Gh}rLh/h)]rM(j[j[j\eRrNhUPROabcpprOh2Gh3h4hNh5U(b2677 and b2678 and b2679)rPh"}rQh7Nubh)rR}rS(h UTransport, Inner MembranerTh }rU(jG?j>G?j>Gj"GuhNhU=L-proline reversible transport via proton symport (periplasm)rVh,G@@h-G@h}rWh/h)]rXj\aRrYhUPROt2rpprZh2Gh3h4hNh5Ub4111r[h"}r\h7Nubh)r]}r^(h UTransport, Inner Membraner_h }r`(j>Gj8;GjG?jE;G?uhNhU#Na+/Proline-L symporter (periplasm)rah,G@@h-Gh}rbh/h)]rcjaRrdhUPROt4ppreh2Gh3h4hNh5Ub1015rfh"}rgh7Nubh)rh}ri(h UTransport, Outer Membrane Porinrjh }rk(jsGj>G?uhNhU>L-proline transport via diffusion (extracellular to periplasm)rlh,G@@h-G@h}rmh/h)]rn(j!j!j!j!eRrohUPROtexrph2Gh3h4hNh5U"(b1377 or b2215 or b0241 or b0929)rqh"}rrh7Nubh)rs}rt(h UHistidine Metabolismruh }rv(j Gj=G?j>G?j=Gj%G?uhNhU&phosphoribosylpyrophosphate synthetaserwh,G@@h-G@h}rxh/h)]ryj!)rz}r{(hNj!KhNhUb1207r|h}r}j!hj|hNhNj!Kh&Nh"}r~j!U+h(h)]RrubaRrhUPRPPSrh2Gh3h4hNh5j|h"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?h)r}r(hNhNhU psicoselysinerh}rhUpsclys_prhUEhKhGhh)r}r(hNhU C12H25N2O7rh}rh"}rh$}r(UHKUCK UOKUNKuhjubh&Uph"}rh(h)]RrubGj"Gj|G?uhNhU6psicoselysine transport via proton symport (periplasm)rh,G@@h-Gh}rh/h)]rj|aRrhU PSCLYSt2pprh2Gh3h4hNh5Ub3370rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?jGuhNhU7psicoselysine transporter via diffusion (extracellular)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU PSCLYStexrh2Gh3h4hNh5U"(b2215 or b1377 or b0241 or b0929)rh"}rh7Nubh)r}r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(h)r}r(hNhNhUShikimate 5-phosphaterh}rhUskm5p_crhUEhJhGhh)r}r(hNhUC7H8O8Prh}rh"}rh$}r(UHKUCKUOKUPKuhjubh&Uch"}rh(h)]RrubGj=VG?j5GjG?uhNhU,3-phosphoshikimate 1-carboxyvinyltransferaserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb0908rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPSCVTrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j -G?j%G?h)r}r(hNhNhU*phosphatidylserine (didodecanoyl, n-C12:0)rh}rhUps120_crhUEhJhGhh)r}r(hNhU C30H57N1O10P1rh}rh"}rh$}r(UHK9UCKUPKUOK UNKuhjubh&Uch"}rh(h)]RrubGj>GuhNhU*Phosphatidylserine decarboxylase (n-C12:0)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4160rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPSD120rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU-phosphatidylserine (ditetradecanoyl, n-C14:0)rh}rhUps140_crhUEhJhGhh)r}r(hNhU C34H65N1O10P1rh}rh"}rh$}r(UHKAUCK"UPKUOK UNKuhjubh&Uch"}rh(h)]RrubGj%G?j -G?j>GuhNhU*Phosphatidylserine decarboxylase (n-C14:0)rh,G@@h-Gh}rh/h)]rjaRrhUPSD140rh2Gh3h4hNh5Ub4160rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j -G?j%G?j>Gh)r}r(hNhNhU0phosphatidylserine (ditetradec-7-enoyl, n-C14:1)rh}rhUps141_crhUEhJhGhh)r}r(hNhU C34H61N1O10P1rh}rh"}rh$}r(UHK=UCK"UPKUOK UNKuhjubh&Uch"}rh(h)]RrubGuhNhU*Phosphatidylserine decarboxylase (n-C14:1)r h,G@@h-Gh}r h/h)]r jaRr hUPSD141r h2Gh3h4hNh5Ub4160rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j -G?j>GjG?h)r}r(hNhNhU,phosphatidylserine (dihexadecanoyl, n-C16:0)rh}rhUps160_crhUEhJhGhh)r}r(hNhU C38H73N1O10P1rh}rh"}rh$}r(UHKIUCK&UPKUOK UNKuhjubh&Uch"}rh(h)]Rr ubGuhNhU*Phosphatidylserine decarboxylase (n-C16:0)r!h,G@@h-Gh}r"h/h)]r#jaRr$hUPSD160r%h2Gh3h4hNh5Ub4160r&h"}r'h7Nubh)r(}r)(h UGlycerophospholipid Metabolismr*h }r+(j>Gh)r,}r-(hNhNhU/phosphatidylserine (dihexadec-9-enoyl, n-C16:1)r.h}r/hUps161_cr0hUEhJhGhh)r1}r2(hNhU C38H69N1O10P1r3h}r4h"}r5h$}r6(UHKEUCK&UPKUOK UNKuhj3ubh&Uch"}r7h(h)]Rr8ubGj -G?jG?uhNhU*Phosphatidylserine decarboxylase (n-C16:1)r9h,G@@h-Gh}r:h/h)]r;jaRr<hUPSD161r=h2Gh3h4hNh5Ub4160r>h"}r?h7Nubh)r@}rA(h UGlycerophospholipid MetabolismrBh }rC(jO&G?h)rD}rE(hNhNhU,phosphatidylserine (dioctadecanoyl, n-C18:0)rFh}rGhUps180_crHhUEhJhGhh)rI}rJ(hNhU C42H81N1O10P1rKh}rLh"}rMh$}rN(UHKQUCK*UPKUOK UNKuhjKubh&Uch"}rOh(h)]RrPubGj>Gj -G?uhNhU*Phosphatidylserine decarboxylase (n-C18:0)rQh,G@@h-Gh}rRh/h)]rSjaRrThUPSD180rUh2Gh3h4hNh5Ub4160rVh"}rWh7Nubh)rX}rY(h UGlycerophospholipid MetabolismrZh }r[(j -G?jG?j>Gh)r\}r](hNhNhU0phosphatidylserine (dioctadec-11-enoyl, n-C18:1)r^h}r_hUps181_cr`hUEhJhGhh)ra}rb(hNhU C42H77N1O10P1rch}rdh"}reh$}rf(UHKMUCK*UPKUOK UNKuhjcubh&Uch"}rgh(h)]RrhubGuhNhU*Phosphatidylserine decarboxylase (n-C18:1)rih,G@@h-Gh}rjh/h)]rkjaRrlhUPSD181rmh2Gh3h4hNh5Ub4160rnh"}roh7Nubh)rp}rq(h UGlycine and Serine Metabolismrrh }rs(jGj2G?jGh)rt}ru(hNhNhUO-Phospho-L-serinervh}rwhU pser__L_crxhUEhJhGhh)ry}rz(hNhUC3H6NO6Pr{h}r|h"}r}h$}r~(UHKUCKUPKUOKUNKuhj{ubh&Uch"}rh(h)]RrubG?uhNhUphosphoserine transaminaserh,G@@h-Gh}rh/h)]rj1aRrhUPSERTrh2Gh3h4hNh5Ub0907rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGh)r}r(hNhNhUO-Phospho-L-serinerh}rhU pser__L_prhUEhJhGhh)r}r(hNhUC3H6NO6Prh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubG?uhNhUEphospho-L-serine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUPSERtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UGlycine and Serine Metabolismrh }r(jG?j4GjG?jtGuhNhU$phosphoserine phosphatase (L-serine)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4388rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPSP_Lrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlycine and Serine Metabolismrh }r(j#GjЍG?jGj+G?uhNhU*phospho-L-serine phosphatase (periplasmic)rh,G@@h-Gh}rh/h)]rjaRrhUPSP_Lpprh2Gh3h4hNh5Ub4055rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?j TG?j>G?jGjTGuhNhU$Phosphatidylserine syntase (n-C12:0)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2585rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPSSA120rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j TG?j>G?j5TGjG?jGuhNhU$Phosphatidylserine syntase (n-C14:0)rh,G@@h-Gh}rh/h)]rjaRrhUPSSA140rh2Gh3h4hNh5Ub2585rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j TG?jMTGj>G?jG?jGuhNhU$Phosphatidylserine syntase (n-C14:1)rh,G@@h-Gh}rh/h)]rjaRrhUPSSA141rh2Gh3h4hNh5Ub2585rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j>G?j TG?jeTGjGjG?uhNhU$Phosphatidylserine syntase (n-C16:0)rh,G@@h-Gh}rh/h)]rjaRrhUPSSA160rh2Gh3h4hNh5Ub2585rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j}TGj,G?j TG?j>G?jGuhNhU$Phosphatidylserine syntase (n-C16:1)rh,G@@h-Gh}rh/h)]rjaRrhUPSSA161rh2Gh3h4hNh5Ub2585rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(jTGj TG?j>G?jGjDG?uhNhU$Phosphatidylserine syntase (n-C18:0)rh,G@@h-Gh}rh/h)]rjaRrhUPSSA180rh2Gh3h4hNh5Ub2585rh"}rh7Nubh)r}r(h UGlycerophospholipid Metabolismrh }r(j TG?j>G?j\G?jGjTGuhNhU$Phosphatidylserine syntase (n-C18:1)rh,G@@h-Gh}rh/h)]rjaRr hUPSSA181r h2Gh3h4hNh5Ub2585r h"}r h7Nubh)r }r(h UAlternate Carbon Metabolismrh }r(j4GjG?jiG?jGuhNhUPhosphate acetyltransferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2297rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPTA2rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UPyruvate Metabolismrh }r (jGjG?j6G?jGuhNhUphosphotransacetylaser!h,G@@h-G@h}r"h/h)]r#(jj!)r$}r%(hNj!KhNhUb2458r&h}r'j!hj&hNhNj!Kh&Nh"}r(j!U+h(h)]Rr)ubeRr*hUPTArr+h2Gh3h4hNh5U(b2297 or b2458)r,h"}r-h7Nubh)r.}r/(h UThreonine and Lysine Metabolismr0h }r1(h)r2}r3(hNhNhU L-Threoniner4h}r5hUthr__L_pr6hUEhKhGhh)r7}r8(hNhUC4H9NO3r9h}r:h"}r;h$}r<(UHK UCKUOKUNKuhj9ubh&Uph"}r=h(h)]Rr>ubG?j#Gh)r?}r@(hNhNhUL-Threonine O-3-phosphaterAh}rBhUthrp_prChUEhJhGhh)rD}rE(hNhUC4H8NO6PrFh}rGh"}rHh$}rI(UHKUCKUPKUOKUNKuhjFubh&Uph"}rJh(h)]RrKubGj+G?uhNhU-phospho-L-threonine phosphatase (periplasmic)rLh,G@@h-Gh}rMh/h)]rNjaRrOhUPTHRpprPh2Gh3h4hNh5Ub4055rQh"}rRh7Nubh)rS}rT(h U*Cofactor and Prosthetic Group BiosynthesisrUh }rV(j GjGj>GjTG?jkG?uhNhU)pantetheine-phosphate adenylyltransferaserWh,G@@h-Gh}rXh/h)]rYj!)rZ}r[(hNj!KhNhUb3634r\h}r]j!hj\hNhNj!Kh&Nh"}r^j!U+h(h)]Rr_ubaRr`hUPTPATirah2Gh3h4hNh5j\h"}rbh7Nubh)rc}rd(h UTransport, Inner Membranereh }rf(jG?jsKG?j8Gh)rg}rh(hNhNhU Putrescinerih}rjhUptrc_prkhUEhKhGhh)rl}rm(hNhUC4H14N2rnh}roh"}rph$}rq(UHKUCKUNKuhjnubh&Uph"}rrh(h)]RrsubGuhNhU+putrescine/ornithine antiporter (periplasm)rth,G@@h-G@h}ruh/h)]rvj!)rw}rx(hNj!KhNhUb0692ryh}rzj!hjyhNhNj!Kh&Nh"}r{j!U+h(h)]Rr|ubaRr}hU PTRCORNt7ppr~h2Gh3h4hNh5jyh"}rh7Nubh)r}r(h UArginine and Proline Metabolismrh }r(j2Gj82G?jG?jGuhNhUPutrescine Transaminaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3073rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUPTRCTArh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j GjgGj-G?jG?j>G?j4GjG?uhNhU/putrescine transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1124rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1440rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1441rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1126rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1442rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1443rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1123rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0854rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1125rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0855rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0856rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0857rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhU PTRCabcpprh2Gh3h4hNh5Uy((b0854 and b0855 and b0856 and b0857) or (b1126 and b1125 and b1124 and b1123) or (b1440 and b1441 and b1442 and b1443))rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j"GjgGjG?j>G?uhNhU*putrescine transport in via proton symportrh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1296rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubjweRrhUPTRCt2pprh2Gh3h4hNh5U(b1296 or b0692)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjgG?uhNhU?putrescine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUPTRCtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jZG?j/G?jGjm;GuhNhU+purine-nucleoside phosphorylase (Adenosine)rh,G@@h-G@h}rh/h)]rjtmaRrhUPUNP1rh2Gh3h4hNh5Ub4384rh"}r h7Nubh)r }r (h UNucleotide Salvage Pathwayr h }r (jGj4aGjdmG?j/G?uhNhU0purine-nucleoside phosphorylase (Deoxyadenosine)rh,G@@h-G@h}rh/h)]rjtmaRrhUPUNP2rh2Gh3h4hNh5Ub4384rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j|Gj܏G?jZG?jGuhNhU+purine-nucleoside phosphorylase (Guanosine)rh,G@@h-G@h}rh/h)]r(jtmj!)r}r(hNj!KhNhUb2407rh}rj!hjhNhNj!Kh&Nh"}r j!U+h(h)]Rr!ubeRr"hUPUNP3r#h2Gh3h4hNh5U(b2407 or b4384)r$h"}r%h7Nubh)r&}r'(h UNucleotide Salvage Pathwayr(h }r)(jGjdGjdmG?j܏G?uhNhU0purine-nucleoside phosphorylase (Deoxyguanosine)r*h,G@@h-G@h}r+h/h)]r,(jtmjeRr-hUPUNP4r.h2Gh3h4hNh5U(b2407 or b4384)r/h"}r0h7Nubh)r1}r2(h UNucleotide Salvage Pathwayr3h }r4(j;G?jz;GjGjZG?uhNhU)purine-nucleoside phosphorylase (Inosine)r5h,G@@h-G@h}r6h/h)]r7(jtmjeRr8hUPUNP5r9h2Gh3h4hNh5U(b2407 or b4384)r:h"}r;h7Nubh)r<}r=(h UNucleotide Salvage Pathwayr>h }r?(jdmG?j;G?jGjAaGuhNhU.purine-nucleoside phosphorylase (Deoxyinosine)r@h,G@@h-G@h}rAh/h)]rB(jtmjeRrChUPUNP6rDh2Gh3h4hNh5U(b2407 or b4384)rEh"}rFh7Nubh)rG}rH(h UNucleotide Salvage PathwayrIh }rJ(jGjVGjZG?jG?uhNhU,purine-nucleoside phosphorylase (Xanthosine)rKh,G@@h-G@h}rLh/h)]rMjaRrNhUPUNP7rOh2Gh3h4hNh5Ub2407rPh"}rQh7Nubh)rR}rS(h U*Cofactor and Prosthetic Group BiosynthesisrTh }rU(j1G?jLG?j*GjG?jBGj4GuhNhU!pyridoxamine 5'-phosphate oxidaserVh,G@@h-Gh}rWh/h)]rXjLaRrYhUPYAM5POrZh2Gh3h4hNh5Ub1638r[h"}r\h7Nubh)r]}r^(h U*Cofactor and Prosthetic Group Biosynthesisr_h }r`(j Gj-G?j"Gj>G?jBG?uhNhUpyridoxamine kinaserah,G@@h-Gh}rbh/h)]rcj_aRrdhUPYDAMKreh2Gh3h4hNh5Ub2418rfh"}rgh7Nubh)rh}ri(h UTransport, Outer Membrane Porinrjh }rk(jGh)rl}rm(hNhNhU Pyridoxaminernh}rohUpydam_prphUEhKhGhh)rq}rr(hNhU C8H13N2O2rsh}rth"}ruh$}rv(UHK UCKUOKUNKuhjsubh&Uph"}rwh(h)]RrxubG?uhNhU4pyridoxamine transport via diffusion (extracellular)ryh,G@@h-G@h}rzh/h)]r{(j!j!j!j!eRr|hUPYDAMtexr}h2Gh3h4hNh5U"(b2215 or b0929 or b1377 or b0241)r~h"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jlGj"G?uhNhUpyridoxamine importrh,G@@h-Gh}rh/h)]RrhUPYDAMtpprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j GjG?h)r}r(hNhNhU Pyridoxalrh}rhUpydx_crhUEhKhGhh)r}r(hNhUC8H9NO3rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Uch"}rh(h)]RrubGj>G?j-G?uhNhUpyridoxal kinaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1636rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj_eRrhUPYDXKrh2Gh3h4hNh5U(b1636 or b2418)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j Gj-G?j>G?j3G?jpGuhNhUpyridoxine kinaserh,G@@h-Gh}rh/h)]rj_aRrhUPYDXNKrh2Gh3h4hNh5Ub2418rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGh)r}r(hNhNhU Pyridoxinerh}rhUpydxn_prhUEhKhGhh)r}r(hNhUC8H11NO3rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Uph"}rh(h)]RrubG?uhNhU2pyridoxine transport via diffusion (extracellular)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUPYDXNtexrh2Gh3h4hNh5U"(b2215 or b0929 or b1377 or b0241)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jpG?jGuhNhUpyridoxine importrh,G@@h-Gh}rh/h)]RrhUPYDXNtpprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jG?jGjG?j4GuhNhU!Pyridoxal 5-phosphate phosphataserh,G@@h-Gh}rh/h)]r(jj!)r}r(hNj!KhNhUb3826rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj(eRrhUPYDXPPrh2Gh3h4hNh5U(b0446 or b3826 or b0766)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGh)r}r(hNhNhU Pyridoxalrh}rhUpydx_prhUEhKhGhh)r}r(hNhUC8H9NO3rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Uph"}rh(h)]RrubG?uhNhU1pyridoxal transport via diffusion (extracellular)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUPYDXtexrh2Gh3h4hNh5U"(b2215 or b0929 or b1377 or b0241)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jG?jGuhNhUpyridoxal importrh,G@@h-Gh}rh/h)]RrhUPYDXtpprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UGlycolysis/Gluconeogenesisrh }r(j G?j-Gj5Gj>Gj5G?uhNhUpyruvate kinaser h,G@@h-Gh}r h/h)]r (j!)r }r (hNj!KhNhUb1676rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1854rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUPYKrh2Gh3h4hNh5U(b1854 or b1676)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jGjZG?jN`Gj\G?uhNhU,pyrimidine-nucleoside phosphorylase (uracil)r h,G@@h-G@h}r!h/h)]r"j!)r#}r$(hNj!KhNhUb3831r%h}r&j!hj%hNhNj!Kh&Nh"}r'j!U+h(h)]Rr(ubaRr)hUPYNP2rr*h2Gh3h4hNh5j%h"}r+h7Nubh)r,}r-(h UNucleotide Salvage Pathwayr.h }r/(jGjG?h)r0}r1(hNhNhUUreidoacrylate peracidr2h}r3hUuracp_cr4hUEhKhGhh)r5}r6(hNhUC4H6N2O4r7h}r8h"}r9h$}r:(UHKUCKUOKUNKuhj7ubh&Uch"}r;h(h)]Rr<ubG?j*Gj>Gj\GuhNhUpyrimidine oxygenaser=h,G@@h-Gh}r>h/h)]r?(j!)r@}rA(hNj!KhNhUb1012rBh}rCj!hjBhNhNj!Kh&Nh"}rDj!U+h(h)]RrEubj!)rF}rG(hNj!KhNhUb1007rHh}rIj!hjHhNhNj!Kh&Nh"}rJj!U+h(h)]RrKubeRrLhUPYROXrMh2Gh3h4hNh5U(b1012 and b1007)rNh"}rOh7Nubh)rP}rQ(h UTransport, Inner MembranerRh }rS(j"Gj>G?h)rT}rU(hNhNhUPyruvaterVh}rWhUpyr_prXhUEhJhGhh)rY}rZ(hNhUC3H3O3r[h}r\h"}r]h$}r^(UHKUCKUOKuhj[ubh&Uph"}r_h(h)]Rr`ubGj5G?uhNhUG@j*GjNG?h)ru}rv(hNhNhUSuperoxide anionrwh}rxhUo2s_cryhUEhJhGhh)rz}r{(hNhUO2r|h}r}h"}r~h$}rUOKshj|ubh&Uch"}rh(h)]RrubG@jGuhNhU"quinol monooxygenase (Ubiquinol-8)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3029rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUQMO2rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(j*GjGj>G@jDNG?juG@uhNhU#quinol monooxygenase (menaquinol 8)rh,G@@h-Gh}rh/h)]rjaRrhUQMO3rh2Gh3h4hNh5Ub3029rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j0Gh)r}r(hNhNhUQuinaterh}rhUquin_prhUEhKhGhh)r}r(hNhUC7H12O6rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uph"}rh(h)]RrubG?uhNhUG@jGuhNhUQuinate dehydrogenaserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb1692rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUQUINDHrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jeGjϱG?j'NGjG?j4G@uhNhUquinolinate synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0750rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUQULNSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j Gh)r}r(hNhNhUD-Ribose 1,5-bisphosphaterh}rhUr15bp_crhUEhJhGhh)r}r(hNhU C5H8O11P2rh}rh"}rh$}r(UHKUCKUOK UPKuhjubh&Uch"}rh(h)]RrubGj=G?j-G?uhNhUribose-1,5-bisphosphokinaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4094rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUR15BPKrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j Gj>G?jG?j-G?jZGuhNhUribose 1-phosphokinaserh,G@@h-Gh}r h/h)]Rr hUR1PKr h2Gh3h4hNh5Uh"}r h7Nubh)r }r(h UAlternate Carbon Metabolismrh }r(j<G?jG?j=Gj4GuhNhUribose 5-phosphate phosphataserh,G@@h-Gh}rh/h)]rjraRrhUR5PPrh2Gh3h4hNh5Ub0822rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhUalpha-D-Ribose 5-phosphaterh}rhUr5p_pr hUEhJhGhh)r!}r"(hNhUC5H9O8Pr#h}r$h"}r%h$}r&(UHK UCKUOKUPKuhj#ubh&Uph"}r'h(h)]Rr(ubGh)r)}r*(hNhNhUD-Riboser+h}r,hUrib__D_pr-hUEhKhGhh)r.}r/(hNhUC5H10O5r0h}r1h"}r2h$}r3(UHK UCKUOKuhj0ubh&Uph"}r4h(h)]Rr5ubG?j#Gj+G?uhNhUribose 5-phosphate phosphataser6h,G@@h-Gh}r7h/h)]r8jaRr9hUR5PPppr:h2Gh3h4hNh5Ub4055r;h"}r<h7Nubh)r=}r>(h UTransport, Outer Membrane Porinr?h }r@(jG?jEGuhNhUGRibose 5-phosphate transport via diffusion (extracellular to periplasm)rAh,G@@h-G@h}rBh/h)]rC(j!j!j!j!eRrDhUR5PtexrEh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rFh"}rGh7Nubh)rH}rI(h U*Cofactor and Prosthetic Group BiosynthesisrJh }rK(j Gj'Gj>G?jJG?j-G?uhNhUriboflavin kinaserLh,G@@h-Gh}rMh/h)]rNjo{aRrOhURBFKrPh2Gh3h4hNh5Ub0025rQh"}rRh7Nubh)rS}rT(h U*Cofactor and Prosthetic Group BiosynthesisrUh }rV(j4G@h)rW}rX(hNhNhU$6,7-Dimethyl-8-(1-D-ribityl)lumazinerYh}rZhUdmlz_cr[hUEhKhGhh)r\}r](hNhU C13H18N4O6r^h}r_h"}r`h$}ra(UHKUCK UOKUNKuhj^ubh&Uch"}rbh(h)]RrcubG?jG?jbGjGuhNhUriboflavin synthaserdh,G@@h-Gh}reh/h)]rfj!)rg}rh(hNj!KhNhUb1662rih}rjj!hjihNhNj!Kh&Nh"}rkj!U+h(h)]RrlubaRrmhURBFSarnh2Gh3h4hNh5jih"}roh7Nubh)rp}rq(h U*Cofactor and Prosthetic Group Biosynthesisrrh }rs(jWGjG?j'G?uhNhUriboflavin synthaserth,G@@h-Gh}ruh/h)]rvj!)rw}rx(hNj!KhNhUb0415ryh}rzj!hjyhNhNj!Kh&Nh"}r{j!U+h(h)]Rr|ubaRr}hURBFSbr~h2Gh3h4hNh5jyh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j Gj-G?j<Gj>G?j=G?uhNhU ribokinaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3752rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhURBKrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j GjIGh)r}r(hNhNhUL-Ribulose 5-phosphaterh}rhU ru5p__L_crhUEhJhGhh)r}r(hNhUC5H9O8Prh}rh"}rh$}r(UHK UCKUOKUPKuhjubh&Uch"}rh(h)]RrubG?j>G?j-G?uhNhUL-ribulokinase (L-ribulose)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0063rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhURBK_L1rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhUD-Xylulose 5-phosphaterh}rhU xu5p__D_crhUEhJhGhh)r}r(hNhUC5H9O8Prh}rh"}rh$}r(UHK UCKUOKUPKuhjubh&Uch"}rh(h)]RrubG?jGuhNhU L-ribulose-phosphate 4-epimeraserh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb3583rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4198rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0061rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhURBP4Erh2Gh3h4hNh5U(b4198 or b3583 or b0061)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jGjG?uhNhU=ring 1,2-epoxyphenylacetyl-CoA isomerase (oxepin-CoA forming)rh,G@@h-G@h}rh/h)]rjaRrhU REPHACCOAIrh2Gh3h4hNh5Ub1394rh"}rh7Nubh)r}r(h UTransport, Outer Membranerh }r(h)r}r(hNhNhUrifampinrh}rhUrfamp_prhUEhKhGhh)r}r(hNhU C43H58N4O12rh}rh"}rh$}r(UHK:UCK+UOK UNKuhjubh&Uph"}rh(h)]RrubG?jZGuhNhU=Rifampin transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]rjB4aRrhURFAMPtexrh2Gh3h4hNh5Us0001rh"}rh7Nubh)r}r(h UTransport, Outer Membranerh }r(jGj"Gj>G?jZG?uhNhU"Rifampin transport via TolC systemrh,G@@h-Gh}rh/h)]r(j=YjCYjIYjOYeRrhURFAMPtpprh2Gh3h4hNh5U<((b0463 and b0462 and b3035) or (b0463 and b2470 and b3035))rh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(h)r }r (hNhNhUdTDP-L-rhamnoser h}r hU dtdprmn_cr hUEhJhGhh)r}r(hNhU C16H24N2O15P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGjGG?j>G?j~Gjl1G?uhNhU.rhamnosyltransferase I (LPS core biosynthesis)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3629rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhURHAT1r h2Gh3h4hNh5jh"}r!h7Nubh)r"}r#(h UMethionine Metabolismr$h }r%(jIhG?jY_G?jfAGuhNhU%S-ribosylhomocysteine cleavage enzymer&h,G@@h-Gh}r'h/h)]r(j!)r)}r*(hNj!KhNhUb2687r+h}r,j!hj+hNhNj!Kh&Nh"}r-j!U+h(h)]Rr.ubaRr/hURHCCEr0h2Gh3h4hNh5j+h"}r1h7Nubh)r2}r3(h UTransport, Inner Membraner4h }r5(j Gj>G?j4Gj)GjG?j<G?j-G?uhNhU-D-ribose transport via ABC system (periplasm)r6h,G@@h-Gh}r7h/h)]r8(jjj!)r9}r:(hNj!KhNhUb3750r;h}r<j!hj;hNhNj!Kh&Nh"}r=j!U+h(h)]Rr>ubj!)r?}r@(hNj!KhNhUb3748rAh}rBj!hjAhNhNj!Kh&Nh"}rCj!U+h(h)]RrDubjEjjEj!)rE}rF(hNj!KhNhUb3749rGh}rHj!hjGhNhNj!Kh&Nh"}rIj!U+h(h)]RrJubjЃjEj!)rK}rL(hNj!KhNhUb3751rMh}rNj!hjMhNhNj!Kh&Nh"}rOj!U+h(h)]RrPubeRrQhURIBabcpprRh2Gh3h4hNh5Uo((b4231 and b4227 and b4485 and b4230) or (b3749 and b3751 and b3750 and b3748) or (b4087 and b4088 and b4086))rSh"}rTh7Nubh)rU}rV(h UTransport, Outer Membrane PorinrWh }rX(j)G?joGuhNhU;ribose transport via diffusion (extracellular to periplasm)rYh,G@@h-G@h}rZh/h)]r[(j!j!j!j!eRr\hURIBtexr]h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r^h"}r_h7Nubh)r`}ra(h UAlternate Carbon Metabolismrbh }rc(h)rd}re(hNhNhU L-Rhamnoserfh}rghUrmn_crhhUEhKhGhh)ri}rj(hNhUC6H12O5rkh}rlh"}rmh$}rn(UHK UCKUOKuhjkubh&Uch"}roh(h)]RrpubGh)rq}rr(hNhNhU L-Rhamnulosersh}rthUrml_cruhUEhKhGhh)rv}rw(hNhUC6H12O5rxh}ryh"}rzh$}r{(UHK UCKUOKuhjxubh&Uch"}r|h(h)]Rr}ubG?uhNhUL-rhamnose isomeraser~h,G@@h-G@h}rh/h)]rj3aRrhURMIrh2Gh3h4hNh5Ub3903rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j Gj>G?h)r}r(hNhNhUL-Rhamnulose 1-phosphaterh}rhUrml1p_crhUEhJhGhh)r}r(hNhUC6H11O8Prh}rh"}rh$}r(UHK UCKUOKUPKuhjubh&Uch"}rh(h)]RrubG?j-G?jqGuhNhUrhamnulokinaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3904rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhURMKrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(h)r}r(hNhNhU L-Rhamnoserh}rhUrmn_prhUEhKhGhh)r}r(hNhUC6H12O5rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uph"}rh(h)]RrubG?jGuhNhU?L-rhamnose transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhURMNtexrh2Gh3h4hNh5U"(b2215 or b0241 or b0929 or b1377)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?j"GjdG?jGuhNhU3L-rhamnose transport via proton symport (periplasm)rh,G@@h-Gh}rh/h)]rjPaRrhURMNtpprh2Gh3h4hNh5Ub3907rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jeG?juG?jGuhNhURhamnulose-1-phosphate aldolaserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb3902rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhURMPArh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j-GjlG?jlGj4G?jYaG?uhNhU*ribonucleoside-diphosphate reductase (ADP)rh,G@@h-Gh}rh/h)]r(j:lj!)r}r(hNj!KhNhUb2234rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2235rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj.leRrhURNDR1rh2Gh3h4hNh5U@(((b2234 and b2235) and b2582) or ((b2234 and b2235) and b3781))rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jFG?jRGj-Gj4G?jYaG?uhNhU9ribonucleoside-diphosphate reductase (ADP) (glutaredoxin)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2675rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubjhj!)r}r(hNj!KhNhUb2676rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubjnj`OjbeRrhURNDR1brh2Gh3h4hNh5U((b1064 and (b2675 and b2676)) or (b3610 and (b2675 and b2676)) or (b1654 and (b2675 and b2676)) or (b0849 and (b2675 and b2676)))rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j4<GjlGj4G?jdG?jlG?uhNhU*ribonucleoside-diphosphate reductase (GDP)rh,G@@h-Gh}rh/h)]r (j:ljjj.leRr hURNDR2r h2Gh3h4hNh5U@(((b2234 and b2235) and b3781) or ((b2234 and b2235) and b2582))r h"}r h7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jFG?j4<GjRGj4G?jdG?uhNhU9ribonucleoside-diphosphate reductase (GDP) (glutaredoxin)rh,G@@h-Gh}rh/h)]r(jjhjnjjbj`OeRrhURNDR2brh2Gh3h4hNh5U((b0849 and (b2675 and b2676)) or (b3610 and (b2675 and b2676)) or (b1064 and (b2675 and b2676)) or (b1654 and (b2675 and b2676)))rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j`GjlGj4G?j`G?jlG?uhNhU*ribonucleoside-diphosphate reductase (CDP)rh,G@@h-Gh}rh/h)]r(j:ljjj.leRr hURNDR3r!h2Gh3h4hNh5U@(((b2234 and b2235) and b3781) or ((b2234 and b2235) and b2582))r"h"}r#h7Nubh)r$}r%(h UNucleotide Salvage Pathwayr&h }r'(jFG?jRGj`Gj`G?j4G?uhNhU9ribonucleoside-diphosphate reductase (CDP) (glutaredoxin)r(h,G@@h-Gh}r)h/h)]r*(jjbjnjj`OjheRr+hURNDR3br,h2Gh3h4hNh5U((b0849 and (b2675 and b2676)) or (b3610 and (b2675 and b2676)) or (b1654 and (b2675 and b2676)) or (b1064 and (b2675 and b2676)))r-h"}r.h7Nubh)r/}r0(h UNucleotide Salvage Pathwayr1h }r2(jmG?jlG?jlGj4G?j7GuhNhU*ribonucleoside-diphosphate reductase (UDP)r3h,G@@h-Gh}r4h/h)]r5(j:ljjj.leRr6hURNDR4r7h2Gh3h4hNh5U@(((b2234 and b2235) and b3781) or ((b2234 and b2235) and b2582))r8h"}r9h7Nubh)r:}r;(h UNucleotide Salvage Pathwayr<h }r=(jFG?j7GjmG?j4G?jRGuhNhU9ribonucleoside-diphosphate reductase (UDP) (glutaredoxin)r>h,G@@h-Gh}r?h/h)]r@(jjhjjnj`OjbeRrAhURNDR4brBh2Gh3h4hNh5U((b0849 and (b2675 and b2676)) or (b1064 and (b2675 and b2676)) or (b3610 and (b2675 and b2676)) or (b1654 and (b2675 and b2676)))rCh"}rDh7Nubh)rE}rF(h UNucleotide Salvage PathwayrGh }rH(j GjzG@j>GjnG?j4G?j{GuhNhU8ribonucleoside-triphosphate reductase (ATP) (flavodoxin)rIh,G@@h-Gh}rJh/h)]rK(j{j{j{j!)rL}rM(hNj!KhNhUb4238rNh}rOj!hjNhNhNj!Kh&Nh"}rPj!U+h(h)]RrQubj!)rR}rS(hNj!KhNhUb4237rTh}rUj!hjThNhNj!Kh&Nh"}rVj!U+h(h)]RrWubeRrXhURNTR1c2rYh2Gh3h4hNh5Uz((b0684 and b3924 and b4238 and b4237) or (b2895 and b3924 and b4238 and b4237) or (b0684 and b4238) or (b2895 and b4238))rZh"}r[h7Nubh)r\}r](h UNucleotide Salvage Pathwayr^h }r_(jzG@hG?j{Gj>GjGj4G?uhNhU8ribonucleoside-triphosphate reductase (GTP) (flavodoxin)r`h,G@@h-Gh}rah/h)]rb(j{jLj{j{jReRrchURNTR2c2rdh2Gh3h4hNh5Uz((b0684 and b3924 and b4238 and b4237) or (b2895 and b3924 and b4238 and b4237) or (b0684 and b4238) or (b2895 and b4238))reh"}rfh7Nubh)rg}rh(h UNucleotide Salvage Pathwayrih }rj(jzG@jG?j>Gj4G?j{GjGuhNhU8ribonucleoside-triphosphate reductase (CTP) (flavodoxin)rkh,G@@h-Gh}rlh/h)]rm(j{j{j{jLjReRrnhURNTR3c2roh2Gh3h4hNh5Uz((b0684 and b3924 and b4238 and b4237) or (b2895 and b3924 and b4238 and b4237) or (b0684 and b4238) or (b2895 and b4238))rph"}rqh7Nubh)rr}rs(h UNucleotide Salvage Pathwayrth }ru(j2Gj>GjVcG?j4G?j{GjzG@uhNhU8ribonucleoside-triphosphate reductase (UTP) (flavodoxin)rvh,G@@h-Gh}rwh/h)]rx(j{j{j{jLjReRryhURNTR4c2rzh2Gh3h4hNh5Uz((b0684 and b3924 and b4238 and b4237) or (b2895 and b3924 and b4238 and b4237) or (b0684 and b4238) or (b2895 and b4238))r{h"}r|h7Nubh)r}}r~(h UPentose Phosphate Pathwayrh }r(jG0GjG?uhNhU ribulose 5-phosphate 3-epimeraserh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb3386rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4301rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhURPErh2Gh3h4hNh5U(b4301 or b3386)rh"}rh7Nubh)r}r(h UPentose Phosphate Pathwayrh }r(j=GjG0G?uhNhUribose-5-phosphate isomeraserh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb2914rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubjDeRrhURPIrh2Gh3h4hNh5U(b2914 or b4090)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j"=G?jGjG?j4GuhNhU&alpha-ribazole 5-phosphate phosphataserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0638rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhURZ5PPrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhUSufSE with bound sulfurrh}rhU sufsesh_crhUEhKhGhh)r}r(hNhUHS2Rrh}rh"}rh$}r(UHKUSKURKuhjubh&Uch"}rh(h)]RrubGj Gj-G?h)r}r(hNhNhU"SufBCD with bound [2Fe-2S] clusterrh}rhUsufbcd__2fe2s_crhUEhJhGhh)r}r(hNhU H4O2S8Fe2Rrh}rh"}rh$}r(UHKUSKURKUFeKUOKuhjubh&Uch"}rh(h)]RrubG?h)r}r(hNhNhUSufBCD scaffold complexrh}rhUsufbcd_crhUEhKhGhh)r}r(hNhUH8O2S6Rrh}rh"}rh$}r(UHKUSKURKUOKuhjubh&Uch"}rh(h)]RrubGj>G@h)r}r(hNhNhUSufSE sulfur acceptor complexrh}rhUsufse_crhUEhKhGhh)r}r(hNhUHSRrh}rh"}rh$}r(UHKUSKURKuhjubh&Uch"}rh(h)]RrubG?jG?j4GjDQGuhNhUSUF [2Fe-2S] regenerationrh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1680rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1681rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1682rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1679rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r (hNj!KhNhUb1683r h}r j!hj hNhNj!Kh&Nh"}r j!U+h(h)]Rr ubeRrhUS2FE2SRrh2Gh3h4hNh5U/(b1683 and b1682 and b1681 and b1679 and b1680)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGj7GjG?j>G@j4Gj GjGjG?j-G?jG@jG?j6GuhNhUSUF [2Fe-2S] Synthesisrh,G@@h-Gh}rh/h)]r(jjjjjjeRrhUS2FE2SSrh2Gh3h4hNh5U9(b3807 and b1683 and b1682 and b1681 and b1679 and b1680)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r (jGh)r!}r"(hNhNhU'SufBCD with two bound [2Fe-2S] clustersr#h}r$hUsufbcd__2fe2s2_cr%hUEhJhGhh)r&}r'(hNhU O2S10Fe4Rr(h}r)h"}r*h$}r+(USK URKUFeKUOKuhj(ubh&Uch"}r,h(h)]Rr-ubG?jGj7Gj GjG?j6Gj-G?jG@jG?j4Gj>G@uhNhUSUF [2Fe-2S] Synthesis IIr.h,G@@h-Gh}r/h/h)]r0(jjjjjjeRr1hUS2FE2SS2r2h2Gh3h4hNh5U9(b3807 and b1683 and b1682 and b1681 and b1679 and b1680)r3h"}r4h7Nubh)r5}r6(h U*Cofactor and Prosthetic Group Biosynthesisr7h }r8(jG?jGjPG?j>GuhNhUSUF [2Fe-2S] Transferr9h,G@@h-Gh}r:h/h)]r;(j!)r<}r=(hNj!KhNhUb1684r>h}r?j!hj>hNhNj!Kh&Nh"}r@j!U+h(h)]RrAubjjjeRrBhUS2FE2STrCh2Gh3h4hNh5U%(b1684 and b1683 and b1682 and b1681)rDh"}rEh7Nubh)rF}rG(h U*Cofactor and Prosthetic Group BiosynthesisrHh }rI(j7Gj!GjG?h)rJ}rK(hNhNhU"SufBCD with bound [4Fe-4S] clusterrLh}rMhUsufbcd__4fe4s_crNhUEhJhGhh)rO}rP(hNhU H4O2S10Fe4RrQh}rRh"}rSh$}rT(UHKUSK URKUFeKUOKuhjQubh&Uch"}rUh(h)]RrVubG?j>GuhNhUSUF [4Fe-4S] ReductionrWh,G@@h-Gh}rXh/h)]rY(jjjeRrZhUS4FE4SRr[h2Gh3h4hNh5U(b1683 and b1682 and b1681)r\h"}r]h7Nubh)r^}r_(h U*Cofactor and Prosthetic Group Biosynthesisr`h }ra(jJGjG?j>GjG?uhNhUSUF [4Fe-4S] Transferrbh,G@@h-Gh}rch/h)]rd(j<jjjeRrehUS4FE4STrfh2Gh3h4hNh5U%(b1684 and b1683 and b1682 and b1681)rgh"}rhh7Nubh)ri}rj(h U+Lipopolysaccharide Biosynthesis / Recyclingrkh }rl(jˌG?jGuhNhU#sedoheptulose 7-phosphate isomerasermh,G@@h-Gh}rnh/h)]roj!)rp}rq(hNj!KhNhUb0222rrh}rsj!hjrhNhNj!Kh&Nh"}rtj!U+h(h)]RruubaRrvhUS7PIrwh2Gh3h4hNh5jrh"}rxh7Nubh)ry}rz(h UArginine and Proline Metabolismr{h }r|(j -G?jLG@h)r}}r~(hNhNhUN2-Succinyl-L-ornithinerh}rhUsucorn_crhUEhJhGhh)r}r(hNhU C9H15N2O5rh}rh"}rh$}r(UHKUCK UOKUNKuhjubh&Uch"}rh(h)]RrubG?jtOGj>Gj4GuhNhUSuccinylarginine dihydrolaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1745rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUSADHrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCysteine Metabolismrh }r(j Gj4<G?jTG?j=G?jGj4GjG?jGuhNhUSulfate adenyltransferaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2751rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2752rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUSADT2rh2Gh3h4hNh5U(b2751 and b2752)rh"}rh7Nubh)r}r(h UGlycine and Serine Metabolismrh }r(j1G?j"uG?j*GhG?j4Gh)r}r(hNhNhU Sarcosinerh}rhUsarcs_crhUEhKhGhh)r}r(hNhUC3H7NO2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubGuhNhUsarcosine oxidaserh,G@@h-Gh}rh/h)]rj,aRrhUSARCOXrh2Gh3h4hNh5Ub1059rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jG?j>G?jWEG?h)r}r(hNhNhUD-Sorbitol 6-phosphaterh}rhUsbt6p_crhUEhJhGhh)r}r(hNhUC6H13O9Prh}rh"}rh$}r(UHK UCKUOK UPKuhjubh&Uch"}rh(h)]RrubGjGuhNhU"sorbitol-6-phosphate dehydrogenaserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb2705rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUSBTPDrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(h)r}r(hNhNhU D-Sorbitolrh}rhUsbt__D_prhUEhKhGhh)r}r(hNhUC6H14O6rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uph"}rh(h)]RrubGj5Gj5G?jG?uhNhU0D-sorbitol transport via PEP:Pyr PTS (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2704rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2703rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj5j!)r}r(hNj!KhNhUb2702rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj6eRrhUSBTptsppr h2Gh3h4hNh5U/(b2415 and b2416 and b2702 and b2704 and b2703)r h"}r h7Nubh)r }r (h UTransport, Outer Membrane Porinrh }r(jG?jGuhNhU?D-sorbitol transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUSBTtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jG?j[G?jGjGuhNhUSUF Cysteine desulfurationrh,G@@h-Gh}rh/h)]r(jjeRrhUSCYSDSrh2Gh3h4hNh5U(b1679 and b1680)r h"}r!h7Nubh)r"}r#(h UThreonine and Lysine Metabolismr$h }r%(j4GjNbG?j\NG?h)r&}r'(hNhNhU&N-Succinyl-LL-2,6-diaminoheptanedioater(h}r)hUsl26da_cr*hUEhJhGhh)r+}r,(hNhU C11H16N2O7r-h}r.h"}r/h$}r0(UHKUCK UOKUNKuhj-ubh&Uch"}r1h(h)]Rr2ubGuhNhU&succinyl-diaminopimelate desuccinylaser3h,G@@h-Gh}r4h/h)]r5j!)r6}r7(hNj!KhNhUb2472r8h}r9j!hj8hNhNj!Kh&Nh"}r:j!U+h(h)]Rr;ubaRr<hUSDPDSr=h2Gh3h4hNh5j8h"}r>h7Nubh)r?}r@(h UThreonine and Lysine MetabolismrAh }rB(jG?j2Gj&Gh)rC}rD(hNhNhU'N-Succinyl-2-L-amino-6-oxoheptanedioaterEh}rFhUsl2a6o_crGhUEhJhGhh)rH}rI(hNhU C11H12NO8rJh}rKh"}rLh$}rM(UHK UCK UOKUNKuhjJubh&Uch"}rNh(h)]RrOubG?uhNhU$succinyldiaminopimelate transaminaserPh,G@@h-G@h}rQh/h)]rRj9aRrShUSDPTArTh2Gh3h4hNh5Ub3359rUh"}rVh7Nubh)rW}rX(h U tRNA ChargingrYh }rZ(h)r[}r\(hNhNhUL-Seryl-tRNA(Sec)r]h}r^hUsertrna[sec]_cr_hUEhKhGhh)r`}ra(hNhUC3H6NO2Rrbh}rch"}rdh$}re(UHKUCKURKUOKUNKuhjbubh&Uch"}rfh(h)]RrgubGj>G?jG?h)rh}ri(hNhNhUSelenophosphaterjh}rkhUselnp_crlhUEhJhGhh)rm}rn(hNhUH2O3PSeroh}rph"}rqh$}rr(UHKUSeKUOKUPKuhjoubh&Uch"}rsh(h)]RrtubGh)ru}rv(hNhNhUL-Selenocysteinyl-tRNA(Sec)rwh}rxhU sectrna_cryhUEhKhGhh)rz}r{(hNhU C3H6NOSeRr|h}r}h"}r~h$}r(UCKUHKUOKUNKURKUSeKuhj|ubh&Uch"}rh(h)]RrubG?uhNhUselenocysteine synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3591rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUSELCYSSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(h)r}r(hNhNhUSelenodiglutathionerh}rhUdgslnt_crhUEhJhGhh)r}r(hNhUC20H30N6O12S2Serh}rh"}rh$}r(UCKUHKUOK UNKUSKUSeKuhjubh&Uch"}rh(h)]RrubG?j>Gh)r}r(hNhNhUseleniterh}rhUslnt_crhUEhJhGhh)r}r(hNhUO3Serh}rh"}rh$}r(USeKUOKuhjubh&Uch"}rh(h)]RrubGjwGj4G@jPOG?uhNhUselenate glutathione reductaserh,G@@h-Gh}rh/h)]RrhUSELGTHRrh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jGjCGh)r}r(hNhNhUGlutathiolselenolaterh}rhUgslnt_crhUEhJhGhh)r}r(hNhU C10H16N3O6SSerh}rh"}rh$}r(UCK UHKUOKUNKUSKUSeKuhjubh&Uch"}rh(h)]RrubG?j>GjwG?j)G?uhNhU!selenate glutathione reductase IIrh,G@@h-Gh}rh/h)]RrhUSELGTHR2rh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(h)r}r(hNhNhUSeleniderh}rhUseln_crhUEhJhGhh)r}r(hNhUHSerh}rh"}rh$}r(UHKUSeKuhjubh&Uch"}rh(h)]RrubG?jGjCGjwG?j)G?uhNhU"selenate glutathione reductase IIIrh,G@@h-Gh}rh/h)]RrhUSELGTHR3rh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h U Unassignedrh }r(j GjhG?j%G?jGjG?j4GuhNhUSelenophosphate synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1764rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUSELNPSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(h)r}r(hNhNhUSelenaterh}rhUsel_crhUEhJhGhh)r}r(hNhUO4Serh}rh"}rh$}r(USeKUOKuhjubh&Uch"}rh(h)]RrubGjG?j4G?jDNG?jGuhNhUselenate reductaserh,G@@h-Gh}rh/h)]r(jjjij jjieRrhUSELRrh2Gh3h4hNh5U%(b1587 and b1588 and b1589 and b1590)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGh)r }r (hNhNhUSelenater h}r hUsel_pr hUEhJhGhh)r}r(hNhUO4Serh}rh"}rh$}r(USeKUOKuhjubh&Uph"}rh(h)]RrubG?uhNhU=selenate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUSELtexrh2Gh3h4hNh5U"(b1377 or b0929 or b2215 or b0241)rh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r (j>G@jG?j"Gj GuhNhU1selenate transport via proton symport (periplasm)r!h,G@@h-Gh}r"h/h)]r#(jjjìjϬeRr$hUSELtppr%h2Gh3h4hNh5U%(b2422 and b2425 and b2424 and b2423)r&h"}r'h7Nubh)r(}r)(h U*Cofactor and Prosthetic Group Biosynthesisr*h }r+(j -G?j2Gh)r,}r-(hNhNhU>2-succinyl-5-enolpyruvyl-6-hydroxy-3-cyclohexene-1-carboxylater.h}r/hU 2sephchc_cr0hUEhJhGhh)r1}r2(hNhUC14H13O9r3h}r4h"}r5h$}r6(UHK UCKUOK uhj3ubh&Uch"}r7h(h)]Rr8ubG?jGj>GuhNhUG2-succinyl-5-enolpyruvyl-6-hydroxy-3-cyclohexene-1-carboxylate synthaser9h,G@@h-Gh}r:h/h)]r;j!)r<}r=(hNj!KhNhUb2264r>h}r?j!hj>hNhNj!Kh&Nh"}r@j!U+h(h)]RrAubaRrBhUSEPHCHCSrCh2Gh3h4hNh5j>h"}rDh7Nubh)rE}rF(h U*Cofactor and Prosthetic Group BiosynthesisrGh }rH(j GjqG?j>GjTG?jGuhNhU(L-seryl)adenylate synthaserIh,G@@h-G@h}rJh/h)]rKj!)rL}rM(hNj!KhNhUb0586rNh}rOj!hjNhNhNj!Kh&Nh"}rPj!U+h(h)]RrQubaRrRhUSERASrrSh2Gh3h4hNh5jNh"}rTh7Nubh)rU}rV(h UCysteine MetabolismrWh }rX(jGjG?j:G?jGuhNhUserine O-acetyltransferaserYh,G@@h-G@h}rZh/h)]r[j!)r\}r](hNj!KhNhUb3607r^h}r_j!hj^hNhNj!Kh&Nh"}r`j!U+h(h)]RraubaRrbhUSERATrch2Gh3h4hNh5j^h"}rdh7Nubh)re}rf(h UGlycine and Serine Metabolismrgh }rh(jqlGjLG?j5G?uhNhUD-serine deaminaserih,G@@h-Gh}rjh/h)]rkj!)rl}rm(hNj!KhNhUb2366rnh}roj!hjnhNhNj!Kh&Nh"}rpj!U+h(h)]RrqubaRrrhUSERD_Drsh2Gh3h4hNh5jnh"}rth7Nubh)ru}rv(h UGlycine and Serine Metabolismrwh }rx(jGjLG?j5G?uhNhUL-serine deaminaseryh,G@@h-Gh}rzh/h)]r{(j!)r|}r}(hNj!KhNhUb1814r~h}rj!hj~hNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2797rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4471rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj^eRrhUSERD_Lrh2Gh3h4hNh5U"(b4471 or b1814 or b2797 or b3708)rh"}rh7Nubh)r}r(h U tRNA Chargingrh }r(j GjTG?h)r}r(hNhNhUL-Seryl-tRNA(Ser)rh}rhU sertrna_crhUEhKhGhh)r}r(hNhUC3H6NO2Rrh}rh"}rh$}r(UHKUCKURKUOKUNKuhjubh&Uch"}rh(h)]RrubG?h)r}r(hNhNhU tRNA(Ser)rh}rhU trnaser_crhUEhKhGhh)r}r(hNhURh}rh"}rh$}rURKshURubh&Uch"}rh(h)]RrubGjGj%G?uhNhUSeryl-tRNA synthetaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0893rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUSERTRSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U tRNA Chargingrh }r(jGh)r}r(hNhNhU tRNA(SeCys)rh}rhU trnasecys_crhUEhKhGhh)r}r(hNhURh}rh"}rh$}rURKshURubh&Uch"}rh(h)]RrubGjTG?j[G?j Gj%G?uhNhU%Seryl-tRNA synthetase (selenocystein)rh,G@@h-Gh}rh/h)]rjaRrhUSERTRS2rh2Gh3h4hNh5Ub0893rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j"Gj>G?jG?jЍGuhNhUG?uhNhUS-Formylglutathione hydralaserh,G@@h-Gh}r h/h)]r (j!)r }r (hNj!KhNhUb2154r h}rj!hj hNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0355rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUSFGTHirh2Gh3h4hNh5U(b2154 or b0355)rh"}rh7Nubh)r}r(h UArginine and Proline Metabolismrh }r(jG?j4Gh)r}r (hNhNhUN2-Succinyl-L-glutamater!h}r"hUsucglu_cr#hUEhJhGhh)r$}r%(hNhUC9H10NO7r&h}r'h"}r(h$}r)(UHK UCK UOKUNKuhj&ubh&Uch"}r*h(h)]Rr+ubGj\NG?uhNhUSuccinylglutamate desuccinylaser,h,G@@h-Gh}r-h/h)]r.j!)r/}r0(hNj!KhNhUb1744r1h}r2j!hj1hNhNj!Kh&Nh"}r3j!U+h(h)]Rr4ubaRr5hUSGDSr6h2Gh3h4hNh5j1h"}r7h7Nubh)r8}r9(h UArginine and Proline Metabolismr:h }r;(jG?jG?j>G@h)r<}r=(hNhNhU&N2-Succinyl-L-glutamate 5-semialdehyder>h}r?hUsucgsa_cr@hUEhJhGhh)rA}rB(hNhUC9H11NO6rCh}rDh"}rEh$}rF(UHK UCK UOKUNKuhjCubh&Uch"}rGh(h)]RrHubGjGj4GuhNhU+Succinylglutamic semialdehyde dehydrogenaserIh,G@@h-Gh}rJh/h)]rKj!)rL}rM(hNj!KhNhUb1746rNh}rOj!hjNhNhNj!Kh&Nh"}rPj!U+h(h)]RrQubaRrRhUSGSADrSh2Gh3h4hNh5jNh"}rTh7Nubh)rU}rV(h U*Cofactor and Prosthetic Group BiosynthesisrWh }rX(h)rY}rZ(hNhNhU52-Succinyl-6-hydroxy-2,4-cyclohexadiene-1-carboxylater[h}r\hU2shchc_cr]hUEhJhGhh)r^}r_(hNhUC11H10O6r`h}rah"}rbh$}rc(UHK UCK UOKuhj`ubh&Uch"}rdh(h)]RreubG?j5G?j,GuhNhU>2-succinyl-6-hydroxy-2,4-cyclohexadiene 1-carboxylate synthaserfh,G@@h-Gh}rgh/h)]rhj!)ri}rj(hNj!KhNhUb2263rkh}rlj!hjkhNhNj!Kh&Nh"}rmj!U+h(h)]RrnubaRrohUSHCHCS3rph2Gh3h4hNh5jkh"}rqh7Nubh)rr}rs(h U*Cofactor and Prosthetic Group Biosynthesisrth }ru(jG?j>G?h)rv}rw(hNhNhUdihydrosirohydrochlorinrxh}ryhUdscl_crzhUEhJhGhh)r{}r|(hNhU C42H41N4O16r}h}r~h"}rh$}r(UHK)UCK*UOKUNKuhj}ubh&Uch"}rh(h)]RrubGjGh)r}r(hNhNhUsirohydrochlorinrh}rhUscl_crhUEhJhGhh)r}r(hNhU C42H39N4O16rh}rh"}rh$}r(UHK'UCK*UOKUNKuhjubh&Uch"}rh(h)]RrubG?uhNhU$sirohydrochlorin dehydrogenase (NAD)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3368rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUSHCHD2rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGj>G@j6GjYG?uhNhUsirohydrochlorin ferrochelataserh,G@@h-Gh}rh/h)]rjaRrhUSHCHFrh2Gh3h4hNh5Ub3368rh"}rh7Nubh)r}r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(jhGj)G?j>Gh)r}r(hNhNhU Shikimaterh}rhUskm_crhUEhJhGhh)r}r(hNhUC7H9O5rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uch"}rh(h)]RrubG?jCGuhNhUshikimate dehydrogenaserh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb3281rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubjeRrhUSHK3Drrh2Gh3h4hNh5U(b1692 or b3281)rh"}rh7Nubh)r}r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(j Gj>G?j-G?jGjG?uhNhUshikimate kinaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0388rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3390rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUSHKKrh2Gh3h4hNh5U(b3390 or b0388)rh"}rh7Nubh)r}r(h UMethionine Metabolismrh }r(j_Gjf_G?j>G?j\NG?jGuhNhU'O-succinylhomoserine lyase (L-cysteine)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3939rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUSHSL1rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?h)r}r(hNhNhU Shikimaterh}rhUskm_prhUEhJhGhh)r}r(hNhUC7H9O5rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uph"}rh(h)]RrubGj"GjG?uhNhU5shikimate transport in via proton symport (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1981rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUSKMt2pprh2Gh3h4hNh5jh"}rh7Nubh)r }r (h UTransport, Outer Membrane Porinr h }r (jG?jGuhNhU>shikimate transport via diffusion (extracellular to periplasm)r h,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUSKMtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(h)r}r(hNhNhUseleniterh}rhUslnt_prhUEhJhGhh)r}r(hNhUO3Serh}r h"}r!h$}r"(USeKUOKuhjubh&Uph"}r#h(h)]Rr$ubG?jGuhNhU=selenite transport via diffusion (extracellular to periplasm)r%h,G@@h-G@h}r&h/h)]r'(j!j!j!j!eRr(hUSLNTtexr)h2Gh3h4hNh5U"(b1377 or b0929 or b2215 or b0241)r*h"}r+h7Nubh)r,}r-(h U&Inorganic Ion Transport and Metabolismr.h }r/(jG?j"Gj>G?jGuhNhU1selenite transport via proton symport (periplasm)r0h,G@@h-Gh}r1h/h)]r2(jϬjjìjeRr3hUSLNTtppr4h2Gh3h4hNh5U%(b2422 and b2425 and b2424 and b2423)r5h"}r6h7Nubh)r7}r8(h UTransport, Outer Membrane Porinr9h }r:(jGh)r;}r<(hNhNhUsulfur dioxider=h}r>hUso2_pr?hUEhKhGhh)r@}rA(hNhUO2SrBh}rCh"}rDh$}rE(USKUOKuhjBubh&Uph"}rFh(h)]RrGubG?uhNhU8SO2 transport via diffusion (extracellular to periplasm)rHh,G@@h-G@h}rIh/h)]rJ(j!j!j!j!eRrKhUSO2texrLh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rMh"}rNh7Nubh)rO}rP(h U&Inorganic Ion Transport and MetabolismrQh }rR(j;Gj/_G?uhNhU'SO2 transport via diffusion (periplasm)rSh,G@@h-G@h}rTh/h)]rUjB4aRrVhUSO2tpprWh2Gh3h4hNh5Us0001rXh"}rYh7Nubh)rZ}r[(h UTransport, Outer Membrane Porinr\h }r](j"^G?j,GuhNhUG?jG?uhNhU@sulfate transport in via proton symport (periplasm to cytoplasm)rvh,G@@h-Gh}rwh/h)]rxj!)ry}rz(hNj!KhNhUb1206r{h}r|j!hj{hNhNj!Kh&Nh"}r}j!U+h(h)]Rr~ubaRrhUSO4t2pprh2Gh3h4hNh5j{h"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jiG?jAGuhNhUG?jG?jfGh)r}r(hNhNhUN1-Acetylspermidinerh}rhU N1aspmd_crhUEhKhGhh)r}r(hNhUC9H23N3Orh}rh"}rh$}r(UHKUCK UOKUNKuhjubh&Uch"}rh(h)]RrubG?uhNhUSpermidine acetyltransferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1584rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUSPMDAT1rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UArginine and Proline Metabolismrh }r(h)r}r(hNhNhUN8-Acetylspermidinerh}rhU n8aspmd_crhUEhKhGhh)r}r(hNhUC9H23N3Orh}rh"}rh$}r(UHKUCK UOKUNKuhjubh&Uch"}rh(h)]RrubG?jGj>G?jG?jfGuhNhU!Spermidine acetyltransferase (N8)rh,G@@h-Gh}rh/h)]rjaRrhUSPMDAT2rh2Gh3h4hNh5Ub1584rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj-G?j>G?jG?j4Gh)r}r(hNhNhU Spermidinerh}rhUspmd_prhUEhKhGhh)r}r(hNhUC7H22N3rh}rh"}rh$}r(UHKUCKUNKuhjubh&Uph"}rh(h)]RrubGjfG?uhNhU/spermidine transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(jjjjjjjjeRrhU SPMDabcpprh2Gh3h4hNh5UP((b1126 and b1125 and b1124 and b1123) or (b1440 and b1441 and b1442 and b1443))rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j"Gj>G?jG?jfGuhNhU8spermidine transport out via proton antiport (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1599rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1600rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUSPMDt3pprh2Gh3h4hNh5U(b1599 and b1600)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jVGjG?uhNhU?spermidine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUSPMDtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UArginine and Proline Metabolismr h }r (jGjHG?j>G?jfG?jq<GuhNhUspermidine synthaser h,G@@h-Gh}r h/h)]r jHaRrhUSPMSrh2Gh3h4hNh5Ub0121rh"}rh7Nubh)r}r(h U Unassignedrh }r(j1G?j*G?j>GjuGuhNhUsuperoxide dismutaserh,Gh-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1656rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r (hNj!KhNhUb3908r!h}r"j!hj!hNhNj!Kh&Nh"}r#j!U+h(h)]Rr$ubeRr%hUSPODMr&h2Gh3h4hNh5U(b3908 or b1656)r'h"}r(h7Nubh)r)}r*(h U Unassignedr+h }r,(j7Gj"Gj.G?j.G?uhNhUsuperoxide dismutaser-h,Gh-Gh}r.h/h)]r/j!)r0}r1(hNj!KhNhUb1646r2h}r3j!hj2hNhNj!Kh&Nh"}r4j!U+h(h)]Rr5ubaRr6hUSPODMppr7h2Gh3h4hNh5j2h"}r8h7Nubh)r9}r:(h UArginine and Proline Metabolismr;h }r<(jG?jGj4Gj>G@j1Gj\NG?uhNhU*succinate-semialdehyde dehydrogenase (NAD)r=h,G@@h-Gh}r>h/h)]r?j!)r@}rA(hNj!KhNhUb1525rBh}rCj!hjBhNhNj!Kh&Nh"}rDj!U+h(h)]RrEubaRrFhUSSALxrGh2Gh3h4hNh5jBh"}rHh7Nubh)rI}rJ(h UArginine and Proline MetabolismrKh }rL(j1Gj4Gj>G@j\NG?jCG?j)GuhNhU+succinate-semialdehyde dehydrogenase (NADP)rMh,G@@h-Gh}rNh/h)]rO(j!)rP}rQ(hNj!KhNhUb2661rRh}rSj!hjRhNhNj!Kh&Nh"}rTj!U+h(h)]RrUubj@eRrVhUSSALyrWh2Gh3h4hNh5U(b2661 or b1525)rXh"}rYh7Nubh)rZ}r[(h UTransport, Inner Membraner\h }r](jG?jWG?j\NGjLGuhNhU*succinate:aspartate antiporter (periplasm)r^h,Gh-Gh}r_h/h)]r`(j}jOj OeRrahU SUCASPtpprbh2Gh3h4hNh5U(b4138 or b4123 or b0621)rch"}rdh7Nubh)re}rf(h U*Cofactor and Prosthetic Group Biosynthesisrgh }rh(j GjTG?h)ri}rj(hNhNhUo-Succinylbenzoaterkh}rlhUsucbz_crmhUEhJhGhh)rn}ro(hNhUC11H8O5rph}rqh"}rrh$}rs(UHKUCK UOKuhjpubh&Uch"}rth(h)]RruubGjGj2gG?j%G?uhNhUo-succinylbenzoate-CoA ligaservh,G@@h-Gh}rwh/h)]rxj!)ry}rz(hNj!KhNhUb2260r{h}r|j!hj{hNhNj!Kh&Nh"}r}j!U+h(h)]Rr~ubaRrhUSUCBZLrh2Gh3h4hNh5j{h"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jYGj4G?jiG?uhNhUO-succinylbenzoate-CoA synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2261rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUSUCBZSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jWGj"Gj>G@j\NG?uhNhU8succinate transport via proton symport (2 H) (periplasm)rh,G@@h-Gh}rh/h)]rjNaRrhU SUCCt2_2pprh2Gh3h4hNh5Ub3528rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G@jWGj"Gj\NG?uhNhU9Succintate transport via proton symport (3 H) (periplasm)rh,G@@h-Gh}rh/h)]r(j OjOeRrhU SUCCt2_3pprh2Gh3h4hNh5U(b4123 or b4138)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?j"Gj\NGjWG?uhNhU7succinate transport out via proton antiport (periplasm)rh,G@@h-Gh}rh/h)]RrhUSUCCt3pprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jkGjWG?uhNhU>succinate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUSUCCtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(j>G?jNGjG?j\NGuhNhU&succinate dehydrogenase (irreversible)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0723rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0724rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0722rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0721rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUSUCDirh2Gh3h4hNh5U%(b0721 and b0722 and b0723 and b0724)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?jWG?j}Gj\NGuhNhU)succinate:fumarate antiporter (periplasm)rh,Gh-Gh}rh/h)]r(j}jOj OeRrhU SUCFUMtpprh2Gh3h4hNh5U(b4123 or b0621 or b4138)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j}G?jWG?j֤Gj\NGuhNhU'succinate:malate antiporter (periplasm)rh,Gh-Gh}rh/h)]r(j}jOj OeRrhU SUCMALtpprh2Gh3h4hNh5U(b4138 or b4123 or b0621)rh"}rh7Nubh)r}r(h UCitric Acid Cyclerh }r(j GjG?j-G?j\NGjG?jGuhNhU%succinyl-CoA synthetase (ADP-forming)rh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb0728rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0729rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUSUCOASr h2Gh3h4hNh5U(b0728 and b0729)r h"}r h7Nubh)r }r (h UTransport, Outer Membrane Porinrh }r(h)r}r(hNhNhUSucroserh}rhUsucr_prhUEhKhGhh)r}r(hNhU C12H22O11rh}rh"}rh$}r(UHKUCK UOK uhjubh&Uph"}rh(h)]RrubG?jGuhNhUFsucrose transport transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRr hUSUCRtexr!h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r"h"}r#h7Nubh)r$}r%(h UTransport, Inner Membraner&h }r'(h)r(}r)(hNhNhU D-tartrater*h}r+hU tartr__D_pr,hUEhJhGhh)r-}r.(hNhUC4H4O6r/h}r0h"}r1h$}r2(UHKUCKUOKuhj/ubh&Uph"}r3h(h)]Rr4ubGjlG?j\NGjWG?uhNhU+succinate:D-tartrate antiporter (periplasm)r5h,Gh-Gh}r6h/h)]r7jOaRr8hU SUCTARTtppr9h2Gh3h4hNh5Ub4123r:h"}r;h7Nubh)r<}r=(h UTransport, Inner Membraner>h }r?(jGj5Gj5G?jazG?uhNhU*sucrose transport via PEP:Pyr (periplasm)r@h,G@@h-Gh}rAh/h)]rB(j5j6j5j7eRrChUSUCptspprDh2Gh3h4hNh5U%(b2417 and b2429 and b2415 and b2416)rEh"}rFh7Nubh)rG}rH(h UTransport, Inner MembranerIh }rJ(j GjvG?j>G?h)rK}rL(hNhNhU sulfoacetaterMh}rNhUsulfac_prOhUEhJhGhh)rP}rQ(hNhUC2H2O5SrRh}rSh"}rTh$}rU(UHKUCKUSKUOKuhjRubh&Uph"}rVh(h)]RrWubGj-G?jG?j4GuhNhU1sulfoacetate transport via ABC system (periplasm)rXh,G@@h-Gh}rYh/h)]rZ(jQjQjQeRr[hU SULFACabcppr\h2Gh3h4hNh5U(b0936 and b0933 and b0934)r]h"}r^h7Nubh)r_}r`(h UTransport, Outer Membrane Porinrah }rb(jGjKG?uhNhU@sulfoaceate transport via diffusion (extracellular to periplasm)rch,G@@h-G@h}rdh/h)]re(j!j!j!j!eRrfhU SULFACtexrgh2Gh3h4hNh5U"(b1377 or b2215 or b0241 or b0929)rhh"}rih7Nubh)rj}rk(h UCysteine Metabolismrlh }rm(jCGj4G@j^G?j>Gj)G@j]GuhNhUsulfite reductase (NADPH2)rnh,G@@h-Gh}roh/h)]rp(jtjteRrqhUSULRirrh2Gh3h4hNh5U(b2763 and b2764)rsh"}rth7Nubh)ru}rv(h U&Inorganic Ion Transport and Metabolismrwh }rx(j Gj>G?jG?j-G?jiGjG?j4GuhNhU,sulfate transport via ABC system (periplasm)ryh,G@@h-Gh}rzh/h)]r{(jjɬjլjjìjϬjjeRr|hUSULabcppr}h2Gh3h4hNh5Uo((b2422 and b2425 and b2424 and b2423) or (b0763 and b0764 and b0765) or (b2422 and b2424 and b2423 and b3917))r~h"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(jm-G?j(GuhNhUtrans-2-decenoyl-ACP isomeraserh,G@@h-G@h}rh/h)]rj)aRrhUT2DECAIrh2Gh3h4hNh5Ub0954rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j1FGjG?j>G?jGj́G?uhNhUtagaturonate reductaserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb1521rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTAGURrrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UPentose Phosphate Pathwayrh }r(jGdG?jGjWEG?j~dGuhNhU transaldolaserh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb0008rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2464rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUTALArh2Gh3h4hNh5U(b2464 or b0008)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j4G?h)r}r(hNhNhU L-tartraterh}rhU tartr__L_crhUEhJhGhh)r}r(hNhUC4H4O6rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uch"}rh(h)]RrubGjNG?uhNhUL(+)-tartrate dehydrataserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3061rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3062rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUTARTDrh2Gh3h4hNh5U(b3061 and b3062)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGj(G?uhNhU?D-tartrate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU TARTRDtexrh2Gh3h4hNh5U"(b1377 or b2215 or b0241 or b0929)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jWG?jG?j\NGh)r}r(hNhNhU L-tartraterh}rhU tartr__L_prhUEhJhGhh)r}r(hNhUC4H4O6rh}rh"}rh$}r(UHKUCKUOKuhjubh&Uph"}rh(h)]RrubGuhNhU)Tartrate/succinate antiporter (periplasm)rh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb3063rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhU TARTRt7pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhU=Tartrate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUTARTRtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r }r (h UTransport, Inner Membraner h }r (j>G@j(Gj"GjlG?uhNhU9D-tartrate transport via proton symport (3 H) (periplasm)r h,G@@h-Gh}rh/h)]rjOaRrhU TARTt2_3pprh2Gh3h4hNh5Ub4123rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(hPG?j -G?j2Gj*Gj\NG?j>G?h)r}r(hNhNhUTaurinerh}rhUtaur_crhUEhKhGhh)r}r(hNhUC2H7NO3Srh}r h"}r!h$}r"(UHKUCKUSKUOKUNKuhjubh&Uch"}r#h(h)]Rr$ubGj]G?uhNhUTaurine dioxygenaser%h,G@@h-Gh}r&h/h)]r'j!)r(}r)(hNj!KhNhUb0368r*h}r+j!hj*hNhNj!Kh&Nh"}r,j!U+h(h)]Rr-ubaRr.hUTAUDOr/h2Gh3h4hNh5j*h"}r0h7Nubh)r1}r2(h UTransport, Inner Membraner3h }r4(j Gj>G?j-G?jG?jG?j4Gh)r5}r6(hNhNhUTauriner7h}r8hUtaur_pr9hUEhKhGhh)r:}r;(hNhUC2H7NO3Sr<h}r=h"}r>h$}r?(UHKUCKUSKUOKUNKuhj<ubh&Uph"}r@h(h)]RrAubGuhNhU,taurine transport via ABC system (periplasm)rBh,G@@h-Gh}rCh/h)]rD(jQjQjQeRrEhU TAURabcpprFh2Gh3h4hNh5U(b0365 and b0366 and b0367)rGh"}rHh7Nubh)rI}rJ(h UTransport, Outer Membrane PorinrKh }rL(jGj5G?uhNhUG?jG?h)rc}rd(hNhNhUThiamin monophosphatereh}rfhUthmmp_crghUEhJhGhh)rh}ri(hNhU C12H16N4O4PSrjh}rkh"}rlh$}rm(UCK UHKUOKUNKUPKUSKuhjjubh&Uch"}rnh(h)]RroubG?j4GuhNhUthiamin pyrophosphataserph,G@@h-Gh}rqh/h)]rrj(aRrshUTDPrth2Gh3h4hNh5Ub1134ruh"}rvh7Nubh)rw}rx(h UCell Envelope Biosynthesisryh }rz(h)r{}r|(hNhNhU$dTDP-4-amino-4,6-dideoxy-D-galactoser}h}r~hU dtdp4addg_crhUEhJhGhh)r}r(hNhU C16H26N3O14P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGjE1G?jGj>G?jG?uhNhU4dTDP-4-amino-4,6-dideoxy-D-glucose acetyltransferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3790rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTDPADGATrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j{G?jGh)r}r(hNhNhU dTDP-4-dehydro-6-deoxy-D-glucoserh}rhU dtdp4d6dg_crhUEhJhGhh)r}r(hNhU C16H22N2O15P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGj2G?uhNhU/dTDP-4-amino-4,6-dideoxy-D-glucose transaminaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3791rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTDPAGTArh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(jGh)r}r(hNhNhU dTDP-4-dehydro-6-deoxy-L-mannoserh}rhU dtdp4d6dm_crhUEhJhGhh)r}r(hNhU C16H22N2O15P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?uhNhU$dTDP-4-dehydrorhamnose 3,5-epimeraserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2038rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTDPDRErh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j G?j>GjCGj)G?jGuhNhU dTDP-4-dehydrorhamnose reductaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2040rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTDPDRRrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j|~GjG?j4G?uhNhUdTDPglucose 4,6-dehydrataserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2041rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3788rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUTDPGDHrh2Gh3h4hNh5U(b3788 or b2041)rh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j GjGj-G?j>G?jVG?uhNhUTetraacyldisaccharide 4'kinaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0915rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTDSKrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jkGjlGjkG?jkG?uhNhU thiol:disulfide reductase (DsbC)r h,G@@h-Gh}r h/h)]r (jkj4leRr hUTDSR1r h2Gh3h4hNh5U(b2893 and b4136)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jlGjHlGjTlG?jkG?uhNhU thiol:disulfide reductase (DsbG)rh,G@@h-Gh}rh/h)]r(jdlj4leRrhUTDSR2rh2Gh3h4hNh5U(b4136 and b0604)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jeG?j~dG?jsGuhNhUTagatose-bisphosphate aldolaserh,G@@h-G@h}r h/h)]r!(j!)r"}r#(hNj!KhNhUb2095r$h}r%j!hj$hNhNj!Kh&Nh"}r&j!U+h(h)]Rr'ubj!)r(}r)(hNj!KhNhUb3132r*h}r+j!hj*hNhNj!Kh&Nh"}r,j!U+h(h)]Rr-ubj!)r.}r/(hNj!KhNhUb3137r0h}r1j!hj0hNhNj!Kh&Nh"}r2j!U+h(h)]Rr3ubj!)r4}r5(hNj!KhNhUb2096r6h}r7j!hj6hNhNj!Kh&Nh"}r8j!U+h(h)]Rr9ubeRr:hUTGBPAr;h2Gh3h4hNh5U(((b3132 and b3137) or (b2095 and b2096))r<h"}r=h7Nubh)r>}r?(h UOxidative Phosphorylationr@h }rA(jGjCG?j)Gj"GjG?j>G@uhNhU#NAD(P) transhydrogenase (periplasm)rBh,G@@h-Gh}rCh/h)]rD(jϯjïeRrEhUTHD2pprFh2Gh3h4hNh5U(b1602 and b1603)rGh"}rHh7Nubh)rI}rJ(h UThreonine and Lysine MetabolismrKh }rL(jCG?jGjG?j4GjufGuhNhU"tetrahydrodipicolinate succinylaserMh,G@@h-Gh}rNh/h)]rOj!)rP}rQ(hNj!KhNhUb0166rRh}rSj!hjRhNhNj!Kh&Nh"}rTj!U+h(h)]RrUubaRrVhUTHDPSrWh2Gh3h4hNh5jRh"}rXh7Nubh)rY}rZ(h UFolate Metabolismr[h }r\(j>G?j{G?j{Gj4GuhNhU'Tetrahydrofolate aminomethyltransferaser]h,G@@h-Gh}r^h/h)]r_jCaRr`hUTHFATrah2Gh3h4hNh5Ub2551rbh"}rch7Nubh)rd}re(h U Unassignedrfh }rg(jlGj1Gj4G@jlG?uhNhU)hydrogen peroxide reductase (thioredoxin)rhh,G@@h-Gh}rih/h)]rj(j:lj.ljj!)rk}rl(hNj!KhNhUb2480rmh}rnj!hjmhNhNj!Kh&Nh"}roj!U+h(h)]RrpubeRrqhUTHIORDXirrh2Gh3h4hNh5U1((b2480 and b3781) or (b2480 and b2582) or b1710)rsh"}rth7Nubh)ru}rv(h UTransport, Inner Membranerwh }rx(j>G?j,G?j"GjDGuhNhU5thymidine transport in via proton symport (periplasm)ryh,G@@h-Gh}rzh/h)]r{(j<j<eRr|hUTHMDt2ppr}h2Gh3h4hNh5U(b2393 or b2964)r~h"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jDGj"Gj>G?j,G?uhNhUAthymidine transport in via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]rj<aRrhU THMDt2rpprh2Gh3h4hNh5Ub2406rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jDG?jRGuhNhU>thymidine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUTHMDtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gh)r}r(hNhNhUThiaminrh}rhUthm_crhUEhKhGhh)r}r(hNhU C12H17N4OSrh}rh"}rh$}r(UHKUCK USKUOKUNKuhjubh&Uch"}rh(h)]RrubG?h)r}r(hNhNhUThiaminrh}rhUthm_prhUEhKhGhh)r}r(hNhU C12H17N4OSrh}rh"}rh$}r(UHKUCK USKUOKUNKuhjubh&Uph"}rh(h)]RrubGj>G?j-G?jG?j4GuhNhU-thiamine transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0067rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0066rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb0068rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUTHMabcpprh2Gh3h4hNh5U(b0068 and b0067 and b0066)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhU=Thiamine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUTHMtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UThreonine and Lysine Metabolismrh }r(jOGj4G?hG?uhNhUL-allo-Threonine Aldolaserh,G@@h-Gh}rh/h)]r(j CjCeRrhUTHRA2irh2Gh3h4hNh5U(b2551 or b0870)rh"}rh7Nubh)r}r(h UThreonine and Lysine Metabolismrh }r(jGj4G?hG?uhNhUThreonine aldolaserh,G@@h-Gh}rh/h)]r(j CjCeRrhUTHRAirh2Gh3h4hNh5U(b2551 or b0870)rh"}rh7Nubh)r}r(h UGlycine and Serine Metabolismrh }r(jG?j>G?jHG?jGjGuhNhUL-threonine dehydrogenaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3616rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTHRDrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Valine, Leucine, and Isoleucine Metabolismrh }r(jZ6G?jGjLG?uhNhUL-threonine deaminaserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3772rh}rj!hjhNhNj!Kh&Nh"}r j!U+h(h)]Rr ubj!)r }r (hNj!KhNhUb3117r h}rj!hj hNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUTHRD_Lrh2Gh3h4hNh5U(b3117 or b3772)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j?G?j(GuhNhUHphospho-L-threonine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUTHRPtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r }r!(h UThreonine and Lysine Metabolismr"h }r#(jBGj4GjG?jG?uhNhUthreonine synthaser$h,G@@h-Gh}r%h/h)]r&j4/aRr'hUTHRSr(h2Gh3h4hNh5Ub0004r)h"}r*h7Nubh)r+}r,(h U tRNA Chargingr-h }r.(h)r/}r0(hNhNhUL-Threonyl-tRNA(Thr)r1h}r2hU thrtrna_cr3hUEhKhGhh)r4}r5(hNhUC4H8NO2Rr6h}r7h"}r8h$}r9(UHKUCKURKUOKUNKuhj6ubh&Uch"}r:h(h)]Rr;ubG?jTG?j Gh)r<}r=(hNhNhU tRNA(Thr)r>h}r?hU trnathr_cr@hUEhKhGhh)rA}rB(hNhURh}rCh"}rDh$}rEURKshURubh&Uch"}rFh(h)]RrGubGj%G?jGuhNhUThreonyl-tRNA synthetaserHh,G@@h-Gh}rIh/h)]rJj!)rK}rL(hNj!KhNhUb1719rMh}rNj!hjMhNhNj!Kh&Nh"}rOj!U+h(h)]RrPubaRrQhUTHRTRSrRh2Gh3h4hNh5jMh"}rSh7Nubh)rT}rU(h UTransport, Inner MembranerVh }rW(j Gj>G?j2Gj-G?jG?jG?j4GuhNhU0L-threonine transport via ABC system (periplasm)rXh,G@@h-Gh}rYh/h)]rZ(jCjCjCjzCjCeRr[hUTHRabcppr\h2Gh3h4hNh5U/(b3454 and b3455 and b3457 and b3460 and b3456)r]h"}r^h7Nubh)r_}r`(h UTransport, Inner Membranerah }rb(j>G?jGj"Gj2G?uhNhUG?jG?uhNhU?L-threonine reversible transport via proton symport (periplasm)rth,G@@h-G@h}ruh/h)]rvjaRrwhUTHRt2rpprxh2Gh3h4hNh5Ub3116ryh"}rzh7Nubh)r{}r|(h UTransport, Inner Membraner}h }r~(j8;GjE;G?jG?j2GuhNhU+L-threonine via sodium symport (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhUTHRt4pprh2Gh3h4hNh5Ub3089rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGj2G?uhNhU@L-threonine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUTHRtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?h)r}r(hNhNhUThyminerh}rhUthym_crhUEhKhGhh)r}r(hNhUC5H6N2O2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubGj"Gh)r}r(hNhNhUThyminerh}rhUthym_prhUEhKhGhh)r}r(hNhUC5H6N2O2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uph"}rh(h)]RrubG?uhNhU5thymine transport out via proton antiport (periplasm)rh,G@@h-Gh}rh/h)]RrhUTHYMt3pprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j=GjG?uhNhUGj)G?jG?jqGj%G?jCGj~G?jmGh)r}r(hNhNhUdehydroglycinerh}rhUdhgly_crhUEhJhGhh)r}r(hNhUC2H2NO2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubGjTG?j4G@uhNhUthiazole phosphate synthesisrh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0423rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubjj!)r}r(hNj!KhNhUb3992rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb4407rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3990rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUTHZPSN3rh2Gh3h4hNh5U/(b2530 and b3992 and b3990 and b0423 and b4407)rh"}rh7Nubh)r}r(h UPentose Phosphate Pathwayrh }r(jGj=Gj~dG?jG?uhNhU transketolaserh,G@@h-G@h}rh/h)]r(j!)r}r(hNj!KhNhUb2935rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb2465rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUTKT1rh2Gh3h4hNh5U(b2935 or b2465)rh"}rh7Nubh)r}r(h UPentose Phosphate Pathwayrh }r (jGdGjGjWEG?j~dG?uhNhU transketolaser h,G@@h-G@h}r h/h)]r (jjeRr hUTKT2rh2Gh3h4hNh5U(b2935 or b2465)rh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(h)r}r(hNhNhUtrimethylaminerh}rhUtma_crhUEhKhGhh)r}r(hNhUC3H10Nrh}rh"}rh$}r(UHK UCKUNKuhjubh&Uch"}r h(h)]Rr!ubG?h)r"}r#(hNhNhUTrimethylamine N-oxider$h}r%hUtmao_cr&hUEhKhGhh)r'}r((hNhUC3H9NOr)h}r*h"}r+h$}r,(UHK UCKUOKUNKuhj)ubh&Uch"}r-h(h)]Rr.ubGjGj>GjDNG?j4G?uhNhU/Trimethylamine N-oxide reductase (menaquinol 8)r/h,G@@h-Gh}r0h/h)]r1(jijjjijijjj jjjeRr2hUTMAOR1r3h2Gh3h4hNh5UF((b0894 and b0895 and b0896) or (b1587 and b1588 and b1589 and b1590))r4h"}r5h7Nubh)r6}r7(h UOxidative Phosphorylationr8h }r9(h)r:}r;(hNhNhUtrimethylaminer<h}r=hUtma_pr>hUEhKhGhh)r?}r@(hNhUC3H10NrAh}rBh"}rCh$}rD(UHK UCKUNKuhjAubh&Uph"}rEh(h)]RrFubG?j"GjGh)rG}rH(hNhNhUTrimethylamine N-oxiderIh}rJhUtmao_prKhUEhKhGhh)rL}rM(hNhUC3H9NOrNh}rOh"}rPh$}rQ(UHK UCKUOKUNKuhjNubh&Uph"}rRh(h)]RrSubGjDNG?j#G?uhNhU;Trimethylamine N-oxide reductase (menaquinol 8) (periplasm)rTh,G@@h-Gh}rUh/h)]rV(j!)rW}rX(hNj!KhNhUb0996rYh}rZj!hjYhNhNj!Kh&Nh"}r[j!U+h(h)]Rr\ubj!)r]}r^(hNj!KhNhUb0997r_h}r`j!hj_hNhNj!Kh&Nh"}raj!U+h(h)]Rrbubj@jjFjeRrchUTMAOR1pprdh2Gh3h4hNh5U(((b0996 and b0997) or (b1872 and b1873))reh"}rfh7Nubh)rg}rh(h UOxidative Phosphorylationrih }rj(jG?j>Gj~Gj"Gj4G?jTjG?uhNhU7Trimethylamine N-oxide reductase (demethylmenaquinol 8)rkh,G@@h-Gh}rlh/h)]rm(jijjjjeRrnhUTMAOR2roh2Gh3h4hNh5U(b0894 and b0895 and b0896)rph"}rqh7Nubh)rr}rs(h UOxidative Phosphorylationrth }ru(j:G?j~Gj"GjTjG?jGGj#G?uhNhUCTrimethylamine N-oxide reductase (demethylmenaquinol 8) (periplasm)rvh,G@@h-Gh}rwh/h)]rx(jWj]j@jjFjeRryhUTMAOR2pprzh2Gh3h4hNh5U(((b0996 and b0997) or (b1872 and b1873))r{h"}r|h7Nubh)r}}r~(h UTransport, Outer Membrane Porinrh }r(jGG?j|GuhNhUKTrimethylamine N-oxide transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUTMAOtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j:G?jgGuhNhUCTrimethylamine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUTMAtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j,Gj GjlG?j>G?j-G?uhNhU thymidine kinase (ATP:thymidine)rh,G@@h-Gh}rh/h)]rjWmaRrhUTMDK1rh2Gh3h4hNh5Ub1238rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j,GjdmG?jG?jGuhNhUthymidine phosphorylaserh,G@@h-G@h}rh/h)]rjzmaRrhUTMDPPrh2Gh3h4hNh5Ub4382rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jlG?j$GjGmGjfG?uhNhUthymidylate synthaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2827rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTMDSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j GjGj>G?j-G?jcG?uhNhUthiamine kinaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1106rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTMKrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j Gj-G?jG?jcGuhNhUthiamine-phosphate kinaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0417rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTMPKrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jTG?j>GjGjh(GjcG?uhNhU"thiamine-phosphate diphosphorylaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3993rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTMPPPrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UGlycolysis/Gluconeogenesisrh }r(jeGj~dG?uhNhUtriose-phosphate isomeraserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb3919rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTPIrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j Gh)r}r(hNhNhU+2'-(5''-triphosphoribosyl)-3'-dephospho-CoArh}rhU 2tpr3dpcoa_crhUEhJhGhh)r}r(hNhUC26H40N7O26P5Srh}rh"}rh$}r(UCKUHK(UOKUNKUPKUSKuhjubh&Uch"}rh(h)]Rr ubG?j/G?jkGuhNhU(triphosphoribosyl-dephospho-CoA synthaser h,G@@h-Gh}r h/h)]r j!)r }r(hNj!KhNhUb0613rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTPRDCOASrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UOxidative Phosphorylationrh }r(j>Gj)G?jlG?jCGjlGuhNhUthioredoxin reductase (NADPH)rh,G@@h-Gh}rh/h)]r(j.lj!)r}r(hNj!KhNhUb0888rh}r j!hjhNhNj!Kh&Nh"}r!j!U+h(h)]Rr"ubj:leRr#hUTRDRr$h2Gh3h4hNh5U(((b3781 and b0888) or (b0888 and b2582))r%h"}r&h7Nubh)r'}r((h UAlternate Carbon Metabolismr)h }r*(j1G?h)r+}r,(hNhNhU"alpha,alpha'-Trehalose 6-phosphater-h}r.hUtre6p_cr/hUEhJhGhh)r0}r1(hNhU C12H21O14Pr2h}r3h"}r4h$}r5(UHKUCK UOKUPKuhj2ubh&Uch"}r6h(h)]Rr7ubGj4GjFG?uhNhUtrehalose-6-phosphate hydrolaser8h,G@@h-Gh}r9h/h)]r:j!)r;}r<(hNj!KhNhUb4239r=h}r>j!hj=hNhNj!Kh&Nh"}r?j!U+h(h)]Rr@ubaRrAhUTRE6PHrBh2Gh3h4hNh5j=h"}rCh7Nubh)rD}rE(h UAlternate Carbon MetabolismrFh }rG(j+GjG?h)rH}rI(hNhNhU TrehaloserJh}rKhUtre_crLhUEhKhGhh)rM}rN(hNhU C12H22O11rOh}rPh"}rQh$}rR(UHKUCK UOK uhjOubh&Uch"}rSh(h)]RrTubG?j4GuhNhUtrehalose-phosphataserUh,G@@h-Gh}rVh/h)]rWj!)rX}rY(hNj!KhNhUb1897rZh}r[j!hjZhNhNj!Kh&Nh"}r\j!U+h(h)]Rr]ubaRr^hUTRE6PPr_h2Gh3h4hNh5jZh"}r`h7Nubh)ra}rb(h UAlternate Carbon Metabolismrch }rd(j7G?j+G?j1Gj>G?jGuhNhU6alpha,alpha-trehalose-phosphate synthase (UDP-forming)reh,G@@h-Gh}rfh/h)]rgj!)rh}ri(hNj!KhNhUb1896rjh}rkj!hjjhNhNj!Kh&Nh"}rlj!U+h(h)]RrmubaRrnhUTRE6PSroh2Gh3h4hNh5jjh"}rph7Nubh)rq}rr(h UAlternate Carbon Metabolismrsh }rt(j4GjHGjFG@uhNhUalpha,alpha-trehalaseruh,G@@h-Gh}rvh/h)]rwj!)rx}ry(hNj!KhNhUb3519rzh}r{j!hjzhNhNj!Kh&Nh"}r|j!U+h(h)]Rr}ubaRr~hUTREHrh2Gh3h4hNh5jzh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jE~G@j#Gh)r}r(hNhNhU Trehaloserh}rhUtre_prhUEhKhGhh)r}r(hNhU C12H22O11rh}rh"}rh$}r(UHKUCK UOK uhjubh&Uph"}rh(h)]RrubGuhNhU!alpha,alpha-trehalase (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb1197rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTREHpprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j5Gj+G?jGj5G?uhNhU/trehalose transport via PEP:Pyr PTS (periplasm)rh,G@@h-Gh}rh/h)]r(j5j5j!)r}r(hNj!KhNhUb4240rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj6eRrhUTREptspprh2Gh3h4hNh5U%(b2417 and b2415 and b2416 and b4240)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?jGuhNhU>trehalose transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUTREtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(jLG?jdGjG?j5G?j4GuhNhUTryptophanase (L-tryptophan)rh,G@@h-G@h}rh/h)]rj^aRrhUTRPAS2rh2Gh3h4hNh5Ub3708rh"}rh7Nubh)r}r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(jGjdG?j~dG?jGj4G?uhNhU.tryptophan synthase (indoleglycerol phosphate)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb1261rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb1260rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUTRPS1rh2Gh3h4hNh5U(b1260 and b1261)rh"}rh7Nubh)r}r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(jdG?jGjGj4G?uhNhUtryptophan synthase (indole)rh,G@@h-Gh}rh/h)]r(jjeRrhUTRPS2rh2Gh3h4hNh5U(b1260 and b1261)rh"}rh7Nubh)r}r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(jGj~dG?jG?uhNhU.tryptophan synthase (indoleglycerol phosphate)rh,G@@h-Gh}rh/h)]r(jjeRrhUTRPS3rh2Gh3h4hNh5U(b1260 and b1261)rh"}rh7Nubh)r}r(h U tRNA Chargingrh }r(j GjdGj%G?jTG?h)r}r(hNhNhU tRNA(Trp)rh}rhU trnatrp_crhUEhKhGhh)r}r(hNhURh}rh"}rh$}rURKshURubh&Uch"}rh(h)]RrubGh)r}r(hNhNhUL-Tryptophanyl-tRNA(Trp)rh}rhU trptrna_crhUEhKhGhh)r}r(hNhU C11H11N2ORr h}r h"}r h$}r (UHK UCK URKUOKUNKuhj ubh&Uch"}r h(h)]RrubG?uhNhUTryptophanyl-tRNA synthetaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3384rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTRPTRSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jdG?j"Gh)r}r (hNhNhU L-Tryptophanr!h}r"hUtrp__L_pr#hUEhKhGhh)r$}r%(hNhU C11H12N2O2r&h}r'h"}r(h$}r)(UHK UCK UOKUNKuhj&ubh&Uph"}r*h(h)]Rr+ubGj>G?uhNhU@L-tryptophan reversible transport via proton symport (periplasm)r,h,G@@h-G@h}r-h/h)]r.(jғjjGj!)r/}r0(hNj!KhNhUb3709r1h}r2j!hj1hNhNj!Kh&Nh"}r3j!U+h(h)]Rr4ubeRr5hUTRPt2rppr6h2Gh3h4hNh5U"(b3161 or b3709 or b1473 or b0112)r7h"}r8h7Nubh)r9}r:(h UTransport, Outer Membrane Porinr;h }r<(jGjG?uhNhUAL-tryptophan transport via diffusion (extracellular to periplasm)r=h,G@@h-G@h}r>h/h)]r?(j!j!j!j!eRr@hUTRPtexrAh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rBh"}rCh7Nubh)rD}rE(h UAlternate Carbon MetabolismrFh }rG(jGj>GjG?j܊G?jƆGuhNhU!tartronate semialdehyde reductaserHh,G@@h-G@h}rIh/h)]rJ(j!)rK}rL(hNj!KhNhUb3125rMh}rNj!hjMhNhNj!Kh&Nh"}rOj!U+h(h)]RrPubj!)rQ}rR(hNj!KhNhUb0509rSh}rTj!hjShNhNj!Kh&Nh"}rUj!U+h(h)]RrVubeRrWhUTRSARrrXh2Gh3h4hNh5U(b0509 or b3125)rYh"}rZh7Nubh)r[}r\(h U&Inorganic Ion Transport and Metabolismr]h }r^(j Gj^G?j-G?j>G?j/^Gj4GjG?uhNhU0thiosulfate transport via ABC system (periplasm)r_h,G@@h-Gh}r`h/h)]ra(jjjjìjϬeRrbhU TSULabcpprch2Gh3h4hNh5UP((b2422 and b2425 and b2424 and b2423) or (b2422 and b2424 and b2423 and b3917))rdh"}reh7Nubh)rf}rg(h UTransport, Outer Membrane Porinrhh }ri(j/^G?jGuhNhU@thiosulfate transport via diffusion (extracellular to periplasm)rjh,G@@h-G@h}rkh/h)]rl(j!j!j!j!eRrmhUTSULtexrnh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)roh"}rph7Nubh)rq}rr(h UTransport, Outer Membranersh }rt(jGjsG?uhNhU\Tetradecanoate transport via facilitated irreversible diffusion (extracellular to periplasm)ruh,G@@h-Gh}rvh/h)]rwjcaRrxhU TTDCAtexiryh2Gh3h4hNh5Ub2344rzh"}r{h7Nubh)r|}r}(h UTransport, Outer Membraner~h }r(jtG?jGuhNhU\Tetradecenoate transport via facilitated irreversible diffusion (extracellular to periplasm)rh,G@@h-Gh}rh/h)]rjcaRrhU TTDCEAtexirh2Gh3h4hNh5Ub2344rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGh)r}r(hNhNhU tetracyclinerh}rhUttrcyc_prhUEhKhGhh)r}r(hNhU C22H24N2O8rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uph"}rh(h)]RrubG?uhNhUATetracycline transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU TTRCYCtexrh2Gh3h4hNh5U"(b1377 or b2215 or b0929 or b0241)rh"}rh7Nubh)r}r(h UTransport, Outer Membranerh }r(j>G?jGj"GjG?uhNhU&Tetracycline transport via TolC systemrh,G@@h-Gh}rh/h)]r(jCYj=YjIYjOYeRrhU TTRCYCtpprh2Gh3h4hNh5U<((b0463 and b0462 and b3035) or (b0463 and b2470 and b3035))rh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j Gj>G?h)r}r(hNhNhU tungstaterh}rhUtungs_prhUEhJhGhh)r}r(hNhUO4W1rh}rh"}rh$}r(UWKUOKuhjubh&Uph"}rh(h)]RrubGh)r}r(hNhNhU tungstaterh}rhUtungs_crhUEhJhGhh)r}r(hNhUO4W1rh}rh"}rh$}r(UWKUOKuhjubh&Uch"}rh(h)]RrubG?jG?j-G?j4GuhNhU.tungstate transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(jɬjjլeRrhU TUNGSabcpprh2Gh3h4hNh5U(b0763 and b0764 and b0765)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhU>tungstate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUTUNGStexrh2Gh3h4hNh5U"(b2215 or b1377 or b0241 or b0929)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j$Gh)r}r(hNhNhUTyraminerh}rhUtym_prhUEhKhGhh)r}r(hNhUC8H12NOrh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Uph"}rh(h)]RrubG?uhNhU=tyramine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUTYMtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jCGhG?j/G?j>G?jGjGjG?jG?j)G?uhNhUtyrosine lyaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3991rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUTYRLrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UNitrogen Metabolismrh }r(j.G?j.G?j.GjGj.G?j#GuhNhUJTyramine:oxygen oxidoreductase(deaminating)(flavin-containing) (periplasm)rh,G@@h-Gh}rh/h)]rj.aRr hU TYROXDAppr h2Gh3h4hNh5Ub1386r h"}r h7Nubh)r }r(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismrh }r(h)r}r(hNhNhUPhosphotyrosinerh}rhUtyrp_prhUEhJhGhh)r}r(hNhU C9H10NO6Prh}rh"}rh$}r(UHK UCK UPKUOKUNKuhjubh&Uph"}rh(h)]RrubGh)r}r(hNhNhU L-Tyrosiner h}r!hUtyr__L_pr"hUEhKhGhh)r#}r$(hNhUC9H11NO3r%h}r&h"}r'h$}r((UHK UCK UOKUNKuhj%ubh&Uph"}r)h(h)]Rr*ubG?j+G?j#GuhNhU,phospho-L-tyrosine phosphatase (periplasmic)r+h,G@@h-Gh}r,h/h)]r-jaRr.hUTYRPppr/h2Gh3h4hNh5Ub4055r0h"}r1h7Nubh)r2}r3(h UTransport, Outer Membrane Porinr4h }r5(jNGjG?uhNhUFphopho-L-tyrosine transport via diffusion (extracellular to periplasm)r6h,G@@h-G@h}r7h/h)]r8(j!j!j!j!eRr9hUTYRPtexr:h2Gh3h4hNh5U"(b2215 or b0241 or b0929 or b1377)r;h"}r<h7Nubh)r=}r>(h U2Tyrosine, Tryptophan, and Phenylalanine Metabolismr?h }r@(jG?jGjG?j2GuhNhUtyrosine transaminaserAh,G@@h-G@h}rBh/h)]rC(j=jNeRrDhUTYRTArEh2Gh3h4hNh5U(b4054 or b0928)rFh"}rGh7Nubh)rH}rI(h U tRNA ChargingrJh }rK(j%G?j Gh)rL}rM(hNhNhUL-Tyrosyl-tRNA(Tyr)rNh}rOhU tyrtrna_crPhUEhKhGhh)rQ}rR(hNhU C9H10NO2RrSh}rTh"}rUh$}rV(UHK UCK URKUOKUNKuhjSubh&Uch"}rWh(h)]RrXubG?jTG?jGh)rY}rZ(hNhNhU tRNA(Tyr)r[h}r\hU trnatyr_cr]hUEhKhGhh)r^}r_(hNhURh}r`h"}rah$}rbURKshURubh&Uch"}rch(h)]RrdubGuhNhUtyrosyl-tRNA synthetasereh,G@@h-Gh}rfh/h)]rgj!)rh}ri(hNj!KhNhUb1637rjh}rkj!hjjhNhNj!Kh&Nh"}rlj!U+h(h)]RrmubaRrnhUTYRTRSroh2Gh3h4hNh5jjh"}rph7Nubh)rq}rr(h UTransport, Inner Membranersh }rt(jGj"Gj>G?jG?uhNhU>L-tyrosine reversible transport via proton symport (periplasm)ruh,G@@h-G@h}rvh/h)]rw(jғj!)rx}ry(hNj!KhNhUb1907rzh}r{j!hjzhNhNj!Kh&Nh"}r|j!U+h(h)]Rr}ubjGjAeRr~hUTYRt2rpprh2Gh3h4hNh5U"(b1473 or b1907 or b0112 or b0576)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j9GjG?uhNhU?L-tyrosine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUTYRtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhUadenosine thiamine triphosphaterh}rhUathtp_crhUEhJhGhh)r}r(hNhUC22H28N9O13P3Srh}rh"}rh$}r(UCKUHKUOK UNK UPKUSKuhjubh&Uch"}rh(h)]RrubG?j-GjGj>GjG?uhNhUThDP adenylyl transferaserh,G@@h-Gh}rh/h)]RrhUThDPATrh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(h)r}r(hNhNhU.UDP-3-O-(3-hydroxytetradecanoyl)-D-glucosaminerh}rhUu3hga_crhUEhJhGhh)r}r(hNhU C29H50N3O18P2rh}rh"}rh$}r(UHK2UCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGj$-G?j>G?jG?jw)GuhNhU7UDP-3-O-(3-hydroxymyristoyl)glucosamine acyltransferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0179rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUU23GAATrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j Gj-G?j1bGj>G?h)r}r(hNhNhU)UDP-N-acetylmuramoyl-L-alanyl-D-glutamaterh}rhUuamag_crhUEhJhGhh)r}r(hNhU C28H39N5O23P2rh}rh"}rh$}r(UHK'UCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGh)r}r(hNhNhUGUDP-N-acetylmuramoyl-L-alanyl-D-gamma-glutamyl-meso-2,6-diaminopimelaterh}rhUugmd_crhUEhJhGhh)r}r(hNhU C35H51N7O26P2rh}rh"}rh$}r(UHK3UCK#UPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?jG?uhNhULUDP-N-acetylmuramoyl-L-alanyl-D-glutamyl-meso-2,6-diaminopimelate synthetaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0085rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUAAGDSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhUUDP-N-acetyl-D-galactosaminerh}rhU udpacgal_prhUEhJhGhh)r}r(hNhU C17H25N3O17P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubGj 5G?j"G@jG?j#GuhNhU=UDP-N-acetyl-D-galactosamine pyrophosphohydrolase (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhU UACGALPpprh2Gh3h4hNh5Ub0480rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jC5G?j"G@jG?j#Gh)r}r(hNhNhUUDP-N-acetyl-D-glucosaminerh}r hUuacgam_pr hUEhJhGhh)r }r (hNhU C17H25N3O17P2r h}rh"}rh$}r(UHKUCKUPKUOKUNKuhj ubh&Uph"}rh(h)]RrubGuhNhU;UDP-N-acetyl-D-glucosamine pyrophosphohydrolase (periplasm)rh,G@@h-Gh}rh/h)]rjaRrhU UACGAMPpprh2Gh3h4hNh5Ub0480rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?jcGuhNhUOUDP-N-acetyl-D-glucosamine transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r (j!j!j!j!eRr!hU UACGAMtexr"h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r#h"}r$h7Nubh)r%}r&(h UCell Envelope Biosynthesisr'h }r((h)r)}r*(hNhNhUUDP-N-acetyl-D-mannosaminer+h}r,hUuacmam_cr-hUEhJhGhh)r.}r/(hNhU C17H25N3O17P2r0h}r1h"}r2h$}r3(UHKUCKUPKUOKUNKuhj0ubh&Uch"}r4h(h)]Rr5ubGjG@j7G?j>G@jGj4GuhNhU)UDP-N-acetyl-D-mannosamine oxidoreductaser6h,G@@h-Gh}r7h/h)]r8j!)r9}r:(hNj!KhNhUb3787r;h}r<j!hj;hNhNj!Kh&Nh"}r=j!U+h(h)]Rr>ubaRr?hUUACMAMOr@h2Gh3h4hNh5j;h"}rAh7Nubh)rB}rC(h UCell Envelope BiosynthesisrDh }rE(j)G?j5GuhNhU#UDP-N-acetylglucosamine 2-epimeraserFh,G@@h-G@h}rGh/h)]rHj!)rI}rJ(hNj!KhNhUb3786rKh}rLj!hjKhNhNj!Kh&Nh"}rMj!U+h(h)]RrNubaRrOhUUAG2ErPh2Gh3h4hNh5jKh"}rQh7Nubh)rR}rS(h U+Lipopolysaccharide Biosynthesis / RecyclingrTh }rU(j5Gj$-G?jw)Gh)rV}rW(hNhNhU4UDP-3-O-(3-hydroxytetradecanoyl)-N-acetylglucosaminerXh}rYhUu3aga_crZhUEhJhGhh)r[}r\(hNhU C31H51N3O19P2r]h}r^h"}r_h$}r`(UHK3UCKUPKUOKUNKuhj]ubh&Uch"}rah(h)]RrbubG?uhNhU'UDP-N-acetylglucosamine acyltransferaserch,G@@h-G@h}rdh/h)]re(j!)rf}rg(hNj!KhNhUb0181rhh}rij!hjhhNhNj!Kh&Nh"}rjj!U+h(h)]Rrkubj{0eRrlhUUAGAATrmh2Gh3h4hNh5U(b1094 and b0181)rnh"}roh7Nubh)rp}rq(h UCell Envelope Biosynthesisrrh }rs(j5Gj5GjG?h)rt}ru(hNhNhU/UDP-N-acetyl-3-O-(1-carboxyvinyl)-D-glucosaminervh}rwhUuaccg_crxhUEhJhGhh)ry}rz(hNhU C20H26N3O19P2r{h}r|h"}r}h$}r~(UHKUCKUPKUOKUNKuhj{ubh&Uch"}rh(h)]RrubG?uhNhU1UDP-N-acetylglucosamine 1-carboxyvinyltransferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3189rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUAGCVTrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j~Gj2Gj>Gj5G?jTG?uhNhU'UDP-N-acetylglucosamine diphosphorylaserh,G@@h-Gh}rh/h)]rj8~aRrhUUAGDPrh2Gh3h4hNh5Ub3730rh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j7G?jȻGjJG?j>G?j5GuhNhUqUDP-N-acetylglucosamine-N-acetylmuramyl-(pentapeptide)pyrophosphoryl-undecaprenol N-acetylglucosamine transferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0090rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUAGPT3rh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j Gj-G?jGh)r}r(hNhNhUUDP-N-acetylmuramoyl-L-alaninerh}rhUuama_crhUEhJhGhh)r}r(hNhU C23H33N4O20P2rh}rh"}rh$}r(UHK!UCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGjG?jG?j>G?uhNhU4UDP-N-acetylmuramoyl-L-alanyl-D-glutamate synthetaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0088rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUAMAGSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j Gj[Gj>G?j-G?h)r}r(hNhNhUUDP-N-acetylmuramaterh}rhUuamr_crhUEhJhGhh)r}r(hNhU C20H28N3O19P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubGjG?jG?uhNhU)UDP-N-acetylmuramoyl-L-alanine synthetaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0091rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUAMASrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(jCGj)G?j>GjG?jtGuhNhU-UDP-N-acetylenolpyruvoylglucosamine reductaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb3972rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUAPGRrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j5G?j>G?jG?j4GjjGuhNhUundecaprenyl-diphosphataserh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb0841rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubjj!)r}r(hNj!KhNhUb3057rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUUDCPDPrh2Gh3h4hNh5U(b0841 or b1278 or b3057)rh"}rh7Nubh)r }r (h U*Cofactor and Prosthetic Group Biosynthesisr h }r (jpiG jTG@ j.GjjG?uhNhU!Undecaprenyl diphosphate synthaser h,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0174rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUDCPDPSrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(j"G?jYGjYG?j#Gj+G?uhNhU&undecaprenyl-diphosphatase (periplasm)rh,G@@h-Gh}rh/h)]r(jjjeRr hUUDCPDPppr!h2Gh3h4hNh5U(b1278 or b3057 or b0841)r"h"}r#h7Nubh)r$}r%(h U+Lipopolysaccharide Biosynthesis / Recyclingr&h }r'(j5G?jYGuhNhU9undecaprenyl phosphate transport (cytoplasm to periplasm)r(h,G@@h-Gh}r)h/h)]Rr*hU UDCPPtppir+h2Gh3h4hNh5Uh"}r,h7Nubh)r-}r.(h UTransport, Outer Membrane Porinr/h }r0(jG?jxGuhNhUQUDP-N-acetyl-D-galactosamine transport via diffusion (extracellular to periplasm)r1h,G@@h-G@h}r2h/h)]r3(j!j!j!j!eRr4hU UDPACGALtexr5h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r6h"}r7h7Nubh)r8}r9(h UAlternate Carbon Metabolismr:h }r;(h)r<}r=(hNhNhU UDPgalactoser>h}r?hUudpgal_cr@hUEhJhGhh)rA}rB(hNhU C15H22N2O17P2rCh}rDh"}rEh$}rF(UHKUCKUPKUOKUNKuhjCubh&Uch"}rGh(h)]RrHubG?jGuhNhUUDPglucose 4-epimeraserIh,G@@h-G@h}rJh/h)]rKj!)rL}rM(hNj!KhNhUb0759rNh}rOj!hjNhNhNj!Kh&Nh"}rPj!U+h(h)]RrQubaRrRhUUDPG4ErSh2Gh3h4hNh5jNh"}rTh7Nubh)rU}rV(h UCell Envelope BiosynthesisrWh }rX(j<GjG?uhNhUUDPgalactopyranose mutaserYh,G@@h-Gh}rZh/h)]r[j!)r\}r](hNj!KhNhUb2036r^h}r_j!hj^hNhNj!Kh&Nh"}r`j!U+h(h)]RraubaRrbhUUDPGALMrch2Gh3h4hNh5j^h"}rdh7Nubh)re}rf(h UAlternate Carbon Metabolismrgh }rh(j"G@h)ri}rj(hNhNhU UDPgalactoserkh}rlhUudpgal_prmhUEhJhGhh)rn}ro(hNhU C15H22N2O17P2rph}rqh"}rrh$}rs(UHKUCKUPKUOKUNKuhjpubh&Uph"}rth(h)]RruubGj[G?jG?j#GuhNhU!UDPgalactose pyrophosphohydrolaservh,G@@h-Gh}rwh/h)]rxjaRryhU UDPGALPpprzh2Gh3h4hNh5Ub0480r{h"}r|h7Nubh)r}}r~(h UTransport, Outer Membrane Porinrh }r(jGjiG?uhNhUAUDPgalactose transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU UDPGALtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UCell Envelope Biosynthesisrh }r(jG@jGh)r}r(hNhNhUUDP-D-glucuronaterh}rhU udpglcur_crhUEhJhGhh)r}r(hNhU C15H19N2O18P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?j>G@jGj4GuhNhUUDPglucose 6-dehydrogenaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2028rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUDPGDrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(jGjGj -G?h)r}r(hNhNhUUDP-4-keto-pyranoserh}rhU udpLa4o_crhUEhJhGhh)r}r(hNhU C14H18N2O16P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uch"}rh(h)]RrubG?jG?uhNhU#UDP-glucuronate C-4'' decarboxylaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2255rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUDPGDCrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGh)r}r(hNhNhUUDP-D-glucuronaterh}rhU udpglcur_prhUEhJhGhh)r}r(hNhU C15H19N2O18P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubG?uhNhUFUDP-D-glucuronate transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhU UDPGLCURtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j"G@h)r}r(hNhNhU UDPglucoserh}rhUudpg_prhUEhJhGhh)r}r(hNhU C15H22N2O17P2rh}rh"}rh$}r(UHKUCKUPKUOKUNKuhjubh&Uph"}rh(h)]RrubGjG?jR~G?j#GuhNhUUDPglucose pyrophosphohydrolaserh,G@@h-Gh}rh/h)]rjaRrhUUDPGPpprh2Gh3h4hNh5Ub0480rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhU?UDPglucose transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUUDPGtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(jGj2G?h)r}r(hNhNhU8uridine 5''-diphospho-{beta}-4-deoxy-4-amino-L-arabinoserh}rhU udpLa4n_crhUEhJhGhh)r}r(hNhU C14H22N3O15P2rh}r h"}r h$}r (UHKUCKUPKUOKUNKuhjubh&Uch"}r h(h)]Rr ubG?jGuhNhUDUDP-4''-ketopentose:UDP-4-amino-4-deoxy-L-arabinose aminotransferaserh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb2253rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUDPKAATrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j"G@j#GjGjG?jG?uhNhU2UDP-D-glucuronate pyrophosphohydrolase (periplasm)rh,G@@h-Gh}rh/h)]r jaRr!hU UGLCURPppr"h2Gh3h4hNh5Ub0480r#h"}r$h7Nubh)r%}r&(h UAlternate Carbon Metabolismr'h }r((jo~G?jGjGj<G?uhNhU2UDPglucose--hexose-1-phosphate uridylyltransferaser)h,G@@h-G@h}r*h/h)]r+j!)r,}r-(hNj!KhNhUb0758r.h}r/j!hj.hNhNj!Kh&Nh"}r0j!U+h(h)]Rr1ubaRr2hUUGLTr3h2Gh3h4hNh5j.h"}r4h7Nubh)r5}r6(h UNitrogen Metabolismr7h }r8(jDGj -G?jvG?j>GjLG@j4GuhNhUUreidoglycolate hydrolaser9h,G@@h-Gh}r:h/h)]r;j!)r<}r=(hNj!KhNhUb0505r>h}r?j!hj>hNhNj!Kh&Nh"}r@j!U+h(h)]RrAubaRrBhUUGLYCHrCh2Gh3h4hNh5j>h"}rDh7Nubh)rE}rF(h UCell Envelope BiosynthesisrGh }rH(jG?j>G?jGj-G?j Gj'BGjG?uhNhU_UDP-N-acetylmuramoyl-L-alanyl-D-glutamyl-meso-2,6-diaminopimeloyl-D-alanyl-D-alanine synthetaserIh,G@@h-Gh}rJh/h)]rKj!)rL}rM(hNj!KhNhUb0086rNh}rOj!hjNhNhNj!Kh&Nh"}rPj!U+h(h)]RrQubaRrRhUUGMDDSrSh2Gh3h4hNh5jNh"}rTh7Nubh)rU}rV(h U+Lipopolysaccharide Biosynthesis / RecyclingrWh }rX(j4GjVGj2G?jG?uhNhU%UDP-3-O-acetylglucosamine deacetylaserYh,G@@h-Gh}rZh/h)]r[j!)r\}r](hNj!KhNhUb0096r^h}r_j!hj^hNhNj!Kh&Nh"}r`j!U+h(h)]RraubaRrbhUUHGADArch2Gh3h4hNh5j^h"}rdh7Nubh)re}rf(h U+Lipopolysaccharide Biosynthesis / Recyclingrgh }rh(jG?jGjGj>G?h)ri}rj(hNhNhUG?jG?jb.GjGjG?j-G?uhNhUJUDP-N-acetylmuramate:L-alanyl-gamma-D-glutamyl-meso-diaminopimelate ligaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4233rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUM3PLrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UMurein Recyclingrh }r(jN/G?j4Gh)r}r(hNhNhUQUDP-N-acetylmuramoyl-L-alanyl-D-gamma-glutamyl-meso-2,6-diaminopimelate-D-alaninerh}rhUum4p_crhUEhJhGhh)r}r(hNhU C38H56N8O27P2rh}rh"}rh$}r(UHK8UCK&UPKUOKUNKuhjubh&Uch"}rh(h)]RrubGjG?uhNhUfUDP-N-acetylmuramoyl-L-alanyl-D-gamma-glutamyl-meso-2,6-diaminopimelate-D-alanine L,D-carboxypeptidaserh,G@@h-Gh}rh/h)]rj^/aRrhUUM4PCPrh2Gh3h4hNh5Ub1192rh"}rh7Nubh)r}r(h UMurein Recyclingrh }r(j GjA/Gj-G?j>G?jGjG?jG?uhNhUTUDP-N-acetylmuramate:L-alanyl-gamma-D-glutamyl-meso-diaminopimelate-D-alanine ligaserh,G@@h-Gh}rh/h)]rjaRrhUUM4PLrh2Gh3h4hNh5Ub4233rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(j5Gj7G?j Gj-G?uhNhU UMP kinaserh,G@@h-G@h}rh/h)]r(j`j!)r}r(hNj!KhNhUb0171rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUUMPKrh2Gh3h4hNh5U(b0910 or b0171)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?jGuhNhU8UMP transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUUMPtexrh2Gh3h4hNh5U"(b0929 or b1377 or b2215 or b0241)rh"}rh7Nubh)r}r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j4Gh)r}r(hNhNhU3undecaprenyl phosphate-4-amino-4-formyl-L-arabinoserh}rhUuLa4fn_crhUEhJhGhh)r}r(hNhU C61H99N1O8P1rh}rh"}rh$}r(UHKcUCK=UPKUOKUNKuhjubh&Uch"}rh(h)]RrubGjG?jHGG?uhNhU)undecaprenyl phosphate-L-Ara4FN formylaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2256rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rr ubaRr hUUPLA4FNFr h2Gh3h4hNh5jh"}r h7Nubh)r }r(h U+Lipopolysaccharide Biosynthesis / Recyclingrh }r(j5GjiGjG?j7G?uhNhU+undecaprenyl phosphate-L-Ara4FN transferaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2254rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUUPLA4FNTrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r (h)r!}r"(hNhNhUUroporphyrinogen IIIr#h}r$hUuppg3_cr%hUEhJhGhh)r&}r'(hNhU C40H36N4O16r(h}r)h"}r*h$}r+(UHK$UCK(UOKUNKuhj(ubh&Uch"}r,h(h)]Rr-ubGj>G?jGjvG?j9G@uhNhU"uroporphyrinogen methyltransferaser.h,G@@h-Gh}r/h/h)]r0(jj!)r1}r2(hNj!KhNhUb3803r3h}r4j!hj3hNhNj!Kh&Nh"}r5j!U+h(h)]Rr6ubeRr7hUUPP3MTr8h2Gh3h4hNh5U(b3803 or b3368)r9h"}r:h7Nubh)r;}r<(h U*Cofactor and Prosthetic Group Biosynthesisr=h }r>(j4G?j,Gj!G?uhNhUuroporphyrinogen-III synthaser?h,G@@h-Gh}r@h/h)]rAj!)rB}rC(hNj!KhNhUb3804rDh}rEj!hjDhNhNj!Kh&Nh"}rFj!U+h(h)]RrGubaRrHhUUPP3SrIh2Gh3h4hNh5jDh"}rJh7Nubh)rK}rL(h U*Cofactor and Prosthetic Group BiosynthesisrMh }rN(j>Gj -G@j!GjZG?uhNhU5uroporphyrinogen decarboxylase (uroporphyrinogen III)rOh,G@@h-Gh}rPh/h)]rQj!)rR}rS(hNj!KhNhUb3997rTh}rUj!hjThNhNj!Kh&Nh"}rVj!U+h(h)]RrWubaRrXhUUPPDC1rYh2Gh3h4hNh5jTh"}rZh7Nubh)r[}r\(h UNucleotide Salvage Pathwayr]h }r^(j5G?j=GjTG?j\GuhNhU uracil phosphoribosyltransferaser_h,G@@h-Gh}r`h/h)]raj!)rb}rc(hNj!KhNhUb2498rdh}rej!hjdhNhNj!Kh&Nh"}rfj!U+h(h)]RrgubaRrhhUUPPRTrih2Gh3h4hNh5jdh"}rjh7Nubh)rk}rl(h UNucleotide Salvage Pathwayrmh }rn(j0Gj9SG?j>G?j G?j4GuhNhUperoxyureidoacrylate hydrolaseroh,G@@h-Gh}rph/h)]rqj!)rr}rs(hNj!KhNhUb1011rth}ruj!hjthNhNj!Kh&Nh"}rvj!U+h(h)]RrwubaRrxhUURACPAHryh2Gh3h4hNh5jth"}rzh7Nubh)r{}r|(h UTransport, Inner Membraner}h }r~(j>G?h)r}r(hNhNhUUracilrh}rhUura_prhUEhKhGhh)r}r(hNhUC4H4N2O2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uph"}rh(h)]RrubGj"Gj\G?uhNhU2uracil transport in via proton symport (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb2497rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUURAt2pprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j"GjGj>G?j\G?uhNhU>uracil transport in via proton symport, reversible (periplasm)rh,G@@h-G@h}rh/h)]rj!)r}r(hNj!KhNhUb1006rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUURAt2rpprh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGjG?uhNhU;uracil transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUURAtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jDGjGj>G?jG?jG?uhNhUureidoglycolate dehydrogenaserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb0517rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUURDGLYCDrh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jGh)r}r(hNhNhUUrearh}rhUurea_prhUEhKhGhh)r}r(hNhUCH4N2Orh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uph"}rh(h)]RrubG?uhNhU9Urea transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUUREAtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j?G?jGuhNhU3Urea transport via facilitate diffusion (periplasm)rh,G@@h-G@h}rh/h)]rjHaRrhUUREAtpprh2Gh3h4hNh5Ub3927rh"}rh7Nubh)r}r(h U Unassignedrh }r(j -G?j*GjEG?j4Gh)r}r(hNhNhUUraterh}rhUurate_crhUEhKhGhh)r}r(hNhUC5H4N4O3rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uch"}rh(h)]RrubGj1G?uhNhUuricaserh,G@@h-Gh}rh/h)]RrhUURICrh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jN`Gj<G?j4Gj\G?uhNhUUridine hydrolaserh,G@@h-Gh}rh/h)]r(jt`j<jn`eRrhUURIHrh2Gh3h4hNh5U(b2162 or b0651 or b0030)rh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayr h }r (j5G?j4<G?j>G?jN`GjGuhNhUuridine kinase (GTP:Uridine)r h,G@@h-Gh}r h/h)]r j`aRrhUURIK2rh2Gh3h4hNh5Ub2066rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j"Gj>G?jN`G?jx+GuhNhU3uridine transport in via proton symport (periplasm)rh,G@@h-Gh}rh/h)]r(j<j<eRrhUURIt2pprh2Gh3h4hNh5U(b2393 or b2964)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r (j>G?jx+Gj"GjN`G?uhNhU?uridine transport in via proton symport, reversible (periplasm)r!h,G@@h-G@h}r"h/h)]r#j<aRr$hUURIt2rppr%h2Gh3h4hNh5Ub2406r&h"}r'h7Nubh)r(}r)(h UTransport, Outer Membraner*h }r+(j Gjx+G?uhNhUG@jGjG?j4GuhNhUUDP-sugar hydrolaser7h,G@@h-Gh}r8h/h)]r9j!)r:}r;(hNj!KhNhUb0524r<h}r=j!hj<hNhNj!Kh&Nh"}r>j!U+h(h)]Rr?ubaRr@hUUSHDrAh2Gh3h4hNh5j<h"}rBh7Nubh)rC}rD(h U*Valine, Leucine, and Isoleucine MetabolismrEh }rF(jG?jDeG?j2GhGuhNhUvaline transaminaserGh,G@@h-G@h}rHh/h)]rIjaRrJhUVALTArKh2Gh3h4hNh5Ub3770rLh"}rMh7Nubh)rN}rO(h U tRNA ChargingrPh }rQ(h)rR}rS(hNhNhU tRNA(Val)rTh}rUhU trnaval_crVhUEhKhGhh)rW}rX(hNhURh}rYh"}rZh$}r[URKshURubh&Uch"}r\h(h)]Rr]ubGj Gh)r^}r_(hNhNhUL-Valyl-tRNA(Val)r`h}rahU valtrna_crbhUEhKhGhh)rc}rd(hNhUC5H10NORreh}rfh"}rgh$}rh(UHK UCKURKUOKUNKuhjeubh&Uch"}rih(h)]RrjubG?hGjTG?j%G?uhNhUValyl-tRNA synthetaserkh,G@@h-Gh}rlh/h)]rmj!)rn}ro(hNj!KhNhUb4258rph}rqj!hjphNhNj!Kh&Nh"}rrj!U+h(h)]RrsubaRrthUVALTRSruh2Gh3h4hNh5jph"}rvh7Nubh)rw}rx(h UTransport, Inner Membraneryh }rz(j Gj>G?hG?h)r{}r|(hNhNhUL-Valiner}h}r~hUval__L_prhUEhKhGhh)r}r(hNhUC5H11NO2rh}rh"}rh$}r(UHK UCKUOKUNKuhjubh&Uph"}rh(h)]RrubGj-G?jG?j4GuhNhU-L-valine transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(jCjCjCjCjzCeRrhUVALabcpprh2Gh3h4hNh5U/(b3454 and b3455 and b3457 and b3460 and b3456)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?j"Gj{GhG?uhNhUGj4G?j RG?uhNhU!tungsten pterin cofactor synthaserh,G@@h-Gh}rh/h)]rjPaRrhUWCOSrh2Gh3h4hNh5Ub0827rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(jGjG?uhNhU"L-xylulose 5-phosphate 3-epimeraserh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4197rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUX5PL3Erh2Gh3h4hNh5jh"}rh7Nubh)r}r(h UNucleotide Salvage Pathwayrh }r(jG?jGjGj>G?j4GjG?uhNhUxanthine dehydrogenaserh,G@@h-Gh}rh/h)]r(jjjeRrhUXANDrh2Gh3h4hNh5U(b2866 and b2867 and b2868)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jG?h)r}r(hNhNhUXanthinerh}rhUxan_prhUEhKhGhh)r}r(hNhUC5H4N4O2rh}rh"}rh$}r(UHKUCKUOKUNKuhjubh&Uph"}rh(h)]RrubGj"Gj>G?uhNhU4xanthine transport in via proton symport (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb2882rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj<eRrhUXANt2pprh2Gh3h4hNh5U(b3654 or b2882)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jG?j5 GuhNhU=xanthine transport via diffusion (extracellular to periplasm)r h,G@@h-G@h}r h/h)]r (j!j!j!j!eRr hUXANtexr h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jGjG?uhNhU)xanthine reversible transport (periplasm)rh,G@@h-G@h}rh/h)]RrhUXANtpprh2Gh3h4hNh5Uh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(jnG?jJ GuhNhU8XMP transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRr hUXMPtexr!h2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)r"h"}r#h7Nubh)r$}r%(h UNucleotide Salvage Pathwayr&h }r'(jG?jGj=GjTG?uhNhU"xanthine phosphoribosyltransferaser(h,G@@h-Gh}r)h/h)]r*jaRr+hUXPPTr,h2Gh3h4hNh5Ub0238r-h"}r.h7Nubh)r/}r0(h UNucleotide Salvage Pathwayr1h }r2(jVGj<G?jG?j4GuhNhUXanthosine hydrolaser3h,G@@h-Gh}r4h/h)]r5j<aRr6hUXTSNHr7h2Gh3h4hNh5Ub0030r8h"}r9h7Nubh)r:}r;(h UTransport, Inner Membraner<h }r=(j>G?j{Gj"GjVG?uhNhU3Xanthosine transport via proton symport (periplasm)r>h,G@@h-G@h}r?h/h)]r@j<aRrAhU XTSNt2rpprBh2Gh3h4hNh5Ub2406rCh"}rDh7Nubh)rE}rF(h UTransport, Outer Membrane PorinrGh }rH(j{G?j_ GuhNhU?xanthosine transport via diffusion (extracellular to periplasm)rIh,G@@h-G@h}rJh/h)]rK(j!j!j!j!eRrLhUXTSNtexrMh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rNh"}rOh7Nubh)rP}rQ(h UAlternate Carbon MetabolismrRh }rS(h)rT}rU(hNhNhU D-XyluloserVh}rWhU xylu__D_crXhUEhKhGhh)rY}rZ(hNhUC5H10O5r[h}r\h"}r]h$}r^(UHK UCKUOKuhj[ubh&Uch"}r_h(h)]Rr`ubG?h)ra}rb(hNhNhUD-Xyloserch}rdhUxyl__D_crehUEhKhGhh)rf}rg(hNhUC5H10O5rhh}rih"}rjh$}rk(UHK UCKUOKuhjhubh&Uch"}rlh(h)]RrmubGuhNhUxylose isomerasernh,G@@h-G@h}roh/h)]rpj!)rq}rr(hNj!KhNhUb3565rsh}rtj!hjshNhNj!Kh&Nh"}ruj!U+h(h)]RrvubaRrwhUXYLI1rxh2Gh3h4hNh5jsh"}ryh7Nubh)rz}r{(h UAlternate Carbon Metabolismr|h }r}(jrG?jFGuhNhUxylose isomeraser~h,G@@h-G@h}rh/h)]rjqaRrhUXYLI2rh2Gh3h4hNh5Ub3565rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j Gj-G?jG?j>G?jTGuhNhU xylulokinaserh,G@@h-Gh}rh/h)]r(j njeRrhUXYLKrh2Gh3h4hNh5U(b0063 or b3564)rh"}rh7Nubh)r}r(h UAlternate Carbon Metabolismrh }r(j Gj-G?jGj>G?jG?uhNhUL-xylulokinaserh,G@@h-Gh}rh/h)]r(jk+jeRrhUXYLK2rh2Gh3h4hNh5U(b0063 or b3580)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(jG?j"Gj>G?h)r}r(hNhNhU L-Xyluloserh}rhU xylu__L_prhUEhKhGhh)r}r(hNhUC5H10O5rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uph"}rh(h)]RrubGuhNhU6L-xylulose transport in via proton symport (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3578rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3577rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3579rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUXYLUt2pprh2Gh3h4hNh5U(b3577 and b3578 and b3579)rh"}rh7Nubh)r}r(h UTransport, Outer Membrane Porinrh }r(j GjG?uhNhU?L-xylulose transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUXYLUtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j Gj>G?h)r}r(hNhNhUD-Xyloserh}rhUxyl__D_prhUEhKhGhh)r}r(hNhUC5H10O5rh}rh"}rh$}r(UHK UCKUOKuhjubh&Uph"}rh(h)]RrubGjaG?jG?j-G?j4GuhNhU-D-xylose transport via ABC system (periplasm)rh,G@@h-Gh}rh/h)]r(j!)r}r(hNj!KhNhUb3568rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3567rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]Rrubj!)r}r(hNj!KhNhUb3566rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubeRrhUXYLabcpprh2Gh3h4hNh5U(b3566 and b3567 and b3568)rh"}rh7Nubh)r}r(h UTransport, Inner Membranerh }r(j>G?j"GjaG?jGuhNhU4D-xylose transport in via proton symport (periplasm)rh,G@@h-Gh}rh/h)]rj!)r}r(hNj!KhNhUb4031rh}rj!hjhNhNj!Kh&Nh"}rj!U+h(h)]RrubaRrhUXYLt2pprh2Gh3h4hNh5jh"}r h7Nubh)r }r (h UTransport, Outer Membrane Porinr h }r (jt GjG?uhNhU=D-xylose transport via diffusion (extracellular to periplasm)rh,G@@h-G@h}rh/h)]r(j!j!j!j!eRrhUXYLtexrh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rh"}rh7Nubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j Gj>G?h)r}r(hNhNhUZincrh}rhUzn2_prhUEhKhGhh)r}r(hNhUZnr h}r!h"}r"h$}r#j Kshj ubh&Uph"}r$h(h)]Rr%ubG?j-G?jG?jGj4GuhNhU/Zinc (Zn+2) ABC transporter, efflux (periplasm)r&h,G@@h-Gh}r'h/h)]r(jSaRr)hUZN2abcppr*h2Gh3h4hNh5Ub3469r+h"}r,h7Nubh)r-}r.(h U&Inorganic Ion Transport and Metabolismr/h }r0(jGj"Gj>G?jG?uhNhU9zinc (Zn+2) transport out via proton antiport (periplasm)r1h,G@@h-Gh}r2h/h)]r3(jSjSeRr4hUZN2t3ppr5h2Gh3h4hNh5U(b3915 or b0752)r6h"}r7h7Nubh)r8}r9(h U&Inorganic Ion Transport and Metabolismr:h }r;(jG?jGuhNhU&zinc transport in via permease (no H+)r<h,G@@h-Gh}r=h/h)]r>jSaRr?hUZN2tppr@h2Gh3h4hNh5Ub3040rAh"}rBh7Nubh)rC}rD(h U&Inorganic Ion Transport and MetabolismrEh }rF(j GjG?jGj>G?jG?j4Gj-G?uhNhU0zinc (Zn+2) transport via ABC system (periplasm)rGh,G@@h-Gh}rHh/h)]rI(j!)rJ}rK(hNj!KhNhUb1859rLh}rMj!hjLhNhNj!Kh&Nh"}rNj!U+h(h)]RrOubj!)rP}rQ(hNj!KhNhUb1858rRh}rSj!hjRhNhNj!Kh&Nh"}rTj!U+h(h)]RrUubj!)rV}rW(hNj!KhNhUb1857rXh}rYj!hjXhNhNj!Kh&Nh"}rZj!U+h(h)]Rr[ubeRr\hUZNabcppr]h2Gh3h4hNh5U(b1857 and b1859 and b1858)r^h"}r_h7Nubh)r`}ra(h UTransport, Outer Membrane Porinrbh }rc(jG?j GuhNhU@zinc (Zn+2) transport via diffusion (extracellular to periplasm)rdh,G@@h-G@h}reh/h)]rf(j!j!j!j!eRrghUZn2texrhh2Gh3h4hNh5U"(b0241 or b0929 or b1377 or b2215)rih"}rjh7Nube}rkU_dictrl}rm(j\Mnj<M5jMj4M9jE MFjgM}jMjMjMtj7M jwdMj]Mj(Mja(MjV(Mj3M jKj8MjKjKmj։M]jM^jM jMjM2j?MLj/Kuj^M7jtMjKj܀MjBMejMjMj&M{j MjMjƸMjMj6nMjMbjM jDM jMjM j.Mj8M j6MjMj Kj MCjMj̋M{jMzj_MIjWMjMj&Mxjm&Mwj#Mj+bMjJMjMjYMKj:`MjKjM jMjMj[MjfMj3M:jY>M@jlMjk9MjM jMjNMjM$j^MjMujKjMjEfMj+M j* K+jIM:j(Mj}nM$jrnM#jdCMkj\Msj KYjKj5M jM"j"M]jDMWj^M;jzKj(MjZKjmKj&vMjܙM.juMjģMjMNj&MyjٚM;j^MjMkj?tMrjM+jfMjf;M'j.MjCMhjUM#jpMEjpMFjMjk|MjMjMKj MjMjt#MbjMjWkMj!MTjM2jK ji}MjfM#jB@MRjFEM|jMM jM jMy jyMZjSM6jMM.j!MT jM jM[jgMjM9j'MjMjgMjgMjZMYjfM j}?MKjKyj[M jvJMj9?MGjMjMjMj<M,j/Mja KFjMjٟMtj?MMj?MOj݃Mj KVj}Mu jM+ jy\MljfMjMqjԇMEjM= j/Mc jMj2M j+8M jޢMj[xMjAdMj(Mj9Mj9Mj{MjeQMjYMMjtMYjaMjHLMjM&jKjKjTrMTj)OMj<M3j"M[jMjXMDj,Mj[Maj K?jmMj:M#j |MjMdj\MqjM?jcMj\nM!jgnM"j8M jCMj/Mj:MjEMjSM jM0jM jRFMj׋M|jh7Mj'Mzj$Mj/MjWM1jM1 jxM jM jUMjM_joM;jIM jMj9MjKjyrMUjeMjrKlj:!MOjHMjbM}jj[M_juM jMj%M2j&MVj]!MPjH+MjݹMjM jMjMjMjMjMsjKjqzMjM jN-Mj^Mj#M^jM}jSMVjKojM j{jMjZ MGj(MjeyMj7MjMjLM9 j3Mj"MUj2GMjVMjKMjMj.Mj MajCMnj"MYjAM{jfMj KBjXMjMjДMj2MjlMjMjMj5M jxMjMjtMpjM4jMj MjMjMj K(Mj4(MjjMjc'M~j[MWjDMj@MQjM jMjM8jvMjKjF9MjMjMjaKjMjqMLjMjMjM jMjM\ jM%jKjMqjMjVM.jkJMjKj[8M jMjjMjM jM jM joGMj?xMjnMj߻Mj*MjxMj߽Mj0{MjMJjMKjKjGMjF=M9hKKjMj%MGjcMjZMXjoM9j-Mj0Mj-MjnM&jcMjM jUKjHMjMjMjlMj1MjMj[QMj0KjM jMj M jM'jfsMdj;M+j;M(jM j{M7javMjKqMJjpMGjqMHj4qMIjwMJjMjNMjsM^j}_MjMjwMjTM>jM j2OMj^Mj:Mj KajMjsMfjM0 jCMojOMj/5Mj[oM7jѲMuj͹Mj&ME j K2jM_jM jMjMj`MjvMjMj=MjMjMjOM|jMv jKjyMjȧMjf-Mj~-MjMKj=Mj[M)j kMj0MjMj]Mtj1]Muj5>M?jMjPKjI]Mvj'MjÑMjM<jMj MjM8j`M=jlMj<MjM`j,M)jPMjM j7MjҞMijIM*jMjKj1eMjjMjMj+KjMj{MjKMjgMj}MjBM"jCMj3MjMMjoM jͿM*jzMjf{MjMj~Mj!MRjM jMjMjMjMjMj~MjsMjbMjKjgMjvMjrM[jK{j'Mjv KGjKj&)MjڔMjMEjpjMjKjUM'j+MjMjMjcMjܗMjvKjrMY j.iMjjMj MjMj7 K]jgMX jukMjAlM j M7jķMjs:Mj[:Mj~MjSMj"MjM jM jM jMkjCK jMjnM(jnM'j=M jz[M`jKjMjM j\MW jM{jM jM j/M jMj~SMjۣMj>MCj?MEjM jMljM#jdMDj!MNjKjMjסMjMjMlj8oM5jCoM6jMjcM jfMjfMjMR jM]jKM jM1j3M jMjMj M~jPUM!j KXj9UM j3M jj<M0jE<M/jI4MjM%jMfjMjMjOMej zMjMjMZjKjIMjM jMKjnMj[McjM-jؿM+j`MjMh j{M$j K*jKjBGMjAM jM jM;jQKjMjMjKjMj9MjmMjM jMj FMjqMOjM jKj7Mj{MjfMjĶMjkM jkM jKjnKxj+MjbM; j.MjL K^j\.MjMjMj2MSj%M jKjM%MojMjM jj^Mj K)jmMjIMjIMj`Mj;M4j1yMjyM jKjMj MjMFj`Mj`Mj@MUj@MVjyoM8jMjMwj(%MnjMBjM:j MajM) jMjmcMjKj Kcj@M jXM=jMjjK jބM'jSMjqMMjxM jgMj'M|jKj@KMj~Mj9MjԭM4jMjr}Mj MMj8MjM)jM jMjMjM0jjMjwM jM jKM jMjmM jM jMjMj<M2jMjd\MjjKjGMj,MjEMjMjMjnMjYXM;jMbjJMjMz jM jM jM j?KjM|jMjKj&MCjiM j¿M)jȫMjyMjyMjyMjxMjxMjxMjnIMjyIMj-#M_j M jQMjQMj MyjMHjXIMjcIMj KKjQMj0Mj1MjMjpsMejnM%j0Mj0Mj0Mj0Mj0Mj0Mj!M jM j4MjWM0j|Mjo MHj4Mj@MdjAM_jM+jMjYMjOMj1MDjM*j K3jM3jM jMjYMOjYMj KTj9MjMjMj~Mj8MjCMmjMj+MjշMj͝M^j4KjMjHFMjNMjM( jeMjMjMjwZMWu(jM j{MjKjGKjKjKjMxjuMjMjtMvjzM jM j^Mj{`MjKjAM jcMjKjf?MJjMjKqj;MjQMj/MjPEM}j]M|jMj)Mcj_MjMj0Mj M*jM jHMjKjKnjUMjmMjUKjK)Mjp)MjmKMjaMjMj\MojML jUMjKjrMj3KijM{ jM(jDKvjM#jMjMj=M8j MjM.j>'M}jЕMjM(jM:jdMjJMjXM jwMjM!jMj1Mmj.Mj?1MjMjWtMsj@M jSMjhUM"jJMjMMjM@jMAjM$jM]j"M%jMjdMjFMjBMjXMjîMAjM8jMjXMAjMajMjMejMj8Mj>.MjMj%M! j>BMbjMjwaMj$Mlj̡MjMjRaMjBMdjoM jMjMj%MrjyMj#MejMjMMjMj|MjMxjvMgj̠MjנMh`KjM=jMN j0 MEj"M jnM,jnM+j)EM{jbMjbMjԽMjM* j%MjMj6M jKjMxjLMjMjLMjM1jM/jMjMjrMWj/TMjbMjbMjoKj>MDjBM jEMljM jqMj7M j!Mj MjMjMjK jM9jMjMjMj+M j%$Mgj'M2j cMjUM&jˊMmjMC jdM jMj_MjMjxM,j K1jotMtj3MjMjMjXMBjۛMDjVM)jM`jhFMj6}MjQMjMjsM]jJzMjCMj Mn jMo j`^MjHMjHMj<MEjGMFj6VM*j jkMjM jaYMIjFMj-Mj.MjaMs jMj KJjPKMjRMj?sMaj^MAj{MBjMCjܒMjMjaMjaMjMjMj?~MjMj^MjM jNMj>MjMj$MfjMjrMjM jrMXjNMjRMjK$jM jM jCM jvMjvMjtMxj:MjvMjvMjTyMj1Mj8MjHKjj!M jM>jіMjSM jMjMj}MjS_MjMjMDjwDMvjM jPMjMj0MjPMjMLjqMjFMjDM-j4sM`jM jM jM j'tMqjMjWMr jM@jxbMjM)jMjMQjM j\MpjKj MjŕMjƵMj&.Mj>MBjMHjMgjM.jMj M8jMjӜMQjÜMPjMjM jCMjM? jM@ jMjMj}MjZMjMjsMjMjSMjfMj'SM j=M4jHM5j"MjfMjEMj^TMjFTMjSMjM jbMjbMjMjMHMjbMjMj%MjMj;Mj0MjK(jFMjFMjFMjFMjM>j MKh1Kj@Mj/Mj$MjjMB jjMjw>MAjϤMjM4 j MjMj&Mzj'Kj >M>j;M$jLMjXM9j{MjcMjƎMjUMj+Mj/CMijQMyjKjM' jЎMjMjMjAM]jAM^jM0jcMj"ZMRjkMjMj)M7 jgM.j.MrjPMj[MjPMjZMtjeMjVMjMMj.MjUM$jxMjMjMjM jRM jMj[Mdj MvjZMQjKjMjMjMO jM j4MjklM j:CMjjMjKj}MgjyMjgMjMj"Kj BMajPMjXMCjMj˳MjMjMjbMI jM jMQjgPMjqPMjM j'KjqMpj_MjMb jMjlYMJjMjMjMjMOjn\Mkjz K;jLMjMj'Mcj'MjM jMjM%j:MjEMj:Mj]Mxj"MVjCXM:jjKjɽMjuMjMOjRMjRMjM jWMj\Mf j9Mj.aMj>uM}jEM'jDMrjMjxMjs4Mj,M jOMjM5jM@jMPj.KjMjMjMj KMj(MjhMjT6MjM$jeMjaMhuKjMkjGMG j@MjMjD6MjWMH j;Mp jqMPjMjMjM4jSM. jM jMjMjxMjMjsM% jsMijsMhj8IMj>MdjKjxMj`DMujPDMtjTMjM,j[Mnj KOjCM jM&jD#M`jM(jMjM jM& jHMjCM" j`MjMKjXMGjMjMhj'Mj'Mj KUja K_jMj(MjMjqKjMjMrjKj%zMj}MjghMjMUjmMjKjWM6jMj~MjBMcjM] jXMjpMjMBj>LMjvMjzM j[,MjC,Mj; K8jQKjaMjmMjKjMjrMt jsMkjsMjjDMjOMjIMnjMjA0Mj:MjEMjM< jhMj>NMjUNMjmNMjxNMj K>jMj`MjZM\jM jMjMj KjMjOMj]KjEMjejMjjMjMj֯MNjM/jYMLjBM%j"KMjMjMj"?MFjMjr+MjKj}Mj'MjcMjyMjGnMjQnM jеMjM6jaMjaMjMjyMjũMj*M jMj]M}j"MjMjAM\jQMe j0QMj#Kj7M jMjnMHjǁM jM jMjMA jDMwj/McjaMjwAM[jMj3YMGjKje/Mj=MMjM jM jM jXM6j wMj KNjM1jKjMjcM$ jKj7KjsMMjqVM,j^Mj`K j6MjMsj 4MjMjdMj2;M%j1Mj7Mj"MZjوMSj`M+j>Msj Mj7MF jrM/jԪMjɪM j2Mj*MjMjMjFiMjMj~MjKj#M?jMjqMjMUjMjoM<jMjRM jKhjMjM jM j:M"j Kej0M jMjMjMjKjSMjX"MWjvMj+Mj?MPjMjWM8jMj K[jKje K:j"oM3j-oM4jTMjvTMjMjֳMjhMjbMjM6jEKjM7jXM>jMjM jSMjwMjeMjmMjjMj;Kj*MjMjH&Mvj0&MujMMjtMg jKjOMjM jMj Kgj<M!j M jM@j#\MgjMjMyj Mj/HMjڑMjoM0jnM/jMj;M)jK'j'kMjvMvj;Mj;M*j2M{jkMujvMjJMejK}jKjOcMjTMjTMj}Mj KbjM!j_MfjGMjMyj9MU j]M jKMjhMjM jKj}Mj=M7jChMjMjMrjsMlj5fMj$Mj@3Mj=MTjeMjM jKMjTMj^MWj6KjtMwjM;jsMmjBM jKjtMj_M joM jiMjBM jiMjKjMj/MjM}MjMjHMj,MjM j$MjuMzj>WM3j Ku(j֏Mj;/MjsKjYMEjEMj K=jMjMjIMjM jMj;M5jM jM~j4WM2jMMdjKj!Mwj܌MjZwMjFMd j7 KDjKj<M6j\#Maj/MjjYKwjs8Mj"M\j KLj-MjMrj{MEj]7MjMjMjMPjEM jNMjNMjo$MijMjLKjMj`Mj_MjuMjSMj{KjiMXjЩMj>MjM\jKjMjMSjM jKj@mMjtMyjiMjKjOMjMjgMjnM-jnM.jWM5j;\MhjPxMjyMjyMjyMj\;M&jqMjMj$Mj=M<jKj8Mj MS jHMjKjK~j*wMjqMNjMjK%jMj3MjmMjMjjzM~jK#j\Mrj1MjcMjMj!MjMTjMMj(_MjUMjyMjKpj MjGMj iMjgSMjIMjPM(jK|j7cMjiMMjMjxM>j84MjMjeKj,Mjs,MjMjMjVWM4jK&j|xMjKtjϸMj@DMsjlM*jmMj|MjaMjHKjHbMjSM# j-Mj-MjM1jMD jMMjPMjMjMjKj]5MjMjĴMjaMjaMjBMj-M&j}Mj߷Mj7M=jebMj'IMjMi ji"MXjIKjv2MjMAj|Mjv{MjMjQ?MHjێMjSMj:M!jęM-j&KjM j6M- je3Mj)*MjN*MjMMjB|MjM|MjMjjKjMK jMjBMfj K4jٓMjsM\jfKjMJ jbM7jM[ jmOMjtMujOMj/MjMjCMqjEMjM j|MjMjKj|MjKjMIj$Mbj]MjMjMk jMYj2MjIMj΂Mj+Mj:M j:Mj+Kj] KRj MIjMPj:Mkj>M!hKj~MIjJsMbjӾM"j'7Mje`MjM[jlMjEMUjPMVj:MTj~MYjMZjo=M:jfMXjՊMnj,M j$MijORMjMQ jKj߇MFjMJjMajKjM jM jM<j EMzjMjs*Mj'Mj&Mtj%Msj~Kj,JMjBJMjM~ j JMjM3j_MjwM$j1RMjUM<jϥMj-LMjM,j_GMjMjM1jvM+jTKjM`jHMUjMx j3 KPjVM"jkM jqMj|Mj M#j1Mj oM1joM2j1+Mj]M{jMjKjM j+MjMMjhMjM} jMj3uM|jM jM?j&Mj\?MIj_MjM2jBM`j K@j2KjMj3MjMjMjKMjM jMjםM_jMjMjmMjpMDjrpMBjpMCjBpM@jZpMAjpM>j*pM?joM=j߸MjUsMcj?MjMjJMjWM7j K5jM jMvjM j]MejMij=M;j!Mojq0MjKMjMjMjKjM jKMjMqj\MfjXM?jMwjM'j]KkjKrj#M,jMj'M,jSM jMj/MjMjLMjMIjM>jMjgMj KWjiMzjJSMj<M-jkwMj6Mj]MjgMjdMjMjWM|jlvMjM j!MQjMhj\KjMjQM6jMjMjTMjMjOMjɍMjMojM5 jMjM j K6jMjKjfMoj5M jTM j0MzjM\jKjOZMTjXZMUj[MbjFZMSjPMj߰M_jrMVj{Mj2SM j<KjMsj8MjSMjYRMj MDjaMojIMjgM&j,Mj;{MjmMjM j)sM_juK j]MzjQMjNMjMP jbMjXM@j K0j.MjMBjMMjRMjMhjM=jMjɭM3jMRj (Mj'Mj]M~jM\jMJjmK"jzM jM!jnMXjM[j/MjPMXjM\j"M j_AMZj?MNj KdjzHMjĤMj3Kj KAj_Mj,MjjHMjMwjMMjMGjWMpjJrMSjM3 jM jFMj" KCj-Mj3rMRj*KjMNjoM:j~ K/jpMgj_M?jeMjYM jl2Mjj.>jp>j>j>j>j>j>j ?j?j?j?j;@j)AjFAjLAjRAjXAjAjAjAjAjAjAjBj7BjTBjZBj`BjfBjlBjrBjxBj~BjBjBjBjBjBjBjBj CjCj"Cj(Cj]CjzCjCjCjCjCjCjCjCjDj9DjIDjYDjDjDjEj"Ej?EjgEjEjEjEjEjEjEjEjFjFjFjAFjFjFjGj+Gj;GjXGjhGjGjGjGjGjGjHjHjFHjcHjsHjHjHj1IjIjIjXJj^JjdJjJjJjJjJjJjKjKj9KjIKjfKjKjKjKjKjKjKjLjLjLjLjLj Lj&Lj7LjlLjLjLjLjLjLjLjLjMjMjIMjbMjMjMjMjMjNjNj Nj7NjNjNjNjNjNjNjNjNj OjOj"Oj`OjfOjOjOjOjOjOjOjOjOjPjPj PjPj`PjPjPjPjPjPjTQjQjQjQjQjQjQjHRj}RjRjRjRjRjTSjZSj`SjqSjwSjSjSjSjSjSj(TjTjUj2UjUjUjUjUjUjUj Vj)Vj/VjMVjjVjVjVjVjVjVjVjVjVj-WjoXjuXjXjXj=YjCYjIYjOYjYjYjZjZjZjZjZj[j[jc[js[j[j[j[j\j\j]\j\j\j\j]jS]j}]j]j^jY^j^j^j^j^j^j_j!_jL_jv_j_j_j_j_j_j `j`j!`j'`j-`j3`j^`jn`jt`j`j`jaj aj'ajaj$bjAbj^bjbjbj cjcjfcjcjcjdj:djddjjdjpdjdjdj*ejTejejejejejfj>fj[fjfjfjfjfjfj%gjOgj_gjgjgjgjjDjJe(jPjnjtjzjjjjjjj۲j<jBjHjjjjδjj5jFjljjڵjjjjjjijojjڶjj!jsjyjjjjjηj1jjjjظjjj j`jfjjֹjjj!j1jɺjϺjպjۺjjjjjػjjjj%jLj\jbjj4jDj_jejjj j'j7jGjWjtjjjjjjj[jjjjjjj#jAjGjnjtjjjjjjjjjjj)j:jJjPjjjjjj'jBjjjpjjjj2jMjjjjjjj1jzjjjjjj$jZjwjjjjjjjjjjjjjjjjjj jj#j@jFjjjjjgjwjjjjjjj)j9j?jEjKjjjjjjjLjRjjjjjjjjjj<jpjjjjjjjj6jjj<jLj\jlj|jjjjjjj jj/jLjijjjjjjjyjjjjjj0j@jPjyjjjjjjjjjjjjjj(jjjjjjjj"j(j.j4jPjkjjjjjj jKjfjjjjjjjWj]jjjjjj jj;jXjhjxjjjjjj/jKjQjjhjxjjj9jIjfjjjjjjjjjLj\jjjj,j<jLj\jjjjjjj1jBjRjbjrjjjj:jnjjjjjjqjjjjjjjjJjPjVe}rsjl}rt(jMUjbMj5MjM jMejOMHjM]jMjMj9KdjhMjMjMGjMHjMIjWuMjOM&jPM+jPM-jOM(j:~M_jPM*jPM,jOM)jOM%jOM'jldMj1VMWjYMljޜMVjMjMjܕMjMj*TMKjMjZMjSMHjaM5jMj;KljC-Kj}0K&j+Kj2Myj8KYj:KejlMjqMjRM@jpMj9Kbj!M)jMtj&MvjM^jZMTjKKjdMjHjMjBjMjMj CKj<M\j6lMjRM<jMfjTMSjNMj OMjMjDKjIMNj>vMjPvMjVvMjMM j>KjMqj6KDjAKjOMljdM1j3Mj{MLjMjM jSMjMtjD4K7jEYMhj=KjhKKjMjΚM:jm+Kj[DKjMjjMjMjCFKjMj;Knj MjMjܵMjMjcMjNMwjMjMjM@jGMjAMjcMj2K2jSMjoMjH}MYjv`MjMjf|MRjB}MXjpMOjMjKKj˯MjMj{=K~j1K(jMj|MjDMejRM^jM-je[MtjM+jtMjtM jZMojHKjMjMj M)jHKjKKjNMjjMjjMj2MjCMFjM+jMjlMjOMj9Kaj'M.j!M-jAKj>KjԓMjpMjMjn4K8jMjMjMjqyM0jwM*j>M#jwM)jNM$jfMjeMjflMjiMjMjMpj^M%jq{MHj9K`jQM6jGKjMjKMM j{MIjQM9jvM jQM7jMvj\M}j\M~jMwj"MxjMjyMjMjMjMjS"KjuM j6KLjMj Mj|MUj|MVj|MSjMj/9K\j;Mj/qMjعMj{MKj`MjOMjMijwM,j MjMj<KxjMjMjaMjMojMXj9NMj{M j;Khj(MjMjPMjVM]jVMZjgM2jMjMKjΜMUjTMLjMjMjMijщMjM9jJRM;j)aMjkMjMjMjMjMjMj"MrjpMjpMjXMVjMjMjEKjMjLMTjRMUjBKj MPjdMM jMjMj.Kj"kMj~1K'jhMjMjMMjMMjMjܩMjqMjNMj`yM/jqMjwM+jwM(j/WMbjMjVM^jVM`jVMajVM_j(K jMj4K>jMjBMjKMjsSMDjySMEj<KujfMj[Mvju[MujW;KjjNMj!KjbSMCjMjJKjMjMjMPjsMLjnMjMQjMRjNMjM0jnMjMjrMjMjFKjƃMj؃MjMjMWj5KBj5KAj5mMj;mMjMjoMj5K@j;M#jKM$j0lMj<KwjhMj~MbjMjSMjGMjĈMj6MjcuMjMMj$Mj:Kfj^M0j\MjbOM jgMjA=Kzj4K9jıMj9BKj٢Mhj {MFjMj|MyjMjMjU]Mj7MjMjbMsjUMMj}MWjMjeMj{Mj|MsjeMjeMj`/KjMjBKjMjmMjrMjrMjMjPM/jMj"MjLMj6KNj4UMNjiMjM~jMjMjMjJ2K-jM(jMMjMj>MjMj MjMjMjMjXMbjȝM_j}M^jCKj6/KjTMjNMj?MjMjzM7jOM#jMjMjMjMj$OMj;KijMj!)KjEMj]MjbPM.jVMUjUMSjMjdMj|MTjMj Muj$MjMjasM jMMjMOjMNjjMjMIj1K)jKKj M9j>hMjMjLKjtMjfMj4K;jMjM*jVeMjMjLkMjM8j7KTj6KOjMcjMaj 9KZj+AKjUMOjMYjMOjIMjMjvM!j"7KPjoMjoMjMjMjMMjHMjMjMpj2K1j2K/jݲMjCKj2K0jMzj.MjMjMjMqjMVjpMjMjj7KVj^=K{j.Mj4Mj(MjvMjߦMj&2K+jօMjKDKjuMj[^MjFKj4KjaM jNMjMjMjd}MZjHMajͦMjM~jYmMj 6KEjaMjMfjoMjMj``Mj͞MdjpMj MjMj<KsjHKj]MjgMj~MJjMLjxMIj\M|jMjM&jjMjAKjjMjMZjBKjzBKj\BKjtBKjFM4jbBKjCMMjhMj(LKjKKj"LKjÓMjnLMj6MjUMRjUMPjSMjtMjMjqMjDvMj\vMjJvMjMjVM\j@fMjVM[jMjiMjلMjMj'Mj?6KFj>Kj[MrjMjMjwM-jMjPMj}Mj_MjMjvMjMj|MjMjNAKjHAKjBKj?M[jMejZAKjTAKjhMjMjMjMj_Mj_Mj`JKjKxM.jZJKjfJKjXMfj~Mcj0K#jj=K}jNMjFKjMjMjQM3j/(K jHMj+MjuMjMjMHj?Kj)M:jMljMjMjLMj@MjMJjMFjRMjFMj:Mj`MjhcMj+VMVjKKj(rMj.rMj}MjM jR7KSj~Mj;KmjMjMjM jL7KRjX7KQjfMjZMpjZMqj=MjMjVzM2jCKjMAjEKj!MM jMjLMj5MjMjM=jMj3IKj˔MjLMjLMjLMjLMjMJjԚM;jMjmM{jpMFj*MjM`jQM:jQM5jQM8jMjMj MBj٦MjзMj\MzjM&jYMj&MjhMjMjCMjOVMXj6M3jI-KjMj]MjtM j2K3jMjMjMjMj<Mj%MjZGKjMjTM?jMjMjMjMjDMjMjMjçMjJKjMj°MjzM5jGKjzM9jzM3jzMAjzM?jzMBjmMjzM=jzM<jzM>jzM4jM_j#M jBMjtMAjMZjMjLM]jˬMj׬MjMjGKjJKjJKjzM jMjSMjiMj jMjMjiMjEKjEKjiEKj>M4jM>jMjOM"jNMjMj1MjyM{jbMj9KcjM?jM<jMjMjRMj^Mj^MjMXjMNj?Kj5`Mj*Kj]fMj MjMj7|MPjEKj=|MQj)Kj1|MOjuHKj"MjMjDKj?KjM@jpMjZMjMjMj,MDjHKjgMjM,jhOM!jMM jMj[Mxj\MyjMj[MwjMjUMjOMjMj MjMjMjMj\SMBjOM$j&bMjӦMjHMjMj$MjMj:KgjKYMij8MjMoj MjMjMjMjMjMjl0K%jMBj|MMjzM8j/`MjdM@jlMmj)`MjMj(Kjd~M`jMCjHMjNMj=MjNM.j.M3jMjSMIjuMjM9jM{jɂM|jMAjrdMjMgjMGj^Mj]MEjMcj+|MNjMjhM%jXMejjMjkMjnMjUMQjqMjMjnM,jsMjMjDKj!KjMpjԈMj4K:jqXMcjMja{MGjMjzMjTMJjbMj֘M.jܘM/j<KvjwM"jMnjMojMmjƊMu(jMKj^MjzMlj aMjMkj}M[jMjuMjuMjd=K|j.Kj![MsjkMjGKjCKjMjMjSMGjvMjqMjMnjחM(jMqjїM'j}MjMj`Mj=MjM0j}M]jM7j"Mrj}M\jyM1j&MCjMjMjMj5KCjŬMjZMnj ?KjѬMjMj#_MjM?jдMjMj;MjgM6jMjMDjIKjyMjM j<Kyjr>KjVSMAjAKjAKj<MEj_MjMj3K4jM|jגMj1Mj^Mj4K=jMYjM8jlMfjvM>jMjMjhMjmMjM2jM<jM1jM;j֛MMj6KIjy6KHjM1jMjN_Mj>KjO6KGjYMkjNMRjvMPjzMCjzM@jzM;jzM6jzM:juMj{MDjJMjMj#M jMjM jkMj^M/jܶMjMj~MajfMjKKjůMjѯMjMjMjBnMj#K j5K?jM7jiM\jpkMj|mMjrMgjvmMjM`jRM=jcMj_Mj_Mj`MjMuj `MjagMjMj=Kj?YMgjQYMjjMj>KjMujMjA"KjM(jڻM*jNM5jM"jyM}jMj{MjMjMjMjMjIKjMjMj^MjMjMjMj1K*jIMj <KqjMjsM|j=KjrMj;KojMjMjڮMjMjMjMjήMjԮMjM jMjMj~Mdj`bMj3M=j<KtjMjDM>j>MjMjMj>KjMj'gMjMjNM/jjMjMjHMQj59K]j$CKjMMjMjMjM}jMjfdMj2MEjsM j=KjEKjNMjNMjNMjNMjMjp`MjDMjMjMj˺M"jMjAKjiMjMjMjMjMj.Kj;DKjMj)<Krj!vMjM}jMvj̃MjMj\Mzj;KKjKKKjIwM$jUwM&jCwM#jjMjM'jM)jBKj8Mj^M6jMjFM+j9M;j6KJjM6jM5jM3jMWjM4j6KKj3M!jBKj4MkjMjM*jMtj5MjEKj=@KjMjMQjJKjMRjMTjMSjMjfMjNMjMsjMMj9MjvMxj<KpjMjMjCbMjMj=GKjݖM jMj6KMjMxj*CKjJMj%K jPMzjMjMjdMj>Mj5MjjMjRMkjMjdMj!MjjGKj0>Kj(KjM!j.Kj.Kj.Kj%MLjMKj/K j4K6jMMjwXMdj MbjMjRMjW.KjѺM#j׺M$jݺM%j,eMjM'jMjx_Mj;KkjKKjLKj LKjLKjLKjOwM%jfwM'jd"KjM"Kj_\M{jIMGjG"KjMSjeHKjfMjlVMYjMjZMmjSMFj`MjM7jMjFKj=Kj=Kj^Mj҃MjkMjMjGKjFKj7KUj7KWjTMj؆MjdMjmMj0MjMj*MusbU legacy_formatruUsolutionrvccobra.core.Solution Solution rw)rx}ry(UstatusrzUNAr{hNUx_dictr|NUsolverr}Nh}r~UfNhNUy_dictrNUyNUxNh"}rubU compartmentsr}r(UpU PeriplasmUcU CytoplasmUeU ExtracellularuU metabolitesrh)r(jj j j j*!j@!jp!j!j!j "jEj?gj""jHj+@j@j@jAj@jˀjm@jU@j"jej ejejfj%fjhfj7ejaejjjH>j5ijhjNbj1bj$j$j$j%j/%ja%j%j&j&j&j&j 'jE'jj'jg6j~ljHjjTdj#j*dj$Fjcjcj(j-kjTjj~jdmj^kjDQjPjƆj9$j$jjh(j֥jjmjΧjZ6jv$j^$j jVjijcj>jjjTjqjdj,jYj#j#jjjƏj(j}j˙jj[+jN+jhjhjzjU*jejojR)j*j)j)j0*j1pjIpj-)j )jpjypj*jw)jpj*j*jpj)j8+j*japjjDejnej,jJ,jz,j,j/3jG3j,j+j2j3j,j2,j2j,j,j3jb,j]jl3jjjj=Vj<_j2j82j;j;jIju(jUhjjjZVj/jj-jjOLjnjjjj#mjAj~jIjIjAj/jh;j{jHjj10jjlgj,hjpjjGj$-jBjb.jA/jBjjjthPj}2j"1j2j8j2j4j\4jjEj-6j9jq5j~jd5jAj 6jj7j-7j6j7jZ9jM9jr9j8j:j,j6j/jm;j =jy4jJj-j*j?j?j=j6Aj4j?j9jZj;>jAj2jMjN/j[j'Bj6jACjDjDjEjDjDj1Fjjq<hej%j>j>j(?j?j>jl?jO4jSHjHj j"j:jRjjjjj:jIj=jT0jIjj1jIjIjjKjKjyLjj,MjzMjCOjj\LjNjOjj j7j,[jPPj$jPjPhjDj2j jPj~Djb*j.jyQjQjQjRjj<jMjRjRj9SjMjSj-jm-jSj`jTj}TjeTjTjTjMTj5TjgjVjuGjUjjVjVj9jKjrjj Tj -jjjZj"UjWUj?UjoUj)Zj6ZjTjZjZjS[j[j[j9[jXj[j[jj]jqj]jq^j^jjf_j_jA`j4aj/jYajfajGjnjbjJ8j0jU-jT3j>j`j`jjscjb8j%j-jy3j9jdjdjjdhjejej*jfjjfjhjgjgjgjjj+jfjIhj{hjܴjjAajbjjWjcijijijjkjkjljvj7Qjl1jE1j{jjj|~j jlj jmjGmjcjVcjmjmjGdj_qjhjqjrj[rjCjT|jWEjj7j"ujujujEuj6jhjrwjwjwjxjxjqj|yjyjjj{jzjB{jJjJjHGj{jZj~Aj.jrj|jq|j|juj>jo~j~djbjj0j`jj1jjjjjjځj(jjj(~j}>j]jjF[jygj4<jDŽj_jjjOjjjdjjjąjj jFj(jjjajTjjj~jjjjjvhjCjCPjCj܊j~jHjjAj*jRqjjjˌj/=jwj}ijFjRjj|jPOjwjjj܏j>jwzjij4j1j^j4jY_j&jJ:j7&jb:j ]j8j-jj-.j jjjjkjNjjjKfj[j,jtjmj1j"jj1j8jsj;j 3j'Njj9jGjE(jY<j1j4j|j`>jjjz;jpij~jqjdjjjjsvjL<hjejpjpjqjjIj~j6jfjjujjGjKjjqj:qjVjjjޝjjhjj#jj}j1-jjj|FjjFj1jFjFjoFjj2jjzjPjVhjԂjGj>jjj{j٨jjO{jWjjj$jLjɑj jhjjyj+jujPjj{j-jxPjjDNj(jvj/1hzj-j,zjjE;jHjjjj)jCj^jLjjݯjj9zjj^jʶj*jujNj28j-j"3j\&j0jz:jt&j:j0j6jgj0j8j8]jj!jj:j8jgjj{jE.j{hjj@jH@jz@j@j@j@jAj)DjDj-jj:kj:j=j3j%j%j%jjjO&jj5j'j'j'jjj'jj¾jھj j$jVj{jjjNj:jjjBj>jj$/jj6Hjqj3jj j4jfDjijj4jjVjTjvjZjRjjbjGjjOjSjTjjjjGj!j=jjjjj,jDj\j|jtjjBj"jjjpj5jNjjjϱjjZj=jj2JjIj"=jjfAj<j'jqjjdjG0jjoujjjj2gjjujjjhjqljjqjj[jYjjj&jCjj/_j]jjfj8jazjtOjij\Njjj<j_j}j1jjj!jJjjjvj=*j_)j)j)jjsj́jljjj]jz8j3j:)j-j(j]jufjz*jjjcjfjjnhjj/jj,jj"j)j*j *j)jljljHj+jNCjKj9MjNj_jajj7jj(jXjȢjljjjjj<jjYjRjdjj^j%j:j&j2:jjjLjjVjjjjJjtj5j)j7jȻjjje(jjj5j7jijjjj<jjjjjj5j5j_1jR1j!j\j0jjDj?jN`j2hj^j RjjjjjVjjjajTjjj;jPjejzjjjjjjj j"j7jLjajvjjjjjjj jj3jHj]jrjjjjjjj j j/ jD jY jn j j j j j j j j j+ j@ jU jj j j j j j j j j j' j< jQ jf j{ j j j j j j j j# j8 jM jb jw j jj j j j j j j' j< jQ jf j{ j j j j j j jj#j8jMjbjwjjjjjjj jj4jIj^jsjjjjjjjjj0jEjZjojjjjjjjjj,jAjVjkjjjjjjjjj(j=jRjgj|jjjjjjjj$j9jNjcjxjjjjjjj j j5jJj_jtjjjjjjjjj0jEjZjojjjjjjjjj,jAjVj&jrjjjjjjjjj/jDjYjnjjjjjjjjj+j@jUjjjjjjjjjjj'j<jQjfj{jjjjjjjj#j8jMjbjwjjjjjjj jj4jIj^jsjjjjjjjjj0jEjZjojjjjjjjjj,jAjVjkjjjjjjjjj(j=jRjgj|jjjjjjjj$j9jNjcjxjjjjjjj j j5 jJ j_ jt j j j j j!j!jM!jc!j!j!j!j/"j`Rjhjjjjȟjjjj(j@jXjpjjjj jjPj8jj؞jo"j"j"j"j"j{#j$j$j$j %j<%jT%jy%j&j&j&j'j-'jR'jw'j#jdj,$j$j$jQ$j#j#j(jK#j3#jc#jzj +jj #jU2j.j/j0j+jo.jk/jfj";j3j'4j4j 5j65jC5j:7jo7j7j9j:j;j+jL=j@jAj Pjx/jjCjDBjtEj/EjEjGj>j>j@?jJjJj}JjHJj)KjLjLjMjLjQjQjlQj8RjRj SjSjUjUjwVjWjXjwWjWjWjj?jXjj"Yj YjVKjsYjYjYj}Zj^Zj*\j[j\j\jm]j`]j<^j^j^j_j+j~aj bj&cj>cjcjcjdjdjejhjij#jj0jj.jjjkj{kjkjkjHljTljlj mjmjojojJojbojwqjCyj:rjhrjrjrj ujvjbxj1wjwj#xjxjxjxj yjyjyj,vj%}j|j|jx}j}j}jR~jojj#jSjj8jhjj[jdj<jj5jwj"jjM\jgjE~j^jjÇjj}j߈jZj-jej_Xjj~jj}j j+jkjkjjj"jҐj#j.jj.tjFtjjjzjtj8jjQjjĘjj4jjjj`jjjtjjEWjcjEjmRj@jʣj֤jj1j2jUjxjj-jmjj/jjj)jjjj=jijjϫjjjjwj]j&jsjjkj%jjj[jjjjj9j8;jgj.jΰjYjjj(jjLj}jj4jYj.j7j^tjvtjtjsKjjjWjWjWjWjXj3XjIXjjjjjjjjjj]WjWjWjjj&Xhjjjj1jIjnjj1jj+jjjjj"j>jjjjgjljjjTjjjj)jjj jljЍjjj;j"^jijjWjjKj(jj5jI^jj2j?jjDj:jGjjj/^jsjtjjjjjjějjYjYjjjijjjojjjx+j{jjnj{jjje}rjl}r(jĖMxjY-Mj"HK5jhKZjpK{j\Mjk6K3jyMj5MTjMjXMj]MjnMjMsjc MOj M>j_Kj1MjDMj{)KzjMjtMjnCMj$PMj M<jMjMKjGKjiMjMwjMyj/KjM$j4jMjMGj1M"je%K*jhMvjMj5Mj>MjM2jMHjTKDj MCj{M5j>M jBKjiMj"M&joKmjEaMj[MsjMujMj=MjKQjMEhiM jxMjM=jj_MjMjsuMijreKjSMjbMjMjMjMjSMIj MRjMjMXjMjҧKMjKjbMjM`jZKRjMj}LM(jqMjMMKj M^j MFj M)jMj MJjHBMjMtjYMj/ M?jLMjBKUj9iK!j+BKj.MJjAKj1MDjMj1)Kuj fKjbM3jfMj$6KjtMj-MMjM<jv9Kj\MjMjCM)jMIjMjs7MjMj!qMjcXM<jMjMjLMjM9jԍMjKjMtjM$jMKj;eKj2KjvM*j M%jb$KPj50KjK@j M9jM1j:AKj]MjRMjMj>qMj>Mj4KjYMj KjM,jRMHj MQjIWMajZMgjTOM;jM]j !MUjMjN MNjMvjrMjKj@^MjMj[MjjAMajNMUj8MXjAMxj.Mj0MjXMj~;MrjjMjPMjMjbkKBjMj_MjM jMj8<M jMj/Mj~KjkM1jHKjqMjY@KjX%M~jMjMj}3MjTMj"K jܞMrj!M[jMjKMjSLKjE/KjLM(jMMGj/Mj,~Mj RMDjXMuj Mcj_M(j;QMjHeKjMjhK"jMj{Kj\MhjMj;Mj9 MMjMjpgKjMj6Kj+NMfjMj">Mj$'K0jMj;Mdj1'Mj<MRjMjjMjZM*j{MjMjMj4M-j#MjXlMj1.MPj{Mj`MjMj{Mj Mnj'MjBcMj&K,juMjMj~,KjXM4hMj5-Mj|}MjNMjIKjHMjAMj€M"j3MqjmMyjMjMjMjMj͑MjKMjlM&jJM7jM6j+MjȅMjE`MjYMj MjjK_j@Kj{WMjJMjM?j MSjkMjMj MEj8M}jMjMjMj>MjYMjNoMjhMj:ZMmj M`jlMjbZMjcqMjL@Mj*XMj.Kj9KjWMjmKLjMjwMjLJMjMjKjM%j|/Mjq;KjIM$j MGhMj+Mj"MGjMjbMj5wMjdRM]jMjMjBM@jMjlK4jM^j&Mj~Mj MjMjkMCjMj1Kj}MjNMjMjrM)j]MjζMj +MjMj3Mj$M{jM j-Mj>M jΣMfjlM^j$K'jAVKjsM jMj>Mj?Kj0MjtMQjM1j MjMj}Mj"Muj=M[jIMj̢Mj5MjGyMj(Mj:MjgiMjbMjMj0Kjr M6j9M,jCUMjj;MjkMj<]MjU$MjvM5j"Mwj/Kj)fKjMjcKMjAKjM%jKj MIjMpjkMjlMjMNj؂MjMjMjMjgMjM8jVMYjfMjMjM/jMjMjIK j~M jgMjMjbMj0K[jMjWMjMjMjvMj-KMj`&Mj3^Mj'Mj MHjM%j"lMjM$jM;j ^MjqMj(MjMjMjMj' MWjTMUj9M_j M4j WMjIuMjwvMzjEMhMj2KjMYjMjA*MjTMojy(KjAKj[UMij;Kj)KjJtMMjMj[Mpj;&MJjuMjIMjMjnMjMj^9Kj'Mj!KjDMej_MjMj|MLjQ9KjMjMj&1KjWM#jdMjMjrM j>MjIM#jMjDMjMjMjMQjNMj{'Mj(MjLMjMjoMUj16KjyMojLJM5j Mj(MjMjJMjMwjMjM*jMjKejM2j]K\jf MZj1MjTMcjPM8jzMjCMjYMjiM}jP<M{jMj}Mj'mKjMj|MjRM7j6MjaMjMEj\MjM\jS{MjfMjMj<MFj7MjeKj:MjNM/jqRMdj #Mj@Kj&M_jM!jx&MjZMjQMjMjztMjJMjFM#jQ!MWjfxMj:HM(j gMjKMij^MjlMjD!KjMju^M|jj MgjMjM`j5bK$j!(Mj:5MjMj#MxjV)KnjRCMj=[MtjȘMVj,Kj3KjMjjKjMpjMbj#Mj*K}jN:MIju|MjMTjl(KIjsMjkMjBM$jX|MjgMjd>Moj$Mj9MjyMjMdjMjM:jMj+MBjSMOjc)Mj*K|jfM9jVMj}MjMjMjZcMjEMj/MjMWj]MjS4Mj7MjeKlj>MjBMOjcMjAMjkM7j?KjMj@MjKjMj,KjM jyMj@Mj^Mj^6KNj2tMLj7XMjM|j6:Mj^M}j4Mj#&MHjݨMj MhjnKjQMBjMjxEMjMqjKMj%Mj@MjϙKdj&MjDMjD M@jM8jsMjxMjPMj6MjjxMjFMjMj!MZjM_jMjMjM j7M3jM/jM\j5FMj;Kj~8MjkMj6,KjMEj%M j7Kj M1jMjMjDMgj>7MhMj`LM.jVqM0jtKjq@KjMqjS&M jtMSj MjUMj+KjMjI;Mj@MjMjUM[j MUj<;MjMjMjlMjMzjf8MjlMjeKj]aMj$Mzj @Mj1Mij?Kj M:j_MZjM jMXMjrhMjM j MQj=MDj:MjMjjtiMsj|MjPMjMj MujKdMj,KjTM>j|Mj M7jMjyMjށMjp3KjRbK#jVMjMjKjM+j/Mj4MFj;Mj\Mj&;MjyMj[MvjiTMSj&Mj#K^jTMRj&K-jMj7Mj}QMAj MOj8Mj3 M3j7KjpQMj/MjF{MjSMLjV'MjSMj=MjsUMkjI'K1j=$KFjM~j%Mjp1MjzMj*KojMVjhMXj&UMhjEKj}gM jM}j=MMjDM:jMj3%K)jMyjM!j@%M}j%M jX3MjMOj˄M jM^MjKHj(M6jNMjMj{zMAj3MjMjMHjM jsFMj֐MHj MRj|MljMjM~j6gMmjŒM1jM!jM?j6MjM j*KjMj31MjMjMj0MjM3jMjMjM"j2Kj$K%jIMjM7jY2Mj^MjRMjMnjeMjZMjeKjjMj)MjMyjuMdjMEjMjZKMjMj-Mdj{ M[jMj MVj2Kj{VMjvM%j#MjW[Mqj;Mj MajxMj޾MjO#Mj.\MjMjMjMpjM"jVM8j MjoMjfMjHK jM?jKj[MjMjMjKj MbjMFjK6j!WMjMjM{jMjMj`NMjoM+j9KjmMj3KjMjMWj MjMmjIM^jHMJj8Mj|MjGMj}pKxj.M@j/Mj3MehM|jZMjM#jMjbMj?>KjiMjMvj,Mj'jMjVMjepKjrM jKjMjHMj"MvjMjMSj6MjMvjKM&jfMj5Mj,Mjj MNj|+MjMjDM>jR`MjQMj MKjWMjK`j,Kj(Kbj{M-j5MjuMzj~MjgMCj@ MejVM3jjMjMhMjd]Mj MjhKhj>M j~MjU Mfj]M{jMjkMj=KjMj-MjțMjMj0$MjrMjMjQMCjBMjpMj M=jR/Kj0MM*jAKjmMj:MjMjMj@MjsMcjMjMFj3Mj=Kj)Mj2Kj%MjM+jZMj;KjaWMj] M5jhM)j5Mu(j'Mj)Kqj,MjMjM2j!MYjHQKCjEKjM'j$]MLjMhjMjCM'j>MjFMj]Mj1M:j_MjM0jMjMjMjmMjMjjM j9Mj MhMj-Mtj-DMj5Mjz$KOjMjYMjyfMj<2KjMGjMj`4Kj?Mj!KjTKXjMj%K+jMjMjXdK7jiMBjGMBjeeKjcM j}%Mj M"jMj0vMj#M|juM jcMjRMBjMjLGMjmMjMjZhMj|MDjόM3jECMj-MjI.MjMjMjezMjxOMj~M+jeMj<Mqj[MjdMj~M>jMjgMjdMjMj~MPj[EMjMjqM]jMjMejIKjMjMj-Mj=SMJjMj MTjMj Kj>kMjMxjMljMj*MjMAjwMjgMj/@Kj.MjNMjBMjMj%MjJMj MDjIM j̟Mbj{Mj'xMjMzj8KjMjGPM(jTMQj4MjKM`jiM;jMjMajTMTj,KhM9jCgK jOfMYjMj0[M4jY*KkjeMj{MjrMj4KjWMjfoMj)}Mjg#MjX0Mj~@Mj M\jMfj3M*jwYMj5M^jlMjMjMj MTjulMsjM#jyGMZj(/M&jhmKAjсMjM!j?Mj+MjM j%MCj)MjMYjMjM'jM jMejiM6j]_MGjM jʆKEjMxj%MjZM6jwMjMjK0Mgj33KjKjMhj#K]j#Mj(MjHNMj68Mj%Mj&MjGMj~*Mj>)MjMejpK~jqMujKjMjMj bMjgMj^MZjjaMj Mlj.M/jo/MjI~M2j]<MkjMjFMjMj&K/jOMj2Mj,KjEMjvMj 'MjM-jM=jcK;jOMjMqj6KjMjjDM.j8MjKjPMjZMjmM/j_+KfjbMj(K=j'MjGOM,jMjMjjMj8Mj$MyjWMjM]jwMjoMjMj'MjrMj<M%j9Mhj&M.jM;j>rMj MnjmMj1Mj&3MjMhTKjZMjs~Mj}Mj(-KjHMjV~MjڤMgjMMjgKTjoMj~MM+jMj+ MKjMj2M;jBKjaM)jMjKM'jjMj"Mtj3=M4jMj$Mj$MAjM jI1Mj DMjM<jU MMj=MjQMj UKj0zMj+MjMRj)MjMjOM0jMj MPj"MjuMujkMjRMj$+Mj$K&jcMj JMj=MAj5MjK jMjxMjMjM[j^MEjDMjXMjpM~jMKj*Mj+ Mdj]MyjMjMjMj$Mmjq]Mj-MjM}jM&j9TMWjMjTMjMjMj[MrjVM^jMj?Mj[MwjqMojM jMwjMjM+jMpKtj M2jM8jMMjAM5jMj.MNjnMj*M{jKmMj17KjhMj MgjMj)Kpj:MjMj-MjM9jMj{Mtj=zMhKjsMj<MbjdMjpMj}4Kj4MjMjKVjMjMWjM2j4Mj:MjPMjMjMjnMjMjc1MjvM j Kj MSjMjKMjMjn'K2jNKj&YMj M8jxM_jTPM5j&=M_jQ MYjP=MjdMjSM=j#M0jXMjQMrj`MPj'Mpj]MxjdMj8aMj MkjRMVjMjdMjMj(FK:jMj1MajMjMcjdMjVM6j0Mj"MjaMjHMj8MjÉM$j7MjMZjnMjDMjrMj1MjWMjӱMXjf,Kj@Mj M_ju5KjkMj-ZMljMjMjŨMjMjyMjnMjf*M?j3MjM/jM>jM`jXM j`MjMjlfKj MijKKj)Mj_MjaMj4M1jMMjKjzMj^M9jwMjIMjM`j,MfjM&jMj@M*j{MjڥKJjeMjMjAMj$ MLjM>juMjpKj1MjMjMj^VKjFMjq-MNjZMojXMj1kK>hMj Mj`MKjMj^Mj< MXjM-j@ MLjMjwMjMkjLMjMRj_MwjGM|jKjMj0hKjMOj )Kvj$RMj<MpjMjrMj@KjM,j@_KjnWMj*MjR+Kgj"@MjN,Kj M,j*Kyj4*Krj~Mj&K.jMj&MjMUj-MjWMjpMj&MPjMjMjp?MjMjvwMj%K(jOM<jMj8Mbj%M|jwMju<M h?KjM-jMjM@j 2Kj,?Mj M;jiKSjBMjD?Mj*Mj3"M\jKcjVM]jMM~j]Mj&"K jiMj{qMj MjmMjMjh5KjMrjtMij/MjMj8MmjMj7#MjMjPMjMjLlMjMj@Mj8KjXjK?jMj:Mj8MMusbU_trimmed_genesrNhUiJO1366rU_trimmedrh"}rU_cobra_versionrX0.3.0.dev-266-gfacc8bfrub.cobrapy-0.4.0b6/cobra/test/data/iJO1366.xml000066400000000000000000116643141263606473700201410ustar00rootroot00000000000000 cobrapy-0.4.0b6/cobra/test/data/invalid0.xml000066400000000000000000000056601263606473700206350ustar00rootroot00000000000000 cobrapy-0.4.0b6/cobra/test/data/invalid1.xml000066400000000000000000000046721263606473700206400ustar00rootroot00000000000000 cobrapy-0.4.0b6/cobra/test/data/invalid2.xml000066400000000000000000000100011263606473700206200ustar00rootroot00000000000000 cobrapy-0.4.0b6/cobra/test/data/mini.json000066400000000000000000001167211263606473700202350ustar00rootroot00000000000000{ "compartments": { "c": "cytosol", "e": "extracellular" }, "genes": [ { "id": "b0755", "name": "gpmA" }, { "id": "b0875", "name": "aqpZ" }, { "id": "b1101", "name": "ptsG" }, { "id": "b1380", "name": "ldhA" }, { "id": "b1621", "name": "malX" }, { "annotation": { "ncbigi": [ "GI:1208453", "GI:1652654" ] }, "id": "b1676", "name": "pykF" }, { "id": "b1723", "name": "pfkB" }, { "id": "b1773", "name": "ydjI" }, { "id": "b1779", "name": "gapA" }, { "id": "b1817", "name": "manX" }, { "id": "b1818", "name": "manY" }, { "id": "b1819", "name": "manZ" }, { "id": "b1854", "name": "pykA" }, { "id": "b2097", "name": "fbaB" }, { "id": "b2133", "name": "dld" }, { "id": "b2415", "name": "ptsH" }, { "id": "b2416", "name": "ptsI" }, { "id": "b2417", "name": "crr" }, { "annotation": { "ncbigi": "GI:1653839" }, "id": "b2779", "name": "eno" }, { "id": "b2925", "name": "fbaA" }, { "annotation": { "ncbigi": "GI:1653609" }, "id": "b2926", "name": "pgk" }, { "id": "b2975", "name": "glcA" }, { "id": "b2987", "name": "pitB" }, { "id": "b3493", "name": "pitA" }, { "id": "b3603", "name": "lldP" }, { "id": "b3612", "name": "gpmM" }, { "annotation": { "ncbigi": [ "GI:1006614", "GI:1651919" ] }, "id": "b3916", "name": "pfkA" }, { "id": "b3919", "name": "tpiA" }, { "annotation": { "ncbigi": "GI:1653253" }, "id": "b4025", "name": "pgi" }, { "id": "b4395", "name": "ytjC" }, { "id": "s0001", "name": "G_s0001" } ], "id": "mini_textbook", "metabolites": [ { "annotation": { "bigg.metabolite": "13dpg", "biocyc": "DPG", "chebi": [ "CHEBI:16001", "CHEBI:1658", "CHEBI:20189", "CHEBI:57604", "CHEBI:11881" ], "hmdb": "HMDB01270", "kegg.compound": "C00236", "pubchem.substance": "3535", "reactome": "REACT_29800", "seed.compound": "cpd00203", "unipathway.compound": "UPC00236" }, "charge": -4, "compartment": "c", "formula": "C3H4O10P2", "id": "13dpg_c", "name": "3-Phospho-D-glyceroyl phosphate" }, { "annotation": { "bigg.metabolite": "2pg", "biocyc": "2-PG", "chebi": [ "CHEBI:1267", "CHEBI:58289", "CHEBI:17835", "CHEBI:21028", "CHEBI:11651", "CHEBI:12986", "CHEBI:24344", "CHEBI:39868" ], "hmdb": [ "HMDB03391", "HMDB00362" ], "kegg.compound": "C00631", "pubchem.substance": "3904", "reactome": "REACT_30485", "seed.compound": "cpd00482", "unipathway.compound": "UPC00631" }, "charge": -3, "compartment": "c", "formula": "C3H4O7P", "id": "2pg_c", "name": "D-Glycerate 2-phosphate" }, { "annotation": { "bigg.metabolite": "3pg", "biocyc": "G3P", "chebi": [ "CHEBI:40016", "CHEBI:58272", "CHEBI:57998", "CHEBI:11879", "CHEBI:1657", "CHEBI:1659", "CHEBI:17050", "CHEBI:21029", "CHEBI:11882", "CHEBI:11880", "CHEBI:12987", "CHEBI:17794", "CHEBI:24345" ], "hmdb": "HMDB00807", "kegg.compound": [ "C00197", "C00597" ], "pubchem.substance": "3497", "reactome": "REACT_29728", "seed.compound": "cpd00169", "unipathway.compound": [ "UPC00597", "UPC00197" ] }, "charge": -3, "compartment": "c", "formula": "C3H4O7P", "id": "3pg_c", "name": "3-Phospho-D-glycerate" }, { "annotation": { "bigg.metabolite": "adp", "biocyc": [ "ADP", "ADP-GROUP" ], "cas": [ "58-64-0", "58-64-0" ], "chebi": [ "CHEBI:13222", "CHEBI:16761", "CHEBI:2342", "CHEBI:22244", "CHEBI:40553", "CHEBI:456216" ], "hmdb": "HMDB01341", "kegg.compound": "C00008", "kegg.glycan": "G11113", "pubchem.substance": "3310", "reactome": [ "REACT_190072", "REACT_481002", "REACT_211606", "REACT_429160", "REACT_29370", "REACT_196180", "REACT_113581", "REACT_113582", "REACT_114564", "REACT_114565", "REACT_429153" ], "seed.compound": "cpd00008", "unipathway.compound": "UPC00008" }, "charge": -3, "compartment": "c", "formula": "C10H12N5O10P2", "id": "adp_c", "name": "ADP" }, { "annotation": { "bigg.metabolite": "atp", "biocyc": "ATP", "cas": [ "56-65-5", "56-65-5" ], "chebi": [ "CHEBI:40938", "CHEBI:15422", "CHEBI:57299", "CHEBI:13236", "CHEBI:10789", "CHEBI:30616", "CHEBI:22249", "CHEBI:10841", "CHEBI:2359" ], "hmdb": "HMDB00538", "kegg.compound": "C00002", "kegg.drug": "D08646", "pubchem.substance": "3304", "reactome": [ "REACT_190078", "REACT_113592", "REACT_113593", "REACT_114570", "REACT_29358", "REACT_389573", "REACT_139836", "REACT_211579" ], "seed.compound": "cpd00002", "unipathway.compound": "UPC00002" }, "charge": -4, "compartment": "c", "formula": "C10H12N5O13P3", "id": "atp_c", "name": "ATP" }, { "annotation": { "bigg.metabolite": "dhap", "biocyc": "DIHYDROXY-ACETONE-PHOSPHATE", "cas": [ "57-04-5", "57-04-5" ], "chebi": [ "CHEBI:14341", "CHEBI:57642", "CHEBI:14342", "CHEBI:16108", "CHEBI:5454", "CHEBI:24355", "CHEBI:39571" ], "hmdb": [ "HMDB01473", "HMDB11735" ], "kegg.compound": "C00111", "pubchem.substance": "3411", "reactome": [ "REACT_188451", "REACT_75970", "REACT_390404" ], "seed.compound": "cpd00095", "unipathway.compound": "UPC00111" }, "charge": -2, "compartment": "c", "formula": "C3H5O6P", "id": "dhap_c", "name": "Dihydroxyacetone phosphate" }, { "annotation": { "bigg.metabolite": "f6p", "biocyc": "FRUCTOSE-6P", "cas": [ "643-13-0", "643-13-0" ], "chebi": [ "CHEBI:57634", "CHEBI:12352", "CHEBI:45804", "CHEBI:61527", "CHEBI:61553", "CHEBI:10375", "CHEBI:16084", "CHEBI:42378", "CHEBI:22768" ], "hmdb": "HMDB03971", "kegg.compound": [ "C05345", "C00085" ], "pubchem.substance": "3385", "seed.compound": "cpd00072", "unipathway.compound": [ "UPC05345", "UPC00085" ] }, "charge": -2, "compartment": "c", "formula": "C6H11O9P", "id": "f6p_c", "name": "D-Fructose 6-phosphate" }, { "annotation": { "bigg.metabolite": "fdp", "biocyc": "FRUCTOSE-16-DIPHOSPHATE", "cas": [ "488-69-7", "488-69-7" ], "chebi": [ "CHEBI:32968", "CHEBI:49299", "CHEBI:42553", "CHEBI:32966", "CHEBI:37736", "CHEBI:28013", "CHEBI:32967", "CHEBI:41014", "CHEBI:22767", "CHEBI:10374", "CHEBI:40595", "CHEBI:40591" ], "kegg.compound": [ "C05378", "C00354" ], "pubchem.substance": "3647", "seed.compound": "cpd00290", "unipathway.compound": "UPC00354" }, "charge": -4, "compartment": "c", "formula": "C6H10O12P2", "id": "fdp_c", "name": "D-Fructose 1,6-bisphosphate" }, { "annotation": { "bigg.metabolite": "g3p", "cas": [ "142-10-9", "142-10-9" ], "chebi": [ "CHEBI:17138", "CHEBI:14333", "CHEBI:5446", "CHEBI:58027" ], "hmdb": "HMDB01112", "kegg.compound": [ "C00661", "C00118" ], "pubchem.substance": "3930", "seed.compound": "cpd00102", "unipathway.compound": [ "UPC00661", "UPC00118" ] }, "charge": -2, "compartment": "c", "formula": "C3H5O6P", "id": "g3p_c", "name": "Glyceraldehyde 3-phosphate" }, { "annotation": { "bigg.metabolite": "g6p", "biocyc": [ "D-glucose-6-phosphate", "GLC-6-P" ], "cas": [ "56-73-5", "56-73-5" ], "chebi": [ "CHEBI:10399", "CHEBI:22797", "CHEBI:41041", "CHEBI:17719", "CHEBI:4170", "CHEBI:61548", "CHEBI:58247", "CHEBI:12375" ], "hmdb": [ "HMDB03498", "HMDB06793", "HMDB01401", "HMDB01549" ], "kegg.compound": [ "C00092", "C01172" ], "pubchem.substance": "3392", "reactome": "REACT_1629756", "seed.compound": "cpd00079", "unipathway.compound": "UPC00092" }, "charge": -2, "compartment": "c", "formula": "C6H11O9P", "id": "g6p_c", "name": "D-Glucose 6-phosphate" }, { "annotation": { "bigg.metabolite": "glc__D", "cas": [ "50-99-7", "50-99-7" ], "kegg.compound": "C00031", "pubchem.substance": "3333" }, "charge": 0, "compartment": "e", "formula": "C6H12O6", "id": "glc__D_e", "name": "D-Glucose" }, { "annotation": { "bigg.metabolite": "h2o", "biocyc": [ "WATER", "OH", "OXONIUM" ], "cas": [ "7732-18-5", "7732-18-5" ], "chebi": [ "CHEBI:15377", "CHEBI:13365", "CHEBI:41979", "CHEBI:16234", "CHEBI:36385", "CHEBI:42857", "CHEBI:27313", "CHEBI:44819", "CHEBI:29373", "CHEBI:10743", "CHEBI:5594", "CHEBI:29356", "CHEBI:53442", "CHEBI:29375", "CHEBI:29374", "CHEBI:13419", "CHEBI:43228", "CHEBI:44292", "CHEBI:13352", "CHEBI:41981", "CHEBI:29412", "CHEBI:42043", "CHEBI:33811", "CHEBI:33813", "CHEBI:35511", "CHEBI:5585", "CHEBI:44641", "CHEBI:44701" ], "hmdb": [ "HMDB01039", "HMDB02111" ], "kegg.compound": [ "C01328", "C00001", "C18714", "C18712" ], "kegg.drug": [ "D00001", "D06322", "D03703" ], "pubchem.substance": "3303", "reactome": [ "REACT_947593", "REACT_189422", "REACT_141343", "REACT_113518", "REACT_1605715", "REACT_109276", "REACT_113521", "REACT_113519", "REACT_2022884", "REACT_351603", "REACT_29356" ], "seed.compound": [ "cpd15275", "cpd00001" ], "unipathway.compound": [ "UPC00001", "UPC01328" ] }, "charge": 0, "compartment": "c", "formula": "H2O", "id": "h2o_c", "name": "H2O" }, { "annotation": { "bigg.metabolite": "h2o", "biocyc": [ "WATER", "OH", "OXONIUM" ], "cas": [ "7732-18-5", "7732-18-5" ], "chebi": [ "CHEBI:15377", "CHEBI:13365", "CHEBI:41979", "CHEBI:16234", "CHEBI:36385", "CHEBI:42857", "CHEBI:27313", "CHEBI:44819", "CHEBI:29373", "CHEBI:10743", "CHEBI:5594", "CHEBI:29356", "CHEBI:53442", "CHEBI:29375", "CHEBI:29374", "CHEBI:13419", "CHEBI:43228", "CHEBI:44292", "CHEBI:13352", "CHEBI:41981", "CHEBI:29412", "CHEBI:42043", "CHEBI:33811", "CHEBI:33813", "CHEBI:35511", "CHEBI:5585", "CHEBI:44641", "CHEBI:44701" ], "hmdb": [ "HMDB01039", "HMDB02111" ], "kegg.compound": [ "C01328", "C00001", "C18714", "C18712" ], "kegg.drug": [ "D00001", "D06322", "D03703" ], "pubchem.substance": "3303", "reactome": [ "REACT_947593", "REACT_189422", "REACT_141343", "REACT_113518", "REACT_1605715", "REACT_109276", "REACT_113521", "REACT_113519", "REACT_2022884", "REACT_351603", "REACT_29356" ], "seed.compound": [ "cpd15275", "cpd00001" ], "unipathway.compound": [ "UPC00001", "UPC01328" ] }, "charge": 0, "compartment": "e", "formula": "H2O", "id": "h2o_e", "name": "H2O" }, { "annotation": { "bigg.metabolite": "h", "biocyc": "PROTON", "cas": [ "12408-02-5", "12408-02-5" ], "chebi": [ "CHEBI:24636", "CHEBI:15378", "CHEBI:10744", "CHEBI:13357", "CHEBI:5584" ], "kegg.compound": "C00080", "pubchem.substance": "3380", "reactome": [ "REACT_194688", "REACT_425978", "REACT_193465", "REACT_374900", "REACT_74722", "REACT_425999", "REACT_428040", "REACT_163953", "REACT_372511", "REACT_2000349", "REACT_70106", "REACT_1470067", "REACT_113529", "REACT_425969", "REACT_428548", "REACT_156540", "REACT_1614597", "REACT_351626", "REACT_427899" ], "seed.compound": "cpd00067", "unipathway.compound": "UPC00080" }, "charge": 1, "compartment": "c", "formula": "H", "id": "h_c", "name": "H+" }, { "annotation": { "bigg.metabolite": "h", "biocyc": "PROTON", "cas": [ "12408-02-5", "12408-02-5" ], "chebi": [ "CHEBI:24636", "CHEBI:15378", "CHEBI:10744", "CHEBI:13357", "CHEBI:5584" ], "kegg.compound": "C00080", "pubchem.substance": "3380", "reactome": [ "REACT_194688", "REACT_425978", "REACT_193465", "REACT_374900", "REACT_74722", "REACT_425999", "REACT_428040", "REACT_163953", "REACT_372511", "REACT_2000349", "REACT_70106", "REACT_1470067", "REACT_113529", "REACT_425969", "REACT_428548", "REACT_156540", "REACT_1614597", "REACT_351626", "REACT_427899" ], "seed.compound": "cpd00067", "unipathway.compound": "UPC00080" }, "charge": 1, "compartment": "e", "formula": "H", "id": "h_e", "name": "H+" }, { "charge": -1, "compartment": "c", "formula": "C3H5O3", "id": "lac__D_c", "name": "D-Lactate" }, { "charge": -1, "compartment": "e", "formula": "C3H5O3", "id": "lac__D_e", "name": "D-Lactate" }, { "annotation": { "bigg.metabolite": "nad", "biocyc": "NAD", "cas": [ "53-84-9", "53-84-9" ], "chebi": [ "CHEBI:21901", "CHEBI:7422", "CHEBI:44214", "CHEBI:15846", "CHEBI:13394", "CHEBI:13393", "CHEBI:44215", "CHEBI:13389", "CHEBI:57540", "CHEBI:44281" ], "hmdb": "HMDB00902", "kegg.compound": "C00003", "kegg.drug": "D00002", "pubchem.substance": "3305", "reactome": [ "REACT_192307", "REACT_29360", "REACT_427523", "REACT_194653", "REACT_113526" ], "seed.compound": "cpd00003", "unipathway.compound": "UPC00003" }, "charge": -1, "compartment": "c", "formula": "C21H26N7O14P2", "id": "nad_c", "name": "Nicotinamide adenine dinucleotide" }, { "annotation": { "bigg.metabolite": "nadh", "biocyc": "NADH", "cas": [ "58-68-4", "58-68-4" ], "chebi": [ "CHEBI:13395", "CHEBI:21902", "CHEBI:16908", "CHEBI:7423", "CHEBI:44216", "CHEBI:57945", "CHEBI:13396" ], "hmdb": "HMDB01487", "kegg.compound": "C00004", "pubchem.substance": "3306", "reactome": [ "REACT_192305", "REACT_73473", "REACT_194697", "REACT_29362" ], "seed.compound": "cpd00004", "unipathway.compound": "UPC00004" }, "charge": -2, "compartment": "c", "formula": "C21H27N7O14P2", "id": "nadh_c", "name": "Nicotinamide adenine dinucleotide - reduced" }, { "annotation": { "bigg.metabolite": "pep", "biocyc": "PHOSPHO-ENOL-PYRUVATE", "cas": [ "138-08-9", "138-08-9" ], "chebi": [ "CHEBI:44897", "CHEBI:44894", "CHEBI:14812", "CHEBI:8147", "CHEBI:26055", "CHEBI:26054", "CHEBI:58702", "CHEBI:18021" ], "hmdb": "HMDB00263", "kegg.compound": "C00074", "pubchem.substance": "3374", "reactome": [ "REACT_29492", "REACT_372364" ], "seed.compound": "cpd00061", "unipathway.compound": "UPC00074" }, "charge": -3, "compartment": "c", "formula": "C3H2O6P", "id": "pep_c", "name": "Phosphoenolpyruvate" }, { "annotation": { "bigg.metabolite": "pi", "biocyc": [ "Pi", "PHOSPHATE-GROUP", "CPD0-1421" ], "cas": [ "14265-44-2", "14265-44-2" ], "chebi": [ "CHEBI:37583", "CHEBI:7793", "CHEBI:37585", "CHEBI:34683", "CHEBI:14791", "CHEBI:34855", "CHEBI:29137", "CHEBI:29139", "CHEBI:63036", "CHEBI:26020", "CHEBI:39739", "CHEBI:32597", "CHEBI:32596", "CHEBI:43474", "CHEBI:63051", "CHEBI:43470", "CHEBI:9679", "CHEBI:35433", "CHEBI:4496", "CHEBI:45024", "CHEBI:18367", "CHEBI:26078", "CHEBI:39745", "CHEBI:24838" ], "hmdb": "HMDB02142", "kegg.compound": [ "C13556", "C13558", "C00009" ], "kegg.drug": "D05467", "pubchem.substance": "3311", "reactome": [ "REACT_947590", "REACT_109277", "REACT_113548", "REACT_2255331", "REACT_29372", "REACT_113550", "REACT_113551" ], "seed.compound": [ "cpd09464", "cpd09463", "cpd00009" ], "unipathway.compound": "UPC00009" }, "charge": -2, "compartment": "c", "formula": "HO4P", "id": "pi_c", "name": "Phosphate" }, { "annotation": { "bigg.metabolite": "pi", "biocyc": [ "Pi", "PHOSPHATE-GROUP", "CPD0-1421" ], "cas": [ "14265-44-2", "14265-44-2" ], "chebi": [ "CHEBI:37583", "CHEBI:7793", "CHEBI:37585", "CHEBI:34683", "CHEBI:14791", "CHEBI:34855", "CHEBI:29137", "CHEBI:29139", "CHEBI:63036", "CHEBI:26020", "CHEBI:39739", "CHEBI:32597", "CHEBI:32596", "CHEBI:43474", "CHEBI:63051", "CHEBI:43470", "CHEBI:9679", "CHEBI:35433", "CHEBI:4496", "CHEBI:45024", "CHEBI:18367", "CHEBI:26078", "CHEBI:39745", "CHEBI:24838" ], "hmdb": "HMDB02142", "kegg.compound": [ "C13556", "C13558", "C00009" ], "kegg.drug": "D05467", "pubchem.substance": "3311", "reactome": [ "REACT_947590", "REACT_109277", "REACT_113548", "REACT_2255331", "REACT_29372", "REACT_113550", "REACT_113551" ], "seed.compound": [ "cpd09464", "cpd09463", "cpd00009" ], "unipathway.compound": "UPC00009" }, "charge": -2, "compartment": "e", "formula": "HO4P", "id": "pi_e", "name": "Phosphate" }, { "annotation": { "bigg.metabolite": "pyr", "biocyc": "PYRUVATE", "cas": [ "127-17-3", "127-17-3" ], "chebi": [ "CHEBI:15361", "CHEBI:14987", "CHEBI:8685", "CHEBI:32816", "CHEBI:45253", "CHEBI:26466", "CHEBI:26462" ], "hmdb": "HMDB00243", "kegg.compound": "C00022", "lipidmaps": "LMFA01060077", "pubchem.substance": "3324", "reactome": [ "REACT_113557", "REACT_389680", "REACT_29398" ], "seed.compound": "cpd00020", "unipathway.compound": "UPC00022" }, "charge": -1, "compartment": "c", "formula": "C3H3O3", "id": "pyr_c", "name": "Pyruvate" } ], "reactions": [ { "annotation": { "bigg.reaction": "ATPM" }, "gene_reaction_rule": "", "id": "ATPM", "lower_bound": 8.39, "metabolites": { "adp_c": 1.0, "atp_c": -1.0, "h2o_c": -1.0, "h_c": 1.0, "pi_c": 1.0 }, "name": "ATP maintenance requirement", "objective_coefficient": 1, "upper_bound": 1000.0 }, { "gene_reaction_rule": "b3603 or b2975", "id": "D_LACt2", "lower_bound": -1000.0, "metabolites": { "h_c": 1, "h_e": -1, "lac__D_c": 1, "lac__D_e": -1 }, "name": "", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "ENO" }, "gene_reaction_rule": "b2779", "id": "ENO", "lower_bound": -1000.0, "metabolites": { "2pg_c": -1.0, "h2o_c": 1.0, "pep_c": 1.0 }, "name": "enolase", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "glc" }, "gene_reaction_rule": "", "id": "EX_glc__D_e", "lower_bound": -10.0, "metabolites": { "glc__D_e": -1.0 }, "name": "D-Glucose exchange", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "h" }, "gene_reaction_rule": "", "id": "EX_h_e", "lower_bound": -1000.0, "metabolites": { "h_e": -1.0 }, "name": "H+ exchange", "upper_bound": 1000.0 }, { "gene_reaction_rule": "", "id": "EX_lac__D_e", "lower_bound": 0.0, "metabolites": { "lac__D_e": -1.0 }, "name": "D-lactate exchange", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "FBA" }, "gene_reaction_rule": "b1773 or b2097 or b2925", "id": "FBA", "lower_bound": -1000.0, "metabolites": { "dhap_c": 1.0, "fdp_c": -1.0, "g3p_c": 1.0 }, "name": "fructose-bisphosphate aldolase", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "GAPD" }, "gene_reaction_rule": "b1779", "id": "GAPD", "lower_bound": -1000.0, "metabolites": { "13dpg_c": 1.0, "g3p_c": -1.0, "h_c": 1.0, "nad_c": -1.0, "nadh_c": 1.0, "pi_c": -1.0 }, "name": "glyceraldehyde-3-phosphate dehydrogenase", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "GLCpts" }, "gene_reaction_rule": "( b2417 and b1621 and b2415 and b2416 ) or ( b2417 and b1101 and b2415 and b2416 ) or ( b1817 and b1818 and b1819 and b2415 and b2416 )", "id": "GLCpts", "lower_bound": 0.0, "metabolites": { "g6p_c": 1.0, "glc__D_e": -1.0, "pep_c": -1.0, "pyr_c": 1.0 }, "name": "D-glucose transport via PEP:Pyr PTS", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "H2Ot" }, "gene_reaction_rule": "b0875 or s0001", "id": "H2Ot", "lower_bound": -1000.0, "metabolites": { "h2o_c": 1.0, "h2o_e": -1.0 }, "name": "R H2O transport via - diffusion", "upper_bound": 1000.0 }, { "gene_reaction_rule": "b2133 or b1380", "id": "LDH_D", "lower_bound": -1000.0, "metabolites": { "h_c": 1.0, "lac__D_c": -1.0, "nad_c": -1.0, "nadh_c": 1.0, "pyr_c": 1.0 }, "name": "D-lactate dehydrogenase", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "PFK" }, "gene_reaction_rule": "b3916 or b1723", "id": "PFK", "lower_bound": 0.0, "metabolites": { "adp_c": 1.0, "atp_c": -1.0, "f6p_c": -1.0, "fdp_c": 1.0, "h_c": 1.0 }, "name": "phosphofructokinase", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "PGI" }, "gene_reaction_rule": "b4025", "id": "PGI", "lower_bound": -1000.0, "metabolites": { "f6p_c": 1.0, "g6p_c": -1.0 }, "name": "glucose-6-phosphate isomerase", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "PGK" }, "gene_reaction_rule": "b2926", "id": "PGK", "lower_bound": -1000.0, "metabolites": { "13dpg_c": 1.0, "3pg_c": -1.0, "adp_c": 1.0, "atp_c": -1.0 }, "name": "phosphoglycerate kinase", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "PGM" }, "gene_reaction_rule": "b4395 or b3612 or b0755", "id": "PGM", "lower_bound": -1000.0, "metabolites": { "2pg_c": -1.0, "3pg_c": 1.0 }, "name": "phosphoglycerate mutase", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "PIt2r" }, "gene_reaction_rule": "b2987 or b3493", "id": "PIt2r", "lower_bound": -1000.0, "metabolites": { "h_c": 1.0, "h_e": -1.0, "pi_c": 1.0, "pi_e": -1.0 }, "name": "R phosphate reversible transport via - symport", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "PYK" }, "gene_reaction_rule": "b1854 or b1676", "id": "PYK", "lower_bound": 0.0, "metabolites": { "adp_c": -1.0, "atp_c": 1.0, "h_c": -1.0, "pep_c": -1.0, "pyr_c": 1.0 }, "name": "pyruvate kinase", "upper_bound": 1000.0 }, { "annotation": { "bigg.reaction": "TPI" }, "gene_reaction_rule": "b3919", "id": "TPI", "lower_bound": -1000.0, "metabolites": { "dhap_c": -1.0, "g3p_c": 1.0 }, "name": "triose-phosphate isomerase", "upper_bound": 1000.0 } ], "version": 1 }cobrapy-0.4.0b6/cobra/test/data/mini.mat000066400000000000000000000344101263606473700200370ustar00rootroot00000000000000MATLAB 5.0 MAT-file Platform: posix, Created on: Wed Dec 2 13:44:48 2015IM8 mini_textbook metsmetNamesmetFormulasmetChargegenesgrRulesrxnsrxnNamessubSystemscsenseSlbubbcrevdescription813dpg_c82pg_c83pg_c8adp_c8atp_c8dhap_c8f6p_c8fdp_c8g3p_c8g6p_c8glc__D_e8h2o_c8h2o_e0h_c0h_e8lac__D_c8lac__D_e8nad_c8nadh_c8pep_c0pi_c0pi_e8pyr_cP3-Phospho-D-glyceroyl phosphateHD-Glycerate 2-phosphateH3-Phospho-D-glycerate0ADP0ATPPDihydroxyacetone phosphateHD-Fructose 6-phosphatePD-Fructose 1,6-bisphosphatePGlyceraldehyde 3-phosphateHD-Glucose 6-phosphate@  D-Glucose0H2O0H2O0H+0H+@  D-Lactate@  D-LactateX!!Nicotinamide adenine dinucleotide`++Nicotinamide adenine dinucleotide - reducedHPhosphoenolpyruvate@  Phosphate@  Phosphate8Pyruvate@  C3H4O10P28C3H4O7P8C3H4O7P@  C10H12N5O10P2@  C10H12N5O13P38C3H5O6P8C6H11O9P@  C6H10O12P28C3H5O6P8C6H11O9P8C6H12O60H2O0H2O0H0H8C3H5O38C3H5O3@  C21H26N7O14P2@  C21H27N7O14P28C3H2O6P0HO4P0HO4P8C3H3O3 ??8b07558b08758b11018b13808b16218b16768b17238b17738b17798b18178b18188b18198b18548b20978b21338b24158b24168b24178b27798b29258b29268b29758b29878b34938b36038b36128b39168b39198b40258b43958s0001X0@b3603 or b29758b2779000Hb1773 or b2097 or b29258b1779( b2417 and b1621 and b2415 and b2416 ) or ( b2417 and b1101 and b2415 and b2416 ) or ( b1817 and b1818 and b1819 and b2415 and b2416 )@b0875 or s0001@b2133 or b1380@b3916 or b17238b40258b2926Hb4395 or b3612 or b0755@b2987 or b3493@b1854 or b16768b3919`0ATPM8D_LACt20ENO@  EX_glc__D_e8EX_h_e@  EX_lac__D_e0FBA0GAPD8GLCpts0H2Ot8LDH_D0PFK0PGI0PGK0PGM8PIt2r0PYK0TPIPATP maintenance requirement08enolaseHD-Glucose exchange@  H+ exchangeHD-lactate exchangePfructose-bisphosphate aldolaseX((glyceraldehyde-3-phosphate dehydrogenaseX##D-glucose transport via PEP:Pyr PTSPR H2O transport via - diffusionHD-lactate dehydrogenaseHphosphofructokinasePglucose-6-phosphate isomeraseHphosphoglycerate kinaseHphosphoglycerate mutase`..R phosphate reversible transport via - symport@pyruvate kinasePtriose-phosphate isomerase000000000000000000HEEEEEEEEEEEEEEEEEEEEEEEX;           L #(*.049; ?????????????????????????????? Hz @@@$@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  ? @  mini_textbookcobrapy-0.4.0b6/cobra/test/data/mini.pickle000066400000000000000000000607441263606473700205360ustar00rootroot00000000000000ccobra.core.Model Model q)q}q(U_trimmed_reactionsq}qU reactionsqccobra.core.DictList DictList q)Rq(ccobra.core.Reaction Reaction q )q }q (U subsystemq UU _metabolitesq }q(ccobra.core.Metabolite Metabolite q)q}q(U_modelqNUnameqUADPqUnotesq}qU annotationq}q(Uunipathway.compoundqUUPC00008qUbiocycq]q(UADPqU ADP-GROUPqeUcasq]q (U58-64-0q!U58-64-0q"eU kegg.glycanq#UG11113q$Ubigg.metaboliteq%Uadpq&U seed.compoundq'Ucpd00008q(U kegg.compoundq)UC00008q*Uhmdbq+U HMDB01341q,Ureactomeq-]q.(U REACT_190072q/U REACT_481002q0U REACT_211606q1U REACT_429160q2U REACT_29370q3U REACT_196180q4U REACT_113581q5U REACT_113582q6U REACT_114564q7U REACT_114565q8U REACT_429153q9eUchebiq:]q;(U CHEBI:13222qU CHEBI:22244q?U CHEBI:40553q@U CHEBI:456216qAeUpubchem.substanceqBU3310qCuU_constraint_senseqDUEUchargeqEJU_boundqFGUformulaqGU C10H12N5O10P2qHU compartmentqIUcUidqJUadp_cqKU _reactionqLc__builtin__ set qM]RqNubG?h)qO}qP(hNhUH+qQh}qRh}qS(Uunipathway.compoundqTUUPC00080qUUbiocycqVUPROTONqWUcasqX]qY(U 12408-02-5qZU 12408-02-5q[eUbigg.metaboliteq\UhU seed.compoundq]Ucpd00067q^U kegg.compoundq_UC00080q`Ureactomeqa]qb(U REACT_194688qcU REACT_425978qdU REACT_193465qeU REACT_374900qfU REACT_74722qgU REACT_425999qhU REACT_428040qiU REACT_163953qjU REACT_372511qkU REACT_2000349qlU REACT_70106qmU REACT_1470067qnU REACT_113529qoU REACT_425969qpU REACT_428548qqU REACT_156540qrU REACT_1614597qsU REACT_351626qtU REACT_427899queUchebiqv]qw(U CHEBI:24636qxU CHEBI:15378qyU CHEBI:10744qzU CHEBI:13357q{U CHEBI:5584q|eUpubchem.substanceq}U3380q~uhDUEhEKhFGhGUHhIUchJUh_cqhLhM]RqubG?h)q}q(hNhU Phosphateqh}qh}q(Uunipathway.compoundqUUPC00009qUbiocycq]q(UPiqUPHOSPHATE-GROUPqU CPD0-1421qeUcasq]q(U 14265-44-2qU 14265-44-2qeUhmdbqU HMDB02142qUbigg.metaboliteqUpiqU seed.compoundq]q(Ucpd09464qUcpd09463qUcpd00009qeU kegg.compoundq]q(UC13556qUC13558qUC00009qeU kegg.drugqUD05467qUreactomeq]q(U REACT_947590qU REACT_109277qU REACT_113548qU REACT_2255331qU REACT_29372qU REACT_113550qU REACT_113551qeUchebiq]q(U CHEBI:37583qU CHEBI:7793qU CHEBI:37585qU CHEBI:34683qU CHEBI:14791qU CHEBI:34855qU CHEBI:29137qU CHEBI:29139qU CHEBI:63036qU CHEBI:26020qU CHEBI:39739qU CHEBI:32597qU CHEBI:32596qU CHEBI:43474qU CHEBI:63051qU CHEBI:43470qU CHEBI:9679qU CHEBI:35433qU CHEBI:4496qU CHEBI:45024qU CHEBI:18367qU CHEBI:26078qU CHEBI:39745qU CHEBI:24838qeUpubchem.substanceqU3311quhDUEhEJhFGhGUHO4PqhIUchJUpi_cqhLhM]RqubG?h)q}q(hNhUATPqh}qh}q(Uunipathway.compoundqUUPC00002qUbiocycqUATPqUcasq]q(U56-65-5qU56-65-5qeUhmdbqU HMDB00538qUbigg.metaboliteqUatpqU seed.compoundqUcpd00002qU kegg.compoundqUC00002qU kegg.drugqUD08646qUreactomeq]q(U REACT_190078qU REACT_113592qU REACT_113593qU REACT_114570qU REACT_29358qU REACT_389573qU REACT_139836qU REACT_211579qeUchebiq]q(U CHEBI:40938qU CHEBI:15422qU CHEBI:57299qU CHEBI:13236qU CHEBI:10789qU CHEBI:30616qU CHEBI:22249qU CHEBI:10841qU CHEBI:2359qeUpubchem.substanceqU3304quhDUEhEJhFGhGU C10H12N5O13P3qhIUchJUatp_cqhLhM]RqubGh)q}q(hNhUH2Oqh}qh}q(Uunipathway.compoundq]r(UUPC00001rUUPC01328reUbiocycr]r(UWATERrUOHrUOXONIUMreUcasr]r (U 7732-18-5r U 7732-18-5r eUhmdbr ]r (U HMDB01039rU HMDB02111reUbigg.metaboliterUh2orU seed.compoundr]r(Ucpd15275rUcpd00001reU kegg.compoundr]r(UC01328rUC00001rUC18714rUC18712reU kegg.drugr]r(UD00001rUD06322rUD03703r eUreactomer!]r"(U REACT_947593r#U REACT_189422r$U REACT_141343r%U REACT_113518r&U REACT_1605715r'U REACT_109276r(U REACT_113521r)U REACT_113519r*U REACT_2022884r+U REACT_351603r,U REACT_29356r-eUchebir.]r/(U CHEBI:15377r0U CHEBI:13365r1U CHEBI:41979r2U CHEBI:16234r3U CHEBI:36385r4U CHEBI:42857r5U CHEBI:27313r6U CHEBI:44819r7U CHEBI:29373r8U CHEBI:10743r9U CHEBI:5594r:U CHEBI:29356r;U CHEBI:53442r<U CHEBI:29375r=U CHEBI:29374r>U CHEBI:13419r?U CHEBI:43228r@U CHEBI:44292rAU CHEBI:13352rBU CHEBI:41981rCU CHEBI:29412rDU CHEBI:42043rEU CHEBI:33811rFU CHEBI:33813rGU CHEBI:35511rHU CHEBI:5585rIU CHEBI:44641rJU CHEBI:44701rKeUpubchem.substancerLU3303rMuhDUEhEKhFGhGUH2OrNhIUchJUh2o_crOhLhM]RrPubGuhUATP maintenance requirementrQU upper_boundrRG@@U lower_boundrSG@ ǮzHh}rTU_genesrUhM]RrVh}rWU bigg.reactionrXUATPMrYsUobjective_coefficientrZKU variable_kindr[U continuousr\hNU_gene_reaction_ruler]UhJUATPMr^ubh )r_}r`(h Uh }ra(h)rb}rc(hNhUH+rdh}reh}rf(Uunipathway.compoundrgUUPC00080rhUbiocycriUPROTONrjUcasrk]rl(U 12408-02-5rmU 12408-02-5rneUbigg.metaboliteroUhU seed.compoundrpUcpd00067rqU kegg.compoundrrUC00080rsUreactomert]ru(U REACT_194688rvU REACT_425978rwU REACT_193465rxU REACT_374900ryU REACT_74722rzU REACT_425999r{U REACT_428040r|U REACT_163953r}U REACT_372511r~U REACT_2000349rU REACT_70106rU REACT_1470067rU REACT_113529rU REACT_425969rU REACT_428548rU REACT_156540rU REACT_1614597rU REACT_351626rU REACT_427899reUchebir]r(U CHEBI:24636rU CHEBI:15378rU CHEBI:10744rU CHEBI:13357rU CHEBI:5584reUpubchem.substancerU3380ruhDUEhEKhFGhGUHhIUehJUh_erhLhM]RrubJh)r}r(hNhU D-Lactaterh}rh}rhDUEhEJhFGhGUC3H5O3rhIUchJUlac__D_crhLhM]RrubKhOKh)r}r(hNhU D-Lactaterh}rh}rhDUEhEJhFGhGUC3H5O3rhIUehJUlac__D_erhLhM]RrubJuhUjRG@@jSG@h}rjUhM]r(ccobra.core.Gene Gene r)r}r(hNhUglcArhJUb2975rh}rhLhM]RrU functionalrh}rubj)r}r(hNhUlldPrhJUb3603rh}rhLhM]Rrjh}rubeRrhJUD_LACt2rjZGj[j\hNj]Ub3603 or b2975rh}rubh )r}r(h Uh }r(h)r}r(hNhUPhosphoenolpyruvaterh}rh}r(Uunipathway.compoundrUUPC00074rUbiocycrUPHOSPHO-ENOL-PYRUVATErUcasr]r(U138-08-9rU138-08-9reUbigg.metaboliterUpeprU seed.compoundrUcpd00061rU kegg.compoundrUC00074rUhmdbrU HMDB00263rUreactomer]r(U REACT_29492rU REACT_372364reUchebir]r(U CHEBI:44897rU CHEBI:44894rU CHEBI:14812rU CHEBI:8147rU CHEBI:26055rU CHEBI:26054rU CHEBI:58702rU CHEBI:18021reUpubchem.substancerU3374ruhDUEhEJhFGhGUC3H2O6PrhIUchJUpep_crhLhM]RrubG?h)r}r(hNhUD-Glycerate 2-phosphaterh}rh}r(Uunipathway.compoundrUUPC00631rUbiocycrU2-PGrUbigg.metaboliterU2pgrU seed.compoundrUcpd00482rU kegg.compoundrUC00631rUhmdbr]r(U HMDB03391rU HMDB00362reUreactomerU REACT_30485rUchebir]r(U CHEBI:1267rU CHEBI:58289rU CHEBI:17835rU CHEBI:21028rU CHEBI:11651rU CHEBI:12986rU CHEBI:24344rU CHEBI:39868reUpubchem.substancerU3904ruhDUEhEJhFGhGUC3H4O7PrhIUchJU2pg_crhLhM]RrubGhG?uhUenolaser jRG@@jSG@h}r jUhM]r j)r }r (hNh}rUncbigiU GI:1653839sjhUenorh}rhJUb2779rhLhM]RrubaRrh}rU bigg.reactionrUENOrsjZGj[j\hNj]Ub2779rhJUENOrubh )r}r(h Uh }rh)r}r(hNhU D-Glucoserh}rh}r (Ucasr!]r"(U50-99-7r#U50-99-7r$eUbigg.metaboliter%Uglc__Dr&U kegg.compoundr'UC00031r(Upubchem.substancer)U3333r*uhDUEhEKhFGhGUC6H12O6r+hIUehJUglc__D_er,hLhM]Rr-ubGshUD-Glucose exchanger.jRG@@jSG$h}r/jUhM]Rr0h}r1U bigg.reactionr2Uglcr3sjZGj[j\hNj]UhJU EX_glc__D_er4ubh )r5}r6(h Uh }r7jbGshU H+ exchanger8jRG@@jSG@h}r9jUhM]Rr:h}r;U bigg.reactionr<UhsjZGj[j\hNj]UhJUEX_h_er=ubh )r>}r?(h Uh }r@jGshUD-lactate exchangerAjRG@@jSGh}rBjUhM]RrCh}rDjZGj[j\hNj]UhJU EX_lac__D_erEubh )rF}rG(h Uh }rH(h)rI}rJ(hNhUDihydroxyacetone phosphaterKh}rLh}rM(Uunipathway.compoundrNUUPC00111rOUbiocycrPUDIHYDROXY-ACETONE-PHOSPHATErQUcasrR]rS(U57-04-5rTU57-04-5rUeUbigg.metaboliterVUdhaprWU seed.compoundrXUcpd00095rYU kegg.compoundrZUC00111r[Uhmdbr\]r](U HMDB01473r^U HMDB11735r_eUreactomer`]ra(U REACT_188451rbU REACT_75970rcU REACT_390404rdeUchebire]rf(U CHEBI:14341rgU CHEBI:57642rhU CHEBI:14342riU CHEBI:16108rjU CHEBI:5454rkU CHEBI:24355rlU CHEBI:39571rmeUpubchem.substancernU3411rouhDUEhEJhFGhGUC3H5O6PrphIUchJUdhap_crqhLhM]RrrubG?h)rs}rt(hNhUD-Fructose 1,6-bisphosphateruh}rvh}rw(Uunipathway.compoundrxUUPC00354ryUbiocycrzUFRUCTOSE-16-DIPHOSPHATEr{Ucasr|]r}(U488-69-7r~U488-69-7reUbigg.metaboliterUfdprU seed.compoundrUcpd00290rU kegg.compoundr]r(UC05378rUC00354reUchebir]r(U CHEBI:32968rU CHEBI:49299rU CHEBI:42553rU CHEBI:32966rU CHEBI:37736rU CHEBI:28013rU CHEBI:32967rU CHEBI:41014rU CHEBI:22767rU CHEBI:10374rU CHEBI:40595rU CHEBI:40591reUpubchem.substancerU3647ruhDUEhEJhFGhGU C6H10O12P2rhIUchJUfdp_crhLhM]RrubGh)r}r(hNhUGlyceraldehyde 3-phosphaterh}rh}r(Uunipathway.compoundr]r(UUPC00661rUUPC00118reUcasr]r(U142-10-9rU142-10-9reUbigg.metaboliterUg3prU seed.compoundrUcpd00102rU kegg.compoundr]r(UC00661rUC00118reUhmdbrU HMDB01112rUchebir]r(U CHEBI:17138rU CHEBI:14333rU CHEBI:5446rU CHEBI:58027reUpubchem.substancerU3930ruhDUEhEJhFGhGUC3H5O6PrhIUchJUg3p_crhLhM]RrubG?uhUfructose-bisphosphate aldolaserjRG@@jSG@h}rjUhM]r(j)r}r(hNh}rjhUfbaBrh}rhJUb2097rhLhM]Rrubj)r}r(hNh}rjhUfbaArh}rhJUb2925rhLhM]Rrubj)r}r(hNh}rjhUydjIrh}rhJUb1773rhLhM]RrubeRrh}rU bigg.reactionrUFBArsjZGj[j\hNj]Ub1773 or b2097 or b2925rhJUFBArubh )r}r(h Uh }r(hOG?jGh)r}r(hNhU3-Phospho-D-glyceroyl phosphaterh}rh}r(Uunipathway.compoundrUUPC00236rUbiocycrUDPGrUbigg.metaboliterU13dpgrU seed.compoundrUcpd00203rU kegg.compoundrUC00236rUhmdbrU HMDB01270rUreactomerU REACT_29800rUchebir]r(U CHEBI:16001rU CHEBI:1658rU CHEBI:20189rU CHEBI:57604rU CHEBI:11881reUpubchem.substancerU3535ruhDUEhEJhFGhGU C3H4O10P2rhIUchJU13dpg_crhLhM]RrubG?h)r}r(hNhU!Nicotinamide adenine dinucleotiderh}rh}r(Uunipathway.compoundrUUPC00003rUbiocycrUNADrUcasr]r(U53-84-9rU53-84-9r eUhmdbr U HMDB00902r Ubigg.metaboliter Unadr U seed.compoundrUcpd00003rU kegg.compoundrUC00003rU kegg.drugrUD00002rUreactomer]r(U REACT_192307rU REACT_29360rU REACT_427523rU REACT_194653rU REACT_113526reUchebir]r(U CHEBI:21901rU CHEBI:7422rU CHEBI:44214rU CHEBI:15846r U CHEBI:13394r!U CHEBI:13393r"U CHEBI:44215r#U CHEBI:13389r$U CHEBI:57540r%U CHEBI:44281r&eUpubchem.substancer'U3305r(uhDUEhEJhFGhGU C21H26N7O14P2r)hIUchJUnad_cr*hLhM]Rr+ubGh)r,}r-(hNhU+Nicotinamide adenine dinucleotide - reducedr.h}r/h}r0(Uunipathway.compoundr1UUPC00004r2Ubiocycr3UNADHr4Ucasr5]r6(U58-68-4r7U58-68-4r8eUbigg.metaboliter9Unadhr:U seed.compoundr;Ucpd00004r<U kegg.compoundr=UC00004r>Uhmdbr?U HMDB01487r@UreactomerA]rB(U REACT_192305rCU REACT_73473rDU REACT_194697rEU REACT_29362rFeUchebirG]rH(U CHEBI:13395rIU CHEBI:21902rJU CHEBI:16908rKU CHEBI:7423rLU CHEBI:44216rMU CHEBI:57945rNU CHEBI:13396rOeUpubchem.substancerPU3306rQuhDUEhEJhFGhGU C21H27N7O14P2rRhIUchJUnadh_crShLhM]RrTubG?hGuhU(glyceraldehyde-3-phosphate dehydrogenaserUjRG@@jSG@h}rVjUhM]rWj)rX}rY(hNh}rZjhUgapAr[h}r\hJUb1779r]hLhM]Rr^ubaRr_h}r`U bigg.reactionraUGAPDrbsjZGj[j\hNj]Ub1779rchJUGAPDrdubh )re}rf(h Uh }rg(h)rh}ri(hNhUPyruvaterjh}rkh}rl(Uunipathway.compoundrmUUPC00022rnUbiocycroUPYRUVATErpUcasrq]rr(U127-17-3rsU127-17-3rteUchebiru]rv(U CHEBI:15361rwU CHEBI:14987rxU CHEBI:8685ryU CHEBI:32816rzU CHEBI:45253r{U CHEBI:26466r|U CHEBI:26462r}eUbigg.metaboliter~UpyrrU seed.compoundrUcpd00020rU kegg.compoundrUC00022rUhmdbrU HMDB00243rUreactomer]r(U REACT_113557rU REACT_389680rU REACT_29398reU lipidmapsrU LMFA01060077rUpubchem.substancerU3324ruhDUEhEJhFGhGUC3H3O3rhIUchJUpyr_crhLhM]RrubG?h)r}r(hNhUD-Glucose 6-phosphaterh}rh}r(Uunipathway.compoundrUUPC00092rUbiocycr]r(UD-glucose-6-phosphaterUGLC-6-PreUcasr]r(U56-73-5rU56-73-5reUbigg.metaboliterUg6prU seed.compoundrUcpd00079rU kegg.compoundr]r(UC00092rUC01172reUhmdbr]r(U HMDB03498rU HMDB06793rU HMDB01401rU HMDB01549reUreactomerU REACT_1629756rUchebir]r(U CHEBI:10399rU CHEBI:22797rU CHEBI:41041rU CHEBI:17719rU CHEBI:4170rU CHEBI:61548rU CHEBI:58247rU CHEBI:12375reUpubchem.substancerU3392ruhDUEhEJhFGhGUC6H11O9PrhIUchJUg6p_crhLhM]RrubG?jGjGuhU#D-glucose transport via PEP:Pyr PTSrjRG@@jSGh}rjUhM]r(j)r}r(hNh}rjhUptsHrh}rhJUb2415rhLhM]Rrubj)r}r(hNh}rjhUmanZrh}rhJUb1819rhLhM]Rrubj)r}r(hNh}rjhUcrrrh}rhJUb2417rhLhM]Rrubj)r}r(hNh}rjhUptsGrh}rhJUb1101rhLhM]Rrubj)r}r(hNh}rjhUmanYrh}rhJUb1818rhLhM]Rrubj)r}r(hNh}rjhUmalXrh}rhJUb1621rhLhM]Rrubj)r}r(hNh}rjhUmanXrh}rhJUb1817rhLhM]Rrubj)r}r(hNh}rjhUptsIrh}rhJUb2416rhLhM]RrubeRrh}rU bigg.reactionrUGLCptsrsjZGj[j\hNj]U( b2417 and b1621 and b2415 and b2416 ) or ( b2417 and b1101 and b2415 and b2416 ) or ( b1817 and b1818 and b1819 and b2415 and b2416 )rhJUGLCptsrubh )r}r(h Uh }r(h)r}r(hNhUH2Orh}rh}r(Uunipathway.compoundr ]r (UUPC00001r UUPC01328r eUbiocycr ]r(UWATERrUOHrUOXONIUMreUcasr]r(U 7732-18-5rU 7732-18-5reUhmdbr]r(U HMDB01039rU HMDB02111reUbigg.metaboliterUh2orU seed.compoundr]r(Ucpd15275rUcpd00001reU kegg.compoundr ]r!(UC01328r"UC00001r#UC18714r$UC18712r%eU kegg.drugr&]r'(UD00001r(UD06322r)UD03703r*eUreactomer+]r,(U REACT_947593r-U REACT_189422r.U REACT_141343r/U REACT_113518r0U REACT_1605715r1U REACT_109276r2U REACT_113521r3U REACT_113519r4U REACT_2022884r5U REACT_351603r6U REACT_29356r7eUchebir8]r9(U CHEBI:15377r:U CHEBI:13365r;U CHEBI:41979r<U CHEBI:16234r=U CHEBI:36385r>U CHEBI:42857r?U CHEBI:27313r@U CHEBI:44819rAU CHEBI:29373rBU CHEBI:10743rCU CHEBI:5594rDU CHEBI:29356rEU CHEBI:53442rFU CHEBI:29375rGU CHEBI:29374rHU CHEBI:13419rIU CHEBI:43228rJU CHEBI:44292rKU CHEBI:13352rLU CHEBI:41981rMU CHEBI:29412rNU CHEBI:42043rOU CHEBI:33811rPU CHEBI:33813rQU CHEBI:35511rRU CHEBI:5585rSU CHEBI:44641rTU CHEBI:44701rUeUpubchem.substancerVU3303rWuhDUEhEKhFGhGUH2OrXhIUehJUh2o_erYhLhM]RrZubGhG?uhUR H2O transport via - diffusionr[jRG@@jSG@h}r\jUhM]r](j)r^}r_(hNh}r`jhUG_s0001rah}rbhJUs0001rchLhM]Rrdubj)re}rf(hNh}rgjhUaqpZrhh}rihJUb0875rjhLhM]RrkubeRrlh}rmU bigg.reactionrnUH2OtrosjZGj[j\hNj]Ub0875 or s0001rphJUH2Otrqubh )rr}rs(h Uh }rt(jGhOG?jhG?jGj,G?uhUD-lactate dehydrogenaserujRG@@jSG@h}rvjUhM]rw(j)rx}ry(hNh}rzjhUldhAr{h}r|hJUb1380r}hLhM]Rr~ubj)r}r(hNh}rjhUdldrh}rhJUb2133rhLhM]RrubeRrh}rjZGj[j\hNj]Ub2133 or b1380rhJULDH_Drubh )r}r(h Uh }r(hG?hOG?h)r}r(hNhUD-Fructose 6-phosphaterh}rh}r(Uunipathway.compoundr]r(UUPC05345rUUPC00085reUbiocycrU FRUCTOSE-6PrUcasr]r(U643-13-0rU643-13-0reUbigg.metaboliterUf6prU seed.compoundrUcpd00072rU kegg.compoundr]r(UC05345rUC00085reUhmdbrU HMDB03971rUchebir]r(U CHEBI:57634rU CHEBI:12352rU CHEBI:45804rU CHEBI:61527rU CHEBI:61553rU CHEBI:10375rU CHEBI:16084rU CHEBI:42378rU CHEBI:22768reUpubchem.substancerU3385ruhDUEhEJhFGhGUC6H11O9PrhIUchJUf6p_crhLhM]RrubGhGjsG?uhUphosphofructokinaserjRG@@jSGh}rjUhM]r(j)r}r(hNh}rUncbigi]r(U GI:1006614rU GI:1651919resjhUpfkArh}rhJUb3916rhLhM]Rrubj)r}r(hNh}rjhUpfkBrh}rhJUb1723rhLhM]RrubeRrh}rU bigg.reactionrUPFKrsjZGj[j\hNj]Ub3916 or b1723rhJUPFKrubh )r}r(h Uh }r(jG?jGuhUglucose-6-phosphate isomeraserjRG@@jSG@h}rjUhM]rj)r}r(hNh}rUncbigiU GI:1653253sjhUpgirh}rhJUb4025rhLhM]RrubaRrh}rU bigg.reactionrUPGIrsjZGj[j\hNj]Ub4025rhJUPGIrubh )r}r(h Uh }r(h)r}r(hNhU3-Phospho-D-glyceraterh}rh}r(Uunipathway.compoundr]r(UUPC00597rUUPC00197reUbiocycrUG3PrUbigg.metaboliterU3pgrU seed.compoundrUcpd00169rU kegg.compoundr]r(UC00197rUC00597reUhmdbrU HMDB00807rUreactomerU REACT_29728rUchebir]r(U CHEBI:40016rU CHEBI:58272rU CHEBI:57998rU CHEBI:11879rU CHEBI:1657rU CHEBI:1659rU CHEBI:17050rU CHEBI:21029rU CHEBI:11882rU CHEBI:11880rU CHEBI:12987r U CHEBI:17794r U CHEBI:24345r eUpubchem.substancer U3497r uhDUEhEJhFGhGUC3H4O7PrhIUchJU3pg_crhLhM]RrubGjG?hGhG?uhUphosphoglycerate kinaserjRG@@jSG@h}rjUhM]rj)r}r(hNh}rUncbigiU GI:1653609sjhUpgkrh}rhJUb2926rhLhM]RrubaRrh}rU bigg.reactionrUPGKrsjZGj[j\hNj]Ub2926rhJUPGKr ubh )r!}r"(h Uh }r#(jG?jGuhUphosphoglycerate mutaser$jRG@@jSG@h}r%jUhM]r&(j)r'}r((hNh}r)jhUytjCr*h}r+hJUb4395r,hLhM]Rr-ubj)r.}r/(hNh}r0jhUgpmMr1h}r2hJUb3612r3hLhM]Rr4ubj)r5}r6(hNh}r7jhUgpmAr8h}r9hJUb0755r:hLhM]Rr;ubeRr<h}r=U bigg.reactionr>UPGMr?sjZGj[j\hNj]Ub4395 or b3612 or b0755r@hJUPGMrAubh )rB}rC(h Uh }rD(jbGhOG?h)rE}rF(hNhU PhosphaterGh}rHh}rI(Uunipathway.compoundrJUUPC00009rKUbiocycrL]rM(UPirNUPHOSPHATE-GROUPrOU CPD0-1421rPeUcasrQ]rR(U 14265-44-2rSU 14265-44-2rTeUhmdbrUU HMDB02142rVUbigg.metaboliterWUpirXU seed.compoundrY]rZ(Ucpd09464r[Ucpd09463r\Ucpd00009r]eU kegg.compoundr^]r_(UC13556r`UC13558raUC00009rbeU kegg.drugrcUD05467rdUreactomere]rf(U REACT_947590rgU REACT_109277rhU REACT_113548riU REACT_2255331rjU REACT_29372rkU REACT_113550rlU REACT_113551rmeUchebirn]ro(U CHEBI:37583rpU CHEBI:7793rqU CHEBI:37585rrU CHEBI:34683rsU CHEBI:14791rtU CHEBI:34855ruU CHEBI:29137rvU CHEBI:29139rwU CHEBI:63036rxU CHEBI:26020ryU CHEBI:39739rzU CHEBI:32597r{U CHEBI:32596r|U CHEBI:43474r}U CHEBI:63051r~U CHEBI:43470rU CHEBI:9679rU CHEBI:35433rU CHEBI:4496rU CHEBI:45024rU CHEBI:18367rU CHEBI:26078rU CHEBI:39745rU CHEBI:24838reUpubchem.substancerU3311ruhDUEhEJhFGhGUHO4PrhIUehJUpi_erhLhM]RrubGhG?uhU.R phosphate reversible transport via - symportrjRG@@jSG@h}rjUhM]r(j)r}r(hNh}rjhUpitArh}rhJUb3493rhLhM]Rrubj)r}r(hNh}rjhUpitBrh}rhJUb2987rhLhM]RrubeRrh}rU bigg.reactionrUPIt2rrsjZGj[j\hNj]Ub2987 or b3493rhJUPIt2rrubh )r}r(h Uh }r(hGjhG?hOGjGhG?uhUpyruvate kinaserjRG@@jSGh}rjUhM]r(j)r}r(hNh}rUncbigi]r(U GI:1208453rU GI:1652654resjhUpykFrh}rhJUb1676rhLhM]Rrubj)r}r(hNh}rjhUpykArh}rhJUb1854rhLhM]RrubeRrh}rU bigg.reactionrUPYKrsjZGj[j\hNj]Ub1854 or b1676rhJUPYKrubh )r}r(h Uh }r(jIGjG?uhUtriose-phosphate isomeraserjRG@@jSG@h}rjUhM]rj)r}r(hNh}rjhUtpiArh}rhJUb3919rhLhM]RrubaRrh}rU bigg.reactionrUTPIrsjZGj[j\hNj]Ub3919rhJUTPIrube}rU_dictr}r(jqK j=KjKjK jAKj K jKjEKjKjKjKjK jK j^KjdKjKjKj4KusbhNh}rUgenesrh)Rr(j5jejjxjjjjjXjjjjjjjjjj jjjjjjj.jjjj'j^e}rj}r(jKjKjKjKjKjKjKjKj]KjK jcKjKjKjKj3KjKjKj:KjKj,KjKjKjKjK jjKjK jK jK jKj}KjKusbUsolutionrccobra.core.Solution Solution r)r}r(UstatusrUNArUx_dictrNUfNUsolverrNUy_dictrNUyNUxNubU compartmentsr}r(UcUcytosolUeU extracellularuU metabolitesrh)Rr(jjjhhjIjjsjjjhjhOjbjjjj,jhjEjhe}rj}r(jOK jYK jKjKhK hKjKjKjKjKj*KjK jSKjKhKKjKjKjqKjKjKhKjKj,K usbU_trimmed_genesr]rhJU mini_textbookrUmedia_compositionsr}rh}rU_trimmedrub.cobrapy-0.4.0b6/cobra/test/data/mini_cobra.xml000066400000000000000000000643361263606473700212360ustar00rootroot00000000000000

FORMULA: C3H4O10P2

FORMULA: C3H4O7P

FORMULA: C3H4O7P

FORMULA: C10H12N5O10P2

FORMULA: C10H12N5O13P3

FORMULA: C3H5O6P

FORMULA: C6H11O9P

FORMULA: C6H10O12P2

FORMULA: C3H5O6P

FORMULA: C6H11O9P

FORMULA: C6H12O6

FORMULA: H2O

FORMULA: H2O

FORMULA: H

FORMULA: H

FORMULA: C3H5O3

FORMULA: C3H5O3

FORMULA: C21H26N7O14P2

FORMULA: C21H27N7O14P2

FORMULA: C3H2O6P

FORMULA: HO4P

FORMULA: HO4P

FORMULA: C3H3O3

FORMULA: C6H12O6

FORMULA: H

FORMULA: C3H5O3

FLUX_VALUE

GENE_ASSOCIATION: b3603 or b2975

FLUX_VALUE

GENE_ASSOCIATION: b2779

FLUX_VALUE
FLUX_VALUE FLUX_VALUE FLUX_VALUE

GENE_ASSOCIATION: b1773 or b2097 or b2925

FLUX_VALUE

GENE_ASSOCIATION: b1779

FLUX_VALUE

GENE_ASSOCIATION: ( b2417 and b1621 and b2415 and b2416 ) or ( b2417 and b1101 and b2415 and b2416 ) or ( b1817 and b1818 and b1819 and b2415 and b2416 )

FLUX_VALUE

GENE_ASSOCIATION: b0875 or s0001

FLUX_VALUE

GENE_ASSOCIATION: b2133 or b1380

FLUX_VALUE

GENE_ASSOCIATION: b3916 or b1723

FLUX_VALUE

GENE_ASSOCIATION: b4025

FLUX_VALUE

GENE_ASSOCIATION: b2926

FLUX_VALUE

GENE_ASSOCIATION: b4395 or b3612 or b0755

FLUX_VALUE

GENE_ASSOCIATION: b2987 or b3493

FLUX_VALUE

GENE_ASSOCIATION: b1854 or b1676

FLUX_VALUE

GENE_ASSOCIATION: b3919

FLUX_VALUE
cobrapy-0.4.0b6/cobra/test/data/mini_fbc1.xml000066400000000000000000000710661263606473700207610ustar00rootroot00000000000000

FORMULA: C3H4O10P2

FORMULA: C3H4O7P

FORMULA: C3H4O7P

FORMULA: C10H12N5O10P2

FORMULA: C10H12N5O13P3

FORMULA: C3H5O6P

FORMULA: C6H11O9P

FORMULA: C6H10O12P2

FORMULA: C3H5O6P

FORMULA: C6H11O9P

FORMULA: C6H12O6

FORMULA: H2O

FORMULA: H2O

FORMULA: H

FORMULA: H

FORMULA: C3H5O3

FORMULA: C3H5O3

FORMULA: C21H26N7O14P2

FORMULA: C21H27N7O14P2

FORMULA: C3H2O6P

FORMULA: HO4P

FORMULA: HO4P

FORMULA: C3H3O3

FORMULA: C6H12O6

FORMULA: H

FORMULA: C3H5O3

GENE_ASSOCIATION: b3603 or b2975

GENE_ASSOCIATION: b2779

GENE_ASSOCIATION: b1773 or b2097 or b2925

GENE_ASSOCIATION: b1779

GENE_ASSOCIATION: ( b2417 and b1621 and b2415 and b2416 ) or ( b2417 and b1101 and b2415 and b2416 ) or ( b1817 and b1818 and b1819 and b2415 and b2416 )

GENE_ASSOCIATION: b0875 or s0001

GENE_ASSOCIATION: b2133 or b1380

GENE_ASSOCIATION: b3916 or b1723

GENE_ASSOCIATION: b4025

GENE_ASSOCIATION: b2926

GENE_ASSOCIATION: b4395 or b3612 or b0755

GENE_ASSOCIATION: b2987 or b3493

GENE_ASSOCIATION: b1854 or b1676

GENE_ASSOCIATION: b3919

cobrapy-0.4.0b6/cobra/test/data/mini_fbc2.xml000066400000000000000000002646051263606473700207650ustar00rootroot00000000000000 cobrapy-0.4.0b6/cobra/test/data/mini_fbc2.xml.bz2000066400000000000000000000115351263606473700214510ustar00rootroot00000000000000BZh91AY&SY?뗽3m߀UUX?`{t_BOڛo^cdy`NF @(@F4OO)~IFi'#m )!F)ALJb"SFizOQ@ɠ4 RD&LAB2'4I"z<=G=4PC@(G"f)f!$tԒ~ߙ6~T^=;_9r7L)N;?f$|$ul XM>T+cIU$ջݎ1ۂ-eID(Tkg*ӽ\3 h}]zO4hUɯ0i8W7$$ZϢBhuhɛDvv$%$m6&kʝ~ N;n|'wQb뭩5:mlⵊ)WNj,FTIQ=4M24^LVY]ۼux2 {g/: $UwO[S[=MR>t9=9㐳ztUYtm듛mn",=nL-3ǁ,FB'D"H,̽/)pۛ ep ,zsLCdf%b͖AWћvwTi2[/٢6>*ƸѻˍY,| i^BEz¨J͗,۳d7 #dmA7rٺ.TRlffDeV?W?8nNT/v.]2HoA>'H6fHF;D $1 GZi[857`2Fɂd<;h Gw${'$tJ~3$Ӌ@FTB,P"(/-LUI[U)?dhl\b}hOuIM`C gA!rK-Qs#̹-9@>MI.-oCW<8 $eS8 UI5*1&%dYIēmkm2$z;& p͗:MџP^1E\16 !tJc@N kgxqT$L-CYVMт!)s)rL9gƮHNN~>`x1|Py}LڠE'tvCO Npv l 4:*C#KBtp]aAf2E9 Ւ^F9I(5!4ek3~l$v>`s_A3yDn9•^y"{$B#㳆O?/j'gvNv+. xt  :b\ɰ3 d8ǐϬ8ݍhHLv'1aw~[ț'cMw(  )[=j9vIPX{`e;d#,+snQUHBu.NƢtssA㔫쯊'ULȓHU$e#h$j&? Ư&h2ϗN2 DoJ k1crp4 N18P9򉪛>m˩sWVu1AÃҸݙ$I$$dI$2l9#mjkW TS#8D$o1\a#@rX~Y 2}&UKjNZUgT#Zt-V-j qbX(5kd NZMc"j&h14k:Wo ]v_&n~]EN<ypPp|ؽ"HLWH/3 g U9l?N<嵯Q<x1E{hW7Vvwrۑ6a40uHaw?|$I$M 53WO}guG2tJ@(L4~xo}@* uʅuI41Y"t;dpy:)9.m%܉ѽ!تr3 i:pߴ,=蠕@X DqOH-qyTa#ƈ-pȶPIYU4mi uprmϪzTXp%IkأR$췗LZ*@4ȪBK1EeA,8 ȓ HY"@D o,iHp$v"t+\[Ȏe+©Uk"vIӕ<|[RC=NHǥ讗T}hay{_kUjd&e+;"tHrWYM.Y?'i%Sp9#4_UEZfkI>sJ1*.>;޺'lOaU]K2}1qSJqf&~KO,SH&; d%Y$CC:5VA0-#fYq\vz#ǛBSvS_y5  *t3 n*=\a#xwԼ]}'oKR'9U*;"Dsqd D"2*N^;un;jLD&&iwT/7ܵiu'wd$xbnn)BI4Dן4U "%!d;aSI-;g]qNgNq8VԮ4_ Us/vTzf]XefM]$+3`[7=mWN^U67He TҧN''Ut,pUtN#k2 9~ZO+U'@/D8 /)+\.~(-5JMN^di'D*NMr:<\1ʤDjd$b SZ1K`,1yTzǒw(⠟B>>GI*6u;5n0ADǦؾ_4`.r0uQtTVubEYYXDMs+Rj&DDDpD9ihqKVJ| 脎TrjN+{JoJ^țU]׾vDŽN'"1SZVN+&Ě#jNQ>}tI:HMjPʶlΫ#Ke 7TdEm7 lHɭȨFtj|: Bjbs}*m ^QgFȜzn3𞊫~OOL]JlIē'EGErS&uuyJ{2ty$7ܑN$@cobrapy-0.4.0b6/cobra/test/data/mini_fbc2.xml.gz000066400000000000000000000130461263606473700213730ustar00rootroot00000000000000Pf_Vmini_fbc2.xml]Yں~߿<ɒJvUtv:P=} l$+ 6Cd)༤YZ5hU{cot{(l4">|s<OpC]A:®oZ/ ײ+_q=}^S{8鿮l/tQ}KNQ(\u؝u}krsè54q3PD)azN厧(cL3l' g%=Nb8Sϼȝz$ž97Ka`w '< mGzW2!7HUN/r9auRm\r}vK|?ܱ_g ֛X=3'lmGC}>;s^B^dm[q'R_i8TS1Inn`wVou~^_}׾,X]<\xPOLD+ݏ5K=zA|3zN5@oqecEc5W:kG~{k}٭Vx̳bc7[5QꪥaJ WN,k5gx3;i:,I#hCosզ1;' w "XlFv0_[vƮRo@muޱFm=Ld}ԛӒA6Srhi D #O"1 КN iފVRߤnu}fH/[~$ |1q?3sj YS39MZ8? zan_7{_o{n4Nq޼ho꺍뻛7^b5cpL$[1c˂h6o&~uK`n^ ؠ&5叝cH A!tJ i_ Q`5Nhݞ?wUcyX귂leN372ռE gF$aӸMfA5Ոu$%fAo3πr#HX,>Yaaܤ'@n 9teГ?Uʹ@'J%,@lSMHV`1&Etr6A[.A+.Q 29<~޷#xHxfLI i`{]40HYH gXj5A`p>A ·`~Ji+Jyla;L>Ir4RuF̸}h}av0-3L %\ph/ N(LBcX6ka-ʰRHlW'[Q=LbtDf,2 #`^"&IƱS$& Ui5 3Ųf;:Shzx6֒6=7> #O7 rRRpwH oPh>Fox0cph̋Qpe  ڂ1!4SSM.p% $y3kJMeXWղWRՌsALmKZŦ:23NCƷ.?];[U*fW pçCD9` pyCאj֕cxL0M[ uD@/IBG LlY3kL.$ݞbVΪp۩UB͊Z&gb:8A_hZ124­;0Г#bF Lw.tz{M*д1~ih$cXCpEa_+`~A!F&DR ,|PYu\ ؊(IA!*df L꠨D״ds"u/Ef;ly\^N?=DžLN@&bQȐp.8M'%(Wi>sKq8iguݧ{ &%VPq*J9xlK uQ x)0 m\ +<ǀ1  Od OS|`<=N)<ŕWS\y+Oq)<ŕWS\y+Oq)<ŕx-97҉.'񹹈O>~h=>@Ն Y"`>XX\Ms _/3v1 o2=2rZdܲtlhJ-ItlAIH|: XR18&ڈc/c,ֱQ/f!y -gs=fQ&7|R1 -%um 2VFka9,\TVeaUVeaUVeaUVeaUVeaUVea<;VzIuֽX2k\s9vOJܞo5Rkĩɬ9D?W,BD 3(I pV+i԰X9{@uK])` y`erx{Zj% O%n&"Z ,ґG( EBKGZ(I_) 2vd]l)NvFO58Y#b:,Ζ΀@  n tq,x殃iTi`op`)o. 5Q8 PP&4Q-q]LeZYۃ;ߛ΃ٷ\ٵ{<%緷e*&R 5-C"2u& \V 2 Ҁw"Lcg"N<©&t5tc(*LWp[Oq-ҟ"q!ݵ Hw\hqԆn7T9M1%zaZо!q39eIÔwST'+nKT SbI1&/p nb ~&wn"np[kਯ/?\:iHG) VSE: n;ߧ;o ^mH6ݨ\I,̕#Ky̢XG}I,YxWG|* LtZ!A , EV:h*N#i},3X }:isG6 'HfG_a:ڑkqQcUA}xܪ+j 0ʅ:Wz-patmlșāu?37p[čMN֛x{ww̋:n_{$A|3^{1rIx{HxpNCw35 ;JڅFJN!#3EdK$OW_xiq2bڈ5kv_]G$Wyݺb (զ8<8jCL}~ϵ7TT|Z^Z mvob(el?m١N|Rgb0 ,LG0g`Ocъe/ҡ>wbۥƭ7Ss~Fdabլq.VnV opnq*KG6:Olu4tӵOW?,9AI'훫i("u.5o; LvhX:'柭G`G6rHJAG9GWnU;='PAMjLA馈ݡuMvVxٞ85`?C Fµn_Op1jQ`O©Do]kߴ_A13< f9(T:\SM^ry*mLܞ7ZY/dizw 6E鴰!gF d]~ny"-iE-҇:_/Fӗ2DwD<'^oǐV>OyuIiɧgbnh'ބk@Oq'Q;Ty,VqVY;V$hBCTNNdzɐ9icobrapy-0.4.0b6/cobra/test/data/salmonella.genes000066400000000000000000001134121263606473700215520ustar00rootroot00000000000000(dp1 S'STM3699' p2 S'cysE' p3 sS'STM4366' p4 S'purA' p5 sS'STM2466' p6 S'eutD' p7 sS'STM3482' p8 S'gph' p9 sS'STM2460' p10 S'eutH' p11 sS'STM2463' p12 S'eutE' p13 sS'STM2183' p14 S'cdd' p15 sS'STM1746.S' p16 S'oppA' p17 sS'STM2058' p18 S'pduX' p19 sS'STM3483' p20 S'rpe' p21 sS'STM0393' p22 S'yajF' p23 sS'STM2667' p24 S'pheA' p25 sS'STM3702' p26 S'grxC' p27 sS'STM3961' p28 S'pldB' p29 sS'STM3960' p30 S'rhtB' p31 sS'STM2662' p32 S'rluD' p33 sS'STM3965' p34 S'metE' p35 sS'STM2461' p36 S'eutG' p37 sS'STM0586' p38 S'fes' p39 sS'STM3968' p40 S'udp' p41 sS'STM2502' p42 S'ppx' p43 sS'STM4278.S' p44 S'nrfB' p45 sS'STM2500' p46 S'purN' p47 sS'STM2501' p48 S'ppk' p49 sS'STM3793' p50 S'-' sS'STM3686' p51 S'mtlD' p52 sS'STM2808' p53 S'nrdF' p54 sS'STM0247' p55 S'metN' p56 sS'STM0246' p57 S'yaeE' p58 sS'STM0245' p59 S'metQ' p60 sS'STM1793' p61 S'-' sS'STM1375' p62 S'ynhG' p63 sS'STM0248' p64 S'yaeD' p65 sS'STM0719' p66 S'-' sS'STM2074' p67 S'hisB' p68 sS'STM0399' p69 S'brnQ' p70 sS'STM0087' p71 S'folA' p72 sS'STM2075' p73 S'hisH' p74 sS'STM0329' p75 S'-' sS'STM0498' p76 S'copA' p77 sS'STM0773' p78 S'galM' p79 sS'STM0494' p80 S'ushA' p81 sS'STM0320' p82 S'phoE' p83 sS'STM0088' p84 S'apaH' p85 sS'STM0322' p86 S'proA' p87 sS'STM0491' p88 S'gsk' p89 sS'STM0812' p90 S'ybhO' p91 sS'STM2189' p92 S'mglA' p93 sS'STM1826' p94 S'sdaA' p95 sS'STM3624A' p96 S'-' sS'STM2956' p97 S'relA' p98 sS'STM2064' p99 S'phsB' p100 sS'STM2959' p101 S'-' sS'STM1104' p102 S'hpaF' p103 sS'STM3697' p104 S'-' sS'STM2774' p105 S'iroC' p106 sS'STM3938' p107 S'hemC' p108 sS'STM1101' p109 S'hpaG' p110 sS'STM3200' p111 S'rfaE' p112 sS'STM3939' p113 S'cyaA' p114 sS'STM0958' p115 S'trxB' p116 sS'STM1255' p117 S'-' sS'STM0661' p118 S'rihA' p119 sS'STM1468' p120 S'fumA' p121 sS'STM0663' p122 S'gltK' p123 sS'STM0662' p124 S'gltL' p125 sS'STM0889' p126 S'artQ' p127 sS'STM0888' p128 S'artM' p129 sS'STM1469' p130 S'fumC' p131 sS'STM0140' p132 S'coaE' p133 sS'STM0141' p134 S'guaC' p135 sS'STM0887' p136 S'artJ' p137 sS'STM0671' p138 S'ubiF' p139 sS'STM0145' p140 S'nadC' p141 sS'STM0146' p142 S'ampD' p143 sS'STM0619' p144 S'citG' p145 sS'STM2168' p146 S'pbpG' p147 sS'STM3068' p148 S'fba' p149 sS'STM3069' p150 S'pgk' p151 sS'STM3066' p152 S'yggA' p153 sS'STM2165' p154 S'yehZ' p155 sS'STM2167' p156 S'dld' p157 sS'STM3062' p158 S'serA' p159 sS'STM3063' p160 S'rpiA' p161 sS'STM2162' p162 S'yehW' p163 sS'STM2163' p164 S'yehX' p165 sS'STM0866' p166 S'mdfA' p167 sS'STM0865' p168 S'ybjG' p169 sS'STM0863' p170 S'dacC' p171 sS'STM3881' p172 S'rbsD' p173 sS'STM0861' p174 S'yliI' p175 sS'STM1107' p176 S'hpaX' p177 sS'STM0183' p178 S'folK' p179 sS'STM0791' p180 S'hutH' p181 sS'STM2550' p182 S'asrC' p183 sS'STM2838.S' p184 S'gutQ' p185 sS'STM1718' p186 S'btuR' p187 sS'STM0242' p188 S'proS' p189 sS'STM2929' p190 S'ispF' p191 sS'STM1712' p192 S'acnA' p193 sS'STM1710' p194 S'pgpB' p195 sS'STM1711' p196 S'ribA' p197 sS'STM3500' p198 S'pckA' p199 sS'STM2669' p200 S'tyrA' p201 sS'STM0101' p202 S'araD' p203 sS'STM2146' p204 S'thiD' p205 sS'STM0985' p206 S'lpxK' p207 sS'STM1883' p208 S'purT' p209 sS'STM2467' p210 S'eutT' p211 sS'STM1886' p212 S'zwf' p213 sS'STM1787' p214 S'-' sS'STM1884' p215 S'eda' p216 sS'STM1885' p217 S'edd' p218 sS'STM3787' p219 S'uhpT' p220 sS'STM2301' p221 S'arnT' p222 sS'STM1963' p223 S'amyA' p224 sS'STM1889' p225 S'msbB' p226 sS'STM2305' p227 S'menE' p228 sS'STM2306' p229 S'menC' p230 sS'STM2307' p231 S'menB' p232 sS'STM3668' p233 S'yiaK' p234 sS'STM2025' p235 S'cbiK' p236 sS'STM3542' p237 S'gntK' p238 sS'STM0963' p239 S'serS' p240 sS'STM3660' p241 S'xylB' p242 sS'STM0444' p243 S'ampG' p244 sS'STM2092' p245 S'rfbF' p246 sS'STM2093' p247 S'rfbI' p248 sS'STM3664' p249 S'malS' p250 sS'STM0440' p251 S'cyoD' p252 sS'STM0443' p253 S'cyoA' p254 sS'STM0442' p255 S'cyoB' p256 sS'STM4100' p257 S'metB' p258 sS'STM4101' p259 S'metL' p260 sS'STM2391' p261 S'fadL' p262 sS'STM1290' p263 S'gapA' p264 sS'STM1569' p265 S'fdnH' p266 sS'STM1568' p267 S'fdnI' p268 sS'STM4106' p269 S'katG' p270 sS'STM4108' p271 S'gldA' p272 sS'STM4109' p273 S'talC' p274 sS'STM1567' p275 S'adhP' p276 sS'STM1566' p277 S'sfcA' p278 sS'STM2020' p279 S'cbiO' p280 sS'STM0756' p281 S'nadA' p282 sS'STM3147' p283 S'hybC' p284 sS'STM3704' p285 S'pmgI' p286 sS'STM1818' p287 S'fadD' p288 sS'STM2948' p289 S'cysJ' p290 sS'STM2949' p291 S'ptpS' p292 sS'STM2946' p293 S'cysH' p294 sS'STM2947' p295 S'cysI' p296 sS'STM2009' p297 S'amn' p298 sS'STM2927' p299 S'surE' p300 sS'STM1763' p301 S'narH' p302 sS'STM1762' p303 S'narJ' p304 sS'STM1761' p305 S'narI' p306 sS'STM0686' p307 S'glnS' p308 sS'STM4081' p309 S'tpiA' p310 sS'STM4080' p311 S'-' sS'STM1584' p312 S'ansP' p313 sS'STM4085' p314 S'glpX' p315 sS'STM4084' p316 S'fpr' p317 sS'STM4087' p318 S'glpF' p319 sS'STM4086' p320 S'glpK' p321 sS'STM2105.S' p322 S'manC' p323 sS'STM2548' p324 S'asrA' p325 sS'STM4323' p326 S'dipZ' p327 sS'STM2072' p328 S'hisD' p329 sS'STM4326' p330 S'aspA' p331 sS'STM3714' p332 S'rfaK' p333 sS'STM3715' p334 S'rfaZ' p335 sS'STM3716' p336 S'rfaY' p337 sS'STM3717' p338 S'rfaJ' p339 sS'STM3710' p340 S'rfaD' p341 sS'STM3711' p342 S'rfaF' p343 sS'STM3712' p344 S'rfaC' p345 sS'STM3713' p346 S'rfaL' p347 sS'STM0698' p348 S'pgm' p349 sS'STM3002' p350 S'lgt' p351 sS'STM3718' p352 S'rfaI' p353 sS'STM3719' p354 S'rfaB' p355 sS'STM1780' p356 S'prsA' p357 sS'STM0364' p358 S'foxA' p359 sS'STM0368' p360 S'prpB' p361 sS'STM0369' p362 S'prpC' p363 sS'STM3882' p364 S'rbsA' p365 sS'STM0974' p366 S'focA' p367 sS'STM0879' p368 S'potH' p369 sS'STM0049' p370 S'ispH' p371 sS'STM4421' p372 S'-' sS'STM1067' p373 S'fabA' p374 sS'STM3959' p375 S'rhtC' p376 sS'STM0593' p377 S'ybdA' p378 sS'STM4035' p379 S'fdoI' p380 sS'STM4036' p381 S'fdoH' p382 sS'STM4037' p383 S'fdoG' p384 sS'STM0045' p385 S'ribF' p386 sS'STM0596' p387 S'entE' p388 sS'STM0595' p389 S'entC' p390 sS'STM0594' p391 S'fepB' p392 sS'STM3218' p393 S'oat' p394 sS'STM4137' p395 S'murB' p396 sS'STM2536' p397 S'pepB' p398 sS'STM0091' p399 S'pdxA' p400 sS'STM2533' p401 S'sseA' p402 sS'STM2531' p403 S'pbpC' p404 sS'STM4139' p405 S'coaA' p406 sS'STM2435' p407 S'pdxK' p408 sS'STM2432' p409 S'ptsI' p410 sS'STM2433' p411 S'crr' p412 sS'STM2430' p413 S'cysK' p414 sS'STM2431' p415 S'ptsH' p416 sS'STM1200' p417 S'tdk' p418 sS'STM0627' p419 S'dcuC' p420 sS'STM2776' p421 S'iroE' p422 sS'STM0621' p423 S'citF' p424 sS'STM0620' p425 S'citX' p426 sS'STM0623' p427 S'citD' p428 sS'STM0622' p429 S'citE' p430 sS'STM3300' p431 S'dacB' p432 sS'STM3936' p433 S'hemX' p434 sS'STM3937' p435 S'hemD' p436 sS'STM0180' p437 S'panD' p438 sS'STM0181' p439 S'panC' p440 sS'STM0182' p441 S'panB' p442 sS'STM0321' p443 S'proB' p444 sS'STM1617' p445 S'-' sS'STM0828' p446 S'glnQ' p447 sS'STM0218' p448 S'pyrH' p449 sS'STM2206' p450 S'fruF' p451 sS'STM1204' p452 S'fhuE' p453 sS'STM0966' p454 S'dmsC' p455 sS'STM0740' p456 S'cydA' p457 sS'STM0213' p458 S'dapD' p459 sS's0001' p460 S'' sS'STM0984' p461 S'msbA' p462 sS'STM4300' p463 S'fumB' p464 sS'STM0829' p465 S'glnP' p466 sS'STM1203' p467 S'ptsG' p468 sS'STM0980' p469 S'cmk' p470 sS'STM1208' p471 S'thiK' p472 sS'STM1209' p473 S'nagZ' p474 sS'STM2991' p475 S'amiC' p476 sS'STM2992' p477 S'argA' p478 sS'STM4456' p479 S'mgtA' p480 sS'STM2820' p481 S'yqaB' p482 sS'STM0970' p483 S'pflA' p484 sS'STM2253' p485 S'ccmB' p486 sS'STM0988' p487 S'kdsB' p488 sS'STM1496' p489 S'-' sS'STM3733' p490 S'pyrE' p491 sS'STM0130' p492 S'ddl' p493 sS'STM3983' p494 S'fadB' p495 sS'STM3982' p496 S'fadA' p497 sS'STM3242' p498 S'tdcD' p499 sS'STM3243' p500 S'tdcC' p501 sS'STM0137' p502 S'mutT' p503 sS'STM3986' p504 S'trkH' p505 sS'STM4452' p506 S'nrdD' p507 sS'STM1538' p508 S'-' sS'STM3248' p509 S'garR' p510 sS'STM3249' p511 S'garL' p512 sS'STM3057' p513 S'ubiH' p514 sS'STM1125' p515 S'putP' p516 sS'STM3055' p517 S'gcvT' p518 sS'STM3054' p519 S'gcvH' p520 sS'STM3045' p521 S'fldB' p522 sS'STM2190' p523 S'mglB' p524 sS'STM2193' p525 S'folE' p526 sS'STM3114' p527 S'speC' p528 sS'STM2057' p529 S'pduW' p530 sS'STM2199' p531 S'cirA' p532 sS'STM3113' p533 S'nupG' p534 sS'STM1102' p535 S'hpaE' p536 sS'STM0528' p537 S'allD' p538 sS'STM0522' p539 S'allP' p540 sS'STM0523' p541 S'allB' p542 sS'STM0527' p543 S'allC' p544 sS'STM0525' p545 S'glxK' p546 sS'STM1723' p547 S'trpE' p548 sS'STM0463' p549 S'amtB' p550 sS'STM1448' p551 S'pdxH' p552 sS'STM1449' p553 S'tyrS' p554 sS'STM1338' p555 S'pheT' p556 sS'STM2321' p557 S'nuoI' p558 sS'STM1725' p559 S'trpC' p560 sS'STM1724' p561 S'trpD' p562 sS'STM2089' p563 S'rfbJ' p564 sS'STM1440' p565 S'sodC' p566 sS'STM1337' p567 S'pheS' p568 sS'STM1446' p569 S'anmK' p570 sS'STM1332' p571 S'rfc' p572 sS'STM2933' p573 S'cysC' p574 sS'STM2121' p575 S'dcd' p576 sS'STM2122' p577 S'udk' p578 sS'STM3139' p579 S'gsp' p580 sS'STM3180' p581 S'ygiN' p582 sS'STM3185' p583 S'nudF' p584 sS'STM3259' p585 S'-' sS'STM3186' p586 S'tolC' p587 sS'STM2278' p588 S'nrdB' p589 sS'STM2370' p590 S'pdxB' p591 sS'STM2051' p592 S'pduP' p593 sS'STM4159' p594 S'thiH' p595 sS'STM2096' p596 S'rfbD' p597 sS'STM2378' p598 S'fabB' p599 sS'STM4477' p600 S'pepA' p601 sS'STM0425' p602 S'thiI' p603 sS'STM2276' p604 S'ubiG' p605 sS'STM2277' p606 S'nrdA' p607 sS'STM0416' p608 S'ribD' p609 sS'STM0417' p610 S'ribH' p611 sS'STM3612' p612 S'kdgK' p613 sS'STM0413' p614 S'tsx' p615 sS'STM0795' p616 S'bioF' p617 sS'STM0794' p618 S'bioB' p619 sS'STM0797' p620 S'bioD' p621 sS'STM3258' p622 S'-' sS'STM0793' p623 S'bioA' p624 sS'STM0419' p625 S'thiL' p626 sS'STM2289' p627 S'-' sS'STM4408' p628 S'msrA' p629 sS'STM2041' p630 S'pduD' p631 sS'STM3247' p632 S'garK' p633 sS'STM0004' p634 S'thrC' p635 sS'STM0007' p636 S'talB' p637 sS'STM0006' p638 S'yaaJ' p639 sS'STM2320' p640 S'nuoJ' p641 sS'STM0003' p642 S'thrB' p643 sS'STM0002' p644 S'thrA' p645 sS'STM2977' p646 S'fucK' p647 sS'STM2976' p648 S'fucI' p649 sS'STM2975' p650 S'fucP' p651 sS'STM2974' p652 S'fucA' p653 sS'STM2973' p654 S'fucO' p655 sS'STM2841' p656 S'ygbD' p657 sS'STM2971' p658 S'sdaB' p659 sS'STM2970' p660 S'sdaC' p661 sS'STM1647' p662 S'ldhA' p663 sS'STM1435' p664 S'gloA' p665 sS'STM1433' p666 S'ydhD' p667 sS'STM1431' p668 S'sodB' p669 sS'STM4176' p670 S'purH' p671 sS'STM2472' p672 S'maeB' p673 sS'STM2473' p674 S'talA' p675 sS'STM2477' p676 S'yffH' p677 sS'STM0388' p678 S'aroL' p679 sS'STM0103' p680 S'araB' p681 sS'STM0386' p682 S'proC' p683 sS'STM4358' p684 S'amiB' p685 sS'STM3382' p686 S'panF' p687 sS'STM3241' p688 S'tdcE' p689 sS'STM0380' p690 S'ddl' p691 sS'STM3254' p692 S'-' sS'STM3970' p693 S'ubiE' p694 sS'STM3972' p695 S'ubiB' p696 sS'STM2578' p697 S'pdxJ' p698 sS'STM2670' p699 S'aroF' p700 sS'STM3257' p701 S'-' sS'STM3978' p702 S'yigC' p703 sS'STM3979' p704 S'fre' p705 sS'STM4248' p706 S'tyrB' p707 sS'STM2577' p708 S'acpS' p709 sS'STM2283' p710 S'glpT' p711 sS'STM4283' p712 S'gltP' p713 sS'STM0700' p714 S'potE' p715 sS'STM2282' p716 S'glpQ' p717 sS'STM0706' p718 S'kdpA' p719 sS'STM0255' p720 S'dkgB' p721 sS'STM4285' p722 S'fdhF' p723 sS'STM0705' p724 S'kdpB' p725 sS'STM3871' p726 S'atpB' p727 sS'STM3870' p728 S'atpE' p729 sS'STM2786' p730 S'-' sS'STM3872' p731 S'atpI' p732 sS'STM3877' p733 S'asnA' p734 sS'STM2284' p735 S'glpA' p736 sS'STM1155' p737 S'htrB' p738 sS'STM0701' p739 S'speF' p740 sS'STM3493' p741 S'mrcA' p742 sS'STM1651' p743 S'nifJ' p744 sS'STM2286' p745 S'glpC' p746 sS'STM0317' p747 S'gpt' p748 sS'STM0316' p749 S'pepD' p750 sS'STM3905' p751 S'ilvA' p752 sS'STM0964' p753 S'dmsA' p754 sS'STM3279' p755 S'mtr' p756 sS'STM2194' p757 S'yeiG' p758 sS'STM2787' p759 S'-' sS'STM4420' p760 S'-' sS'STM2019' p761 S'cbiP' p762 sS'STM0568' p763 S'pheP' p764 sS'STM3506' p765 S'feoB' p766 sS'STM2403' p767 S'glk' p768 sS'STM2401' p769 S'ddg' p770 sS'STM3053' p771 S'gcvP' p772 sS'STM3334' p773 S'-' sS'STM2090' p774 S'rfbH' p775 sS'STM0519' p776 S'glxR' p777 sS'STM2409' p778 S'nupC' p779 sS'STM2408' p780 S'mntH' p781 sS'STM0518' p782 S'gip' p783 sS'STM0171' p784 S'yadF' p785 sS'STM0170' p786 S'hpt' p787 sS'STM2809' p788 S'proV' p789 sS'STM3553' p790 S'ugpQ' p791 sS'STM0776' p792 S'galE' p793 sS'STM0775' p794 S'galT' p795 sS'STM0774' p796 S'galK' p797 sS'STM0957' p798 S'cydD' p799 sS'STM0956' p800 S'cydC' p801 sS'STM0665' p802 S'gltI' p803 sS'STM0890' p804 S'artI' p805 sS'STM0891' p806 S'artP' p807 sS'STM3206' p808 S'folB' p809 sS'STM0664' p810 S'gltJ' p811 sS'STM2832' p812 S'srlA' p813 sS'STM1502' p814 S'speG' p815 sS'STM3013' p816 S'lysA' p817 sS'STM3112' p818 S'mltC' p819 sS'STM2316.S' p820 S'nuoN' p821 sS'STM3010' p822 S'aas' p823 sS'STM2155' p824 S'metG' p825 sS'STM3016' p826 S'araE' p827 sS'STM4273' p828 S'actP' p829 sS'STM1892.S' p830 S'znuC' p831 sS'STM0047' p832 S'lspA' p833 sS'STM2831' p834 S'mltB' p835 sS'STM2052' p836 S'pduQ' p837 sS'STM0872' p838 S'grxA' p839 sS'STM1377' p840 S'lpp' p841 sS'STM1378' p842 S'pykF' p843 sS'STM1477' p844 S'ydgI' p845 sS'STM3380' p846 S'accC' p847 sS'STM0878' p848 S'potG' p849 sS'STM4568' p850 S'deoA' p851 sS'STM3920' p852 S'wecB' p853 sS'STM4424.S' p854 S'-' sS'STM2511' p855 S'guaB' p856 sS'STM4569' p857 S'deoB' p858 sS'STM2079' p859 S'wzzB' p860 sS'STM2309' p861 S'menD' p862 sS'STM0880' p863 S'potI' p864 sS'STM2399' p865 S'pgtP' p866 sS'STM3926' p867 S'wzxE' p868 sS'STM3475' p869 S'nirD' p870 sS'STM3474' p871 S'nirB' p872 sS'STM3477' p873 S'cysG' p874 sS'STM3476' p875 S'nirC' p876 sS'STM1479' p877 S'pntA' p878 sS'STM2323.S' p879 S'nuoG' p880 sS'STM3379' p881 S'accB' p882 sS'STM3655' p883 S'glyS' p884 sS'STM2530' p885 S'-' sS'STM3656' p886 S'glyQ' p887 sS'STM3240' p888 S'tdcG' p889 sS'STM3795' p890 S'ilvN' p891 sS'STM3796' p892 S'ilvB' p893 sS'STM3250' p894 S'garD' p895 sS'STM3792' p896 S'-' sS'STM1577' p897 S'narZ' p898 sS'STM3353' p899 S'oadG' p900 sS'STM2783' p901 S'nixA' p902 sS'STM0517' p903 S'gcl' p904 sS'STM3921' p905 S'wecC' p906 sS'STM0515' p907 S'allA' p908 sS'STM0837' p909 S'ybiS' p910 sS'STM3556' p911 S'ugpA' p912 sS'STM3557' p913 S'ugpB' p914 sS'STM3554' p915 S'ugpC' p916 sS'STM3555' p917 S'ugpE' p918 sS'STM0457' p919 S'cof' p920 sS'STM0310' p921 S'gmhA' p922 sS'STM3551' p923 S'ggt' p924 sS'STM1473' p925 S'ompN' p926 sS'STM2833' p927 S'srlE' p928 sS'STM1578' p929 S'narY' p930 sS'STM2383' p931 S'mepA' p932 sS'STM2384' p933 S'aroC' p934 sS'STM4348' p935 S'psd' p936 sS'STM2834' p937 S'slrB' p938 sS'STM2835' p939 S'srlD' p940 sS'STM2388' p941 S'fadJ' p942 sS'STM2389' p943 S'fadI' p944 sS'STM1570' p945 S'fdnG' p946 sS'STM4131' p947 S'murI' p948 sS'STM4130' p949 S'btuB' p950 sS'STM2164' p951 S'yehY' p952 sS'STM3150' p953 S'hypO' p954 sS'STM1779' p955 S'ipk' p956 sS'STM2016' p957 S'cobT' p958 sS'STM2017' p959 S'cobS' p960 sS'STM1802' p961 S'dadX' p962 sS'STM1803' p963 S'dadA' p964 sS'STM3158' p965 S'exbD' p966 sS'STM3159' p967 S'exbB' p968 sS'STM1806' p969 S'nhaB' p970 sS'STM1771' p971 S'chaA' p972 sS'STM1772' p973 S'kdsA' p974 sS'STM2934' p975 S'cysN' p976 sS'STM4485' p977 S'idnK' p978 sS'STM4484' p979 S'idnD' p980 sS'STM1597' p981 S'ydcW' p982 sS'STM2205' p983 S'fruK' p984 sS'STM2204' p985 S'fruA' p986 sS'STM4483' p987 S'idnO' p988 sS'STM4482' p989 S'idnT' p990 sS'STM2483' p991 S'dapE' p992 sS'STM0208' p993 S'dgt' p994 sS'STM1599' p995 S'pdgL' p996 sS'STM4090' p997 S'menA' p998 sS'STM3721' p999 S'rfaP' p1000 sS'STM2018' p1001 S'cobU' p1002 sS'STM3723' p1003 S'rfaQ' p1004 sS'STM3722' p1005 S'rfaG' p1006 sS'STM3725' p1007 S'coaD' p1008 sS'STM3724' p1009 S'kdtA' p1010 sS'STM0206' p1011 S'btuF' p1012 sS'STM2088' p1013 S'rfbX' p1014 sS'STM1727' p1015 S'trpA' p1016 sS'STM1800' p1017 S'ldcA' p1018 sS'STM0124' p1019 S'murF' p1020 sS'STM1726' p1021 S'trpB' p1022 sS'STM0056' p1023 S'-' sS'STM3866' p1024 S'atpG' p1025 sS'STM2091' p1026 S'rfbG' p1027 sS'STM1777' p1028 S'hemA' p1029 sS'STM0532' p1030 S'arcC' p1031 sS'STM0429' p1032 S'phnS' p1033 sS'STM0051' p1034 S'rihC' p1035 sS'STM0427' p1036 S'phnU' p1037 sS'STM3884' p1038 S'rbsB' p1039 sS'STM1695' p1040 S'sapD' p1041 sS'STM0423' p1042 S'ispA' p1043 sS'STM0422' p1044 S'dxs' p1045 sS'STM0353' p1046 S'-' sS'STM0059' p1047 S'citD2' p1048 sS'STM2847' p1049 S'hycG' p1050 sS'STM0589' p1051 S'fepE' p1052 sS'STM2337' p1053 S'ackA' p1054 sS'STM4433' p1055 S'-' sS'STM2935' p1056 S'cysD' p1057 sS'STM1057' p1058 S'pepN' p1059 sS'STM2840' p1060 S'-' sS'STM1058' p1061 S'pyrD' p1062 sS'STM0584' p1063 S'entD' p1064 sS'STM4004' p1065 S'hemN' p1066 sS'STM2849' p1067 S'hycE' p1068 sS'STM2848' p1069 S'hycF' p1070 sS'STM3854' p1071 S'pstB' p1072 sS'STM2200' p1073 S'lysP' p1074 sS'STM2326' p1075 S'nuoC' p1076 sS'STM2027' p1077 S'cbiH' p1078 sS'STM2526' p1079 S'ndk' p1080 sS'STM2522' p1081 S'hisS' p1082 sS'STM2523' p1083 S'ispG' p1084 sS'STM2443' p1085 S'cysU' p1086 sS'STM2442' p1087 S'cysW' p1088 sS'STM2441' p1089 S'cysA' p1090 sS'STM2440' p1091 S'cysM' p1092 sS'STM2528' p1093 S'-' sS'STM2529' p1094 S'-' sS'STM2444' p1095 S'cysP' p1096 sS'STM3909' p1097 S'ilvC' p1098 sS'STM0637' p1099 S'dacA' p1100 sS'STM3901' p1101 S'ilvG' p1102 sS'STM2327' p1103 S'nuoB' p1104 sS'STM3903' p1105 S'ilvE' p1106 sS'STM3902' p1107 S'ilvM' p1108 sS'STM3541' p1109 S'gntU' p1110 sS'STM3904' p1111 S'ilvD' p1112 sS'STM0684' p1113 S'nagB' p1114 sS'STM0229' p1115 S'lpxB' p1116 sS'STM0228' p1117 S'lpxA' p1118 sS'STM0739' p1119 S'sucD' p1120 sS'STM0738' p1121 S'sucC' p1122 sS'STM0733' p1123 S'sdhD' p1124 sS'STM0220' p1125 S'dxr' p1126 sS'STM0730' p1127 S'gltA' p1128 sS'STM0737' p1129 S'sucB' p1130 sS'STM0736' p1131 S'kgd' p1132 sS'STM0227' p1133 S'fabZ' p1134 sS'STM0734' p1135 S'sdhA' p1136 sS'STM3256' p1137 S'-' sS'STM0086' p1138 S'kefC' p1139 sS'STM1106' p1140 S'hpaI' p1141 sS'STM2087' p1142 S'rfbV' p1143 sS'STM2324' p1144 S'nuoF' p1145 sS'STM2864' p1146 S'sitD' p1147 sS'STM3401' p1148 S'aroE' p1149 sS'STM2188' p1150 S'mglC' p1151 sS'STM2988' p1152 S'mltA' p1153 sS'STM0741' p1154 S'cydB' p1155 sS'STM1238' p1156 S'icdA' p1157 sS'STM1235' p1158 S'ymfB' p1159 sS'STM0832' p1160 S'ybiF' p1161 sS'STM2984' p1162 S'csdA' p1163 sS'STM1232' p1164 S'purB' p1165 sS'STM3720' p1166 S'yibR' p1167 sS'STM1211' p1168 S'ndh' p1169 sS'STM1556' p1170 S'-' sS'STM3338' p1171 S'nanT' p1172 sS'STM3339' p1173 S'nanA' p1174 sS'STM0125' p1175 S'mraY' p1176 sS'STM0128' p1177 S'murG' p1178 sS'STM0640' p1179 S'mrdA' p1180 sS'STM0126' p1181 S'murD' p1182 sS'STM3997' p1183 S'dsbA' p1184 sS'STM3330' p1185 S'gltB' p1186 sS'STM3331' p1187 S'gltD' p1188 sS'STM3336' p1189 S'nanK' p1190 sS'STM3337' p1191 S'nanE' p1192 sS'STM1044' p1193 S'sodC' p1194 sS'STM0648' p1195 S'leuS' p1196 sS'STM3512' p1197 S'gntT' p1198 sS'STM3513' p1199 S'malQ' p1200 sS'STM3040' p1201 S'lysS' p1202 sS'STM1215' p1203 S'ycfS' p1204 sS'STM3514' p1205 S'malP' p1206 sS'STM3043' p1207 S'dsbC' p1208 sS'STM0689' p1209 S'citA' p1210 sS'STM3161' p1211 S'metC' p1212 sS'STM3692' p1213 S'lldP' p1214 sS'STM2065' p1215 S'phsA' p1216 sS'STM3694' p1217 S'lldD' p1218 sS'STM3165' p1219 S'dkgA' p1220 sS'STM1385' p1221 S'ttrB' p1222 sS'STM0428' p1223 S'phnT' p1224 sS'STM0129' p1225 S'murC' p1226 sS'STM0757' p1227 S'pnuC' p1228 sS'STM1731' p1229 S'-' sS'STM0464' p1230 S'tesB' p1231 sS'STM3195' p1232 S'ribB' p1233 sS'STM3190' p1234 S'ygiE' p1235 sS'STM1737' p1236 S'tonB' p1237 sS'STM1301' p1238 S'-' sS'STM1739' p1239 S'cls' p1240 sS'STM1303' p1241 S'argD' p1242 sS'STM1305' p1243 S'astD' p1244 sS'STM1304' p1245 S'astA' p1246 sS'STM1307' p1247 S'astE' p1248 sS'STM1306' p1249 S'astB' p1250 sS'STM3589' p1251 S'pitA' p1252 sS'STM0850' p1253 S'yliC' p1254 sS'STM4475' p1255 S'valS' p1256 sS'STM1297' p1257 S'selD' p1258 sS'STM0851' p1259 S'yliD' p1260 sS'STM0643' p1261 S'cobC' p1262 sS'STM3583' p1263 S'acpT' p1264 sS'STM2328' p1265 S'nuoA' p1266 sS'STM1490' p1267 S'-' sS'STM3862' p1268 S'glmU' p1269 sS'STM3355' p1270 S'-' sS'STM3763' p1271 S'mgtB' p1272 sS'STM0057' p1273 S'-' sS'STM2366' p1274 S'accD' p1275 sS'STM1498' p1276 S'-' sS'STM1945' p1277 S'pgsA' p1278 sS'STM2365' p1279 S'folC' p1280 sS'STM2362' p1281 S'purF' p1282 sS'STM4416' p1283 S'mpl' p1284 sS'STM4451' p1285 S'nrdG' p1286 sS'STM3567' p1287 S'livJ' p1288 sS'STM3665' p1289 S'avtA' p1290 sS'STM0788' p1291 S'hutG' p1292 sS'STM3564' p1293 S'livK' p1294 sS'STM3563' p1295 S'livH' p1296 sS'STM3562' p1297 S'livM' p1298 sS'STM3561' p1299 S'livG' p1300 sS'STM3560' p1301 S'livF' p1302 sS'STM0782' p1303 S'modB' p1304 sS'STM0783' p1305 S'modC' p1306 sS'STM0781' p1307 S'modA' p1308 sS'STM3603' p1309 S'treF' p1310 sS'STM0785' p1311 S'ybhE' p1312 sS'STM4166' p1313 S'nudC' p1314 sS'STM4167' p1315 S'hemE' p1316 sS'STM4164' p1317 S'thiC' p1318 sS'STM4162' p1319 S'thiF' p1320 sS'STM4163' p1321 S'thiE' p1322 sS'STM4160' p1323 S'thiG' p1324 sS'STM4161' p1325 S'-' sS'STM4045' p1326 S'rhaD' p1327 sS'STM4047' p1328 S'rhaB' p1329 sS'STM4046' p1330 S'rhaA' p1331 sS'STM0542' p1332 S'folD' p1333 sS'STM1832' p1334 S'manZ' p1335 sS'STM1831' p1336 S'manY' p1337 sS'STM1830' p1338 S'manX' p1339 sS'STM2960' p1340 S'gudD' p1341 sS'STM2961' p1342 S'ygcY' p1343 sS'STM2962' p1344 S'gudT' p1345 sS'STM0426' p1346 S'phnV' p1347 sS'STM1933' p1348 S'-' sS'STM1426' p1349 S'ribE' p1350 sS'STM1427' p1351 S'cfa' p1352 sS'STM2807' p1353 S'nrdE' p1354 sS'STM1937' p1355 S'tyrP' p1356 sS'STM3614' p1357 S'dctA' p1358 sS'STM4188.S' p1359 S'metH' p1360 sS'STM2489' p1361 S'dapA' p1362 sS'STM4349' p1363 S'yjeQ' p1364 sS'STM2487' p1365 S'purC' p1366 sS'STM2773' p1367 S'iroB' p1368 sS'STM4342' p1369 S'frdB' p1370 sS'STM4343' p1371 S'frdA' p1372 sS'STM4340' p1373 S'frdD' p1374 sS'STM4341' p1375 S'frdC' p1376 sS'STM2641' p1377 S'nadB' p1378 sS'STM3867' p1379 S'atpA' p1380 sS'STM3864' p1381 S'atpC' p1382 sS'STM3865' p1383 S'atpD' p1384 sS'STM2645' p1385 S'yfiK' p1386 sS'STM3861' p1387 S'glmS' p1388 sS'STM2649' p1389 S'trxC' p1390 sS'STM3947' p1391 S'dapF' p1392 sS'STM0420' p1393 S'pgpA' p1394 sS'STM1497' p1395 S'-' sS'STM2565' p1396 S'purG' p1397 sS'STM3868' p1398 S'atpH' p1399 sS'STM3869' p1400 S'atpF' p1401 sS'STM4290' p1402 S'proP' p1403 sS'STM0588' p1404 S'entF' p1405 sS'STM1221' p1406 S'cobB' p1407 sS'STM4294' p1408 S'yjdE' p1409 sS'STM4296' p1410 S'adi' p1411 sS'STM4298' p1412 S'melA' p1413 sS'STM4299' p1414 S'melB' p1415 sS'STM4580.S' p1416 S'nadR' p1417 sS'STM0261' p1418 S'gloB' p1419 sS'STM0309' p1420 S'fadE' p1421 sS'STM1160' p1422 S'solA' p1423 sS'STM1163' p1424 S'pyrC' p1425 sS'STM1165' p1426 S'grxB' p1427 sS'STM0666' p1428 S'lnt' p1429 sS'STM0067' p1430 S'carB' p1431 sS'STM0066' p1432 S'carA' p1433 sS'STM0064' p1434 S'dapB' p1435 sS'STM1105' p1436 S'hpaH' p1437 sS'STM1888' p1438 S'pykA' p1439 sS'STM0061' p1440 S'citF2' p1441 sS'STM0060' p1442 S'citE2' p1443 sS'STM3685' p1444 S'mtlA' p1445 sS'STM0506' p1446 S'tesA' p1447 sS'STM4383.S' p1448 S'ulaA' p1449 sS'STM3051' p1450 S'bglA' p1451 sS'STM2332' p1452 S'-' sS'STM3260' p1453 S'-' sS'STM3261' p1454 S'-' sS'STM2415' p1455 S'gltX' p1456 sS'STM2063' p1457 S'phsC' p1458 sS'STM2026' p1459 S'cbiJ' p1460 sS'STM0628' p1461 S'pagP' p1462 sS'STM1499' p1463 S'-' sS'STM4425' p1464 S'-' sS'STM2098' p1465 S'galF' p1466 sS'STM2499.S' p1467 S'purM' p1468 sS'STM0161' p1469 S'kdgT' p1470 sS'STM0166' p1471 S'speE' p1472 sS'STM4007' p1473 S'glnA' p1474 sS'STM0165' p1475 S'speD' p1476 sS'STM0168' p1477 S'cueO' p1478 sS'STM0169' p1479 S'gcd' p1480 sS'STM1539' p1481 S'-' sS'STM0585' p1482 S'fepA' p1483 sS'STM2062' p1484 S'dacD' p1485 sS'STM4227' p1486 S'malG' p1487 sS'STM0608' p1488 S'ahpC' p1489 sS'STM0760' p1490 S'aroG' p1491 sS'STM4220' p1492 S'lysC' p1493 sS'STM0762' p1494 S'-' sS'STM1764' p1495 S'narG' p1496 sS'STM4584' p1497 S'yjjX' p1498 sS'STM4585' p1499 S'gpmB' p1500 sS'STM1117' p1501 S'agp' p1502 sS'STM4229' p1503 S'malE' p1504 sS'STM4228' p1505 S'malF' p1506 sS'STM4582' p1507 S'slt' p1508 sS'STM0609' p1509 S'ahpF' p1510 sS'STM3009' p1511 S'ygeD' p1512 sS'STM3205' p1513 S'uppP' p1514 sS'STM3924' p1515 S'wecD' p1516 sS'STM2083' p1517 S'rfbK' p1518 sS'STM2393' p1519 S'yfdC' p1520 sS'STM3987' p1521 S'hemG' p1522 sS'STM0840' p1523 S'ybiV(2)' p1524 sS'STM0843' p1525 S'pflF' p1526 sS'STM0842' p1527 S'ybiV(1)' p1528 sS'STM1349' p1529 S'pps' p1530 sS'STM0844' p1531 S'pflE' p1532 sS'STM0847' p1533 S'ybiK' p1534 sS'STM3661' p1535 S'xylA' p1536 sS'STM0849' p1537 S'yliB' p1538 sS'STM0848' p1539 S'yliA' p1540 sS'STM1347' p1541 S'aroH' p1542 sS'STM4066' p1543 S'-' sS'STM1341' p1544 S'btuE' p1545 sS'STM1340' p1546 S'btuC' p1547 sS'STM1342' p1548 S'btuD' p1549 sS'STM0123' p1550 S'murE' p1551 sS'STM3244' p1552 S'tdcB' p1553 sS'STM3091' p1554 S'galP' p1555 sS'STM3090' p1556 S'metK' p1557 sS'STM2862' p1558 S'sitB' p1559 sS'STM3095' p1560 S'gshB' p1561 sS'STM3923' p1562 S'rffH' p1563 sS'STM0441' p1564 S'cyoC' p1565 sS'STM2392' p1566 S'vacJ' p1567 sS'STM1383' p1568 S'ttrA' p1569 sS'STM2095' p1570 S'rfbA' p1571 sS'STM3468' p1572 S'argD' p1573 sS'STM3469' p1574 S'pabA' p1575 sS'STM0113' p1576 S'leuA' p1577 sS'STM0112' p1578 S'leuB' p1579 sS'STM0111' p1580 S'leuC' p1581 sS'STM0110' p1582 S'leuD' p1583 sS'STM1929' p1584 S'otsB' p1585 sS'STM2097' p1586 S'rfbB' p1587 sS'STM3225' p1588 S'ygjU' p1589 sS'STM3134' p1590 S'-' sS'STM3135' p1591 S'-' sS'STM3136' p1592 S'-' sS'STM3137' p1593 S'-' sS'STM3646' p1594 S'yiaE' p1595 sS'STM3922' p1596 S'rffG' p1597 sS'STM3644' p1598 S'bisC' p1599 sS'STM0163' p1600 S'pdxA' p1601 sS'STM2827' p1602 S'alaS' p1603 sS'STM3307' p1604 S'murA' p1605 sS'STM2791' p1606 S'gabD' p1607 sS'STM3486' p1608 S'aroB' p1609 sS'STM1193' p1610 S'fabH' p1611 sS'STM1194' p1612 S'fabD' p1613 sS'STM1195' p1614 S'fabG' p1615 sS'STM1196' p1616 S'acpP' p1617 sS'STM1197' p1618 S'fabF' p1619 sS'STM1198' p1620 S'pabC' p1621 sS'STM2040' p1622 S'pduC' p1623 sS'STM3526' p1624 S'glpD' p1625 sS'STM3525' p1626 S'glpE' p1627 sS'STM4105' p1628 S'metF' p1629 sS'STM1463' p1630 S'add' p1631 sS'STM1464' p1632 S'malY' p1633 sS'STM1465' p1634 S'malX' p1635 sS'STM1467' p1636 S'manA' p1637 sS'STM4122' p1638 S'argB' p1639 sS'STM4123' p1640 S'argH' p1641 sS'STM4120' p1642 S'argE' p1643 sS'STM4121' p1644 S'argC' p1645 sS'STM4126' p1646 S'udhA' p1647 sS'STM1313' p1648 S'celB' p1649 sS'STM4578' p1650 S'serB' p1651 sS'STM1749' p1652 S'adhE' p1653 sS'STM2147' p1654 S'thiM' p1655 sS'STM1299' p1656 S'gdhA' p1657 sS'STM2029' p1658 S'cbiF' p1659 sS'STM2028' p1660 S'cbiG' p1661 sS'STM2141' p1662 S'fbaB' p1663 sS'STM1293' p1664 S'pncA' p1665 sS'STM2024' p1666 S'cbiL' p1667 sS'STM1743' p1668 S'oppD' p1669 sS'STM1742' p1670 S'oppF' p1671 sS'STM1745' p1672 S'oppB' p1673 sS'STM1744' p1674 S'oppC' p1675 sS'STM2023' p1676 S'cbiM' p1677 sS'STM1294' p1678 S'ansA' p1679 sS'STM2356' p1680 S'ubiX' p1681 sS'STM2355' p1682 S'argT' p1683 sS'STM2354' p1684 S'hisJ' p1685 sS'STM2353' p1686 S'hisQ' p1687 sS'STM2352' p1688 S'hisM' p1689 sS'STM2351' p1690 S'hisP' p1691 sS'STM3179' p1692 S'mdaB' p1693 sS'STM0431' p1694 S'phnW' p1695 sS'STM0772' p1696 S'gpmA' p1697 sS'STM3635' p1698 S'yhjW' p1699 sS'STM3829' p1700 S'dgoK' p1701 sS'STM3630' p1702 S'dppA' p1703 sS'STM3822' p1704 S'torA' p1705 sS'STM3823' p1706 S'torC' p1707 sS'STM3827' p1708 S'dgoT' p1709 sS'STM3730' p1710 S'dfp' p1711 sS'STM3731' p1712 S'dut' p1713 sS'STM4016' p1714 S'yshA' p1715 sS'STM1124' p1716 S'putA' p1717 sS'STM3290.S' p1718 S'argG' p1719 sS'STM4398' p1720 S'cycA' p1721 sS'STM0434' p1722 S'apbA' p1723 sS'STM1686' p1724 S'pspE' p1725 sS'STM1680' p1726 S'ycjI' p1727 sS'STM1681' p1728 S'ycjG' p1729 sS'STM0432' p1730 S'phnX' p1731 sS'STM2322' p1732 S'nuoH' p1733 sS'STM1901' p1734 S'aspS' p1735 sS'STM1900' p1736 S'ntpA' p1737 sS'STM2850' p1738 S'hycD' p1739 sS'STM2851' p1740 S'hycC' p1741 sS'STM2852' p1742 S'hycB' p1743 sS'STM2325' p1744 S'nuoE' p1745 sS'STM4221' p1746 S'pgi' p1747 sS'STM1909' p1748 S'argS' p1749 sS'STM1517' p1750 S'ydeD' p1751 sS'STM2285' p1752 S'glpB' p1753 sS'STM1511' p1754 S'ydfG' p1755 sS'STM4403' p1756 S'cpdB' p1757 sS'STM0761' p1758 S'-' sS'STM4279' p1759 S'nrfC' p1760 sS'STM4277' p1761 S'nrfA' p1762 sS'STM4275' p1763 S'acs' p1764 sS'STM0935' p1765 S'poxB' p1766 sS'STM0934' p1767 S'ltaA' p1768 sS'STM2458' p1769 S'eutB' p1770 sS'STM2510' p1771 S'guaA' p1772 sS'STM3915' p1773 S'trxA' p1774 sS'STM3913' p1775 S'gppA' p1776 sS'STM2450' p1777 S'amiA' p1778 sS'STM2451' p1779 S'hemF' p1780 sS'STM2084' p1781 S'rfbM' p1782 sS'STM1765' p1783 S'narK' p1784 sS'STM3918' p1785 S'rfe' p1786 sS'STM3919' p1787 S'wzzE' p1788 sS'STM0234' p1789 S'ldcC' p1790 sS'STM0235' p1791 S'yaeR' p1792 sS'STM0232' p1793 S'accA' p1794 sS'STM3859' p1795 S'aroE' p1796 sS'STM3857' p1797 S'pstS' p1798 sS'STM0607' p1799 S'dsbG' p1800 sS'STM3855' p1801 S'pstA' p1802 sS'STM1620' p1803 S'-' sS'STM4175' p1804 S'purD' p1805 sS'STM3683' p1806 S'selA' p1807 sS'STM0483' p1808 S'apt' p1809 sS'STM4301' p1810 S'dcuB' p1811 sS'STM4306' p1812 S'-' sS'STM4307' p1813 S'-' sS'STM0042' p1814 S'-' sS'STM0489' p1815 S'hemH' p1816 sS'STM0488' p1817 S'adk' p1818 sS'STM0330' p1819 S'-' sS'STM3295' p1820 S'folP' p1821 sS'STM3294' p1822 S'glmM' p1823 sS'STM3856' p1824 S'pstC' p1825 sS'STM3359' p1826 S'mdh' p1827 sS'STM3536' p1828 S'glgC' p1829 sS'STM2543' p1830 S'nifS' p1831 sS'STM3354' p1832 S'-' sS'STM0598' p1833 S'entA' p1834 sS'STM3356' p1835 S'-' sS'STM3351' p1836 S'oadB' p1837 sS'STM3352' p1838 S'oadA' p1839 sS'STM1450' p1840 S'pdxY' p1841 sS'STM2573' p1842 S'-' sS'STM2021' p1843 S'cbiQ' p1844 sS'STM1222' p1845 S'potD' p1846 sS'STM2546' p1847 S'suhB' p1848 sS'STM1220' p1849 S'ycfX' p1850 sS'STM1792' p1851 S'-' sS'STM1226' p1852 S'potA' p1853 sS'STM1225' p1854 S'potB' p1855 sS'STM2232' p1856 S'oafA' p1857 sS'STM1788' p1858 S'-' sS'STM2035' p1859 S'cbiA' p1860 sS'STM1580' p1861 S'narV' p1862 sS'STM3599' p1863 S'-' sS'STM0158' p1864 S'acnB' p1865 sS'STM4570' p1866 S'deoD' p1867 sS'STM3001' p1868 S'thyA' p1869 sS'STM0153' p1870 S'aceF' p1871 sS'STM0152' p1872 S'aceE' p1873 sS'STM0150' p1874 S'aroP' p1875 sS'STM0659' p1876 S'hscC' p1877 sS'STM0154' p1878 S'lpdA' p1879 sS'STM3070' p1880 S'epd' p1881 sS'STM2549' p1882 S'asrB' p1883 sS'STM0055' p1884 S'-' sS'STM0691' p1885 S'-' sS'STM3076' p1886 S'tktA' p1887 sS'STM3078' p1888 S'speB' p1889 sS'STM3173' p1890 S'plsC' p1891 sS'STM0787' p1892 S'hutI' p1893 sS'STM4325' p1894 S'dcuA' p1895 sS'STM1316' p1896 S'celF' p1897 sS'STM0221' p1898 S'uppS' p1899 sS'STM1314' p1900 S'celC' p1901 sS'STM4280' p1902 S'nrfD' p1903 sS'STM1099' p1904 S'hpaB' p1905 sS'STM1098' p1906 S'hpaC' p1907 sS'STM1310' p1908 S'nadE' p1909 sS'STM0732' p1910 S'sdhC' p1911 sS'STM2076' p1912 S'hisA' p1913 sS'STM1384' p1914 S'ttrC' p1915 sS'STM2030' p1916 S'cbiT' p1917 sS'STM1318' p1918 S'katE' p1919 sS'STM3828' p1920 S'dgoA' p1921 sS'STM0690' p1922 S'citB' p1923 sS'STM1579' p1924 S'narW' p1925 sS'STM0222' p1926 S'cdsA' p1927 sS'STM0704' p1928 S'kdpC' p1929 sS'STM1259' p1930 S'-' sS'STM1258' p1931 S'-' sS'STM1257' p1932 S'-' sS'STM1256' p1933 S'-' sS'STM1707' p1934 S'pyrF' p1935 sS'STM1700' p1936 S'fabI' p1937 sS'STM2954' p1938 S'mazG' p1939 sS'STM3598' p1940 S'-' sS'STM2109' p1941 S'gmd' p1942 sS'STM3457' p1943 S'kefB' p1944 sS'STM0735' p1945 S'sdhB' p1946 sS'STM0694' p1947 S'fldA' p1948 sS'STM2101' p1949 S'wcaK' p1950 sS'STM2107' p1951 S'wcaH' p1952 sS'STM2104' p1953 S'cpsG' p1954 sS'STM2022' p1955 S'cbiN' p1956 sS'STM2319' p1957 S'nuoK' p1958 sS'STM2318' p1959 S'nuoL' p1960 sS'STM1891' p1961 S'znuA' p1962 sS'STM1893' p1963 S'znuB' p1964 sS'STM1489' p1965 S'bioD' p1966 sS'STM1954' p1967 S'fliY' p1968 sS'STM4182' p1969 S'metA' p1970 sS'STM2310' p1971 S'menF' p1972 sS'STM4184' p1973 S'aceA' p1974 sS'STM1480' p1975 S'pntB' p1976 sS'STM3390' p1977 S'acrE' p1978 sS'STM3576' p1979 S'zntA' p1980 sS'STM1796' p1981 S'treA' p1982 sS'STM2457' p1983 S'eutC' p1984 sS'STM3391' p1985 S'acrF' p1986 sS'STM3673' p1987 S'yiaO' p1988 sS'STM3672' p1989 S'yiaN' p1990 sS'STM2081' p1991 S'gnd' p1992 sS'STM2080' p1993 S'udg' p1994 sS'STM3677' p1995 S'sgbE' p1996 sS'STM2086' p1997 S'rfbU' p1998 sS'STM3675' p1999 S'sgbH' p2000 sS'STM3674' p2001 S'lyxK' p2002 sS'STM1002' p2003 S'-' sS'STM0965' p2004 S'dmsB' p2005 sS'STM1000' p2006 S'asnC' p2007 sS'STM1004' p2008 S'pncB' p2009 sS'STM1557' p2010 S'-' sS'STM2788' p2011 S'-' sS'STM4050' p2012 S'rhaT' p2013 sS'STM2108' p2014 S'wcaG' p2015 sS'STM4055' p2016 S'sodA' p2017 sS'STM2818' p2018 S'gshA' p2019 sS'STM2077' p2020 S'hisF' p2021 sS'STM2953' p2022 S'pyrG' p2023 sS'STM2952' p2024 S'eno' p2025 sS'STM1824' p2026 S'pabB' p2027 sS'STM2073' p2028 S'hisC' p2029 sS'STM3680' p2030 S'aldB' p2031 sS'STM2071' p2032 S'hisG' p2033 sS'STM2810' p2034 S'proW' p2035 sS'STM2811' p2036 S'proX' p2037 sS'STM2777' p2038 S'iroN' p2039 sS'STM1799' p2040 S'emtA' p2041 sS'STM2078' p2042 S'hisI' p2043 sS'STM2817' p2044 S'luxS' p2045 sS'STM2555' p2046 S'glyA' p2047 sS'STM2554' p2048 S'hcaT' p2049 sS'STM2556' p2050 S'hmpA' p2051 sS'STM2498' p2052 S'upp' p2053 sS'STM1807' p2054 S'dsbB' p2055 sS'STM3671' p2056 S'yiaM' p2057 sS'STM2497' p2058 S'uraA' p2059 sS'STM2559' p2060 S'cadA' p2061 sS'STM2558' p2062 S'cadB' p2063 sS'STM2492' p2064 S'-' sS'STM0683' p2065 S'nagA' p2066 sS'STM2474' p2067 S'tktB' p2068 sS'STM0680' p2069 S'asnB' p2070 sS'STM2793' p2071 S'gabP' p2072 sS'STM2792' p2073 S'gabT' p2074 sS'STM0685' p2075 S'nagE' p2076 sS'STM3700' p2077 S'gpsA' p2078 sS'STM3952' p2079 S'corA' p2080 sS'STM2654' p2081 S'kgtP' p2082 sS'STM2652' p2083 S'pssA' p2084 sS'STM3957' p2085 S'pldA' p2086 sS'STM3709' p2087 S'kbl' p2088 sS'STM3708' p2089 S'tdh' p2090 sS'STM0372' p2091 S'hemB' p2092 sS'STM0371' p2093 S'prpE' p2094 sS'STM0370' p2095 S'prpD' p2096 sS'STM4453' p2097 S'treC' p2098 sS'STM1679' p2099 S'mppA' p2100 sS'STM2196' p2101 S'-' sS'STM3597' p2102 S'gor' p2103 sS'STM2252' p2104 S'ccmC' p2105 sS'STM1076' p2106 S'mgsA' p2107 sS'STM4454' p2108 S'treB' p2109 sS'STM2256' p2110 S'napB' p2111 sS'STM2257' p2112 S'napH' p2113 sS'STM2254' p2114 S'ccmA' p2115 sS'STM2255' p2116 S'napC' p2117 sS'STM0074' p2118 S'caiT' p2119 sS'STM2258' p2120 S'napG' p2121 sS'STM2259' p2122 S'napA' p2123 sS'STM0070' p2124 S'caiD' p2125 sS'STM0071' p2126 S'caiC' p2127 sS'STM0072' p2128 S'caiB' p2129 sS'STM4459' p2130 S'pyrI' p2131 sS'STM4247' p2132 S'alr' p2133 sS'STM0190' p2134 S'mrcB' p2135 sS'STM1291' p2136 S'yeaA' p2137 sS'STM2338' p2138 S'pta' p2139 sS'STM0439' p2140 S'cyoE' p2141 sS'STM3253' p2142 S'gatY' p2143 sS'STM3255' p2144 S'-' sS'STM1928' p2145 S'otsA' p2146 sS'STM4249' p2147 S'aphA' p2148 sS'STM3880' p2149 S'trkD' p2150 sS'STM2421' p2151 S'xapB' p2152 sS'STM0830' p2153 S'glnH' p2154 sS'STM2422' p2155 S'' sS'STM2427' p2156 S'ligA' p2157 sS'STM2050' p2158 S'pduO' p2159 sS'STM1582' p2160 S'nhoA' p2161 sS'STM0877' p2162 S'potF' p2163 sS'STM3929' p2164 S'wecG' p2165 sS'STM3928' p2166 S'wecF' p2167 sS'STM3927' p2168 S'-' sS'STM3747' p2169 S'yicE' p2170 sS'STM3802' p2171 S'dsdA' p2172 sS'STM0194' p2173 S'fhuB' p2174 sS'STM0193' p2175 S'fhuD' p2176 sS'STM0192' p2177 S'fhuC' p2178 sS'STM0191' p2179 S'fhuA' p2180 sS'STM3746' p2181 S'gltS' p2182 sS'STM0618' p2183 S'citT' p2184 sS'STM4233' p2185 S'ubiC' p2186 sS'STM4230' p2187 S'malK' p2188 sS'STM4231' p2189 S'lamB' p2190 sS'STM4236' p2191 S'dgkA' p2192 sS'STM0978' p2193 S'aroA' p2194 sS'STM4234' p2195 S'ubiA' p2196 sS'STM4235' p2197 S'plsB' p2198 sS'STM0207' p2199 S'pfs' p2200 sS'STM0758' p2201 S'ybgR' p2202 sS'STM0977' p2203 S'serC' p2204 sS'STM3883' p2205 S'rbsC' p2206 sS'STM0203' p2207 S'yadQ' p2208 sS'STM0202' p2209 S'hemL' p2210 sS'STM0973' p2211 S'pflB' p2212 sS'STM4305.S' p2213 S'-' sS'STM4183' p2214 S'aceB' p2215 sS'STM3409' p2216 S'trkA' p2217 sS'STM2297' p2218 S'yfbE' p2219 sS'STM2317' p2220 S'nuoM' p2221 sS'STM3407' p2222 S'fmt' p2223 sS'STM1312' p2224 S'celA' p2225 sS'STM4388' p2226 S'sgaE' p2227 sS'STM1103' p2228 S'hpaD' p2229 sS'STM1358' p2230 S'aroD' p2231 sS'STM1359' p2232 S'aroE' p2233 sS'STM3316' p2234 S'yrbI' p2235 sS'STM1786' p2236 S'-' sS'STM0592' p2237 S'fepD' p2238 sS'STM0226' p2239 S'lpxD' p2240 sS'STM1350' p2241 S'ydiD' p2242 sS'STM2646' p2243 S'yfiD' p2244 sS'STM0591' p2245 S'fepG' p2246 sS'STM0999' p2247 S'ompF' p2248 sS'STM0998' p2249 S'aspC' p2250 sS'STM1627' p2251 S'-' sS'STM0590' p2252 S'fepC' p2253 sS'STM3086' p2254 S'speA' p2255 sS'STM0597' p2256 S'entB' p2257 sS'STM1135' p2258 S'ycdW' p2259 sS'STM0472' p2260 S'maa' p2261 sS'STM2094' p2262 S'rfbC' p2263 sS'STM0401' p2264 S'malZ' p2265 sS'STM0106' p2266 S'thiQ' p2267 sS'STM0107' p2268 S'thiP' p2269 sS'STM3314' p2270 S'yrbG' p2271 sS'STM3315' p2272 S'yrbH' p2273 sS'STM0102' p2274 S'araA' p2275 sS'STM0039' p2276 S'nhaA' p2277 sS'STM0046' p2278 S'ileS' p2279 sS'STM0108' p2280 S'tbpA' p2281 sS'STM4567' p2282 S'deoC' p2283 sS'STM3103' p2284 S'yggV' p2285 sS'STM0402' p2286 S'-' sS'STM3106' p2287 S'ansB' p2288 sS'STM2047' p2289 S'pduL' p2290 sS'STM2044' p2291 S'pduH' p2292 sS'STM2043' p2293 S'pduG' p2294 sS'STM2042' p2295 S'pduE' p2296 sS'STM1223' p2297 S'potC' p2298 sS'STM4387' p2299 S'sgaU' p2300 sS'STM3538' p2301 S'glgB' p2302 sS'STM3539' p2303 S'asd' p2304 sS'STM2298' p2305 S'pmrF' p2306 sS'STM2082' p2307 S'rfbP' p2308 sS'STM0535' p2309 S'lpxH' p2310 sS'STM0534' p2311 S'purE' p2312 sS'STM0537' p2313 S'cysS' p2314 sS'STM2299' p2315 S'yfbG' p2316 sS'STM3534' p2317 S'glgP' p2318 sS'STM3535' p2319 S'glgA' p2320 sS'STM0533' p2321 S'purK' p2322 sS'STM3537' p2323 S'glgX' p2324 sS'STM1756' p2325 S'purU' p2326 sS'STM2775' p2327 S'iroD' p2328 sS'STM2916' p2329 S'ygbL' p2330 sS'STM1752' p2331 S'galU' p2332 sS'STM3885' p2333 S'rbsK' p2334 sS'STM1750' p2335 S'tdk' p2336 sS'STM1326' p2337 S'pfkB' p2338 sS'STM0645' p2339 S'nadD' p2340 sS'STM1288' p2341 S'-' sS'STM0644' p2342 S'cobD' p2343 sS'STM2085' p2344 S'rfbN' p2345 sS'STM2032' p2346 S'cbiD' p2347 sS'STM2033' p2348 S'cbiC' p2349 sS'STM0134' p2350 S'lpxC' p2351 sS'STM2031' p2352 S'cbiE' p2353 sS'STM3039' p2354 S'idi' p2355 sS'STM2037' p2356 S'pduF' p2357 sS'STM2034' p2358 S'cobD' p2359 sS'STM3925' p2360 S'wecE' p2361 sS'STM2340' p2362 S'-' sS'STM2341' p2363 S'-' sS'STM4469' p2364 S'argI' p2365 sS'STM1576' p2366 S'narU' p2367 sS'STM4467' p2368 S'-' sS'STM4466' p2369 S'-' sS'STM4465' p2370 S'-' sS'STM2260' p2371 S'napD' p2372 sS'STM2267' p2373 S'ompC' p2374 sS'STM1333' p2375 S'thrS' p2376 sS'STM4460' p2377 S'pyrB' p2378 sS'STM1269' p2379 S'-' sS'STM3626' p2380 S'dppF' p2381 sS'STM3627' p2382 S'dppD' p2383 sS'STM3305' p2384 S'ispB' p2385 sS'STM3333' p2386 S'codB' p2387 sS'STM3742' p2388 S'spoT' p2389 sS'STM3740' p2390 S'gmk' p2391 sS'STM3628' p2392 S'dppC' p2393 sS'STM3629' p2394 S'dppB' p2395 sS'STM4063' p2396 S'sbp' p2397 sS'STM4062' p2398 S'pfkA' p2399 sS'STM4061' p2400 S'fieF' p2401 sS'STM2295' p2402 S'yfaO' p2403 sS'STM4115' p2404 S'pflC' p2405 sS'STM3481' p2406 S'trpS' p2407 sS'STM4064' p2408 S'ushB' p2409 sS'STM4382' p2410 S'yjfR' p2411 sS'STM0122' p2412 S'ftsI' p2413 sS'STM0403' p2414 S'yajB' p2415 sS'STM4114' p2416 S'pflD' p2417 sS'STM4386' p2418 S'ulaD' p2419 sS'STM3529' p2420 S'gldA' p2421 sS'STM4384' p2422 S'sgaB' p2423 sS'STM4385' p2424 S'ptxA' p2425 sS'STM2861' p2426 S'sitA' p2427 sS'STM2863' p2428 S'sitC' p2429 sS'STM3487' p2430 S'aroK' p2431 sS'STM4414' p2432 S'ppa' p2433 sS'STM0054' p2434 S'-' sS'STM2930' p2435 S'ispD' p2436 sS'STM4559.S' p2437 S'yjjG' p2438 sS'STM1522' p2439 S'ydeA' p2440 sS'STM1525' p2441 S'yneH' p2442 sS'STM4119' p2443 S'ppc' p2444 sS'STM2683' p2445 S'ppnK' p2446 sS'STM4415' p2447 S'fbp' p2448 s.cobrapy-0.4.0b6/cobra/test/data/salmonella.media000066400000000000000000000110531263606473700215260ustar00rootroot00000000000000ccollections defaultdict p1 (c__builtin__ dict p2 tRp3 S'LB' p4 (dp5 S'EX_ser__L_e' p6 F-5 sS'EX_dcyt_e' p7 F-5 sS'EX_hg2_e' p8 F-1000 sS'EX_ins_e' p9 F-5 sS'EX_cd2_e' p10 F-1000 sS'EX_nac_e' p11 F-5 sS'EX_tungs_e' p12 F-1000 sS'EX_glu__L_e' p13 F-5 sS'EX_trp__L_e' p14 F-5 sS'EX_h_e' p15 F-100 sS'EX_mobd_e' p16 F-1000 sS'EX_val__L_e' p17 F-5 sS'EX_cobalt2_e' p18 F-1000 sS'EX_so4_e' p19 F-1000 sS'EX_co2_e' p20 F-1000 sS'EX_k_e' p21 F-1000 sS'EX_cu2_e' p22 F-1000 sS'EX_zn2_e' p23 F-1000 sS'EX_na1_e' p24 F-1000 sS'EX_cl_e' p25 F-1000 sS'EX_leu__L_e' p26 F-5 sS'EX_arg__L_e' p27 F-5 sS'EX_pnto__R_e' p28 F-5 sS'EX_lys__L_e' p29 F-5 sS'EX_ala__L_e' p30 F-5 sS'EX_cbl1_e' p31 F-0.01 sS'EX_thr__L_e' p32 F-5 sS'EX_fe3_e' p33 F-1000 sS'EX_adn_e' p34 F-5 sS'EX_pi_e' p35 F-1000 sS'EX_thymd_e' p36 F-5 sS'EX_mn2_e' p37 F-1000 sS'EX_phe__L_e' p38 F-5 sS'EX_ura_e' p39 F-5 sS'EX_dad__2_e' p40 F-5 sS'EX_h2o_e' p41 F-100 sS'EX_aso3_e' p42 F-1000 sS'EX_hxan_e' p43 F-5 sS'EX_glc__D_e' p44 F-5 sS'EX_uri_e' p45 F-5 sS'EX_his__L_e' p46 F-5 sS'EX_o2_e' p47 F-18.5 sS'EX_pro__L_e' p48 F-5 sS'EX_asp__L_e' p49 F-5 sS'EX_gly_e' p50 F-5 sS'EX_fe2_e' p51 F-1000 sS'EX_ca2_e' p52 F-1000 sS'EX_mg2_e' p53 F-1000 sS'EX_cysi__L_e' p54 F-5 sS'EX_tyr__L_e' p55 F-5 sS'EX_met__L_e' p56 F-5 sS'EX_ile__L_e' p57 F-5 ssS'Host' p58 (dp59 g7 F-5 sS'EX_melib_e' p60 F-5 sg9 F-5 sg18 F-10 sS'EX_dmso_e' p61 F-1000 sS'EX_acnam_e' p62 F-5 sS'EX_thm_e' p63 F-5 sS'EX_glcn_e' p64 F-5 sg45 F-5 sS'EX_rib__D_e' p65 F-5 sg12 F-10 sS'EX_malt_e' p66 F-5 sg13 F-5 sS'EX_arab__L_e' p67 F-5 sS'EX_12ppd__S_e' p68 F-5 sg15 F-100 sg16 F-10 sS'EX_mnl_e' p69 F-5 sg53 F-10 sg19 F-1000 sg20 F-1000 sS'EX_glcr_e' p70 F-5 sg21 F-10 sg22 F-10 sg24 F-1000 sg31 F-0.01 sg25 F-1000 sS'EX_sbt__D_e' p71 F-5 sg27 F-5 sg28 F-5 sg29 F-5 sS'EX_fuc__L_e' p72 F-5 sg30 F-5 sS'EX_csn_e' p73 F-5 sS'EX_gal_e' p74 F-5 sS'EX_crn_e' p75 F-5 sS'EX_no3_e' p76 F-1000 sg32 F-5 sg33 F-10 sg34 F-5 sg35 F-1000 sS'EX_glcur_e' p77 F-5 sg36 F-5 sg37 F-10 sS'EX_etha_e' p78 F-5 sS'EX_galt_e' p79 F-5 sg39 F-5 sg40 F-5 sS'EX_gsn_e' p80 F-5 sg41 F-100 sg43 F-5 sg44 F-5 sS'EX_galct__D_e' p81 F-5 sg46 F-5 sg56 F-5 sg47 F-18.5 sS'EX_asn__L_e' p82 F-5 sg48 F-5 sS'EX_acgam_e' p83 F-5 sS'EX_so3_e' p84 F-1000 sS'EX_cys__L_e' p85 F-5 sS'EX_rmn_e' p86 F-5 sg52 F-10 sg17 F-5 sS'EX_man_e' p87 F-5 sg23 F-10 sg26 F-5 sS'EX_fru_e' p88 F-5 sg51 F-10 sS'EX_alltn_e' p89 F-5 sS'EX_galctn__D_e' p90 F-5 sg57 F-5 ssS'M9' p91 (dp92 g18 F-1000 sg12 F-1000 sg15 F-100 sg16 F-1000 sg53 F-1000 sg19 F-1000 sg20 F-1000 sg21 F-1000 sg33 F-1000 sg24 F-1000 sg25 F-1000 sg22 F-1000 sS'EX_nh4_e' p93 F-1000 sg51 F-1000 sg31 F-0.01 sg35 F-1000 sg37 F-1000 sg41 F-100 sg44 F-5 sg47 F-18.5 sg52 F-1000 sg23 F-1000 ssS'LPM' p94 (dp95 S'EX_ca2_e' p96 F-0.0050000000000000001 sS'EX_cit_e' p97 F-0.00050000000000000001 sS'EX_h_e' p98 I-100 sS'EX_mobd_e' p99 F-0.0050000000000000001 sS'EX_o2_e' p100 F-18.5 sS'EX_cobalt2_e' p101 F-0.0050000000000000001 sS'EX_mg2_e' p102 F-0.0080000000000000002 sS'EX_thm_e' p103 F-2.9649835443413292e-08 sS'EX_so4_e' p104 F-1 sS'EX_glyc_e' p105 F-41.046802041481158 sS'EX_co2_e' p106 F-18.5 sS'EX_pi_e' p107 F-0.33700000000000002 sS'EX_k_e' p108 F-6 sS'EX_cu2_e' p109 F-0.0050000000000000001 sS'EX_cl_e' p110 F-5.016 sS'EX_zn2_e' p111 F-0.0050000000000000001 sS'EX_h2o_e' p112 I-1000 sS'EX_nh4_e' p113 F-15 sS'EX_mn2_e' p114 F-0.0050000000000000001 sS'EX_fe3_e' p115 F-0.0050000000000000001 ssS'MgM' p116 (dp117 S'EX_ser__L_e' p118 F-0.3115 sS'EX_cobalt2_e' p119 F-0.01 sS'EX_pro__L_e' p120 F-0.61850000000000005 sS'EX_glu__L_e' p121 F-0.80200000000000005 sS'EX_glyc_e' p122 F-38 sS'EX_h_e' p123 I-100 sS'EX_mobd_e' p124 F-0.01 sS'EX_val__L_e' p125 F-0.29999999999999999 sS'EX_so4_e' p126 F-8 sS'EX_co2_e' p127 F-18.5 sS'EX_k_e' p128 F-7.0026855387574392 sS'EX_fe3_e' p129 F-0.01 sS'EX_na1_e' p130 F-0.55198392330511803 sS'EX_cl_e' p131 F-5.6458532974921516 sS'EX_leu__L_e' p132 F-0.4385 sS'EX_arg__L_e' p133 F-0.1135 sS'EX_nh4_e' p134 F-0.35449999999999998 sS'EX_lys__L_e' p135 F-0.32450000000000001 sS'EX_ala__L_e' p136 F-0.22 sS'EX_thr__L_e' p137 F-0.20849999999999999 sS'EX_pi_e' p138 F-1 sS'EX_mn2_e' p139 F-0.01 sS'EX_phe__L_e' p140 F-0.045499999999999999 sS'EX_h2o_e' p141 I-1000 sS'EX_his__L_e' p142 F-0.097000000000000003 sS'EX_o2_e' p143 F-18.5 sS'EX_tyr__L_e' p144 F-0.0035000000000000001 sS'EX_asp__L_e' p145 F-0.32850000000000001 sS'EX_gly_e' p146 F-0.1555 sS'EX_cys__L_e' p147 F-0.014500000000000001 sS'EX_cu2_e' p148 F-0.01 sS'EX_ca2_e' p149 F-0.0020709616248315785 sS'EX_mg2_e' p150 F-0.0080983336761983136 sS'EX_zn2_e' p151 F-0.01 sS'EX_met__L_e' p152 F-0.1125 sS'EX_ile__L_e' p153 F-0.19600000000000001 ss.cobrapy-0.4.0b6/cobra/test/data/salmonella.pickle000066400000000000000000055016641263606473700217370ustar00rootroot00000000000000ccobra.core.Model Model q)q}q(U reactionsqccobra.core.DictList DictList q)q(ccobra.core.Reaction Reaction q)q}q (U subsystemq UTransport Inner Membraneq U _metabolitesq }q (ccobra.core.Metabolite Metabolite q)q}q(U_modelqNUmnx_idqNUnameqU*1-2-Diacyl-sn-glycerol-didodecanoyl-n-C120qUnotesq}q(UCHEBI]qU17815qaUKEGG]qUC00641qaUPUBCHEM]qU3914qauUidqU 12dgr120_pqU_constraint_senseqUEUchargeq KU_boundq!GUformulaq"ccobra.core.Formula Formula q#)q$}q%(hNh"UC27H52O5q&h}q'U annotationq(}q)Uelementsq*}q+(UHK4UCKUOKuhh&ubU compartmentq,Uph(}q-U _reactionq.c__builtin__ set q/]Rq0ubGh)q1}q2(hNhNhU*1-2-Diacyl-sn-glycerol-didodecanoyl-n-C120q3h}q4(UCHEBI]q5U17815q6aUKEGG]q7UC00641q8aUPUBCHEM]q9U3914q:auhU 12dgr120_cq;hUEh Kh!Gh"h#)q<}q=(hNh"UC27H52O5q>h}q?h(}q@h*}qA(UHK4UCKUOKuhh>ubh,Uch(}qBh.h/]RqCubG?uhNhUH1 2 diacylglycerol transport via flipping periplasm to cytoplasm n C120 qDU upper_boundqEG@@U lower_boundqFGh}qGU_genesqHh/]RqIhU 12DGR120tippqJUobjective_coefficientqKGU variable_kindqLU continuousqMhNU_gene_reaction_ruleqNUh(}qOU reflectionqPNubh)qQ}qR(h UTransport Inner MembraneqSh }qT(h)qU}qV(hNhNhU-1-2-Diacyl-sn-glycerol-ditetradecanoyl-n-C140qWh}qX(UCHEBI]qYU17815qZaUKEGG]q[UC00641q\aUPUBCHEM]q]U3914q^auhU 12dgr140_cq_hUEh Kh!Gh"h#)q`}qa(hNh"UC31H60O5qbh}qch(}qdh*}qe(UHKh }r?(h)r@}rA(hNhNhU01-2-Diacyl-sn-glycerol-dioctadec-11-enoyl-n-C181rBh}rC(UCHEBI]rDU17815rEaUKEGG]rFUC00641rGaUPUBCHEM]rHU3914rIauhU 12dgr181_crJhUEh Kh!Gh"h#)rK}rL(hNh"UC39H72O5rMh}rNh(}rOh*}rP(UHKHUCK'UOKuhjMubh,Uch(}rQh.h/]RrRubG?h)rS}rT(hNhNhU01-2-Diacyl-sn-glycerol-dioctadec-11-enoyl-n-C181rUh}rV(UCHEBI]rWU17815rXaUKEGG]rYUC00641rZaUPUBCHEM]r[U3914r\auhU 12dgr181_pr]hUEh Kh!Gh"h#)r^}r_(hNh"UC39H72O5r`h}rah(}rbh*}rc(UHKHUCK'UOKuhj`ubh,Uph(}rdh.h/]RreubGuhNhUH1 2 diacylglycerol transport via flipping periplasm to cytoplasm n C181 rfhEG@@hFGh}rghHh/]RrhhU 12DGR181tipprihKGhLhMhNhNUh(}rjhPNubh)rk}rl(h UTransport Outer Membrane Porinrmh }rn(h)ro}rp(hNhNhUR-Propane-1-2-diolrqh}rr(UCHEBI]rsU28972rtaUKEGG]ruUC02912rvaUPUBCHEM]rwU5836rxauhU 12ppd__R_eryhUEh Kh!Gh"h#)rz}r{(hNh"UC3H8O2r|h}r}h(}r~h*}r(UHKUCKUOKuhj|ubh,Ueh(}rh.h/]RrubGh)r}r(hNhNhUR-Propane-1-2-diolrh}r(UCHEBI]rU28972raUKEGG]rUC02912raUPUBCHEM]rU5836rauhU 12ppd__R_prhUEh Kh!Gh"h#)r}r(hNh"UC3H8O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}rh.h/]RrubG?uhNhUG R Propane 1 2 diol transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(ccobra.core.Gene Gene r)r}r(hNU locus_startrKhNhUompFrh}rU functionalrhUSTM0999rh Nh"NU locus_endrKh,Nh(}rUstrandrU+h.h/]Rrubj)r}r(hNjKhNhUompNrh}rjhUSTM1473rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUphoErh}rjhUSTM0320rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUompCrh}rjhUSTM2267rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU 12PPDRtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUR-Propane-1-2-diolrh}r(UCHEBI]rU28972raUKEGG]rUC02912raUPUBCHEM]rU5836rauhU 12ppd__R_crhUEh Kh!Gh"h#)r}r(hNh"UC3H8O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?jGuhNhU4 R Propane 1 2 diol facilitated transport periplasm rhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUpduFrh}rjhUSTM2037rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU 12PPDRtpprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUS-Propane-1-2-diolrh}r(UCHEBI]rU29002raUKEGG]rUC02917raUPUBCHEM]rU5840rauhU 12ppd__S_erhUEh Kh!Gh"h#)r}r(hNh"UC3H8O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Ueh(}rh.h/]RrubGh)r}r(hNhNhUS-Propane-1-2-diolrh}r(UCHEBI]rU29002raUKEGG]rUC02917raUPUBCHEM]rU5840rauhU 12ppd__S_prhUEh Kh!Gh"h#)r}r(hNh"UC3H8O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}r h.h/]Rr ubG?uhNhUG S Propane 1 2 diol transport via diffusion extracellular to periplasm r hEG@@hFG@h}r hHh/]r (jjjjeRrhU 12PPDStexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGh)r}r(hNhNhUS-Propane-1-2-diolrh}r(UCHEBI]rU29002raUKEGG]rUC02917raUPUBCHEM]rU5840rauhU 12ppd__S_cr hUEh Kh!Gh"h#)r!}r"(hNh"UC3H8O2r#h}r$h(}r%h*}r&(UHKUCKUOKuhj#ubh,Uch(}r'h.h/]Rr(ubG?uhNhU4 S Propane 1 2 diol facilitated transport periplasm r)hEG@@hFG@h}r*hHh/]r+jaRr,hU 12PPDStppr-hKGhLhMhNhNUSTM2037r.h(}r/hPNubh)r0}r1(h UTransport Inner Membraner2h }r3(h)r4}r5(hNhNhUADPr6h}r7(UCHEBI]r8U16761r9aUKEGG]r:UC00008r;aUPUBCHEM]r<U3310r=auhUadp_cr>hUEh Jh!Gh"h#)r?}r@(hNh"U C10H12N5O10P2rAh}rBh(}rCh*}rD(UHK UCK UPKUOK UNKuhjAubh,Uch(}rEh.h/]RrFubG?h)rG}rH(hNhNhUATPrIh}rJ(UCHEBI]rKU15422rLaUKEGG]rMUC00002rNaUPUBCHEM]rOU3304rPauhUatp_crQhUEh Jh!Gh"h#)rR}rS(hNh"U C10H12N5O13P3rTh}rUh(}rVh*}rW(UHK UCK UPKUOK UNKuhjTubh,Uch(}rXh.h/]RrYubGh)rZ}r[(hNhNhUH2Or\h}r](UCHEBI]r^U15377r_aUKEGG]r`UC00001raaUPUBCHEM]rbU3303rcauhUh2o_crdhUEh Kh!Gh"h#)re}rf(hNh"UH2Orgh}rhh(}rih*}rj(UHKUOKuhjgubh,Uch(}rkh.h/]RrlubGh)rm}rn(hNhNhU1-4-alpha-D-glucanroh}rp(UCHEBI]rqU0aUKEGG]rrUC00912rsaUPUBCHEM]rtU0auhU 14glucan_pruhUEh Kh!Gh"h#)rv}rw(hNh"U C36H62O31rxh}ryh(}rzh*}r{(UHK>UCK$UOKuhjxubh,Uph(}r|h.h/]Rr}ubGh)r~}r(hNhNhU1-4-alpha-D-glucanrh}r(UCHEBI]rU0aUKEGG]rUC00912raUPUBCHEM]rU0auhU 14glucan_crhUEh Kh!Gh"h#)r}r(hNh"U C36H62O31rh}rh(}rh*}r(UHK>UCK$UOKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhUHh}r(UCHEBI]rU15378raUKEGG]rUC00080raUPUBCHEM]rU3380rauhUh_crhUEh Kh!Gh"h#)r}r(hNh"UHh}rh(}rh*}rUHKshUHubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU Phosphaterh}r(UCHEBI]rU18367raUKEGG]rUC00009raUPUBCHEM]rU3311rauhUpi_crhUEh Jh!Gh"h#)r}r(hNh"UHO4Prh}rh(}rh*}r(UHKUOKUPKuhjubh,Uch(}rh.h/]RrubG?uhNhU61 4 alpha D glucan transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUmalFrh}rjhUSTM4228rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUmalGrh}rjhUSTM4227rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUmalErh}rjhUSTM4229rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUmalKrh}rjhUSTM4230rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU 14GLUCANabcpprhKGhLhMhNhNU5( STM4229 and STM4228 and STM4227 and STM4230 )rh(}rhPNubh)r}r(h UTransport Outer Membranerh }r(h)r}r(hNhNhU1-4-alpha-D-glucanrh}r(UCHEBI]rU0aUKEGG]rUC00912raUPUBCHEM]rU0auhU 14glucan_erhUEh Kh!Gh"h#)r}r(hNh"U C36H62O31rh}rh(}rh*}r(UHK>UCK$UOKuhjubh,Ueh(}rh.h/]RrubGjmG?uhNhUR1 4 alpha D glucan transport via diffusion extracellular to periplasm irreversiblerhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUlamBrh}rjhUSTM4231rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU 14GLUCANtexirhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhU2-3-Cyclic-AMPrh}r(UCHEBI]rU0aUKEGG]rUC02353raUPUBCHEM]rU5400rauhU23camp_erhUEh Jh!Gh"h#)r}r(hNh"U C10H11N5O6Prh}r h(}r h*}r (UHK UCK UPKUOKUNKuhjubh,Ueh(}r h.h/]Rr ubGh)r}r(hNhNhU2-3-Cyclic-AMPrh}r(UCHEBI]rU0aUKEGG]rUC02353raUPUBCHEM]rU5400rauhU23camp_prhUEh Jh!Gh"h#)r}r(hNh"U C10H11N5O6Prh}rh(}rh*}r(UHK UCK UPKUOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhU:23cAMP transport via diffusion extracellular to periplasm r hEG@@hFG@h}r!hHh/]r"(jjjjeRr#hU 23CAMPtexr$hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r%h(}r&hPNubh)r'}r((h UTransport Outer Membrane Porinr)h }r*(h)r+}r,(hNhNhU2-3-Cyclic-CMPr-h}r.(UCHEBI]r/U0aUKEGG]r0UC02354r1aUPUBCHEM]r2U5401r3auhU23ccmp_er4hUEh Jh!Gh"h#)r5}r6(hNh"U C9H11N3O7Pr7h}r8h(}r9h*}r:(UHK UCK UPKUOKUNKuhj7ubh,Ueh(}r;h.h/]Rr<ubGh)r=}r>(hNhNhU2-3-Cyclic-CMPr?h}r@(UCHEBI]rAU0aUKEGG]rBUC02354rCaUPUBCHEM]rDU5401rEauhU23ccmp_prFhUEh Jh!Gh"h#)rG}rH(hNh"U C9H11N3O7PrIh}rJh(}rKh*}rL(UHK UCK UPKUOKUNKuhjIubh,Uph(}rMh.h/]RrNubG?uhNhU:23cCMP transport via diffusion extracellular to periplasm rOhEG@@hFG@h}rPhHh/]rQ(jjjjeRrRhU 23CCMPtexrShKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rTh(}rUhPNubh)rV}rW(h UTransport Outer Membrane PorinrXh }rY(h)rZ}r[(hNhNhU2-3-Cyclic-GMPr\h}r](UCHEBI]r^U0aUKEGG]r_UC06194r`aUPUBCHEM]raU8444rbauhU23cgmp_erchUEh Jh!Gh"h#)rd}re(hNh"U C10H11N5O7Prfh}rgh(}rhh*}ri(UHK UCK UPKUOKUNKuhjfubh,Ueh(}rjh.h/]RrkubGh)rl}rm(hNhNhU2-3-Cyclic-GMPrnh}ro(UCHEBI]rpU0aUKEGG]rqUC06194rraUPUBCHEM]rsU8444rtauhU23cgmp_pruhUEh Jh!Gh"h#)rv}rw(hNh"U C10H11N5O7Prxh}ryh(}rzh*}r{(UHK UCK UPKUOKUNKuhjxubh,Uph(}r|h.h/]Rr}ubG?uhNhU:23cGMP transport via diffusion extracellular to periplasm r~hEG@@hFG@h}rhHh/]r(jjjjeRrhU 23CGMPtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhU2-3-Cyclic-UMPrh}r(UCHEBI]rU0aUKEGG]rUC02355raUPUBCHEM]rU5402rauhU23cump_prhUEh Jh!Gh"h#)r}r(hNh"U C9H10N2O8Prh}rh(}rh*}r(UHK UCK UPKUOKUNKuhjubh,Uph(}rh.h/]RrubG?h)r}r(hNhNhU2-3-Cyclic-UMPrh}r(UCHEBI]rU0aUKEGG]rUC02355raUPUBCHEM]rU5402rauhU23cump_erhUEh Jh!Gh"h#)r}r(hNh"U C9H10N2O8Prh}rh(}rh*}r(UHK UCK UPKUOKUNKuhjubh,Ueh(}rh.h/]RrubGuhNhU:23cUMP transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU 23CUMPtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU2-3-diaminopropionaterh}r(UCHEBI]rU18383raUKEGG]rUC06393raUPUBCHEM]rU8629rauhU 23dappa_prhUEh Kh!Gh"h#)r}r(hNh"UC3H9N2O2rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uph(}rh.h/]RrubGh)r}r(hNhNhUHh}r(UCHEBI]rU15378raUKEGG]rUC00080raUPUBCHEM]rU3380rauhUh_prhUEh Kh!Gh"h#)r}r(hNh"UHh}rh(}rh*}rUHKshUHubh,Uph(}rh.h/]RrubGh)r}r(hNhNhU2-3-diaminopropionaterh}r(UCHEBI]rU18383raUKEGG]rUC06393raUPUBCHEM]rU8629rauhU 23dappa_crhUEh Kh!Gh"h#)r}r(hNh"UC3H9N2O2rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?uhNhU52 3 diaminopropionate transport in via proton symportrhEG@@hFGh}rhHh/]RrhU 23DAPPAt2pprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?h)r}r(hNhNhU2-3-diaminopropionaterh}r(UCHEBI]rU18383raUKEGG]rUC06393raUPUBCHEM]rU8629rauhU 23dappa_erhUEh Kh!Gh"h#)r}r(hNh"UC3H9N2O2rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Ueh(}r h.h/]Rr ubGuhNhU-2 3 diaminopropionate transport via diffusionr hEG@@hFG@h}r hHh/]r (jjjjeRrhU 23DAPPAtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jGjG?h)r}r(hNhNhU3-UMPrh}r(UCHEBI]rU28895raUKEGG]rUC01368raUPUBCHEM]rU4567rauhU3ump_pr hUEh Jh!Gh"h#)r!}r"(hNh"U C9H11N2O9Pr#h}r$h(}r%h*}r&(UHK UCK UPKUOK UNKuhj#ubh,Uph(}r'h.h/]Rr(ubG?h)r)}r*(hNhNhUH2Or+h}r,(UCHEBI]r-U15377r.aUKEGG]r/UC00001r0aUPUBCHEM]r1U3303r2auhUh2o_pr3hUEh Kh!Gh"h#)r4}r5(hNh"UH2Or6h}r7h(}r8h*}r9(UHKUOKuhj6ubh,Uph(}r:h.h/]Rr;ubGuhNhU72 3 cyclic nucleotide phosphodiesterase UMP periplasm r<hEG@@hFGh}r=hHh/]r>j)r?}r@(hNjKhNhUcpdBrAh}rBjhUSTM4403rCh Nh"NjKh,Nh(}rDjU+h.h/]RrEubaRrFhU23PDE2pprGhKGhLhMhNhNjCh(}rHhPNubh)rI}rJ(h UNucleotide Salvage PathwayrKh }rL(j)GjG?h)rM}rN(hNhNhU3-cmprOh}rP(UCHEBI]rQU0aUKEGG]rRUC05822rSaUPUBCHEM]rTU8117rUauhU3cmp_prVhUEh Jh!Gh"h#)rW}rX(hNh"U C9H12N3O8PrYh}rZh(}r[h*}r\(UHK UCK UPKUOKUNKuhjYubh,Uph(}r]h.h/]Rr^ubG?j=GuhNhU72 3 cyclic nucleotide phosphodiesterase CMP periplasm r_hEG@@hFGh}r`hHh/]raj?aRrbhU23PDE4pprchKGhLhMhNhNUSTM4403rdh(}rehPNubh)rf}rg(h UNucleotide Salvage Pathwayrhh }ri(h)rj}rk(hNhNhU3-AMPrlh}rm(UCHEBI]rnU28931roaUKEGG]rpUC01367rqaUPUBCHEM]rrU4566rsauhU3amp_prthUEh Jh!Gh"h#)ru}rv(hNh"U C10H12N5O7Prwh}rxh(}ryh*}rz(UHK UCK UPKUOKUNKuhjwubh,Uph(}r{h.h/]Rr|ubG?jG?j)GjGuhNhU72 3 cyclic nucleotide phosphodiesterase AMP periplasm r}hEG@@hFGh}r~hHh/]rj?aRrhU23PDE7pprhKGhLhMhNhNUSTM4403rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(h)r}r(hNhNhU3-GMPrh}r(UCHEBI]rU0aUKEGG]rUC06193raUPUBCHEM]rU8443rauhU3gmp_prhUEh Jh!Gh"h#)r}r(hNh"U C10H12N5O8Prh}rh(}rh*}r(UHK UCK UPKUOKUNKuhjubh,Uph(}rh.h/]RrubG?j)GjlGjG?uhNhU72 3 cyclic nucleotide phosphodiesterase GMP periplasm rhEG@@hFGh}rhHh/]rj?aRrhU23PDE9pprhKGhLhMhNhNUSTM4403rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUmeso-2-6-Diaminoheptanedioaterh}r(UCHEBI]rU 16488 30308raUKEGG]rUC00680raUPUBCHEM]rU3949rauhU 26dap__M_erhUEh Kh!Gh"h#)r}r(hNh"U C7H14N2O4rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Ueh(}rh.h/]RrubGh)r}r(hNhNhUmeso-2-6-Diaminoheptanedioaterh}r(UCHEBI]rU 16488 30308raUKEGG]rUC00680raUPUBCHEM]rU3949rauhU 26dap__M_prhUEh Kh!Gh"h#)r}r(hNh"U C7H14N2O4rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhUQmeso 2 6 Diaminoheptanedioate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU26DAHtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU$2-dodecanoyl-sn-glycerol-3-phosphaterh}r(UCHEBI]rU0aUKEGG]rUC03974raUPUBCHEM]rU6693rauhU 2ddecg3p_crhUEh Jh!Gh"h#)r}r(hNh"U C15H30O7P1rh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU$2-dodecanoyl-sn-glycerol-3-phosphaterh}r(UCHEBI]rU0aUKEGG]rUC03974raUPUBCHEM]rU6693rauhU 2ddecg3p_prhUEh Jh!Gh"h#)r}r(hNh"U C15H30O7P1rh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Uph(}rh.h/]RrubGuhNhUY2 Acyl sn glycero 3 phosphatidate n C120 transporter via facilitated diffusion periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUygeDrh}rjhUSTM3009rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU 2AGPA120tipprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membraner h }r (h)r }r (hNhNhU'2-tetradecanoyl-sn-glycerol-3-phosphater h}r(UCHEBI]rU0aUKEGG]rUC03974raUPUBCHEM]rU6693rauhU 2tdecg3p_prhUEh Jh!Gh"h#)r}r(hNh"U C17H34O7P1rh}rh(}rh*}r(UHK"UCKUOKUPKuhjubh,Uph(}rh.h/]RrubGh)r}r(hNhNhU'2-tetradecanoyl-sn-glycerol-3-phosphaterh}r (UCHEBI]r!U0aUKEGG]r"UC03974r#aUPUBCHEM]r$U6693r%auhU 2tdecg3p_cr&hUEh Jh!Gh"h#)r'}r((hNh"U C17H34O7P1r)h}r*h(}r+h*}r,(UHK"UCKUOKUPKuhj)ubh,Uch(}r-h.h/]Rr.ubG?uhNhUY2 Acyl sn glycero 3 phosphatidate n C140 transporter via facilitated diffusion periplasm r/hEG@@hFGh}r0hHh/]r1jaRr2hU 2AGPA140tippr3hKGhLhMhNhNUSTM3009r4h(}r5hPNubh)r6}r7(h UTransport Inner Membraner8h }r9(h)r:}r;(hNhNhU*2-tetradec-7-enoyl-sn-glycerol-3-phosphater<h}r=(UCHEBI]r>U0aUKEGG]r?UC03974r@aUPUBCHEM]rAU6693rBauhU 2tdec7eg3p_prChUEh Jh!Gh"h#)rD}rE(hNh"U C17H32O7P1rFh}rGh(}rHh*}rI(UHK UCKUOKUPKuhjFubh,Uph(}rJh.h/]RrKubGh)rL}rM(hNhNhU*2-tetradec-7-enoyl-sn-glycerol-3-phosphaterNh}rO(UCHEBI]rPU0aUKEGG]rQUC03974rRaUPUBCHEM]rSU6693rTauhU 2tdec7eg3p_crUhUEh Jh!Gh"h#)rV}rW(hNh"U C17H32O7P1rXh}rYh(}rZh*}r[(UHK UCKUOKUPKuhjXubh,Uch(}r\h.h/]Rr]ubG?uhNhUY2 Acyl sn glycero 3 phosphatidate n C141 transporter via facilitated diffusion periplasm r^hEG@@hFGh}r_hHh/]r`jaRrahU 2AGPA141tipprbhKGhLhMhNhNUSTM3009rch(}rdhPNubh)re}rf(h UTransport Inner Membranergh }rh(h)ri}rj(hNhNhU&2-hexadecanoyl-sn-glycerol-3-phosphaterkh}rl(UCHEBI]rmU0aUKEGG]rnUC03974roaUPUBCHEM]rpU6693rqauhU 2hdecg3p_crrhUEh Jh!Gh"h#)rs}rt(hNh"U C19H38O7P1ruh}rvh(}rwh*}rx(UHK&UCKUOKUPKuhjuubh,Uch(}ryh.h/]RrzubG?h)r{}r|(hNhNhU&2-hexadecanoyl-sn-glycerol-3-phosphater}h}r~(UCHEBI]rU0aUKEGG]rUC03974raUPUBCHEM]rU6693rauhU 2hdecg3p_prhUEh Jh!Gh"h#)r}r(hNh"U C19H38O7P1rh}rh(}rh*}r(UHK&UCKUOKUPKuhjubh,Uph(}rh.h/]RrubGuhNhUY2 Acyl sn glycero 3 phosphatidate n C160 transporter via facilitated diffusion periplasm rhEG@@hFGh}rhHh/]rjaRrhU 2AGPA160tipprhKGhLhMhNhNUSTM3009rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU)2-hexadec-9-enoyl-sn-glycerol-3-phosphaterh}r(UCHEBI]rU0aUKEGG]rUC03974raUPUBCHEM]rU6693rauhU 2hdec9eg3p_crhUEh Jh!Gh"h#)r}r(hNh"U C19H36O7P1rh}rh(}rh*}r(UHK$UCKUOKUPKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU)2-hexadec-9-enoyl-sn-glycerol-3-phosphaterh}r(UCHEBI]rU0aUKEGG]rUC03974raUPUBCHEM]rU6693rauhU 2hdec9eg3p_prhUEh Jh!Gh"h#)r}r(hNh"U C19H36O7P1rh}rh(}rh*}r(UHK$UCKUOKUPKuhjubh,Uph(}rh.h/]RrubGuhNhUY2 Acyl sn glycero 3 phosphatidate n C161 transporter via facilitated diffusion periplasm rhEG@@hFGh}rhHh/]rjaRrhU 2AGPA161tipprhKGhLhMhNhNUSTM3009rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU&2-octadecanoyl-sn-glycerol-3-phosphaterh}r(UCHEBI]rU0aUKEGG]rUC03974raUPUBCHEM]rU6693rauhU 2odecg3p_crhUEh Jh!Gh"h#)r}r(hNh"U C21H42O7P1rh}rh(}rh*}r(UHK*UCKUOKUPKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU&2-octadecanoyl-sn-glycerol-3-phosphaterh}r(UCHEBI]rU0aUKEGG]rUC03974raUPUBCHEM]rU6693rauhU 2odecg3p_prhUEh Jh!Gh"h#)r}r(hNh"U C21H42O7P1rh}rh(}rh*}r(UHK*UCKUOKUPKuhjubh,Uph(}rh.h/]RrubGuhNhUY2 Acyl sn glycero 3 phosphatidate n C180 transporter via facilitated diffusion periplasm rhEG@@hFGh}rhHh/]rjaRrhU 2AGPA180tipprhKGhLhMhNhNUSTM3009rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU*2-octadec-11-enoyl-sn-glycerol-3-phosphaterh}r(UCHEBI]rU0aUKEGG]rUC03974raUPUBCHEM]rU6693rauhU 2odec11eg3p_prhUEh Jh!Gh"h#)r}r(hNh"U C21H40O7P1rh}rh(}rh*}r(UHK(UCKUOKUPKuhjubh,Uph(}rh.h/]RrubGh)r}r (hNhNhU*2-octadec-11-enoyl-sn-glycerol-3-phosphater h}r (UCHEBI]r U0aUKEGG]r UC03974raUPUBCHEM]rU6693rauhU 2odec11eg3p_crhUEh Jh!Gh"h#)r}r(hNh"U C21H40O7P1rh}rh(}rh*}r(UHK(UCKUOKUPKuhjubh,Uch(}rh.h/]RrubG?uhNhUY2 Acyl sn glycero 3 phosphatidate n C181 transporter via facilitated diffusion periplasm rhEG@@hFGh}rhHh/]rjaRrhU 2AGPA181tipprhKGhLhMhNhNUSTM3009rh(}r hPNubh)r!}r"(h UTransport Inner Membraner#h }r$(h)r%}r&(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C120r'h}r((UCHEBI]r)U0aUKEGG]r*UC05973r+aUPUBCHEM]r,U8253r-auhU 2agpe120_cr.hUEh Kh!Gh"h#)r/}r0(hNh"U C17H36NO7P1r1h}r2h(}r3h*}r4(UHK$UCKUPKUOKUNKuhj1ubh,Uch(}r5h.h/]Rr6ubG?h)r7}r8(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C120r9h}r:(UCHEBI]r;U0aUKEGG]r<UC05973r=aUPUBCHEM]r>U8253r?auhU 2agpe120_pr@hUEh Kh!Gh"h#)rA}rB(hNh"U C17H36NO7P1rCh}rDh(}rEh*}rF(UHK$UCKUPKUOKUNKuhjCubh,Uph(}rGh.h/]RrHubGuhNhU_2 Acyl sn glycero 3 phosphoethanolamine n C120 transporter via facilitated diffusion periplasm rIhEG@@hFGh}rJhHh/]rKjaRrLhU 2AGPE120tipprMhKGhLhMhNhNUSTM3009rNh(}rOhPNubh)rP}rQ(h UTransport Inner MembranerRh }rS(h)rT}rU(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C140rVh}rW(UCHEBI]rXU0aUKEGG]rYUC05973rZaUPUBCHEM]r[U8253r\auhU 2agpe140_pr]hUEh Kh!Gh"h#)r^}r_(hNh"U C19H40NO7P1r`h}rah(}rbh*}rc(UHK(UCKUPKUOKUNKuhj`ubh,Uph(}rdh.h/]RreubGh)rf}rg(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C140rhh}ri(UCHEBI]rjU0aUKEGG]rkUC05973rlaUPUBCHEM]rmU8253rnauhU 2agpe140_crohUEh Kh!Gh"h#)rp}rq(hNh"U C19H40NO7P1rrh}rsh(}rth*}ru(UHK(UCKUPKUOKUNKuhjrubh,Uch(}rvh.h/]RrwubG?uhNhU_2 Acyl sn glycero 3 phosphoethanolamine n C140 transporter via facilitated diffusion periplasm rxhEG@@hFGh}ryhHh/]rzjaRr{hU 2AGPE140tippr|hKGhLhMhNhNUSTM3009r}h(}r~hPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C141rh}r(UCHEBI]rU0aUKEGG]rUC05973raUPUBCHEM]rU8253rauhU 2agpe141_crhUEh Kh!Gh"h#)r}r(hNh"U C19H38NO7P1rh}rh(}rh*}r(UHK&UCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C141rh}r(UCHEBI]rU0aUKEGG]rUC05973raUPUBCHEM]rU8253rauhU 2agpe141_prhUEh Kh!Gh"h#)r}r(hNh"U C19H38NO7P1rh}rh(}rh*}r(UHK&UCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubGuhNhU_2 Acyl sn glycero 3 phosphoethanolamine n C141 transporter via facilitated diffusion periplasm rhEG@@hFGh}rhHh/]rjaRrhU 2AGPE141tipprhKGhLhMhNhNUSTM3009rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C160rh}r(UCHEBI]rU0aUKEGG]rUC05973raUPUBCHEM]rU8253rauhU 2agpe160_prhUEh Kh!Gh"h#)r}r(hNh"U C21H44NO7P1rh}rh(}rh*}r(UHK,UCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubGh)r}r(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C160rh}r(UCHEBI]rU0aUKEGG]rUC05973raUPUBCHEM]rU8253rauhU 2agpe160_crhUEh Kh!Gh"h#)r}r(hNh"U C21H44NO7P1rh}rh(}rh*}r(UHK,UCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhU_2 Acyl sn glycero 3 phosphoethanolamine n C160 transporter via facilitated diffusion periplasm rhEG@@hFGh}rhHh/]rjaRrhU 2AGPE160tipprhKGhLhMhNhNUSTM3009rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C161rh}r(UCHEBI]rU0aUKEGG]rUC05973raUPUBCHEM]rU8253rauhU 2agpe161_prhUEh Kh!Gh"h#)r}r(hNh"U C21H42NO7P1rh}rh(}rh*}r(UHK*UCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubGh)r}r(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C161rh}r(UCHEBI]rU0aUKEGG]rUC05973raUPUBCHEM]rU8253rauhU 2agpe161_crhUEh Kh!Gh"h#)r}r(hNh"U C21H42NO7P1rh}rh(}rh*}r(UHK*UCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhU_2 Acyl sn glycero 3 phosphoethanolamine n C161 transporter via facilitated diffusion periplasm rhEG@@hFGh}rhHh/]rjaRrhU 2AGPE161tippr hKGhLhMhNhNUSTM3009r h(}r hPNubh)r }r (h UTransport Inner Membranerh }r(h)r}r(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C180rh}r(UCHEBI]rU0aUKEGG]rUC05973raUPUBCHEM]rU8253rauhU 2agpe180_crhUEh Kh!Gh"h#)r}r(hNh"U C23H48NO7P1rh}rh(}rh*}r(UHK0UCKUPKUOKUNKuhjubh,Uch(}r h.h/]Rr!ubG?h)r"}r#(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C180r$h}r%(UCHEBI]r&U0aUKEGG]r'UC05973r(aUPUBCHEM]r)U8253r*auhU 2agpe180_pr+hUEh Kh!Gh"h#)r,}r-(hNh"U C23H48NO7P1r.h}r/h(}r0h*}r1(UHK0UCKUPKUOKUNKuhj.ubh,Uph(}r2h.h/]Rr3ubGuhNhU_2 Acyl sn glycero 3 phosphoethanolamine n C180 transporter via facilitated diffusion periplasm r4hEG@@hFGh}r5hHh/]r6jaRr7hU 2AGPE180tippr8hKGhLhMhNhNUSTM3009r9h(}r:hPNubh)r;}r<(h UTransport Inner Membraner=h }r>(h)r?}r@(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C181rAh}rB(UCHEBI]rCU0aUKEGG]rDUC05973rEaUPUBCHEM]rFU8253rGauhU 2agpe181_prHhUEh Kh!Gh"h#)rI}rJ(hNh"U C23H46NO7P1rKh}rLh(}rMh*}rN(UHK.UCKUPKUOKUNKuhjKubh,Uph(}rOh.h/]RrPubGh)rQ}rR(hNhNhU.2-Acyl-sn-glycero-3-phosphoethanolamine-n-C181rSh}rT(UCHEBI]rUU0aUKEGG]rVUC05973rWaUPUBCHEM]rXU8253rYauhU 2agpe181_crZhUEh Kh!Gh"h#)r[}r\(hNh"U C23H46NO7P1r]h}r^h(}r_h*}r`(UHK.UCKUPKUOKUNKuhj]ubh,Uch(}rah.h/]RrbubG?uhNhU_2 Acyl sn glycero 3 phosphoethanolamine n C181 transporter via facilitated diffusion periplasm rchEG@@hFGh}rdhHh/]rejaRrfhU 2AGPE181tipprghKGhLhMhNhNUSTM3009rhh(}rihPNubh)rj}rk(h UGlycerophospholipid Metabolismrlh }rm(j%Gh)rn}ro(hNhNhU,phosphatidylethanolamine-didodecanoyl-n-C120rph}rq(UCHEBI]rrU16038rsaUKEGG]rtUC00350ruaUPUBCHEM]rvU3643rwauhUpe120_crxhUEh Kh!Gh"h#)ry}rz(hNh"U C29H58N1O8P1r{h}r|h(}r}h*}r~(UHK:UCKUPKUOKUNKuhj{ubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhUDodecanoate-n-C120rh}r(UCHEBI]rU30805raUKEGG]rUC02679raUPUBCHEM]rU5649rauhUddca_crhUEh Jh!Gh"h#)r}r(hNh"UC12H23O2rh}rh(}rh*}r(UHKUCK UOKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhUAMPrh}r(UCHEBI]rU16027raUKEGG]rUC00020raUPUBCHEM]rU3322rauhUamp_crhUEh Jh!Gh"h#)r}r(hNh"U C10H12N5O7Prh}rh(}rh*}r(UHK UCK UPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jGGh)r}r(hNhNhU Diphosphaterh}r(UCHEBI]rU 18361 29888raUKEGG]rUC00013raUPUBCHEM]rU3315rauhUppi_crhUEh Jh!Gh"h#)r}r(hNh"UHO7P2rh}rh(}rh*}r(UHKUOKUPKuhjubh,Uch(}rh.h/]RrubG?uhNhU:2 acyl glycerophospho ethanolamine acyltransferase n C120 rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUaasrh}rjhUSTM3010rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU 2AGPEAT120rhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jfGh)r}r(hNhNhUtetradecanoate-n-C140rh}r(UCHEBI]rU 28875 30807raUKEGG]rUC06424raUPUBCHEM]rU8659rauhUttdca_crhUEh Jh!Gh"h#)r}r(hNh"UC14H27O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGjGGjG?h)r}r(hNhNhU/phosphatidylethanolamine-ditetradecanoyl-n-C140rh}r(UCHEBI]rU16038raUKEGG]rUC00350raUPUBCHEM]rU3643rauhUpe140_crhUEh Kh!Gh"h#)r}r(hNh"U C33H66N1O8P1rh}rh(}rh*}r(UHKBUCK!UPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?uhNhU:2 acyl glycerophospho ethanolamine acyltransferase n C140 rhEG@@hFGh}rhHh/]rjaRrhU 2AGPEAT140rhKGhLhMhNhNUSTM3010rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?h)r}r(hNhNhU2phosphatidylethanolamine-ditetradec-7-enoyl-n-C141rh}r(UCHEBI]rU16038raUKEGG]rUC00350raUPUBCHEM]rU3643rauhUpe141_crhUEh Kh!Gh"h#)r}r(hNh"U C33H62N1O8P1r h}r h(}r h*}r (UHK>UCK!UPKUOKUNKuhj ubh,Uch(}r h.h/]RrubG?jG?jGh)r}r(hNhNhUtetradecenoate-n-C141rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUttdcea_crhUEh Jh!Gh"h#)r}r(hNh"UC14H25O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGjGGuhNhU:2 acyl glycerophospho ethanolamine acyltransferase n C141 rhEG@@hFGh}r hHh/]r!jaRr"hU 2AGPEAT141r#hKGhLhMhNhNUSTM3010r$h(}r%hPNubh)r&}r'(h UGlycerophospholipid Metabolismr(h }r)(h)r*}r+(hNhNhU.phosphatidylethanolamine-dihexadecanoyl-n-C160r,h}r-(UCHEBI]r.U16038r/aUKEGG]r0UC00350r1aUPUBCHEM]r2U3643r3auhUpe160_cr4hUEh Kh!Gh"h#)r5}r6(hNh"U C37H74N1O8P1r7h}r8h(}r9h*}r:(UHKJUCK%UPKUOKUNKuhj7ubh,Uch(}r;h.h/]Rr<ubG?jGGjGjG?h)r=}r>(hNhNhUHexadecanoate-n-C160r?h}r@(UCHEBI]rAU15756rBaUKEGG]rCUC00249rDaUPUBCHEM]rEU3548rFauhUhdca_crGhUEh Jh!Gh"h#)rH}rI(hNh"UC16H31O2rJh}rKh(}rLh*}rM(UHKUCKUOKuhjJubh,Uch(}rNh.h/]RrOubGjG?uhNhU:2 acyl glycerophospho ethanolamine acyltransferase n C160 rPhEG@@hFGh}rQhHh/]rRjaRrShU 2AGPEAT160rThKGhLhMhNhNUSTM3010rUh(}rVhPNubh)rW}rX(h UGlycerophospholipid MetabolismrYh }rZ(h)r[}r\(hNhNhUHexadecenoate-n-C161r]h}r^(UCHEBI]r_U15756r`aUKEGG]raUC00249rbaUPUBCHEM]rcU3548rdauhUhdcea_crehUEh Jh!Gh"h#)rf}rg(hNh"UC16H29O2rhh}rih(}rjh*}rk(UHKUCKUOKuhjhubh,Uch(}rlh.h/]RrmubGjG?jGjGGjG?h)rn}ro(hNhNhU0phosphatidylethanolamine-dihexadec-9enoyl-n-C161rph}rq(UCHEBI]rrU16038rsaUKEGG]rtUC00350ruaUPUBCHEM]rvU3643rwauhUpe161_crxhUEh Kh!Gh"h#)ry}rz(hNh"U C37H70N1O8P1r{h}r|h(}r}h*}r~(UHKFUCK%UPKUOKUNKuhj{ubh,Uch(}rh.h/]RrubG?uhNhU:2 acyl glycerophospho ethanolamine acyltransferase n C161 rhEG@@hFGh}rhHh/]rjaRrhU 2AGPEAT161rhKGhLhMhNhNUSTM3010rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhUoctadecanoate-n-C180rh}r(UCHEBI]rU25629raUKEGG]rUC01530raUPUBCHEM]rU4692rauhUocdca_crhUEh Jh!Gh"h#)r}r(hNh"UC18H35O2rh}rh(}rh*}r(UHK#UCKUOKuhjubh,Uch(}rh.h/]RrubGjG?h)r}r(hNhNhU.phosphatidylethanolamine-dioctadecanoyl-n-C180rh}r(UCHEBI]rU16038raUKEGG]rUC00350raUPUBCHEM]rU3643rauhUpe180_crhUEh Kh!Gh"h#)r}r(hNh"U C41H82N1O8P1rh}rh(}rh*}r(UHKRUCK)UPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?jGGjGuhNhU:2 acyl glycerophospho ethanolamine acyltransferase n C180 rhEG@@hFGh}rhHh/]rjaRrhU 2AGPEAT180rhKGhLhMhNhNUSTM3010rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?jGGjG?h)r}r(hNhNhU2phosphatidylethanolamine-dioctadec-11-enoyl-n-C181rh}r(UCHEBI]rU16038raUKEGG]rUC00350raUPUBCHEM]rU3643rauhUpe181_crhUEh Kh!Gh"h#)r}r(hNh"U C41H78N1O8P1rh}rh(}rh*}r(UHKNUCK)UPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jQGh)r}r(hNhNhUoctadecenoate-n-C181rh}r(UCHEBI]rU16196raUKEGG]rU0aUPUBCHEM]rU3978rauhUocdcea_crhUEh Jh!Gh"h#)r}r(hNh"UC18H33O2rh}rh(}rh*}r(UHK!UCKUOKuhjubh,Uch(}rh.h/]RrubGuhNhU:2 acyl glycerophospho ethanolamine acyltransferase n C181 rhEG@@hFGh}rhHh/]rjaRrhU 2AGPEAT181rhKGhLhMhNhNUSTM3010rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C120rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU 2agpg120_prhUEh Jh!Gh"h#)r}r(hNh"U C18H36O9P1rh}rh(}rh*}r(UHK$UCKUOK UPKuhjubh,Uph(}rh.h/]RrubGh)r}r(hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C120rh}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU 2agpg120_cr hUEh Jh!Gh"h#)r }r (hNh"U C18H36O9P1r h}r h(}r h*}r (UHK$UCKUOK UPKuhj ubh,Uch(}r h.h/]Rr ubG?uhNhU[2 Acyl sn glycero 3 phosphoglycerol n C120 transporter via facilitated diffusion periplasm r hEG@@hFGh}r hHh/]r jaRr hU 2AGPG120tippr hKGhLhMhNhNUSTM3009r h(}r hPNubh)r }r (h UTransport Inner Membraner h }r (h)r }r (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C140r h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU 2agpg140_cr hUEh Jh!Gh"h#)r }r! (hNh"U C20H40O9P1r" h}r# h(}r$ h*}r% (UHK(UCKUOK UPKuhj" ubh,Uch(}r& h.h/]Rr' ubG?h)r( }r) (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C140r* h}r+ (UCHEBI]r, U0aUKEGG]r- U0aUPUBCHEM]r. U0auhU 2agpg140_pr/ hUEh Jh!Gh"h#)r0 }r1 (hNh"U C20H40O9P1r2 h}r3 h(}r4 h*}r5 (UHK(UCKUOK UPKuhj2 ubh,Uph(}r6 h.h/]Rr7 ubGuhNhU[2 Acyl sn glycero 3 phosphoglycerol n C140 transporter via facilitated diffusion periplasm r8 hEG@@hFGh}r9 hHh/]r: jaRr; hU 2AGPG140tippr< hKGhLhMhNhNUSTM3009r= h(}r> hPNubh)r? }r@ (h UTransport Inner MembranerA h }rB (h)rC }rD (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C141rE h}rF (UCHEBI]rG U0aUKEGG]rH U0aUPUBCHEM]rI U0auhU 2agpg141_prJ hUEh Jh!Gh"h#)rK }rL (hNh"U C20H38O9P1rM h}rN h(}rO h*}rP (UHK&UCKUOK UPKuhjM ubh,Uph(}rQ h.h/]RrR ubGh)rS }rT (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C141rU h}rV (UCHEBI]rW U0aUKEGG]rX U0aUPUBCHEM]rY U0auhU 2agpg141_crZ hUEh Jh!Gh"h#)r[ }r\ (hNh"U C20H38O9P1r] h}r^ h(}r_ h*}r` (UHK&UCKUOK UPKuhj] ubh,Uch(}ra h.h/]Rrb ubG?uhNhU[2 Acyl sn glycero 3 phosphoglycerol n C141 transporter via facilitated diffusion periplasm rc hEG@@hFGh}rd hHh/]re jaRrf hU 2AGPG141tipprg hKGhLhMhNhNUSTM3009rh h(}ri hPNubh)rj }rk (h UTransport Inner Membranerl h }rm (h)rn }ro (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C160rp h}rq (UCHEBI]rr U0aUKEGG]rs U0aUPUBCHEM]rt U0auhU 2agpg160_cru hUEh Jh!Gh"h#)rv }rw (hNh"U C22H44O9P1rx h}ry h(}rz h*}r{ (UHK,UCKUOK UPKuhjx ubh,Uch(}r| h.h/]Rr} ubG?h)r~ }r (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C160r h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU 2agpg160_pr hUEh Jh!Gh"h#)r }r (hNh"U C22H44O9P1r h}r h(}r h*}r (UHK,UCKUOK UPKuhj ubh,Uph(}r h.h/]Rr ubGuhNhU[2 Acyl sn glycero 3 phosphoglycerol n C160 transporter via facilitated diffusion periplasm r hEG@@hFGh}r hHh/]r jaRr hU 2AGPG160tippr hKGhLhMhNhNUSTM3009r h(}r hPNubh)r }r (h UTransport Inner Membraner h }r (h)r }r (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C161r h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU 2agpg161_pr hUEh Jh!Gh"h#)r }r (hNh"U C22H42O9P1r h}r h(}r h*}r (UHK*UCKUOK UPKuhj ubh,Uph(}r h.h/]Rr ubGh)r }r (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C161r h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU 2agpg161_cr hUEh Jh!Gh"h#)r }r (hNh"U C22H42O9P1r h}r h(}r h*}r (UHK*UCKUOK UPKuhj ubh,Uch(}r h.h/]Rr ubG?uhNhU[2 Acyl sn glycero 3 phosphoglycerol n C161 transporter via facilitated diffusion periplasm r hEG@@hFGh}r hHh/]r jaRr hU 2AGPG161tippr hKGhLhMhNhNUSTM3009r h(}r hPNubh)r }r (h UTransport Inner Membraner h }r (h)r }r (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C180r h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU 2agpg180_pr hUEh Jh!Gh"h#)r }r (hNh"U C24H48O9P1r h}r h(}r h*}r (UHK0UCKUOK UPKuhj ubh,Uph(}r h.h/]Rr ubGh)r }r (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C180r h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU 2agpg180_cr hUEh Jh!Gh"h#)r }r (hNh"U C24H48O9P1r h}r h(}r h*}r (UHK0UCKUOK UPKuhj ubh,Uch(}r h.h/]Rr ubG?uhNhU[2 Acyl sn glycero 3 phosphoglycerol n C180 transporter via facilitated diffusion periplasm r hEG@@hFGh}r hHh/]r jaRr hU 2AGPG180tippr hKGhLhMhNhNUSTM3009r h(}r hPNubh)r }r (h UTransport Inner Membraner h }r (h)r }r (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C181r h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU 2agpg181_cr hUEh Jh!Gh"h#)r }r (hNh"U C24H46O9P1r h}r h(}r h*}r (UHK.UCKUOK UPKuhj ubh,Uch(}r h.h/]Rr ubG?h)r }r (hNhNhU*2-Acyl-sn-glycero-3-phosphoglycerol-n-C181r h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU 2agpg181_pr hUEh Jh!Gh"h#)r }r (hNh"U C24H46O9P1r h}r h(}r h*}r (UHK.UCKUOK UPKuhj ubh,Uph(}r h.h/]Rr ubGuhNhU[2 Acyl sn glycero 3 phosphoglycerol n C181 transporter via facilitated diffusion periplasm r hEG@@hFGh}r hHh/]r jaRr hU 2AGPG181tippr hKGhLhMhNhNUSTM3009r h(}r hPNubh)r }r (h UGlycerophospholipid Metabolismr h }r (h)r }r (hNhNhU(Phosphatidylglycerol-didodecanoyl-n-C120r h}r (UCHEBI]r U0aUKEGG]r UC00344r aUPUBCHEM]r! U3637r" auhUpg120_cr# hUEh Jh!Gh"h#)r$ }r% (hNh"U C30H58O10P1r& h}r' h(}r( h*}r) (UHK:UCKUOK UPKuhj& ubh,Uch(}r* h.h/]Rr+ ubG?jG?jGGjG?jGjGuhNhU62 acyl glycerophospho glycerol acyltransferase n C120 r, hEG@@hFGh}r- hHh/]r. jaRr/ hU 2AGPGAT120r0 hKGhLhMhNhNUSTM3010r1 h(}r2 hPNubh)r3 }r4 (h UGlycerophospholipid Metabolismr5 h }r6 (jGj GjG?h)r7 }r8 (hNhNhU+Phosphatidylglycerol-ditetradecanoyl-n-C140r9 h}r: (UCHEBI]r; U0aUKEGG]r< UC00344r= aUPUBCHEM]r> U3637r? auhUpg140_cr@ hUEh Jh!Gh"h#)rA }rB (hNh"U C34H66O10P1rC h}rD h(}rE h*}rF (UHKBUCK"UOK UPKuhjC ubh,Uch(}rG h.h/]RrH ubG?jGGjG?uhNhU62 acyl glycerophospho glycerol acyltransferase n C140 rI hEG@@hFGh}rJ hHh/]rK jaRrL hU 2AGPGAT140rM hKGhLhMhNhNUSTM3010rN h(}rO hPNubh)rP }rQ (h UGlycerophospholipid MetabolismrR h }rS (h)rT }rU (hNhNhU.Phosphatidylglycerol-ditetradec-7-enoyl-n-C141rV h}rW (UCHEBI]rX U0aUKEGG]rY UC00344rZ aUPUBCHEM]r[ U3637r\ auhUpg141_cr] hUEh Jh!Gh"h#)r^ }r_ (hNh"U C34H62O10P1r` h}ra h(}rb h*}rc (UHK>UCK"UOK UPKuhj` ubh,Uch(}rd h.h/]Rre ubG?jGGjS GjG?jG?jGuhNhU62 acyl glycerophospho glycerol acyltransferase n C141 rf hEG@@hFGh}rg hHh/]rh jaRri hU 2AGPGAT141rj hKGhLhMhNhNUSTM3010rk h(}rl hPNubh)rm }rn (h UGlycerophospholipid Metabolismro h }rp (j=Gh)rq }rr (hNhNhU*Phosphatidylglycerol-dihexadecanoyl-n-C160rs h}rt (UCHEBI]ru U0aUKEGG]rv UC00344rw aUPUBCHEM]rx U3637ry auhUpg160_crz hUEh Jh!Gh"h#)r{ }r| (hNh"U C38H74O10P1r} h}r~ h(}r h*}r (UHKJUCK&UOK UPKuhj} ubh,Uch(}r h.h/]Rr ubG?jn GjGGjG?jG?uhNhU62 acyl glycerophospho glycerol acyltransferase n C160 r hEG@@hFGh}r hHh/]r jaRr hU 2AGPGAT160r hKGhLhMhNhNUSTM3010r h(}r hPNubh)r }r (h UGlycerophospholipid Metabolismr h }r (h)r }r (hNhNhU-Phosphatidylglycerol-dihexadec-9-enoyl-n-C161r h}r (UCHEBI]r U0aUKEGG]r UC00344r aUPUBCHEM]r U3637r auhUpg161_cr hUEh Jh!Gh"h#)r }r (hNh"U C38H70O10P1r h}r h(}r h*}r (UHKFUCK&UOK UPKuhj ubh,Uch(}r h.h/]Rr ubG?jGGj[Gj GjG?jG?uhNhU62 acyl glycerophospho glycerol acyltransferase n C161 r hEG@@hFGh}r hHh/]r jaRr hU 2AGPGAT161r hKGhLhMhNhNUSTM3010r h(}r hPNubh)r }r (h UGlycerophospholipid Metabolismr h }r (h)r }r (hNhNhU*Phosphatidylglycerol-dioctadecanoyl-n-C180r h}r (UCHEBI]r U0aUKEGG]r UC00344r aUPUBCHEM]r U3637r auhUpg180_cr hUEh Jh!Gh"h#)r }r (hNh"U C42H82O10P1r h}r h(}r h*}r (UHKRUCK*UOK UPKuhj ubh,Uch(}r h.h/]Rr ubG?jGjG?jGGj GjG?uhNhU62 acyl glycerophospho glycerol acyltransferase n C180 r hEG@@hFGh}r hHh/]r jaRr hU 2AGPGAT180r hKGhLhMhNhNUSTM3010r h(}r hPNubh)r }r (h UGlycerophospholipid Metabolismr h }r (h)r }r (hNhNhU.Phosphatidylglycerol-dioctadec-11-enoyl-n-C181r h}r (UCHEBI]r U0aUKEGG]r UC00344r aUPUBCHEM]r U3637r auhUpg181_cr hUEh Jh!Gh"h#)r }r (hNh"U C42H78O10P1r h}r h(}r h*}r (UHKNUCK*UOK UPKuhj ubh,Uch(}r h.h/]Rr ubG?jGGjG?j GjGjG?uhNhU62 acyl glycerophospho glycerol acyltransferase n C181 r hEG@@hFGh}r hHh/]r jaRr hU 2AGPGAT181r hKGhLhMhNhNUSTM3010r h(}r hPNubh)r }r (h UAlternate Carbon Metabolismr h }r (h)r }r (hNhNhU2-Dehydro-D-gluconater h}r (UCHEBI]r U16808r aUKEGG]r UC00629r aUPUBCHEM]r U3902r auhU 2dhglcn_cr hUEh Jh!Gh"h#)r }r (hNh"UC6H9O7r h}r h(}r h*}r (UHK UCKUOKuhj ubh,Uch(}r h.h/]Rr ubGh)r }r (hNhNhU D-Gluconater h}r (UCHEBI]r U33198r aUKEGG]r UC00257r aUPUBCHEM]r U3556r auhUglcn_cr hUEh Jh!Gh"h#)r }r (hNh"UC6H11O7r h}r h(}r h*}r (UHK UCKUOKuhj ubh,Uch(}r h.h/]Rr ubG?jGh)r }r (hNhNhU*Nicotinamide-adenine-dinucleotide--reducedr h}r (UCHEBI]r U16908r aUKEGG]r UC00004r aUPUBCHEM]r U3306r auhUnadh_cr hUEh Jh!Gh"h#)r }r (hNh"U C21H27N7O14P2r h}r h(}r h*}r (UHKUCKUPKUOKUNKuhj ubh,Uch(}r h.h/]Rr ubGh)r }r (hNhNhU!Nicotinamide-adenine-dinucleotider h}r! (UCHEBI]r" U15846r# aUKEGG]r$ UC00003r% aUPUBCHEM]r& U3305r' auhUnad_cr( hUEh Jh!Gh"h#)r) }r* (hNh"U C21H26N7O14P2r+ h}r, h(}r- h*}r. (UHKUCKUPKUOKUNKuhj+ ubh,Uch(}r/ h.h/]Rr0 ubG?uhNhU%2 dehydro D gluconate reductase NADH r1 hEG@@hFGh}r2 hHh/]r3 j)r4 }r5 (hNjKhNhUyiaEr6 h}r7 jhUSTM3646r8 h Nh"NjKh,Nh(}r9 jU+h.h/]Rr: ubaRr; hU2DGLCNRxr< hKGhLhMhNhNj8 h(}r= hPNubh)r> }r? (h UAlternate Carbon Metabolismr@ h }rA (h)rB }rC (hNhNhU+Nicotinamide-adenine-dinucleotide-phosphaterD h}rE (UCHEBI]rF U18009rG aUKEGG]rH UC00006rI aUPUBCHEM]rJ U3308rK auhUnadp_crL hUEh Jh!Gh"h#)rM }rN (hNh"U C21H25N7O17P3rO h}rP h(}rQ h*}rR (UHKUCKUPKUOKUNKuhjO ubh,Uch(}rS h.h/]RrT ubG?j Gh)rU }rV (hNhNhU4Nicotinamide-adenine-dinucleotide-phosphate--reducedrW h}rX (UCHEBI]rY U16474rZ aUKEGG]r[ UC00005r\ aUPUBCHEM]r] U3307r^ auhUnadph_cr_ hUEh Jh!Gh"h#)r` }ra (hNh"U C21H26N7O17P3rb h}rc h(}rd h*}re (UHKUCKUPKUOKUNKuhjb ubh,Uch(}rf h.h/]Rrg ubGj G?jGuhNhU&2 dehydro D gluconate reductase NADPH rh hEG@@hFGh}ri hHh/]rj j4 aRrk hU2DGLCNRyrl hKGhLhMhNhNUSTM3646rm h(}rn hPNubh)ro }rp (h UAlternate Carbon Metabolismrq h }rr (j G?h)rs }rt (hNhNhU L-Idonateru h}rv (UCHEBI]rw U17796rx aUKEGG]ry UC00770rz aUPUBCHEM]r{ U4032r| auhU idon__L_cr} hUEh Jh!Gh"h#)r~ }r (hNh"UC6H11O7r h}r h(}r h*}r (UHK UCKUOKuhj ubh,Uch(}r h.h/]Rr ubG?jGj Gh)r }r (hNhNhU2-Dehydro-L-gulonater h}r (UCHEBI]r U30769r aUKEGG]r U0aUPUBCHEM]r U3458r auhU 2dhguln_cr hUEh Jh!Gh"h#)r }r (hNh"UC6H9O7r h}r h(}r h*}r (UHK UCKUOKuhj ubh,Uch(}r h.h/]Rr ubGuhNhU$2 dehydro L gulonate reductase NADH r hEG@@hFGh}r hHh/]r j4 aRr hU2DGULRxr hKGhLhMhNhNUSTM3646r h(}r hPNubh)r }r (h UAlternate Carbon Metabolismr h }r (jB G?js G?jU GjGj GuhNhU%2 dehydro L gulonate reductase NADPH r hEG@@hFGh}r hHh/]r j4 aRr hU2DGULRyr hKGhLhMhNhNUSTM3646r h(}r hPNubh)r }r (h U*Cofactor and Prosthetic Group Biosynthesisr h }r (h)r }r (hNhNhU62-Methyl-4-amino-5-hydroxymethylpyrimidine-diphosphater h}r (UCHEBI]r U16629r aUKEGG]r UC04752r aUPUBCHEM]r U7322r auhU2mahmp_cr hUEh Jh!Gh"h#)r }r (hNh"U C6H8N3O7P2r h}r h(}r h*}r (UHKUCKUPKUOKUNKuhj ubh,Uch(}r h.h/]Rr ubGh)r }r (hNhNhU*4-Amino-2-methyl-5-phosphomethylpyrimidiner h}r (UCHEBI]r U18032r aUKEGG]r UC04556r aUPUBCHEM]r U7161r auhU4ampm_cr hUEh Jh!Gh"h#)r }r (hNh"U C6H8N3O4Pr h}r h(}r h*}r (UHKUCKUPKUOKUNKuhj ubh,Uch(}r h.h/]Rr ubG?jZGjG?jG?uhNhU82 Methyl 4 amino 5 hydroxymethylpyrimidine diphosphataser hEG@@hFGh}r hHh/]r (j)r }r (hNjKhNhUymfBr h}r jhUSTM1235r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubj)r }r (hNjKhNhUcofr h}r jhUSTM0457r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubeRr hU2MAHMPr hKGhLhMhNhNU( STM0457 or STM1235 )r h(}r hPNubh)r }r (h UTransport Outer Membrane Porinr h }r (h)r }r (hNhNhU3-4-Dihydroxyphenylacetaldehyder h}r (UCHEBI]r U0aUKEGG]r UC04043r aUPUBCHEM]r U6744r auhU 34dhpac_er hUEh Kh!Gh"h#)r }r (hNh"UC8H8O3r h}r h(}r h*}r (UHKUCKUOKuhj ubh,Ueh(}r h.h/]Rr ubGh)r }r (hNhNhU3-4-Dihydroxyphenylacetaldehyder h}r (UCHEBI]r U0aUKEGG]r UC04043r aUPUBCHEM]r U6744r auhU 34dhpac_pr hUEh Kh!Gh"h#)r }r (hNh"UC8H8O3r h}r h(}r h*}r (UHKUCKUOKuhj ubh,Uph(}r h.h/]Rr ubG?uhNhUOdihydroxyphenylacetaldehyde transport via diffusion extracellular to periplasm r hEG@@hFG@h}r hHh/]r (jjjjeRr hU 34dhpactexr hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r h(}r hPNubh)r }r (h UTransport Outer Membrane Porinr h }r (jjG?h)r }r (hNhNhU3-AMPr h}r (UCHEBI]r U28931r! aUKEGG]r" UC01367r# aUPUBCHEM]r$ U4566r% auhU3amp_er& hUEh Jh!Gh"h#)r' }r( (hNh"U C10H12N5O7Pr) h}r* h(}r+ h*}r, (UHK UCK UPKUOKUNKuhj) ubh,Ueh(}r- h.h/]Rr. ubGuhNhU83AMP transport via diffusion extracellular to periplasm r/ hEG@@hFG@h}r0 hHh/]r1 (jjjjeRr2 hU3AMPtexr3 hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r4 h(}r5 hPNubh)r6 }r7 (h UTransport Outer Membrane Porinr8 h }r9 (h)r: }r; (hNhNhU3-cmpr< h}r= (UCHEBI]r> U0aUKEGG]r? UC05822r@ aUPUBCHEM]rA U8117rB auhU3cmp_erC hUEh Jh!Gh"h#)rD }rE (hNh"U C9H12N3O8PrF h}rG h(}rH h*}rI (UHK UCK UPKUOKUNKuhjF ubh,Ueh(}rJ h.h/]RrK ubGjMG?uhNhU83CMP transport via diffusion extracellular to periplasm rL hEG@@hFG@h}rM hHh/]rN (jjjjeRrO hU3CMPtexrP hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rQ h(}rR hPNubh)rS }rT (h UTransport Outer Membrane PorinrU h }rV (jG?h)rW }rX (hNhNhU3-GMPrY h}rZ (UCHEBI]r[ U0aUKEGG]r\ UC06193r] aUPUBCHEM]r^ U8443r_ auhU3gmp_er` hUEh Jh!Gh"h#)ra }rb (hNh"U C10H12N5O8Prc h}rd h(}re h*}rf (UHK UCK UPKUOKUNKuhjc ubh,Ueh(}rg h.h/]Rrh ubGuhNhU83GMP transport via diffusion extracellular to periplasm ri hEG@@hFG@h}rj hHh/]rk (jjjjeRrl hU3GMPtexrm hKGhLhMhNhNU2( STM0320 or STM1473 or STM2267 or STM0999 )rn h(}ro hPNubh)rp }rq (h UCell Envelope Biosynthesisrr h }rs (h)rt }ru (hNhNhU(R-3-Hydroxydecanoyl-acyl-carrier-proteinrv h}rw (UCHEBI]rx U0aUKEGG]ry UC04619rz aUPUBCHEM]r{ U7209r| auhU 3hdecACP_cr} hUEh Jh!Gh"h#)r~ }r (hNh"U C21H39N2O9PRSr h}r h(}r h*}r (UCKUHK'UOK UNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubGjZG?h)r }r (hNhNhU&trans-Dec-2-enoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r UC05754r aUPUBCHEM]r U8049r auhU tdec2eACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C21H37N2O8PRSr h}r h(}r h*}r (UCKUHK%UOKUNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubG?uhNhU63 hydroxyacyl acyl carrier protein dehydratase n C100 r hEG@@hFGh}r hHh/]r (j)r }r (hNjKhNhUfabZr h}r jhUSTM0227r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubj)r }r (hNjKhNhUfabAr h}r jhUSTM1067r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubeRr hU3HAD100r hKGhLhMhNhNU( STM1067 or STM0227 )r h(}r hPNubh)r }r (h UCell Envelope Biosynthesisr h }r (jZG?h)r }r (hNhNhU*R-3-Hydroxydodecanoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r UC05757r aUPUBCHEM]r U8052r auhU 3hddecACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C23H43N2O9PRSr h}r h(}r h*}r (UCKUHK+UOK UNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubGh)r }r (hNhNhU(trans-Dodec-2-enoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r UC05758r aUPUBCHEM]r U8053r auhU tddec2eACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C23H41N2O8PRSr h}r h(}r h*}r (UCKUHK)UOKUNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubG?uhNhU63 hydroxyacyl acyl carrier protein dehydratase n C120 r hEG@@hFGh}r hHh/]r (j j eRr hU3HAD120r hKGhLhMhNhNU( STM1067 or STM0227 )r h(}r hPNubh)r }r (h UCell Envelope Biosynthesisr h }r (h)r }r (hNhNhU2R-3-hydroxy-cis-dodec-5-enoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU3hcddec5eACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C23H41N2O9PRSr h}r h(}r h*}r (UCKUHK)UOK UNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubGh)r }r (hNhNhU-trans-3-cis-5-dodecenoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhUt3c5ddeceACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C23H39N2O8PRSr h}r h(}r h*}r (UCKUHK'UOKUNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubG?jZG?uhNhU63 hydroxyacyl acyl carrier protein dehydratase n C121 r hEG@@hFGh}r hHh/]r (j j eRr hU3HAD121r hKGhLhMhNhNU( STM0227 or STM1067 )r h(}r hPNubh)r }r (h UCell Envelope Biosynthesisr h }r (jZG?h)r }r (hNhNhU-R-3-Hydroxytetradecanoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r UC04688r aUPUBCHEM]r U7269r auhU 3hmrsACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C25H47N2O9PRSr h}r h(}r h*}r (UCKUHK/UOK UNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubGh)r }r (hNhNhU+trans-Tetradec-2-enoyl-acyl-carrier-proteinr h}r (UCHEBI]r! U0aUKEGG]r" UC05760r# aUPUBCHEM]r$ U8055r% auhU tmrs2eACP_cr& hUEh Jh!Gh"h#)r' }r( (hNh"U C25H45N2O8PRSr) h}r* h(}r+ h*}r, (UCKUHK-UOKUNKUPKUSKURKuhj) ubh,Uch(}r- h.h/]Rr. ubG?uhNhU63 hydroxyacyl acyl carrier protein dehydratase n C140 r/ hEG@@hFGh}r0 hHh/]r1 (j j eRr2 hU3HAD140r3 hKGhLhMhNhNU( STM1067 or STM0227 )r4 h(}r5 hPNubh)r6 }r7 (h UCell Envelope Biosynthesisr8 h }r9 (h)r: }r; (hNhNhU4R-3-hydroxy-cis-myristol-7-eoyl-acyl-carrier-proteinr< h}r= (UCHEBI]r> U0aUKEGG]r? U0aUPUBCHEM]r@ U0auhU 3hcmrs7eACP_crA hUEh Jh!Gh"h#)rB }rC (hNh"U C25H45N2O9PRSrD h}rE h(}rF h*}rG (UCKUHK-UOK UNKUPKUSKURKuhjD ubh,Uch(}rH h.h/]RrI ubGh)rJ }rK (hNhNhU/trans-3-cis-7-myristoleoyl-acyl-carrier-proteinrL h}rM (UCHEBI]rN U0aUKEGG]rO U0aUPUBCHEM]rP U0auhU t3c7mrseACP_crQ hUEh Jh!Gh"h#)rR }rS (hNh"U C25H43N2O8PRSrT h}rU h(}rV h*}rW (UCKUHK+UOKUNKUPKUSKURKuhjT ubh,Uch(}rX h.h/]RrY ubG?jZG?uhNhU63 hydroxyacyl acyl carrier protein dehydratase n C141 rZ hEG@@hFGh}r[ hHh/]r\ (j j eRr] hU3HAD141r^ hKGhLhMhNhNU( STM1067 or STM0227 )r_ h(}r` hPNubh)ra }rb (h UCell Envelope Biosynthesisrc h }rd (h)re }rf (hNhNhU*trans-Hexadec-2-enoyl-acyl-carrier-proteinrg h}rh (UCHEBI]ri U0aUKEGG]rj UC05763rk aUPUBCHEM]rl U8058rm auhU tpalm2eACP_crn hUEh Jh!Gh"h#)ro }rp (hNh"U C27H49N2O8PRSrq h}rr h(}rs h*}rt (UCKUHK1UOKUNKUPKUSKURKuhjq ubh,Uch(}ru h.h/]Rrv ubG?jZG?h)rw }rx (hNhNhU)R-3-hydroxypalmitoyl-acyl-carrier-proteinry h}rz (UCHEBI]r{ U0aUKEGG]r| UC04633r} aUPUBCHEM]r~ U7222r auhU 3hpalmACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C27H51N2O9PRSr h}r h(}r h*}r (UCKUHK3UOK UNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubGuhNhU63 hydroxyacyl acyl carrier protein dehydratase n C160 r hEG@@hFGh}r hHh/]r (j j eRr hU3HAD160r hKGhLhMhNhNU( STM1067 or STM0227 )r h(}r hPNubh)r }r (h UCell Envelope Biosynthesisr h }r (jZG?h)r }r (hNhNhU0R-3-hydroxy-cis-palm-9-eoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU3hcpalm9eACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C27H49N2O9PRSr h}r h(}r h*}r (UCKUHK1UOK UNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubGh)r }r (hNhNhU/trans-3-cis-9-palmitoleoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhUt3c9palmeACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C27H47N2O8PRSr h}r h(}r h*}r (UCKUHK/UOKUNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubG?uhNhU63 hydroxyacyl acyl carrier protein dehydratase n C161 r hEG@@hFGh}r hHh/]r (j j eRr hU3HAD161r hKGhLhMhNhNU( STM0227 or STM1067 )r h(}r hPNubh)r }r (h UCell Envelope Biosynthesisr h }r (h)r }r (hNhNhU*trans-octadec-2-enoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU toctd2eACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C29H53N2O8PRSr h}r h(}r h*}r (UCKUHK5UOKUNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubG?h)r }r (hNhNhU,R-3-Hydroxyoctadecanoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU 3hoctaACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C29H55N2O9PRSr h}r h(}r h*}r (UCKUHK7UOK UNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubGjZG?uhNhU63 hydroxyacyl acyl carrier protein dehydratase n C180 r hEG@@hFGh}r hHh/]r (j j eRr hU3HAD180r hKGhLhMhNhNU( STM1067 or STM0227 )r h(}r hPNubh)r }r (h UCell Envelope Biosynthesisr h }r (jZG?h)r }r (hNhNhU2R-3-hydroxy-cis-vacc-11-enoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU3hcvac11eACP_cr hUEh Jh!Gh"h#)r }r (hNh"U C29H53N2O9PRSr h}r h(}r h*}r (UCKUHK5UOK UNKUPKUSKURKuhj ubh,Uch(}r h.h/]Rr ubGh)r }r (hNhNhU,trans-3-cis-11-vacceoyl-acyl-carrier-proteinr h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]rU0auhUt3c11vaceACP_crhUEh Jh!Gh"h#)r}r(hNh"U C29H51N2O8PRSrh}rh(}rh*}r(UCKUHK3UOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]Rr ubG?uhNhU63 hydroxyacyl acyl carrier protein dehydratase n C181 r hEG@@hFGh}r hHh/]r (j j eRr hU3HAD181rhKGhLhMhNhNU( STM0227 or STM1067 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhU But-2-enoyl-acyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rUC04246raUPUBCHEM]rU6911rauhU but2eACP_crhUEh Jh!Gh"h#)r}r (hNh"U C15H25N2O8PRSr!h}r"h(}r#h*}r$(UCKUHKUOKUNKUPKUSKURKuhj!ubh,Uch(}r%h.h/]Rr&ubG?h)r'}r((hNhNhU%3R-3-Hydroxyacyl-acyl-carrier-proteinr)h}r*(UCHEBI]r+U0aUKEGG]r,UC01271r-aUPUBCHEM]r.U4490r/auhU3haACP_cr0hUEh Jh!Gh"h#)r1}r2(hNh"U C15H27N2O9PRSr3h}r4h(}r5h*}r6(UCKUHKUOK UNKUPKUSKURKuhj3ubh,Uch(}r7h.h/]Rr8ubGjZG?uhNhU53 hydroxyacyl acyl carrier protein dehydratase n C40 r9hEG@@hFGh}r:hHh/]r;(j j eRr<hU3HAD40r=hKGhLhMhNhNU( STM1067 or STM0227 )r>h(}r?hPNubh)r@}rA(h UCell Envelope BiosynthesisrBh }rC(h)rD}rE(hNhNhU&trans-Hex-2-enoyl-acyl-carrier-proteinrFh}rG(UCHEBI]rHU0aUKEGG]rIUC05748rJaUPUBCHEM]rKU8043rLauhU thex2eACP_crMhUEh Jh!Gh"h#)rN}rO(hNh"U C17H29N2O8PRSrPh}rQh(}rRh*}rS(UCKUHKUOKUNKUPKUSKURKuhjPubh,Uch(}rTh.h/]RrUubG?h)rV}rW(hNhNhU(R-3-Hydroxyhexanoyl-acyl-carrier-proteinrXh}rY(UCHEBI]rZU0aUKEGG]r[UC05747r\aUPUBCHEM]r]U8042r^auhU 3hhexACP_cr_hUEh Jh!Gh"h#)r`}ra(hNh"U C17H31N2O9PRSrbh}rch(}rdh*}re(UCKUHKUOK UNKUPKUSKURKuhjbubh,Uch(}rfh.h/]RrgubGjZG?uhNhU53 hydroxyacyl acyl carrier protein dehydratase n C60 rhhEG@@hFGh}rihHh/]rj(j j eRrkhU3HAD60rlhKGhLhMhNhNU( STM1067 or STM0227 )rmh(}rnhPNubh)ro}rp(h UCell Envelope Biosynthesisrqh }rr(h)rs}rt(hNhNhU&trans-Oct-2-enoyl-acyl-carrier-proteinruh}rv(UCHEBI]rwU0aUKEGG]rxUC05751ryaUPUBCHEM]rzU8046r{auhU toct2eACP_cr|hUEh Jh!Gh"h#)r}}r~(hNh"U C19H33N2O8PRSrh}rh(}rh*}r(UCKUHK!UOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU(R-3-Hydroxyoctanoyl-acyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rUC04620raUPUBCHEM]rU7210rauhU 3hoctACP_crhUEh Jh!Gh"h#)r}r(hNh"U C19H35N2O9PRSrh}rh(}rh*}r(UCKUHK#UOK UNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjZG?uhNhU53 hydroxyacyl acyl carrier protein dehydratase n C80 rhEG@@hFGh}rhHh/]r(j j eRrhU3HAD80rhKGhLhMhNhNU( STM1067 or STM0227 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhU3-Dehydro-L-gulonaterh}r(UCHEBI]rU16142raUKEGG]rUC00618raUPUBCHEM]rU3892rauhU 3dhguln_crhUEh Jh!Gh"h#)r}r(hNh"UC6H9O7rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubGjGGjG?h)r}r(hNhNhU3-keto-L-gulonate-6-phosphaterh}r(UCHEBI]rU0aUKEGG]rUC14899raUPUBCHEM]rU0auhU 3dhgulnp_crhUEh Jh!Gh"h#)r}r(hNh"UC6H8O10Prh}rh(}rh*}r(UHKUCKUOK UPKuhjubh,Uch(}rh.h/]RrubG?j4G?uhNhU3 keto L gulonate kinaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUlyxKrh}rjhUSTM3674rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU3KGKrhKGhLhMhNhNjh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(h)r}r(hNhNhUUridinerh}r(UCHEBI]rU16704raUKEGG]rUC00299raUPUBCHEM]rU3593rauhUuri_prhUEh Kh!Gh"h#)r}r(hNh"U C9H12N2O6rh}rh(}rh*}r(UHK UCK UOKUNKuhjubh,Uph(}rh.h/]RrubG?jGh)r}r(hNhNhU Phosphaterh}r(UCHEBI]rU18367raUKEGG]rUC00009raUPUBCHEM]rU3311rauhUpi_prhUEh Jh!Gh"h#)r}r(hNh"UHO4Prh}rh(}rh*}r(UHKUOKUPKuhjubh,Uph(}rh.h/]RrubG?j)GuhNhU3 nucleotidase UMP periplasm rhEG@@hFGh}rhHh/]rj?aRrhU3NTD2pprhKGhLhMhNhNUSTM4403rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jG?j)GjMGh)r}r (hNhNhUCytidiner h}r (UCHEBI]r U17562r aUKEGG]rUC00475raUPUBCHEM]rU3758rauhUcytd_prhUEh Kh!Gh"h#)r}r(hNh"U C9H13N3O5rh}rh(}rh*}r(UHK UCK UOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhU3 nucleotidase CMP periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUsurEr h}r!jhUSTM2927r"h Nh"NjKh,Nh(}r#jU+h.h/]Rr$ubj?eRr%hU3NTD4ppr&hKGhLhMhNhNU( STM4403 or STM2927 )r'h(}r(hPNubh)r)}r*(h UNucleotide Salvage Pathwayr+h }r,(h)r-}r.(hNhNhU Adenosiner/h}r0(UCHEBI]r1U16335r2aUKEGG]r3UC00212r4aUPUBCHEM]r5U3512r6auhUadn_pr7hUEh Kh!Gh"h#)r8}r9(hNh"U C10H13N5O4r:h}r;h(}r<h*}r=(UHK UCK UOKUNKuhj:ubh,Uph(}r>h.h/]Rr?ubG?jjGj)GjG?uhNhU3 nucleotidase AMP periplasm r@hEG@@hFGh}rAhHh/]rB(j?jeRrChU3NTD7pprDhKGhLhMhNhNU( STM4403 or STM2927 )rEh(}rFhPNubh)rG}rH(h UNucleotide Salvage PathwayrIh }rJ(jGh)rK}rL(hNhNhU GuanosinerMh}rN(UCHEBI]rOU16750rPaUKEGG]rQUC00387rRaUPUBCHEM]rSU3677rTauhUgsn_prUhUEh Kh!Gh"h#)rV}rW(hNh"U C10H13N5O5rXh}rYh(}rZh*}r[(UHK UCK UOKUNKuhjXubh,Uph(}r\h.h/]Rr]ubG?jG?j)GuhNhU3 nucleotidase GMP periplasm r^hEG@@hFGh}r_hHh/]r`j?aRrahU3NTD9pprbhKGhLhMhNhNUSTM4403rch(}rdhPNubh)re}rf(h UCell Envelope Biosynthesisrgh }rh(jB G?jU Gjt G?h)ri}rj(hNhNhU"3-Oxodecanoyl-acyl-carrier-proteinrkh}rl(UCHEBI]rmU0aUKEGG]rnUC05753roaUPUBCHEM]rpU8048rqauhU 3odecACP_crrhUEh Jh!Gh"h#)rs}rt(hNh"U C21H37N2O9PRSruh}rvh(}rwh*}rx(UCKUHK%UOK UNKUPKUSKURKuhjuubh,Uch(}ryh.h/]RrzubGjGuhNhU03 oxoacyl acyl carrier protein reductase n C100 r{hEG@@hFG@h}r|hHh/]r}j)r~}r(hNjKhNhUfabGrh}rjhUSTM1195rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU3OAR100rhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhU$3-Oxododecanoyl-acyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rUC05756raUPUBCHEM]rU8051rauhU 3oddecACP_crhUEh Jh!Gh"h#)r}r(hNh"U C23H41N2O9PRSrh}rh(}rh*}r(UCKUHK)UOK UNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjU Gj G?jGjB G?uhNhU03 oxoacyl acyl carrier protein reductase n C120 rhEG@@hFG@h}rhHh/]rj~aRrhU3OAR120rhKGhLhMhNhNUSTM1195rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(j G?h)r}r(hNhNhU,3-oxo-cis-dodec-5-enoyl-acyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU3ocddec5eACP_crhUEh Jh!Gh"h#)r}r(hNh"U C23H39N2O9PRSrh}rh(}rh*}r(UCKUHK'UOK UNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjU GjGjB G?uhNhU03 oxoacyl acyl carrier protein reductase n C121 rhEG@@hFGh}rhHh/]rj~aRrhU3OAR121rhKGhLhMhNhNUSTM1195rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(j G?jB G?jU Gh)r}r(hNhNhU'3-Oxotetradecanoyl-acyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rUC05759raUPUBCHEM]rU8054rauhU 3omrsACP_crhUEh Jh!Gh"h#)r}r(hNh"U C25H45N2O9PRSrh}rh(}rh*}r(UCKUHK-UOK UNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjGuhNhU03 oxoacyl acyl carrier protein reductase n C140 rhEG@@hFG@h}rhHh/]rj~aRrhU3OAR140rhKGhLhMhNhNUSTM1195rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(j: G?jU Gh)r}r(hNhNhU.3-oxo-cis-myristol-7-eoyl-acyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU 3ocmrs7eACP_crhUEh Jh!Gh"h#)r}r(hNh"U C25H43N2O9PRSrh}rh(}rh*}r(UCKUHK+UOK UNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjGjB G?uhNhU03 oxoacyl acyl carrier protein reductase n C141 rhEG@@hFGh}rhHh/]rj~aRrhU3OAR141rhKGhLhMhNhNUSTM1195rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jB G?jw G?jU GjGh)r}r(hNhNhU&3-Oxohexadecanoyl-acyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rUC05762raUPUBCHEM]rU8057rauhU 3opalmACP_crhUEh Jh!Gh"h#)r}r(hNh"U C27H49N2O9PRSrh}r h(}r h*}r (UCKUHK1UOK UNKUPKUSKURKuhjubh,Uch(}r h.h/]Rr ubGuhNhU03 oxoacyl acyl carrier protein reductase n C160 rhEG@@hFG@h}rhHh/]rj~aRrhU3OAR160rhKGhLhMhNhNUSTM1195rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jU Gj G?jB G?jGh)r}r(hNhNhU*3-oxo-cis-palm-9-eoyl-acyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU3ocpalm9eACP_cr hUEh Jh!Gh"h#)r!}r"(hNh"U C27H47N2O9PRSr#h}r$h(}r%h*}r&(UCKUHK/UOK UNKUPKUSKURKuhj#ubh,Uch(}r'h.h/]Rr(ubGuhNhU03 oxoacyl acyl carrier protein reductase n C161 r)hEG@@hFGh}r*hHh/]r+j~aRr,hU3OAR161r-hKGhLhMhNhNUSTM1195r.h(}r/hPNubh)r0}r1(h UCell Envelope Biosynthesisr2h }r3(h)r4}r5(hNhNhU&3-Oxooctadecanoyl-acyl-carrier-proteinr6h}r7(UCHEBI]r8U0aUKEGG]r9U0aUPUBCHEM]r:U0auhU 3ooctdACP_cr;hUEh Jh!Gh"h#)r<}r=(hNh"U C29H53N2O9PRSr>h}r?h(}r@h*}rA(UCKUHK5UOK UNKUPKUSKURKuhj>ubh,Uch(}rBh.h/]RrCubGjB G?j G?jGjU GuhNhU03 oxoacyl acyl carrier protein reductase n C180 rDhEG@@hFG@h}rEhHh/]rFj~aRrGhU3OAR180rHhKGhLhMhNhNUSTM1195rIh(}rJhPNubh)rK}rL(h UCell Envelope BiosynthesisrMh }rN(jB G?jU Gj G?jGh)rO}rP(hNhNhU,3-oxo-cis-vacc-11-enoyl-acyl-carrier-proteinrQh}rR(UCHEBI]rSU0aUKEGG]rTU0aUPUBCHEM]rUU0auhU3ocvac11eACP_crVhUEh Jh!Gh"h#)rW}rX(hNh"U C29H51N2O9PRSrYh}rZh(}r[h*}r\(UCKUHK3UOK UNKUPKUSKURKuhjYubh,Uch(}r]h.h/]Rr^ubGuhNhU03 oxoacyl acyl carrier protein reductase n C181 r_hEG@@hFGh}r`hHh/]raj~aRrbhU3OAR181rchKGhLhMhNhNUSTM1195rdh(}rehPNubh)rf}rg(h UCell Envelope Biosynthesisrhh }ri(jU Gh)rj}rk(hNhNhUAcetoacetyl-ACPrlh}rm(UCHEBI]rnU0aUKEGG]roUC05744rpaUPUBCHEM]rqU8039rrauhUactACP_crshUEh Jh!Gh"h#)rt}ru(hNh"U C15H25N2O9PRSrvh}rwh(}rxh*}ry(UCKUHKUOK UNKUPKUSKURKuhjvubh,Uch(}rzh.h/]Rr{ubGj'G?jGjB G?uhNhU/3 oxoacyl acyl carrier protein reductase n C40 r|hEG@@hFG@h}r}hHh/]r~j~aRrhU3OAR40rhKGhLhMhNhNUSTM1195rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jB G?jVG?h)r}r(hNhNhU"3-Oxohexanoyl-acyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rUC05746raUPUBCHEM]rU8041rauhU 3ohexACP_crhUEh Jh!Gh"h#)r}r(hNh"U C17H29N2O9PRSrh}rh(}rh*}r(UCKUHKUOK UNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjU GjGuhNhU/3 oxoacyl acyl carrier protein reductase n C60 rhEG@@hFG@h}rhHh/]rj~aRrhU3OAR60rhKGhLhMhNhNUSTM1195rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jB G?jG?jU Gh)r}r(hNhNhU"3-Oxooctanoyl-acyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rUC05750raUPUBCHEM]rU8045rauhU 3ooctACP_crhUEh Jh!Gh"h#)r}r(hNh"U C19H33N2O9PRSrh}rh(}rh*}r(UCKUHK!UOK UNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjGuhNhU/3 oxoacyl acyl carrier protein reductase n C80 rhEG@@hFG@h}rhHh/]rj~aRrhU3OAR80rhKGhLhMhNhNUSTM1195rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhUCO2rh}r(UCHEBI]rU16526raUKEGG]rUC00011raUPUBCHEM]rU3313rauhUco2_crhUEh Kh!Gh"h#)r}r(hNh"UCO2rh}rh(}rh*}r(UCKUOKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhUOctanoyl-ACP-n-C80ACPrh}r(UCHEBI]rU0aUKEGG]rUC05752raUPUBCHEM]rU8047rauhUocACP_crhUEh Jh!Gh"h#)r}r(hNh"U C19H35N2O8PRSrh}rh(}rh*}r(UCKUHK#UOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhUMalonyl-acyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rUC01209raUPUBCHEM]rU4431rauhUmalACP_crhUEh Jh!Gh"h#)r}r(hNh"UC14H22N2O10PRSrh}rh(}rh*}r(UCKUHKUOK UNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjGh)r}r(hNhNhUacyl-carrier-proteinrh}r(UCHEBI]rU0aUKEGG]rUC00229raUPUBCHEM]rU3528rauhUACP_crhUEh Jh!Gh"h#)r}r(hNh"U C11H21N2O7PRSrh}rh(}rh*}r(UCK UHKUOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]Rr ubG?jiG?uhNhU/3 oxoacyl acyl carrier protein synthase n C100 r hEG@@hFGh}r hHh/]r (j)r }r(hNjKhNhUfabBrh}rjhUSTM2378rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUfabFrh}rjhUSTM1197rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU3OAS100rhKGhLhMhNhNU( STM2378 or STM1197 )rh(}rhPNubh)r}r (h UCell Envelope Biosynthesisr!h }r"(jG?jG?jGh)r#}r$(hNhNhUDecanoyl-ACP-n-C100ACPr%h}r&(UCHEBI]r'U0aUKEGG]r(UC05755r)aUPUBCHEM]r*U8050r+auhUdcaACP_cr,hUEh Jh!Gh"h#)r-}r.(hNh"U C21H39N2O8PRSr/h}r0h(}r1h*}r2(UCKUHK'UOKUNKUPKUSKURKuhj/ubh,Uch(}r3h.h/]Rr4ubGjG?jGuhNhU/3 oxoacyl acyl carrier protein synthase n C120 r5hEG@@hFGh}r6hHh/]r7(j jeRr8hU3OAS120r9hKGhLhMhNhNU( STM2378 or STM1197 )r:h(}r;hPNubh)r<}r=(h UCell Envelope Biosynthesisr>h }r?(jG?h)r@}rA(hNhNhU+cis-dec-3-enoyl-acyl-carrier-protein-n-C101rBh}rC(UCHEBI]rDU0aUKEGG]rEU0aUPUBCHEM]rFU0auhU cdec3eACP_crGhUEh Jh!Gh"h#)rH}rI(hNh"U C21H37N2O8PRSrJh}rKh(}rLh*}rM(UCKUHK%UOKUNKUPKUSKURKuhjJubh,Uch(}rNh.h/]RrOubGjG?jGjG?jGuhNhU/3 oxoacyl acyl carrier protein synthase n C121 rPhEG@@hFGh}rQhHh/]rRj aRrShU3OAS121rThKGhLhMhNhNUSTM2378rUh(}rVhPNubh)rW}rX(h UCell Envelope BiosynthesisrYh }rZ(jG?jG?h)r[}r\(hNhNhUDodecanoyl-ACP-n-C120ACPr]h}r^(UCHEBI]r_U0aUKEGG]r`UC05223raaUPUBCHEM]rbU7620rcauhU ddcaACP_crdhUEh Jh!Gh"h#)re}rf(hNh"U C23H43N2O8PRSrgh}rhh(}rih*}rj(UCKUHK+UOKUNKUPKUSKURKuhjgubh,Uch(}rkh.h/]RrlubGjGjG?jGuhNhU/3 oxoacyl acyl carrier protein synthase n C140 rmhEG@@hFGh}rnhHh/]ro(j jeRrphU3OAS140rqhKGhLhMhNhNU( STM2378 or STM1197 )rrh(}rshPNubh)rt}ru(h UCell Envelope Biosynthesisrvh }rw(jG?jG?jGh)rx}ry(hNhNhU-cis-dodec-5-enoyl-acyl-carrier-protein-n-C121rzh}r{(UCHEBI]r|U0aUKEGG]r}U0aUPUBCHEM]r~U0auhU cddec5eACP_crhUEh Jh!Gh"h#)r}r(hNh"U C23H41N2O8PRSrh}rh(}rh*}r(UCKUHK)UOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjG?jGuhNhU/3 oxoacyl acyl carrier protein synthase n C141 rhEG@@hFGh}rhHh/]rj aRrhU3OAS141rhKGhLhMhNhNUSTM2378rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jG?jGjG?h)r}r(hNhNhUMyristoyl-ACP-n-C140ACPrh}r(UCHEBI]rU0aUKEGG]rUC05761raUPUBCHEM]rU8056rauhU myrsACP_crhUEh Jh!Gh"h#)r}r(hNh"U C25H47N2O8PRSrh}rh(}rh*}r(UCKUHK/UOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjGjG?uhNhU/3 oxoacyl acyl carrier protein synthase n C160 rhEG@@hFGh}rhHh/]r(j jeRrhU3OAS160rhKGhLhMhNhNU( STM2378 or STM1197 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jG?jG?jGjGjG?h)r}r(hNhNhU0cis-tetradec-7-enoyl-acyl-carrier-protein-n-C141rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUtdeACP_crhUEh Jh!Gh"h#)r}r(hNh"U C25H45N2O8PRSrh}rh(}rh*}r(UCKUHK-UOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGuhNhU/3 oxoacyl acyl carrier protein synthase n C161 rhEG@@hFGh}rhHh/]rj aRrhU3OAS161rhKGhLhMhNhNUSTM2378rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(j4G?jG?h)r}r(hNhNhUPalmitoyl-ACP-n-C160ACPrh}r(UCHEBI]rU0aUKEGG]rUC05764raUPUBCHEM]rU8059rauhU palmACP_crhUEh Jh!Gh"h#)r}r(hNh"U C27H51N2O8PRSrh}rh(}rh*}r(UCKUHK3UOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjGjGjG?uhNhU/3 oxoacyl acyl carrier protein synthase n C180 rhEG@@hFGh}rhHh/]r(j jeRrhU3OAS180rhKGhLhMhNhNU( STM1197 or STM2378 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jOG?jG?jG?h)r}r(hNhNhU/cis-hexadec-9-enoyl-acyl-carrier-protein-n-C161rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUhdeACP_crhUEh Jh!Gh"h#)r}r(hNh"U C27H49N2O8PRSrh}rh(}rh*}r(UCKUHK1UOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjGjGuhNhU/3 oxoacyl acyl carrier protein synthase n C181 rhEG@@hFGh}rhHh/]rjaRrhU3OAS181rhKGhLhMhNhNUSTM1197rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhUButyryl-ACP-n-C40ACPrh}r(UCHEBI]rU0aUKEGG]rUC05745r aUPUBCHEM]r U8040r auhUbutACP_cr hUEh Jh!Gh"h#)r }r(hNh"U C15H27N2O8PRSrh}rh(}rh*}r(UCKUHKUOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubGjG?jGjG?jG?jGuhNhU.3 oxoacyl acyl carrier protein synthase n C60 rhEG@@hFGh}rhHh/]r(j jeRrhU3OAS60rhKGhLhMhNhNU( STM2378 or STM1197 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jG?h)r }r!(hNhNhUHexanoyl-ACP-n-C60ACPr"h}r#(UCHEBI]r$U0aUKEGG]r%UC05749r&aUPUBCHEM]r'U8044r(auhUhexACP_cr)hUEh Jh!Gh"h#)r*}r+(hNh"U C17H31N2O8PRSr,h}r-h(}r.h*}r/(UCKUHKUOKUNKUPKUSKURKuhj,ubh,Uch(}r0h.h/]Rr1ubGjG?jG?jGjGuhNhU.3 oxoacyl acyl carrier protein synthase n C80 r2hEG@@hFGh}r3hHh/]r4(j jeRr5hU3OAS80r6hKGhLhMhNhNU( STM2378 or STM1197 )r7h(}r8hPNubh)r9}r:(h UMurein Recyclingr;h }r<(h)r=}r>(hNhNhU3L-alanine-D-glutamate-meso-2-6-diaminoheptanedioater?h}r@(UCHEBI]rAU0aUKEGG]rBU0aUPUBCHEM]rCU0auhULalaDgluMdap_prDhUEh Jh!Gh"h#)rE}rF(hNh"U C15H25N4O8rGh}rHh(}rIh*}rJ(UHKUCKUOKUNKuhjGubh,Uph(}rKh.h/]RrLubGj4G?h)rM}rN(hNhNhU3L-alanine-D-glutamate-meso-2-6-diaminoheptanedioaterOh}rP(UCHEBI]rQU0aUKEGG]rRU0aUPUBCHEM]rSU0auhULalaDgluMdap_crThUEh Jh!Gh"h#)rU}rV(hNh"U C15H25N4O8rWh}rXh(}rYh*}rZ(UHKUCKUOKUNKuhjWubh,Uch(}r[h.h/]Rr\ubG?jGGjZGjG?jG?uhNhU;tripeptide LalaDgluMdap transport via ABC system periplasm r]hEG@@hFGh}r^hHh/]r_(j)r`}ra(hNjKhNhUmppArbh}rcjhUSTM1679rdh Nh"NjKh,Nh(}rejU+h.h/]Rrfubj)rg}rh(hNjKhNhUoppBrih}rjjhUSTM1745rkh Nh"NjKh,Nh(}rljU+h.h/]Rrmubj)rn}ro(hNjKhNhUoppCrph}rqjhUSTM1744rrh Nh"NjKh,Nh(}rsjU+h.h/]Rrtubj)ru}rv(hNjKhNhUoppDrwh}rxjhUSTM1743ryh Nh"NjKh,Nh(}rzjU+h.h/]Rr{ubj)r|}r}(hNjKhNhUoppFr~h}rjhUSTM1742rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU 3PEPTabcpprhKGhLhMhNhNUC( STM1679 and STM1745 and STM1744 and STM1743 and STM1742 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhU3L-alanine-D-glutamate-meso-2-6-diaminoheptanedioaterh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhULalaDgluMdap_erhUEh Jh!Gh"h#)r}r(hNh"U C15H25N4O8rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Ueh(}rh.h/]RrubGj=G?uhNhUKLalaDgluMdap tripeptide transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU3PEPTtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?h)r}r(hNhNhU3-UMPrh}r(UCHEBI]rU28895raUKEGG]rUC01368raUPUBCHEM]rU4567rauhU3ump_erhUEh Jh!Gh"h#)r}r(hNh"U C9H11N2O9Prh}rh(}rh*}r(UHK UCK UPKUOK UNKuhjubh,Ueh(}rh.h/]RrubGuhNhU83UMP transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU3UMPtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhU4-Hydroxyphenylacetaldehyderh}r(UCHEBI]rU15621raUKEGG]rUC03765raUPUBCHEM]rU6521rauhU 4hoxpacd_prhUEh Kh!Gh"h#)r}r(hNh"UC8H8O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}rh.h/]RrubG?h)r}r(hNhNhU4-Hydroxyphenylacetaldehyderh}r(UCHEBI]rU15621raUKEGG]rUC03765raUPUBCHEM]rU6521rauhU 4hoxpacd_erhUEh Kh!Gh"h#)r}r(hNh"UC8H8O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Ueh(}rh.h/]RrubGuhNhUO4 hydroxyphenylacetaldehyde transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU 4HOXPACDtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UMurein Recyclingrh }r(jZGjMG?h)r}r(hNhNhU D-Alaninerh}r(UCHEBI]rU15570raUKEGG]rUC00133raUPUBCHEM]rU3433rauhUala__D_crhUEh Kh!Gh"h#)r}r(hNh"UC3H7NO2rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?h)r}r (hNhNhU=L-alanine-D-glutamate-meso-2-6-diaminoheptanedioate-D-alaniner h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]rU0auhULalaDgluMdapDala_crhUEh Jh!Gh"h#)r}r(hNh"U C18H30N5O9rh}rh(}rh*}r(UHKUCKUOK UNKuhjubh,Uch(}rh.h/]RrubGuhNhU!tetrapeptide L D carboxypeptidaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUldcArh}rjhUSTM1800rh Nh"NjKh,Nh(}r jU+h.h/]Rr!ubaRr"hU4PCPr#hKGhLhMhNhNjh(}r$hPNubh)r%}r&(h UMurein Recyclingr'h }r((j=G?j)Gh)r)}r*(hNhNhU=L-alanine-D-glutamate-meso-2-6-diaminoheptanedioate-D-alaniner+h}r,(UCHEBI]r-U0aUKEGG]r.U0aUPUBCHEM]r/U0auhULalaDgluMdapDala_pr0hUEh Jh!Gh"h#)r1}r2(hNh"U C18H30N5O9r3h}r4h(}r5h*}r6(UHKUCKUOK UNKuhj3ubh,Uph(}r7h.h/]Rr8ubGh)r9}r:(hNhNhU D-Alaniner;h}r<(UCHEBI]r=U15570r>aUKEGG]r?UC00133r@aUPUBCHEM]rAU3433rBauhUala__D_prChUEh Kh!Gh"h#)rD}rE(hNh"UC3H7NO2rFh}rGh(}rHh*}rI(UHKUCKUOKUNKuhjFubh,Uph(}rJh.h/]RrKubG?uhNhU,tetrapeptide L D carboxypeptidase periplasm rLhEG@@hFGh}rMhHh/]RrNhU4PCPpprOhKGhLhMhNhNUh(}rPhPNubh)rQ}rR(h UMurein RecyclingrSh }rT(j4G?jGGjZGj)GjG?jG?jG?uhNhUAtetrapeptide LalaDgluMdapDala transport via ABC system periplasm rUhEG@@hFGh}rVhHh/]rW(j)rX}rY(hNjKhNhUoppArZh}r[jhU STM1746.Sr\h Nh"NjKh,Nh(}r]jU+h.h/]Rr^ubjnjuj|jgeRr_hU 4PEPTabcppr`hKGhLhMhNhNUE( STM1746.S and STM1745 and STM1744 and STM1743 and STM1742 )rah(}rbhPNubh)rc}rd(h UTransport Outer Membrane Porinreh }rf(h)rg}rh(hNhNhU=L-alanine-D-glutamate-meso-2-6-diaminoheptanedioate-D-alaninerih}rj(UCHEBI]rkU0aUKEGG]rlU0aUPUBCHEM]rmU0auhULalaDgluMdapDala_ernhUEh Jh!Gh"h#)ro}rp(hNh"U C18H30N5O9rqh}rrh(}rsh*}rt(UHKUCKUOK UNKuhjqubh,Ueh(}ruh.h/]RrvubGj)G?uhNhUQLalaDgluMdapDala pentapeptide transport via diffusion extracellular to periplasm rwhEG@@hFG@h}rxhHh/]ry(jjjjeRrzhU4PEPTtexr{hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r|h(}r}hPNubh)r~}r(h UAlternate Carbon Metabolismrh }r(jB G?h)r}r(hNhNhU5-Dehydro-D-gluconaterh}r(UCHEBI]rU17426raUKEGG]rUC01062raUPUBCHEM]rU4301rauhU5dglcn_crhUEh Jh!Gh"h#)r}r(hNh"UC6H9O7rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubGj G?jGjU GuhNhU5 dehydro D gluconate reductaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUidnOrh}rjhUSTM4483rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU5DGLCNRrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jG?jGh)r}r(hNhNhU5-Dehydro-D-gluconaterh}r(UCHEBI]rU17426raUKEGG]rUC01062raUPUBCHEM]rU4301rauhU5dglcn_prhUEh Jh!Gh"h#)r}r(hNh"UC6H9O7rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uph(}rh.h/]RrubGjG?uhNhUH5 Dehydro D gluconate transport via proton symport reversible periplasm rhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUidnTrh}rjhUSTM4482rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU 5DGLCNt2rpprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?h)r}r(hNhNhU5-Dehydro-D-gluconaterh}r(UCHEBI]rU17426raUKEGG]rUC01062raUPUBCHEM]rU4301rauhU5dglcn_erhUEh Jh!Gh"h#)r}r(hNh"UC6H9O7rh}rh(}rh*}r(UHK UCKUOKuhjubh,Ueh(}rh.h/]RrubGuhNhUI5 Dehydro D gluconate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU 5DGLCNtexrhKGhLhMhNhNU2( STM0320 or STM1473 or STM0999 or STM2267 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jZGh)r}r(hNhNhUAdeninerh}r(UCHEBI]rU16708raUKEGG]rUC00147raUPUBCHEM]rU3447rauhUade_crhUEh Kh!Gh"h#)r}r(hNh"UC5H5N5rh}rh(}rh*}r(UHKUCKUNKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU5-Deoxyadenosinerh}r(UCHEBI]rU17319raUKEGG]rUC05198raUPUBCHEM]rU7603rauhUdad__5_crhUEh Kh!Gh"h#)r}r(hNh"U C10H13N5O3rh}r h(}r h*}r (UHK UCK UOKUNKuhjubh,Uch(}r h.h/]Rr ubGh)r}r(hNhNhU 5-deoxyriboserh}r(UCHEBI]rU30797raUKEGG]rU0aUPUBCHEM]rU3449rauhU5drib_crhUEh Kh!Gh"h#)r}r(hNh"UC5H10O4rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubG?uhNhU5 deoxyadenosine nuclosidaser hEG@@hFGh}r!hHh/]r"j)r#}r$(hNjKhNhUpfsr%h}r&jhUSTM0207r'h Nh"NjKh,Nh(}r(jU+h.h/]Rr)ubaRr*hU5DOANr+hKGhLhMhNhNj'h(}r,hPNubh)r-}r.(h UAlternate Carbon Metabolismr/h }r0(h)r1}r2(hNhNhUD-Ribulose-5-phosphater3h}r4(UCHEBI]r5U17363r6aUKEGG]r7UC00199r8aUPUBCHEM]r9U3499r:auhU ru5p__D_cr;hUEh Jh!Gh"h#)r<}r=(hNh"UC5H9O8Pr>h}r?h(}r@h*}rA(UHK UCKUOKUPKuhj>ubh,Uch(}rBh.h/]RrCubGh)rD}rE(hNhNhUD-Arabinose-5-phosphaterFh}rG(UCHEBI]rHU16241rIaUKEGG]rJUC01112rKaUPUBCHEM]rLU4344rMauhUara5p_crNhUEh Jh!Gh"h#)rO}rP(hNh"UC5H9O8PrQh}rRh(}rSh*}rT(UHK UCKUOKUPKuhjQubh,Uch(}rUh.h/]RrVubG?uhNhUarabinose 5 phosphate isomeraserWhEG@@hFG@h}rXhHh/]rY(j)rZ}r[(hNjKhNhUgutQr\h}r]jhU STM2838.Sr^h Nh"NjKh,Nh(}r_jU+h.h/]Rr`ubj)ra}rb(hNjKhNhUyrbHrch}rdjhUSTM3315reh Nh"NjKh,Nh(}rfjU+h.h/]RrgubeRrhhUA5PISOrihKGhLhMhNhNU( STM2838.S or STM3315 )rjh(}rkhPNubh)rl}rm(h UCell Envelope Biosynthesisrnh }ro(jGjG?jGjG?jG?jGGuhNhU,acyl acyl carrier protein synthetase n C140 rphEG@@hFGh}rqhHh/]rr(jj)rs}rt(hNjKhNhUacpPruh}rvjhUSTM1196rwh Nh"NjKh,Nh(}rxjU+h.h/]RryubeRrzhUAACPS1r{hKGhLhMhNhNU( STM3010 and STM1196 )r|h(}r}hPNubh)r~}r(h UCell Envelope Biosynthesisrh }r(jGGjG?jG?jGjG?jGuhNhU-acyl acyl carrier protein synthetase n C141 rhEG@@hFGh}rhHh/]r(jjseRrhUAACPS2rhKGhLhMhNhNU( STM3010 and STM1196 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(j=GjG?jG?jGGjGjG?uhNhU-acyl acyl carrier protein synthetase n C160 rhEG@@hFGh}rhHh/]r(jjseRrhUAACPS3rhKGhLhMhNhNU( STM3010 and STM1196 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jG?jGGjG?j[GjG?jGuhNhU-acyl acyl carrier protein synthetase n C161 rhEG@@hFGh}rhHh/]r(jjseRrhUAACPS4rhKGhLhMhNhNU( STM3010 and STM1196 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhU0cis-octadec-11-enoyl-acyl-carrier-protein-n-C181rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU octeACP_crhUEh Jh!Gh"h#)r}r(hNh"U C29H53N2O8PRSrh}rh(}rh*}r(UCKUHK5UOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubG?jGGjGjG?jGjG?uhNhU-acyl acyl carrier protein synthetase n C181 rhEG@@hFGh}rhHh/]r(jjseRrhUAACPS5rhKGhLhMhNhNU( STM3010 and STM1196 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jGjG?jGGh)r}r(hNhNhUOctadecanoyl-ACP-n-C180ACPrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU ocdcaACP_crhUEh Jh!Gh"h#)r}r(hNh"U C29H55N2O8PRSrh}rh(}rh*}r(UCKUHK7UOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubG?jGjG?uhNhU-acyl acyl carrier protein synthetase n C180 rhEG@@hFGh}rhHh/]r(jjseRrhUAACPS6rhKGhLhMhNhNU( STM3010 and STM1196 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jGjG?j[G?jG?jGGjGuhNhU-acyl acyl carrier protein synthetase n C120 rhEG@@hFGh}rhHh/]r(jjseRrhUAACPS7rhKGhLhMhNhNU( STM3010 and STM1196 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jG?jGGjG?h)r}r(hNhNhUDecanoate-n-C100rh}r(UCHEBI]rU30813raUKEGG]rUC01571raUPUBCHEM]rU4728rauhUdca_crhUEh Jh!Gh"h#)r}r(hNh"UC10H19O2rh}rh(}rh*}r(UHKUCK UOKuhjubh,Uch(}rh.h/]RrubGj#G?jGuhNhU-acyl acyl carrier protein synthetase n C100 rhEG@@hFGh}rhHh/]r(jjseRrhUAACPS8rhKGhLhMhNhNU( STM3010 and STM1196 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jG?jGjG?h)r}r(hNhNhUoctanoate-n-C80rh}r(UCHEBI]rU28837raUKEGG]rUC06423r aUPUBCHEM]r U8658r auhUocta_cr hUEh Jh!Gh"h#)r }r(hNh"UC8H15O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGjGGjG?uhNhU,acyl acyl carrier protein synthetase n C80 rhEG@@hFGh}rhHh/]r(jjseRrhUAACPS9rhKGhLhMhNhNU( STM3010 and STM1196 )rh(}rhPNubh)r}r(h UMethylglyoxal Metabolismrh }r(h)r }r!(hNhNhUHydrogen-peroxider"h}r#(UCHEBI]r$U16240r%aUKEGG]r&UC00027r'aUPUBCHEM]r(U3329r)auhUh2o2_cr*hUEh Kh!Gh"h#)r+}r,(hNh"UH2O2r-h}r.h(}r/h*}r0(UHKUOKuhj-ubh,Uch(}r1h.h/]Rr2ubG?jZGh)r3}r4(hNhNhU Aminoacetoner5h}r6(UCHEBI]r7U17906r8aUKEGG]r9UC01888r:aUPUBCHEM]r;U5001r<auhUaact_cr=hUEh Kh!Gh"h#)r>}r?(hNh"UC3H8NOr@h}rAh(}rBh*}rC(UHKUCKUOKUNKuhj@ubh,Uch(}rDh.h/]RrEubGh)rF}rG(hNhNhU MethylglyoxalrHh}rI(UCHEBI]rJU17158rKaUKEGG]rLUC00546rMaUPUBCHEM]rNU3827rOauhUmthgxl_crPhUEh Kh!Gh"h#)rQ}rR(hNh"UC3H4O2rSh}rTh(}rUh*}rV(UHKUCKUOKuhjSubh,Uch(}rWh.h/]RrXubG?h)rY}rZ(hNhNhUO2r[h}r\(UCHEBI]r]U15379r^aUKEGG]r_UC00007r`aUPUBCHEM]raU3309rbauhUo2_crchUEh Kh!Gh"h#)rd}re(hNh"UO2rfh}rgh(}rhh*}riUOKshjfubh,Uch(}rjh.h/]RrkubGh)rl}rm(hNhNhUAmmoniumrnh}ro(UCHEBI]rpU28938rqaUKEGG]rrUC01342rsaUPUBCHEM]rtU4547ruauhUnh4_crvhUEh Kh!Gh"h#)rw}rx(hNh"UH4Nryh}rzh(}r{h*}r|(UHKUNKuhjyubh,Uch(}r}h.h/]Rr~ubG?uhNhU@Aminoacetoneoxygen oxidoreductase deaminating flavin containing rhEG@@hFGh}rhHh/]RrhUAACTOORrhKGhLhMhNhNUh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j~Gh)r}r(hNhNhU Maltohexaoserh}r(UCHEBI]rU0aUKEGG]rUC01936raUPUBCHEM]rU5041rauhUmalthx_crhUEh Kh!Gh"h#)r}r(hNh"U C36H62O31rh}rh(}rh*}r(UHK>UCK$UOKuhjubh,Uch(}rh.h/]RrubG?uhNhU alpha amylaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUamyArh}rjhUSTM1963rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUAAMYLrhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jmGh)r}r(hNhNhU Maltohexaoserh}r(UCHEBI]rU0aUKEGG]rUC01936raUPUBCHEM]rU5041rauhUmalthx_prhUEh Kh!Gh"h#)r}r(hNh"U C36H62O31rh}rh(}rh*}r(UHK>UCK$UOKuhjubh,Uph(}rh.h/]RrubG?uhNhUalpha amylase periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmalSrh}rjhUSTM3664rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUAAMYLpprhKGhLhMhNhNjh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(h)r}r(hNhNhU4-Aminobutanoaterh}r(UCHEBI]rU16865raUKEGG]rUC00334raUPUBCHEM]rU3628rauhU4abut_crhUEh Kh!Gh"h#)r}r(hNh"UC4H9NO2rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhUSuccinic-semialdehyderh}r(UCHEBI]rU16265raUKEGG]rUC00232raUPUBCHEM]rU3531rauhUsucsal_crhUEh Jh!Gh"h#)r}r(hNh"UC4H5O3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU2-Oxoglutaraterh}r(UCHEBI]rU30915raUKEGG]rUC00026raUPUBCHEM]rU3328rauhUakg_crhUEh Jh!Gh"h#)r}r(hNh"UC5H4O5rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhU L-Glutamater h}r (UCHEBI]r U16015r aUKEGG]r UC00025raUPUBCHEM]rU3327rauhUglu__L_crhUEh Jh!Gh"h#)r}r(hNh"UC5H8NO4rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhU4 aminobutyrate transaminaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUgabTrh}r jhUSTM2792r!h Nh"NjKh,Nh(}r"jU+h.h/]Rr#ubaRr$hUABTAr%hKGhLhMhNhNj!h(}r&hPNubh)r'}r((h UArginine and Proline Metabolismr)h }r*(j GjG?jZGh)r+}r,(hNhNhU4-Aminobutanalr-h}r.(UCHEBI]r/U17769r0aUKEGG]r1UC00555r2aUPUBCHEM]r3U3835r4auhU4abutn_cr5hUEh Kh!Gh"h#)r6}r7(hNh"UC4H10NOr8h}r9h(}r:h*}r;(UHK UCKUOKUNKuhj8ubh,Uch(}r<h.h/]Rr=ubGjG@j G?uhNhU Aminobutyraldehyde dehydrogenaser>hEG@@hFGh}r?hHh/]r@j)rA}rB(hNjKhNhUydcWrCh}rDjhUSTM1597rEh Nh"NjKh,Nh(}rFjU+h.h/]RrGubaRrHhUABUTDrIhKGhLhMhNhNjEh(}rJhPNubh)rK}rL(h UTransport Inner MembranerMh }rN(jG?jGh)rO}rP(hNhNhU4-AminobutanoaterQh}rR(UCHEBI]rSU16865rTaUKEGG]rUUC00334rVaUPUBCHEM]rWU3628rXauhU4abut_prYhUEh Kh!Gh"h#)rZ}r[(hNh"UC4H9NO2r\h}r]h(}r^h*}r_(UHK UCKUOKUNKuhj\ubh,Uph(}r`h.h/]RraubGjG?uhNhU:4 aminobutyrate transport in via proton symport periplasm rbhEG@@hFGh}rchHh/]rdj)re}rf(hNjKhNhUgabPrgh}rhjhUSTM2793rih Nh"NjKh,Nh(}rjjU+h.h/]RrkubaRrlhUABUTt2pprmhKGhLhMhNhNjih(}rnhPNubh)ro}rp(h UTransport Outer Membrane Porinrqh }rr(h)rs}rt(hNhNhU4-Aminobutanoateruh}rv(UCHEBI]rwU16865rxaUKEGG]ryUC00334rzaUPUBCHEM]r{U3628r|auhU4abut_er}hUEh Kh!Gh"h#)r~}r(hNh"UC4H9NO2rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Ueh(}rh.h/]RrubGjOG?uhNhUC4 aminobutyrate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUABUTtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhU Acetoacetaterh}r(UCHEBI]rU0aUKEGG]rUC00164raUPUBCHEM]rU3464rauhUacac_prhUEh Jh!Gh"h#)r}r(hNh"UC4H5O3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}rh.h/]RrubG?h)r}r(hNhNhU Acetoacetaterh}r(UCHEBI]rU0aUKEGG]rUC00164raUPUBCHEM]rU3464rauhUacac_erhUEh Jh!Gh"h#)r}r(hNh"UC4H5O3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Ueh(}rh.h/]RrubGuhNhU@acetoacetate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUACACtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UPyruvate Metabolismrh }r(h)r}r(hNhNhU Acetyl-CoArh}r(UCHEBI]rU15351raUKEGG]rUC00024raUPUBCHEM]rU3326rauhUaccoa_crhUEh Jh!Gh"h#)r}r(hNh"UC23H34N7O17P3Srh}rh(}rh*}r(UCKUHK"UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU Coenzyme-Arh}r(UCHEBI]rU15346raUKEGG]rUC00010raUPUBCHEM]rU3312rauhUcoa_crhUEh Jh!Gh"h#)r}r(hNh"UC21H32N7O16P3Srh}rh(}rh*}r(UCKUHK UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubGjG?j G?h)r}r(hNhNhU Acetaldehyderh}r(UCHEBI]rU15343raUKEGG]rUC00084raUPUBCHEM]rU3384rauhUacald_crhUEh Kh!Gh"h#)r}r(hNh"UC2H4Orh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGj GuhNhU'acetaldehyde dehydrogenase acetylating rhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUadhErh}rjhUSTM1749rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUeutErh}rjhUSTM2463rh Nh"NjKh,Nh(}rjU+h.h/]Rr ubeRr hUACALDr hKGhLhMhNhNU( STM1749 or STM2463 )r h(}r hPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhU Acetaldehyderh}r(UCHEBI]rU15343raUKEGG]rUC00084raUPUBCHEM]rU3384rauhUacald_erhUEh Kh!Gh"h#)r}r(hNh"UC2H4Orh}r h(}r!h*}r"(UHKUCKUOKuhjubh,Ueh(}r#h.h/]Rr$ubGh)r%}r&(hNhNhU Acetaldehyder'h}r((UCHEBI]r)U15343r*aUKEGG]r+UC00084r,aUPUBCHEM]r-U3384r.auhUacald_pr/hUEh Kh!Gh"h#)r0}r1(hNh"UC2H4Or2h}r3h(}r4h*}r5(UHKUCKUOKuhj2ubh,Uph(}r6h.h/]Rr7ubG?uhNhU@acetaldehyde transport via diffusion extracellular to periplasm r8hEG@@hFG@h}r9hHh/]r:(jjjjeRr;hUACALDtexr<hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r=h(}r>hPNubh)r?}r@(h UTransport Inner MembranerAh }rB(j%GjG?uhNhU,acetaldehyde reversible transport periplasm rChEG@@hFG@h}rDhHh/]rEj)rF}rG(hNjKhNhUh}rHjhUs0001rIh Nh"NjKh,Nh(}rJjU+h.h/]RrKubaRrLhUACALDtpprMhKGhLhMhNhNjIh(}rNhPNubh)rO}rP(h U*Cofactor and Prosthetic Group BiosynthesisrQh }rR(h)rS}rT(hNhNhUAdenosine-GDP-cobinamiderUh}rV(UCHEBI]rWU0aUKEGG]rXUC06510rYaUPUBCHEM]rZU8741r[auhU agdpcbi_cr\hUEh Jh!Gh"h#)r]}r^(hNh"UC68H95CoN21O21P2r_h}r`h(}rah*}rb(UCKDUCoKUHK_UOKUNKUPKuhj_ubh,Uch(}rch.h/]RrdubG?h)re}rf(hNhNhUGTPrgh}rh(UCHEBI]riU15996rjaUKEGG]rkUC00044rlaUPUBCHEM]rmU3346rnauhUgtp_crohUEh Jh!Gh"h#)rp}rq(hNh"U C10H12N5O14P3rrh}rsh(}rth*}ru(UHK UCK UPKUOKUNKuhjrubh,Uch(}rvh.h/]RrwubGh)rx}ry(hNhNhUAdenosyl-cobinamide-phosphaterzh}r{(UCHEBI]r|U2481r}aUKEGG]r~UC06509raUPUBCHEM]rU8740rauhU adocbip_crhUEh Jh!Gh"h#)r}r(hNh"UC58H83CoN16O14Prh}rh(}rh*}r(UCK:UCoKUHKSUOKUNKUPKuhjubh,Uch(}rh.h/]RrubGjGjG?uhNhU/Adenosyl cobinamide phosphate guanyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcobUrh}rjhUSTM2018rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUACBIPGTrhKGhLhMhNhNjh(}rhPNubh)r}r(h UMembrane Lipid Metabolismrh }r(jGj4G?jG?jGGjG?h)r}r(hNhNhU Malonyl-CoArh}r(UCHEBI]rU15531raUKEGG]rUC00083raUPUBCHEM]rU3383rauhUmalcoa_crhUEh Jh!Gh"h#)r}r(hNh"UC24H33N7O19P3Srh}rh(}rh*}r(UCKUHK!UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU Bicarbonaterh}r(UCHEBI]rU17544raUKEGG]rUC00288raUPUBCHEM]rU3583rauhUhco3_crhUEh Jh!Gh"h#)r}r(hNh"UCHO3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGuhNhUacetyl CoA carboxylaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUaccDrh}rjhUSTM2366rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUaccBrh}rjhUSTM3379rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUaccCrh}rjhUSTM3380rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUaccArh}rjhUSTM0232rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUACCOACrhKGhLhMhNhNU5( STM0232 and STM2366 and STM3379 and STM3380 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j4G?jGGjGh)r}r(hNhNhUPropionate-n-C30rh}r(UCHEBI]rU30768raUKEGG]rUC00163raUPUBCHEM]rU3463rauhUppa_crhUEh Jh!Gh"h#)r}r(hNh"UC3H5O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhU Propanoyl-CoArh}r(UCHEBI]rU15539raUKEGG]rUC00100raUPUBCHEM]rU3400rauhUppcoa_crhUEh Jh!Gh"h#)r}r(hNh"UC24H36N7O17P3Sr h}r h(}r h*}r (UCKUHK$UOKUNKUPKUSKuhj ubh,Uch(}r h.h/]RrubG?jG?uhNhUacetate CoA ligase ADP forming rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUprpErh}rjhUSTM0371rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUacsrh}rjhUSTM4275rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRr hUACCOALr!hKGhLhMhNhNU( STM0371 or STM4275 )r"h(}r#hPNubh)r$}r%(h UAlternate Carbon Metabolismr&h }r'(jG?h)r(}r)(hNhNhU$N-Acetyl-D-galactosamine-1-phosphater*h}r+(UCHEBI]r,U0aUKEGG]r-U0aUPUBCHEM]r.U0auhU acgal1p_pr/hUEh Jh!Gh"h#)r0}r1(hNh"U C8H14NO9Pr2h}r3h(}r4h*}r5(UHKUCKUPKUOK UNKuhj2ubh,Uph(}r6h.h/]Rr7ubGj)Gh)r8}r9(hNhNhUN-Acetyl-D-galactosaminer:h}r;(UCHEBI]r<U28037r=aUKEGG]r>UC01132r?aUPUBCHEM]r@U4363rAauhUacgal_prBhUEh Kh!Gh"h#)rC}rD(hNh"UC8H15NO6rEh}rFh(}rGh*}rH(UHKUCKUOKUNKuhjEubh,Uph(}rIh.h/]RrJubG?uhNhU1N acetyl D galactosamine 1 phosphatase periplasm rKhEG@@hFGh}rLhHh/]RrMhU ACGAL1PPpprNhKGhLhMhNhNUh(}rOhPNubh)rP}rQ(h UTransport Outer Membrane PorinrRh }rS(h)rT}rU(hNhNhU$N-Acetyl-D-galactosamine-1-phosphaterVh}rW(UCHEBI]rXU0aUKEGG]rYU0aUPUBCHEM]rZU0auhU acgal1p_er[hUEh Jh!Gh"h#)r\}r](hNh"U C8H14NO9Pr^h}r_h(}r`h*}ra(UHKUCKUPKUOK UNKuhj^ubh,Ueh(}rbh.h/]RrcubGj(G?uhNhUXN acetyl D galactosamine 1 phosphate transport via diffusion extracellular to periplasm rdhEG@@hFG@h}rehHh/]rf(jjjjeRrghU ACGAL1PtexrhhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rih(}rjhPNubh)rk}rl(h UTransport Outer Membrane Porinrmh }rn(j8G?h)ro}rp(hNhNhUN-Acetyl-D-galactosaminerqh}rr(UCHEBI]rsU28037rtaUKEGG]ruUC01132rvaUPUBCHEM]rwU4363rxauhUacgal_eryhUEh Kh!Gh"h#)rz}r{(hNh"UC8H15NO6r|h}r}h(}r~h*}r(UHKUCKUOKUNKuhj|ubh,Ueh(}rh.h/]RrubGuhNhULN acetyl D galactosamine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUACGALtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jG?j)Gh)r}r(hNhNhUN-Acetyl-D-glucosaminerh}r(UCHEBI]rU17411raUKEGG]rUC00140raUPUBCHEM]rU3440rauhUacgam_prhUEh Kh!Gh"h#)r}r(hNh"UC8H15NO6rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?h)r}r(hNhNhU"N-Acetyl-D-glucosamine-1-phosphaterh}r(UCHEBI]rU7125raUKEGG]rUC04256raUPUBCHEM]rU6921rauhU acgam1p_prhUEh Jh!Gh"h#)r}r(hNh"U C8H14NO9Prh}rh(}rh*}r(UHKUCKUPKUOK UNKuhjubh,Uph(}rh.h/]RrubGuhNhU/N acetyl D glucosamine 1 phosphatase periplasm rhEG@@hFGh}rhHh/]RrhU ACGAM1PPpprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhU"N-Acetyl-D-glucosamine-1-phosphaterh}r(UCHEBI]rU7125raUKEGG]rUC04256raUPUBCHEM]rU6921rauhU acgam1p_erhUEh Jh!Gh"h#)r}r(hNh"U C8H14NO9Prh}rh(}rh*}r(UHKUCKUPKUOK UNKuhjubh,Ueh(}rh.h/]RrubGjG?uhNhUVN acetyl D glucosamine 1 phosphate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU ACGAM1PtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UMurein Recyclingrh }r(j4G?jGGjG?h)r}r(hNhNhUN-Acetyl-D-glucosaminerh}r(UCHEBI]rU17411raUKEGG]rUC00140raUPUBCHEM]rU3440rauhUacgam_crhUEh Kh!Gh"h#)r}r(hNh"UC8H15NO6rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhU"N-Acetyl-D-glucosamine-6-phosphaterh}r(UCHEBI]rU15784raUKEGG]rUC00357raUPUBCHEM]rU3650rauhU acgam6p_crhUEh Jh!Gh"h#)r}r(hNh"U C8H14NO9Prh}rh(}rh*}r(UHKUCKUPKUOK UNKuhjubh,Uch(}rh.h/]RrubG?uhNhUN acetylglucosamine kinaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUycfXrh}rjhUSTM1220rh Nh"NjKh,Nh(}rjU+h.h/]Rr ubaRr hUACGAMKr hKGhLhMhNhNjh(}r hPNubh)r }r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhUUMPrh}r(UCHEBI]rU16695raUKEGG]rUC00105raUPUBCHEM]rU3405rauhUump_crhUEh Jh!Gh"h#)r}r(hNh"U C9H11N2O9Prh}rh(}r h*}r!(UHK UCK UPKUOK UNKuhjubh,Uch(}r"h.h/]Rr#ubG?h)r$}r%(hNhNhUUndecaprenyl-phosphater&h}r'(UCHEBI]r(U16141r)aUKEGG]r*UC00348r+aUPUBCHEM]r,U3641r-auhUudcpp_cr.hUEh Jh!Gh"h#)r/}r0(hNh"U C55H89O4Pr1h}r2h(}r3h*}r4(UHKYUCK7UOKUPKuhj1ubh,Uch(}r5h.h/]Rr6ubGh)r7}r8(hNhNhUUDP-N-acetyl-D-glucosaminer9h}r:(UCHEBI]r;U16264r<aUKEGG]r=UC00043r>aUPUBCHEM]r?U3345r@auhUuacgam_crAhUEh Jh!Gh"h#)rB}rC(hNh"U C17H25N3O17P2rDh}rEh(}rFh*}rG(UHKUCKUPKUOKUNKuhjDubh,Uch(}rHh.h/]RrIubGh)rJ}rK(hNhNhU+Undecaprenyl-diphospho-N-acetyl-glucosaminerLh}rM(UCHEBI]rNU0aUKEGG]rOUC01289rPaUPUBCHEM]rQU4508rRauhUunaga_crShUEh Jh!Gh"h#)rT}rU(hNh"U C63H103NO12P2rVh}rWh(}rXh*}rY(UHKgUCK?UPKUOK UNKuhjVubh,Uch(}rZh.h/]Rr[ubG?uhNhUXUDP N acetylglucosamineundecaprenylphosphate N acetylglucosamine 1 phosphate transferaser\hEG@@hFGh}r]hHh/]r^j)r_}r`(hNjKhNhUrferah}rbjhUSTM3918rch Nh"NjKh,Nh(}rdjU+h.h/]RreubaRrfhUACGAMTrghKGhLhMhNhNjch(}rhhPNubh)ri}rj(h UTransport Inner Membranerkh }rl(h)rm}rn(hNhNhUPyruvateroh}rp(UCHEBI]rqU32816rraUKEGG]rsUC00022rtaUPUBCHEM]ruU3324rvauhUpyr_crwhUEh Jh!Gh"h#)rx}ry(hNh"UC3H3O3rzh}r{h(}r|h*}r}(UHKUCKUOKuhjzubh,Uch(}r~h.h/]RrubG?jG?jGh)r}r(hNhNhUPhosphoenolpyruvaterh}r(UCHEBI]rU 18021 44897raUKEGG]rUC00074raUPUBCHEM]rU3374rauhUpep_crhUEh Jh!Gh"h#)r}r(hNh"UC3H2O6Prh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Uch(}rh.h/]RrubGuhNhU;N Acetyl D glucosamine transport via PEPPyr PTS periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUptsHrh}rjhUSTM2431rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUptsGrh}rjhUSTM1203rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnagErh}rjhUSTM0685rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUcrrrh}rjhUSTM2433rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUptsIrh}rjhUSTM2432rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU ACGAptspprhKGhLhMhNhNUf( ( STM2433 and STM1203 and STM2431 and STM2432 ) or ( STM0685 and STM2431 and STM2432 ) )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUN-Acetyl-D-glucosaminerh}r(UCHEBI]rU17411raUKEGG]rUC00140raUPUBCHEM]rU3440rauhUacgam_erhUEh Kh!Gh"h#)r}r(hNh"UC8H15NO6rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Ueh(}rh.h/]RrubGjG?uhNhUJN Acetyl D glucosamine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUACGAtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(j4G?jGGh)r}r(hNhNhUN-Acetyl-L-glutamaterh}r(UCHEBI]rU 17533 44337raUKEGG]rUC00624raUPUBCHEM]rU3897rauhUacglu_crhUEh Jh!Gh"h#)r}r(hNh"UC7H9NO5rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhUN-Acetyl-L-glutamyl-5-phosphaterh}r(UCHEBI]rU16878raUKEGG]rUC04133raUPUBCHEM]rU6819rauhUacg5p_crhUEh Jh!Gh"h#)r}r(hNh"UC7H9NO8Prh}rh(}rh*}r(UHK UCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhUacetylglutamate kinaserhEG@@hFGh}rhHh/]rj)r}r (hNjKhNhUargBr h}r jhUSTM4122r h Nh"NjKh,Nh(}r jU+h.h/]RrubaRrhUACGKrhKGhLhMhNhNj h(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(jGjG?jGjG?jG?uhNhUN acetylglutamate synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUargArh}rjhUSTM2992rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRr hUACGSr!hKGhLhMhNhNjh(}r"hPNubh)r#}r$(h U(Valine Leucine and Isoleucine Metabolismr%h }r&(jmGh)r'}r((hNhNhUS-2-Aceto-2-hydroxybutanoater)h}r*(UCHEBI]r+U 27681 49256r,aUKEGG]r-UC06006r.aUPUBCHEM]r/U8279r0auhU2ahbut_cr1hUEh Jh!Gh"h#)r2}r3(hNh"UC6H9O4r4h}r5h(}r6h*}r7(UHK UCKUOKuhj4ubh,Uch(}r8h.h/]Rr9ubG?h)r:}r;(hNhNhU2-Oxobutanoater<h}r=(UCHEBI]r>U30831r?aUKEGG]r@UC00109rAaUPUBCHEM]rBU3409rCauhU2obut_crDhUEh Jh!Gh"h#)rE}rF(hNh"UC4H5O3rGh}rHh(}rIh*}rJ(UHKUCKUOKuhjGubh,Uch(}rKh.h/]RrLubGjG?jGuhNhU#2 aceto 2 hydroxybutanoate synthaserMhEG@@hFGh}rNhHh/]rO(j)rP}rQ(hNjKhNhUilvBrRh}rSjhUSTM3796rTh Nh"NjKh,Nh(}rUjU+h.h/]RrVubj)rW}rX(hNjKhNhUilvMrYh}rZjhUSTM3902r[h Nh"NjKh,Nh(}r\jU+h.h/]Rr]ubj)r^}r_(hNjKhNhUilvNr`h}rajhUSTM3795rbh Nh"NjKh,Nh(}rcjU+h.h/]Rrdubj)re}rf(hNjKhNhUilvGrgh}rhjhUSTM3901rih Nh"NjKh,Nh(}rjjU+h.h/]RrkubeRrlhUACHBSrmhKGhLhMhNhNU8( STM3795 and STM3796 ) or ( STM3901 and STM3902 )rnh(}rohPNubh)rp}rq(h UPyruvate Metabolismrrh }rs(h)rt}ru(hNhNhUAcetatervh}rw(UCHEBI]rxU15366ryaUKEGG]rzUC00033r{aUPUBCHEM]r|U3335r}auhUac_cr~hUEh Jh!Gh"h#)r}r(hNh"UC2H3O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGjGGj4G?h)r}r(hNhNhUAcetyl-phosphaterh}r(UCHEBI]rU15350raUKEGG]rUC00227raUPUBCHEM]rU3527rauhUactp_crhUEh Jh!Gh"h#)r}r(hNh"UC2H3O5Prh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Uch(}rh.h/]RrubG?uhNhUacetate kinaserhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUpurTrh}rjhUSTM1883rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUackArh}rjhUSTM2337rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUtdcDrh}rjhUSTM3242rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUACKrrhKGhLhMhNhNU%( STM3242 or STM2337 or STM1883 )rh(}rhPNubh)r}r(h U(Valine Leucine and Isoleucine Metabolismrh }r(jGjmGh)r}r(hNhNhUS-2-Acetolactaterh}r(UCHEBI]rU18409raUKEGG]rUC06010raUPUBCHEM]rU8282rauhU alac__S_crhUEh Jh!Gh"h#)r}r(hNh"UC5H7O4rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?jG?uhNhUacetolactate synthaserhEG@@hFGh}rhHh/]r(jPjWj^jeeRrhUACLSrhKGhLhMhNhNU8( STM3795 and STM3796 ) or ( STM3901 and STM3902 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jG?jZGh)r}r(hNhNhU D-Lactaterh}r(UCHEBI]rU42111raUKEGG]rUC00256raUPUBCHEM]rU3555rauhUlac__D_crhUEh Jh!Gh"h#)r}r(hNh"UC3H5O3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhUN-acetylmuramate-6-phosphaterh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU acmum6p_crhUEh Jh!Gh"h#)r}r(hNh"U C11H17NO11Prh}rh(}rh*}r(UHKUCK UPKUOK UNKuhjubh,Uch(}rh.h/]RrubGuhNhU&N acetylmuramate 6 phosphate hydrolaserhEG@@hFGh}rhHh/]RrhUACM6PHrhKGhLhMhNhNUh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jJGh)r}r(hNhNhUUDPrh}r(UCHEBI]rU17659r aUKEGG]r UC00015r aUPUBCHEM]r U3317r auhUudp_crhUEh Jh!Gh"h#)r}r(hNh"U C9H11N2O12P2rh}rh(}rh*}r(UHK UCK UPKUOK UNKuhjubh,Uch(}rh.h/]RrubG?jG?h)r}r(hNhNhUDUndecaprenyl-diphospho-N-acetylglucosamine-N-acetylmannosaminuronaterh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU unagamu_crhUEh Jh!Gh"h#)r}r (hNh"UC71H113N2O18P2r!h}r"h(}r#h*}r$(UHKqUCKGUPKUOKUNKuhj!ubh,Uch(}r%h.h/]Rr&ubG?h)r'}r((hNhNhU!UDP-N-acetyl-D-mannosaminouronater)h}r*(UCHEBI]r+U28581r,aUKEGG]r-UC06240r.aUPUBCHEM]r/U8481r0auhU uacmamu_cr1hUEh Jh!Gh"h#)r2}r3(hNh"U C17H22N3O18P2r4h}r5h(}r6h*}r7(UHKUCKUPKUOKUNKuhj4ubh,Uch(}r8h.h/]Rr9ubGuhNhU0UDP N acetyl D mannosaminuronic acid transferaser:hEG@@hFGh}r;hHh/]r<j)r=}r>(hNjKhNhUwecGr?h}r@jhUSTM3929rAh Nh"NjKh,Nh(}rBjU+h.h/]RrCubaRrDhUACMAMUTrEhKGhLhMhNhNjAh(}rFhPNubh)rG}rH(h UTransport Inner MembranerIh }rJ(jmG?h)rK}rL(hNhNhU"N-Acetyl-D-mannosamine-6-phosphaterMh}rN(UCHEBI]rOU28273rPaUKEGG]rQUC04257rRaUPUBCHEM]rSU6922rTauhU acmanap_crUhUEh Jh!Gh"h#)rV}rW(hNh"U C8H14NO9PrXh}rYh(}rZh*}r[(UHKUCKUPKUOK UNKuhjXubh,Uch(}r\h.h/]Rr]ubG?h)r^}r_(hNhNhUN-Acetyl-D-mannosaminer`h}ra(UCHEBI]rbU17122rcaUKEGG]rdUC00645reaUPUBCHEM]rfU3918rgauhUacmana_prhhUEh Kh!Gh"h#)ri}rj(hNh"UC8H15NO6rkh}rlh(}rmh*}rn(UHKUCKUOKUNKuhjkubh,Uph(}roh.h/]RrpubGjGuhNhU4N acetyl D mannosamine transport via PTS periplasm rqhEG@@hFGh}rrhHh/]rs(j)rt}ru(hNjKhNhUmanYrvh}rwjhUSTM1831rxh Nh"NjKh,Nh(}ryjU+h.h/]Rrzubjjj)r{}r|(hNjKhNhUmanXr}h}r~jhUSTM1830rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUmanZrh}rjhUSTM1832rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU ACMANAptspprhKGhLhMhNhNUC( STM1830 and STM1831 and STM1832 and STM2431 and STM2432 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUN-Acetyl-D-mannosaminerh}r(UCHEBI]rU17122raUKEGG]rUC00645raUPUBCHEM]rU3918rauhUacmana_erhUEh Kh!Gh"h#)r}r(hNh"UC8H15NO6rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Ueh(}rh.h/]RrubGj^G?uhNhUJN acetyl D mannosamine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU ACMANAtexrhKGhLhMhNhNU2( STM2267 or STM0320 or STM0999 or STM1473 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUN-Acetylmuramaterh}r(UCHEBI]rU0aUKEGG]rUC02713raUPUBCHEM]rU5676rauhUacmum_prhUEh Jh!Gh"h#)r}r(hNh"U C11H18NO8rh}rh(}rh*}r(UHKUCK UOKUNKuhjubh,Uph(}rh.h/]RrubG?h)r}r(hNhNhUN-Acetylmuramaterh}r(UCHEBI]rU0aUKEGG]rUC02713raUPUBCHEM]rU5676rauhUacmum_erhUEh Jh!Gh"h#)r}r(hNh"U C11H18NO8rh}rh(}rh*}r(UHKUCK UOKUNKuhjubh,Ueh(}rh.h/]RrubGuhNhUDN acetylmuramate transport via diffusion extracellular to periplasm rhEG@@hFGh}rhHh/]r(jjjjeRrhUACMUMtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUN-Acetylneuraminaterh}r(UCHEBI]rU17012raUKEGG]rUC00270raUPUBCHEM]rU3568rauhUacnam_prhUEh Jh!Gh"h#)r}r(hNh"U C11H18NO9rh}rh(}rh*}r(UHKUCK UOK UNKuhjubh,Uph(}rh.h/]RrubGjGh)r}r(hNhNhUN-Acetylneuraminaterh}r(UCHEBI]rU17012raUKEGG]rUC00270raUPUBCHEM]rU3568rauhUacnam_crhUEh Jh!Gh"h#)r}r(hNh"U C11H18NO9rh}rh(}rh*}r(UHKUCK UOK UNKuhjubh,Uch(}rh.h/]RrubG?jG?uhNhU-N acetylneuraminate proton symport periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUnanTr h}r jhUSTM3338r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubaRrhU ACNAMt2pprhKGhLhMhNhNj h(}rhPNubh)r}r(h UTransport Outer Membranerh }r(h)r}r(hNhNhUN-Acetylneuraminaterh}r(UCHEBI]rU17012raUKEGG]rUC00270raUPUBCHEM]rU3568rauhUacnam_erhUEh Jh!Gh"h#)r }r!(hNh"U C11H18NO9r"h}r#h(}r$h*}r%(UHKUCK UOK UNKuhj"ubh,Ueh(}r&h.h/]Rr'ubGjG?uhNhUGN acetylneuraminate transport via diffusion extracellular to periplasm r(hEG@@hFG@h}r)hHh/]r*(jjeRr+hUACNAMtexr,hKGhLhMhNhNU( STM0999 or STM2267 )r-h(}r.hPNubh)r/}r0(h UAlternate Carbon Metabolismr1h }r2(jmG?h)r3}r4(hNhNhUN-Acetyl-D-mannosaminer5h}r6(UCHEBI]r7U17122r8aUKEGG]r9UC00645r:aUPUBCHEM]r;U3918r<auhUacmana_cr=hUEh Kh!Gh"h#)r>}r?(hNh"UC8H15NO6r@h}rAh(}rBh*}rC(UHKUCKUOKUNKuhj@ubh,Uch(}rDh.h/]RrEubG?jGuhNhUN Acetylneuraminate lyaserFhEG@@hFGh}rGhHh/]rHj)rI}rJ(hNjKhNhUnanArKh}rLjhUSTM3339rMh Nh"NjKh,Nh(}rNjU+h.h/]RrOubaRrPhUACNMLrQhKGhLhMhNhNjMh(}rRhPNubh)rS}rT(h UMembrane Lipid MetabolismrUh }rV(h)rW}rX(hNhNhU Butanoyl-CoArYh}rZ(UCHEBI]r[U15517r\aUKEGG]r]UC00136r^aUPUBCHEM]r_U3436r`auhUbtcoa_crahUEh Jh!Gh"h#)rb}rc(hNh"UC25H38N7O17P3Srdh}reh(}rfh*}rg(UCKUHK&UOKUNKUPKUSKuhjdubh,Uch(}rhh.h/]RriubGh)rj}rk(hNhNhU#Flavin-adenine-dinucleotide-reducedrlh}rm(UCHEBI]rnU17877roaUKEGG]rpUC01352rqaUPUBCHEM]rrU4556rsauhUfadh2_crthUEh Jh!Gh"h#)ru}rv(hNh"U C27H33N9O15P2rwh}rxh(}ryh*}rz(UHK!UCKUPKUOKUNK uhjwubh,Uch(}r{h.h/]Rr|ubG?h)r}}r~(hNhNhU Crotonoyl-CoArh}r(UCHEBI]rU0aUKEGG]rUC00877raUPUBCHEM]rU4133rauhUb2coa_crhUEh Jh!Gh"h#)r}r(hNh"UC25H36N7O17P3Srh}rh(}rh*}r(UCKUHK$UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU$Flavin-adenine-dinucleotide-oxidizedrh}r(UCHEBI]rU16238raUKEGG]rUC00016raUPUBCHEM]rU3318rauhUfad_crhUEh Jh!Gh"h#)r}r(hNh"U C27H31N9O15P2rh}rh(}rh*}r(UHKUCKUPKUOKUNK uhjubh,Uch(}rh.h/]RrubGuhNhU$acyl CoA dehydrogenase butanoyl CoA rhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUfadErh}rjhUSTM0309rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUACOAD1frhKGhLhMhNhNjh(}rhPNubh)r}r(h UMembrane Lipid Metabolismrh }r(jjG?h)r}r(hNhNhUHexanoyl-CoA-n-C60CoArh}r(UCHEBI]rU27540raUKEGG]rUC05270raUPUBCHEM]rU7657rauhUhxcoa_crhUEh Jh!Gh"h#)r}r(hNh"UC27H42N7O17P3Srh}rh(}rh*}r(UCKUHK*UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhUtrans-Hex-2-enoyl-CoArh}r(UCHEBI]rU28706raUKEGG]rUC05271raUPUBCHEM]rU7658rauhUhx2coa_crhUEh Jh!Gh"h#)r}r(hNh"UC27H40N7O17P3Srh}rh(}rh*}r(UCKUHK(UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubG?jGuhNhU$acyl CoA dehydrogenase hexanoyl CoA rhEG@@hFG@h}rhHh/]rjaRrhUACOAD2frhKGhLhMhNhNUSTM0309rh(}rhPNubh)r}r(h UMembrane Lipid Metabolismrh }r(jjG?h)r}r(hNhNhUtrans-Oct-2-enoyl-CoArh}r(UCHEBI]rU27537raUKEGG]rUC05276raUPUBCHEM]rU7663rauhUoc2coa_crhUEh Jh!Gh"h#)r}r(hNh"UC29H44N7O17P3Srh}rh(}rh*}r(UCKUHK,UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubG?jGh)r}r(hNhNhUOctanoyl-CoA-n-C80CoArh}r(UCHEBI]rU15533raUKEGG]rUC01944raUPUBCHEM]rU5048rauhUoccoa_crhUEh Jh!Gh"h#)r}r(hNh"UC29H46N7O17P3Srh}rh(}rh*}r(UCKUHK.UOKUNKUPKUSKuhjubh,Uch(}rh.h/]Rr ubGuhNhU$acyl CoA dehydrogenase octanoyl CoA r hEG@@hFG@h}r hHh/]r jaRr hUACOAD3frhKGhLhMhNhNUSTM0309rh(}rhPNubh)r}r(h UMembrane Lipid Metabolismrh }r(h)r}r(hNhNhUDecanoyl-CoA-n-C100CoArh}r(UCHEBI]rU28493raUKEGG]rUC05274raUPUBCHEM]rU7661rauhUdcacoa_crhUEh Jh!Gh"h#)r }r!(hNh"UC31H50N7O17P3Sr"h}r#h(}r$h*}r%(UCKUHK2UOKUNKUPKUSKuhj"ubh,Uch(}r&h.h/]Rr'ubGjjG?h)r(}r)(hNhNhUtrans-Dec-2-enoyl-CoAr*h}r+(UCHEBI]r,U10723r-aUKEGG]r.UC05275r/aUPUBCHEM]r0U7662r1auhUdc2coa_cr2hUEh Jh!Gh"h#)r3}r4(hNh"UC31H48N7O17P3Sr5h}r6h(}r7h*}r8(UCKUHK0UOKUNKUPKUSKuhj5ubh,Uch(}r9h.h/]Rr:ubG?jGuhNhU$acyl CoA dehydrogenase decanoyl CoA r;hEG@@hFG@h}r<hHh/]r=jaRr>hUACOAD4fr?hKGhLhMhNhNUSTM0309r@h(}rAhPNubh)rB}rC(h UMembrane Lipid MetabolismrDh }rE(h)rF}rG(hNhNhUDodecanoyl-CoA-n-C120CoArHh}rI(UCHEBI]rJU15521rKaUKEGG]rLUC01832rMaUPUBCHEM]rNU4951rOauhU ddcacoa_crPhUEh Jh!Gh"h#)rQ}rR(hNh"UC33H54N7O17P3SrSh}rTh(}rUh*}rV(UCK!UHK6UOKUNKUPKUSKuhjSubh,Uch(}rWh.h/]RrXubGjjG?h)rY}rZ(hNhNhUtrans-Dodec-2-enoyl-CoAr[h}r\(UCHEBI]r]U15471r^aUKEGG]r_UC03221r`aUPUBCHEM]raU6094rbauhUdd2coa_crchUEh Jh!Gh"h#)rd}re(hNh"UC33H52N7O17P3Srfh}rgh(}rhh*}ri(UCK!UHK4UOKUNKUPKUSKuhjfubh,Uch(}rjh.h/]RrkubG?jGuhNhU&acyl CoA dehydrogenase dodecanoyl CoA rlhEG@@hFG@h}rmhHh/]rnjaRrohUACOAD5frphKGhLhMhNhNUSTM0309rqh(}rrhPNubh)rs}rt(h UMembrane Lipid Metabolismruh }rv(jjG?jGh)rw}rx(hNhNhUtrans-Tetradec-2-enoyl-CoAryh}rz(UCHEBI]r{U27721r|aUKEGG]r}UC05273r~aUPUBCHEM]rU7660rauhUtd2coa_crhUEh Jh!Gh"h#)r}r(hNh"UC35H56N7O17P3Srh}rh(}rh*}r(UCK#UHK8UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhUTetradecanoyl-CoA-n-C140CoArh}r(UCHEBI]rU15532raUKEGG]rUC02593raUPUBCHEM]rU5585rauhUtdcoa_crhUEh Jh!Gh"h#)r}r(hNh"UC35H58N7O17P3Srh}rh(}rh*}r(UCK#UHK:UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubGuhNhU)acyl CoA dehydrogenase tetradecanoyl CoA rhEG@@hFG@h}rhHh/]rjaRrhUACOAD6frhKGhLhMhNhNUSTM0309rh(}rhPNubh)r}r(h UMembrane Lipid Metabolismrh }r(jjG?h)r}r(hNhNhUtrans-Hexadec-2-enoyl-CoArh}r(UCHEBI]rU28935raUKEGG]rUC05272raUPUBCHEM]rU7659rauhU hdd2coa_crhUEh Jh!Gh"h#)r}r(hNh"UC37H60N7O17P3Srh}rh(}rh*}r(UCK%UHKUOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubGjGuhNhU(acyl CoA dehydrogenase hexadecanoyl CoA rhEG@@hFG@h}rhHh/]rjaRrhUACOAD7frhKGhLhMhNhNUSTM0309rh(}rhPNubh)r}r(h UMembrane Lipid Metabolismrh }r(h)r}r(hNhNhUtrans-Octadec-2-enoyl-CoArh}r(UCHEBI]rU0aUKEGG]rUC16218raUPUBCHEM]rU47205526rauhUod2coa_crhUEh Jh!Gh"h#)r}r(hNh"UC39H64N7O17P3Srh}rh(}rh*}r(UCK'UHK@UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubG?jjG?h)r}r(hNhNhUStearoyl-CoA-n-C180CoArh}r(UCHEBI]rU15541raUKEGG]rUC00412raUPUBCHEM]rU3702rauhUstcoa_crhUEh Jh!Gh"h#)r}r(hNh"UC39H66N7O17P3Srh}rh(}rh*}r(UCK'UHKBUOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubGjGuhNhU(acyl CoA dehydrogenase octadecanoyl CoA rhEG@@hFG@h}rhHh/]rjaRrhUACOAD8frhKGhLhMhNhNUSTM0309rh(}rhPNubh)r}r(h UMembrane Lipid Metabolismrh }r(jGjG?jGh)r }r (hNhNhU Acetyl-ACPr h}r (UCHEBI]r U0aUKEGG]rUC03939raUPUBCHEM]rU6663rauhUacACP_crhUEh Jh!Gh"h#)r}r(hNh"U C13H23N2O8PRSrh}rh(}rh*}r(UCK UHKUOKUNKUPKUSKURKuhjubh,Uch(}rh.h/]RrubG?uhNhUAcetyl CoA ACP transacylaserhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUfabHr h}r!jhUSTM1193r"h Nh"NjKh,Nh(}r#jU+h.h/]Rr$ubjseRr%hUACOATAr&hKGhLhMhNhNU( STM1196 and STM1193 )r'h(}r(hPNubh)r)}r*(h UArginine and Proline Metabolismr+h }r,(jtG?jZGh)r-}r.(hNhNhUN2-Acetyl-L-ornithiner/h}r0(UCHEBI]r1U16543r2aUKEGG]r3UC00437r4aUPUBCHEM]r5U3726r6auhUacorn_cr7hUEh Kh!Gh"h#)r8}r9(hNh"U C7H14N2O3r:h}r;h(}r<h*}r=(UHKUCKUOKUNKuhj:ubh,Uch(}r>h.h/]Rr?ubGh)r@}rA(hNhNhU OrnithinerBh}rC(UCHEBI]rDU18257rEaUKEGG]rFUC01602rGaUPUBCHEM]rHU4756rIauhUorn_crJhUEh Kh!Gh"h#)rK}rL(hNh"U C5H13N2O2rMh}rNh(}rOh*}rP(UHK UCKUOKUNKuhjMubh,Uch(}rQh.h/]RrRubG?uhNhUacetylornithine deacetylaserShEG@@hFGh}rThHh/]rUj)rV}rW(hNjKhNhUargErXh}rYjhUSTM4120rZh Nh"NjKh,Nh(}r[jU+h.h/]Rr\ubaRr]hUACODAr^hKGhLhMhNhNjZh(}r_hPNubh)r`}ra(h U)Lipopolysaccharide Biosynthesis Recyclingrbh }rc(h)rd}re(hNhNhUA4-Amino-4-deoxy-L-arabinose-modified-core-oligosaccharide-lipid-Arfh}rg(UCHEBI]rhU0aUKEGG]riU0aUPUBCHEM]rjU0auhU acolipa_prkhUEh Jh!Gh"h#)rl}rm(hNh"UC181H314N3O103P4rnh}roh(}rph*}rq(UHM:UCKUPKUOKgUNKuhjnubh,Uph(}rrh.h/]RrsubGh)rt}ru(hNhNhUA4-Amino-4-deoxy-L-arabinose-modified-core-oligosaccharide-lipid-Arvh}rw(UCHEBI]rxU0aUKEGG]ryU0aUPUBCHEM]rzU0auhU acolipa_er{hUEh Jh!Gh"h#)r|}r}(hNh"UC181H314N3O103P4r~h}rh(}rh*}r(UHM:UCKUPKUOKgUNKuhj~ubh,Ueh(}rh.h/]RrubG?uhNhU`arabinose modified core oligosaccharide lipid A transport via vector periplasm to extracellular rhEG@@hFGh}rhHh/]RrhU ACOLIPAtexrhKGhLhMhNhNUh(}rhPNubh)r}r(h U Unassignedrh }r(h)r}r(hNhNhUtrans-Aconitaterh}r(UCHEBI]rU32806raUKEGG]rUC02341raUPUBCHEM]rU5390rauhU acon__T_crhUEh Jh!Gh"h#)r}r(hNh"UC6H3O6rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhU cis-Aconitaterh}r(UCHEBI]rU32805raUKEGG]rUC00417raUPUBCHEM]rU3707rauhU acon__C_crhUEh Jh!Gh"h#)r}r(hNh"UC6H3O6rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?uhNhU aconitate isomerase spontaneous rhEG@@hFG@h}rhHh/]rjFaRrhUACONIsrhKGhLhMhNhNUs0001rh(}rhPNubh)r}r(h UCitric Acid Cyclerh }r(jZG?jG?h)r}r(hNhNhUCitraterh}r(UCHEBI]rU30769raUKEGG]rUC00158raUPUBCHEM]rU3458rauhUcit_crhUEh Jh!Gh"h#)r}r(hNh"UC6H5O7rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGuhNhU.aconitase half reaction A Citrate hydro lyase rhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUacnBrh}rjhUSTM0158rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUacnArh}rjhUSTM1712rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUACONTarhKGhLhMhNhNU( STM0158 or STM1712 )rh(}rhPNubh)r}r(h UCitric Acid Cyclerh }r(jGjZGh)r}r(hNhNhU Isocitraterh}r(UCHEBI]rU30887raUKEGG]rUC00311raUPUBCHEM]rU3605rauhUicit_crhUEh Jh!Gh"h#)r}r(hNh"UC6H5O7rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?uhNhU1aconitase half reaction B Isocitrate hydro lyase rhEG@@hFG@h}rhHh/]r(jjeRrhUACONTbrhKGhLhMhNhNU( STM0158 or STM1712 )rh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(h)r}r (hNhNhU#N-Acetyl-L-glutamate-5-semialdehyder h}r (UCHEBI]r U 16319 29123r aUKEGG]rUC01250raUPUBCHEM]rU4470rauhUacg5sa_crhUEh Jh!Gh"h#)r}r(hNh"UC7H10NO4rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?j-GjGjG?uhNhUacetylornithine transaminaserhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUargDr h}r!jhUSTM3468r"h Nh"NjKh,Nh(}r#jU+h.h/]Rr$ubj)r%}r&(hNjKhNhUargDr'h}r(jhUSTM1303r)h Nh"NjKh,Nh(}r*jU+h.h/]Rr+ubeRr,hUACOTAr-hKGhLhMhNhNU( STM3468 or STM1303 )r.h(}r/hPNubh)r0}r1(h U*Cofactor and Prosthetic Group Biosynthesisr2h }r3(h)r4}r5(hNhNhUAdenosine-3-5-bisphosphater6h}r7(UCHEBI]r8U17985r9aUKEGG]r:UC00054r;aUPUBCHEM]r<U3356r=auhUpap_cr>hUEh Jh!Gh"h#)r?}r@(hNh"U C10H11N5O10P2rAh}rBh(}rCh*}rD(UHK UCK UPKUOK UNKuhjAubh,Uch(}rEh.h/]RrFubG?jGjG?jG?h)rG}rH(hNhNhUapoprotein-acyl-carrier-proteinrIh}rJ(UCHEBI]rKU0aUKEGG]rLUC03688rMaUPUBCHEM]rNU6463rOauhUapoACP_crPhUEh Kh!Gh"h#)rQ}rR(hNh"URHOrSh}rTh(}rUh*}rV(UHKURKUOKuhjSubh,Uch(}rWh.h/]RrXubGuhNhUacyl carrier protein synthaserYhEG@@hFGh}rZhHh/]r[(j)r\}r](hNjKhNhUacpSr^h}r_jhUSTM2577r`h Nh"NjKh,Nh(}rajU+h.h/]Rrbubj)rc}rd(hNjKhNhUacpTreh}rfjhUSTM3583rgh Nh"NjKh,Nh(}rhjU+h.h/]RriubeRrjhUACPS1rkhKGhLhMhNhNU( STM2577 or STM3583 )rlh(}rmhPNubh)rn}ro(h UPyruvate Metabolismrph }rq(jtGjG?jGGjG?jGjG?uhNhUacetyl CoA synthetaserrhEG@@hFGh}rshHh/]rtjaRruhUACSrvhKGhLhMhNhNUSTM4275rwh(}rxhPNubh)ry}rz(h UTransport Outer Membrane Porinr{h }r|(h)r}}r~(hNhNhUO-Acetyl-L-serinerh}r(UCHEBI]rU17981raUKEGG]rUC00979raUPUBCHEM]rU4228rauhUacser_erhUEh Kh!Gh"h#)r}r(hNh"UC5H9NO4rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Ueh(}rh.h/]RrubGh)r}r(hNhNhUO-Acetyl-L-serinerh}r(UCHEBI]rU17981raUKEGG]rUC00979raUPUBCHEM]rU4228rauhUacser_prhUEh Kh!Gh"h#)r}r(hNh"UC5H9NO4rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhUEO Acetyl L serine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUACSERtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUO-Acetyl-L-serinerh}r(UCHEBI]rU17981raUKEGG]rUC00979raUPUBCHEM]rU4228rauhUacser_crhUEh Kh!Gh"h#)r}r(hNh"UC5H9NO4rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubGjG?uhNhU2O Acetyl L serine export via facilitated transportrhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUydeDrh}rjhUSTM1517rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUyfiKrh}rjhUSTM2645rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUACSERtpprhKGhLhMhNhNU( STM2645 or STM1517 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUAcetaterh}r(UCHEBI]rU15366raUKEGG]rUC00033raUPUBCHEM]rU3335rauhUac_prhUEh Jh!Gh"h#)r}r(hNh"UC2H3O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}rh.h/]RrubGjGjtG?jG?uhNhU:acetate reversible transport via proton symport periplasm rhEG@@hFG@h}rhHh/]RrhUACt2rpprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jtG?h)r}r(hNhNhUSodiumrh}r(UCHEBI]rU29101raUKEGG]rUC01330raUPUBCHEM]rU4541rauhUna1_cr hUEh Kh!Gh"h#)r }r (hNh"UNar h}r h(}r h*}r j Kshj ubh,Uch(}r h.h/]Rr ubG?h)r }r (hNhNhUSodiumr h}r (UCHEBI]r U29101r aUKEGG]r UC01330r aUPUBCHEM]r U4541r auhUna1_pr hUEh Kh!Gh"h#)r }r (hNh"UNar h}r h(}r h*}r j Kshj ubh,Uph(}r h.h/]Rr ubGjGuhNhUNaAcetate symport periplasm r hEG@@hFGh}r hHh/]r j)r }r (hNjKhNhUactPr! h}r" jhUSTM4273r# h Nh"NjKh,Nh(}r$ jU+h.h/]Rr% ubaRr& hUACt4ppr' hKGhLhMhNhNj# h(}r( hPNubh)r) }r* (h UTransport Outer Membrane Porinr+ h }r, (h)r- }r. (hNhNhUAcetater/ h}r0 (UCHEBI]r1 U15366r2 aUKEGG]r3 UC00033r4 aUPUBCHEM]r5 U3335r6 auhUac_er7 hUEh Jh!Gh"h#)r8 }r9 (hNh"UC2H3O2r: h}r; h(}r< h*}r= (UHKUCKUOKuhj: ubh,Ueh(}r> h.h/]Rr? ubGjG?uhNhU;Acetate transport via diffusion extracellular to periplasm r@ hEG@@hFG@h}rA hHh/]rB (jjjjeRrC hUACtexrD hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rE h(}rF hPNubh)rG }rH (h UNucleotide Salvage PathwayrI h }rJ (jZGh)rK }rL (hNhNhUInosinerM h}rN (UCHEBI]rO U17596rP aUKEGG]rQ UC00294rR aUPUBCHEM]rS U3588rT auhUins_crU hUEh Kh!Gh"h#)rV }rW (hNh"U C10H12N4O5rX h}rY h(}rZ h*}r[ (UHK UCK UOKUNKuhjX ubh,Uch(}r\ h.h/]Rr] ubG?h)r^ }r_ (hNhNhU Adenosiner` h}ra (UCHEBI]rb U16335rc aUKEGG]rd UC00212re aUPUBCHEM]rf U3512rg auhUadn_crh hUEh Kh!Gh"h#)ri }rj (hNh"U C10H13N5O4rk h}rl h(}rm h*}rn (UHK UCK UOKUNKuhjk ubh,Uch(}ro h.h/]Rrp ubGjGjlG?uhNhUAdenosine deaminaserq hEG@@hFGh}rr hHh/]rs j)rt }ru (hNjKhNhUaddrv h}rw jhUSTM1463rx h Nh"NjKh,Nh(}ry jU+h.h/]Rrz ubaRr{ hUADAr| hKGhLhMhNhNjx h(}r} hPNubh)r~ }r (h U*Cofactor and Prosthetic Group Biosynthesisr h }r (h)r }r (hNhNhU4-amino-4-deoxychorismater h}r (UCHEBI]r U 18198 35181r aUKEGG]r UC11355r aUPUBCHEM]r U13530r auhU4adcho_cr hUEh Jh!Gh"h#)r }r (hNh"U C10H10NO5r h}r h(}r h*}r (UHK UCK UOKUNKuhj ubh,Uch(}r h.h/]Rr ubGh)r }r (hNhNhU4-Aminobenzoater h}r (UCHEBI]r U30753r aUKEGG]r UC00568r aUPUBCHEM]r U3847r auhU4abz_cr hUEh Jh!Gh"h#)r }r (hNh"UC7H6NO2r h}r h(}r h*}r (UHKUCKUOKUNKuhj ubh,Uch(}r h.h/]Rr ubG?jG?jmG?uhNhU4 aminobenzoate synthaser hEG@@hFGh}r hHh/]r j)r }r (hNjKhNhUpabCr h}r jhUSTM1198r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubaRr hUADCLr hKGhLhMhNhNj h(}r hPNubh)r }r (h U*Cofactor and Prosthetic Group Biosynthesisr h }r (h)r }r (hNhNhU chorismater h}r (UCHEBI]r U17333r aUKEGG]r UC00251r aUPUBCHEM]r U3550r auhUchor_cr hUEh Jh!Gh"h#)r }r (hNh"UC10H8O6r h}r h(}r h*}r (UHKUCK UOKuhj ubh,Uch(}r h.h/]Rr ubGjG?h)r }r (hNhNhU L-Glutaminer h}r (UCHEBI]r U18050r aUKEGG]r UC00064r aUPUBCHEM]r U3364r auhUgln__L_cr hUEh Kh!Gh"h#)r }r (hNh"U C5H10N2O3r h}r h(}r h*}r (UHK UCKUOKUNKuhj ubh,Uch(}r h.h/]Rr ubGj G?uhNhU"4 amino 4 deoxychorismate synthaser hEG@@hFGh}r hHh/]r (j)r }r (hNjKhNhUpabAr h}r jhUSTM3469r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubj)r }r (hNjKhNhUpabBr h}r jhUSTM1824r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubeRr hUADCSr hKGhLhMhNhNU( STM3469 and STM1824 )r h(}r hPNubh)r }r (h UTransport Inner Membraner h }r (h)r }r (hNhNhUAdeniner h}r (UCHEBI]r U16708r aUKEGG]r UC00147r aUPUBCHEM]r!U3447r!auhUade_pr!hUEh Kh!Gh"h#)r!}r!(hNh"UC5H5N5r!h}r!h(}r!h*}r!(UHKUCKUNKuhj!ubh,Uph(}r !h.h/]Rr !ubGjG?jGjG?uhNhU;adenine transport via proton symport reversible periplasm r !hEG@@hFG@h}r !hHh/]r !j)r!}r!(hNjKhNhUyicEr!h}r!jhUSTM3747r!h Nh"NjKh,Nh(}r!jU+h.h/]Rr!ubaRr!hUADEt2rppr!hKGhLhMhNhNj!h(}r!hPNubh)r!}r!(h UTransport Outer Membrane Porinr!h }r!(j G?h)r!}r!(hNhNhUAdeniner!h}r!(UCHEBI]r !U16708r!!aUKEGG]r"!UC00147r#!aUPUBCHEM]r$!U3447r%!auhUade_er&!hUEh Kh!Gh"h#)r'!}r(!(hNh"UC5H5N5r)!h}r*!h(}r+!h*}r,!(UHKUCKUNKuhj)!ubh,Ueh(}r-!h.h/]Rr.!ubGuhNhU;adenine transport via diffusion extracellular to periplasm r/!hEG@@hFG@h}r0!hHh/]r1!(jjjjeRr2!hUADEtexr3!hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r4!h(}r5!hPNubh)r6!}r7!(h UNucleotide Salvage Pathwayr8!h }r9!(jGjGGj4G@uhNhUadenylate kinaser:!hEG@@hFGh}r;!hHh/]r!(hNjKhNhUadkr?!h}r@!jhUSTM0488rA!h Nh"NjKh,Nh(}rB!jU+h.h/]RrC!ubaRrD!hUADK1rE!hKGhLhMhNhNjA!h(}rF!hPNubh)rG!}rH!(h UNucleotide Salvage PathwayrI!h }rJ!(jGjeGj4G?h)rK!}rL!(hNhNhUGDPrM!h}rN!(UCHEBI]rO!U17552rP!aUKEGG]rQ!UC00035rR!aUPUBCHEM]rS!U3337rT!auhUgdp_crU!hUEh Jh!Gh"h#)rV!}rW!(hNh"U C10H12N5O11P2rX!h}rY!h(}rZ!h*}r[!(UHK UCK UPKUOK UNKuhjX!ubh,Uch(}r\!h.h/]Rr]!ubG?uhNhUadentylate kinase GTP r^!hEG@@hFG@h}r_!hHh/]r`!j=!aRra!hUADK3rb!hKGhLhMhNhNUSTM0488rc!h(}rd!hPNubh)re!}rf!(h UNucleotide Salvage Pathwayrg!h }rh!(h)ri!}rj!(hNhNhUIDPrk!h}rl!(UCHEBI]rm!U17808rn!aUKEGG]ro!UC00104rp!aUPUBCHEM]rq!U3404rr!auhUidp_crs!hUEh Jh!Gh"h#)rt!}ru!(hNh"U C10H11N4O11P2rv!h}rw!h(}rx!h*}ry!(UHK UCK UPKUOK UNKuhjv!ubh,Uch(}rz!h.h/]Rr{!ubG?jGh)r|!}r}!(hNhNhUITPr~!h}r!(UCHEBI]r!U16039r!aUKEGG]r!UC00081r!aUPUBCHEM]r!U3381r!auhUitp_cr!hUEh Jh!Gh"h#)r!}r!(hNh"U C10H11N4O14P3r!h}r!h(}r!h*}r!(UHK UCK UPKUOKUNKuhj!ubh,Uch(}r!h.h/]Rr!ubGj4G?uhNhUadentylate kinase ITP r!hEG@@hFG@h}r!hHh/]r!j=!aRr!hUADK4r!hKGhLhMhNhNUSTM0488r!h(}r!hPNubh)r!}r!(h UArginine and Proline Metabolismr!h }r!(jG?h)r!}r!(hNhNhUS-Adenosyl-L-methioniner!h}r!(UCHEBI]r!U15414r!aUKEGG]r!UC00019r!aUPUBCHEM]r!U3321r!auhUamet_cr!hUEh Kh!Gh"h#)r!}r!(hNh"U C15H23N6O5Sr!h}r!h(}r!h*}r!(UHKUCKUSKUOKUNKuhj!ubh,Uch(}r!h.h/]Rr!ubGh)r!}r!(hNhNhUS-Adenosylmethioninaminer!h}r!(UCHEBI]r!U15625r!aUKEGG]r!UC01137r!aUPUBCHEM]r!U4368r!auhUametam_cr!hUEh Kh!Gh"h#)r!}r!(hNh"U C14H24N6O3Sr!h}r!h(}r!h*}r!(UHKUCKUSKUOKUNKuhj!ubh,Uch(}r!h.h/]Rr!ubG?jGuhNhU adenosylmethionine decarboxylaser!hEG@@hFGh}r!hHh/]r!j)r!}r!(hNjKhNhUspeDr!h}r!jhUSTM0165r!h Nh"NjKh,Nh(}r!jU+h.h/]Rr!ubaRr!hUADMDCr!hKGhLhMhNhNj!h(}r!hPNubh)r!}r!(h UNucleotide Salvage Pathwayr!h }r!(jG?h)r!}r!(hNhNhUcAMPr!h}r!(UCHEBI]r!U17489r!aUKEGG]r!UC00575r!aUPUBCHEM]r!U3854r!auhUcamp_cr!hUEh Jh!Gh"h#)r!}r!(hNh"U C10H11N5O6Pr!h}r!h(}r!h*}r!(UHK UCK UPKUOKUNKuhj!ubh,Uch(}r!h.h/]Rr!ubG?jGGuhNhUadenylate cyclaser!hEG@@hFGh}r!hHh/]r!j)r!}r!(hNjKhNhUcyaAr!h}r!jhUSTM3939r!h Nh"NjKh,Nh(}r!jU+h.h/]Rr!ubaRr!hUADNCYCr!hKGhLhMhNhNj!h(}r!hPNubh)r!}r!(h UNucleotide Salvage Pathwayr!h }r!(j4G?jG?jG?jGGj^ GuhNhUadenosine kinaser!hEG@@hFGh}r!hHh/]r!j=!aRr!hUADNK1r!hKGhLhMhNhNUSTM0488r!h(}r!hPNubh)r!}r!(h UAlternate Carbon Metabolismr!h }r!(jG?jZGj^ Gh)r"}r"(hNhNhUD-Riboser"h}r"(UCHEBI]r"U47013r"aUKEGG]r"UC00121r"aUPUBCHEM]r"U3421r "auhUrib__D_cr "hUEh Kh!Gh"h#)r "}r "(hNh"UC5H10O5r "h}r"h(}r"h*}r"(UHK UCKUOKuhj "ubh,Uch(}r"h.h/]Rr"ubG?uhNhUadenosine hydrolaser"hEG@@hFGh}r"hHh/]r"j)r"}r"(hNjKhNhUrihCr"h}r"jhUSTM0051r"h Nh"NjKh,Nh(}r"jU+h.h/]Rr"ubaRr"hUADNUCr"hKGhLhMhNhNj"h(}r"hPNubh)r "}r!"(h UTransport Inner Membraner""h }r#"(j^ G?j-GjGjG?uhNhU4adenosine transport in via proton symport periplasm r$"hEG@@hFGh}r%"hHh/]r&"(j)r'"}r("(hNjKhNhUnupGr)"h}r*"jhUSTM3113r+"h Nh"NjKh,Nh(}r,"jU+h.h/]Rr-"ubj)r."}r/"(hNjKhNhUnupCr0"h}r1"jhUSTM2409r2"h Nh"NjKh,Nh(}r3"jU+h.h/]Rr4"ubeRr5"hUADNt2ppr6"hKGhLhMhNhNU( STM3113 or STM2409 )r7"h(}r8"hPNubh)r9"}r:"(h UTransport Inner Membraner;"h }r<"(j^ G?jGjG?j-GuhNhU?adenosine transport in via proton symport reversible periplasm r="hEG@@hFG@h}r>"hHh/]r?"j)r@"}rA"(hNjKhNhUxapBrB"h}rC"jhUSTM2421rD"h Nh"NjKh,Nh(}rE"jU+h.h/]RrF"ubaRrG"hUADNt2rpprH"hKGhLhMhNhNjD"h(}rI"hPNubh)rJ"}rK"(h UTransport Outer MembranerL"h }rM"(h)rN"}rO"(hNhNhU AdenosinerP"h}rQ"(UCHEBI]rR"U16335rS"aUKEGG]rT"UC00212rU"aUPUBCHEM]rV"U3512rW"auhUadn_erX"hUEh Kh!Gh"h#)rY"}rZ"(hNh"U C10H13N5O4r["h}r\"h(}r]"h*}r^"(UHK UCK UOKUNKuhj["ubh,Ueh(}r_"h.h/]Rr`"ubGj-G?uhNhU=adenosine transport via diffusion extracellular to periplasm ra"hEG@@hFG@h}rb"hHh/]rc"j)rd"}re"(hNjKhNhUtsxrf"h}rg"jhUSTM0413rh"h Nh"NjKh,Nh(}ri"jU+h.h/]Rrj"ubaRrk"hUADNtexrl"hKGhLhMhNhNjh"h(}rm"hPNubh)rn"}ro"(h UTransport Inner Membranerp"h }rq"(j4G?jGGh)rr"}rs"(hNhNhUAdenosylcobalaminrt"h}ru"(UCHEBI]rv"U18408rw"aUKEGG]rx"UC00194ry"aUPUBCHEM]rz"U3494r{"auhUadocbl_cr|"hUEh Kh!Gh"h#)r}"}r~"(hNh"UC72H100CoN18O17Pr"h}r"h(}r"h*}r"(UCKHUCoKUHKdUOKUNKUPKuhj"ubh,Uch(}r"h.h/]Rr"ubG?jZGjG?jG?h)r"}r"(hNhNhUAdenosylcobalaminr"h}r"(UCHEBI]r"U18408r"aUKEGG]r"UC00194r"aUPUBCHEM]r"U3494r"auhUadocbl_pr"hUEh Kh!Gh"h#)r"}r"(hNh"UC72H100CoN18O17Pr"h}r"h(}r"h*}r"(UCKHUCoKUHKdUOKUNKUPKuhj"ubh,Uph(}r"h.h/]Rr"ubGuhNhU5Adenosylcobalamin transport via ABC system periplasm r"hEG@@hFGh}r"hHh/]r"(j)r"}r"(hNjKhNhUbtuFr"h}r"jhUSTM0206r"h Nh"NjKh,Nh(}r"jU+h.h/]Rr"ubj)r"}r"(hNjKhNhUbtuCr"h}r"jhUSTM1340r"h Nh"NjKh,Nh(}r"jU+h.h/]Rr"ubj)r"}r"(hNjKhNhUbtuDr"h}r"jhUSTM1342r"h Nh"NjKh,Nh(}r"jU+h.h/]Rr"ubeRr"hU ADOCBLabcppr"hKGhLhMhNhNU'( STM1340 and STM1342 and STM0206 )r"h(}r"hPNubh)r"}r"(h UTransport Outer Membraner"h }r"(h)r"}r"(hNhNhUAdenosylcobalaminr"h}r"(UCHEBI]r"U18408r"aUKEGG]r"UC00194r"aUPUBCHEM]r"U3494r"auhUadocbl_er"hUEh Kh!Gh"h#)r"}r"(hNh"UC72H100CoN18O17Pr"h}r"h(}r"h*}r"(UCKHUCoKUHKdUOKUNKUPKuhj"ubh,Ueh(}r"h.h/]Rr"ubGjGjG?j"G?uhNhU4Adenosylcobalimin transport via ton system extermal r"hEG@@hFGh}r"hHh/]r"(j)r"}r"(hNjKhNhUexbBr"h}r"jhUSTM3159r"h Nh"NjKh,Nh(}r"jU+h.h/]Rr"ubj)r"}r"(hNjKhNhUtonBr"h}r"jhUSTM1737r"h Nh"NjKh,Nh(}r"jU+h.h/]Rr"ubj)r"}r"(hNjKhNhUexbDr"h}r"jhUSTM3158r"h Nh"NjKh,Nh(}r"jU+h.h/]Rr"ubj)r"}r"(hNjKhNhUbtuBr"h}r"jhUSTM4130r"h Nh"NjKh,Nh(}r"jU+h.h/]Rr"ubeRr"hU ADOCBLtonexr"hKGhLhMhNhNU9( STM4130 and ( STM1737 and STM3158 and STM3159 ) )r"h(}r"hPNubh)r"}r"(h UNucleotide Salvage Pathwayr"h }r"(h)r"}r"(hNhNhUalpha-D-Ribose-5-phosphater"h}r"(UCHEBI]r"U17797r"aUKEGG]r"UC00117r"aUPUBCHEM]r"U3417r"auhUr5p_cr"hUEh Jh!Gh"h#)r"}r"(hNh"UC5H9O8Pr"h}r#h(}r#h*}r#(UHK UCKUOKUPKuhj"ubh,Uch(}r#h.h/]Rr#ubG?jZGh)r#}r#(hNhNhU ADPriboser#h}r#(UCHEBI]r #U16960r #aUKEGG]r #UC00301r #aUPUBCHEM]r #U3595r#auhUadprib_cr#hUEh Jh!Gh"h#)r#}r#(hNh"U C15H21N5O14P2r#h}r#h(}r#h*}r#(UHKUCKUPKUOKUNKuhj#ubh,Uch(}r#h.h/]Rr#ubGjG?jG@uhNhUADPribose diphosphataser#hEG@@hFGh}r#hHh/]r#j)r#}r#(hNjKhNhUnudFr#h}r#jhUSTM3185r#h Nh"NjKh,Nh(}r #jU+h.h/]Rr!#ubaRr"#hUADPRDPr##hKGhLhMhNhNj#h(}r$#hPNubh)r%#}r&#(h UNucleotide Salvage Pathwayr'#h }r(#(jG?jGjG?h)r)#}r*#(hNhNhU&5-Phospho-alpha-D-ribose-1-diphosphater+#h}r,#(UCHEBI]r-#U17111r.#aUKEGG]r/#UC00119r0#aUPUBCHEM]r1#U3419r2#auhUprpp_cr3#hUEh Jh!Gh"h#)r4#}r5#(hNh"U C5H8O14P3r6#h}r7#h(}r8#h*}r9#(UHKUCKUOKUPKuhj6#ubh,Uch(}r:#h.h/]Rr;#ubGuhNhU!adenine phosphoribosyltransferaser<#hEG@@hFGh}r=#hHh/]r>#j)r?#}r@#(hNjKhNhUaptrA#h}rB#jhUSTM0483rC#h Nh"NjKh,Nh(}rD#jU+h.h/]RrE#ubaRrF#hUADPTrG#hKGhLhMhNhNjC#h(}rH#hPNubh)rI#}rJ#(h UCysteine MetabolismrK#h }rL#(h)rM#}rN#(hNhNhUAdenosine-5-phosphosulfaterO#h}rP#(UCHEBI]rQ#U17709rR#aUKEGG]rS#UC00224rT#aUPUBCHEM]rU#U3524rV#auhUaps_crW#hUEh Jh!Gh"h#)rX#}rY#(hNh"U C10H12N5O10PSrZ#h}r[#h(}r\#h*}r]#(UCK UHK UOK UNKUPKUSKuhjZ#ubh,Uch(}r^#h.h/]Rr_#ubGjGGj4G?jG?h)r`#}ra#(hNhNhU3-Phosphoadenylyl-sulfaterb#h}rc#(UCHEBI]rd#U17980re#aUKEGG]rf#UC00053rg#aUPUBCHEM]rh#U3355ri#auhUpaps_crj#hUEh Jh!Gh"h#)rk#}rl#(hNh"UC10H11N5O13P2Srm#h}rn#h(}ro#h*}rp#(UCK UHK UOK UNKUPKUSKuhjm#ubh,Uch(}rq#h.h/]Rrr#ubG?uhNhUadenylyl sulfate kinasers#hEG@@hFGh}rt#hHh/]ru#j)rv#}rw#(hNjKhNhUcysCrx#h}ry#jhUSTM2933rz#h Nh"NjKh,Nh(}r{#jU+h.h/]Rr|#ubaRr}#hUADSKr~#hKGhLhMhNhNjz#h(}r#hPNubh)r#}r#(h U"Purine and Pyrimidine Biosynthesisr#h }r#(jG?h)r#}r#(hNhNhUN6-1-2-Dicarboxyethyl-AMPr#h}r#(UCHEBI]r#U15919r#aUKEGG]r#UC03794r#aUPUBCHEM]r#U6543r#auhUdcamp_cr#hUEh Jh!Gh"h#)r#}r#(hNh"U C14H14N5O11Pr#h}r#h(}r#h*}r#(UHKUCKUPKUOK UNKuhj#ubh,Uch(}r#h.h/]Rr#ubGh)r#}r#(hNhNhUFumarater#h}r#(UCHEBI]r#U18012r#aUKEGG]r#UC00122r#aUPUBCHEM]r#U3422r#auhUfum_cr#hUEh Jh!Gh"h#)r#}r#(hNh"UC4H2O4r#h}r#h(}r#h*}r#(UHKUCKUOKuhj#ubh,Uch(}r#h.h/]Rr#ubG?uhNhUadenylsuccinate lyaser#hEG@@hFG@h}r#hHh/]r#j)r#}r#(hNjKhNhUpurBr#h}r#jhUSTM1232r#h Nh"NjKh,Nh(}r#jU+h.h/]Rr#ubaRr#hUADSL1rr#hKGhLhMhNhNj#h(}r#hPNubh)r#}r#(h U"Purine and Pyrimidine Biosynthesisr#h }r#(h)r#}r#(hNhNhU55-Amino-1-5-Phospho-D-ribosyl-imidazole-4-carboxamider#h}r#(UCHEBI]r#U18406r#aUKEGG]r#UC04677r#aUPUBCHEM]r#U7258r#auhUaicar_cr#hUEh Jh!Gh"h#)r#}r#(hNh"U C9H13N4O8Pr#h}r#h(}r#h*}r#(UHK UCK UPKUOKUNKuhj#ubh,Uch(}r#h.h/]Rr#ubG?h)r#}r#(hNhNhUBS-2-5-Amino-1-5-phospho-D-ribosyl-imidazole-4-carboxamidosuccinater#h}r#(UCHEBI]r#U18319r#aUKEGG]r#UC04823r#aUPUBCHEM]r#U7384r#auhU25aics_cr#hUEh Jh!Gh"h#)r#}r#(hNh"U C13H15N4O12Pr#h}r#h(}r#h*}r#(UHKUCK UPKUOK UNKuhj#ubh,Uch(}r#h.h/]Rr#ubGj#G?uhNhUadenylosuccinate lyaser#hEG@@hFG@h}r#hHh/]r#j#aRr#hUADSL2rr#hKGhLhMhNhNUSTM1232r#h(}r#hPNubh)r#}r#(h U"Purine and Pyrimidine Biosynthesisr#h }r#(j#G?jeGjG@jK!G?h)r#}r#(hNhNhU L-Aspartater#h}r#(UCHEBI]r#U17053r#aUKEGG]r#UC00049r#aUPUBCHEM]r#U3351r#auhUasp__L_cr#hUEh Jh!Gh"h#)r#}r#(hNh"UC4H6NO4r#h}r#h(}r#h*}r#(UHKUCKUOKUNKuhj#ubh,Uch(}r#h.h/]Rr#ubGh)r#}r$(hNhNhUIMPr$h}r$(UCHEBI]r$U17202r$aUKEGG]r$UC00130r$aUPUBCHEM]r$U3430r$auhUimp_cr $hUEh Jh!Gh"h#)r $}r $(hNh"U C10H11N4O8Pr $h}r $h(}r$h*}r$(UHK UCK UPKUOKUNKuhj $ubh,Uch(}r$h.h/]Rr$ubGjG?uhNhUadenylosuccinate synthaser$hEG@@hFGh}r$hHh/]r$j)r$}r$(hNjKhNhUpurAr$h}r$jhUSTM4366r$h Nh"NjKh,Nh(}r$jU+h.h/]Rr$ubaRr$hUADSSr$hKGhLhMhNhNj$h(}r$hPNubh)r$}r $(h UAlternate Carbon Metabolismr!$h }r"$(jtG?jGjZGh)r#$}r$$(hNhNhUD-Glucosamine-6-phosphater%$h}r&$(UCHEBI]r'$U15873r($aUKEGG]r)$UC00352r*$aUPUBCHEM]r+$U3645r,$auhUgam6p_cr-$hUEh Jh!Gh"h#)r.$}r/$(hNh"U C6H13NO8Pr0$h}r1$h(}r2$h*}r3$(UHK UCKUPKUOKUNKuhj0$ubh,Uch(}r4$h.h/]Rr5$ubG?uhNhU+N acetylglucosamine 6 phosphate deacetylaser6$hEG@@hFGh}r7$hHh/]r8$j)r9$}r:$(hNjKhNhUnagAr;$h}r<$jhUSTM0683r=$h Nh"NjKh,Nh(}r>$jU+h.h/]Rr?$ubaRr@$hUAGDCrA$hKGhLhMhNhNj=$h(}rB$hPNubh)rC$}rD$(h UMurein RecyclingrE$h }rF$(jMG?h)rG$}rH$(hNhNhU;N-Acetyl-D-glucosamine-anhydrous-N-Acetylmuramyl-tripeptiderI$h}rJ$(UCHEBI]rK$U0aUKEGG]rL$U0aUPUBCHEM]rM$U0auhU anhgm3p_crN$hUEh Jh!Gh"h#)rO$}rP$(hNh"U C34H52N6O19rQ$h}rR$h(}rS$h*}rT$(UHK4UCK"UOKUNKuhjQ$ubh,Uch(}rU$h.h/]RrV$ubGjZGh)rW$}rX$(hNhNhU5N-Acetyl-D-glucosamine-anhydrous-N-Acetylmuramic-acidrY$h}rZ$(UCHEBI]r[$U0aUKEGG]r\$U0aUPUBCHEM]r]$U0auhUanhgm_cr^$hUEh Jh!Gh"h#)r_$}r`$(hNh"U C19H29N2O12ra$h}rb$h(}rc$h*}rd$(UHKUCKUOK UNKuhja$ubh,Uch(}re$h.h/]Rrf$ubG?uhNhUCN Acetyl D glucosamine anhydrous N Acetylmuramyl tripeptide amidaserg$hEG@@hFGh}rh$hHh/]ri$j)rj$}rk$(hNjKhNhUampDrl$h}rm$jhUSTM0146rn$h Nh"NjKh,Nh(}ro$jU+h.h/]Rrp$ubaRrq$hUAGM3PArr$hKGhLhMhNhNjn$h(}rs$hPNubh)rt$}ru$(h UMurein Recyclingrv$h }rw$(j=G?h)rx$}ry$(hNhNhU5N-Acetyl-D-glucosamine-anhydrous-N-Acetylmuramic-acidrz$h}r{$(UCHEBI]r|$U0aUKEGG]r}$U0aUPUBCHEM]r~$U0auhUanhgm_pr$hUEh Jh!Gh"h#)r$}r$(hNh"U C19H29N2O12r$h}r$h(}r$h*}r$(UHKUCKUOK UNKuhj$ubh,Uph(}r$h.h/]Rr$ubG?j)Gh)r$}r$(hNhNhU;N-Acetyl-D-glucosamine-anhydrous-N-Acetylmuramyl-tripeptider$h}r$(UCHEBI]r$U0aUKEGG]r$U0aUPUBCHEM]r$U0auhU anhgm3p_pr$hUEh Jh!Gh"h#)r$}r$(hNh"U C34H52N6O19r$h}r$h(}r$h*}r$(UHK4UCK"UOKUNKuhj$ubh,Uph(}r$h.h/]Rr$ubGuhNhUNN Acetyl D glucosamine anhydrous N Acetylmuramyl tripeptide amidase periplasm r$hEG@@hFGh}r$hHh/]r$(j)r$}r$(hNjKhNhUamiBr$h}r$jhUSTM4358r$h Nh"NjKh,Nh(}r$jU+h.h/]Rr$ubj)r$}r$(hNjKhNhUamiCr$h}r$jhUSTM2991r$h Nh"NjKh,Nh(}r$jU+h.h/]Rr$ubj)r$}r$(hNjKhNhUamiAr$h}r$jhUSTM2450r$h Nh"NjKh,Nh(}r$jU+h.h/]Rr$ubeRr$hUAGM3PAppr$hKGhLhMhNhNU%( STM4358 or STM2450 or STM2991 )r$h(}r$hPNubh)r$}r$(h UMurein Recyclingr$h }r$(jG?h)r$}r$(hNhNhU(1-6-anhydrous-N-Acetylmuramyl-tripeptider$h}r$(UCHEBI]r$U0aUKEGG]r$U0aUPUBCHEM]r$U0auhUanhm3p_cr$hUEh Jh!Gh"h#)r$}r$(hNh"U C26H39N5O14r$h}r$h(}r$h*}r$(UHK'UCKUOKUNKuhj$ubh,Uch(}r$h.h/]Rr$ubG?jG$GjZGuhNhU\N Acetyl D glucosamine anhydrous N Acetylmuramyl tripeptide beta 1 4 N acetylglucosaminidaser$hEG@@hFGh}r$hHh/]r$j)r$}r$(hNjKhNhUnagZr$h}r$jhUSTM1209r$h Nh"NjKh,Nh(}r$jU+h.h/]Rr$ubaRr$hUAGM3PHr$hKGhLhMhNhNj$h(}r$hPNubh)r$}r$(h UMurein Recyclingr$h }r$(jG$G?jGj$GjG?uhNhUFGlcNAc anhMurNAc tripeptide transport in via proton symport periplasm r$hEG@@hFGh}r$hHh/]r$j)r$}r$(hNjKhNhUampGr$h}r$jhUSTM0444r$h Nh"NjKh,Nh(}r$jU+h.h/]Rr$ubaRr$hU AGM3Pt2ppr$hKGhLhMhNhNj$h(}r$hPNubh)r$}r$(h UMurein Recyclingr$h }r$(jW$G?jZGh)r$}r$(hNhNhU=N-Acetyl-D-glucosamine-anhydrous-N-Acetylmuramyl-tetrapeptider$h}r$(UCHEBI]r$U0aUKEGG]r$U0aUPUBCHEM]r$U0auhU anhgm4p_cr$hUEh Jh!Gh"h#)r$}r$(hNh"U C37H57N7O20r$h}r$h(}r$h*}r$(UHK9UCK%UOKUNKuhj$ubh,Uch(}r$h.h/]Rr$ubGjG?uhNhUEN Acetyl D glucosamine anhydrous N Acetylmuramyl tetrapeptide amidaser$hEG@@hFGh}r$hHh/]r$jj$aRr$hUAGM4PAr$hKGhLhMhNhNUSTM0146r$h(}r%hPNubh)r%}r%(h UMurein Recyclingr%h }r%(jx$G?j)Gh)r%}r%(hNhNhU=N-Acetyl-D-glucosamine-anhydrous-N-Acetylmuramyl-tetrapeptider%h}r%(UCHEBI]r %U0aUKEGG]r %U0aUPUBCHEM]r %U0auhU anhgm4p_pr %hUEh Jh!Gh"h#)r %}r%(hNh"U C37H57N7O20r%h}r%h(}r%h*}r%(UHK9UCK%UOKUNKuhj%ubh,Uph(}r%h.h/]Rr%ubGj)G?uhNhUPN Acetyl D glucosamine anhydrous N Acetylmuramyl tetrapeptide amidase periplasm r%hEG@@hFGh}r%hHh/]r%(j$j$j$eRr%hUAGM4PAppr%hKGhLhMhNhNU%( STM2991 or STM4358 or STM2450 )r%h(}r%hPNubh)r%}r%(h UMurein Recyclingr%h }r%(jZGj$GjG$G?jG?uhNhURN Acetyl D glucosamine anhydrous N Acetylmuramyl tetrapeptide L D carboxypeptidaser %hEG@@hFGh}r!%hHh/]r"%jaRr#%hUAGM4PCPr$%hKGhLhMhNhNUSTM1800r%%h(}r&%hPNubh)r'%}r(%(h UMurein Recyclingr)%h }r*%(j%Gj)Gj9G?j$G?uhNhU_N Acetyl D glucosamine anhydrous N Acetylmuramyl tetrapeptide L D carboxypeptidase periplasmic r+%hEG@@hFGh}r,%hHh/]Rr-%hU AGM4PCPppr.%hKGhLhMhNhNUh(}r/%hPNubh)r0%}r1%(h UMurein Recyclingr2%h }r3%(jG?j$Gh)r4%}r5%(hNhNhU*1-6-anhydrous-N-Acetylmuramyl-tetrapeptider6%h}r7%(UCHEBI]r8%U0aUKEGG]r9%U0aUPUBCHEM]r:%U0auhUanhm4p_cr;%hUEh Jh!Gh"h#)r<%}r=%(hNh"U C29H44N6O15r>%h}r?%h(}r@%h*}rA%(UHK,UCKUOKUNKuhj>%ubh,Uch(}rB%h.h/]RrC%ubG?jZGuhNhU^N Acetyl D glucosamine anhydrous N Acetylmuramyl tetrapeptide beta 1 4 N acetylglucosaminidaserD%hEG@@hFGh}rE%hHh/]rF%j$aRrG%hUAGM4PHrH%hKGhLhMhNhNUSTM1209rI%h(}rJ%hPNubh)rK%}rL%(h UMurein RecyclingrM%h }rN%(j$G?jGjG?j%GuhNhUHGlcNAc anhMurNAc tetrapeptide transport in via proton symport periplasm rO%hEG@@hFGh}rP%hHh/]rQ%j$aRrR%hU AGM4Pt2pprS%hKGhLhMhNhNUSTM0444rT%h(}rU%hPNubh)rV%}rW%(h UMurein RecyclingrX%h }rY%(jG?jZGjW$Gh)rZ%}r[%(hNhNhU1-6-anhydrous-N-Acetylmuramater\%h}r]%(UCHEBI]r^%U0aUKEGG]r_%U0aUPUBCHEM]r`%U0auhUanhm_cra%hUEh Jh!Gh"h#)rb%}rc%(hNh"U C11H16NO7rd%h}re%h(}rf%h*}rg%(UHKUCK UOKUNKuhjd%ubh,Uch(}rh%h.h/]Rri%ubG?uhNhUQN Acetyl D glucosamine anhydrous N Acetylmuramyl beta 1 4 N acetylglucosaminidaserj%hEG@@hFGh}rk%hHh/]rl%j$aRrm%hUAGMHrn%hKGhLhMhNhNUSTM1209ro%h(}rp%hPNubh)rq%}rr%(h U)Lipopolysaccharide Biosynthesis Recyclingrs%h }rt%(h)ru%}rv%(hNhNhUADP-L-glycero-D-manno-heptoserw%h}rx%(UCHEBI]ry%U15915rz%aUKEGG]r{%UC06398r|%aUPUBCHEM]r}%U8634r~%auhU adphep__LD_cr%hUEh Jh!Gh"h#)r%}r%(hNh"U C17H25N5O16P2r%h}r%h(}r%h*}r%(UHKUCKUPKUOKUNKuhj%ubh,Uch(}r%h.h/]Rr%ubG?h)r%}r%(hNhNhUADP-D-glycero-D-manno-heptoser%h}r%(UCHEBI]r%U16693r%aUKEGG]r%UC06397r%aUPUBCHEM]r%U8633r%auhU adphep__DD_cr%hUEh Jh!Gh"h#)r%}r%(hNh"U C17H25N5O16P2r%h}r%h(}r%h*}r%(UHKUCKUPKUOKUNKuhj%ubh,Uch(}r%h.h/]Rr%ubGuhNhU'ADP D glycero D manno heptose epimeraser%hEG@@hFGh}r%hHh/]r%j)r%}r%(hNjKhNhUrfaDr%h}r%jhUSTM3710r%h Nh"NjKh,Nh(}r%jU+h.h/]Rr%ubaRr%hUAGMHEr%hKGhLhMhNhNj%h(}r%hPNubh)r%}r%(h UArginine and Proline Metabolismr%h }r%(h)r%}r%(hNhNhUAgmatiner%h}r%(UCHEBI]r%U17431r%aUKEGG]r%UC00179r%aUPUBCHEM]r%U3479r%auhUagm_cr%hUEh Kh!Gh"h#)r%}r%(hNh"UC5H16N4r%h}r%h(}r%h*}r%(UHKUCKUNKuhj%ubh,Uch(}r%h.h/]Rr%ubGh)r%}r%(hNhNhU Putresciner%h}r%(UCHEBI]r%U17148r%aUKEGG]r%UC00134r%aUPUBCHEM]r%U3434r%auhUptrc_cr%hUEh Kh!Gh"h#)r%}r%(hNh"UC4H14N2r%h}r%h(}r%h*}r%(UHKUCKUNKuhj%ubh,Uch(}r%h.h/]Rr%ubG?jZGh)r%}r%(hNhNhUUrear%h}r%(UCHEBI]r%U16199r%aUKEGG]r%UC00086r%aUPUBCHEM]r%U3386r%auhUurea_cr%hUEh Kh!Gh"h#)r%}r%(hNh"UCH4N2Or%h}r%h(}r%h*}r%(UHKUCKUOKUNKuhj%ubh,Uch(}r%h.h/]Rr%ubG?uhNhU agmatinaser%hEG@@hFGh}r%hHh/]r%j)r%}r%(hNjKhNhUspeBr%h}r%jhUSTM3078r%h Nh"NjKh,Nh(}r%jU+h.h/]Rr%ubaRr%hUAGMTr%hKGhLhMhNhNj%h(}r%hPNubh)r%}r%(h UMurein Recyclingr%h }r%(jx$GjW$G?jGjG?uhNhU;GlcNAc anhMurNAc transport in via proton symport periplasm r%hEG@@hFGh}r%hHh/]r%j$aRr%hUAGMt2ppr%hKGhLhMhNhNUSTM0444r%h(}r%hPNubh)r%}r%(h UTransport Outer Membrane Porinr%h }r&(h)r&}r&(hNhNhUAgmatiner&h}r&(UCHEBI]r&U17431r&aUKEGG]r&UC00179r&aUPUBCHEM]r &U3479r &auhUagm_er &hUEh Kh!Gh"h#)r &}r &(hNh"UC5H16N4r&h}r&h(}r&h*}r&(UHKUCKUNKuhj&ubh,Ueh(}r&h.h/]Rr&ubGh)r&}r&(hNhNhUAgmatiner&h}r&(UCHEBI]r&U17431r&aUKEGG]r&UC00179r&aUPUBCHEM]r&U3479r&auhUagm_pr&hUEh Kh!Gh"h#)r&}r &(hNh"UC5H16N4r!&h}r"&h(}r#&h*}r$&(UHKUCKUNKuhj!&ubh,Uph(}r%&h.h/]Rr&&ubG?uhNhU&(hNh"U C15H29O7P1r?&h}r@&h(}rA&h*}rB&(UHKUCKUOKUPKuhj?&ubh,Uch(}rC&h.h/]RrD&ubGjG?h)rE&}rF&(hNhNhU(1-2-didodecanoyl-sn-glycerol-3-phosphaterG&h}rH&(UCHEBI]rI&U16337rJ&aUKEGG]rK&UC00416rL&aUPUBCHEM]rM&U3706rN&auhUpa120_crO&hUEh Jh!Gh"h#)rP&}rQ&(hNh"U C27H51O8P1rR&h}rS&h(}rT&h*}rU&(UHK3UCKUOKUPKuhjR&ubh,Uch(}rV&h.h/]RrW&ubG?j[GuhNhUA1 tetradecanoyl sn glycerol 3 phosphate O acyltransferase n C120 rX&hEG@@hFGh}rY&hHh/]rZ&j)r[&}r\&(hNjKhNhUplsCr]&h}r^&jhUSTM3173r_&h Nh"NjKh,Nh(}r`&jU+h.h/]Rra&ubaRrb&hUAGPAT120rc&hKGhLhMhNhNj_&h(}rd&hPNubh)re&}rf&(h UGlycerophospholipid Metabolismrg&h }rh&(h)ri&}rj&(hNhNhU'1-tetradecanoyl-sn-glycerol-3-phosphaterk&h}rl&(UCHEBI]rm&U16975rn&aUKEGG]ro&UC00681rp&aUPUBCHEM]rq&U3950rr&auhU 1tdecg3p_crs&hUEh Jh!Gh"h#)rt&}ru&(hNh"U C17H33O7P1rv&h}rw&h(}rx&h*}ry&(UHK!UCKUOKUPKuhjv&ubh,Uch(}rz&h.h/]Rr{&ubGjGh)r|&}r}&(hNhNhU+1-2-ditetradecanoyl-sn-glycerol-3-phosphater~&h}r&(UCHEBI]r&U16337r&aUKEGG]r&UC00416r&aUPUBCHEM]r&U3706r&auhUpa140_cr&hUEh Jh!Gh"h#)r&}r&(hNh"U C31H59O8P1r&h}r&h(}r&h*}r&(UHK;UCKUOKUPKuhj&ubh,Uch(}r&h.h/]Rr&ubG?jG?uhNhUA1 tetradecanoyl sn glycerol 3 phosphate O acyltransferase n C140 r&hEG@@hFGh}r&hHh/]r&j[&aRr&hUAGPAT140r&hKGhLhMhNhNUSTM3173r&h(}r&hPNubh)r&}r&(h UGlycerophospholipid Metabolismr&h }r&(jGh)r&}r&(hNhNhU.1-2-ditetradec-7-enoyl-sn-glycerol-3-phosphater&h}r&(UCHEBI]r&U16337r&aUKEGG]r&UC00416r&aUPUBCHEM]r&U3706r&auhUpa141_cr&hUEh Jh!Gh"h#)r&}r&(hNh"U C31H55O8P1r&h}r&h(}r&h*}r&(UHK7UCKUOKUPKuhj&ubh,Uch(}r&h.h/]Rr&ubG?h)r&}r&(hNhNhU*1-tetradec-7-enoyl-sn-glycerol-3-phosphater&h}r&(UCHEBI]r&U16975r&aUKEGG]r&UC00681r&aUPUBCHEM]r&U3950r&auhU 1tdec7eg3p_cr&hUEh Jh!Gh"h#)r&}r&(hNh"U C17H31O7P1r&h}r&h(}r&h*}r&(UHKUCKUOKUPKuhj&ubh,Uch(}r&h.h/]Rr&ubGjG?uhNhUD1 tetradec 7 enoyl sn glycerol 3 phosphate O acyltransferase n C141 r&hEG@@hFGh}r&hHh/]r&j[&aRr&hUAGPAT141r&hKGhLhMhNhNUSTM3173r&h(}r&hPNubh)r&}r&(h UGlycerophospholipid Metabolismr&h }r&(jGh)r&}r&(hNhNhU&1-hexadecanoyl-sn-glycerol-3-phosphater&h}r&(UCHEBI]r&U16975r&aUKEGG]r&UC00681r&aUPUBCHEM]r&U3950r&auhU 1hdecg3p_cr&hUEh Jh!Gh"h#)r&}r&(hNh"U C19H37O7P1r&h}r&h(}r&h*}r&(UHK%UCKUOKUPKuhj&ubh,Uch(}r&h.h/]Rr&ubGjG?h)r&}r&(hNhNhU*1-2-dihexadecanoyl-sn-glycerol-3-phosphater&h}r&(UCHEBI]r&U16337r&aUKEGG]r&UC00416r&aUPUBCHEM]r&U3706r&auhUpa160_cr&hUEh Jh!Gh"h#)r&}r&(hNh"U C35H67O8P1r&h}r&h(}r&h*}r&(UHKCUCK#UOKUPKuhj&ubh,Uch(}r&h.h/]Rr&ubG?uhNhU@1 hexadecanoyl sn glycerol 3 phosphate O acyltransferase n C160 r&hEG@@hFGh}r&hHh/]r&j[&aRr&hUAGPAT160r&hKGhLhMhNhNUSTM3173r&h(}r&hPNubh)r&}r&(h UGlycerophospholipid Metabolismr&h }r&(jG?h)r&}r&(hNhNhU)1-hexadec-9-enoyl-sn-glycerol-3-phosphater&h}r&(UCHEBI]r'U0aUKEGG]r'U0aUPUBCHEM]r'U0auhU 1hdec9eg3p_cr'hUEh Jh!Gh"h#)r'}r'(hNh"U C19H35O7P1r'h}r'h(}r'h*}r '(UHK#UCKUOKUPKuhj'ubh,Uch(}r 'h.h/]Rr 'ubGjGh)r '}r '(hNhNhU-1-2-dihexadec-9-enoyl-sn-glycerol-3-phosphater'h}r'(UCHEBI]r'U16337r'aUKEGG]r'UC00416r'aUPUBCHEM]r'U3706r'auhUpa161_cr'hUEh Jh!Gh"h#)r'}r'(hNh"U C35H63O8P1r'h}r'h(}r'h*}r'(UHK?UCK#UOKUPKuhj'ubh,Uch(}r'h.h/]Rr'ubG?uhNhUC1 hexadec 7 enoyl sn glycerol 3 phosphate O acyltransferase n C161 r'hEG@@hFGh}r 'hHh/]r!'j[&aRr"'hUAGPAT161r#'hKGhLhMhNhNUSTM3173r$'h(}r%'hPNubh)r&'}r''(h UGlycerophospholipid Metabolismr('h }r)'(jGh)r*'}r+'(hNhNhU&1-octadecanoyl-sn-glycerol-3-phosphater,'h}r-'(UCHEBI]r.'U16975r/'aUKEGG]r0'UC00681r1'aUPUBCHEM]r2'U3950r3'auhU 1odecg3p_cr4'hUEh Jh!Gh"h#)r5'}r6'(hNh"U C21H41O7P1r7'h}r8'h(}r9'h*}r:'(UHK)UCKUOKUPKuhj7'ubh,Uch(}r;'h.h/]Rr<'ubGh)r='}r>'(hNhNhU*1-2-dioctadecanoyl-sn-glycerol-3-phosphater?'h}r@'(UCHEBI]rA'U16337rB'aUKEGG]rC'UC00416rD'aUPUBCHEM]rE'U3706rF'auhUpa180_crG'hUEh Jh!Gh"h#)rH'}rI'(hNh"U C39H75O8P1rJ'h}rK'h(}rL'h*}rM'(UHKKUCK'UOKUPKuhjJ'ubh,Uch(}rN'h.h/]RrO'ubG?jG?uhNhU@1 octadecanoyl sn glycerol 3 phosphate O acyltransferase n C180 rP'hEG@@hFGh}rQ'hHh/]rR'j[&aRrS'hUAGPAT180rT'hKGhLhMhNhNUSTM3173rU'h(}rV'hPNubh)rW'}rX'(h UGlycerophospholipid MetabolismrY'h }rZ'(h)r['}r\'(hNhNhU.1-2-dioctadec-11-enoyl-sn-glycerol-3-phosphater]'h}r^'(UCHEBI]r_'U16337r`'aUKEGG]ra'UC00416rb'aUPUBCHEM]rc'U3706rd'auhUpa181_cre'hUEh Jh!Gh"h#)rf'}rg'(hNh"U C39H71O8P1rh'h}ri'h(}rj'h*}rk'(UHKGUCK'UOKUPKuhjh'ubh,Uch(}rl'h.h/]Rrm'ubG?jGh)rn'}ro'(hNhNhU*1-octadec-11-enoyl-sn-glycerol-3-phosphaterp'h}rq'(UCHEBI]rr'U0aUKEGG]rs'U0aUPUBCHEM]rt'U0auhU 1odec11eg3p_cru'hUEh Jh!Gh"h#)rv'}rw'(hNh"U C21H39O7P1rx'h}ry'h(}rz'h*}r{'(UHK'UCKUOKUPKuhjx'ubh,Uch(}r|'h.h/]Rr}'ubGjG?uhNhUC1 octadec 7 enoyl sn glycerol 3 phosphate O acyltransferase n C181 r~'hEG@@hFGh}r'hHh/]r'j[&aRr'hUAGPAT181r'hKGhLhMhNhNUSTM3173r'h(}r'hPNubh)r'}r'(h UArginine and Proline Metabolismr'h }r'(jB GjGjG?jU G?jG?jGuhNhU'N acetyl g glutamyl phosphate reductaser'hEG@@hFG@h}r'hHh/]r'j)r'}r'(hNjKhNhUargCr'h}r'jhUSTM4121r'h Nh"NjKh,Nh(}r'jU+h.h/]Rr'ubaRr'hUAGPRr'hKGhLhMhNhNj'h(}r'hPNubh)r'}r'(h UMethionine Metabolismr'h }r'(jG?h)r'}r'(hNhNhUS-Adenosyl-L-homocysteiner'h}r'(UCHEBI]r'U16680r'aUKEGG]r'UC00021r'aUPUBCHEM]r'U3323r'auhUahcys_cr'hUEh Kh!Gh"h#)r'}r'(hNh"U C14H20N6O5Sr'h}r'h(}r'h*}r'(UHKUCKUSKUOKUNKuhj'ubh,Uch(}r'h.h/]Rr'ubGjZGh)r'}r'(hNhNhUS-Ribosyl-L-homocysteiner'h}r'(UCHEBI]r'U0aUKEGG]r'UC03539r'aUPUBCHEM]r'U6343r'auhUrhcys_cr'hUEh Kh!Gh"h#)r'}r'(hNh"U C9H17NO6Sr'h}r'h(}r'h*}r'(UHKUCK USKUOKUNKuhj'ubh,Uch(}r'h.h/]Rr'ubG?uhNhU#S adenosylhomocysteine nucleosidaser'hEG@@hFGh}r'hHh/]r'j#aRr'hUAHCYSNSr'hKGhLhMhNhNUSTM0207r'h(}r'hPNubh)r'}r'(h U"Purine and Pyrimidine Biosynthesisr'h }r'(h)r'}r'(hNhNhU10-Formyltetrahydrofolater'h}r'(UCHEBI]r'U15637r'aUKEGG]r'UC00234r'aUPUBCHEM]r'U3533r'auhU10fthf_cr'hUEh Jh!Gh"h#)r'}r'(hNh"U C20H21N7O7r'h}r'h(}r'h*}r'(UHKUCKUOKUNKuhj'ubh,Uch(}r'h.h/]Rr'ubGh)r'}r'(hNhNhU5-6-7-8-Tetrahydrofolater'h}r'(UCHEBI]r'U15635r'aUKEGG]r'UC00101r'aUPUBCHEM]r'U3401r'auhUthf_cr'hUEh Jh!Gh"h#)r'}r'(hNh"U C19H21N7O6r'h}r'h(}r'h*}r'(UHKUCKUOKUNKuhj'ubh,Uch(}r'h.h/]Rr'ubG?h)r'}r'(hNhNhU95-Formamido-1-5-phospho-D-ribosyl-imidazole-4-carboxamider'h}r'(UCHEBI]r'U18381r'aUKEGG]r'UC04734r'aUPUBCHEM]r'U7305r'auhUfprica_cr'hUEh Jh!Gh"h#)r'}r'(hNh"U C10H13N4O9Pr'h}r'h(}r'h*}r((UHK UCK UPKUOK UNKuhj'ubh,Uch(}r(h.h/]Rr(ubG?j#GuhNhU9phosphoribosylaminoimidazolecarboxamide formyltransferaser(hEG@@hFG@h}r(hHh/]r(j)r(}r((hNjKhNhUpurHr(h}r (jhUSTM4176r (h Nh"NjKh,Nh(}r (jU+h.h/]Rr (ubaRr (hUAICARTr(hKGhLhMhNhNj (h(}r(hPNubh)r(}r((h U"Purine and Pyrimidine Biosynthesisr(h }r((j4G?h)r(}r((hNhNhU(5-phosphoribosyl-5-carboxyaminoimidazoler(h}r((UCHEBI]r(U28413r(aUKEGG]r(UC04751r(aUPUBCHEM]r(U7321r(auhU5caiz_cr(hUEh Jh!Gh"h#)r(}r ((hNh"U C9H11N3O9Pr!(h}r"(h(}r#(h*}r$((UHK UCK UPKUOK UNKuhj!(ubh,Uch(}r%(h.h/]Rr&(ubG?jGGjG?jG?jGh)r'(}r(((hNhNhU'5-amino-1-5-phospho-D-ribosyl-imidazoler)(h}r*((UCHEBI]r+(U28843r,(aUKEGG]r-(UC03373r.(aUPUBCHEM]r/(U6208r0(auhUair_cr1(hUEh Jh!Gh"h#)r2(}r3((hNh"U C8H12N3O7Pr4(h}r5(h(}r6(h*}r7((UHK UCKUPKUOKUNKuhj4(ubh,Uch(}r8(h.h/]Rr9(ubGuhNhU(phosphoribosylaminoimidazole carboxylaser:(hEG@@hFGh}r;(hHh/]r<(j)r=(}r>((hNjKhNhUpurKr?(h}r@(jhUSTM0533rA(h Nh"NjKh,Nh(}rB(jU+h.h/]RrC(ubaRrD(hUAIRC2rE(hKGhLhMhNhNjA(h(}rF(hPNubh)rG(}rH((h U"Purine and Pyrimidine BiosynthesisrI(h }rJ((h)rK(}rL((hNhNhU55-amino-1-5-phospho-D-ribosyl-imidazole-4-carboxylaterM(h}rN((UCHEBI]rO(U28413rP(aUKEGG]rQ(UC04751rR(aUPUBCHEM]rS(U7321rT(auhU5aizc_crU(hUEh Jh!Gh"h#)rV(}rW((hNh"U C9H11N3O9PrX(h}rY(h(}rZ(h*}r[((UHK UCK UPKUOK UNKuhjX(ubh,Uch(}r\(h.h/]Rr](ubGj(G?uhNhU4phosphoribosylaminoimidazole carboxylase mutase rxn r^(hEG@@hFG@h}r_(hHh/]r`(j)ra(}rb((hNjKhNhUpurErc(h}rd(jhUSTM0534re(h Nh"NjKh,Nh(}rf(jU+h.h/]Rrg(ubaRrh(hUAIRC3ri(hKGhLhMhNhNje(h(}rj(hPNubh)rk(}rl((h UCitric Acid Cyclerm(h }rn((j G?jG?jGj Gh)ro(}rp((hNhNhU Succinyl-CoArq(h}rr((UCHEBI]rs(U15380rt(aUKEGG]ru(UC00091rv(aUPUBCHEM]rw(U3391rx(auhUsuccoa_cry(hUEh Jh!Gh"h#)rz(}r{((hNh"UC25H35N7O19P3Sr|(h}r}(h(}r~(h*}r((UCKUHK#UOKUNKUPKUSKuhj|(ubh,Uch(}r(h.h/]Rr(ubG?jGuhNhU2 Oxogluterate dehydrogenaser(hEG@@hFGh}r(hHh/]r((j)r(}r((hNjKhNhUkgdr(h}r(jhUSTM0736r(h Nh"NjKh,Nh(}r(jU+h.h/]Rr(ubj)r(}r((hNjKhNhUsucBr(h}r(jhUSTM0737r(h Nh"NjKh,Nh(}r(jU+h.h/]Rr(ubj)r(}r((hNjKhNhUlpdAr(h}r(jhUSTM0154r(h Nh"NjKh,Nh(}r(jU+h.h/]Rr(ubeRr(hUAKGDHr(hKGhLhMhNhNU'( STM0154 and STM0736 and STM0737 )r(h(}r(hPNubh)r(}r((h UTransport Inner Membraner(h }r((jG?jGh)r(}r((hNhNhU2-Oxoglutarater(h}r((UCHEBI]r(U30915r(aUKEGG]r(UC00026r(aUPUBCHEM]r(U3328r(auhUakg_pr(hUEh Jh!Gh"h#)r(}r((hNh"UC5H4O5r(h}r(h(}r(h*}r((UHKUCKUOKuhj(ubh,Uph(}r(h.h/]Rr(ubGjG?uhNhU:2 oxoglutarate reversible transport via symport periplasm r(hEG@@hFG@h}r(hHh/]r(j)r(}r((hNjKhNhUkgtPr(h}r(jhUSTM2654r(h Nh"NjKh,Nh(}r(jU+h.h/]Rr(ubaRr(hUAKGt2rppr(hKGhLhMhNhNj(h(}r(hPNubh)r(}r((h UTransport Outer Membrane Porinr(h }r((h)r(}r((hNhNhU2-Oxoglutarater(h}r((UCHEBI]r(U30915r(aUKEGG]r(UC00026r(aUPUBCHEM]r(U3328r(auhUakg_er(hUEh Jh!Gh"h#)r(}r((hNh"UC5H4O5r(h}r(h(}r(h*}r((UHKUCKUOKuhj(ubh,Ueh(}r(h.h/]Rr(ubGj(G?uhNhUGalpha ketoglutarate transport via diffusion extracellular to periplasm r(hEG@@hFG@h}r(hHh/]r((jjjjeRr(hUAKGtexr(hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r(h(}r(hPNubh)r(}r((h UTransport Inner Membraner(h }r((j4G?jGGjG?jZGh)r(}r((hNhNhUD-Alanyl-D-alaniner(h}r((UCHEBI]r(U16576r(aUKEGG]r(UC00993r(aUPUBCHEM]r(U4239r(auhUalaala_cr(hUEh Kh!Gh"h#)r(}r((hNh"U C6H12N2O3r(h}r(h(}r(h*}r((UHK UCKUOKUNKuhj(ubh,Uch(}r(h.h/]Rr(ubG?jG?h)r(}r((hNhNhUD-Alanyl-D-alaniner(h}r((UCHEBI]r(U16576r(aUKEGG]r(UC00993r(aUPUBCHEM]r(U4239r)auhUalaala_pr)hUEh Kh!Gh"h#)r)}r)(hNh"U C6H12N2O3r)h}r)h(}r)h*}r)(UHK UCKUOKUNKuhj)ubh,Uph(}r)h.h/]Rr )ubGuhNhU?D alanyl D alanine DalaDala transport via ABC system periplasm r )hEG@@hFGh}r )hHh/]r )(j)r )}r)(hNjKhNhUdppFr)h}r)jhUSTM3626r)h Nh"NjKh,Nh(}r)jU+h.h/]Rr)ubj)r)}r)(hNjKhNhUdppBr)h}r)jhUSTM3629r)h Nh"NjKh,Nh(}r)jU+h.h/]Rr)ubj)r)}r)(hNjKhNhUdppDr)h}r)jhUSTM3627r)h Nh"NjKh,Nh(}r )jU+h.h/]Rr!)ubj)r")}r#)(hNjKhNhUdppCr$)h}r%)jhUSTM3628r&)h Nh"NjKh,Nh(}r')jU+h.h/]Rr()ubj)r))}r*)(hNjKhNhUdppAr+)h}r,)jhUSTM3630r-)h Nh"NjKh,Nh(}r.)jU+h.h/]Rr/)ubeRr0)hU ALAALAabcppr1)hKGhLhMhNhNUC( STM3630 and STM3629 and STM3628 and STM3627 and STM3626 )r2)h(}r3)hPNubh)r4)}r5)(h UCell Envelope Biosynthesisr6)h }r7)(jGj4G?jGGj(G?jG?jG?uhNhU&D alanine D alanine ligase reversible r8)hEG@@hFGh}r9)hHh/]r:)(j)r;)}r<)(hNjKhNhUddlr=)h}r>)jhUSTM0130r?)h Nh"NjKh,Nh(}r@)jU+h.h/]RrA)ubj)rB)}rC)(hNjKhNhUddlrD)h}rE)jhUSTM0380rF)h Nh"NjKh,Nh(}rG)jU+h.h/]RrH)ubeRrI)hUALAALArrJ)hKGhLhMhNhNU( STM0380 or STM0130 )rK)h(}rL)hPNubh)rM)}rN)(h UTransport Outer Membrane PorinrO)h }rP)(h)rQ)}rR)(hNhNhUD-Alanyl-D-alaninerS)h}rT)(UCHEBI]rU)U16576rV)aUKEGG]rW)UC00993rX)aUPUBCHEM]rY)U4239rZ)auhUalaala_er[)hUEh Kh!Gh"h#)r\)}r])(hNh"U C6H12N2O3r^)h}r_)h(}r`)h*}ra)(UHK UCKUOKUNKuhj^)ubh,Ueh(}rb)h.h/]Rrc)ubGj(G?uhNhUOD alanyl D alanine DalaDala transport via diffusion extracellular to periplasm rd)hEG@@hFG@h}re)hHh/]rf)(jjjjeRrg)hU ALAALAtexrh)hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )ri)h(}rj)hPNubh)rk)}rl)(h UMurein Recyclingrm)h }rn)(h)ro)}rp)(hNhNhUL-alanine-L-glutamaterq)h}rr)(UCHEBI]rs)U0aUKEGG]rt)U0aUPUBCHEM]ru)U0auhU LalaLglu_crv)hUEh Jh!Gh"h#)rw)}rx)(hNh"U C8H13N2O5ry)h}rz)h(}r{)h*}r|)(UHK UCKUOKUNKuhjy)ubh,Uch(}r})h.h/]Rr~)ubG?h)r)}r)(hNhNhUL-alanine-D-glutamater)h}r)(UCHEBI]r)U0aUKEGG]r)U0aUPUBCHEM]r)U0auhU LalaDglu_cr)hUEh Jh!Gh"h#)r)}r)(hNh"U C8H13N2O5r)h}r)h(}r)h*}r)(UHK UCKUOKUNKuhj)ubh,Uch(}r)h.h/]Rr)ubGuhNhU"L alanyl gamma glutamate epimeraser)hEG@@hFG@h}r)hHh/]r)j)r)}r)(hNjKhNhUycjGr)h}r)jhUSTM1681r)h Nh"NjKh,Nh(}r)jU+h.h/]Rr)ubaRr)hUALAGLUEr)hKGhLhMhNhNj)h(}r)hPNubh)r)}r)(h U Alanine and Aspartate Metabolismr)h }r)(h)r)}r)(hNhNhU L-Alaniner)h}r)(UCHEBI]r)U16977r)aUKEGG]r)UC00041r)aUPUBCHEM]r)U3343r)auhUala__L_cr)hUEh Kh!Gh"h#)r)}r)(hNh"UC3H7NO2r)h}r)h(}r)h*}r)(UHKUCKUOKUNKuhj)ubh,Uch(}r)h.h/]Rr)ubGjG?uhNhUalanine racemaser)hEG@@hFG@h}r)hHh/]r)(j)r)}r)(hNjKhNhUalrr)h}r)jhUSTM4247r)h Nh"NjKh,Nh(}r)jU+h.h/]Rr)ubj)r)}r)(hNjKhNhUdadXr)h}r)jhUSTM1802r)h Nh"NjKh,Nh(}r)jU+h.h/]Rr)ubeRr)hUALARr)hKGhLhMhNhNU( STM4247 or STM1802 )r)h(}r)hPNubh)r)}r)(h U*Cofactor and Prosthetic Group Biosynthesisr)h }r)(jGh)r)}r)(hNhNhUPyridoxal-5-phosphater)h}r)(UCHEBI]r)U18405r)aUKEGG]r)UC00018r)aUPUBCHEM]r)U3320r)auhUpydx5p_cr)hUEh Jh!Gh"h#)r)}r)(hNh"UC8H8NO6Pr)h}r)h(}r)h*}r)(UHKUCKUPKUOKUNKuhj)ubh,Uch(}r)h.h/]Rr)ubGh)r)}r)(hNhNhUPyridoxamine-5-phosphater)h}r)(UCHEBI]r)U18335r)aUKEGG]r)UC00647r)aUPUBCHEM]r)U3919r)auhUpyam5p_cr)hUEh Jh!Gh"h#)r)}r)(hNh"U C8H12N2O5Pr)h}r)h(}r)h*}r)(UHK UCKUPKUOKUNKuhj)ubh,Uch(}r)h.h/]Rr)ubG?jmG?uhNhUD alanine transaminaser)hEG@@hFGh}r)hHh/]r)(j)r)}r)(hNjKhNhUltaAr)h}r)jhUSTM0934r)h Nh"NjKh,Nh(}r)jU+h.h/]Rr)ubj)r)}r)(hNjKhNhUglyAr)h}r)jhUSTM2555r*h Nh"NjKh,Nh(}r*jU+h.h/]Rr*ubeRr*hUALATA_D2r*hKGhLhMhNhNU( STM2555 or STM0934 )r*h(}r*hPNubh)r*}r*(h U Alanine and Aspartate Metabolismr *h }r *(jmG?jGj)GjG?uhNhUL alanine transaminaser *hEG@@hFG@h}r *hHh/]Rr *hUALATA_Lr*hKGhLhMhNhNUh(}r*hPNubh)r*}r*(h U*Cofactor and Prosthetic Group Biosynthesisr*h }r*(jmG?j)Gj)Gj)G?uhNhUalanine transaminaser*hEG@@hFGh}r*hHh/]r*(j)j)eRr*hUALATA_L2r*hKGhLhMhNhNU( STM0934 or STM2555 )r*h(}r*hPNubh)r*}r*(h U tRNA Chargingr*h }r*(j)GjG?jGGh)r*}r *(hNhNhUtRNA-Alar!*h}r"*(UCHEBI]r#*U29170r$*aUKEGG]r%*UC01635r&*aUPUBCHEM]r'*U4784r(*auhU trnaala_cr)*hUEh Kh!Gh"h#)r**}r+*(hNh"URh}r,*h(}r-*h*}r.*URKshURubh,Uch(}r/*h.h/]Rr0*ubGh)r1*}r2*(hNhNhUL-Alanyl-tRNA-Alar3*h}r4*(UCHEBI]r5*U17732r6*aUKEGG]r7*UC00886r8*aUPUBCHEM]r9*U4142r:*auhU alatrna_cr;*hUEh Kh!Gh"h#)r<*}r=*(hNh"UC3H6NORr>*h}r?*h(}r@*h*}rA*(UHKUCKURKUOKUNKuhj>*ubh,Uch(}rB*h.h/]RrC*ubG?jG?uhNhUAlanyl tRNA synthetaserD*hEG@@hFGh}rE*hHh/]rF*j)rG*}rH*(hNjKhNhUalaSrI*h}rJ*jhUSTM2827rK*h Nh"NjKh,Nh(}rL*jU+h.h/]RrM*ubaRrN*hUALATRSrO*hKGhLhMhNhNjK*h(}rP*hPNubh)rQ*}rR*(h UTransport Inner MembranerS*h }rT*(j)G?j4G?h)rU*}rV*(hNhNhU L-AlaninerW*h}rX*(UCHEBI]rY*U16977rZ*aUKEGG]r[*UC00041r\*aUPUBCHEM]r]*U3343r^*auhUala__L_pr_*hUEh Kh!Gh"h#)r`*}ra*(hNh"UC3H7NO2rb*h}rc*h(}rd*h*}re*(UHKUCKUOKUNKuhjb*ubh,Uph(}rf*h.h/]Rrg*ubGjGGjZGjG?jG?uhNhU-L alanine transport via ABC system periplasm rh*hEG@@hFGh}ri*hHh/]rj*(j)rk*}rl*(hNjKhNhUlivFrm*h}rn*jhUSTM3560ro*h Nh"NjKh,Nh(}rp*jU+h.h/]Rrq*ubj)rr*}rs*(hNjKhNhUlivMrt*h}ru*jhUSTM3562rv*h Nh"NjKh,Nh(}rw*jU+h.h/]Rrx*ubj)ry*}rz*(hNjKhNhUlivGr{*h}r|*jhUSTM3561r}*h Nh"NjKh,Nh(}r~*jU+h.h/]Rr*ubj)r*}r*(hNjKhNhUlivJr*h}r*jhUSTM3567r*h Nh"NjKh,Nh(}r*jU+h.h/]Rr*ubj)r*}r*(hNjKhNhUlivHr*h}r*jhUSTM3563r*h Nh"NjKh,Nh(}r*jU+h.h/]Rr*ubeRr*hUALAabcppr*hKGhLhMhNhNUC( STM3560 and STM3561 and STM3563 and STM3567 and STM3562 )r*h(}r*hPNubh)r*}r*(h UTransport Inner Membraner*h }r*(jU*GjGj)G?jG?uhNhU4L alanine transport in via proton symport periplasm r*hEG@@hFGh}r*hHh/]r*j)r*}r*(hNjKhNhUcycAr*h}r*jhUSTM4398r*h Nh"NjKh,Nh(}r*jU+h.h/]Rr*ubaRr*hUALAt2ppr*hKGhLhMhNhNj*h(}r*hPNubh)r*}r*(h UTransport Inner Membraner*h }r*(jG?j)G?j GjU*GuhNhU4L alanine transport in via sodium symport periplasm r*hEG@@hFGh}r*hHh/]r*j)r*}r*(hNjKhNhUyaaJr*h}r*jhUSTM0006r*h Nh"NjKh,Nh(}r*jU+h.h/]Rr*ubaRr*hUALAt4ppr*hKGhLhMhNhNj*h(}r*hPNubh)r*}r*(h UTransport Outer Membrane Porinr*h }r*(jU*G?h)r*}r*(hNhNhU L-Alaniner*h}r*(UCHEBI]r*U16977r*aUKEGG]r*UC00041r*aUPUBCHEM]r*U3343r*auhUala__L_er*hUEh Kh!Gh"h#)r*}r*(hNh"UC3H7NO2r*h}r*h(}r*h*}r*(UHKUCKUOKUNKuhj*ubh,Ueh(}r*h.h/]Rr*ubGuhNhU=L alanine transport via diffusion extracellular to periplasm r*hEG@@hFG@h}r*hHh/]r*(jjjjeRr*hUALAtexr*hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r*h(}r*hPNubh)r*}r*(h UAlternate Carbon Metabolismr*h }r*(jtG?jB GjZGjU G?jG@jGuhNhU)aldehyde dehydrogenase acetaldehyde NADP r*hEG@@hFGh}r*hHh/]r*j)r*}r*(hNjKhNhUaldBr*h}r*jhUSTM3680r*h Nh"NjKh,Nh(}r*jU+h.h/]Rr*ubaRr*hUALDD2yr*hKGhLhMhNhNj*h(}r*hPNubh)r*}r*(h UAlternate Carbon Metabolismr*h }r*(jB GjU G?jG?jZGh)r*}r*(hNhNhUPropanalr*h}r*(UCHEBI]r*U17153r*aUKEGG]r*UC00479r*aUPUBCHEM]r*U3762r*auhUppal_cr*hUEh Kh!Gh"h#)r*}r*(hNh"UC3H6Or*h}r*h(}r*h*}r*(UHKUCKUOKuhj*ubh,Uch(}r*h.h/]Rr*ubGjG@uhNhU%aldehyde dehydrogenase propanal NADP r*hEG@@hFGh}r*hHh/]r*j*aRr*hUALDD3yr*hKGhLhMhNhNUSTM3680r*h(}r+hPNubh)r+}r+(h UAlternate Carbon Metabolismr+h }r+(jG?jZGh)r+}r+(hNhNhU--Ureidoglycolater+h}r+(UCHEBI]r +U15412r +aUKEGG]r +UC00603r +aUPUBCHEM]r +U3878r+auhU urdglyc_cr+hUEh Jh!Gh"h#)r+}r+(hNh"UC3H5N2O4r+h}r+h(}r+h*}r+(UHKUCKUOKUNKuhj+ubh,Uch(}r+h.h/]Rr+ubG?h)r+}r+(hNhNhU Allantoater+h}r+(UCHEBI]r+U30837r+aUKEGG]r+UC00499r+aUPUBCHEM]r +U3782r!+auhUalltt_cr"+hUEh Jh!Gh"h#)r#+}r$+(hNh"UC4H7N4O4r%+h}r&+h(}r'+h*}r(+(UHKUCKUOKUNKuhj%+ubh,Uch(}r)+h.h/]Rr*+ubGjlG@jGuhNhUallantoate amidohydrolaser++hEG@@hFGh}r,+hHh/]r-+j)r.+}r/+(hNjKhNhUallCr0+h}r1+jhUSTM0527r2+h Nh"NjKh,Nh(}r3+jU+h.h/]Rr4+ubaRr5+hUALLTAMHr6+hKGhLhMhNhNj2+h(}r7+hPNubh)r8+}r9+(h UNitrogen Metabolismr:+h }r;+(jZGjG?h)r<+}r=+(hNhNhU Allantoinr>+h}r?+(UCHEBI]r@+U15676rA+aUKEGG]rB+UC01551rC+aUPUBCHEM]rD+U4709rE+auhUalltn_crF+hUEh Kh!Gh"h#)rG+}rH+(hNh"UC4H6N4O3rI+h}rJ+h(}rK+h*}rL+(UHKUCKUOKUNKuhjI+ubh,Uch(}rM+h.h/]RrN+ubGj+G?uhNhU allantoinaserO+hEG@@hFGh}rP+hHh/]rQ+j)rR+}rS+(hNjKhNhUallBrT+h}rU+jhUSTM0523rV+h Nh"NjKh,Nh(}rW+jU+h.h/]RrX+ubaRrY+hUALLTNrZ+hKGhLhMhNhNjV+h(}r[+hPNubh)r\+}r]+(h UTransport Inner Membraner^+h }r_+(j<+G?jGjG?h)r`+}ra+(hNhNhU Allantoinrb+h}rc+(UCHEBI]rd+U15676re+aUKEGG]rf+UC01551rg+aUPUBCHEM]rh+U4709ri+auhUalltn_prj+hUEh Kh!Gh"h#)rk+}rl+(hNh"UC4H6N4O3rm+h}rn+h(}ro+h*}rp+(UHKUCKUOKUNKuhjm+ubh,Uph(}rq+h.h/]Rrr+ubGuhNhU4allantoin transport in via proton symport periplasm rs+hEG@@hFG@h}rt+hHh/]ru+j)rv+}rw+(hNjKhNhUallPrx+h}ry+jhUSTM0522rz+h Nh"NjKh,Nh(}r{+jU+h.h/]Rr|+ubaRr}+hU ALLTNt2rppr~+hKGhLhMhNhNjz+h(}r+hPNubh)r+}r+(h UTransport Outer Membrane Porinr+h }r+(h)r+}r+(hNhNhU Allantoinr+h}r+(UCHEBI]r+U15676r+aUKEGG]r+UC01551r+aUPUBCHEM]r+U4709r+auhUalltn_er+hUEh Kh!Gh"h#)r+}r+(hNh"UC4H6N4O3r+h}r+h(}r+h*}r+(UHKUCKUOKUNKuhj+ubh,Ueh(}r+h.h/]Rr+ubGj`+G?uhNhU=allantoin transport via diffusion extracellular to periplasm r+hEG@@hFG@h}r+hHh/]r+(jjjjeRr+hUALLTNtexr+hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r+h(}r+hPNubh)r+}r+(h UTransport Outer Membrane Porinr+h }r+(h)r+}r+(hNhNhUD-Alloser+h}r+(UCHEBI]r+U4093r+aUKEGG]r+UC01487r+aUPUBCHEM]r+U4657r+auhUall__D_pr+hUEh Kh!Gh"h#)r+}r+(hNh"UC6H12O6r+h}r+h(}r+h*}r+(UHK UCKUOKuhj+ubh,Uph(}r+h.h/]Rr+ubG?h)r+}r+(hNhNhUD-Alloser+h}r+(UCHEBI]r+U4093r+aUKEGG]r+UC01487r+aUPUBCHEM]r+U4657r+auhUall__D_er+hUEh Kh!Gh"h#)r+}r+(hNh"UC6H12O6r+h}r+h(}r+h*}r+(UHK UCKUOKuhj+ubh,Ueh(}r+h.h/]Rr+ubGuhNhU:Allose transport via diffusion extracellular to periplasm r+hEG@@hFG@h}r+hHh/]r+(jjjjeRr+hUALLtexr+hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r+h(}r+hPNubh)r+}r+(h UMethylglyoxal Metabolismr+h }r+(h)r+}r+(hNhNhUAcetolr+h}r+(UCHEBI]r+U27957r+aUKEGG]r+UC05235r+aUPUBCHEM]r+U7630r+auhUacetol_cr+hUEh Kh!Gh"h#)r+}r+(hNh"UC3H6O2r+h}r+h(}r+h*}r+(UHKUCKUOKuhj+ubh,Uch(}r+h.h/]Rr+ubG?jB G?jU GjFGjGuhNhUaldose reductase methylglyoxal r+hEG@@hFGh}r+hHh/]r+(j)r+}r+(hNjKhNhUdkgBr+h}r+jhUSTM0255r+h Nh"NjKh,Nh(}r+jU+h.h/]Rr+ubj)r+}r+(hNjKhNhU-h}r+jhUSTM1288r+h Nh"NjKh,Nh(}r+jU+h.h/]Rr+ubj)r+}r+(hNjKhNhUdkgAr+h}r+jhUSTM3165r+h Nh"NjKh,Nh(}r+jU+h.h/]Rr+ubeRr+hUALR2r+hKGhLhMhNhNU%( STM3165 or STM0255 or STM1288 )r+h(}r,hPNubh)r,}r,(h UGlycerophospholipid Metabolismr,h }r,(jG?j G?j+Gj GjGuhNhUaldose reductase acetol r,hEG@@hFGh}r,hHh/]r,j)r,}r ,(hNjKhNhUgldAr ,h}r ,jhUSTM4108r ,h Nh"NjKh,Nh(}r ,jU+h.h/]Rr,ubaRr,hUALR4xr,hKGhLhMhNhNj ,h(}r,hPNubh)r,}r,(h UMurein Recyclingr,h }r,(jMG?jZGj$GjZ%G?uhNhU,anhydrous N Acetylmuramyl tripeptide amidaser,hEG@@hFGh}r,hHh/]r,jj$aRr,hUAM3PAr,hKGhLhMhNhNUSTM0146r,h(}r,hPNubh)r,}r,(h UMurein Recyclingr,h }r ,(jZGjZ%G?jG?j4%GuhNhU.anhydrous N Acetylmuramyl tetrapeptide amidaser!,hEG@@hFGh}r",hHh/]r#,jj$aRr$,hUAM4PAr%,hKGhLhMhNhNUSTM0146r&,h(}r',hPNubh)r(,}r),(h UMurein Recyclingr*,h }r+,(j4%GjZGjG?j$G?uhNhU;anhydrous N Acetylmuramyl tetrapeptide L D carboxypeptidaser,,hEG@@hFGh}r-,hHh/]r.,jaRr/,hUAM4PCPr0,hKGhLhMhNhNUSTM1800r1,h(}r2,hPNubh)r3,}r4,(h UAlternate Carbon Metabolismr5,h }r6,(h)r7,}r8,(hNhNhU Maltotrioser9,h}r:,(UCHEBI]r;,U27931r<,aUKEGG]r=,UC01835r>,aUPUBCHEM]r?,U4954r@,auhUmalttr_crA,hUEh Kh!Gh"h#)rB,}rC,(hNh"U C18H32O16rD,h}rE,h(}rF,h*}rG,(UHK UCKUOKuhjD,ubh,Uch(}rH,h.h/]RrI,ubGh)rJ,}rK,(hNhNhU D-GlucoserL,h}rM,(UCHEBI]rN,U4167rO,aUKEGG]rP,UC00031rQ,aUPUBCHEM]rR,U3333rS,auhUglc__D_crT,hUEh Kh!Gh"h#)rU,}rV,(hNh"UC6H12O6rW,h}rX,h(}rY,h*}rZ,(UHK UCKUOKuhjW,ubh,Uch(}r[,h.h/]Rr\,ubG?h)r],}r^,(hNhNhU Maltotetraoser_,h}r`,(UCHEBI]ra,U0aUKEGG]rb,UC02052rc,aUPUBCHEM]rd,U5141re,auhU maltttr_crf,hUEh Kh!Gh"h#)rg,}rh,(hNh"U C24H42O21ri,h}rj,h(}rk,h*}rl,(UHK*UCKUOKuhji,ubh,Uch(}rm,h.h/]Rrn,ubG?h)ro,}rp,(hNhNhUMaltoserq,h}rr,(UCHEBI]rs,U17306rt,aUKEGG]ru,UC00208rv,aUPUBCHEM]rw,U3508rx,auhUmalt_cry,hUEh Kh!Gh"h#)rz,}r{,(hNh"U C12H22O11r|,h}r},h(}r~,h*}r,(UHKUCK UOK uhj|,ubh,Uch(}r,h.h/]Rr,ubGuhNhUAmylomaltase maltotriose r,hEG@@hFGh}r,hHh/]r,j)r,}r,(hNjKhNhUmalQr,h}r,jhUSTM3513r,h Nh"NjKh,Nh(}r,jU+h.h/]Rr,ubaRr,hUAMALT1r,hKGhLhMhNhNj,h(}r,hPNubh)r,}r,(h UAlternate Carbon Metabolismr,h }r,(jo,Gj],Gh)r,}r,(hNhNhU Maltopentaoser,h}r,(UCHEBI]r,U28057r,aUKEGG]r,U0aUPUBCHEM]r,U 124005??3611r,auhUmaltpt_cr,hUEh Kh!Gh"h#)r,}r,(hNh"U C30H52O26r,h}r,h(}r,h*}r,(UHK4UCKUOKuhj,ubh,Uch(}r,h.h/]Rr,ubG?jJ,G?uhNhUAmylomaltase maltotetraose r,hEG@@hFGh}r,hHh/]r,j,aRr,hUAMALT2r,hKGhLhMhNhNUSTM3513r,h(}r,hPNubh)r,}r,(h UAlternate Carbon Metabolismr,h }r,(jo,Gj,GjG?jJ,G?uhNhUAmylomaltase maltopentaose r,hEG@@hFGh}r,hHh/]r,j,aRr,hUAMALT3r,hKGhLhMhNhNUSTM3513r,h(}r,hPNubh)r,}r,(h UAlternate Carbon Metabolismr,h }r,(jJ,G?h)r,}r,(hNhNhU Maltoheptaoser,h}r,(UCHEBI]r,U0aUKEGG]r,U0aUPUBCHEM]r,U 3037125??8462r,auhUmalthp_cr,hUEh Kh!Gh"h#)r,}r,(hNh"U C42H72O36r,h}r,h(}r,h*}r,(UHKHUCK*UOK$uhj,ubh,Uch(}r,h.h/]Rr,ubG?jo,GjGuhNhUAmylomaltase maltohexaose r,hEG@@hFGh}r,hHh/]r,j,aRr,hUAMALT4r,hKGhLhMhNhNUSTM3513r,h(}r,hPNubh)r,}r,(h UAlternate Carbon Metabolismr,h }r,(jKGjG?uhNhU)N acetylmannosamine 6 phosphate epimeraser,hEG@@hFG@h}r,hHh/]r,j)r,}r,(hNjKhNhUnanEr,h}r,jhUSTM3337r,h Nh"NjKh,Nh(}r,jU+h.h/]Rr,ubaRr,hUAMANAPErr,hKGhLhMhNhNj,h(}r,hPNubh)r,}r,(h UAlternate Carbon Metabolismr,h }r,(jKG?j3GjGGj4G?jG?uhNhUN acetyl D mannosamine kinaser,hEG@@hFGh}r,hHh/]r,j)r,}r,(hNjKhNhUnanKr,h}r,jhUSTM3336r,h Nh"NjKh,Nh(}r,jU+h.h/]Rr,ubaRr,hUAMANKr,hKGhLhMhNhNj,h(}r,hPNubh)r,}r,(h U*Cofactor and Prosthetic Group Biosynthesisr,h }r,(h)r,}r,(hNhNhU8-Amino-7-oxononanoater,h}r,(UCHEBI]r,U 12266 15830r,aUKEGG]r,UC01092r-aUPUBCHEM]r-U4327r-auhU8aonn_cr-hUEh Kh!Gh"h#)r-}r-(hNh"UC9H17NO3r-h}r-h(}r-h*}r -(UHKUCK UOKUNKuhj-ubh,Uch(}r -h.h/]Rr -ubGh)r -}r -(hNhNhU7-8-Diaminononanoater-h}r-(UCHEBI]r-U2247r-aUKEGG]r-UC01037r-aUPUBCHEM]r-U4280r-auhUdann_cr-hUEh Kh!Gh"h#)r-}r-(hNh"U C9H21N2O2r-h}r-h(}r-h*}r-(UHKUCK UOKUNKuhj-ubh,Uch(}r-h.h/]Rr-ubG?j!Gh)r-}r -(hNhNhU&S-Adenosyl-4-methylthio-2-oxobutanoater!-h}r"-(UCHEBI]r#-U16490r$-aUKEGG]r%-UC04425r&-aUPUBCHEM]r'-U7057r(-auhUamob_cr)-hUEh Kh!Gh"h#)r*-}r+-(hNh"U C15H19N5O6Sr,-h}r--h(}r.-h*}r/-(UHKUCKUSKUOKUNKuhj,-ubh,Uch(}r0-h.h/]Rr1-ubG?uhNhU6adenosylmethionine 8 amino 7 oxononanoate transaminaser2-hEG@@hFG@h}r3-hHh/]r4-j)r5-}r6-(hNjKhNhUbioAr7-h}r8-jhUSTM0793r9-h Nh"NjKh,Nh(}r:-jU+h.h/]Rr;-ubaRr<-hUAMAOTrr=-hKGhLhMhNhNj9-h(}r>-hPNubh)r?-}r@-(h U*Cofactor and Prosthetic Group BiosynthesisrA-h }rB-(h)rC-}rD-(hNhNhU2-Demethylmenaquinol-8rE-h}rF-(UCHEBI]rG-U0aUKEGG]rH-U0aUPUBCHEM]rI-U0auhU 2dmmql8_crJ-hUEh Kh!Gh"h#)rK-}rL-(hNh"UC50H72O2rM-h}rN-h(}rO-h*}rP-(UHKHUCK2UOKuhjM-ubh,Uch(}rQ-h.h/]RrR-ubGj'G?j!GjG?h)rS-}rT-(hNhNhU Menaquinol-8rU-h}rV-(UCHEBI]rW-U0aUKEGG]rX-UC05819rY-aUPUBCHEM]rZ-U8114r[-auhUmql8_cr\-hUEh Kh!Gh"h#)r]-}r^-(hNh"UC51H74O2r_-h}r`-h(}ra-h*}rb-(UHKJUCK3UOKuhj_-ubh,Uch(}rc-h.h/]Rrd-ubG?uhNhUGS adenosylmethione2 demthylmenaquinole methyltransferase menaquinone 8 re-hEG@@hFGh}rf-hHh/]rg-j)rh-}ri-(hNjKhNhUubiErj-h}rk-jhUSTM3970rl-h Nh"NjKh,Nh(}rm-jU+h.h/]Rrn-ubaRro-hUAMMQLT8rp-hKGhLhMhNhNjl-h(}rq-hPNubh)rr-}rs-(h U*Cofactor and Prosthetic Group Biosynthesisrt-h }ru-(j G?j Gj G?jZGjG@j'(Gh)rv-}rw-(hNhNhUFormaterx-h}ry-(UCHEBI]rz-U30751r{-aUKEGG]r|-UC00058r}-aUPUBCHEM]r~-U3358r-auhUfor_cr-hUEh Jh!Gh"h#)r-}r-(hNh"UCH1O2r-h}r-h(}r-h*}r-(UHKUCKUOKuhj-ubh,Uch(}r-h.h/]Rr-ubG@uhNhU54 amino 2 methyl 5 phosphomethylpyrimidine synthetaser-hEG@@hFGh}r-hHh/]r-j)r-}r-(hNjKhNhUthiCr-h}r-jhUSTM4164r-h Nh"NjKh,Nh(}r-jU+h.h/]Rr-ubaRr-hUAMPMS2r-hKGhLhMhNhNj-h(}r-hPNubh)r-}r-(h UNucleotide Salvage Pathwayr-h }r-(jZGjG?j"G?jGuhNhUAMP nucleosidaser-hEG@@hFGh}r-hHh/]r-j)r-}r-(hNjKhNhUamnr-h}r-jhUSTM2009r-h Nh"NjKh,Nh(}r-jU+h.h/]Rr-ubaRr-hUAMPNr-hKGhLhMhNhNj-h(}r-hPNubh)r-}r-(h UCysteine Metabolismr-h }r-(h)r-}r-(hNhNhUGlyciner-h}r-(UCHEBI]r-U15428r-aUKEGG]r-UC00037r-aUPUBCHEM]r-U3339r-auhUgly_cr-hUEh Kh!Gh"h#)r-}r-(hNh"UC2H5NO2r-h}r-h(}r-h*}r-(UHKUCKUOKUNKuhj-ubh,Uch(}r-h.h/]Rr-ubG?h)r-}r-(hNhNhUCys-Glyr-h}r-(UCHEBI]r-U4047r-aUKEGG]r-UC01419r-aUPUBCHEM]r-U4606r-auhUcgly_cr-hUEh Kh!Gh"h#)r-}r-(hNh"U C5H10N2O3Sr-h}r-h(}r-h*}r-(UHK UCKUSKUOKUNKuhj-ubh,Uch(}r-h.h/]Rr-ubGh)r-}r-(hNhNhU L-Cysteiner-h}r-(UCHEBI]r-U17561r-aUKEGG]r-UC00097r-aUPUBCHEM]r-U3397r-auhUcys__L_cr-hUEh Kh!Gh"h#)r-}r-(hNh"UC3H7NO2Sr-h}r-h(}r-h*}r-(UHKUCKUSKUOKUNKuhj-ubh,Uch(}r-h.h/]Rr-ubG?jZGuhNhUalanyl aminopeptidase cys gly r-hEG@@hFGh}r-hHh/]r-(j)r-}r-(hNjKhNhUpepAr-h}r-jhUSTM4477r-h Nh"NjKh,Nh(}r-jU+h.h/]Rr-ubj)r-}r-(hNjKhNhUpepDr-h}r-jhUSTM0316r-h Nh"NjKh,Nh(}r-jU+h.h/]Rr-ubj)r-}r-(hNjKhNhUpepBr-h}r-jhUSTM2536r-h Nh"NjKh,Nh(}r-jU+h.h/]Rr-ubj)r-}r-(hNjKhNhUpepNr-h}r-jhUSTM1057r.h Nh"NjKh,Nh(}r.jU+h.h/]Rr.ubeRr.hU AMPTASECGr.hKGhLhMhNhNU2( STM1057 or STM0316 or STM4477 or STM2536 )r.h(}r.hPNubh)r.}r.(h UArginine and Proline Metabolismr .h }r .(h)r .}r .(hNhNhU L-Proliner .h}r.(UCHEBI]r.U17203r.aUKEGG]r.UC00148r.aUPUBCHEM]r.U3448r.auhUpro__L_cr.hUEh Kh!Gh"h#)r.}r.(hNh"UC5H9NO2r.h}r.h(}r.h*}r.(UHK UCKUOKUNKuhj.ubh,Uch(}r.h.h/]Rr.ubG?j-G?jZGh)r.}r.(hNhNhUL-Prolinylglyciner .h}r!.(UCHEBI]r".U0aUKEGG]r#.U0aUPUBCHEM]r$.U0auhUprogly_cr%.hUEh Kh!Gh"h#)r&.}r'.(hNh"U C7H12N2O3r(.h}r).h(}r*.h*}r+.(UHK UCKUOKUNKuhj(.ubh,Uch(}r,.h.h/]Rr-.ubGuhNhUaminopeptidase pro gly r..hEG@@hFGh}r/.hHh/]r0.(j-j-j-j-eRr1.hU AMPTASEPGr2.hKGhLhMhNhNU2( STM2536 or STM4477 or STM0316 or STM1057 )r3.h(}r4.hPNubh)r5.}r6.(h UTransport Outer Membrane Porinr7.h }r8.(h)r9.}r:.(hNhNhUAMPr;.h}r<.(UCHEBI]r=.U16027r>.aUKEGG]r?.UC00020r@.aUPUBCHEM]rA.U3322rB.auhUamp_prC.hUEh Jh!Gh"h#)rD.}rE.(hNh"U C10H12N5O7PrF.h}rG.h(}rH.h*}rI.(UHK UCK UPKUOKUNKuhjF.ubh,Uph(}rJ.h.h/]RrK.ubG?h)rL.}rM.(hNhNhUAMPrN.h}rO.(UCHEBI]rP.U16027rQ.aUKEGG]rR.UC00020rS.aUPUBCHEM]rT.U3322rU.auhUamp_erV.hUEh Jh!Gh"h#)rW.}rX.(hNh"U C10H12N5O7PrY.h}rZ.h(}r[.h*}r\.(UHK UCK UPKUOKUNKuhjY.ubh,Ueh(}r].h.h/]Rr^.ubGuhNhU7AMP transport via diffusion extracellular to periplasm r_.hEG@@hFG@h}r`.hHh/]ra.(jjjjeRrb.hUAMPtexrc.hKGhLhMhNhNU2( STM0999 or STM1473 or STM2267 or STM0320 )rd.h(}re.hPNubh)rf.}rg.(h UTransport Outer Membrane Porinrh.h }ri.(jx$G?h)rj.}rk.(hNhNhU5N-Acetyl-D-glucosamine-anhydrous-N-Acetylmuramic-acidrl.h}rm.(UCHEBI]rn.U0aUKEGG]ro.U0aUPUBCHEM]rp.U0auhUanhgm_erq.hUEh Jh!Gh"h#)rr.}rs.(hNh"U C19H29N2O12rt.h}ru.h(}rv.h*}rw.(UHKUCKUOK UNKuhjt.ubh,Ueh(}rx.h.h/]Rry.ubGuhNhUDGlcNAc anhMurNAc transport via diffusion extracellular to periplasm rz.hEG@@hFG@h}r{.hHh/]r|.(jjjjeRr}.hUANHGMtexr~.hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r.h(}r.hPNubh)r.}r.(h UMurein Recyclingr.h }r.(j4G?jZGjZ%GjGGjG?jG?uhNhU%1 6 anhydrous N Acetylmuramate kinaser.hEG@@hFGh}r.hHh/]r.j)r.}r.(hNjKhNhUanmKr.h}r.jhUSTM1446r.h Nh"NjKh,Nh(}r.jU+h.h/]Rr.ubaRr.hUANHMKr.hKGhLhMhNhNj.h(}r.hPNubh)r.}r.(h U0Tyrosine Tryptophan and Phenylalanine Metabolismr.h }r.(j)#Gh)r.}r.(hNhNhU"N-5-Phospho-D-ribosyl-anthranilater.h}r.(UCHEBI]r.U7091r.aUKEGG]r.UC04302r.aUPUBCHEM]r.U6961r.auhUpran_cr.hUEh Jh!Gh"h#)r.}r.(hNh"U C12H13NO9Pr.h}r.h(}r.h*}r.(UHK UCK UPKUOK UNKuhj.ubh,Uch(}r.h.h/]Rr.ubG?h)r.}r.(hNhNhU Anthranilater.h}r.(UCHEBI]r.U30754r.aUKEGG]r.UC00108r.aUPUBCHEM]r.U3408r.auhUanth_cr.hUEh Jh!Gh"h#)r.}r.(hNh"UC7H6NO2r.h}r.h(}r.h*}r.(UHKUCKUOKUNKuhj.ubh,Uch(}r.h.h/]Rr.ubGjG?uhNhU&anthranilate phosphoribosyltransferaser.hEG@@hFGh}r.hHh/]r.j)r.}r.(hNjKhNhUtrpDr.h}r.jhUSTM1724r.h Nh"NjKh,Nh(}r.jU+h.h/]Rr.ubaRr.hUANPRTr.hKGhLhMhNhNj.h(}r.hPNubh)r.}r.(h U0Tyrosine Tryptophan and Phenylalanine Metabolismr.h }r.(jmG?jG?j.G?j GjG?j GuhNhUanthranilate synthaser.hEG@@hFGh}r.hHh/]r.(j)r.}r.(hNjKhNhUtrpEr.h}r.jhUSTM1723r.h Nh"NjKh,Nh(}r.jU+h.h/]Rr.ubj.eRr.hUANSr.hKGhLhMhNhNU( STM1724 and STM1723 )r.h(}r.hPNubh)r.}r.(h UThreonine and Lysine Metabolismr.h }r.(h)r.}r.(hNhNhUL-2-Amino-3-oxobutanoater.h}r.(UCHEBI]r.U16944r.aUKEGG]r.UC03508r.aUPUBCHEM]r.U6318r.auhU2aobut_cr.hUEh Kh!Gh"h#)r.}r.(hNh"UC4H7NO3r.h}r.h(}r.h*}r.(UHKUCKUOKUNKuhj.ubh,Uch(}r.h.h/]Rr.ubGj3G?jG?jGuhNhU5L 2 amino 3 oxobutanoate decarboxylation spontaneous r.hEG@@hFGh}r.hHh/]r.jFaRr.hUAOBUTDsr.hKGhLhMhNhNUs0001r.h(}r.hPNubh)r.}r.(h U*Cofactor and Prosthetic Group Biosynthesisr.h }r.(j,G?jG?j)GjG?h)r.}r.(hNhNhU Pimeloyl-CoAr.h}r/(UCHEBI]r/U15504r/aUKEGG]r/UC01063r/aUPUBCHEM]r/U4302r/auhUpmcoa_cr/hUEh Jh!Gh"h#)r/}r /(hNh"UC28H41N7O19P3Sr /h}r /h(}r /h*}r /(UCKUHK)UOKUNKUPKUSKuhj /ubh,Uch(}r/h.h/]Rr/ubGjGuhNhU8 amino 7 oxononanoate synthaser/hEG@@hFG@h}r/hHh/]r/j)r/}r/(hNjKhNhUbioFr/h}r/jhUSTM0795r/h Nh"NjKh,Nh(}r/jU+h.h/]Rr/ubaRr/hUAOXSrr/hKGhLhMhNhNj/h(}r/hPNubh)r/}r/(h UNucleotide Salvage Pathwayr/h }r /(h)r!/}r"/(hNhNhU#P1-P4-Bis-5-adenosyl-tetraphosphater#/h}r$/(UCHEBI]r%/U17422r&/aUKEGG]r'/UC01260r(/aUPUBCHEM]r)/U4479r*/auhUap4a_cr+/hUEh Jh!Gh"h#)r,/}r-/(hNh"UC20H24N10O19P4r./h}r//h(}r0/h*}r1/(UHKUCKUPKUOKUNK uhj./ubh,Uch(}r2/h.h/]Rr3/ubGjZGj4G@jG@uhNhUAp4A hydrolaser4/hEG@@hFGh}r5/hHh/]r6/j)r7/}r8/(hNjKhNhUapaHr9/h}r:/jhUSTM0088r;/h Nh"NjKh,Nh(}r/hUAP4AHr?/hKGhLhMhNhNj;/h(}r@/hPNubh)rA/}rB/(h UNucleotide Salvage PathwayrC/h }rD/(h)rE/}rF/(hNhNhU#P1-P5-Bis-5-adenosyl-pentaphosphaterG/h}rH/(UCHEBI]rI/U0aUKEGG]rJ/UC04058rK/aUPUBCHEM]rL/U6757rM/auhUap5a_crN/hUEh Jh!Gh"h#)rO/}rP/(hNh"UC20H24N10O22P5rQ/h}rR/h(}rS/h*}rT/(UHKUCKUPKUOKUNK uhjQ/ubh,Uch(}rU/h.h/]RrV/ubGjGG?jZGj4G?jG@uhNhUAp5A hydrolaserW/hEG@@hFGh}rX/hHh/]rY/j7/aRrZ/hUAP5AHr[/hKGhLhMhNhNUSTM0088r\/h(}r]/hPNubh)r^/}r_/(h U*Cofactor and Prosthetic Group Biosynthesisr`/h }ra/(h)rb/}rc/(hNhNhU&5-Amino-6-5-phosphoribitylamino-uracilrd/h}re/(UCHEBI]rf/U18247rg/aUKEGG]rh/UC04454ri/aUPUBCHEM]rj/U7081rk/auhU5aprbu_crl/hUEh Jh!Gh"h#)rm/}rn/(hNh"U C9H15N4O9Pro/h}rp/h(}rq/h*}rr/(UHKUCK UPKUOK UNKuhjo/ubh,Uch(}rs/h.h/]Rrt/ubG?jB G?jU GjGh)ru/}rv/(hNhNhU&5-Amino-6-5-phosphoribosylamino-uracilrw/h}rx/(UCHEBI]ry/U18337rz/aUKEGG]r{/UC01268r|/aUPUBCHEM]r}/U4487r~/auhU5apru_cr/hUEh Jh!Gh"h#)r/}r/(hNh"U C9H13N4O9Pr/h}r/h(}r/h*}r/(UHK UCK UPKUOK UNKuhj/ubh,Uch(}r/h.h/]Rr/ubGuhNhU05 amino 6 5 phosphoribosylamino uracil reductaser/hEG@@hFGh}r/hHh/]r/j)r/}r/(hNjKhNhUribDr/h}r/jhUSTM0416r/h Nh"NjKh,Nh(}r/jU+h.h/]Rr/ubaRr/hUAPRAURr/hKGhLhMhNhNj/h(}r/hPNubh)r/}r/(h UAlternate Carbon Metabolismr/h }r/(h)r/}r/(hNhNhU L-Arabinoser/h}r/(UCHEBI]r/U17535r/aUKEGG]r/UC00259r/aUPUBCHEM]r/U3558r/auhU arab__L_cr/hUEh Kh!Gh"h#)r/}r/(hNh"UC5H10O5r/h}r/h(}r/h*}r/(UHK UCKUOKuhj/ubh,Uch(}r/h.h/]Rr/ubGh)r/}r/(hNhNhU L-Ribuloser/h}r/(UCHEBI]r/U16880r/aUKEGG]r/UC00508r/aUPUBCHEM]r/U3791r/auhUrbl__L_cr/hUEh Kh!Gh"h#)r/}r/(hNh"UC5H10O5r/h}r/h(}r/h*}r/(UHK UCKUOKuhj/ubh,Uch(}r/h.h/]Rr/ubG?uhNhUL arabinose isomeraser/hEG@@hFG@h}r/hHh/]r/j)r/}r/(hNjKhNhUaraAr/h}r/jhUSTM0102r/h Nh"NjKh,Nh(}r/jU+h.h/]Rr/ubaRr/hUARAIr/hKGhLhMhNhNj/h(}r/hPNubh)r/}r/(h U&Inorganic Ion Transport and Metabolismr/h }r/(h)r/}r/(hNhNhU Aerobactinr/h}r/(UCHEBI]r/U18157r/aUKEGG]r/UC05554r/aUPUBCHEM]r/U7887r/auhU arbtn__fe3_cr/hUEh Kh!Gh"h#)r/}r/(hNh"U C22H33FeN4O13r/h}r/h(}r/h*}r/(UHK!UCKUFeKUOK UNKuhj/ubh,Uch(}r/h.h/]Rr/ubGjjGh)r/}r/(hNhNhUFe2r/h}r/(UCHEBI]r/U18248r/aUKEGG]r/UC00023r/aUPUBCHEM]r/U3325r/auhUfe2_cr/hUEh Kh!Gh"h#)r/}r/(hNh"UFer/h}r/h(}r/h*}r/j/Kshj/ubh,Uch(}r/h.h/]Rr/ubG@h)r/}r/(hNhNhUaerobactin-minus-Fe3r/h}r/(UCHEBI]r/U0aUKEGG]r/U0aUPUBCHEM]r/U0auhUarbtn_cr/hUEh Jh!Gh"h#)r/}r/(hNh"U C22H33N4O13r0h}r0h(}r0h*}r0(UHK!UCKUOK UNKuhj0ubh,Uch(}r0h.h/]Rr0ubG@jG?jG@uhNhUaerobactin reductaser0hEG@@hFGh}r0hHh/]Rr0hUARBTNR1r 0hKGhLhMhNhNUh(}r 0hPNubh)r 0}r 0(h U&Inorganic Ion Transport and Metabolismr 0h }r0(j/Gh)r0}r0(hNhNhUFMNr0h}r0(UCHEBI]r0U17621r0aUKEGG]r0UC00061r0aUPUBCHEM]r0U3361r0auhUfmn_cr0hUEh Jh!Gh"h#)r0}r0(hNh"U C17H19N4O9Pr0h}r0h(}r0h*}r0(UHKUCKUPKUOK UNKuhj0ubh,Uch(}r 0h.h/]Rr!0ubG?h)r"0}r#0(hNhNhU Reduced-FMNr$0h}r%0(UCHEBI]r&0U0aUKEGG]r'0U0aUPUBCHEM]r(0U0auhUfmnh2_cr)0hUEh Jh!Gh"h#)r*0}r+0(hNh"U C17H21N4O9Pr,0h}r-0h(}r.0h*}r/0(UHKUCKUPKUOK UNKuhj,0ubh,Uch(}r00h.h/]Rr10ubGj/G@j/G@jG@uhNhUaerobactin reductaser20hEG@@hFGh}r30hHh/]Rr40hUARBTNR2r50hKGhLhMhNhNUh(}r60hPNubh)r70}r80(h U&Inorganic Ion Transport and Metabolismr90h }r:0(j/Gh)r;0}r<0(hNhNhUReduced-riboflavinr=0h}r>0(UCHEBI]r?0U8798r@0aUKEGG]rA0UC01007rB0aUPUBCHEM]rC0U4252rD0auhU rbflvrd_crE0hUEh Kh!Gh"h#)rF0}rG0(hNh"U C17H22N4O6rH0h}rI0h(}rJ0h*}rK0(UHKUCKUOKUNKuhjH0ubh,Uch(}rL0h.h/]RrM0ubGh)rN0}rO0(hNhNhU RiboflavinrP0h}rQ0(UCHEBI]rR0U17015rS0aUKEGG]rT0UC00255rU0aUPUBCHEM]rV0U3554rW0auhUribflv_crX0hUEh Kh!Gh"h#)rY0}rZ0(hNh"U C17H20N4O6r[0h}r\0h(}r]0h*}r^0(UHKUCKUOKUNKuhj[0ubh,Uch(}r_0h.h/]Rr`0ubG?j/G@jG@j/G@uhNhUaerobactin reductasera0hEG@@hFGh}rb0hHh/]Rrc0hUARBTNR3rd0hKGhLhMhNhNUh(}re0hPNubh)rf0}rg0(h UTransport Inner Membranerh0h }ri0(j/G?j4G?h)rj0}rk0(hNhNhU Aerobactinrl0h}rm0(UCHEBI]rn0U18157ro0aUKEGG]rp0UC05554rq0aUPUBCHEM]rr0U7887rs0auhU arbtn__fe3_prt0hUEh Kh!Gh"h#)ru0}rv0(hNh"U C22H33FeN4O13rw0h}rx0h(}ry0h*}rz0(UHK!UCKUFeKUOK UNKuhjw0ubh,Uph(}r{0h.h/]Rr|0ubGjGGjZGjG?jG?uhNhU.aerobactin transport via ABC system periplasm r}0hEG@@hFGh}r~0hHh/]r0(j)r0}r0(hNjKhNhUfhuDr0h}r0jhUSTM0193r0h Nh"NjKh,Nh(}r0jU+h.h/]Rr0ubj)r0}r0(hNjKhNhUfhuBr0h}r0jhUSTM0194r0h Nh"NjKh,Nh(}r0jU+h.h/]Rr0ubj)r0}r0(hNjKhNhUfhuCr0h}r0jhUSTM0192r0h Nh"NjKh,Nh(}r0jU+h.h/]Rr0ubeRr0hU ARBTNabcppr0hKGhLhMhNhNU'( STM0194 and STM0192 and STM0193 )r0h(}r0hPNubh)r0}r0(h U&Inorganic Ion Transport and Metabolismr0h }r0(h)r0}r0(hNhNhUFe3r0h}r0(UCHEBI]r0U14819r0aUKEGG]r0U0aUPUBCHEM]r0U0auhUfe3_er0hUEh Kh!Gh"h#)r0}r0(hNh"UFer0h}r0h(}r0h*}r0j0Kshj0ubh,Ueh(}r0h.h/]Rr0ubGh)r0}r0(hNhNhUaerobactin-minus-Fe3r0h}r0(UCHEBI]r0U0aUKEGG]r0U0aUPUBCHEM]r0U0auhUarbtn_er0hUEh Jh!Gh"h#)r0}r0(hNh"U C22H33N4O13r0h}r0h(}r0h*}r0(UHK!UCKUOK UNKuhj0ubh,Ueh(}r0h.h/]Rr0ubGh)r0}r0(hNhNhU Aerobactinr0h}r0(UCHEBI]r0U18157r0aUKEGG]r0UC05554r0aUPUBCHEM]r0U7887r0auhU arbtn__fe3_er0hUEh Kh!Gh"h#)r0}r0(hNh"U C22H33FeN4O13r0h}r0h(}r0h*}r0(UHK!UCKUFeKUOK UNKuhj0ubh,Ueh(}r0h.h/]Rr0ubG?uhNhU+aerobactin Fe loading reaction spontaneous r0hEG@@hFGh}r0hHh/]r0jFaRr0hUARBTNexsr0hKGhLhMhNhNUs0001r0h(}r0hPNubh)r0}r0(h UTransport Outer Membraner0h }r0(j0G?jGh)r0}r0(hNhNhUaerobactin-minus-Fe3r0h}r0(UCHEBI]r0U0aUKEGG]r0U0aUPUBCHEM]r0U0auhUarbtn_pr0hUEh Jh!Gh"h#)r0}r0(hNh"U C22H33N4O13r0h}r0h(}r0h*}r0(UHK!UCKUOK UNKuhj0ubh,Uph(}r0h.h/]Rr0ubGjG?uhNhU&aerobactin secretion to extracellular r0hEG@@hFGh}r0hHh/]Rr0hUARBTNtexr0hKGhLhMhNhNUh(}r0hPNubh)r0}r0(h UTransport Outer Membraner0h }r0(jj0G?j0GjGjG?uhNhU2aerobactin transport via ton system extracellular r0hEG@@hFGh}r0hHh/]Rr0hU ARBTNtonexr0hKGhLhMhNhNUh(}r0hPNubh)r0}r0(h U&Inorganic Ion Transport and Metabolismr0h }r0(j/GjGj0G?jG?uhNhU"aerobactin secretion to periplasm r0hEG@@hFGh}r0hHh/]Rr1hUARBTNtppr1hKGhLhMhNhNUh(}r1hPNubh)r1}r1(h UTransport Inner Membraner1h }r1(jGj/G?h)r1}r1(hNhNhU L-Arabinoser 1h}r 1(UCHEBI]r 1U17535r 1aUKEGG]r 1UC00259r1aUPUBCHEM]r1U3558r1auhU arab__L_pr1hUEh Kh!Gh"h#)r1}r1(hNh"UC5H10O5r1h}r1h(}r1h*}r1(UHK UCKUOKuhj1ubh,Uph(}r1h.h/]Rr1ubGjG?uhNhU3L arabinose transport via proton symport periplasm r1hEG@@hFG@h}r1hHh/]r1j)r1}r1(hNjKhNhUaraEr1h}r 1jhUSTM3016r!1h Nh"NjKh,Nh(}r"1jU+h.h/]Rr#1ubaRr$1hUARBt2rppr%1hKGhLhMhNhNj!1h(}r&1hPNubh)r'1}r(1(h UTransport Inner Membraner)1h }r*1(j/Gj1G?jGjG?uhNhU4L arabinose transport via proton antiport periplasm r+1hEG@@hFGh}r,1hHh/]r-1j)r.1}r/1(hNjKhNhUydeAr01h}r11jhUSTM1522r21h Nh"NjKh,Nh(}r31jU+h.h/]Rr41ubaRr51hUARBt3ippr61hKGhLhMhNhNj21h(}r71hPNubh)r81}r91(h UTransport Outer Membrane Porinr:1h }r;1(h)r<1}r=1(hNhNhU L-Arabinoser>1h}r?1(UCHEBI]r@1U17535rA1aUKEGG]rB1UC00259rC1aUPUBCHEM]rD1U3558rE1auhU arab__L_erF1hUEh Kh!Gh"h#)rG1}rH1(hNh"UC5H10O5rI1h}rJ1h(}rK1h*}rL1(UHK UCKUOKuhjI1ubh,Ueh(}rM1h.h/]RrN1ubGj1G?uhNhU?L arabinose transport via diffusion extracellular to periplasm rO1hEG@@hFG@h}rP1hHh/]rQ1(jjjjeRrR1hUARBtexrS1hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rT1h(}rU1hPNubh)rV1}rW1(h UTransport Inner MembranerX1h }rY1(h)rZ1}r[1(hNhNhU L-Argininer\1h}r]1(UCHEBI]r^1U16467r_1aUKEGG]r`1UC00062ra1aUPUBCHEM]rb1U3362rc1auhUarg__L_crd1hUEh Kh!Gh"h#)re1}rf1(hNh"U C6H15N4O2rg1h}rh1h(}ri1h*}rj1(UHKUCKUOKUNKuhjg1ubh,Uch(}rk1h.h/]Rrl1ubG?h)rm1}rn1(hNhNhU L-Argininero1h}rp1(UCHEBI]rq1U16467rr1aUKEGG]rs1UC00062rt1aUPUBCHEM]ru1U3362rv1auhUarg__L_prw1hUEh Kh!Gh"h#)rx1}ry1(hNh"U C6H15N4O2rz1h}r{1h(}r|1h*}r}1(UHKUCKUOKUNKuhjz1ubh,Uph(}r~1h.h/]Rr1ubGj%Gj&G?uhNhU$Arginineagmatine antiport periplasm r1hEG@@hFG@h}r1hHh/]r1j)r1}r1(hNjKhNhUyjdEr1h}r1jhUSTM4294r1h Nh"NjKh,Nh(}r1jU+h.h/]Rr1ubaRr1hU ARGAGMt7ppr1hKGhLhMhNhNj1h(}r1hPNubh)r1}r1(h UArginine and Proline Metabolismr1h }r1(jZ1GjGjG?j%G?uhNhUarginine decarboxylaser1hEG@@hFGh}r1hHh/]r1(j)r1}r1(hNjKhNhUadir1h}r1jhUSTM4296r1h Nh"NjKh,Nh(}r1jU+h.h/]Rr1ubj)r1}r1(hNjKhNhUspeAr1h}r1jhUSTM3086r1h Nh"NjKh,Nh(}r1jU+h.h/]Rr1ubeRr1hUARGDCr1hKGhLhMhNhNU( STM4296 or STM3086 )r1h(}r1hPNubh)r1}r1(h UArginine and Proline Metabolismr1h }r1(h)r1}r1(hNhNhUCO2r1h}r1(UCHEBI]r1U16526r1aUKEGG]r1UC00011r1aUPUBCHEM]r1U3313r1auhUco2_pr1hUEh Kh!Gh"h#)r1}r1(hNh"UCO2r1h}r1h(}r1h*}r1(UCKUOKuhj1ubh,Uph(}r1h.h/]Rr1ubG?jGj&G?jm1GuhNhUarginine decarboxylaser1hEG@@hFGh}r1hHh/]r1j1aRr1hUARGDCppr1hKGhLhMhNhNUSTM3086r1h(}r1hPNubh)r1}r1(h UTransport Inner Membraner1h }r1(jZ1G?h)r1}r1(hNhNhU Ornithiner1h}r1(UCHEBI]r1U18257r1aUKEGG]r1UC01602r1aUPUBCHEM]r1U4756r1auhUorn_pr1hUEh Kh!Gh"h#)r1}r1(hNh"U C5H13N2O2r1h}r1h(}r1h*}r1(UHK UCKUOKUNKuhj1ubh,Uph(}r1h.h/]Rr1ubG?jm1Gj@GuhNhU'arginineornithine antiporter periplasm r1hEG@@hFG@h}r1hHh/]r1j)r1}r1(hNjKhNhUydgIr1h}r1jhUSTM1477r1h Nh"NjKh,Nh(}r1jU+h.h/]Rr1ubaRr1hU ARGORNt7ppr1hKGhLhMhNhNj1h(}r1hPNubh)r1}r1(h UArginine and Proline Metabolismr1h }r1(h)r1}r1(hNhNhUN-omega--L-Arginino-succinater1h}r1(UCHEBI]r1U15682r1aUKEGG]r1UC03406r1aUPUBCHEM]r1U6235r1auhUargsuc_cr1hUEh Jh!Gh"h#)r1}r1(hNh"U C10H17N4O6r1h}r1h(}r1h*}r1(UHKUCK UOKUNKuhj1ubh,Uch(}r1h.h/]Rr1ubGjZ1G?j#G?uhNhUargininosuccinate lyaser1hEG@@hFG@h}r2hHh/]r2j)r2}r2(hNjKhNhUargHr2h}r2jhUSTM4123r2h Nh"NjKh,Nh(}r2jU+h.h/]Rr2ubaRr 2hUARGSLr 2hKGhLhMhNhNj2h(}r 2hPNubh)r 2}r 2(h UArginine and Proline Metabolismr2h }r2(h)r2}r2(hNhNhU L-Citrulliner2h}r2(UCHEBI]r2U16349r2aUKEGG]r2UC00327r2aUPUBCHEM]r2U3621r2auhU citr__L_cr2hUEh Kh!Gh"h#)r2}r2(hNh"U C6H13N3O3r2h}r2h(}r2h*}r 2(UHK UCKUOKUNKuhj2ubh,Uch(}r!2h.h/]Rr"2ubGjG?j#GjG?jGGj1G?jG?uhNhUargininosuccinate synthaser#2hEG@@hFGh}r$2hHh/]r%2j)r&2}r'2(hNjKhNhUargGr(2h}r)2jhU STM3290.Sr*2h Nh"NjKh,Nh(}r+2jU+h.h/]Rr,2ubaRr-2hUARGSSr.2hKGhLhMhNhNj*2h(}r/2hPNubh)r02}r12(h U tRNA Chargingr22h }r32(h)r42}r52(hNhNhUtRNA-Argr62h}r72(UCHEBI]r82U29171r92aUKEGG]r:2UC01636r;2aUPUBCHEM]r<2U4785r=2auhU trnaarg_cr>2hUEh Kh!Gh"h#)r?2}r@2(hNh"URh}rA2h(}rB2h*}rC2URKshURubh,Uch(}rD2h.h/]RrE2ubGjGGh)rF2}rG2(hNhNhUL-Arginyl-tRNA-ArgrH2h}rI2(UCHEBI]rJ2U18366rK2aUKEGG]rL2UC02163rM2aUPUBCHEM]rN2U5239rO2auhU argtrna_crP2hUEh Kh!Gh"h#)rQ2}rR2(hNh"U C6H14N4ORrS2h}rT2h(}rU2h*}rV2(UHKUCKURKUOKUNKuhjS2ubh,Uch(}rW2h.h/]RrX2ubG?jG?jG?jZ1GuhNhUArginyl tRNA synthetaserY2hEG@@hFGh}rZ2hHh/]r[2j)r\2}r]2(hNjKhNhUargSr^2h}r_2jhUSTM1909r`2h Nh"NjKh,Nh(}ra2jU+h.h/]Rrb2ubaRrc2hUARGTRSrd2hKGhLhMhNhNj`2h(}re2hPNubh)rf2}rg2(h UTransport Inner Membranerh2h }ri2(j4G?jZ1G?jGGjZGjm1GjG?jG?uhNhU.L arginine transport via ABC system periplasm rj2hEG@@hFGh}rk2hHh/]rl2(j)rm2}rn2(hNjKhNhUartIro2h}rp2jhUSTM0890rq2h Nh"NjKh,Nh(}rr2jU+h.h/]Rrs2ubj)rt2}ru2(hNjKhNhUartPrv2h}rw2jhUSTM0891rx2h Nh"NjKh,Nh(}ry2jU+h.h/]Rrz2ubj)r{2}r|2(hNjKhNhUhisQr}2h}r~2jhUSTM2353r2h Nh"NjKh,Nh(}r2jU+h.h/]Rr2ubj)r2}r2(hNjKhNhUartJr2h}r2jhUSTM0887r2h Nh"NjKh,Nh(}r2jU+h.h/]Rr2ubj)r2}r2(hNjKhNhUhisMr2h}r2jhUSTM2352r2h Nh"NjKh,Nh(}r2jU+h.h/]Rr2ubj)r2}r2(hNjKhNhUhisPr2h}r2jhUSTM2351r2h Nh"NjKh,Nh(}r2jU+h.h/]Rr2ubj)r2}r2(hNjKhNhUargTr2h}r2jhUSTM2355r2h Nh"NjKh,Nh(}r2jU+h.h/]Rr2ubj)r2}r2(hNjKhNhUartQr2h}r2jhUSTM0889r2h Nh"NjKh,Nh(}r2jU+h.h/]Rr2ubj)r2}r2(hNjKhNhUartMr2h}r2jhUSTM0888r2h Nh"NjKh,Nh(}r2jU+h.h/]Rr2ubeRr2hUARGabcppr2hKGhLhMhNhNU( ( STM2355 and STM2352 and STM2351 and STM2353 ) or ( STM0890 and STM0887 and STM0888 and STM0891 and STM0889 ) )r2h(}r2hPNubh)r2}r2(h UTransport Inner Membraner2h }r2(jZ1GjGjG?jm1G?uhNhUDL arginine transport out via proton antiport cytoplasm to periplasm r2hEG@@hFGh}r2hHh/]r2j)r2}r2(hNjKhNhUyggAr2h}r2jhUSTM3066r2h Nh"NjKh,Nh(}r2jU+h.h/]Rr2ubaRr2hUARGt3ppr2hKGhLhMhNhNj2h(}r2hPNubh)r2}r2(h UTransport Outer Membrane Porinr2h }r2(jm1G?h)r2}r2(hNhNhU L-Argininer2h}r2(UCHEBI]r2U16467r2aUKEGG]r2UC00062r2aUPUBCHEM]r2U3362r2auhUarg__L_er2hUEh Kh!Gh"h#)r2}r2(hNh"U C6H15N4O2r2h}r2h(}r2h*}r2(UHKUCKUOKUNKuhj2ubh,Ueh(}r2h.h/]Rr2ubGuhNhU>L arginine transport via diffusion extracellular to periplasm r2hEG@@hFG@h}r2hHh/]r2(jjjjeRr2hUARGtexr2hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r2h(}r2hPNubh)r2}r2(h UThreonine and Lysine Metabolismr2h }r2(jB Gh)r2}r2(hNhNhUL-Aspartate-4-semialdehyder2h}r2(UCHEBI]r2U 13086 18051r2aUKEGG]r2UC00441r2aUPUBCHEM]r2U3730r2auhUaspsa_cr2hUEh Kh!Gh"h#)r2}r2(hNh"UC4H7NO3r2h}r2h(}r2h*}r2(UHKUCKUOKUNKuhj2ubh,Uch(}r2h.h/]Rr2ubGh)r2}r2(hNhNhU4-Phospho-L-aspartater2h}r2(UCHEBI]r2U15836r2aUKEGG]r2UC03082r2aUPUBCHEM]r2U5980r2auhU4pasp_cr3hUEh Jh!Gh"h#)r3}r3(hNh"UC4H6NO7Pr3h}r3h(}r3h*}r3(UHKUCKUPKUOKUNKuhj3ubh,Uch(}r3h.h/]Rr3ubG?jGjG?jU G?uhNhU$aspartate semialdehyde dehydrogenaser 3hEG@@hFG@h}r 3hHh/]r 3j)r 3}r 3(hNjKhNhUasdr3h}r3jhUSTM3539r3h Nh"NjKh,Nh(}r3jU+h.h/]Rr3ubaRr3hUASADr3hKGhLhMhNhNj3h(}r3hPNubh)r3}r3(h UAlternate Carbon Metabolismr3h }r3(jZGh)r3}r3(hNhNhUL-ascorbate-6-phosphater3h}r3(UCHEBI]r3U15946r3aUKEGG]r 3U0aUPUBCHEM]r!3U 656479???3385r"3auhUascb6p_cr#3hUEh Jh!Gh"h#)r$3}r%3(hNh"UC6H7O9Pr&3h}r'3h(}r(3h*}r)3(UHKUCKUOK UPKuhj&3ubh,Uch(}r*3h.h/]Rr+3ubGjG?jG?uhNhU!L ascorbate 6 phosphate lactonaser,3hEG@@hFGh}r-3hHh/]r.3j)r/3}r03(hNjKhNhUyjfRr13h}r23jhUSTM4382r33h Nh"NjKh,Nh(}r43jU+h.h/]Rr53ubaRr63hUASCBPLr73hKGhLhMhNhNj33h(}r83hPNubh)r93}r:3(h UTransport Inner Membraner;3h }r<3(jGj3G?h)r=3}r>3(hNhNhU L-Ascorbater?3h}r@3(UCHEBI]rA3U 29073 38290rB3aUKEGG]rC3UC00072rD3aUPUBCHEM]rE3U3372rF3auhU ascb__L_prG3hUEh Kh!Gh"h#)rH3}rI3(hNh"UC6H8O6rJ3h}rK3h(}rL3h*}rM3(UHKUCKUOKuhjJ3ubh,Uph(}rN3h.h/]RrO3ubGjmG?uhNhU/L ascorbate transport via PEPPyr PTS periplasm rP3hEG@@hFGh}rQ3hHh/]rR3(jj)rS3}rT3(hNjKhNhUsgaBrU3h}rV3jhUSTM4384rW3h Nh"NjKh,Nh(}rX3jU+h.h/]RrY3ubj)rZ3}r[3(hNjKhNhUptxAr\3h}r]3jhUSTM4385r^3h Nh"NjKh,Nh(}r_3jU+h.h/]Rr`3ubjj)ra3}rb3(hNjKhNhUulaArc3h}rd3jhU STM4383.Sre3h Nh"NjKh,Nh(}rf3jU+h.h/]Rrg3ubeRrh3hU ASCBptsppri3hKGhLhMhNhNUE( STM2431 and STM2432 and STM4385 and STM4384 and STM4383.S )rj3h(}rk3hPNubh)rl3}rm3(h UTransport Outer Membrane Porinrn3h }ro3(h)rp3}rq3(hNhNhU L-Ascorbaterr3h}rs3(UCHEBI]rt3U 29073 38290ru3aUKEGG]rv3UC00072rw3aUPUBCHEM]rx3U3372ry3auhU ascb__L_erz3hUEh Kh!Gh"h#)r{3}r|3(hNh"UC6H8O6r}3h}r~3h(}r3h*}r3(UHKUCKUOKuhj}3ubh,Ueh(}r3h.h/]Rr3ubGj=3G?uhNhU?L ascorbate transport via diffusion extracellular to periplasm r3hEG@@hFG@h}r3hHh/]r3(jjjjeRr3hUASCBtexr3hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r3h(}r3hPNubh)r3}r3(h U Alanine and Aspartate Metabolismr3h }r3(jZGh)r3}r3(hNhNhU L-Asparaginer3h}r3(UCHEBI]r3U17196r3aUKEGG]r3UC00152r3aUPUBCHEM]r3U3452r3auhUasn__L_cr3hUEh Kh!Gh"h#)r3}r3(hNh"UC4H8N2O3r3h}r3h(}r3h*}r3(UHKUCKUOKUNKuhj3ubh,Uch(}r3h.h/]Rr3ubGjlG?j#G?uhNhUL asparaginaser3hEG@@hFGh}r3hHh/]r3(j)r3}r3(hNjKhNhUansAr3h}r3jhUSTM1294r3h Nh"NjKh,Nh(}r3jU+h.h/]Rr3ubj)r3}r3(hNjKhNhU-h}r3jhUSTM3598r3h Nh"NjKh,Nh(}r3jU+h.h/]Rr3ubj)r3}r3(hNjKhNhUybiKr3h}r3jhUSTM0847r3h Nh"NjKh,Nh(}r3jU+h.h/]Rr3ubeRr3hUASNNr3hKGhLhMhNhNU#( STM1294 or STM0847 or STM3598 )r3h(}r3hPNubh)r3}r3(h U Alanine and Aspartate Metabolismr3h }r3(h)r3}r3(hNhNhUAmmoniumr3h}r3(UCHEBI]r3U28938r3aUKEGG]r3UC01342r3aUPUBCHEM]r3U4547r3auhUnh4_pr3hUEh Kh!Gh"h#)r3}r3(hNh"UH4Nr3h}r3h(}r3h*}r3(UHKUNKuhj3ubh,Uph(}r3h.h/]Rr3ubG?j)Gh)r3}r3(hNhNhU L-Aspartater3h}r3(UCHEBI]r3U17053r3aUKEGG]r3UC00049r3aUPUBCHEM]r3U3351r3auhUasp__L_pr3hUEh Jh!Gh"h#)r3}r3(hNh"UC4H6NO4r3h}r3h(}r3h*}r3(UHKUCKUOKUNKuhj3ubh,Uph(}r3h.h/]Rr3ubG?h)r3}r3(hNhNhU L-Asparaginer3h}r3(UCHEBI]r3U17196r3aUKEGG]r3UC00152r3aUPUBCHEM]r3U3452r3auhUasn__L_pr3hUEh Kh!Gh"h#)r3}r3(hNh"UC4H8N2O3r3h}r3h(}r3h*}r3(UHKUCKUOKUNKuhj3ubh,Uph(}r3h.h/]Rr3ubGuhNhUL asparaginaser3hEG@@hFGh}r3hHh/]r3j)r3}r3(hNjKhNhUansBr3h}r3jhUSTM3106r4h Nh"NjKh,Nh(}r4jU+h.h/]Rr4ubaRr4hUASNNppr4hKGhLhMhNhNj4h(}r4hPNubh)r4}r4(h U Alanine and Aspartate Metabolismr4h }r 4(j3G?j GjGGjZGjG?jG?jG?jG?j#GuhNhU*asparagine synthase glutamine hydrolysing r 4hEG@@hFGh}r 4hHh/]r 4j)r 4}r4(hNjKhNhUasnBr4h}r4jhUSTM0680r4h Nh"NjKh,Nh(}r4jU+h.h/]Rr4ubaRr4hUASNS1r4hKGhLhMhNhNj4h(}r4hPNubh)r4}r4(h U Alanine and Aspartate Metabolismr4h }r4(jGGjG?j#Gj3G?jG?jlGjG?uhNhUasparagine synthetaser4hEG@@hFGh}r4hHh/]r4j)r4}r4(hNjKhNhUasnAr 4h}r!4jhUSTM3877r"4h Nh"NjKh,Nh(}r#4jU+h.h/]Rr$4ubaRr%4hUASNS2r&4hKGhLhMhNhNj"4h(}r'4hPNubh)r(4}r)4(h U tRNA Chargingr*4h }r+4(h)r,4}r-4(hNhNhUtRNA-Asnr.4h}r/4(UCHEBI]r04U29172r14aUKEGG]r24UC01637r34aUPUBCHEM]r44U4786r54auhU trnaasn_cr64hUEh Kh!Gh"h#)r74}r84(hNh"U C10H17O10PR2r94h}r:4h(}r;4h*}r<4(UHKUCK URKUOK UPKuhj94ubh,Uch(}r=4h.h/]Rr>4ubGjGGjG?jG?j3GjG?h)r?4}r@4(hNhNhUL-Asparaginyl-tRNA-AsnrA4h}rB4(UCHEBI]rC4U29265rD4aUKEGG]rE4UC03402rF4aUPUBCHEM]rG4U6232rH4auhU asntrna_crI4hUEh Kh!Gh"h#)rJ4}rK4(hNh"UC14H23N2O12PR2rL4h}rM4h(}rN4h*}rO4(UCKUHKUOK UNKUPKURKuhjL4ubh,Uch(}rP4h.h/]RrQ4ubG?uhNhUAsparaginyl tRNA synthetaserR4hEG@@hFGh}rS4hHh/]rT4j)rU4}rV4(hNjKhNhUasnCrW4h}rX4jhUSTM1000rY4h Nh"NjKh,Nh(}rZ4jU+h.h/]Rr[4ubaRr\4hUASNTRSr]4hKGhLhMhNhNjY4h(}r^4hPNubh)r_4}r`4(h UTransport Inner Membranera4h }rb4(j4G?jGGjZGjG?j3G?jG?j3GuhNhU0L asparagine transport via ABC system periplasm rc4hEG@@hFGh}rd4hHh/]Rre4hUASNabcpprf4hKGhLhMhNhNUh(}rg4hPNubh)rh4}ri4(h UTransport Inner Membranerj4h }rk4(j3GjGj3G?jG?uhNhU?L asparagine reversible transport via proton symport periplasm rl4hEG@@hFG@h}rm4hHh/]rn4j)ro4}rp4(hNjKhNhUansPrq4h}rr4jhUSTM1584rs4h Nh"NjKh,Nh(}rt4jU+h.h/]Rru4ubaRrv4hUASNt2rpprw4hKGhLhMhNhNjs4h(}rx4hPNubh)ry4}rz4(h UTransport Outer Membrane Porinr{4h }r|4(h)r}4}r~4(hNhNhU L-Asparaginer4h}r4(UCHEBI]r4U17196r4aUKEGG]r4UC00152r4aUPUBCHEM]r4U3452r4auhUasn__L_er4hUEh Kh!Gh"h#)r4}r4(hNh"UC4H8N2O3r4h}r4h(}r4h*}r4(UHKUCKUOKUNKuhj4ubh,Ueh(}r4h.h/]Rr4ubGj3G?uhNhU@L asparagine transport via diffusion extracellular to periplasm r4hEG@@hFG@h}r4hHh/]r4(jjjjeRr4hUASNtexr4hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r4h(}r4hPNubh)r4}r4(h UTransport Outer Membrane Porinr4h }r4(h)r4}r4(hNhNhUarseniter4h}r4(UCHEBI]r4U29866r4aUKEGG]r4UC06697r4aUPUBCHEM]r4U8922r4auhUaso3_pr4hUEh Jh!Gh"h#)r4}r4(hNh"UAsO3r4h}r4h(}r4h*}r4(UAsKUOKuhj4ubh,Uph(}r4h.h/]Rr4ubG?h)r4}r4(hNhNhUarseniter4h}r4(UCHEBI]r4U29866r4aUKEGG]r4UC06697r4aUPUBCHEM]r4U8922r4auhUaso3_er4hUEh Jh!Gh"h#)r4}r4(hNh"UAsO3r4h}r4h(}r4h*}r4(UAsKUOKuhj4ubh,Ueh(}r4h.h/]Rr4ubGuhNhU5jU+h.h/]Rr?5ubj)r@5}rA5(hNjKhNhUlysCrB5h}rC5jhUSTM4220rD5h Nh"NjKh,Nh(}rE5jU+h.h/]RrF5ubeRrG5hUASPKrH5hKGhLhMhNhNU%( STM0002 or STM4101 or STM4220 )rI5h(}rJ5hPNubh)rK5}rL5(h U*Cofactor and Prosthetic Group BiosynthesisrM5h }rN5(h)rO5}rP5(hNhNhU Ubiquinone-8rQ5h}rR5(UCHEBI]rS5U16389rT5aUKEGG]rU5UC00399rV5aUPUBCHEM]rW5U3689rX5auhUq8_crY5hUEh Kh!Gh"h#)rZ5}r[5(hNh"UC49H74O4r\5h}r]5h(}r^5h*}r_5(UHKJUCK1UOKuhj\5ubh,Uch(}r`5h.h/]Rra5ubGh)rb5}rc5(hNhNhU Ubiquinol-8rd5h}re5(UCHEBI]rf5U17976rg5aUKEGG]rh5UC00390ri5aUPUBCHEM]rj5U3680rk5auhUq8h2_crl5hUEh Kh!Gh"h#)rm5}rn5(hNh"UC49H76O4ro5h}rp5h(}rq5h*}rr5(UHKLUCK1UOKuhjo5ubh,Uch(}rs5h.h/]Rrt5ubG?jG?j#Gh)ru5}rv5(hNhNhUIminoaspartaterw5h}rx5(UCHEBI]ry5U0aUKEGG]rz5UC05840r{5aUPUBCHEM]r|5U8133r}5auhUiasp_cr~5hUEh Jh!Gh"h#)r5}r5(hNh"UC4H3NO4r5h}r5h(}r5h*}r5(UHKUCKUOKUNKuhj5ubh,Uch(}r5h.h/]Rr5ubG?uhNhUL aspartate oxidaser5hEG@@hFGh}r5hHh/]r5j)r5}r5(hNjKhNhUnadBr5h}r5jhUSTM2641r5h Nh"NjKh,Nh(}r5jU+h.h/]Rr5ubaRr5hUASPO3r5hKGhLhMhNhNj5h(}r5hPNubh)r5}r5(h U*Cofactor and Prosthetic Group Biosynthesisr5h }r5(ju5G?h)r5}r5(hNhNhU Menaquinone-8r5h}r5(UCHEBI]r5U0aUKEGG]r5UC00828r5aUPUBCHEM]r5U4086r5auhUmqn8_cr5hUEh Kh!Gh"h#)r5}r5(hNh"UC51H72O2r5h}r5h(}r5h*}r5(UHKHUCK3UOKuhj5ubh,Uch(}r5h.h/]Rr5ubGjG?jS-G?j#GuhNhUL aspartate oxidaser5hEG@@hFGh}r5hHh/]r5j5aRr5hUASPO4r5hKGhLhMhNhNUSTM2641r5h(}r5hPNubh)r5}r5(h U*Cofactor and Prosthetic Group Biosynthesisr5h }r5(ju5G?j#Gj#GjG?h)r5}r5(hNhNhU Succinater5h}r5(UCHEBI]r5U15741r5aUKEGG]r5UC00042r5aUPUBCHEM]r5U3344r5auhUsucc_cr5hUEh Jh!Gh"h#)r5}r5(hNh"UC4H4O4r5h}r5h(}r5h*}r5(UHKUCKUOKuhj5ubh,Uch(}r5h.h/]Rr5ubG?uhNhUL aspartate oxidaser5hEG@@hFGh}r5hHh/]r5j5aRr5hUASPO5r5hKGhLhMhNhNUSTM2641r5h(}r5hPNubh)r5}r5(h U*Cofactor and Prosthetic Group Biosynthesisr5h }r5(ju5G?j G?jYGjG?j#GuhNhUL aspartate oxidaser5hEG@@hFGh}r5hHh/]r5j5aRr5hUASPO6r5hKGhLhMhNhNUSTM2641r5h(}r5hPNubh)r5}r5(h U Alanine and Aspartate Metabolismr5h }r5(j#Gj#G?jlG?uhNhU L aspartaser5hEG@@hFGh}r5hHh/]r5j)r5}r5(hNjKhNhUaspAr5h}r5jhUSTM4326r5h Nh"NjKh,Nh(}r5jU+h.h/]Rr5ubaRr5hUASPTr5hKGhLhMhNhNj5h(}r5hPNubh)r5}r5(h U Alanine and Aspartate Metabolismr5h }r5(j#GjG?h)r5}r5(hNhNhU Oxaloacetater5h}r5(UCHEBI]r5U30744r5aUKEGG]r5UC00036r5aUPUBCHEM]r5U3338r5auhUoaa_cr5hUEh Jh!Gh"h#)r5}r5(hNh"UC4H2O5r5h}r5h(}r5h*}r5(UHKUCKUOKuhj5ubh,Uch(}r6h.h/]Rr6ubG?jGuhNhUaspartate transaminaser6hEG@@hFG@h}r6hHh/]r6j)r6}r6(hNjKhNhUaspCr6h}r6jhUSTM0998r 6h Nh"NjKh,Nh(}r 6jU+h.h/]Rr 6ubaRr 6hUASPTAr 6hKGhLhMhNhNj 6h(}r6hPNubh)r6}r6(h U tRNA Chargingr6h }r6(jGGjG?j#Gh)r6}r6(hNhNhUtRNA-Aspr6h}r6(UCHEBI]r6U29186r6aUKEGG]r6UC01638r6aUPUBCHEM]r6U4787r6auhU trnaasp_cr6hUEh Kh!Gh"h#)r6}r6(hNh"URh}r 6h(}r!6h*}r"6URKshURubh,Uch(}r#6h.h/]Rr$6ubGjG?h)r%6}r&6(hNhNhUL-Aspartyl-tRNA-Aspr'6h}r(6(UCHEBI]r)6U29158r*6aUKEGG]r+6UC02984r,6aUPUBCHEM]r-6U5893r.6auhU asptrna_cr/6hUEh Kh!Gh"h#)r06}r16(hNh"UC4H5NO3Rr26h}r36h(}r46h*}r56(UHKUCKURKUOKUNKuhj26ubh,Uch(}r66h.h/]Rr76ubG?uhNhUAspartyl tRNA synthetaser86hEG@@hFGh}r96hHh/]r:6j)r;6}r<6(hNjKhNhUaspSr=6h}r>6jhUSTM1901r?6h Nh"NjKh,Nh(}r@6jU+h.h/]RrA6ubaRrB6hUASPTRSrC6hKGhLhMhNhNj?6h(}rD6hPNubh)rE6}rF6(h UTransport Inner MembranerG6h }rH6(jGGjZGj#G?jG?j4G?jG?j3GuhNhU/L aspartate transport via ABC system periplasm rI6hEG@@hFGh}rJ6hHh/]rK6(j)rL6}rM6(hNjKhNhUgltIrN6h}rO6jhUSTM0665rP6h Nh"NjKh,Nh(}rQ6jU+h.h/]RrR6ubj)rS6}rT6(hNjKhNhUgltJrU6h}rV6jhUSTM0664rW6h Nh"NjKh,Nh(}rX6jU+h.h/]RrY6ubj)rZ6}r[6(hNjKhNhUgltKr\6h}r]6jhUSTM0663r^6h Nh"NjKh,Nh(}r_6jU+h.h/]Rr`6ubj)ra6}rb6(hNjKhNhUgltLrc6h}rd6jhUSTM0662re6h Nh"NjKh,Nh(}rf6jU+h.h/]Rrg6ubeRrh6hUASPabcppri6hKGhLhMhNhNU5( STM0665 and STM0664 and STM0663 and STM0662 )rj6h(}rk6hPNubh)rl6}rm6(h UTransport Inner Membranern6h }ro6(jGjG@j#G?j3GuhNhU6Aspartate transport via proton symport 2 H periplasm rp6hEG@@hFGh}rq6hHh/]rr6j)rs6}rt6(hNjKhNhUdctAru6h}rv6jhUSTM3614rw6h Nh"NjKh,Nh(}rx6jU+h.h/]Rry6ubaRrz6hU ASPt2_2ppr{6hKGhLhMhNhNjw6h(}r|6hPNubh)r}6}r~6(h UTransport Inner Membraner6h }r6(j#G?jG?j3GjGuhNhU6L aspartate transport in via proton symport periplasm r6hEG@@hFGh}r6hHh/]r6j)r6}r6(hNjKhNhUgltPr6h}r6jhUSTM4283r6h Nh"NjKh,Nh(}r6jU+h.h/]Rr6ubaRr6hUASPt2ppr6hKGhLhMhNhNj6h(}r6hPNubh)r6}r6(h UTransport Outer Membrane Porinr6h }r6(h)r6}r6(hNhNhU L-Aspartater6h}r6(UCHEBI]r6U17053r6aUKEGG]r6UC00049r6aUPUBCHEM]r6U3351r6auhUasp__L_er6hUEh Jh!Gh"h#)r6}r6(hNh"UC4H6NO4r6h}r6h(}r6h*}r6(UHKUCKUOKUNKuhj6ubh,Ueh(}r6h.h/]Rr6ubGj3G?uhNhU?L aspartate transport via diffusion extracellular to periplasm r6hEG@@hFG@h}r6hHh/]r6(jjjjeRr6hUASPtexr6hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r6h(}r6hPNubh)r6}r6(h UArginine and Proline Metabolismr6h }r6(jZ1GjG?jo(GjG?h)r6}r6(hNhNhUN2-Succinyl-L-argininer6h}r6(UCHEBI]r6U17705r6aUKEGG]r6UC03296r6aUPUBCHEM]r6U6152r6auhUsucarg_cr6hUEh Jh!Gh"h#)r6}r6(hNh"U C10H17N4O5r6h}r6h(}r6h*}r6(UHKUCK UOKUNKuhj6ubh,Uch(}r6h.h/]Rr6ubG?uhNhUArginine succinyltransferaser6hEG@@hFGh}r6hHh/]r6j)r6}r6(hNjKhNhUastAr6h}r6jhUSTM1304r6h Nh"NjKh,Nh(}r6jU+h.h/]Rr6ubaRr6hUASTr6hKGhLhMhNhNj6h(}r6hPNubh)r6}r6(h UThreonine and Lysine Metabolismr6h }r6(jB Gj.G?jU G?jG?h)r6}r6(hNhNhUL-Allo-threoniner6h}r6(UCHEBI]r6U28718r6aUKEGG]r6UC05519r6aUPUBCHEM]r6U7864r6auhU athr__L_cr6hUEh Kh!Gh"h#)r6}r6(hNh"UC4H9NO3r6h}r6h(}r6h*}r6(UHK UCKUOKUNKuhj6ubh,Uch(}r6h.h/]Rr6ubGuhNhUL allo threonine dehydrogenaser6hEG@@hFG@h}r6hHh/]r6j)r6}r6(hNjKhNhUydfGr6h}r6jhUSTM1511r6h Nh"NjKh,Nh(}r6jU+h.h/]Rr6ubaRr6hUATHRDHrr6hKGhLhMhNhNj6h(}r6hPNubh)r6}r6(h UNucleotide Salvage Pathwayr6h }r6(jGGjZGj|!G?jlG?jGuhNhU!ATP amine hydrolysis spontaneous r6hEG@@hFGh}r6hHh/]r6jFaRr6hUATPHsr6hKGhLhMhNhNUs0001r6h(}r6hPNubh)r6}r7(h U Unassignedr7h }r7(jGGjZGj4G?jG?jG?uhNhUATP maintenance requirementr7hEG@ ǮzHhFG@ ǮzHh}r7hHh/]Rr7hUATPMr7hKGhLhMhNhNUh(}r7hPNubh)r7}r 7(h UHistidine Metabolismr 7h }r 7(h)r 7}r 7(hNhNhU1-5-Phosphoribosyl-ATPr7h}r7(UCHEBI]r7U18263r7aUKEGG]r7UC02739r7aUPUBCHEM]r7U5699r7auhUprbatp_cr7hUEh Jh!Gh"h#)r7}r7(hNh"U C15H19N5O20P4r7h}r7h(}r7h*}r7(UHKUCKUPKUOKUNKuhj7ubh,Uch(}r7h.h/]Rr7ubG?jGGjG?j)#GuhNhUATP phosphoribosyltransferaser7hEG@@hFGh}r 7hHh/]r!7j)r"7}r#7(hNjKhNhUhisGr$7h}r%7jhUSTM2071r&7h Nh"NjKh,Nh(}r'7jU+h.h/]Rr(7ubaRr)7hUATPPRTr*7hKGhLhMhNhNj&7h(}r+7hPNubh)r,7}r-7(h UOxidative Phosphorylationr.7h }r/7(jGj4GjZG?jGjGG?jG@uhNhU1ATP synthase four protons for one ATP periplasm r07hEG@@hFG@h}r17hHh/]r27(j)r37}r47(hNjKhNhUatpEr57h}r67jhUSTM3870r77h Nh"NjKh,Nh(}r87jU+h.h/]Rr97ubj)r:7}r;7(hNjKhNhUatpCr<7h}r=7jhUSTM3864r>7h Nh"NjKh,Nh(}r?7jU+h.h/]Rr@7ubj)rA7}rB7(hNjKhNhUatpArC7h}rD7jhUSTM3867rE7h Nh"NjKh,Nh(}rF7jU+h.h/]RrG7ubj)rH7}rI7(hNjKhNhUatpDrJ7h}rK7jhUSTM3865rL7h Nh"NjKh,Nh(}rM7jU+h.h/]RrN7ubj)rO7}rP7(hNjKhNhUatpHrQ7h}rR7jhUSTM3868rS7h Nh"NjKh,Nh(}rT7jU+h.h/]RrU7ubj)rV7}rW7(hNjKhNhUatpBrX7h}rY7jhUSTM3871rZ7h Nh"NjKh,Nh(}r[7jU+h.h/]Rr\7ubj)r]7}r^7(hNjKhNhUatpFr_7h}r`7jhUSTM3869ra7h Nh"NjKh,Nh(}rb7jU+h.h/]Rrc7ubj)rd7}re7(hNjKhNhUatpIrf7h}rg7jhUSTM3872rh7h Nh"NjKh,Nh(}ri7jU+h.h/]Rrj7ubj)rk7}rl7(hNjKhNhUatpGrm7h}rn7jhUSTM3866ro7h Nh"NjKh,Nh(}rp7jU+h.h/]Rrq7ubeRrr7hUATPS4rpprs7hKGhLhMhNhNT( ( ( STM3869 and STM3870 and STM3871 ) and ( STM3864 and STM3865 and STM3866 and STM3867 and STM3868 ) ) or ( ( STM3869 and STM3870 and STM3871 ) and ( STM3864 and STM3865 and STM3866 and STM3867 and STM3868 ) and STM3872 ) )rt7h(}ru7hPNubh)rv7}rw7(h UTransport Inner Membranerx7h }ry7(h)rz7}r{7(hNhNhU beta-Alaniner|7h}r}7(UCHEBI]r~7U16958r7aUKEGG]r7UC00099r7aUPUBCHEM]r7U3399r7auhUala__B_pr7hUEh Kh!Gh"h#)r7}r7(hNh"UC3H7NO2r7h}r7h(}r7h*}r7(UHKUCKUOKUNKuhj7ubh,Uph(}r7h.h/]Rr7ubGjGj4G?jG?uhNhU7beta alanine transport in via proton symport periplasm r7hEG@@hFGh}r7hHh/]r7j*aRr7hUBALAt2ppr7hKGhLhMhNhNUSTM4398r7h(}r7hPNubh)r7}r7(h UTransport Outer Membrane Porinr7h }r7(jz7G?h)r7}r7(hNhNhU beta-Alaniner7h}r7(UCHEBI]r7U16958r7aUKEGG]r7UC00099r7aUPUBCHEM]r7U3399r7auhUala__B_er7hUEh Kh!Gh"h#)r7}r7(hNh"UC3H7NO2r7h}r7h(}r7h*}r7(UHKUCKUOKUNKuhj7ubh,Ueh(}r7h.h/]Rr7ubGuhNhU@beta alanine transport via diffusion extracellular to periplasm r7hEG@@hFG@h}r7hHh/]r7(jjjjeRr7hUBALAtexr7hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r7h(}r7hPNubh)r7}r7(h UCysteine Metabolismr7h }r7(jG?j4GjG?jZGuhNhU3 5 bisphosphate nucleotidaser7hEG@@hFGh}r7hHh/]Rr7hUBPNTr7hKGhLhMhNhNUh(}r7hPNubh)r7}r7(h U*Cofactor and Prosthetic Group Biosynthesisr7h }r7(h)r7}r7(hNhNhUBiotinr7h}r7(UCHEBI]r7U15956r7aUKEGG]r7UC00120r7aUPUBCHEM]r7U3420r7auhUbtn_cr7hUEh Jh!Gh"h#)r7}r7(hNh"U C10H15N2O3Sr7h}r7h(}r7h*}r7(UHKUCK USKUOKUNKuhj7ubh,Uch(}r7h.h/]Rr7ubG?jZG?h)r7}r7(hNhNhUd-biotin-d-sulfoxider7h}r7(UCHEBI]r7U0aUKEGG]r7U0aUPUBCHEM]r7U0auhUbtnso_cr7hUEh Jh!Gh"h#)r7}r7(hNh"U C10H15N2O4Sr7h}r7h(}r7h*}r7(UHKUCK USKUOKUNKuhj7ubh,Uch(}r7h.h/]Rr7ubGj GjGj G?uhNhUBiotin sulfoxide reductaser7hEG@@hFGh}r7hHh/]r7j)r7}r7(hNjKhNhUbisCr7h}r7jhUSTM3644r7h Nh"NjKh,Nh(}r7jU+h.h/]Rr7ubaRr7hUBSORxr7hKGhLhMhNhNj7h(}r7hPNubh)r7}r7(h U*Cofactor and Prosthetic Group Biosynthesisr7h }r7(j7G?jU GjZG?jGj7GjB G?uhNhUBiotin sulfoxide reductaser7hEG@@hFGh}r7hHh/]r7j7aRr7hUBSORyr7hKGhLhMhNhNUSTM3644r7h(}r7hPNubh)r7}r7(h U*Cofactor and Prosthetic Group Biosynthesisr7h }r7(jG?h)r7}r7(hNhNhU L-Methioniner8h}r8(UCHEBI]r8U16643r8aUKEGG]r8UC00073r8aUPUBCHEM]r8U3373r8auhUmet__L_cr8hUEh Kh!Gh"h#)r 8}r 8(hNh"U C5H11NO2Sr 8h}r 8h(}r 8h*}r8(UHK UCKUSKUOKUNKuhj 8ubh,Uch(}r8h.h/]Rr8ubG?j7G?jG?h)r8}r8(hNhNhUSulfurr8h}r8(UCHEBI]r8U17909r8aUKEGG]r8UC00087r8aUPUBCHEM]r8U3387r8auhUs_cr8hUEh Kh!Gh"h#)r8}r8(hNh"USh}r8h(}r8h*}r 8USKshUSubh,Uch(}r!8h.h/]Rr"8ubGj!Gh)r#8}r$8(hNhNhU Dethiobiotinr%8h}r&8(UCHEBI]r'8U16691r(8aUKEGG]r)8UC01909r*8aUPUBCHEM]r+8U5017r,8auhUdtbt_cr-8hUEh Jh!Gh"h#)r.8}r/8(hNh"U C10H17N2O3r08h}r18h(}r28h*}r38(UHKUCK UOKUNKuhj08ubh,Uch(}r48h.h/]Rr58ubGuhNhUBiotin synthaser68hEG@@hFGh}r78hHh/]r88j)r98}r:8(hNjKhNhUbioBr;8h}r<8jhUSTM0794r=8h Nh"NjKh,Nh(}r>8jU+h.h/]Rr?8ubaRr@8hUBTS4rA8hKGhLhMhNhNj=8h(}rB8hPNubh)rC8}rD8(h UTransport Outer Membrane PorinrE8h }rF8(h)rG8}rH8(hNhNhUbutanesulfonaterI8h}rJ8(UCHEBI]rK8U0aUKEGG]rL8U0aUPUBCHEM]rM8U0auhUbutso3_erN8hUEh Jh!Gh"h#)rO8}rP8(hNh"UC4H9O3SrQ8h}rR8h(}rS8h*}rT8(UHK UCKUSKUOKuhjQ8ubh,Ueh(}rU8h.h/]RrV8ubGh)rW8}rX8(hNhNhUbutanesulfonaterY8h}rZ8(UCHEBI]r[8U0aUKEGG]r\8U0aUPUBCHEM]r]8U0auhUbutso3_pr^8hUEh Jh!Gh"h#)r_8}r`8(hNh"UC4H9O3Sra8h}rb8h(}rc8h*}rd8(UHK UCKUSKUOKuhja8ubh,Uph(}re8h.h/]Rrf8ubG?uhNhUCbutanesulfonate transport via diffusion extracellular to periplasm rg8hEG@@hFG@h}rh8hHh/]ri8(jjjjeRrj8hU BUTSO3texrk8hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rl8h(}rm8hPNubh)rn8}ro8(h UTransport Outer Membrane Porinrp8h }rq8(h)rr8}rs8(hNhNhUButyrate-n-C40rt8h}ru8(UCHEBI]rv8U30772rw8aUKEGG]rx8UC00246ry8aUPUBCHEM]rz8U3545r{8auhUbut_pr|8hUEh Jh!Gh"h#)r}8}r~8(hNh"UC4H7O2r8h}r8h(}r8h*}r8(UHKUCKUOKuhj8ubh,Uph(}r8h.h/]Rr8ubG?h)r8}r8(hNhNhUButyrate-n-C40r8h}r8(UCHEBI]r8U30772r8aUKEGG]r8UC00246r8aUPUBCHEM]r8U3545r8auhUbut_er8hUEh Jh!Gh"h#)r8}r8(hNh"UC4H7O2r8h}r8h(}r8h*}r8(UHKUCKUOKuhj8ubh,Ueh(}r8h.h/]Rr8ubGuhNhU9h}r?9h(}r@9h*}rA9(UHKUCKUOKUNKuhj>9ubh,Uph(}rB9h.h/]RrC9ubGuhNhU&LysineCadaverine antiporter periplasm rD9hEG@@hFGh}rE9hHh/]rF9j)rG9}rH9(hNjKhNhUcadBrI9h}rJ9jhUSTM2558rK9h Nh"NjKh,Nh(}rL9jU+h.h/]RrM9ubaRrN9hUCADVtpprO9hKGhLhMhNhNjK9h(}rP9hPNubh)rQ9}rR9(h U&Inorganic Ion Transport and MetabolismrS9h }rT9(jG?j8Gj Gj8G?uhNhUcalcium sodium antiporter 11 rU9hEG@@hFG@h}rV9hHh/]rW9j)rX9}rY9(hNjKhNhUyrbGrZ9h}r[9jhUSTM3314r\9h Nh"NjKh,Nh(}r]9jU+h.h/]Rr^9ubaRr_9hUCAt6ppr`9hKGhLhMhNhNj\9h(}ra9hPNubh)rb9}rc9(h U*Cofactor and Prosthetic Group Biosynthesisrd9h }re9(jGGh)rf9}rg9(hNhNhUInorganic-triphosphaterh9h}ri9(UCHEBI]rj9U18036rk9aUKEGG]rl9UC03279rm9aUPUBCHEM]rn9U6138ro9auhUpppi_crp9hUEh Jh!Gh"h#)rq9}rr9(hNh"UHO10P3rs9h}rt9h(}ru9h*}rv9(UHKUOK UPKuhjs9ubh,Uch(}rw9h.h/]Rrx9ubG?jGh)ry9}rz9(hNhNhU Cobinamider{9h}r|9(UCHEBI]r}9U28956r~9aUKEGG]r9UC05774r9aUPUBCHEM]r9U8069r9auhUcbi_cr9hUEh Kh!Gh"h#)r9}r9(hNh"U C48H72CoN11O8r9h}r9h(}r9h*}r9(UHKHUCK0UCoKUOKUNK uhj9ubh,Uch(}r9h.h/]Rr9ubGh)r9}r9(hNhNhUAdenosyl-cobinamider9h}r9(UCHEBI]r9U2480r9aUKEGG]r9UC06508r9aUPUBCHEM]r9U8739r9auhUadocbi_cr9hUEh Kh!Gh"h#)r9}r9(hNh"UC58H84CoN16O11r9h}r9h(}r9h*}r9(UHKTUCK:UCoKUOK UNKuhj9ubh,Uch(}r9h.h/]Rr9ubG?uhNhUCobinamide adenyltransferaser9hEG@@hFG@h}r9hHh/]r9j)r9}r9(hNjKhNhUbtuRr9h}r9jhUSTM1718r9h Nh"NjKh,Nh(}r9jU+h.h/]Rr9ubaRr9hUCBIATr9hKGhLhMhNhNj9h(}r9hPNubh)r9}r9(h UTransport Outer Membraner9h }r9(h)r9}r9(hNhNhU Cobinamider9h}r9(UCHEBI]r9U28956r9aUKEGG]r9UC05774r9aUPUBCHEM]r9U8069r9auhUcbi_er9hUEh Kh!Gh"h#)r9}r9(hNh"U C48H72CoN11O8r9h}r9h(}r9h*}r9(UHKHUCK0UCoKUOKUNK uhj9ubh,Ueh(}r9h.h/]Rr9ubGh)r9}r9(hNhNhU Cobinamider9h}r9(UCHEBI]r9U28956r9aUKEGG]r9UC05774r9aUPUBCHEM]r9U8069r9auhUcbi_pr9hUEh Kh!Gh"h#)r9}r9(hNh"U C48H72CoN11O8r9h}r9h(}r9h*}r9(UHKHUCK0UCoKUOKUNK uhj9ubh,Uph(}r9h.h/]Rr9ubG?jGjG?uhNhU-Cobinamide transport via ton system extermal r9hEG@@hFGh}r9hHh/]r9(j"j"j"j"eRr9hUCBItonexr9hKGhLhMhNhNU9( STM4130 and ( STM1737 and STM3158 and STM3159 ) )r9h(}r9hPNubh)r9}r9(h UTransport Inner Membraner9h }r9(j4G?j9GjZGjG?jG?jGGjy9G?uhNhU5Cobinamide transport via ABC system uptake periplasm r9hEG@@hFGh}r9hHh/]r9(j"j"j"eRr9hU CBIuabcppr9hKGhLhMhNhNU'( STM1340 and STM1342 and STM0206 )r9h(}r9hPNubh)r9}r9(h UTransport Inner Membraner9h }r9(h)r9}r9(hNhNhU Cob-I-alaminr9h}r9(UCHEBI]r9U15982r9aUKEGG]r9UC00853r9aUPUBCHEM]r9U4110r9auhUcbl1_pr9hUEh Jh!Gh"h#)r9}r9(hNh"UC62H88CoN13O14Pr9h}r9h(}r9h*}r9(UCK>UCoKUHKXUOKUNK UPKuhj9ubh,Uph(}r9h.h/]Rr9ubGjGGjZGh)r9}r:(hNhNhU Cob-I-alaminr:h}r:(UCHEBI]r:U15982r:aUKEGG]r:UC00853r:aUPUBCHEM]r:U4110r:auhUcbl1_cr :hUEh Jh!Gh"h#)r :}r :(hNh"UC62H88CoN13O14Pr :h}r :h(}r:h*}r:(UCK>UCoKUHKXUOKUNK UPKuhj :ubh,Uch(}r:h.h/]Rr:ubG?j4G?jG?jG?uhNhU0Cob 1 alamin transport via ABC system periplasm r:hEG@@hFGh}r:hHh/]r:(j"j"j"eRr:hU CBL1abcppr:hKGhLhMhNhNU'( STM1340 and STM1342 and STM0206 )r:h(}r:hPNubh)r:}r:(h UTransport Outer Membraner:h }r:(j9G?jGh)r:}r:(hNhNhU Cob-I-alaminr:h}r :(UCHEBI]r!:U15982r":aUKEGG]r#:UC00853r$:aUPUBCHEM]r%:U4110r&:auhUcbl1_er':hUEh Jh!Gh"h#)r(:}r):(hNh"UC62H88CoN13O14Pr*:h}r+:h(}r,:h*}r-:(UCK>UCoKUHKXUOKUNK UPKuhj*:ubh,Ueh(}r.:h.h/]Rr/:ubGjG?uhNhU/Cob 1 alamin transport via ton system extermal r0:hEG@@hFGh}r1:hHh/]r2:(j"j"j"j"eRr3:hU CBL1tonexr4:hKGhLhMhNhNU9( STM4130 and ( STM1737 and STM3158 and STM3159 ) )r5:h(}r6:hPNubh)r7:}r8:(h UArginine and Proline Metabolismr9:h }r::(j4G?j GjGGjG?jZGjGj4G@jG@jG?uhNhU3carbamoyl phosphate synthase glutamine hydrolysing r;:hEG@@hFGh}r<:hHh/]r=:(j)r>:}r?:(hNjKhNhUcarBr@:h}rA:jhUSTM0067rB:h Nh"NjKh,Nh(}rC:jU+h.h/]RrD:ubj)rE:}rF:(hNjKhNhUcarArG:h}rH:jhUSTM0066rI:h Nh"NjKh,Nh(}rJ:jU+h.h/]RrK:ubeRrL:hUCBPSrM:hKGhLhMhNhNU( STM0066 and STM0067 )rN:h(}rO:hPNubh)rP:}rQ:(h U&Inorganic Ion Transport and MetabolismrR:h }rS:(h)rT:}rU:(hNhNhUCadmiumrV:h}rW:(UCHEBI]rX:U48775rY:aUKEGG]rZ:UC01413r[:aUPUBCHEM]r\:U4601r]:auhUcd2_cr^:hUEh Kh!Gh"h#)r_:}r`:(hNh"UCdra:h}rb:h(}rc:h*}rd:ja:Kshja:ubh,Uch(}re:h.h/]Rrf:ubGjGGjZGj4G?jG?jG?h)rg:}rh:(hNhNhUCadmiumri:h}rj:(UCHEBI]rk:U48775rl:aUKEGG]rm:UC01413rn:aUPUBCHEM]ro:U4601rp:auhUcd2_prq:hUEh Kh!Gh"h#)rr:}rs:(hNh"UCdrt:h}ru:h(}rv:h*}rw:jt:Kshjt:ubh,Uph(}rx:h.h/]Rry:ubG?uhNhU&Cadmium Cd2 ABC transporter periplasm rz:hEG@@hFGh}r{:hHh/]r|:j)r}:}r~:(hNjKhNhUzntAr:h}r:jhUSTM3576r:h Nh"NjKh,Nh(}r:jU+h.h/]Rr:ubaRr:hUCD2abcppr:hKGhLhMhNhNj:h(}r:hPNubh)r:}r:(h U&Inorganic Ion Transport and Metabolismr:h }r:(jGjG?jT:Gjg:G?uhNhU8cadmium Cd2 transport out via proton antiport periplasm r:hEG@@hFGh}r:hHh/]r:(j)r:}r:(hNjKhNhUybgRr:h}r:jhUSTM0758r:h Nh"NjKh,Nh(}r:jU+h.h/]Rr:ubj)r:}r:(hNjKhNhUfieFr:h}r:jhUSTM4061r:h Nh"NjKh,Nh(}r:jU+h.h/]Rr:ubeRr:hUCD2t3ppr:hKGhLhMhNhNU( STM0758 or STM4061 )r:h(}r:hPNubh)r:}r:(h UTransport Outer Membrane Porinr:h }r:(h)r:}r:(hNhNhUCadmiumr:h}r:(UCHEBI]r:U48775r:aUKEGG]r:UC01413r:aUPUBCHEM]r:U4601r:auhUcd2_er:hUEh Kh!Gh"h#)r:}r:(hNh"UCdr:h}r:h(}r:h*}r:j:Kshj:ubh,Ueh(}r:h.h/]Rr:ubGjg:G?uhNhU?cadmium Cd2 transport via diffusion extracellular to periplasm r:hEG@@hFG@h}r:hHh/]r:(jjjjeRr:hUCD2texr:hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r:h(}r:hPNubh)r:}r:(h U&Inorganic Ion Transport and Metabolismr:h }r:(jT:G?jg:GuhNhU)cadmium 2 transport in via permease no H r:hEG@@hFGh}r:hHh/]r:j)r:}r:(hNjKhNhUygiEr:h}r:jhUSTM3190r:h Nh"NjKh,Nh(}r:jU+h.h/]Rr:ubaRr:hUCD2tppr:hKGhLhMhNhNj:h(}r:hPNubh)r:}r:(h UGlycerophospholipid Metabolismr:h }r:(jZGjG@h)r:}r:(hNhNhUCDP-1-2-didodecanoylglycerolr:h}r:(UCHEBI]r:U0aUKEGG]r:UC00269r:aUPUBCHEM]r:U3567r:auhU cdpdddecg_cr:hUEh Jh!Gh"h#)r:}r:(hNh"U C36H63N3O15P2r:h}r:h(}r:h*}r:(UHK?UCK$UPKUOKUNKuhj:ubh,Uch(}r:h.h/]Rr:ubGjE&G?h)r:}r:(hNhNhUCMPr:h}r:(UCHEBI]r:U17361r:aUKEGG]r:UC00055r:aUPUBCHEM]r:U3357r:auhUcmp_cr:hUEh Jh!Gh"h#)r:}r:(hNh"U C9H12N3O8Pr:h}r:h(}r:h*}r:(UHK UCK UPKUOKUNKuhj:ubh,Uch(}r:h.h/]Rr:ubG?uhNhU)CDP Diacylglycerol pyrophostatase n C120 r:hEG@@hFGh}r:hHh/]r:j)r:}r:(hNjKhNhUushBr:h}r:jhUSTM4064r:h Nh"NjKh,Nh(}r;jU+h.h/]Rr;ubaRr;hU CDAPPA120r;hKGhLhMhNhNj:h(}r;hPNubh)r;}r;(h UGlycerophospholipid Metabolismr;h }r;(j:G?jZGj|&G?jG@h)r ;}r ;(hNhNhUCDP-1-2-ditetradecanoylglycerolr ;h}r ;(UCHEBI]r ;U0aUKEGG]r;UC00269r;aUPUBCHEM]r;U3567r;auhU cdpdtdecg_cr;hUEh Jh!Gh"h#)r;}r;(hNh"U C40H71N3O15P2r;h}r;h(}r;h*}r;(UHKGUCK(UPKUOKUNKuhj;ubh,Uch(}r;h.h/]Rr;ubGuhNhU)CDP Diacylglycerol pyrophostatase n C140 r;hEG@@hFGh}r;hHh/]r;j:aRr;hU CDAPPA140r;hKGhLhMhNhNUSTM4064r ;h(}r!;hPNubh)r";}r#;(h UGlycerophospholipid Metabolismr$;h }r%;(j:G?j&G?jZGjG@h)r&;}r';(hNhNhU"CDP-1-2-ditetradec-7-enoylglycerolr(;h}r);(UCHEBI]r*;U0aUKEGG]r+;UC00269r,;aUPUBCHEM]r-;U3567r.;auhU cdpdtdec7eg_cr/;hUEh Jh!Gh"h#)r0;}r1;(hNh"U C40H67N3O15P2r2;h}r3;h(}r4;h*}r5;(UHKCUCK(UPKUOKUNKuhj2;ubh,Uch(}r6;h.h/]Rr7;ubGuhNhU)CDP Diacylglycerol pyrophostatase n C141 r8;hEG@@hFGh}r9;hHh/]r:;j:aRr;;hU CDAPPA141r<;hKGhLhMhNhNUSTM4064r=;h(}r>;hPNubh)r?;}r@;(h UGlycerophospholipid MetabolismrA;h }rB;(j:G?jZGjG@h)rC;}rD;(hNhNhUCDP-1-2-dihexadecanoylglycerolrE;h}rF;(UCHEBI]rG;U0aUKEGG]rH;UC00269rI;aUPUBCHEM]rJ;U3567rK;auhU cdpdhdecg_crL;hUEh Jh!Gh"h#)rM;}rN;(hNh"U C44H79N3O15P2rO;h}rP;h(}rQ;h*}rR;(UHKOUCK,UPKUOKUNKuhjO;ubh,Uch(}rS;h.h/]RrT;ubGj&G?uhNhU)CDP Diacylglycerol pyrophostatase n C160 rU;hEG@@hFGh}rV;hHh/]rW;j:aRrX;hU CDAPPA160rY;hKGhLhMhNhNUSTM4064rZ;h(}r[;hPNubh)r\;}r];(h UGlycerophospholipid Metabolismr^;h }r_;(j:G?jZGj 'G?jG@h)r`;}ra;(hNhNhU!CDP-1-2-dihexadec-9-enoylglycerolrb;h}rc;(UCHEBI]rd;U0aUKEGG]re;UC00269rf;aUPUBCHEM]rg;U3567rh;auhU cdpdhdec9eg_cri;hUEh Jh!Gh"h#)rj;}rk;(hNh"U C44H75N3O15P2rl;h}rm;h(}rn;h*}ro;(UHKKUCK,UPKUOKUNKuhjl;ubh,Uch(}rp;h.h/]Rrq;ubGuhNhU)CDP Diacylglycerol pyrophostatase n C161 rr;hEG@@hFGh}rs;hHh/]rt;j:aRru;hU CDAPPA161rv;hKGhLhMhNhNUSTM4064rw;h(}rx;hPNubh)ry;}rz;(h UGlycerophospholipid Metabolismr{;h }r|;(h)r};}r~;(hNhNhUCDP-1-2-dioctadecanoylglycerolr;h}r;(UCHEBI]r;U0aUKEGG]r;UC00269r;aUPUBCHEM]r;U3567r;auhU cdpdodecg_cr;hUEh Jh!Gh"h#)r;}r;(hNh"U C48H87N3O15P2r;h}r;h(}r;h*}r;(UHKWUCK0UPKUOKUNKuhj;ubh,Uch(}r;h.h/]Rr;ubGj:G?jZGjG@j='G?uhNhU)CDP Diacylglycerol pyrophostatase n C180 r;hEG@@hFGh}r;hHh/]r;j:aRr;hU CDAPPA180r;hKGhLhMhNhNUSTM4064r;h(}r;hPNubh)r;}r;(h UGlycerophospholipid Metabolismr;h }r;(j['G?j:G?h)r;}r;(hNhNhU"CDP-1-2-dioctadec-11-enoylglycerolr;h}r;(UCHEBI]r;U0aUKEGG]r;UC00269r;aUPUBCHEM]r;U3567r;auhUcdpdodec11eg_cr;hUEh Jh!Gh"h#)r;}r;(hNh"U C48H83N3O15P2r;h}r;h(}r;h*}r;(UHKSUCK0UPKUOKUNKuhj;ubh,Uch(}r;h.h/]Rr;ubGjZGjG@uhNhU)CDP Diacylglycerol pyrophostatase n C181 r;hEG@@hFGh}r;hHh/]r;j:aRr;hU CDAPPA181r;hKGhLhMhNhNUSTM4064r;h(}r;hPNubh)r;}r;(h U*Cofactor and Prosthetic Group Biosynthesisr;h }r;(h)r;}r;(hNhNhU.4-cytidine-5-diphospho-2-C-methyl-D-erythritolr;h}r;(UCHEBI]r;U16578r;aUKEGG]r;UC11435r;aUPUBCHEM]r;U13607r;auhU4c2me_cr;hUEh Jh!Gh"h#)r;}r;(hNh"U C14H23N3O14P2r;h}r;h(}r;h*}r;(UHKUCKUPKUOKUNKuhj;ubh,Uch(}r;h.h/]Rr;ubGj4G?h)r;}r;(hNhNhU82-phospho-4-cytidine-5-diphospho-2-C-methyl-D-erythritolr;h}r;(UCHEBI]r;U16840r;aUKEGG]r;UC11436r;aUPUBCHEM]r;U13608r;auhU 2p4c2me_cr;hUEh Jh!Gh"h#)r;}r;(hNh"U C14H22N3O17P3r;h}r;h(}r;h*}r;(UHKUCKUPKUOKUNKuhj;ubh,Uch(}r;h.h/]Rr;ubG?jGGjG?uhNhU54 cytidine 5 diphospho 2 C methyl D erythritol kinaser;hEG@@hFGh}r;hHh/]r;j)r;}r;(hNjKhNhUipkr;h}r;jhUSTM1779r;h Nh"NjKh,Nh(}r;jU+h.h/]Rr;ubaRr;hUCDPMEKr;hKGhLhMhNhNj;h(}r;hPNubh)r;}r;(h UGlycerophospholipid Metabolismr;h }r;(jnGj'G@j!GjG@h)r;}r;(hNhNhUMcyclopropane-phosphatidylethanolamine-dihexadec-9-10-cyclo-anoyl-n-C160-cyclor;h}r;(UCHEBI]r;U0aUKEGG]r;U0aUPUBCHEM]r;U0auhUcpe160_cr;hUEh Kh!Gh"h#)r;}r;(hNh"U C39H74N1O8P1r;h}r;h(}r;h*}r;(UHKJUCK'UPKUOKUNKuhj;ubh,Uch(}r;h.h/]Rr;ubG?uhNhUAcyclopropane fatty acid synthase Phosphatidylethanolamine n C160 r;hEG@@hFGh}r;hHh/]r<j)r<}r<(hNjKhNhUcfar<h}r<jhUSTM1427r<h Nh"NjKh,Nh(}r<jU+h.h/]Rr<ubaRr<hUCFAS160Er <hKGhLhMhNhNj<h(}r <hPNubh)r <}r <(h UGlycerophospholipid Metabolismr <h }r<(j Gh)r<}r<(hNhNhUIcyclopropane-phosphatidylglycerol-dihexadec-9-10-cyclo-anoyl-n-C160-cyclor<h}r<(UCHEBI]r<U0aUKEGG]r<U0aUPUBCHEM]r<U0auhUcpg160_cr<hUEh Jh!Gh"h#)r<}r<(hNh"U C40H74O10P1r<h}r<h(}r<h*}r<(UHKJUCK(UOK UPKuhj<ubh,Uch(}r<h.h/]Rr<ubG?j'G@jG@j!GuhNhU=cyclopropane fatty acid synthase Phosphatidylglycerol n C160 r<hEG@@hFGh}r <hHh/]r!<j<aRr"<hUCFAS160Gr#<hKGhLhMhNhNUSTM1427r$<h(}r%<hPNubh)r&<}r'<(h UGlycerophospholipid Metabolismr(<h }r)<(j'G@h)r*<}r+<(hNhNhUNcyclopropane-phosphatidylethanolamine-dioctadec-11-12-cyclo-anoyl-n-C180-cyclor,<h}r-<(UCHEBI]r.<U0aUKEGG]r/<U0aUPUBCHEM]r0<U0auhUcpe180_cr1<hUEh Kh!Gh"h#)r2<}r3<(hNh"U C43H82N1O8P1r4<h}r5<h(}r6<h*}r7<(UHKRUCK+UPKUOKUNKuhj4<ubh,Uch(}r8<h.h/]Rr9<ubG?jG@jGj!GuhNhUAcyclopropane fatty acid synthase Phosphatidylethanolamine n C180 r:<hEG@@hFGh}r;<hHh/]r<<j<aRr=<hUCFAS180Er><hKGhLhMhNhNUSTM1427r?<h(}r@<hPNubh)rA<}rB<(h UGlycerophospholipid MetabolismrC<h }rD<(h)rE<}rF<(hNhNhUJcyclopropane-phosphatidylglycerol-dioctadec-11-12-cyclo-anoyl-n-C180-cyclorG<h}rH<(UCHEBI]rI<U0aUKEGG]rJ<U0aUPUBCHEM]rK<U0auhUcpg180_crL<hUEh Jh!Gh"h#)rM<}rN<(hNh"U C44H82O10P1rO<h}rP<h(}rQ<h*}rR<(UHKRUCK,UOK UPKuhjO<ubh,Uch(}rS<h.h/]RrT<ubG?j'G@j GjG@j!GuhNhU=cyclopropane fatty acid synthase Phosphatidylglycerol n C180 rU<hEG@@hFGh}rV<hHh/]rW<j<aRrX<hUCFAS180GrY<hKGhLhMhNhNUSTM1427rZ<h(}r[<hPNubh)r\<}r]<(h UTransport Inner Membraner^<h }r_<(j-G?j4G?jGGjZGjG?jG?h)r`<}ra<(hNhNhUCys-Glyrb<h}rc<(UCHEBI]rd<U4047re<aUKEGG]rf<UC01419rg<aUPUBCHEM]rh<U4606ri<auhUcgly_prj<hUEh Kh!Gh"h#)rk<}rl<(hNh"U C5H10N2O3Srm<h}rn<h(}ro<h*}rp<(UHK UCKUSKUOKUNKuhjm<ubh,Uph(}rq<h.h/]Rrr<ubGuhNhU>L Cysteinylglycine Cys Gly transport via ABC system periplasm rs<hEG@@hFGh}rt<hHh/]ru<(j)j )j)j))j")eRrv<hU CGLYabcpprw<hKGhLhMhNhNUC( STM3630 and STM3629 and STM3628 and STM3627 and STM3626 )rx<h(}ry<hPNubh)rz<}r{<(h UTransport Outer Membrane Porinr|<h }r}<(h)r~<}r<(hNhNhUCys-Glyr<h}r<(UCHEBI]r<U4047r<aUKEGG]r<UC01419r<aUPUBCHEM]r<U4606r<auhUcgly_er<hUEh Kh!Gh"h#)r<}r<(hNh"U C5H10N2O3Sr<h}r<h(}r<h*}r<(UHK UCKUSKUOKUNKuhj<ubh,Ueh(}r<h.h/]Rr<ubGj`<G?uhNhUFL Cysteinylglycine transport via diffusion extracellular to periplasm r<hEG@@hFG@h}r<hHh/]r<(jjjjeRr<hUCGLYtexr<hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r<h(}r<hPNubh)r<}r<(h UTransport Inner Membraner<h }r<(h)r<}r<(hNhNhUCholiner<h}r<(UCHEBI]r<U15354r<aUKEGG]r<UC00114r<aUPUBCHEM]r<U3414r<auhUchol_pr<hUEh Kh!Gh"h#)r<}r<(hNh"UC5H14NOr<h}r<h(}r<h*}r<(UHKUCKUOKUNKuhj<ubh,Uph(}r<h.h/]Rr<ubGj4G?jZGh)r<}r<(hNhNhUCholiner<h}r<(UCHEBI]r<U15354r<aUKEGG]r<UC00114r<aUPUBCHEM]r<U3414r<auhUchol_cr<hUEh Kh!Gh"h#)r<}r<(hNh"UC5H14NOr<h}r<h(}r<h*}r<(UHKUCKUOKUNKuhj<ubh,Uch(}r<h.h/]Rr<ubG?jG?jGGjG?uhNhU+choline transport via ABC system periplasm r<hEG@@hFGh}r<hHh/]r<(j)r<}r<(hNjKhNhUyehXr<h}r<jhUSTM2163r<h Nh"NjKh,Nh(}r<jU+h.h/]Rr<ubj)r<}r<(hNjKhNhUyehYr<h}r<jhUSTM2164r<h Nh"NjKh,Nh(}r<jU+h.h/]Rr<ubj)r<}r<(hNjKhNhUyehZr<h}r<jhUSTM2165r<h Nh"NjKh,Nh(}r<jU+h.h/]Rr<ubj)r<}r<(hNjKhNhUyehWr<h}r<jhUSTM2162r<h Nh"NjKh,Nh(}r<jU+h.h/]Rr<ubeRr<hUCHLabcppr<hKGhLhMhNhNU5( STM2162 and STM2163 and STM2164 and STM2165 )r<h(}r<hPNubh)r<}r<(h UTransport Outer Membrane Porinr<h }r<(h)r<}r<(hNhNhUCholiner<h}r<(UCHEBI]r<U15354r<aUKEGG]r<UC00114r<aUPUBCHEM]r<U3414r<auhUchol_er<hUEh Kh!Gh"h#)r<}r<(hNh"UC5H14NOr<h}r<h(}r<h*}r<(UHKUCKUOKUNKuhj<ubh,Ueh(}r<h.h/]Rr<ubGj<G?uhNhU;choline transport via diffusion extracellular to periplasm r<hEG@@hFG@h}r<hHh/]r<(jjjjeRr<hUCHLtexr=hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r=h(}r=hPNubh)r=}r=(h U0Tyrosine Tryptophan and Phenylalanine Metabolismr=h }r=(h)r=}r=(hNhNhU%5-O-1-Carboxyvinyl-3-phosphoshikimater =h}r =(UCHEBI]r =U16257r =aUKEGG]r =UC01269r=aUPUBCHEM]r=U4488r=auhU3psme_cr=hUEh Jh!Gh"h#)r=}r=(hNh"U C10H9O10Pr=h}r=h(}r=h*}r=(UHK UCK UOK UPKuhj=ubh,Uch(}r=h.h/]Rr=ubGj G?jG?uhNhUchorismate synthaser=hEG@@hFGh}r=hHh/]r=j)r=}r=(hNjKhNhUaroCr=h}r =jhUSTM2384r!=h Nh"NjKh,Nh(}r"=jU+h.h/]Rr#=ubaRr$=hUCHORSr%=hKGhLhMhNhNj!=h(}r&=hPNubh)r'=}r(=(h U*Cofactor and Prosthetic Group Biosynthesisr)=h }r*=(jmG?j Gh)r+=}r,=(hNhNhU4-Hydroxybenzoater-=h}r.=(UCHEBI]r/=U30763r0=aUKEGG]r1=UC00156r2=aUPUBCHEM]r3=U3456r4=auhU4hbz_cr5=hUEh Jh!Gh"h#)r6=}r7=(hNh"UC7H5O3r8=h}r9=h(}r:=h*}r;=(UHKUCKUOKuhj8=ubh,Uch(}r<=h.h/]Rr==ubG?uhNhUChorismate pyruvate lyaser>=hEG@@hFGh}r?=hHh/]r@=j)rA=}rB=(hNjKhNhUubiCrC=h}rD=jhUSTM4233rE=h Nh"NjKh,Nh(}rF=jU+h.h/]RrG=ubaRrH=hUCHRPLrI=hKGhLhMhNhNjE=h(}rJ=hPNubh)rK=}rL=(h UCitric Acid CyclerM=h }rN=(jGjtG?j5G?uhNhU Citrate lyaserO=hEG@@hFGh}rP=hHh/]rQ=(j)rR=}rS=(hNjKhNhUcitXrT=h}rU=jhUSTM0620rV=h Nh"NjKh,Nh(}rW=jU+h.h/]RrX=ubj)rY=}rZ=(hNjKhNhUcitFr[=h}r\=jhUSTM0621r]=h Nh"NjKh,Nh(}r^=jU+h.h/]Rr_=ubj)r`=}ra=(hNjKhNhUcitDrb=h}rc=jhUSTM0623rd=h Nh"NjKh,Nh(}re=jU+h.h/]Rrf=ubj)rg=}rh=(hNjKhNhUcitEri=h}rj=jhUSTM0622rk=h Nh"NjKh,Nh(}rl=jU+h.h/]Rrm=ubj)rn=}ro=(hNjKhNhUcitD2rp=h}rq=jhUSTM0059rr=h Nh"NjKh,Nh(}rs=jU+h.h/]Rrt=ubj)ru=}rv=(hNjKhNhUcitF2rw=h}rx=jhUSTM0061ry=h Nh"NjKh,Nh(}rz=jU+h.h/]Rr{=ubj)r|=}r}=(hNjKhNhUcitE2r~=h}r=jhUSTM0060r=h Nh"NjKh,Nh(}r=jU+h.h/]Rr=ubeRr=hUCITLr=hKGhLhMhNhNUd( ( ( STM0621 and STM0622 and STM0623 ) or ( STM0059 and STM0060 and STM0061 ) ) and STM0620 )r=h(}r=hPNubh)r=}r=(h UTransport Inner Membraner=h }r=(jG?j5Gh)r=}r=(hNhNhU Succinater=h}r=(UCHEBI]r=U15741r=aUKEGG]r=UC00042r=aUPUBCHEM]r=U3344r=auhUsucc_pr=hUEh Jh!Gh"h#)r=}r=(hNh"UC4H4O4r=h}r=h(}r=h*}r=(UHKUCKUOKuhj=ubh,Uph(}r=h.h/]Rr=ubG?h)r=}r=(hNhNhUCitrater=h}r=(UCHEBI]r=U30769r=aUKEGG]r=UC00158r=aUPUBCHEM]r=U3458r=auhUcit_pr=hUEh Jh!Gh"h#)r=}r=(hNh"UC6H5O7r=h}r=h(}r=h*}r=(UHKUCKUOKuhj=ubh,Uph(}r=h.h/]Rr=ubGuhNhU3Citrate transport via succinate antiport periplasm r=hEG@@hFGh}r=hHh/]r=j)r=}r=(hNjKhNhUcitTr=h}r=jhUSTM0618r=h Nh"NjKh,Nh(}r=jU+h.h/]Rr=ubaRr=hUCITt7ppr=hKGhLhMhNhNj=h(}r=hPNubh)r=}r=(h UTransport Outer Membrane Porinr=h }r=(j=G?h)r=}r=(hNhNhUCitrater=h}r=(UCHEBI]r=U30769r=aUKEGG]r=UC00158r=aUPUBCHEM]r=U3458r=auhUcit_er=hUEh Jh!Gh"h#)r=}r=(hNh"UC6H5O7r=h}r=h(}r=h*}r=(UHKUCKUOKuhj=ubh,Ueh(}r=h.h/]Rr=ubGuhNhU;citrate transport via diffusion extracellular to periplasm r=hEG@@hFG@h}r=hHh/]r=(jjjjeRr=hUCITtexr=hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r=h(}r=hPNubh)r=}r=(h UTransport Outer Membrane Porinr=h }r=(h)r=}r=(hNhNhU Isocitrater=h}r=(UCHEBI]r=U30887r=aUKEGG]r=UC00311r=aUPUBCHEM]r=U3605r=auhUicit_er=hUEh Jh!Gh"h#)r=}r=(hNh"UC6H5O7r=h}r=h(}r=h*}r=(UHKUCKUOKuhj=ubh,Ueh(}r=h.h/]Rr=ubGh)r=}r=(hNhNhU Isocitrater=h}r=(UCHEBI]r=U30887r=aUKEGG]r=UC00311r=aUPUBCHEM]r=U3605r=auhUicit_pr=hUEh Jh!Gh"h#)r=}r=(hNh"UC6H5O7r>h}r>h(}r>h*}r>(UHKUCKUOKuhj>ubh,Uph(}r>h.h/]Rr>ubG?uhNhU;citrate transport via diffusion extracellular to periplasm r>hEG@@hFG@h}r>hHh/]r>(jjjjeRr >hUICITtexr >hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r >h(}r >hPNubh)r >}r>(h UTransport Outer Membrane Porinr>h }r>(h)r>}r>(hNhNhU cis-Aconitater>h}r>(UCHEBI]r>U32805r>aUKEGG]r>UC00417r>aUPUBCHEM]r>U3707r>auhU acon__C_pr>hUEh Jh!Gh"h#)r>}r>(hNh"UC6H3O6r>h}r>h(}r >h*}r!>(UHKUCKUOKuhj>ubh,Uph(}r">h.h/]Rr#>ubG?h)r$>}r%>(hNhNhU cis-Aconitater&>h}r'>(UCHEBI]r(>U32805r)>aUKEGG]r*>UC00417r+>aUPUBCHEM]r,>U3707r->auhU acon__C_er.>hUEh Jh!Gh"h#)r/>}r0>(hNh"UC6H3O6r1>h}r2>h(}r3>h*}r4>(UHKUCKUOKuhj1>ubh,Ueh(}r5>h.h/]Rr6>ubGuhNhU?cisaconitat transport via diffusion extracellular to periplasm r7>hEG@@hFG@h}r8>hHh/]r9>(jjjjeRr:>hUACONCtexr;>hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r<>h(}r=>hPNubh)r>>}r?>(h U)Lipopolysaccharide Biosynthesis Recyclingr@>h }rA>(h)rB>}rC>(hNhNhUcold-adapted-KDO-2-lipid-ArD>h}rE>(UCHEBI]rF>U0aUKEGG]rG>U0aUPUBCHEM]rH>U0auhU lipa__cold_prI>hUEh Jh!Gh"h#)rJ>}rK>(hNh"UC114H202N2O39P2rL>h}rM>h(}rN>h*}rO>(UHKUCKrUPKUOK'UNKuhjL>ubh,Uph(}rP>h.h/]RrQ>ubGh)rR>}rS>(hNhNhUcold-adapted-KDO-2-lipid-ArT>h}rU>(UCHEBI]rV>U0aUKEGG]rW>U0aUPUBCHEM]rX>U0auhU lipa__cold_erY>hUEh Jh!Gh"h#)rZ>}r[>(hNh"UC114H202N2O39P2r\>h}r]>h(}r^>h*}r_>(UHKUCKrUPKUOK'UNKuhj\>ubh,Ueh(}r`>h.h/]Rra>ubG?uhNhU=cold lipid A transport via vector periplasm to extracellular rb>hEG@@hFGh}rc>hHh/]Rrd>hUCLIPAtexre>hKGhLhMhNhNUh(}rf>hPNubh)rg>}rh>(h UGlycerophospholipid Metabolismri>h }rj>(h)rk>}rl>(hNhNhU(Phosphatidylglycerol-didodecanoyl-n-C120rm>h}rn>(UCHEBI]ro>U0aUKEGG]rp>UC00344rq>aUPUBCHEM]rr>U3637rs>auhUpg120_prt>hUEh Jh!Gh"h#)ru>}rv>(hNh"U C30H58O10P1rw>h}rx>h(}ry>h*}rz>(UHK:UCKUOK UPKuhjw>ubh,Uph(}r{>h.h/]Rr|>ubG?h)r}>}r~>(hNhNhU"cardiolipin-tetradodecanoyl-n-C120r>h}r>(UCHEBI]r>U0aUKEGG]r>UC05980r>aUPUBCHEM]r>U8259r>auhU clpn120_pr>hUEh Jh!Gh"h#)r>}r>(hNh"U C57H108O17P2r>h}r>h(}r>h*}r>(UHKlUCK9UOKUPKuhj>ubh,Uph(}r>h.h/]Rr>ubGj)Gh)r>}r>(hNhNhU(1-2-didodecanoyl-sn-glycerol-3-phosphater>h}r>(UCHEBI]r>U16337r>aUKEGG]r>UC00416r>aUPUBCHEM]r>U3706r>auhUpa120_pr>hUEh Jh!Gh"h#)r>}r>(hNh"U C27H51O8P1r>h}r>h(}r>h*}r>(UHK3UCKUOKUPKuhj>ubh,Uph(}r>h.h/]Rr>ubG?jG?uhNhU'cardiolipin hydrolase periplasm n C120 r>hEG@@hFGh}r>hHh/]Rr>hU CLPNH120ppr>hKGhLhMhNhNUh(}r>hPNubh)r>}r>(h UGlycerophospholipid Metabolismr>h }r>(j)GjG?h)r>}r>(hNhNhU%cardiolipin-tetratetradecanoyl-n-C140r>h}r>(UCHEBI]r>U0aUKEGG]r>UC05980r>aUPUBCHEM]r>U8259r>auhU clpn140_pr>hUEh Jh!Gh"h#)r>}r>(hNh"U C65H124O17P2r>h}r>h(}r>h*}r>(UHK|UCKAUOKUPKuhj>ubh,Uph(}r>h.h/]Rr>ubGh)r>}r>(hNhNhU+1-2-ditetradecanoyl-sn-glycerol-3-phosphater>h}r>(UCHEBI]r>U16337r>aUKEGG]r>UC00416r>aUPUBCHEM]r>U3706r>auhUpa140_pr>hUEh Jh!Gh"h#)r>}r>(hNh"U C31H59O8P1r>h}r>h(}r>h*}r>(UHK;UCKUOKUPKuhj>ubh,Uph(}r>h.h/]Rr>ubG?h)r>}r>(hNhNhU+Phosphatidylglycerol-ditetradecanoyl-n-C140r>h}r>(UCHEBI]r>U0aUKEGG]r>UC00344r>aUPUBCHEM]r>U3637r>auhUpg140_pr>hUEh Jh!Gh"h#)r>}r>(hNh"U C34H66O10P1r>h}r>h(}r>h*}r>(UHKBUCK"UOK UPKuhj>ubh,Uph(}r>h.h/]Rr>ubG?uhNhU'cardiolipin hydrolase periplasm n C140 r>hEG@@hFGh}r>hHh/]Rr>hU CLPNH140ppr>hKGhLhMhNhNUh(}r>hPNubh)r>}r>(h UGlycerophospholipid Metabolismr>h }r>(jG?j)Gh)r>}r>(hNhNhU.1-2-ditetradec-7-enoyl-sn-glycerol-3-phosphater>h}r>(UCHEBI]r>U16337r>aUKEGG]r>UC00416r>aUPUBCHEM]r>U3706r>auhUpa141_pr>hUEh Jh!Gh"h#)r>}r>(hNh"U C31H55O8P1r>h}r>h(}r>h*}r>(UHK7UCKUOKUPKuhj>ubh,Uph(}r>h.h/]Rr>ubG?h)r>}r>(hNhNhU(cardiolipin-tetratetradec-7-enoyl-n-C141r?h}r?(UCHEBI]r?U0aUKEGG]r?UC05980r?aUPUBCHEM]r?U8259r?auhU clpn141_pr?hUEh Jh!Gh"h#)r?}r ?(hNh"U C65H116O17P2r ?h}r ?h(}r ?h*}r ?(UHKtUCKAUOKUPKuhj ?ubh,Uph(}r?h.h/]Rr?ubGh)r?}r?(hNhNhU.Phosphatidylglycerol-ditetradec-7-enoyl-n-C141r?h}r?(UCHEBI]r?U0aUKEGG]r?UC00344r?aUPUBCHEM]r?U3637r?auhUpg141_pr?hUEh Jh!Gh"h#)r?}r?(hNh"U C34H62O10P1r?h}r?h(}r?h*}r?(UHK>UCK"UOK UPKuhj?ubh,Uph(}r ?h.h/]Rr!?ubG?uhNhU'cardiolipin hydrolase periplasm n C141 r"?hEG@@hFGh}r#?hHh/]Rr$?hU CLPNH141ppr%?hKGhLhMhNhNUh(}r&?hPNubh)r'?}r(?(h UGlycerophospholipid Metabolismr)?h }r*?(h)r+?}r,?(hNhNhU$cardiolipin-tetrahexadecanoyl-n-C160r-?h}r.?(UCHEBI]r/?U0aUKEGG]r0?UC05980r1?aUPUBCHEM]r2?U8259r3?auhU clpn160_pr4?hUEh Jh!Gh"h#)r5?}r6?(hNh"U C73H140O17P2r7?h}r8?h(}r9?h*}r:?(UHKUCKIUOKUPKuhj7?ubh,Uph(}r;?h.h/]Rr?(hNhNhU*Phosphatidylglycerol-dihexadecanoyl-n-C160r??h}r@?(UCHEBI]rA?U0aUKEGG]rB?UC00344rC?aUPUBCHEM]rD?U3637rE?auhUpg160_prF?hUEh Jh!Gh"h#)rG?}rH?(hNh"U C38H74O10P1rI?h}rJ?h(}rK?h*}rL?(UHKJUCK&UOK UPKuhjI?ubh,Uph(}rM?h.h/]RrN?ubG?h)rO?}rP?(hNhNhU*1-2-dihexadecanoyl-sn-glycerol-3-phosphaterQ?h}rR?(UCHEBI]rS?U16337rT?aUKEGG]rU?UC00416rV?aUPUBCHEM]rW?U3706rX?auhUpa160_prY?hUEh Jh!Gh"h#)rZ?}r[?(hNh"U C35H67O8P1r\?h}r]?h(}r^?h*}r_?(UHKCUCK#UOKUPKuhj\?ubh,Uph(}r`?h.h/]Rra?ubG?uhNhU'cardiolipin hydrolase periplasm n C160 rb?hEG@@hFGh}rc?hHh/]Rrd?hU CLPNH160ppre?hKGhLhMhNhNUh(}rf?hPNubh)rg?}rh?(h UGlycerophospholipid Metabolismri?h }rj?(h)rk?}rl?(hNhNhU-1-2-dihexadec-9-enoyl-sn-glycerol-3-phosphaterm?h}rn?(UCHEBI]ro?U16337rp?aUKEGG]rq?UC00416rr?aUPUBCHEM]rs?U3706rt?auhUpa161_pru?hUEh Jh!Gh"h#)rv?}rw?(hNh"U C35H63O8P1rx?h}ry?h(}rz?h*}r{?(UHK?UCK#UOKUPKuhjx?ubh,Uph(}r|?h.h/]Rr}?ubG?h)r~?}r?(hNhNhU-Phosphatidylglycerol-dihexadec-9-enoyl-n-C161r?h}r?(UCHEBI]r?U0aUKEGG]r?UC00344r?aUPUBCHEM]r?U3637r?auhUpg161_pr?hUEh Jh!Gh"h#)r?}r?(hNh"U C38H70O10P1r?h}r?h(}r?h*}r?(UHKFUCK&UOK UPKuhj?ubh,Uph(}r?h.h/]Rr?ubG?j)GjG?h)r?}r?(hNhNhU'cardiolipin-tetrahexadec-9-enoyl-n-C161r?h}r?(UCHEBI]r?U0aUKEGG]r?UC05980r?aUPUBCHEM]r?U8259r?auhU clpn161_pr?hUEh Jh!Gh"h#)r?}r?(hNh"U C73H132O17P2r?h}r?h(}r?h*}r?(UHKUCKIUOKUPKuhj?ubh,Uph(}r?h.h/]Rr?ubGuhNhU'cardiolipin hydrolase periplasm n C161 r?hEG@@hFGh}r?hHh/]Rr?hU CLPNH161ppr?hKGhLhMhNhNUh(}r?hPNubh)r?}r?(h UGlycerophospholipid Metabolismr?h }r?(j)Gh)r?}r?(hNhNhU*1-2-dioctadecanoyl-sn-glycerol-3-phosphater?h}r?(UCHEBI]r?U16337r?aUKEGG]r?UC00416r?aUPUBCHEM]r?U3706r?auhUpa180_pr?hUEh Jh!Gh"h#)r?}r?(hNh"U C39H75O8P1r?h}r?h(}r?h*}r?(UHKKUCK'UOKUPKuhj?ubh,Uph(}r?h.h/]Rr?ubG?jG?h)r?}r?(hNhNhU$cardiolipin-tetraoctadecanoyl-n-C180r?h}r?(UCHEBI]r?U0aUKEGG]r?UC05980r?aUPUBCHEM]r?U8259r?auhU clpn180_pr?hUEh Jh!Gh"h#)r?}r?(hNh"U C81H156O17P2r?h}r?h(}r?h*}r?(UHKUCKQUOKUPKuhj?ubh,Uph(}r?h.h/]Rr?ubGh)r?}r?(hNhNhU*Phosphatidylglycerol-dioctadecanoyl-n-C180r?h}r?(UCHEBI]r?U0aUKEGG]r?UC00344r?aUPUBCHEM]r?U3637r?auhUpg180_pr?hUEh Jh!Gh"h#)r?}r?(hNh"U C42H82O10P1r?h}r?h(}r?h*}r?(UHKRUCK*UOK UPKuhj?ubh,Uph(}r?h.h/]Rr?ubG?uhNhU'cardiolipin hydrolase periplasm n C180 r?hEG@@hFGh}r?hHh/]Rr?hU CLPNH180ppr?hKGhLhMhNhNUh(}r?hPNubh)r?}r?(h UGlycerophospholipid Metabolismr?h }r?(h)r?}r?(hNhNhU.1-2-dioctadec-11-enoyl-sn-glycerol-3-phosphater?h}r?(UCHEBI]r?U16337r?aUKEGG]r?UC00416r?aUPUBCHEM]r?U3706r?auhUpa181_pr?hUEh Jh!Gh"h#)r?}r?(hNh"U C39H71O8P1r?h}r?h(}r?h*}r?(UHKGUCK'UOKUPKuhj?ubh,Uph(}r?h.h/]Rr?ubG?j)GjG?h)r?}r?(hNhNhU.Phosphatidylglycerol-dioctadec-11-enoyl-n-C181r@h}r@(UCHEBI]r@U0aUKEGG]r@UC00344r@aUPUBCHEM]r@U3637r@auhUpg181_pr@hUEh Jh!Gh"h#)r@}r @(hNh"U C42H78O10P1r @h}r @h(}r @h*}r @(UHKNUCK*UOK UPKuhj @ubh,Uph(}r@h.h/]Rr@ubG?h)r@}r@(hNhNhU(cardiolipin-tetraoctadec-11-enoyl-n-C181r@h}r@(UCHEBI]r@U0aUKEGG]r@UC05980r@aUPUBCHEM]r@U8259r@auhU clpn181_pr@hUEh Jh!Gh"h#)r@}r@(hNh"U C81H148O17P2r@h}r@h(}r@h*}r@(UHKUCKQUOKUPKuhj@ubh,Uph(}r @h.h/]Rr!@ubGuhNhU'cardiolipin hydrolase periplasm n C181 r"@hEG@@hFGh}r#@hHh/]Rr$@hU CLPNH181ppr%@hKGhLhMhNhNUh(}r&@hPNubh)r'@}r(@(h UGlycerophospholipid Metabolismr)@h }r*@(jk>Gj}>G?h)r+@}r,@(hNhNhUGlycerolr-@h}r.@(UCHEBI]r/@U17754r0@aUKEGG]r1@UC00116r2@aUPUBCHEM]r3@U3416r4@auhUglyc_pr5@hUEh Kh!Gh"h#)r6@}r7@(hNh"UC3H8O3r8@h}r9@h(}r:@h*}r;@(UHKUCKUOKuhj8@ubh,Uph(}r<@h.h/]Rr=@ubG?uhNhU(cardiolipin synthase periplasmic n C120 r>@hEG@@hFG@h}r?@hHh/]r@@(j)rA@}rB@(hNjKhNhUybhOrC@h}rD@jhUSTM0812rE@h Nh"NjKh,Nh(}rF@jU+h.h/]RrG@ubj)rH@}rI@(hNjKhNhUclsrJ@h}rK@jhUSTM1739rL@h Nh"NjKh,Nh(}rM@jU+h.h/]RrN@ubeRrO@hU CLPNS120pprP@hKGhLhMhNhNU( STM1739 or STM0812 )rQ@h(}rR@hPNubh)rS@}rT@(h UGlycerophospholipid MetabolismrU@h }rV@(j>G?j+@G?j>GuhNhU(cardiolipin synthase periplasmic n C140 rW@hEG@@hFG@h}rX@hHh/]rY@(jA@jH@eRrZ@hU CLPNS140ppr[@hKGhLhMhNhNU( STM1739 or STM0812 )r\@h(}r]@hPNubh)r^@}r_@(h UGlycerophospholipid Metabolismr`@h }ra@(j>G?j?Gj+@G?uhNhU(cardiolipin synthase periplasmic n C141 rb@hEG@@hFG@h}rc@hHh/]rd@(jA@jH@eRre@hU CLPNS141pprf@hKGhLhMhNhNU( STM1739 or STM0812 )rg@h(}rh@hPNubh)ri@}rj@(h UGlycerophospholipid Metabolismrk@h }rl@(j+@G?j+?G?j=?GuhNhU(cardiolipin synthase periplasmic n C160 rm@hEG@@hFG@h}rn@hHh/]ro@(jA@jH@eRrp@hU CLPNS160pprq@hKGhLhMhNhNU( STM1739 or STM0812 )rr@h(}rs@hPNubh)rt@}ru@(h UGlycerophospholipid Metabolismrv@h }rw@(j+@G?j?G?j~?GuhNhU(cardiolipin synthase periplasmic n C161 rx@hEG@@hFG@h}ry@hHh/]rz@(jA@jH@eRr{@hU CLPNS161ppr|@hKGhLhMhNhNU( STM1739 or STM0812 )r}@h(}r~@hPNubh)r@}r@(h UGlycerophospholipid Metabolismr@h }r@(j+@G?j?G?j?GuhNhU(cardiolipin synthase periplasmic n C180 r@hEG@@hFG@h}r@hHh/]r@(jA@jH@eRr@hU CLPNS180ppr@hKGhLhMhNhNU( STM1739 or STM0812 )r@h(}r@hPNubh)r@}r@(h UGlycerophospholipid Metabolismr@h }r@(j?Gj@G?j+@G?uhNhU(cardiolipin synthase periplasmic n C181 r@hEG@@hFG@h}r@hHh/]r@(jA@jH@eRr@hU CLPNS181ppr@hKGhLhMhNhNU( STM1739 or STM0812 )r@h(}r@hPNubh)r@}r@(h U&Inorganic Ion Transport and Metabolismr@h }r@(jGjG?h)r@}r@(hNhNhUChlorider@h}r@(UCHEBI]r@U17996r@aUKEGG]r@UC00115r@aUPUBCHEM]r@U3415r@auhUcl_pr@hUEh Jh!Gh"h#)r@}r@(hNh"UClr@h}r@h(}r@h*}r@j@Kshj@ubh,Uph(}r@h.h/]Rr@ubGh)r@}r@(hNhNhUChlorider@h}r@(UCHEBI]r@U17996r@aUKEGG]r@UC00115r@aUPUBCHEM]r@U3415r@auhUcl_cr@hUEh Jh!Gh"h#)r@}r@(hNh"UClr@h}r@h(}r@h*}r@j@Kshj@ubh,Uch(}r@h.h/]Rr@ubG@uhNhU9chloride transport out via proton antiport 21 periplasm r@hEG@@hFGh}r@hHh/]r@(j)r@}r@(hNjKhNhU-h}r@jhUSTM1490r@h Nh"NjKh,Nh(}r@jU+h.h/]Rr@ubj)r@}r@(hNjKhNhUyadQr@h}r@jhUSTM0203r@h Nh"NjKh,Nh(}r@jU+h.h/]Rr@ubeRr@hUCLt3_2ppr@hKGhLhMhNhNU( STM0203 or STM1490 )r@h(}r@hPNubh)r@}r@(h UTransport Outer Membrane Porinr@h }r@(h)r@}r@(hNhNhUChlorider@h}r@(UCHEBI]r@U17996r@aUKEGG]r@UC00115r@aUPUBCHEM]r@U3415r@auhUcl_er@hUEh Jh!Gh"h#)r@}r@(hNh"UClr@h}r@h(}r@h*}r@j@Kshj@ubh,Ueh(}r@h.h/]Rr@ubGj@G?uhNhUAchloride Cl 1 transport via diffusion extracellular to periplasm r@hEG@@hFG@h}r@hHh/]r@(jjjjeRr@hUCLtexr@hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r@h(}r@hPNubh)r@}r@(h UNucleotide Salvage Pathwayr@h }r@(j:Gj"G?jZGh)r@}r@(hNhNhUCytosiner@h}r@(UCHEBI]r@U16040r@aUKEGG]r@UC00380r@aUPUBCHEM]r@U3670r@auhUcsn_cr@hUEh Kh!Gh"h#)rA}rA(hNh"UC4H5N3OrAh}rAh(}rAh*}rA(UHKUCKUOKUNKuhjAubh,Uch(}rAh.h/]RrAubG?uhNhUCMP nucleosidaserAhEG@@hFGh}r AhHh/]Rr AhUCMPNr AhKGhLhMhNhNUh(}r AhPNubh)r A}rA(h UTransport Outer Membrane PorinrAh }rA(h)rA}rA(hNhNhUCMPrAh}rA(UCHEBI]rAU17361rAaUKEGG]rAUC00055rAaUPUBCHEM]rAU3357rAauhUcmp_prAhUEh Jh!Gh"h#)rA}rA(hNh"U C9H12N3O8PrAh}rAh(}r Ah*}r!A(UHK UCK UPKUOKUNKuhjAubh,Uph(}r"Ah.h/]Rr#AubG?h)r$A}r%A(hNhNhUCMPr&Ah}r'A(UCHEBI]r(AU17361r)AaUKEGG]r*AUC00055r+AaUPUBCHEM]r,AU3357r-AauhUcmp_er.AhUEh Jh!Gh"h#)r/A}r0A(hNh"U C9H12N3O8Pr1Ah}r2Ah(}r3Ah*}r4A(UHK UCK UPKUOKUNKuhj1Aubh,Ueh(}r5Ah.h/]Rr6AubGuhNhU7CMP transport via diffusion extracellular to periplasm r7AhEG@@hFG@h}r8AhHh/]r9A(jjjjeRr:AhUCMPtexr;AhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rA}r?A(h UTransport Outer Membrane Porinr@Ah }rAA(j1G?h)rBA}rCA(hNhNhUCO2rDAh}rEA(UCHEBI]rFAU16526rGAaUKEGG]rHAUC00011rIAaUPUBCHEM]rJAU3313rKAauhUco2_erLAhUEh Kh!Gh"h#)rMA}rNA(hNh"UCO2rOAh}rPAh(}rQAh*}rRA(UCKUOKuhjOAubh,Ueh(}rSAh.h/]RrTAubGuhNhU7CO2 transport via diffusion extracellular to periplasm rUAhEG@@hFG@h}rVAhHh/]rWA(jjjjeRrXAhUCO2texrYAhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rZAh(}r[AhPNubh)r\A}r]A(h UTransport Inner Membraner^Ah }r_A(j1GjG?uhNhU(CO2 transporter via diffusion periplasm r`AhEG@@hFG@h}raAhHh/]rbAjFaRrcAhUCO2tpprdAhKGhLhMhNhNUs0001reAh(}rfAhPNubh)rgA}rhA(h U&Inorganic Ion Transport and MetabolismriAh }rjA(h)rkA}rlA(hNhNhUCo2rmAh}rnA(UCHEBI]roAU27638rpAaUKEGG]rqAUC00175rrAaUPUBCHEM]rsAU3475rtAauhU cobalt2_pruAhUEh Kh!Gh"h#)rvA}rwA(hNh"UCorxAh}ryAh(}rzAh*}r{AjxAKshjxAubh,Uph(}r|Ah.h/]Rr}AubG?j4G?jZGh)r~A}rA(hNhNhUCo2rAh}rA(UCHEBI]rAU27638rAaUKEGG]rAUC00175rAaUPUBCHEM]rAU3475rAauhU cobalt2_crAhUEh Kh!Gh"h#)rA}rA(hNh"UCorAh}rAh(}rAh*}rAjAKshjAubh,Uch(}rAh.h/]RrAubGjGGjG?jG?uhNhU%Cobalt Co2 ABC transporter periplasm rAhEG@@hFGh}rAhHh/]rAj}:aRrAhU COBALT2abcpprAhKGhLhMhNhNUSTM3576rAh(}rAhPNubh)rA}rA(h U&Inorganic Ion Transport and MetabolismrAh }rA(jGjG?j~AGjkAG?uhNhU7cobalt Co2 transport out via proton antiport periplasm rAhEG@@hFGh}rAhHh/]rA(j:j:eRrAhU COBALT2t3pprAhKGhLhMhNhNU( STM4061 or STM0758 )rAh(}rAhPNubh)rA}rA(h UTransport Outer Membrane PorinrAh }rA(h)rA}rA(hNhNhUCo2rAh}rA(UCHEBI]rAU27638rAaUKEGG]rAUC00175rAaUPUBCHEM]rAU3475rAauhU cobalt2_erAhUEh Kh!Gh"h#)rA}rA(hNh"UCorAh}rAh(}rAh*}rAjAKshjAubh,Ueh(}rAh.h/]RrAubGjkAG?uhNhU>cobalt Co2 transport via diffusion extracellular to periplasm rAhEG@@hFG@h}rAhHh/]rA(jjjjeRrAhU COBALT2texrAhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rAh(}rAhPNubh)rA}rA(h U&Inorganic Ion Transport and MetabolismrAh }rA(jkAGj~AG?uhNhU&cobalt transport in via permease no H rAhEG@@hFGh}rAhHh/]rA(j)rA}rA(hNjKhNhUcorArAh}rAjhUSTM3952rAh Nh"NjKh,Nh(}rAjU+h.h/]RrAubj:eRrAhU COBALT2tpprAhKGhLhMhNhNU( STM3190 or STM3952 )rAh(}rAhPNubh)rA}rA(h U)Lipopolysaccharide Biosynthesis RecyclingrAh }rA(j4G?h)rA}rA(hNhNhUcore-oligosaccharide-lipid-ArAh}rA(UCHEBI]rAU0aUKEGG]rAU0aUPUBCHEM]rAU0auhUcolipa_prAhUEh Jh!Gh"h#)rA}rA(hNh"UC176H303N2O100P4rAh}rAh(}rAh*}rA(UHM/UCKUPKUOKdUNKuhjAubh,Uph(}rAh.h/]RrAubG?jGGjZGh)rA}rA(hNhNhUcore-oligosaccharide-lipid-ArAh}rA(UCHEBI]rAU0aUKEGG]rAU0aUPUBCHEM]rAU0auhUcolipa_crAhUEh Jh!Gh"h#)rA}rA(hNh"UC176H303N2O100P4rAh}rAh(}rAh*}rA(UHM/UCKUPKUOKdUNKuhjAubh,Uch(}rAh.h/]RrAubGjG?jG?uhNhU@core oligosaccharide lipid A transport via ABC system periplasm rAhEG@@hFGh}rAhHh/]rAj)rA}rA(hNjKhNhUmsbArAh}rAjhUSTM0984rAh Nh"NjKh,Nh(}rAjU+h.h/]RrBubaRrBhU COLIPAabcpprBhKGhLhMhNhNjAh(}rBhPNubh)rB}rB(h U)Lipopolysaccharide Biosynthesis RecyclingrBh }rB(h)rB}r B(hNhNhUcore-oligosaccharide-lipid-Ar Bh}r B(UCHEBI]r BU0aUKEGG]r BU0aUPUBCHEM]rBU0auhUcolipa_erBhUEh Jh!Gh"h#)rB}rB(hNh"UC176H303N2O100P4rBh}rBh(}rBh*}rB(UHM/UCKUPKUOKdUNKuhjBubh,Ueh(}rBh.h/]RrBubG?jAGuhNhUMcore oligosaccharide lipid A transport via vector periplasm to extracellular rBhEG@@hFGh}rBhHh/]RrBhU COLIPAtexrBhKGhLhMhNhNUh(}rBhPNubh)rB}rB(h U&Inorganic Ion Transport and MetabolismrBh }r B(jjGj/G@jG@h)r!B}r"B(hNhNhUcoprogen-unloaded-no-Fe-III-r#Bh}r$B(UCHEBI]r%BU0aUKEGG]r&BU0aUPUBCHEM]r'BU0auhU cpgn__un_cr(BhUEh Jh!Gh"h#)r)B}r*B(hNh"U C35H52N6O13r+Bh}r,Bh(}r-Bh*}r.B(UHK4UCK#UOK UNKuhj+Bubh,Uch(}r/Bh.h/]Rr0BubG@h)r1B}r2B(hNhNhUcoprogenr3Bh}r4B(UCHEBI]r5BU0aUKEGG]r6BU0aUPUBCHEM]r7BU0auhUcpgn_cr8BhUEh Jh!Gh"h#)r9B}r:B(hNh"U C35H52N6O13Fer;Bh}rB(UHK4UCK#UFeKUOK UNKuhj;Bubh,Uch(}r?Bh.h/]Rr@BubGjG?uhNhUcoprogen Fe III reductaserABhEG@@hFGh}rBBhHh/]RrCBhUCPGNR1rDBhKGhLhMhNhNUh(}rEBhPNubh)rFB}rGB(h U&Inorganic Ion Transport and MetabolismrHBh }rIB(j0G?j1BGj!BG@jG@j"0Gj/G@uhNhUcoprogen Fe III reductaserJBhEG@@hFGh}rKBhHh/]RrLBhUCPGNR2rMBhKGhLhMhNhNUh(}rNBhPNubh)rOB}rPB(h U&Inorganic Ion Transport and MetabolismrQBh }rRB(j1BGj/G@j;0Gj!BG@jN0G?jG@uhNhUcoprogen Fe III reductaserSBhEG@@hFGh}rTBhHh/]RrUBhUCPGNR3rVBhKGhLhMhNhNUh(}rWBhPNubh)rXB}rYB(h U&Inorganic Ion Transport and MetabolismrZBh }r[B(jGjG?h)r\B}r]B(hNhNhUcoprogen-unloaded-no-Fe-III-r^Bh}r_B(UCHEBI]r`BU0aUKEGG]raBU0aUPUBCHEM]rbBU0auhU cpgn__un_prcBhUEh Jh!Gh"h#)rdB}reB(hNh"U C35H52N6O13rfBh}rgBh(}rhBh*}riB(UHK4UCK#UOK UNKuhjfBubh,Uph(}rjBh.h/]RrkBubGh)rlB}rmB(hNhNhUcoprogen-unloaded-no-Fe-III-rnBh}roB(UCHEBI]rpBU0aUKEGG]rqBU0aUPUBCHEM]rrBU0auhU cpgn__un_ersBhUEh Jh!Gh"h#)rtB}ruB(hNh"U C35H52N6O13rvBh}rwBh(}rxBh*}ryB(UHK4UCK#UOK UNKuhjvBubh,Ueh(}rzBh.h/]Rr{BubG?uhNhU*coprogen unloaded secretion extracellular r|BhEG@@hFGh}r}BhHh/]Rr~BhUCPGNUtexrBhKGhLhMhNhNUh(}rBhPNubh)rB}rB(h U&Inorganic Ion Transport and MetabolismrBh }rB(jGjG?j!BGj\BG?uhNhUcoprogen unloaded secretionrBhEG@@hFGh}rBhHh/]RrBhUCPGNUtpprBhKGhLhMhNhNUh(}rBhPNubh)rB}rB(h UTransport Inner MembranerBh }rB(j4G?j1BG?jZGjG?jGGjG?h)rB}rB(hNhNhUcoprogenrBh}rB(UCHEBI]rBU0aUKEGG]rBU0aUPUBCHEM]rBU0auhUcpgn_prBhUEh Jh!Gh"h#)rB}rB(hNh"U C35H52N6O13FerBh}rBh(}rBh*}rB(UHK4UCK#UFeKUOK UNKuhjBubh,Uph(}rBh.h/]RrBubGuhNhU,coprogen transport via ABC system periplasm rBhEG@@hFGh}rBhHh/]rB(j0j0j0eRrBhU CPGNabcpprBhKGhLhMhNhNU'( STM0194 and STM0192 and STM0193 )rBh(}rBhPNubh)rB}rB(h U&Inorganic Ion Transport and MetabolismrBh }rB(j0GjlBGh)rB}rB(hNhNhUcoprogenrBh}rB(UCHEBI]rBU0aUKEGG]rBU0aUPUBCHEM]rBU0auhUcpgn_erBhUEh Jh!Gh"h#)rB}rB(hNh"U C35H52N6O13FerBh}rBh(}rBh*}rB(UHK4UCK#UFeKUOK UNKuhjBubh,Ueh(}rBh.h/]RrBubG?uhNhU*coprogen Fe loading reaction spontaneaous rBhEG@@hFGh}rBhHh/]rBjFaRrBhUCPGNexsrBhKGhLhMhNhNUs0001rBh(}rBhPNubh)rB}rB(h UTransport Outer MembranerBh }rB(jBGjGjG?jBG?uhNhU0Coprogen transport via ton system extracellular rBhEG@@hFGh}rBhHh/]rB(j"j"j)rB}rB(hNjKhNhUfhuErBh}rBjhUSTM1204rBh Nh"NjKh,Nh(}rBjU+h.h/]RrBubj"eRrBhU CPGNtonexrBhKGhLhMhNhNU9( STM1204 and ( STM1737 and STM3158 and STM3159 ) )rBh(}rBhPNubh)rB}rB(h U*Cofactor and Prosthetic Group BiosynthesisrBh }rB(jG@jZG@h)rB}rB(hNhNhUProtoporphyrinogen-IXrBh}rB(UCHEBI]rBU15435rBaUKEGG]rBUC01079rBaUPUBCHEM]rBU4317rBauhUpppg9_crBhUEh Jh!Gh"h#)rB}rB(hNh"U C34H38N4O4rBh}rBh(}rBh*}rB(UHK&UCK"UOKUNKuhjBubh,Uch(}rBh.h/]RrBubG?h)rB}rB(hNhNhUCoproporphyrinogen-IIIrBh}rB(UCHEBI]rBU15439rBaUKEGG]rBUC03263rBaUPUBCHEM]rBU6127rBauhUcpppg3_crBhUEh Jh!Gh"h#)rB}rB(hNh"U C36H40N4O8rBh}rBh(}rBh*}rB(UHK(UCK$UOKUNKuhjBubh,Uch(}rBh.h/]RrBubGjYGjGuhNhU'coproporphyrinogen oxidase O2 required rBhEG@@hFGh}rBhHh/]rBj)rB}rC(hNjKhNhUhemFrCh}rCjhUSTM2451rCh Nh"NjKh,Nh(}rCjU+h.h/]RrCubaRrChUCPPPGOrChKGhLhMhNhNjCh(}rChPNubh)r C}r C(h U*Cofactor and Prosthetic Group Biosynthesisr Ch }r C(jG@jG@jBGjBG?j!Gj7G@uhNhU1Oxygen Independent coproporphyrinogen III oxidaser ChEG@@hFGh}rChHh/]rCj)rC}rC(hNjKhNhUhemNrCh}rCjhUSTM4004rCh Nh"NjKh,Nh(}rCjU+h.h/]RrCubaRrChUCPPPGO2rChKGhLhMhNhNjCh(}rChPNubh)rC}rC(h UOxidative PhosphorylationrCh }rC(h)rC}rC(hNhNhUgamma-butyrobetainyl-CoAr Ch}r!C(UCHEBI]r"CU28684r#CaUKEGG]r$CU0aUPUBCHEM]r%CU 726??6196r&CauhUbbtcoa_cr'ChUEh Jh!Gh"h#)r(C}r)C(hNh"UC28H46N8O17P3Sr*Ch}r+Ch(}r,Ch*}r-C(UCKUHK.UOKUNKUPKUSKuhj*Cubh,Uch(}r.Ch.h/]Rr/CubGh)r0C}r1C(hNhNhU L-Carnitiner2Ch}r3C(UCHEBI]r4CU16347r5CaUKEGG]r6CUC00318r7CaUPUBCHEM]r8CU3612r9CauhUcrn_cr:ChUEh Kh!Gh"h#)r;C}rCh(}r?Ch*}r@C(UHKUCKUOKUNKuhj=Cubh,Uch(}rACh.h/]RrBCubGh)rCC}rDC(hNhNhUgamma-butyrobetainerECh}rFC(UCHEBI]rGCU1941rHCaUKEGG]rICUC01181rJCaUPUBCHEM]rKCU4408rLCauhUgbbtn_crMChUEh Kh!Gh"h#)rNC}rOC(hNh"UC7H15NO2rPCh}rQCh(}rRCh*}rSC(UHKUCKUOKUNKuhjPCubh,Uch(}rTCh.h/]RrUCubG?h)rVC}rWC(hNhNhUL-Carnitinyl-CoArXCh}rYC(UCHEBI]rZCU0aUKEGG]r[CU0aUPUBCHEM]r\CU0auhUcrncoa_cr]ChUEh Jh!Gh"h#)r^C}r_C(hNh"UC28H46N8O18P3Sr`Ch}raCh(}rbCh*}rcC(UCKUHK.UOKUNKUPKUSKuhj`Cubh,Uch(}rdCh.h/]RreCubG?uhNhU2gamma butyrobetainyl CoA carnitine CoA transferaserfChEG@@hFG@h}rgChHh/]rhCj)riC}rjC(hNjKhNhUcaiBrkCh}rlCjhUSTM0072rmCh Nh"NjKh,Nh(}rnCjU+h.h/]RroCubaRrpChUCRNBTCTrqChKGhLhMhNhNjmCh(}rrChPNubh)rsC}rtC(h UOxidative PhosphorylationruCh }rvC(j4G?jGj0CGjGGjG?jVCG?uhNhUCarnitine CoA LigaserwChEG@@hFGh}rxChHh/]ryCj)rzC}r{C(hNjKhNhUcaiCr|Ch}r}CjhUSTM0071r~Ch Nh"NjKh,Nh(}rCjU+h.h/]RrCubaRrChUCRNCAL2rChKGhLhMhNhNj~Ch(}rChPNubh)rC}rC(h UOxidative PhosphorylationrCh }rC(jVCGh)rC}rC(hNhNhUD-carnitinyl-CoArCh}rC(UCHEBI]rCU0aUKEGG]rCU0aUPUBCHEM]rCU605rCauhU crnDcoa_crChUEh Jh!Gh"h#)rC}rC(hNh"UC28H46N8O18P3SrCh}rCh(}rCh*}rC(UCKUHK.UOKUNKUPKUSKuhjCubh,Uch(}rCh.h/]RrCubG?uhNhUcarnitine CoA racemaserChEG@@hFG@h}rChHh/]rCj)rC}rC(hNjKhNhUcaiDrCh}rCjhUSTM0070rCh Nh"NjKh,Nh(}rCjU+h.h/]RrCubaRrChUCRNCARrChKGhLhMhNhNjCh(}rChPNubh)rC}rC(h UOxidative PhosphorylationrCh }rC(h)rC}rC(hNhNhUcrotonobetainerCh}rC(UCHEBI]rCU1774rCaUKEGG]rCUC04114rCaUPUBCHEM]rCU6803rCauhUctbt_crChUEh Kh!Gh"h#)rC}rC(hNh"UC7H13NO2rCh}rCh(}rCh*}rC(UHK UCKUOKUNKuhjCubh,Uch(}rCh.h/]RrCubG?jVCG?h)rC}rC(hNhNhUcrotonobetainyl-CoArCh}rC(UCHEBI]rCU28684rCaUKEGG]rCU0aUPUBCHEM]rCU 591??6196rCauhU ctbtcoa_crChUEh Jh!Gh"h#)rC}rC(hNh"UC28H44N8O17P3SrCh}rCh(}rCh*}rC(UCKUHK,UOKUNKUPKUSKuhjCubh,Uch(}rCh.h/]RrCubGj0CGuhNhU-crotonobetainyl CoA carnitine CoA transferaserChEG@@hFG@h}rChHh/]rCjiCaRrChUCRNCBCTrChKGhLhMhNhNUSTM0072rCh(}rChPNubh)rC}rC(h UOxidative PhosphorylationrCh }rC(jZG?jCG?jVCGuhNhUCarnityl CoA dehydratserChEG@@hFG@h}rChHh/]rCjCaRrChUCRNCDHrChKGhLhMhNhNUSTM0070rCh(}rChPNubh)rC}rC(h UOxidative PhosphorylationrCh }rC(j4G?jGGjGjCG?jG?h)rC}rC(hNhNhU D-CarnitinerCh}rC(UCHEBI]rCU3424rCaUKEGG]rCUC00487rCaUPUBCHEM]rCU3770rCauhUcrn__D_crChUEh Kh!Gh"h#)rC}rC(hNh"UC7H15NO3rCh}rCh(}rCh*}rC(UHKUCKUOKUNKuhjCubh,Uch(}rCh.h/]RrCubGuhNhUD Carnitine CoA LigaserChEG@@hFGh}rChHh/]rCjzCaRrChUCRNDCAL2rChKGhLhMhNhNUSTM0071rCh(}rChPNubh)rC}rD(h UTransport Inner MembranerDh }rD(h)rD}rD(hNhNhU D-CarnitinerDh}rD(UCHEBI]rDU3424rDaUKEGG]r DUC00487r DaUPUBCHEM]r DU3770r DauhUcrn__D_pr DhUEh Kh!Gh"h#)rD}rD(hNh"UC7H15NO3rDh}rDh(}rDh*}rD(UHKUCKUOKUNKuhjDubh,Uph(}rDh.h/]RrDubGj4G?jGGjZGjCG?jG?jG?uhNhU/D carnitine transport via ABC system periplasm rDhEG@@hFGh}rDhHh/]rD(j)rD}rD(hNjKhNhUproVrDh}rDjhUSTM2809rDh Nh"NjKh,Nh(}rDjU+h.h/]RrDubj)r D}r!D(hNjKhNhUproWr"Dh}r#DjhUSTM2810r$Dh Nh"NjKh,Nh(}r%DjU+h.h/]Rr&Dubj)r'D}r(D(hNjKhNhUproXr)Dh}r*DjhUSTM2811r+Dh Nh"NjKh,Nh(}r,DjU+h.h/]Rr-DubeRr.DhU CRNDabcppr/DhKGhLhMhNhNU'( STM2809 and STM2810 and STM2811 )r0Dh(}r1DhPNubh)r2D}r3D(h UTransport Inner Membraner4Dh }r5D(jCG?jG?jDGjGuhNhU)D carnitine outward transport H antiport r6DhEG@@hFG@h}r7DhHh/]r8Dj)r9D}r:D(hNjKhNhUproPr;Dh}rDjU+h.h/]Rr?DubaRr@DhU CRNDt2rpprADhKGhLhMhNhNj=Dh(}rBDhPNubh)rCD}rDD(h UTransport Inner MembranerEDh }rFD(j4G?h)rGD}rHD(hNhNhU L-CarnitinerIDh}rJD(UCHEBI]rKDU16347rLDaUKEGG]rMDUC00318rNDaUPUBCHEM]rODU3612rPDauhUcrn_prQDhUEh Kh!Gh"h#)rRD}rSD(hNh"UC7H15NO3rTDh}rUDh(}rVDh*}rWD(UHKUCKUOKUNKuhjTDubh,Uph(}rXDh.h/]RrYDubGj0CG?jZGjG?jGGjG?uhNhU/L carnitine transport via ABC system periplasm rZDhEG@@hFGh}r[DhHh/]r\D(jDj Dj'DeRr]DhUCRNabcppr^DhKGhLhMhNhNU'( STM2809 and STM2810 and STM2811 )r_Dh(}r`DhPNubh)raD}rbD(h UTransport Inner MembranercDh }rdD(jGDGjGj0CG?jG?uhNhU)L carnitine outward transport H antiport reDhEG@@hFG@h}rfDhHh/]rgDj9DaRrhDhUCRNt2rppriDhKGhLhMhNhNUSTM4290rjDh(}rkDhPNubh)rlD}rmD(h UTransport Inner MembranernDh }roD(jGDGj0CG?jCCGh)rpD}rqD(hNhNhUgamma-butyrobetainerrDh}rsD(UCHEBI]rtDU1941ruDaUKEGG]rvDUC01181rwDaUPUBCHEM]rxDU4408ryDauhUgbbtn_przDhUEh Kh!Gh"h#)r{D}r|D(hNh"UC7H15NO2r}Dh}r~Dh(}rDh*}rD(UHKUCKUOKUNKuhj}Dubh,Uph(}rDh.h/]RrDubG?uhNhU,Carnitinebutyrobetaine antiporter periplasm rDhEG@@hFGh}rDhHh/]rDj)rD}rD(hNjKhNhUcaiTrDh}rDjhUSTM0074rDh Nh"NjKh,Nh(}rDjU+h.h/]RrDubaRrDhUCRNt7pprDhKGhLhMhNhNjDh(}rDhPNubh)rD}rD(h UTransport Inner MembranerDh }rD(jCGj0CG?jDG?jGDGuhNhU,L carnitineD carnitine antiporter periplasm rDhEG@@hFGh}rDhHh/]rDjDaRrDhUCRNt8pprDhKGhLhMhNhNUSTM0074rDh(}rDhPNubh)rD}rD(h UTransport Outer Membrane PorinrDh }rD(jGDG?h)rD}rD(hNhNhU L-CarnitinerDh}rD(UCHEBI]rDU16347rDaUKEGG]rDUC00318rDaUPUBCHEM]rDU3612rDauhUcrn_erDhUEh Kh!Gh"h#)rD}rD(hNh"UC7H15NO3rDh}rDh(}rDh*}rD(UHKUCKUOKUNKuhjDubh,Ueh(}rDh.h/]RrDubGuhNhU?L carnitine transport via diffusion extracellular to periplasm rDhEG@@hFG@h}rDhHh/]rD(jjjjeRrDhUCRNtexrDhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rDh(}rDhPNubh)rD}rD(h UCitric Acid CyclerDh }rD(jGjG?jZGj5GjG?jG?uhNhUcitrate synthaserDhEG@@hFGh}rDhHh/]rDj)rD}rD(hNjKhNhUgltArDh}rDjhUSTM0730rDh Nh"NjKh,Nh(}rDjU+h.h/]RrDubaRrDhUCSrDhKGhLhMhNhNjDh(}rDhPNubh)rD}rD(h UTransport Outer Membrane PorinrDh }rD(h)rD}rD(hNhNhUCytosinerDh}rD(UCHEBI]rDU16040rDaUKEGG]rDUC00380rDaUPUBCHEM]rDU3670rDauhUcsn_prDhUEh Kh!Gh"h#)rD}rD(hNh"UC4H5N3OrDh}rDh(}rDh*}rD(UHKUCKUOKUNKuhjDubh,Uph(}rDh.h/]RrDubG?h)rD}rD(hNhNhUCytosinerDh}rD(UCHEBI]rDU16040rDaUKEGG]rDUC00380rDaUPUBCHEM]rDU3670rDauhUcsn_erDhUEh Kh!Gh"h#)rD}rD(hNh"UC4H5N3OrDh}rDh(}rDh*}rD(UHKUCKUOKUNKuhjDubh,Ueh(}rDh.h/]RrDubGuhNhUE}r?E(hNh"U C9H11N2O15P3r@Eh}rAEh(}rBEh*}rCE(UHK UCK UPKUOKUNKuhj@Eubh,Uch(}rDEh.h/]RrEEubGh)rFE}rGE(hNhNhUCTPrHEh}rIE(UCHEBI]rJEU17677rKEaUKEGG]rLEUC00063rMEaUPUBCHEM]rNEU3363rOEauhUctp_crPEhUEh Jh!Gh"h#)rQE}rRE(hNh"U C9H12N3O14P3rSEh}rTEh(}rUEh*}rVE(UHK UCK UPKUOKUNKuhjSEubh,Uch(}rWEh.h/]RrXEubG?jG?j GuhNhUCTP synthase glutamine rYEhEG@@hFGh}rZEhHh/]r[Ej)r\E}r]E(hNjKhNhUpyrGr^Eh}r_EjhUSTM2953r`Eh Nh"NjKh,Nh(}raEjU+h.h/]RrbEubaRrcEhUCTPS2rdEhKGhLhMhNhNj`Eh(}reEhPNubh)rfE}rgE(h U&Inorganic Ion Transport and MetabolismrhEh }riE(h)rjE}rkE(hNhNhUO2rlEh}rmE(UCHEBI]rnEU15379roEaUKEGG]rpEUC00007rqEaUPUBCHEM]rrEU3309rsEauhUo2_prtEhUEh Kh!Gh"h#)ruE}rvE(hNh"UO2rwEh}rxEh(}ryEh*}rzEUOKshjwEubh,Uph(}r{Eh.h/]Rr|EubGh)r}E}r~E(hNhNhUCurEh}rE(UCHEBI]rEU49552rEaUKEGG]rEU0aUPUBCHEM]rEU0auhUcu_prEhUEh Kh!Gh"h#)rE}rE(hNh"UCurEh}rEh(}rEh*}rEjEKshjEubh,Uph(}rEh.h/]RrEubGj)G@jGh)rE}rE(hNhNhUCu2rEh}rE(UCHEBI]rEU28694rEaUKEGG]rEUC00070rEaUPUBCHEM]rEU3370rEauhUcu2_prEhUEh Kh!Gh"h#)rE}rE(hNh"UCurEh}rEh(}rEh*}rEjEKshjEubh,Uph(}rEh.h/]RrEubG@uhNhUCuprous Oxidase Cu1 rEhEG@@hFGh}rEhHh/]rEj)rE}rE(hNjKhNhUcueOrEh}rEjhUSTM0168rEh Nh"NjKh,Nh(}rEjU+h.h/]RrEubaRrEhUCU1OpprEhKGhLhMhNhNjEh(}rEhPNubh)rE}rE(h U&Inorganic Ion Transport and MetabolismrEh }rE(h)rE}rE(hNhNhUCurEh}rE(UCHEBI]rEU49552rEaUKEGG]rEU0aUPUBCHEM]rEU0auhUcu_crEhUEh Kh!Gh"h#)rE}rE(hNh"UCurEh}rEh(}rEh*}rEjEKshjEubh,Uch(}rEh.h/]RrEubGj}EG?jGGjZGjG?j4G?jG?uhNhU&Copper Cu 1 ABC transporter periplasm rEhEG@@hFGh}rEhHh/]rEj)rE}rE(hNjKhNhUcopArEh}rEjhUSTM0498rEh Nh"NjKh,Nh(}rEjU+h.h/]RrEubaRrEhUCU1abcpprEhKGhLhMhNhNjEh(}rEhPNubh)rE}rE(h U&Inorganic Ion Transport and MetabolismrEh }rE(h)rE}rE(hNhNhUGold-AurEh}rE(UCHEBI]rEU29287rEaUKEGG]rEU0aUPUBCHEM]rEU0auhUau_crEhUEh Kh!Gh"h#)rE}rE(hNh"Uh}rEh(}rEh*}rEhUubh,Uch(}rEh.h/]RrEubGj4G?jGGjZGjG?h)rE}rE(hNhNhUGold-AurEh}rE(UCHEBI]rEU29287rEaUKEGG]rEU0aUPUBCHEM]rEU0auhUau_prEhUEh Kh!Gh"h#)rE}rE(hNh"Uh}rEh(}rEh*}rEhUubh,Uph(}rEh.h/]RrEubG?jG?uhNhU$Gold Au 1 ABC transporter periplasm rEhEG@@hFGh}rEhHh/]rEj)rE}rE(hNjKhNhU-h}rEjhUSTM0353rEh Nh"NjKh,Nh(}rEjU+h.h/]RrEubaRrEhUAU1abcpprEhKGhLhMhNhNjEh(}rEhPNubh)rF}rF(h U&Inorganic Ion Transport and MetabolismrFh }rF(h)rF}rF(hNhNhUCu2rFh}rF(UCHEBI]rFU28694r FaUKEGG]r FUC00070r FaUPUBCHEM]r FU3370r FauhUcu2_crFhUEh Kh!Gh"h#)rF}rF(hNh"UCurFh}rFh(}rFh*}rFjFKshjFubh,Uch(}rFh.h/]RrFubGj4G?jEG?jZGjG?jGGjG?uhNhU%Copper Cu2 ABC transporter periplasm rFhEG@@hFGh}rFhHh/]rFj}:aRrFhUCU2abcpprFhKGhLhMhNhNUSTM3576rFh(}rFhPNubh)rF}rF(h UTransport Outer Membrane Porinr Fh }r!F(h)r"F}r#F(hNhNhUCu2r$Fh}r%F(UCHEBI]r&FU28694r'FaUKEGG]r(FUC00070r)FaUPUBCHEM]r*FU3370r+FauhUcu2_er,FhUEh Kh!Gh"h#)r-F}r.F(hNh"UCur/Fh}r0Fh(}r1Fh*}r2Fj/FKshj/Fubh,Ueh(}r3Fh.h/]Rr4FubGjEG?uhNhU>copper Cu2 transport via diffusion extracellular to periplasm r5FhEG@@hFG@h}r6FhHh/]r7F(jjjjeRr8FhUCU2texr9FhKGhLhMhNhNU2( STM2267 or STM0320 or STM0999 or STM1473 )r:Fh(}r;FhPNubh)rFh }r?F(jEGjFG?uhNhU&copper transport in via permease no H r@FhEG@@hFGh}rAFhHh/]rBFj:aRrCFhUCU2tpprDFhKGhLhMhNhNUSTM3190rEFh(}rFFhPNubh)rGF}rHF(h UTransport Outer Membrane PorinrIFh }rJF(j}EG?h)rKF}rLF(hNhNhUCurMFh}rNF(UCHEBI]rOFU49552rPFaUKEGG]rQFU0aUPUBCHEM]rRFU0auhUcu_erSFhUEh Kh!Gh"h#)rTF}rUF(hNh"UCurVFh}rWFh(}rXFh*}rYFjVFKshjVFubh,Ueh(}rZFh.h/]Rr[FubGuhNhU>copper Cu1 transport via diffusion extracellular to periplasm r\FhEG@@hFG@h}r]FhHh/]r^F(jjjjeRr_FhUCUtexr`FhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )raFh(}rbFhPNubh)rcF}rdF(h U UnassignedreFh }rfF(h)rgF}rhF(hNhNhUHydrogen-cyanideriFh}rjF(UCHEBI]rkFU18407rlFaUKEGG]rmFUC01326rnFaUPUBCHEM]roFU4537rpFauhUcyan_crqFhUEh Kh!Gh"h#)rrF}rsF(hNh"UCHNrtFh}ruFh(}rvFh*}rwF(UHKUCKUNKuhjtFubh,Uch(}rxFh.h/]RryFubGh)rzF}r{F(hNhNhUSulfiter|Fh}r}F(UCHEBI]r~FU48854rFaUKEGG]rFUC00094rFaUPUBCHEM]rFU3394rFauhUso3_crFhUEh Jh!Gh"h#)rF}rF(hNh"UO3SrFh}rFh(}rFh*}rF(USKUOKuhjFubh,Uch(}rFh.h/]RrFubG?h)rF}rF(hNhNhU ThiosulfaterFh}rF(UCHEBI]rFU16094rFaUKEGG]rFUC00320rFaUPUBCHEM]rFU3614rFauhUtsul_crFhUEh Jh!Gh"h#)rF}rF(hNh"UO3S2rFh}rFh(}rFh*}rF(USKUOKuhjFubh,Uch(}rFh.h/]RrFubGjG?h)rF}rF(hNhNhU ThiocyanaterFh}rF(UCHEBI]rFU29200rFaUKEGG]rFUC01755rFaUPUBCHEM]rFU4888rFauhUtcynt_crFhUEh Jh!Gh"h#)rF}rF(hNh"UCNSrFh}rFh(}rFh*}rF(UCKUSKUNKuhjFubh,Uch(}rFh.h/]RrFubG?uhNhUCyanide sulfurtransferaserFhEG@@hFGh}rFhHh/]rFj)rF}rF(hNjKhNhUglpErFh}rFjhUSTM3525rFh Nh"NjKh,Nh(}rFjU+h.h/]RrFubaRrFhUCYANSTrFhKGhLhMhNhNjFh(}rFhPNubh)rF}rF(h U&Inorganic Ion Transport and MetabolismrFh }rF(h)rF}rF(hNhNhU ThiosulfaterFh}rF(UCHEBI]rFU16094rFaUKEGG]rFUC00320rFaUPUBCHEM]rFU3614rFauhUtsul_prFhUEh Jh!Gh"h#)rF}rF(hNh"UO3S2rFh}rFh(}rFh*}rF(USKUOKuhjFubh,Uph(}rFh.h/]RrFubGh)rF}rF(hNhNhUSulfiterFh}rF(UCHEBI]rFU48854rFaUKEGG]rFUC00094rFaUPUBCHEM]rFU3394rFauhUso3_prFhUEh Jh!Gh"h#)rF}rF(hNh"UO3SrFh}rFh(}rFh*}rF(USKUOKuhjFubh,Uph(}rFh.h/]RrFubG?jG?h)rF}rF(hNhNhUHydrogen-cyaniderFh}rF(UCHEBI]rFU18407rFaUKEGG]rFUC01326rFaUPUBCHEM]rFU4537rFauhUcyan_prFhUEh Kh!Gh"h#)rF}rF(hNh"UCHNrFh}rFh(}rFh*}rF(UHKUCKUNKuhjFubh,Uph(}rFh.h/]RrFubGh)rF}rF(hNhNhU ThiocyanaterFh}rG(UCHEBI]rGU29200rGaUKEGG]rGUC01755rGaUPUBCHEM]rGU4888rGauhUtcynt_prGhUEh Jh!Gh"h#)rG}r G(hNh"UCNSr Gh}r Gh(}r Gh*}r G(UCKUSKUNKuhj Gubh,Uph(}rGh.h/]RrGubG?uhNhU&Cyanide sulfurtransferase periplasmic rGhEG@@hFGh}rGhHh/]rGj)rG}rG(hNjKhNhUpspErGh}rGjhUSTM1686rGh Nh"NjKh,Nh(}rGjU+h.h/]RrGubaRrGhUCYANSTpprGhKGhLhMhNhNjGh(}rGhPNubh)rG}rG(h UTransport Outer Membrane PorinrGh }r G(h)r!G}r"G(hNhNhUHydrogen-cyanider#Gh}r$G(UCHEBI]r%GU18407r&GaUKEGG]r'GUC01326r(GaUPUBCHEM]r)GU4537r*GauhUcyan_er+GhUEh Kh!Gh"h#)r,G}r-G(hNh"UCHNr.Gh}r/Gh(}r0Gh*}r1G(UHKUCKUNKuhj.Gubh,Ueh(}r2Gh.h/]Rr3GubGjFG?uhNhU;Cyanide transport via diffusion extracellular to periplasm r4GhEG@@hFG@h}r5GhHh/]r6G(jjjjeRr7GhUCYANtexr8GhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r9Gh(}r:GhPNubh)r;G}rG(h)r?G}r@G(hNhNhUCyanaterAGh}rBG(UCHEBI]rCGU28024rDGaUKEGG]rEGUC01417rFGaUPUBCHEM]rGGU4604rHGauhUcynt_erIGhUEh Jh!Gh"h#)rJG}rKG(hNh"UCNOrLGh}rMGh(}rNGh*}rOG(UCKUOKUNKuhjLGubh,Ueh(}rPGh.h/]RrQGubGh)rRG}rSG(hNhNhUCyanaterTGh}rUG(UCHEBI]rVGU28024rWGaUKEGG]rXGUC01417rYGaUPUBCHEM]rZGU4604r[GauhUcynt_pr\GhUEh Jh!Gh"h#)r]G}r^G(hNh"UCNOr_Gh}r`Gh(}raGh*}rbG(UCKUOKUNKuhj_Gubh,Uph(}rcGh.h/]RrdGubG?uhNhU;Cyanate transport via diffusion extracellular to periplasm reGhEG@@hFG@h}rfGhHh/]rgG(jjjjeRrhGhUCYNTtexriGhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rjGh(}rkGhPNubh)rlG}rmG(h UCysteine MetabolismrnGh }roG(jmG?jZGh)rpG}rqG(hNhNhUHydrogen-sulfiderrGh}rsG(UCHEBI]rtGU16136ruGaUKEGG]rvGUC00283rwGaUPUBCHEM]rxGU3578ryGauhUh2s_crzGhUEh Kh!Gh"h#)r{G}r|G(hNh"UH2Sr}Gh}r~Gh(}rGh*}rG(UHKUSKuhj}Gubh,Uch(}rGh.h/]RrGubG?jlG?j-GuhNhUCysteine DesulfhydraserGhEG@@hFGh}rGhHh/]rGj)rG}rG(hNjKhNhUmetCrGh}rGjhUSTM3161rGh Nh"NjKh,Nh(}rGjU+h.h/]RrGubaRrGhUCYSDSrGhKGhLhMhNhNjGh(}rGhPNubh)rG}rG(h UTransport Outer Membrane PorinrGh }rG(h)rG}rG(hNhNhU D-CysteinerGh}rG(UCHEBI]rGU16375rGaUKEGG]rGUC00793rGaUPUBCHEM]rGU4051rGauhUcys__D_erGhUEh Kh!Gh"h#)rG}rG(hNh"UC3H7NO2SrGh}rGh(}rGh*}rG(UHKUCKUSKUOKUNKuhjGubh,Ueh(}rGh.h/]RrGubGh)rG}rG(hNhNhU D-CysteinerGh}rG(UCHEBI]rGU16375rGaUKEGG]rGUC00793rGaUPUBCHEM]rGU4051rGauhUcys__D_prGhUEh Kh!Gh"h#)rG}rG(hNh"UC3H7NO2SrGh}rGh(}rGh*}rG(UHKUCKUSKUOKUNKuhjGubh,Uph(}rGh.h/]RrGubG?uhNhU>D cysteine transport via diffusion extracellular to periplasm rGhEG@@hFG@h}rGhHh/]rG(jjjjeRrGhUCYSDtexrGhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rGh(}rGhPNubh)rG}rG(h UCysteine MetabolismrGh }rG(jtG?jpGGjGjG?j-G?uhNhUcysteine synthaserGhEG@@hFGh}rGhHh/]rG(j)rG}rG(hNjKhNhUcysKrGh}rGjhUSTM2430rGh Nh"NjKh,Nh(}rGjU+h.h/]RrGubj)rG}rG(hNjKhNhUcysMrGh}rGjhUSTM2440rGh Nh"NjKh,Nh(}rGjU+h.h/]RrGubeRrGhUCYSSrGhKGhLhMhNhNU( STM2430 or STM2440 )rGh(}rGhPNubh)rG}rG(h UCysteine MetabolismrGh }rG(h)rG}rG(hNhNhU3-Sulfino-L-alaninerGh}rG(UCHEBI]rGU16345rGaUKEGG]rGUC00606rGaUPUBCHEM]rGU3881rGauhU3sala_crGhUEh Jh!Gh"h#)rG}rG(hNh"UC3H5NO4SrGh}rGh(}rGh*}rG(UHKUCKUSKUOKUNKuhjGubh,Uch(}rGh.h/]RrGubGj)G?jGh)rG}rG(hNhNhUsulfur-dioxiderGh}rG(UCHEBI]rGU18422rGaUKEGG]rGUC09306rGaUPUBCHEM]rGU11497rGauhUso2_crGhUEh Kh!Gh"h#)rG}rG(hNh"UO2SrGh}rGh(}rHh*}rH(USKUOKuhjGubh,Uch(}rHh.h/]RrHubG?uhNhU$L cysteine sulfinic acid desulfuraserHhEG@@hFGh}rHhHh/]rHj)rH}rH(hNjKhNhUcsdAr Hh}r HjhUSTM2984r Hh Nh"NjKh,Nh(}r HjU+h.h/]Rr HubaRrHhUCYSSADSrHhKGhLhMhNhNj Hh(}rHhPNubh)rH}rH(h UMethionine MetabolismrHh }rH(jmG?jZGjlG?h)rH}rH(hNhNhUL-CystathioninerHh}rH(UCHEBI]rHU17482rHaUKEGG]rHUC02291rHaUPUBCHEM]rHU5347rHauhU cyst__L_crHhUEh Kh!Gh"h#)r H}r!H(hNh"U C7H14N2O4Sr"Hh}r#Hh(}r$Hh*}r%H(UHKUCKUSKUOKUNKuhj"Hubh,Uch(}r&Hh.h/]Rr'HubGh)r(H}r)H(hNhNhUL-Homocysteiner*Hh}r+H(UCHEBI]r,HU17588r-HaUKEGG]r.HUC00155r/HaUPUBCHEM]r0HU3455r1HauhU hcys__L_cr2HhUEh Kh!Gh"h#)r3H}r4H(hNh"UC4H9NO2Sr5Hh}r6Hh(}r7Hh*}r8H(UHK UCKUSKUOKUNKuhj5Hubh,Uch(}r9Hh.h/]Rr:HubG?uhNhUcystathionine b lyaser;HhEG@@hFGh}rH}r?H(hNjKhNhU-h}r@HjhUSTM1557rAHh Nh"NjKh,Nh(}rBHjU+h.h/]RrCHubeRrDHhUCYSTLrEHhKGhLhMhNhNU( STM3161 or STM1557 )rFHh(}rGHhPNubh)rHH}rIH(h U tRNA ChargingrJHh }rKH(jG?jGGjG?h)rLH}rMH(hNhNhUL-Cysteinyl-tRNA-CysrNHh}rOH(UCHEBI]rPHU29152rQHaUKEGG]rRHUC03125rSHaUPUBCHEM]rTHU6018rUHauhU cystrna_crVHhUEh Kh!Gh"h#)rWH}rXH(hNh"UC3H6NOSRrYHh}rZHh(}r[Hh*}r\H(UCKUHKUOKUNKUSKURKuhjYHubh,Uch(}r]Hh.h/]Rr^HubG?j-Gh)r_H}r`H(hNhNhUtRNA-CysraHh}rbH(UCHEBI]rcHU29167rdHaUKEGG]reHUC01639rfHaUPUBCHEM]rgHU4788rhHauhU trnacys_criHhUEh Kh!Gh"h#)rjH}rkH(hNh"URh}rlHh(}rmHh*}rnHURKshURubh,Uch(}roHh.h/]RrpHubGuhNhUCysteinyl tRNA synthetaserqHhEG@@hFGh}rrHhHh/]rsHj)rtH}ruH(hNjKhNhUcysSrvHh}rwHjhUSTM0537rxHh Nh"NjKh,Nh(}ryHjU+h.h/]RrzHubaRr{HhUCYSTRSr|HhKGhLhMhNhNjxHh(}r}HhPNubh)r~H}rH(h UTransport Inner MembranerHh }rH(h)rH}rH(hNhNhU L-CysteinerHh}rH(UCHEBI]rHU17561rHaUKEGG]rHUC00097rHaUPUBCHEM]rHU3397rHauhUcys__L_prHhUEh Kh!Gh"h#)rH}rH(hNh"UC3H7NO2SrHh}rHh(}rHh*}rH(UHKUCKUSKUOKUNKuhjHubh,Uph(}rHh.h/]RrHubG?j4G?jZGjGGj-GjG?jG?uhNhU8L cysteine export via ABC system cytoplasm to periplasm rHhEG@@hFGh}rHhHh/]rH(j)rH}rH(hNjKhNhUcydDrHh}rHjhUSTM0957rHh Nh"NjKh,Nh(}rHjU+h.h/]RrHubj)rH}rH(hNjKhNhUcydCrHh}rHjhUSTM0956rHh Nh"NjKh,Nh(}rHjU+h.h/]RrHubeRrHhU CYSabc2pprHhKGhLhMhNhNU( STM0956 and STM0957 )rHh(}rHhPNubh)rH}rH(h UTransport Inner MembranerHh }rH(jHGj4G?jGGjZGj-G?jG?jG?uhNhU+L cysteine uptake via ABC system periplasm rHhEG@@hFGh}rHhHh/]RrHhUCYSabcpprHhKGhLhMhNhNUh(}rHhPNubh)rH}rH(h UTransport Inner MembranerHh }rH(h)rH}rH(hNhNhU L-CystinerHh}rH(UCHEBI]rHU16283rHaUKEGG]rHUC00491rHaUPUBCHEM]rHU3774rHauhU cysi__L_prHhUEh Kh!Gh"h#)rH}rH(hNh"U C6H12N2O4S2rHh}rHh(}rHh*}rH(UHK UCKUSKUOKUNKuhjHubh,Uph(}rHh.h/]RrHubGh)rH}rH(hNhNhU L-CystinerHh}rH(UCHEBI]rHU16283rHaUKEGG]rHUC00491rHaUPUBCHEM]rHU3774rHauhU cysi__L_crHhUEh Kh!Gh"h#)rH}rH(hNh"U C6H12N2O4S2rHh}rHh(}rHh*}rH(UHK UCKUSKUOKUNKuhjHubh,Uch(}rHh.h/]RrHubG?jGGjZGj4G?jG?jG?uhNhU*L cystine uptake via ABC system periplasm rHhEG@@hFGh}rHhHh/]RrHhU CYSIabcpprHhKGhLhMhNhNUh(}rHhPNubh)rH}rH(h UTransport Outer Membrane PorinrHh }rH(h)rH}rH(hNhNhU L-CysteinerHh}rH(UCHEBI]rHU17561rHaUKEGG]rHUC00097rHaUPUBCHEM]rHU3397rHauhUcys__L_erHhUEh Kh!Gh"h#)rH}rH(hNh"UC3H7NO2SrHh}rHh(}rHh*}rH(UHKUCKUSKUOKUNKuhjHubh,Ueh(}rHh.h/]RrHubGjHG?uhNhU>L cysteine transport via diffusion extracellular to periplasm rHhEG@@hFG@h}rHhHh/]rH(jjjjeRrHhUCYStexrHhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rHh(}rHhPNubh)rI}rI(h UTransport Outer Membrane PorinrIh }rI(jHG?h)rI}rI(hNhNhU L-CystinerIh}rI(UCHEBI]rIU16283r IaUKEGG]r IUC00491r IaUPUBCHEM]r IU3774r IauhU cysi__L_erIhUEh Kh!Gh"h#)rI}rI(hNh"U C6H12N2O4S2rIh}rIh(}rIh*}rI(UHK UCKUSKUOKUNKuhjIubh,Ueh(}rIh.h/]RrIubGuhNhU=L cystine transport via diffusion extracellular to periplasm rIhEG@@hFG@h}rIhHh/]rI(jjjjeRrIhUCYSItexrIhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rIh(}rIhPNubh)rI}rI(h UTransport Inner Membraner Ih }r!I(jHG?j-GuhNhU+L cysteine export via facilitated transportr"IhEG@@hFGh}r#IhHh/]r$I(jjeRr%IhUCYStppr&IhKGhLhMhNhNU( STM2645 or STM1517 )r'Ih(}r(IhPNubh)r)I}r*I(h UOxidative Phosphorylationr+Ih }r,I(jO5G?jG@jZG?jb5GjYGjGuhNhU8cytochrome oxidase bo3 ubiquinol 8 4 protons periplasm r-IhEG@@hFGh}r.IhHh/]r/I(j)r0I}r1I(hNjKhNhUcyoCr2Ih}r3IjhUSTM0441r4Ih Nh"NjKh,Nh(}r5IjU+h.h/]Rr6Iubj)r7I}r8I(hNjKhNhUcyoBr9Ih}r:IjhUSTM0442r;Ih Nh"NjKh,Nh(}rI}r?I(hNjKhNhUcyoDr@Ih}rAIjhUSTM0440rBIh Nh"NjKh,Nh(}rCIjU+h.h/]RrDIubj)rEI}rFI(hNjKhNhUcyoArGIh}rHIjhUSTM0443rIIh Nh"NjKh,Nh(}rJIjU+h.h/]RrKIubeRrLIhU CYTBO3_4pprMIhKGhLhMhNhNU5( STM0440 and STM0441 and STM0442 and STM0443 )rNIh(}rOIhPNubh)rPI}rQI(h UNucleotide Salvage PathwayrRIh }rSI(h)rTI}rUI(hNhNhUUridinerVIh}rWI(UCHEBI]rXIU16704rYIaUKEGG]rZIUC00299r[IaUPUBCHEM]r\IU3593r]IauhUuri_cr^IhUEh Kh!Gh"h#)r_I}r`I(hNh"U C9H12N2O6raIh}rbIh(}rcIh*}rdI(UHK UCK UOKUNKuhjaIubh,Uch(}reIh.h/]RrfIubG?jZGh)rgI}rhI(hNhNhUCytidineriIh}rjI(UCHEBI]rkIU17562rlIaUKEGG]rmIUC00475rnIaUPUBCHEM]roIU3758rpIauhUcytd_crqIhUEh Kh!Gh"h#)rrI}rsI(hNh"U C9H13N3O5rtIh}ruIh(}rvIh*}rwI(UHK UCK UOKUNKuhjtIubh,Uch(}rxIh.h/]RryIubGjlG?jGuhNhUcytidine deaminaserzIhEG@@hFGh}r{IhHh/]r|Ij)r}I}r~I(hNjKhNhUcddrIh}rIjhUSTM2183rIh Nh"NjKh,Nh(}rIjU+h.h/]RrIubaRrIhUCYTDrIhKGhLhMhNhNjIh(}rIhPNubh)rI}rI(h UAlternate Carbon MetabolismrIh }rI(jgIGj"G?jZGj@G?uhNhUCytidine hydrolaserIhEG@@hFGh}rIhHh/]rI(j"j)rI}rI(hNjKhNhUrihArIh}rIjhUSTM0661rIh Nh"NjKh,Nh(}rIjU+h.h/]RrIubeRrIhUCYTDHrIhKGhLhMhNhNU( STM0661 or STM0051 )rIh(}rIhPNubh)rI}rI(h UNucleotide Salvage PathwayrIh }rI(j:G?jgIGjeGjK!G?jG?uhNhUcytidine kinase GTP rIhEG@@hFGh}rIhHh/]rIj)rI}rI(hNjKhNhUudkrIh}rIjhUSTM2122rIh Nh"NjKh,Nh(}rIjU+h.h/]RrIubaRrIhUCYTDK2rIhKGhLhMhNhNjIh(}rIhPNubh)rI}rI(h UTransport Inner MembranerIh }rI(jgIG?jGjG?jGuhNhU3cytidine transport in via proton symport periplasm rIhEG@@hFGh}rIhHh/]rI(j'"j."eRrIhUCYTDt2pprIhKGhLhMhNhNU( STM3113 or STM2409 )rIh(}rIhPNubh)rI}rI(h UTransport Inner MembranerIh }rI(jGjGjgIG?jG?uhNhU>cytidine transport in via proton symport reversible periplasm rIhEG@@hFG@h}rIhHh/]rIj@"aRrIhU CYTDt2rpprIhKGhLhMhNhNUSTM2421rIh(}rIhPNubh)rI}rI(h UTransport Outer Membrane PorinrIh }rI(jG?h)rI}rI(hNhNhUCytidinerIh}rI(UCHEBI]rIU17562rIaUKEGG]rIUC00475rIaUPUBCHEM]rIU3758rIauhUcytd_erIhUEh Kh!Gh"h#)rI}rI(hNh"U C9H13N3O5rIh}rIh(}rIh*}rI(UHK UCK UOKUNKuhjIubh,Ueh(}rIh.h/]RrIubGuhNhUJjU+h.h/]Rr?JubaRr@JhUDAADrAJhKGhLhMhNhNj=Jh(}rBJhPNubh)rCJ}rDJ(h UNucleotide Salvage PathwayrEJh }rFJ(h)rGJ}rHJ(hNhNhUDeoxyadenosinerIJh}rJJ(UCHEBI]rKJU17256rLJaUKEGG]rMJUC00559rNJaUPUBCHEM]rOJU3839rPJauhUdad__2_crQJhUEh Kh!Gh"h#)rRJ}rSJ(hNh"U C10H13N5O3rTJh}rUJh(}rVJh*}rWJ(UHK UCK UOKUNKuhjTJubh,Uch(}rXJh.h/]RrYJubGjGjZGh)rZJ}r[J(hNhNhU Deoxyinosiner\Jh}r]J(UCHEBI]r^JU28997r_JaUKEGG]r`JUC05512raJaUPUBCHEM]rbJU7859rcJauhUdin_crdJhUEh Kh!Gh"h#)reJ}rfJ(hNh"U C10H12N4O4rgJh}rhJh(}riJh*}rjJ(UHK UCK UOKUNKuhjgJubh,Uch(}rkJh.h/]RrlJubG?jlG?uhNhUDeoxyadenosine deaminasermJhEG@@hFGh}rnJhHh/]roJjt aRrpJhUDADArqJhKGhLhMhNhNUSTM1463rrJh(}rsJhPNubh)rtJ}ruJ(h UNucleotide Salvage PathwayrvJh }rwJ(h)rxJ}ryJ(hNhNhUdAMPrzJh}r{J(UCHEBI]r|JU17713r}JaUKEGG]r~JUC00360rJaUPUBCHEM]rJU3651rJauhUdamp_crJhUEh Jh!Gh"h#)rJ}rJ(hNh"U C10H12N5O6PrJh}rJh(}rJh*}rJ(UHK UCK UPKUOKUNKuhjJubh,Uch(}rJh.h/]RrJubGjGGj4G?h)rJ}rJ(hNhNhUdADPrJh}rJ(UCHEBI]rJU16174rJaUKEGG]rJUC00206rJaUPUBCHEM]rJU3506rJauhUdadp_crJhUEh Jh!Gh"h#)rJ}rJ(hNh"U C10H12N5O9P2rJh}rJh(}rJh*}rJ(UHK UCK UPKUOK UNKuhjJubh,Uch(}rJh.h/]RrJubG?uhNhUdeoxyadenylate kinaserJhEG@@hFG@h}rJhHh/]rJj=!aRrJhUDADKrJhKGhLhMhNhNUSTM0488rJh(}rJhPNubh)rJ}rJ(h UTransport Inner MembranerJh }rJ(jGJG?jG?h)rJ}rJ(hNhNhUDeoxyadenosinerJh}rJ(UCHEBI]rJU17256rJaUKEGG]rJUC00559rJaUPUBCHEM]rJU3839rJauhUdad__2_prJhUEh Kh!Gh"h#)rJ}rJ(hNh"U C10H13N5O3rJh}rJh(}rJh*}rJ(UHK UCK UOKUNKuhjJubh,Uph(}rJh.h/]RrJubGjGuhNhU9deoxyadenosine transport in via proton symport periplasm rJhEG@@hFGh}rJhHh/]rJ(j'"j."eRrJhUDADNt2pprJhKGhLhMhNhNU( STM2409 or STM3113 )rJh(}rJhPNubh)rJ}rJ(h UTransport Outer MembranerJh }rJ(h)rJ}rJ(hNhNhUDeoxyadenosinerJh}rJ(UCHEBI]rJU17256rJaUKEGG]rJUC00559rJaUPUBCHEM]rJU3839rJauhUdad__2_erJhUEh Kh!Gh"h#)rJ}rJ(hNh"U C10H13N5O3rJh}rJh(}rJh*}rJ(UHK UCK UOKUNKuhjJubh,Ueh(}rJh.h/]RrJubGjJG?uhNhUBdeoxyadenosine transport via diffusion extracellular to periplasm rJhEG@@hFG@h}rJhHh/]rJjd"aRrJhUDADNtexrJhKGhLhMhNhNUSTM0413rJh(}rJhPNubh)rJ}rJ(h UGlycerophospholipid MetabolismrJh }rJ(jGGjE&G?jG?j4G?h1GuhNhUdiacylglycerol kinase n C120 rJhEG@@hFGh}rJhHh/]rJj)rJ}rJ(hNjKhNhUdgkArJh}rJjhUSTM4236rJh Nh"NjKh,Nh(}rJjU+h.h/]RrJubaRrJhUDAGK120rJhKGhLhMhNhNjJh(}rJhPNubh)rJ}rJ(h UGlycerophospholipid MetabolismrJh }rJ(j4G?jGGj|&G?hUGjG?uhNhUdiacylglycerol kinase n C140 rJhEG@@hFGh}rJhHh/]rJjJaRrJhUDAGK140rJhKGhLhMhNhNUSTM4236rJh(}rJhPNubh)rJ}rJ(h UGlycerophospholipid MetabolismrJh }rK(j4G?jGGhGj&G?jG?uhNhUdiacylglycerol kinase n C141 rKhEG@@hFGh}rKhHh/]rKjJaRrKhUDAGK141rKhKGhLhMhNhNUSTM4236rKh(}rKhPNubh)rK}r K(h UGlycerophospholipid Metabolismr Kh }r K(hGjGGj4G?jG?j&G?uhNhUdiacylglycerol kinase n C160 r KhEG@@hFGh}r KhHh/]rKjJaRrKhUDAGK160rKhKGhLhMhNhNUSTM4236rKh(}rKhPNubh)rK}rK(h UGlycerophospholipid MetabolismrKh }rK(jGGj 'G?j4G?jG?hGuhNhUdiacylglycerol kinase n C161 rKhEG@@hFGh}rKhHh/]rKjJaRrKhUDAGK161rKhKGhLhMhNhNUSTM4236rKh(}rKhPNubh)rK}rK(h UGlycerophospholipid Metabolismr Kh }r!K(j4G?jGGj$GjG?j='G?uhNhUdiacylglycerol kinase n C180 r"KhEG@@hFGh}r#KhHh/]r$KjJaRr%KhUDAGK180r&KhKGhLhMhNhNUSTM4236r'Kh(}r(KhPNubh)r)K}r*K(h UGlycerophospholipid Metabolismr+Kh }r,K(j['G?j4G?jGGjG?j@GuhNhUdiacylglycerol kinase n C181 r-KhEG@@hFGh}r.KhHh/]r/KjJaRr0KhUDAGK181r1KhKGhLhMhNhNUSTM4236r2Kh(}r3KhPNubh)r4K}r5K(h UTransport Inner Membraner6Kh }r7K(jGjG?j9GjG?uhNhU4D alanine transport in via proton symport periplasm r8KhEG@@hFGh}r9KhHh/]r:Kj*aRr;KhUDALAt2pprKhPNubh)r?K}r@K(h UTransport Outer Membrane PorinrAKh }rBK(h)rCK}rDK(hNhNhU D-AlaninerEKh}rFK(UCHEBI]rGKU15570rHKaUKEGG]rIKUC00133rJKaUPUBCHEM]rKKU3433rLKauhUala__D_erMKhUEh Kh!Gh"h#)rNK}rOK(hNh"UC3H7NO2rPKh}rQKh(}rRKh*}rSK(UHKUCKUOKUNKuhjPKubh,Ueh(}rTKh.h/]RrUKubGj9G?uhNhU=D Alanine transport via diffusion extracellular to periplasm rVKhEG@@hFG@h}rWKhHh/]rXK(jjjjeRrYKhUDALAtexrZKhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r[Kh(}r\KhPNubh)r]K}r^K(h UTransport Outer Membrane Porinr_Kh }r`K(h)raK}rbK(hNhNhUdAMPrcKh}rdK(UCHEBI]reKU17713rfKaUKEGG]rgKUC00360rhKaUPUBCHEM]riKU3651rjKauhUdamp_prkKhUEh Jh!Gh"h#)rlK}rmK(hNh"U C10H12N5O6PrnKh}roKh(}rpKh*}rqK(UHK UCK UPKUOKUNKuhjnKubh,Uph(}rrKh.h/]RrsKubG?h)rtK}ruK(hNhNhUdAMPrvKh}rwK(UCHEBI]rxKU17713ryKaUKEGG]rzKUC00360r{KaUPUBCHEM]r|KU3651r}KauhUdamp_er~KhUEh Jh!Gh"h#)rK}rK(hNh"U C10H12N5O6PrKh}rKh(}rKh*}rK(UHK UCK UPKUOKUNKuhjKubh,Ueh(}rKh.h/]RrKubGuhNhU8dAMP transport via diffusion extracellular to periplasm rKhEG@@hFG@h}rKhHh/]rK(jjjjeRrKhUDAMPtexrKhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rKh(}rKhPNubh)rK}rK(h UThreonine and Lysine MetabolismrKh }rK(jGh)rK}rK(hNhNhUmeso-2-6-DiaminoheptanedioaterKh}rK(UCHEBI]rKU 16488 30308rKaUKEGG]rKUC00680rKaUPUBCHEM]rKU3949rKauhU 26dap__M_crKhUEh Kh!Gh"h#)rK}rK(hNh"U C7H14N2O4rKh}rKh(}rKh*}rK(UHKUCKUOKUNKuhjKubh,Uch(}rKh.h/]RrKubGj9G?jG?uhNhUdiaminopimelate decarboxylaserKhEG@@hFGh}rKhHh/]rKj)rK}rK(hNjKhNhUlysArKh}rKjhUSTM3013rKh Nh"NjKh,Nh(}rKjU+h.h/]RrKubaRrKhUDAPDCrKhKGhLhMhNhNjKh(}rKhPNubh)rK}rK(h UThreonine and Lysine MetabolismrKh }rK(jKG?h)rK}rK(hNhNhULL-2-6-DiaminoheptanedioaterKh}rK(UCHEBI]rKU16026rKaUKEGG]rKUC00666rKaUPUBCHEM]rKU3935rKauhU 26dap__LL_crKhUEh Kh!Gh"h#)rK}rK(hNh"U C7H14N2O4rKh}rKh(}rKh*}rK(UHKUCKUOKUNKuhjKubh,Uch(}rKh.h/]RrKubGuhNhUdiaminopimelate epimeraserKhEG@@hFG@h}rKhHh/]rKj)rK}rK(hNjKhNhUdapFrKh}rKjhUSTM3947rKh Nh"NjKh,Nh(}rKjU+h.h/]RrKubaRrKhUDAPErKhKGhLhMhNhNjKh(}rKhPNubh)rK}rK(h UTransport Inner MembranerKh }rK(j4G?jGGjGjZGjKG?jG?jG?uhNhU.M diaminopimelic acid ABC transport periplasm rKhEG@@hFGh}rKhHh/]rKj)rK}rK(hNjKhNhUfliYrKh}rKjhUSTM1954rKh Nh"NjKh,Nh(}rKjU+h.h/]RrKubaRrKhUDAPabcpprKhKGhLhMhNhNjKh(}rKhPNubh)rK}rK(h UTransport Outer Membrane PorinrKh }rK(j8G?h)rK}rK(hNhNhU1-5-DiaminopentanerKh}rK(UCHEBI]rKU18127rKaUKEGG]rKUC01672rKaUPUBCHEM]rKU4816rKauhU15dap_erKhUEh Kh!Gh"h#)rK}rK(hNh"UC5H16N2rKh}rKh(}rKh*}rK(UHKUCKUNKuhjKubh,Ueh(}rKh.h/]RrKubGuhNhUF1 5 Diaminopentane transport via diffusion extracellular to periplasm rKhEG@@hFG@h}rKhHh/]rL(jjjjeRrLhUDAPtexrLhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rLh(}rLhPNubh)rL}rL(h UGlycerophospholipid MetabolismrLh }rL(jE&Gj:G?jGjFEGjG?uhNhU%CDP diacylglycerol synthetase n C120 r LhEG@@hFGh}r LhHh/]r Lj)r L}r L(hNjKhNhUcdsArLh}rLjhUSTM0222rLh Nh"NjKh,Nh(}rLjU+h.h/]RrLubaRrLhUDASYN120rLhKGhLhMhNhNjLh(}rLhPNubh)rL}rL(h UGlycerophospholipid MetabolismrLh }rL(j ;G?j|&GjFEGjGjG?uhNhU%CDP diacylglycerol synthetase n C140 rLhEG@@hFGh}rLhHh/]rLj LaRrLhUDASYN140rLhKGhLhMhNhNUSTM0222rLh(}r LhPNubh)r!L}r"L(h UGlycerophospholipid Metabolismr#Lh }r$L(j&;G?j&GjGjFEGjG?uhNhU%CDP diacylglycerol synthetase n C141 r%LhEG@@hFGh}r&LhHh/]r'Lj LaRr(LhUDASYN141r)LhKGhLhMhNhNUSTM0222r*Lh(}r+LhPNubh)r,L}r-L(h UGlycerophospholipid Metabolismr.Lh }r/L(j&GjGjC;G?jFEGjG?uhNhU%CDP diacylglycerol synthetase n C160 r0LhEG@@hFGh}r1LhHh/]r2Lj LaRr3LhUDASYN160r4LhKGhLhMhNhNUSTM0222r5Lh(}r6LhPNubh)r7L}r8L(h UGlycerophospholipid Metabolismr9Lh }r:L(jG?j 'GjGjFEGj`;G?uhNhU%CDP diacylglycerol synthetase n C161 r;LhEG@@hFGh}rLhUDASYN161r?LhKGhLhMhNhNUSTM0222r@Lh(}rALhPNubh)rBL}rCL(h UGlycerophospholipid MetabolismrDLh }rEL(j};G?jG?jGjFEGj='GuhNhU%CDP diacylglycerol synthetase n C180 rFLhEG@@hFGh}rGLhHh/]rHLj LaRrILhUDASYN180rJLhKGhLhMhNhNUSTM0222rKLh(}rLLhPNubh)rML}rNL(h UGlycerophospholipid MetabolismrOLh }rPL(j['Gj;G?jFEGjGjG?uhNhU%CDP diacylglycerol synthetase n C181 rQLhEG@@hFGh}rRLhHh/]rSLj LaRrTLhUDASYN181rULhKGhLhMhNhNUSTM0222rVLh(}rWLhPNubh)rXL}rYL(h UNucleotide Salvage PathwayrZLh }r[L(h)r\L}r]L(hNhNhUdATPr^Lh}r_L(UCHEBI]r`LU16284raLaUKEGG]rbLUC00131rcLaUPUBCHEM]rdLU3431reLauhUdatp_crfLhUEh Jh!Gh"h#)rgL}rhL(hNh"U C10H12N5O12P3riLh}rjLh(}rkLh*}rlL(UHK UCK UPKUOK UNKuhjiLubh,Uch(}rmLh.h/]RrnLubGjZGh)roL}rpL(hNhNhUdITPrqLh}rrL(UCHEBI]rsLU0aUKEGG]rtLUC01345ruLaUPUBCHEM]rvLU4550rwLauhUditp_crxLhUEh Jh!Gh"h#)ryL}rzL(hNh"U C10H11N4O13P3r{Lh}r|Lh(}r}Lh*}r~L(UHK UCK UPKUOK UNKuhj{Lubh,Uch(}rLh.h/]RrLubG?jlG?jGuhNhU"dATP amine hydrolysis spontaneous rLhEG@@hFGh}rLhHh/]rLjFaRrLhUDATPHsrLhKGhLhMhNhNUs0001rLh(}rLhPNubh)rL}rL(h U*Cofactor and Prosthetic Group BiosynthesisrLh }rL(jv-G?j1Gh)rL}rL(hNhNhU$3-4-dihydroxy-2-butanone-4-phosphaterLh}rL(UCHEBI]rLU0aUKEGG]rLUC15556rLaUPUBCHEM]rLU17396548rLauhUdb4p_crLhUEh Jh!Gh"h#)rL}rL(hNh"UC4H7O6PrLh}rLh(}rLh*}rL(UHKUCKUOKUPKuhjLubh,Uch(}rLh.h/]RrLubG?jG?uhNhU-3 4 Dihydroxy 2 butanone 4 phosphate synthaserLhEG@@hFGh}rLhHh/]rLj)rL}rL(hNjKhNhUribBrLh}rLjhUSTM3195rLh Nh"NjKh,Nh(}rLjU+h.h/]RrLubaRrLhUDB4PSrLhKGhLhMhNhNjLh(}rLhPNubh)rL}rL(h U*Cofactor and Prosthetic Group BiosynthesisrLh }rL(j4G?jGjGGj -Gj#8G?jG@jG?uhNhUdethiobiotin synthaserLhEG@@hFGh}rLhHh/]rL(j)rL}rL(hNjKhNhUbioDrLh}rLjhUSTM1489rLh Nh"NjKh,Nh(}rLjU+h.h/]RrLubj)rL}rL(hNjKhNhUbioDrLh}rLjhUSTM0797rLh Nh"NjKh,Nh(}rLjU+h.h/]RrLubeRrLhUDBTSrLhKGhLhMhNhNU( STM0797 or STM1489 )rLh(}rLhPNubh)rL}rL(h UTransport Outer Membrane PorinrLh }rL(h)rL}rL(hNhNhUDecanoate-n-C100rLh}rL(UCHEBI]rLU30813rLaUKEGG]rLUC01571rLaUPUBCHEM]rLU4728rLauhUdca_prLhUEh Jh!Gh"h#)rL}rL(hNh"UC10H19O2rLh}rLh(}rLh*}rL(UHKUCK UOKuhjLubh,Uph(}rLh.h/]RrLubG?h)rL}rL(hNhNhUDecanoate-n-C100rLh}rL(UCHEBI]rLU30813rLaUKEGG]rLUC01571rLaUPUBCHEM]rLU4728rLauhUdca_erLhUEh Jh!Gh"h#)rL}rL(hNh"UC10H19O2rLh}rLh(}rLh*}rL(UHKUCK UOKuhjLubh,Ueh(}rLh.h/]RrLubGuhNhU=Decanoate transport via diffusion extracellular to periplasm rLhEG@@hFG@h}rLhHh/]rL(jjjjeRrLhUDCAtexrLhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rLh(}rLhPNubh)rL}rL(h UTransport Outer Membrane PorinrLh }rL(h)rL}rL(hNhNhUdCMPrLh}rL(UCHEBI]rLU15918rLaUKEGG]rLUC00239rMaUPUBCHEM]rMU3538rMauhUdcmp_erMhUEh Jh!Gh"h#)rM}rM(hNh"U C9H12N3O7PrMh}rMh(}rMh*}r M(UHK UCK UPKUOKUNKuhjMubh,Ueh(}r Mh.h/]Rr MubGh)r M}r M(hNhNhUdCMPrMh}rM(UCHEBI]rMU15918rMaUKEGG]rMUC00239rMaUPUBCHEM]rMU3538rMauhUdcmp_prMhUEh Jh!Gh"h#)rM}rM(hNh"U C9H12N3O7PrMh}rMh(}rMh*}rM(UHK UCK UPKUOKUNKuhjMubh,Uph(}rMh.h/]RrMubG?uhNhU8dCMP transport via diffusion extracellular to periplasm rMhEG@@hFG@h}r MhHh/]r!M(jjjjeRr"MhUDCMPtexr#MhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r$Mh(}r%MhPNubh)r&M}r'M(h UNucleotide Salvage Pathwayr(Mh }r)M(h)r*M}r+M(hNhNhUdCTPr,Mh}r-M(UCHEBI]r.MU16311r/MaUKEGG]r0MUC00458r1MaUPUBCHEM]r2MU3742r3MauhUdctp_cr4MhUEh Jh!Gh"h#)r5M}r6M(hNh"U C9H12N3O13P3r7Mh}r8Mh(}r9Mh*}r:M(UHK UCK UPKUOK UNKuhj7Mubh,Uch(}r;Mh.h/]RrM(hNhNhUdUTPr?Mh}r@M(UCHEBI]rAMU17625rBMaUKEGG]rCMUC00460rDMaUPUBCHEM]rEMU3744rFMauhUdutp_crGMhUEh Jh!Gh"h#)rHM}rIM(hNh"U C9H11N2O14P3rJMh}rKMh(}rLMh*}rMM(UHK UCK UPKUOKUNKuhjJMubh,Uch(}rNMh.h/]RrOMubG?jlG?uhNhUdCTP deaminaserPMhEG@@hFGh}rQMhHh/]rRMj)rSM}rTM(hNjKhNhUdcdrUMh}rVMjhUSTM2121rWMh Nh"NjKh,Nh(}rXMjU+h.h/]RrYMubaRrZMhUDCTPDr[MhKGhLhMhNhNjWMh(}r\MhPNubh)r]M}r^M(h UNucleotide Salvage Pathwayr_Mh }r`M(h)raM}rbM(hNhNhU DeoxycytidinercMh}rdM(UCHEBI]reMU15698rfMaUKEGG]rgMUC00881rhMaUPUBCHEM]riMU4137rjMauhUdcyt_crkMhUEh Kh!Gh"h#)rlM}rmM(hNh"U C9H13N3O4rnMh}roMh(}rpMh*}rqM(UHK UCK UOKUNKuhjnMubh,Uch(}rrMh.h/]RrsMubGh)rtM}ruM(hNhNhU DeoxyuridinervMh}rwM(UCHEBI]rxMU16450ryMaUKEGG]rzMUC00526r{MaUPUBCHEM]r|MU3809r}MauhUduri_cr~MhUEh Kh!Gh"h#)rM}rM(hNh"U C9H12N2O5rMh}rMh(}rMh*}rM(UHK UCK UOKUNKuhjMubh,Uch(}rMh.h/]RrMubG?jZGjlG?jGuhNhUdeoxycytidine deaminaserMhEG@@hFGh}rMhHh/]rMj}IaRrMhUDCYTDrMhKGhLhMhNhNUSTM2183rMh(}rMhPNubh)rM}rM(h UTransport Inner MembranerMh }rM(jaMG?jGjG?h)rM}rM(hNhNhU DeoxycytidinerMh}rM(UCHEBI]rMU15698rMaUKEGG]rMUC00881rMaUPUBCHEM]rMU4137rMauhUdcyt_prMhUEh Kh!Gh"h#)rM}rM(hNh"U C9H13N3O4rMh}rMh(}rMh*}rM(UHK UCK UOKUNKuhjMubh,Uph(}rMh.h/]RrMubGuhNhU8deoxycytidine transport in via proton symport periplasm rMhEG@@hFGh}rMhHh/]rM(j'"j."eRrMhUDCYTt2pprMhKGhLhMhNhNU( STM3113 or STM2409 )rMh(}rMhPNubh)rM}rM(h UTransport Outer MembranerMh }rM(h)rM}rM(hNhNhU DeoxycytidinerMh}rM(UCHEBI]rMU15698rMaUKEGG]rMUC00881rMaUPUBCHEM]rMU4137rMauhUdcyt_erMhUEh Kh!Gh"h#)rM}rM(hNh"U C9H13N3O4rMh}rMh(}rMh*}rM(UHK UCK UOKUNKuhjMubh,Ueh(}rMh.h/]RrMubGjMG?uhNhUAdeoxycytidine transport via diffusion extracellular to periplasm rMhEG@@hFG@h}rMhHh/]rMjd"aRrMhUDCYTtexrMhKGhLhMhNhNUSTM0413rMh(}rMhPNubh)rM}rM(h UTransport Outer MembranerMh }rM(h)rM}rM(hNhNhUDodecanoate-n-C120rMh}rM(UCHEBI]rMU30805rMaUKEGG]rMUC02679rMaUPUBCHEM]rMU5649rMauhUddca_erMhUEh Jh!Gh"h#)rM}rM(hNh"UC12H23O2rMh}rMh(}rMh*}rM(UHKUCK UOKuhjMubh,Ueh(}rMh.h/]RrMubGh)rM}rM(hNhNhUDodecanoate-n-C120rMh}rM(UCHEBI]rMU30805rMaUKEGG]rMUC02679rMaUPUBCHEM]rMU5649rMauhUddca_prMhUEh Jh!Gh"h#)rM}rM(hNh"UC12H23O2rMh}rMh(}rMh*}rM(UHKUCK UOKuhjMubh,Uph(}rMh.h/]RrMubG?uhNhUcFatty acid dodecanoate transport via facilitated irreversible diffusion extracellular to periplasm rMhEG@@hFGh}rMhHh/]rMj)rM}rM(hNjKhNhUfadLrMh}rMjhUSTM2391rMh Nh"NjKh,Nh(}rMjU+h.h/]RrMubaRrMhUDDCAtexirMhKGhLhMhNhNjMh(}rNhPNubh)rN}rN(h UAlternate Carbon MetabolismrNh }rN(h)rN}rN(hNhNhU2-Dehydro-3-deoxy-D-galactonaterNh}rN(UCHEBI]r NU17028r NaUKEGG]r NUC01216r NaUPUBCHEM]r NU4438rNauhU 2dh3dgal_crNhUEh Jh!Gh"h#)rN}rN(hNh"UC6H9O6rNh}rNh(}rNh*}rN(UHK UCKUOKuhjNubh,Uch(}rNh.h/]RrNubGj4G?h)rN}rN(hNhNhU+2-Dehydro-3-deoxy-D-galactonate-6-phosphaterNh}rN(UCHEBI]rNU17860rNaUKEGG]rNUC01286rNaUPUBCHEM]r NU4505r!NauhU 2dh3dgal6p_cr"NhUEh Jh!Gh"h#)r#N}r$N(hNh"UC6H8O9Pr%Nh}r&Nh(}r'Nh*}r(N(UHKUCKUOK UPKuhj%Nubh,Uch(}r)Nh.h/]Rr*NubG?jGGjG?uhNhU 2 dehydro 3 deoxygalactonokinaser+NhEG@@hFGh}r,NhHh/]r-Nj)r.N}r/N(hNjKhNhUdgoKr0Nh}r1NjhUSTM3829r2Nh Nh"NjKh,Nh(}r3NjU+h.h/]Rr4NubaRr5NhUDDGALKr6NhKGhLhMhNhNj2Nh(}r7NhPNubh)r8N}r9N(h UTransport Outer Membrane Porinr:Nh }r;N(h)rNh}r?N(UCHEBI]r@NU17032rANaUKEGG]rBNUC00204rCNaUPUBCHEM]rDNU3504rENauhU 2ddglcn_erFNhUEh Jh!Gh"h#)rGN}rHN(hNh"UC6H9O6rINh}rJNh(}rKNh*}rLN(UHK UCKUOKuhjINubh,Ueh(}rMNh.h/]RrNNubGh)rON}rPN(hNhNhU2-Dehydro-3-deoxy-D-gluconaterQNh}rRN(UCHEBI]rSNU17032rTNaUKEGG]rUNUC00204rVNaUPUBCHEM]rWNU3504rXNauhU 2ddglcn_prYNhUEh Jh!Gh"h#)rZN}r[N(hNh"UC6H9O6r\Nh}r]Nh(}r^Nh*}r_N(UHK UCKUOKuhj\Nubh,Uph(}r`Nh.h/]RraNubG?uhNhUQ2 dehydro 3 deoxy D gluconate transport via diffusion extracellular to periplasm rbNhEG@@hFG@h}rcNhHh/]rdN(jjjjeRreNhU DDGLCNtexrfNhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rgNh(}rhNhPNubh)riN}rjN(h UAlternate Carbon MetabolismrkNh }rlN(j4G?jGGh)rmN}rnN(hNhNhU2-Dehydro-3-deoxy-D-gluconateroNh}rpN(UCHEBI]rqNU17032rrNaUKEGG]rsNUC00204rtNaUPUBCHEM]ruNU3504rvNauhU 2ddglcn_crwNhUEh Jh!Gh"h#)rxN}ryN(hNh"UC6H9O6rzNh}r{Nh(}r|Nh*}r}N(UHK UCKUOKuhjzNubh,Uch(}r~Nh.h/]RrNubGh)rN}rN(hNhNhU)2-Dehydro-3-deoxy-D-gluconate-6-phosphaterNh}rN(UCHEBI]rNU15925rNaUKEGG]rNUC04442rNaUPUBCHEM]rNU7071rNauhU2ddg6p_crNhUEh Jh!Gh"h#)rN}rN(hNh"UC6H8O9PrNh}rNh(}rNh*}rN(UHKUCKUOK UPKuhjNubh,Uch(}rNh.h/]RrNubG?jG?uhNhU2 dehydro 3 deoxygluconokinaserNhEG@@hFGh}rNhHh/]rNj)rN}rN(hNjKhNhUkdgKrNh}rNjhUSTM3612rNh Nh"NjKh,Nh(}rNjU+h.h/]RrNubaRrNhUDDGLKrNhKGhLhMhNhNjNh(}rNhPNubh)rN}rN(h U0Tyrosine Tryptophan and Phenylalanine MetabolismrNh }rN(jZGh)rN}rN(hNhNhU12-Dehydro-3-deoxy-D-arabino-heptonate-7-phosphaterNh}rN(UCHEBI]rNU18150rNaUKEGG]rNUC04691rNaUPUBCHEM]rNU7271rNauhU2dda7p_crNhUEh Jh!Gh"h#)rN}rN(hNh"U C7H10O10PrNh}rNh(}rNh*}rN(UHK UCKUOK UPKuhjNubh,Uch(}rNh.h/]RrNubG?jG?h)rN}rN(hNhNhUD-Erythrose-4-phosphaterNh}rN(UCHEBI]rNU48153rNaUKEGG]rNUC00279rNaUPUBCHEM]rNU3574rNauhUe4p_crNhUEh Jh!Gh"h#)rN}rN(hNh"UC4H7O7PrNh}rNh(}rNh*}rN(UHKUCKUOKUPKuhjNubh,Uch(}rNh.h/]RrNubGjGuhNhU63 deoxy D arabino heptulosonate 7 phosphate synthetaserNhEG@@hFGh}rNhHh/]rN(j)rN}rN(hNjKhNhUaroGrNh}rNjhUSTM0760rNh Nh"NjKh,Nh(}rNjU+h.h/]RrNubj)rN}rN(hNjKhNhUaroHrNh}rNjhUSTM1347rNh Nh"NjKh,Nh(}rNjU+h.h/]RrNubj)rN}rN(hNjKhNhUaroFrNh}rNjhUSTM2670rNh Nh"NjKh,Nh(}rNjU+h.h/]RrNubeRrNhUDDPArNhKGhLhMhNhNU%( STM2670 or STM0760 or STM1347 )rNh(}rNhPNubh)rN}rN(h UNucleotide Salvage PathwayrNh }rN(jGGh)rN}rN(hNhNhUdGDPrNh}rN(UCHEBI]rNU28862rNaUKEGG]rNUC00361rNaUPUBCHEM]rNU3652rNauhUdgdp_crNhUEh Jh!Gh"h#)rN}rN(hNh"U C10H12N5O10P2rNh}rNh(}rNh*}rN(UHK UCK UPKUOK UNKuhjNubh,Uch(}rNh.h/]RrNubG?h)rN}rN(hNhNhUdGMPrNh}rO(UCHEBI]rOU16192rOaUKEGG]rOUC00362rOaUPUBCHEM]rOU3653rOauhUdgmp_crOhUEh Jh!Gh"h#)rO}r O(hNh"U C10H12N5O7Pr Oh}r Oh(}r Oh*}r O(UHK UCK UPKUOKUNKuhj Oubh,Uch(}rOh.h/]RrOubGj4G?uhNhUdeoxyguanylate kinase dGMPATP rOhEG@@hFG@h}rOhHh/]rOj)rO}rO(hNjKhNhUgmkrOh}rOjhUSTM3740rOh Nh"NjKh,Nh(}rOjU+h.h/]RrOubaRrOhUDGK1rOhKGhLhMhNhNjOh(}rOhPNubh)rO}rO(h UTransport Outer Membrane PorinrOh }r O(h)r!O}r"O(hNhNhUdGMPr#Oh}r$O(UCHEBI]r%OU16192r&OaUKEGG]r'OUC00362r(OaUPUBCHEM]r)OU3653r*OauhUdgmp_er+OhUEh Jh!Gh"h#)r,O}r-O(hNh"U C10H12N5O7Pr.Oh}r/Oh(}r0Oh*}r1O(UHK UCK UPKUOKUNKuhj.Oubh,Ueh(}r2Oh.h/]Rr3OubGh)r4O}r5O(hNhNhUdGMPr6Oh}r7O(UCHEBI]r8OU16192r9OaUKEGG]r:OUC00362r;OaUPUBCHEM]rOhUEh Jh!Gh"h#)r?O}r@O(hNh"U C10H12N5O7PrAOh}rBOh(}rCOh*}rDO(UHK UCK UPKUOKUNKuhjAOubh,Uph(}rEOh.h/]RrFOubG?uhNhU8dGMP transport via diffusion extracellular to periplasm rGOhEG@@hFG@h}rHOhHh/]rIO(jjjjeRrJOhUDGMPtexrKOhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rLOh(}rMOhPNubh)rNO}rOO(h UTransport Inner MembranerPOh }rQO(h)rRO}rSO(hNhNhUDeoxyguanosinerTOh}rUO(UCHEBI]rVOU17172rWOaUKEGG]rXOUC00330rYOaUPUBCHEM]rZOU3624r[OauhUdgsn_pr\OhUEh Kh!Gh"h#)r]O}r^O(hNh"U C10H13N5O4r_Oh}r`Oh(}raOh*}rbO(UHK UCK UOKUNKuhj_Oubh,Uph(}rcOh.h/]RrdOubGjGh)reO}rfO(hNhNhUDeoxyguanosinergOh}rhO(UCHEBI]riOU17172rjOaUKEGG]rkOUC00330rlOaUPUBCHEM]rmOU3624rnOauhUdgsn_croOhUEh Kh!Gh"h#)rpO}rqO(hNh"U C10H13N5O4rrOh}rsOh(}rtOh*}ruO(UHK UCK UOKUNKuhjrOubh,Uch(}rvOh.h/]RrwOubG?jG?uhNhU9deoxyguanosine transport in via proton symport periplasm rxOhEG@@hFGh}ryOhHh/]rzOj'"aRr{OhUDGSNt2ppr|OhKGhLhMhNhNUSTM3113r}Oh(}r~OhPNubh)rO}rO(h UTransport Outer Membrane PorinrOh }rO(jROG?h)rO}rO(hNhNhUDeoxyguanosinerOh}rO(UCHEBI]rOU17172rOaUKEGG]rOUC00330rOaUPUBCHEM]rOU3624rOauhUdgsn_erOhUEh Kh!Gh"h#)rO}rO(hNh"U C10H13N5O4rOh}rOh(}rOh*}rO(UHK UCK UOKUNKuhjOubh,Ueh(}rOh.h/]RrOubGuhNhUBdeoxyguanosine transport via diffusion extracellular to periplasm rOhEG@@hFG@h}rOhHh/]rO(jjjjeRrOhUDGSNtexrOhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rOh(}rOhPNubh)rO}rO(h U(Valine Leucine and Isoleucine MetabolismrOh }rO(h)rO}rO(hNhNhU!R-2-3-Dihydroxy-3-methylbutanoaterOh}rO(UCHEBI]rOU 15684 49072rOaUKEGG]rOUC04272rOaUPUBCHEM]rOU6935rOauhU23dhmb_crOhUEh Jh!Gh"h#)rO}rO(hNh"UC5H9O4rOh}rOh(}rOh*}rO(UHK UCKUOKuhjOubh,Uch(}rOh.h/]RrOubGjZG?h)rO}rO(hNhNhU3-Methyl-2-oxobutanoaterOh}rO(UCHEBI]rOU 11851 16530rOaUKEGG]rOUC00141rOaUPUBCHEM]rOU3441rOauhU3mob_crOhUEh Jh!Gh"h#)rO}rO(hNh"UC5H7O3rOh}rOh(}rOh*}rO(UHKUCKUOKuhjOubh,Uch(}rOh.h/]RrOubG?uhNhU;dihydroxy acid dehydratase 2 3 dihydroxy 3 methylbutanoate rOhEG@@hFGh}rOhHh/]rOj)rO}rO(hNjKhNhUilvDrOh}rOjhUSTM3904rOh Nh"NjKh,Nh(}rOjU+h.h/]RrOubaRrOhUDHAD1rOhKGhLhMhNhNjOh(}rOhPNubh)rO}rO(h U(Valine Leucine and Isoleucine MetabolismrOh }rO(h)rO}rO(hNhNhUS-3-Methyl-2-oxopentanoaterOh}rO(UCHEBI]rOU15614rOaUKEGG]rOUC00671rOaUPUBCHEM]rOU3940rOauhU3mop_crOhUEh Jh!Gh"h#)rO}rO(hNh"UC6H9O3rOh}rOh(}rOh*}rO(UHK UCKUOKuhjOubh,Uch(}rOh.h/]RrOubG?jZG?h)rO}rO(hNhNhU"R-2-3-Dihydroxy-3-methylpentanoaterOh}rO(UCHEBI]rOU 27512 49258rOaUKEGG]rOUC06007rOaUPUBCHEM]rOU8280rOauhU23dhmp_crOhUEh Jh!Gh"h#)rO}rO(hNh"UC6H11O4rOh}rOh(}rOh*}rO(UHK UCKUOKuhjOubh,Uch(}rOh.h/]RrOubGuhNhUPU16016r?PaUKEGG]r@PUC00184rAPaUPUBCHEM]rBPU3484rCPauhUdha_crDPhUEh Kh!Gh"h#)rEP}rFP(hNh"UC3H6O3rGPh}rHPh(}rIPh*}rJP(UHKUCKUOKuhjGPubh,Uch(}rKPh.h/]RrLPubG?uhNhU?Dihydroxyacetone transport via facilitated diffusion periplasm rMPhEG@@hFG@h}rNPhHh/]RrOPhUDHAtpprPPhKGhLhMhNhNUh(}rQPhPNubh)rRP}rSP(h U*Cofactor and Prosthetic Group BiosynthesisrTPh }rUP(h)rVP}rWP(hNhNhU!2-3-Dihydro-2-3-dihydroxybenzoaterXPh}rYP(UCHEBI]rZPU15941r[PaUKEGG]r\PUC04171r]PaUPUBCHEM]r^PU6852r_PauhU23ddhb_cr`PhUEh Jh!Gh"h#)raP}rbP(hNh"UC7H7O4rcPh}rdPh(}rePh*}rfP(UHKUCKUOKuhjcPubh,Uch(}rgPh.h/]RrhPubGh)riP}rjP(hNhNhU2-3-DihydroxybenzoaterkPh}rlP(UCHEBI]rmPU18026rnPaUKEGG]roPUC00196rpPaUPUBCHEM]rqPU3496rrPauhU23dhb_crsPhUEh Jh!Gh"h#)rtP}ruP(hNh"UC7H5O4rvPh}rwPh(}rxPh*}ryP(UHKUCKUOKuhjvPubh,Uch(}rzPh.h/]Rr{PubG?j G?jG?j GuhNhU/2 3 dihydro 2 3 dihydroxybenzoate dehydrogenaser|PhEG@@hFGh}r}PhHh/]r~Pj)rP}rP(hNjKhNhUentArPh}rPjhUSTM0598rPh Nh"NjKh,Nh(}rPjU+h.h/]RrPubaRrPhUDHBDrPhKGhLhMhNhNjPh(}rPhPNubh)rP}rP(h U*Cofactor and Prosthetic Group BiosynthesisrPh }rP(h)rP}rP(hNhNhU2-3-Dihydroxybenzoyl-adenylaterPh}rP(UCHEBI]rPU0aUKEGG]rPUC04030rPaUPUBCHEM]rPU6734rPauhU23dhba_crPhUEh Jh!Gh"h#)rP}rP(hNh"U C17H17N5O10PrPh}rPh(}rPh*}rP(UHKUCKUPKUOK UNKuhjPubh,Uch(}rPh.h/]RrPubG?jGGjG?jGjiPGuhNhU(2 3 dihydroxybenzoate adenylate synthaserPhEG@@hFGh}rPhHh/]rPj)rP}rP(hNjKhNhUentErPh}rPjhUSTM0596rPh Nh"NjKh,Nh(}rPjU+h.h/]RrPubaRrPhUDHBSrPhKGhLhMhNhNjPh(}rPhPNubh)rP}rP(h UThreonine and Lysine MetabolismrPh }rP(h)rP}rP(hNhNhU2-3-DihydrodipicolinaterPh}rP(UCHEBI]rPU18042rPaUKEGG]rPUC03340rPaUPUBCHEM]rPU6183rPauhU23dhdp_crPhUEh Jh!Gh"h#)rP}rP(hNh"UC7H5NO4rPh}rPh(}rPh*}rP(UHKUCKUOKUNKuhjPubh,Uch(}rPh.h/]RrPubGjB G?jU GjGh)rP}rP(hNhNhU2-3-4-5-TetrahydrodipicolinaterPh}rP(UCHEBI]rPU864rPaUKEGG]rPUC03972rPaUPUBCHEM]rPU6692rPauhUthdp_crPhUEh Jh!Gh"h#)rP}rP(hNh"UC7H7NO4rPh}rPh(}rPh*}rP(UHKUCKUOKUNKuhjPubh,Uch(}rPh.h/]RrPubG?uhNhU$dihydrodipicolinate reductase NADPH rPhEG@@hFGh}rPhHh/]rPj)rP}rP(hNjKhNhUdapBrPh}rPjhUSTM0064rPh Nh"NjKh,Nh(}rPjU+h.h/]RrPubaRrPhUDHDPRyrPhKGhLhMhNhNjPh(}rPhPNubh)rP}rP(h UThreonine and Lysine MetabolismrPh }rP(jPG?jmGj2GjZG@jG?uhNhUdihydrodipicolinate synthaserPhEG@@hFGh}rPhHh/]rPj)rP}rP(hNjKhNhUdapArPh}rPjhUSTM2489rPh Nh"NjKh,Nh(}rPjU+h.h/]RrPubaRrPhUDHDPSrPhKGhLhMhNhNjPh(}rPhPNubh)rP}rP(h U*Cofactor and Prosthetic Group BiosynthesisrPh }rP(h)rP}rP(hNhNhU7-8-DihydrofolaterPh}rP(UCHEBI]rPU15633rPaUKEGG]rPUC00415rPaUPUBCHEM]rQU3705rQauhUdhf_crQhUEh Jh!Gh"h#)rQ}rQ(hNh"U C19H19N7O6rQh}rQh(}rQh*}rQ(UHKUCKUOKUNKuhjQubh,Uch(}r Qh.h/]Rr QubGjB G?j'G?jU GjGuhNhUdihydrofolate reductaser QhEG@@hFG@h}r QhHh/]r Qj)rQ}rQ(hNjKhNhUfolArQh}rQjhUSTM0087rQh Nh"NjKh,Nh(}rQjU+h.h/]RrQubaRrQhUDHFRrQhKGhLhMhNhNjQh(}rQhPNubh)rQ}rQ(h U*Cofactor and Prosthetic Group BiosynthesisrQh }rQ(h)rQ}rQ(hNhNhUDihydropteroaterQh}rQ(UCHEBI]r QU4581r!QaUKEGG]r"QUC00921r#QaUPUBCHEM]r$QU4175r%QauhUdhpt_cr&QhUEh Jh!Gh"h#)r'Q}r(Q(hNh"U C14H13N6O3r)Qh}r*Qh(}r+Qh*}r,Q(UHK UCKUOKUNKuhj)Qubh,Uch(}r-Qh.h/]Rr.QubGj4G?jPG?jGGjGjG?jG?uhNhUdihydrofolate synthaser/QhEG@@hFGh}r0QhHh/]r1Qj)r2Q}r3Q(hNjKhNhUfolCr4Qh}r5QjhUSTM2365r6Qh Nh"NjKh,Nh(}r7QjU+h.h/]Rr8QubaRr9QhUDHFSr:QhKGhLhMhNhNj6Qh(}r;QhPNubh)rQh }r?Q(jC-G?jG?h)r@Q}rAQ(hNhNhU1-4-Dihydroxy-2-naphthoaterBQh}rCQ(UCHEBI]rDQU18094rEQaUKEGG]rFQUC03657rGQaUPUBCHEM]rHQU6435rIQauhUdhna_crJQhUEh Jh!Gh"h#)rKQ}rLQ(hNh"UC11H7O4rMQh}rNQh(}rOQh*}rPQ(UHKUCK UOKuhjMQubh,Uch(}rQQh.h/]RrRQubGh)rSQ}rTQ(hNhNhU all-trans-Octaprenyl-diphosphaterUQh}rVQ(UCHEBI]rWQU16275rXQaUKEGG]rYQUC04146rZQaUPUBCHEM]r[QU6831r\QauhUoctdp_cr]QhUEh Jh!Gh"h#)r^Q}r_Q(hNh"U C40H65O7P2r`Qh}raQh(}rbQh*}rcQ(UHKAUCK(UOKUPKuhj`Qubh,Uch(}rdQh.h/]RreQubGjGjG?uhNhU01 4 dihydroxy 2 naphthoate octaprenyltransferaserfQhEG@@hFGh}rgQhHh/]rhQj)riQ}rjQ(hNjKhNhUmenArkQh}rlQjhUSTM4090rmQh Nh"NjKh,Nh(}rnQjU+h.h/]RroQubaRrpQhUDHNAOT4rqQhKGhLhMhNhNjmQh(}rrQhPNubh)rsQ}rtQ(h U*Cofactor and Prosthetic Group BiosynthesisruQh }rvQ(h)rwQ}rxQ(hNhNhUDihydroneopterinryQh}rzQ(UCHEBI]r{QU17001r|QaUKEGG]r}QUC04874r~QaUPUBCHEM]rQU7426rQauhUdhnpt_crQhUEh Kh!Gh"h#)rQ}rQ(hNh"U C9H13N5O4rQh}rQh(}rQh*}rQ(UHK UCK UOKUNKuhjQubh,Uch(}rQh.h/]RrQubGh)rQ}rQ(hNhNhU6-hydroxymethyl-dihydropterinrQh}rQ(UCHEBI]rQU0aUKEGG]rQU0aUPUBCHEM]rQU0auhU6hmhpt_crQhUEh Kh!Gh"h#)rQ}rQ(hNh"UC7H9N5O2rQh}rQh(}rQh*}rQ(UHK UCKUOKUNKuhjQubh,Uch(}rQh.h/]RrQubG?h)rQ}rQ(hNhNhUGlycolaldehyderQh}rQ(UCHEBI]rQU17071rQaUKEGG]rQUC00266rQaUPUBCHEM]rQU3564rQauhUgcald_crQhUEh Kh!Gh"h#)rQ}rQ(hNh"UC2H4O2rQh}rQh(}rQh*}rQ(UHKUCKUOKuhjQubh,Uch(}rQh.h/]RrQubG?uhNhUdihydroneopterin aldolaserQhEG@@hFGh}rQhHh/]rQj)rQ}rQ(hNjKhNhUfolBrQh}rQjhUSTM3206rQh Nh"NjKh,Nh(}rQjU+h.h/]RrQubaRrQhUDHNPA2rQhKGhLhMhNhNjQh(}rQhPNubh)rQ}rQ(h U"Purine and Pyrimidine BiosynthesisrQh }rQ(jO5Gh)rQ}rQ(hNhNhUS-DihydroorotaterQh}rQ(UCHEBI]rQU17025rQaUKEGG]rQUC00337rQaUPUBCHEM]rQU3630rQauhU dhor__S_crQhUEh Jh!Gh"h#)rQ}rQ(hNh"UC5H5N2O4rQh}rQh(}rQh*}rQ(UHKUCKUOKUNKuhjQubh,Uch(}rQh.h/]RrQubGh)rQ}rQ(hNhNhUOrotaterQh}rQ(UCHEBI]rQU16742rQaUKEGG]rQUC00295rQaUPUBCHEM]rQU3589rQauhUorot_crQhUEh Jh!Gh"h#)rQ}rQ(hNh"UC5H3N2O4rQh}rQh(}rQh*}rQ(UHKUCKUOKUNKuhjQubh,Uch(}rQh.h/]RrQubG?jb5G?uhNhU)dihydoorotic acid dehydrogenase quinone8 rQhEG@@hFGh}rQhHh/]rQj)rQ}rQ(hNjKhNhUpyrDrQh}rQjhUSTM1058rQh Nh"NjKh,Nh(}rQjU+h.h/]RrQubaRrQhUDHORD2rQhKGhLhMhNhNjQh(}rQhPNubh)rQ}rQ(h U"Purine and Pyrimidine BiosynthesisrQh }rQ(j5GjQGjS-G?jQG?uhNhU!dihydroorotic acid menaquinone 8 rQhEG@@hFGh}rQhHh/]rQjQaRrQhUDHORD5rQhKGhLhMhNhNUSTM1058rQh(}rQhPNubh)rQ}rQ(h U"Purine and Pyrimidine BiosynthesisrQh }rQ(jZGjQGj5G?jG?uhNhUdihydroorotaserRhEG@@hFG@h}rRhHh/]rRj)rR}rR(hNjKhNhUpyrCrRh}rRjhUSTM1163rRh Nh"NjKh,Nh(}rRjU+h.h/]Rr RubaRr RhUDHORTSr RhKGhLhMhNhNjRh(}r RhPNubh)r R}rR(h U*Cofactor and Prosthetic Group BiosynthesisrRh }rR(ju/G?h)rR}rR(hNhNhU82-5-Diamino-6-ribosylamino-4-3H-pyrimidinone-5-phosphaterRh}rR(UCHEBI]rRU0aUKEGG]rRU0aUPUBCHEM]rRU0auhU 25drapp_crRhUEh Jh!Gh"h#)rR}rR(hNh"U C9H14N5O8PrRh}rRh(}rRh*}rR(UHKUCK UPKUOKUNKuhjRubh,Uch(}rRh.h/]Rr RubGjZGjlG?jGuhNhU?diaminohydroxyphosphoribosylaminopryrimidine deaminase 25drapp r!RhEG@@hFGh}r"RhHh/]r#Rj/aRr$RhUDHPPDA2r%RhKGhLhMhNhNUSTM0416r&Rh(}r'RhPNubh)r(R}r)R(h U*Cofactor and Prosthetic Group Biosynthesisr*Rh }r+R(h)r,R}r-R(hNhNhU+6-hydroxymethyl-dihydropterin-pyrophosphater.Rh}r/R(UCHEBI]r0RU0aUKEGG]r1RU0aUPUBCHEM]r2RU0auhU 6hmhptpp_cr3RhUEh Jh!Gh"h#)r4R}r5R(hNh"U C7H8N5O8P2r6Rh}r7Rh(}r8Rh*}r9R(UHKUCKUPKUOKUNKuhj6Rubh,Uch(}r:Rh.h/]Rr;RubGjQG?j GjG?uhNhUdihydropteroate synthaserRj)r?R}r@R(hNjKhNhUfolPrARh}rBRjhUSTM3295rCRh Nh"NjKh,Nh(}rDRjU+h.h/]RrERubaRrFRhUDHPS2rGRhKGhLhMhNhNjCRh(}rHRhPNubh)rIR}rJR(h UMethionine MetabolismrKRh }rLR(h)rMR}rNR(hNhNhU4-5-dihydroxy-2-3-pentanedionerORh}rPR(UCHEBI]rQRU0aUKEGG]rRRUC11838rSRaUPUBCHEM]rTRU14000rURauhUdhptd_crVRhUEh Kh!Gh"h#)rWR}rXR(hNh"UC5H8O4rYRh}rZRh(}r[Rh*}r\R(UHKUCKUOKuhjYRubh,Uch(}r]Rh.h/]Rr^RubGh)r_R}r`R(hNhNhU 4-hydroxy-5-methyl-3-2H-furanoneraRh}rbR(UCHEBI]rcRU 11851 16530rdRaUKEGG]reRU0aUPUBCHEM]rfRU 4564493??3441rgRauhUhmfurn_crhRhUEh Kh!Gh"h#)riR}rjR(hNh"UC5H6O3rkRh}rlRh(}rmRh*}rnR(UHKUCKUOKuhjkRubh,Uch(}roRh.h/]RrpRubG?jZG?uhNhU74 5 dihydroxy 2 3 pentanedione cyclization spontaneous rqRhEG@@hFGh}rrRhHh/]rsRjFaRrtRhUDHPTDCsruRhKGhLhMhNhNUs0001rvRh(}rwRhPNubh)rxR}ryR(h U0Tyrosine Tryptophan and Phenylalanine MetabolismrzRh }r{R(h)r|R}r}R(hNhNhU3-Dehydroquinater~Rh}rR(UCHEBI]rRU 17947 32364rRaUKEGG]rRUC00944rRaUPUBCHEM]rRU4196rRauhU3dhq_crRhUEh Jh!Gh"h#)rR}rR(hNh"UC7H9O6rRh}rRh(}rRh*}rR(UHK UCKUOKuhjRubh,Uch(}rRh.h/]RrRubG?jG?jNGuhNhU3 dehydroquinate synthaserRhEG@@hFGh}rRhHh/]rRj)rR}rR(hNjKhNhUaroBrRh}rRjhUSTM3486rRh Nh"NjKh,Nh(}rRjU+h.h/]RrRubaRrRhUDHQSrRhKGhLhMhNhNjRh(}rRhPNubh)rR}rR(h U0Tyrosine Tryptophan and Phenylalanine MetabolismrRh }rR(h)rR}rR(hNhNhU3-DehydroshikimaterRh}rR(UCHEBI]rRU30918rRaUKEGG]rRUC02637rRaUPUBCHEM]rRU5617rRauhU3dhsk_crRhUEh Jh!Gh"h#)rR}rR(hNh"UC7H7O5rRh}rRh(}rRh*}rR(UHKUCKUOKuhjRubh,Uch(}rRh.h/]RrRubG?jZG?j|RGuhNhU)3 dehydroquinate dehydratase irreversiblerRhEG@@hFGh}rRhHh/]rRj)rR}rR(hNjKhNhUaroDrRh}rRjhUSTM1358rRh Nh"NjKh,Nh(}rRjU+h.h/]RrRubaRrRhUDHQTirRhKGhLhMhNhNjRh(}rRhPNubh)rR}rR(h UTransport Outer Membrane PorinrRh }rR(h)rR}rR(hNhNhUdIMPrRh}rR(UCHEBI]rRU28806rRaUKEGG]rRUC06196rRaUPUBCHEM]rRU8446rRauhUdimp_erRhUEh Jh!Gh"h#)rR}rR(hNh"U C10H11N4O7PrRh}rRh(}rRh*}rR(UHK UCK UPKUOKUNKuhjRubh,Ueh(}rRh.h/]RrRubGh)rR}rR(hNhNhUdIMPrRh}rR(UCHEBI]rRU28806rRaUKEGG]rRUC06196rRaUPUBCHEM]rRU8446rRauhUdimp_prRhUEh Jh!Gh"h#)rR}rR(hNh"U C10H11N4O7PrRh}rRh(}rRh*}rR(UHK UCK UPKUOKUNKuhjRubh,Uph(}rRh.h/]RrRubG?uhNhU8dIMP transport via diffusion extracellular to periplasm rRhEG@@hFG@h}rRhHh/]rR(jjjjeRrRhUDIMPtexrRhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rRh(}rRhPNubh)rR}rR(h UTransport Inner MembranerRh }rR(h)rR}rR(hNhNhU DeoxyinosinerRh}rR(UCHEBI]rRU28997rRaUKEGG]rRUC05512rRaUPUBCHEM]rRU7859rRauhUdin_prRhUEh Kh!Gh"h#)rS}rS(hNh"U C10H12N4O4rSh}rSh(}rSh*}rS(UHK UCK UOKUNKuhjSubh,Uph(}rSh.h/]RrSubGjGjG?jZJG?uhNhU7deoxyinosine transport in via proton symport periplasm rShEG@@hFGh}r ShHh/]r Sj'"aRr ShUDINSt2ppr ShKGhLhMhNhNUSTM3113r Sh(}rShPNubh)rS}rS(h UTransport Outer Membrane PorinrSh }rS(h)rS}rS(hNhNhU DeoxyinosinerSh}rS(UCHEBI]rSU28997rSaUKEGG]rSUC05512rSaUPUBCHEM]rSU7859rSauhUdin_erShUEh Kh!Gh"h#)rS}rS(hNh"U C10H12N4O4r Sh}r!Sh(}r"Sh*}r#S(UHK UCK UOKUNKuhj Subh,Ueh(}r$Sh.h/]Rr%SubGjRG?uhNhU@deoxyinosine transport via diffusion extracellular to periplasm r&ShEG@@hFG@h}r'ShHh/]r(S(jjjjeRr)ShUDINStexr*ShKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r+Sh(}r,ShPNubh)r-S}r.S(h UAlternate Carbon Metabolismr/Sh }r0S(jB G?jU Gh)r1S}r2S(hNhNhU2-5-diketo-D-gluconater3Sh}r4S(UCHEBI]r5SU18281r6SaUKEGG]r7SUC02780r8SaUPUBCHEM]r9SU5731r:SauhU 25dkglcn_cr;ShUEh Jh!Gh"h#)rSh}r?Sh(}r@Sh*}rAS(UHKUCKUOKuhj>Subh,Uch(}rBSh.h/]RrCSubGjGj G?uhNhU 2 5 diketo D gluconate reductaserDShEG@@hFGh}rEShHh/]rFS(j+j+eRrGShUDKGLCNR1rHShKGhLhMhNhNU( STM3165 or STM0255 )rISh(}rJShPNubh)rKS}rLS(h UAlternate Carbon MetabolismrMSh }rNS(j G?jG?j GjGj1SGuhNhU&2 5 diketo D gluconate reductase NADH rOShEG@@hFGh}rPShHh/]rQSj4 aRrRShU DKGLCNR2xrSShKGhLhMhNhNUSTM3646rTSh(}rUShPNubh)rVS}rWS(h UAlternate Carbon MetabolismrXSh }rYS(jB G?jG?jU GjGj1SGuhNhU'2 5 diketo D gluconate reductase NADPH rZShEG@@hFGh}r[ShHh/]r\Sj4 aRr]ShU DKGLCNR2yr^ShKGhLhMhNhNUSTM3646r_Sh(}r`ShPNubh)raS}rbS(h UArginine and Proline MetabolismrcSh }rdS(h)reS}rfS(hNhNhU2-keto-4-methylthiobutyratergSh}rhS(UCHEBI]riSU17275rjSaUKEGG]rkSUC01180rlSaUPUBCHEM]rmSU5611rnSauhU2kmb_croShUEh Jh!Gh"h#)rpS}rqS(hNh"UC5H7O3SrrSh}rsSh(}rtSh*}ruS(UHKUCKUSKUOKuhjrSubh,Uch(}rvSh.h/]RrwSubG?h)rxS}ryS(hNhNhU(2-3-diketo-5-methylthio-1-phosphopentanerzSh}r{S(UCHEBI]r|SU0aUKEGG]r}SUC15650r~SaUPUBCHEM]rSU17396640rSauhUdkmpp_crShUEh Jh!Gh"h#)rS}rS(hNh"UC6H9O6PSrSh}rSh(}rSh*}rS(UHK UCKUSKUOKUPKuhjSubh,Uch(}rSh.h/]RrSubGjYGjZGjG?jG@jv-G?uhNhU=2 3 diketo 5 methylthio 1 phosphopentane degradation reactionrShEG@@hFGh}rShHh/]RrShUDKMPPDrShKGhLhMhNhNUh(}rShPNubh)rS}rS(h UArginine and Proline MetabolismrSh }rS(jeSG?jxSGjZGjG@j G@jv-G?jG?j GuhNhU=2 3 diketo 5 methylthio 1 phosphopentane degradation reactionrShEG@@hFGh}rShHh/]RrShUDKMPPD3rShKGhLhMhNhNUh(}rShPNubh)rS}rS(h U*Cofactor and Prosthetic Group BiosynthesisrSh }rS(h)rS}rS(hNhNhUDimethylallyl-diphosphaterSh}rS(UCHEBI]rSU16057rSaUKEGG]rSUC00235rSaUPUBCHEM]rSU3534rSauhUdmpp_crShUEh Jh!Gh"h#)rS}rS(hNh"UC5H9O7P2rSh}rSh(}rSh*}rS(UHK UCKUOKUPKuhjSubh,Uch(}rSh.h/]RrSubGh)rS}rS(hNhNhUGeranyl-diphosphaterSh}rS(UCHEBI]rSU17211rSaUKEGG]rSUC00341rSaUPUBCHEM]rSU3634rSauhUgrdp_crShUEh Jh!Gh"h#)rS}rS(hNh"U C10H17O7P2rSh}rSh(}rSh*}rS(UHKUCK UOKUPKuhjSubh,Uch(}rSh.h/]RrSubG?jG?h)rS}rS(hNhNhUIsopentenyl-diphosphaterSh}rS(UCHEBI]rSU16584rSaUKEGG]rSUC00129rSaUPUBCHEM]rSU3429rSauhUipdp_crShUEh Jh!Gh"h#)rS}rS(hNh"UC5H9O7P2rSh}rSh(}rSh*}rS(UHK UCKUOKUPKuhjSubh,Uch(}rSh.h/]RrSubGuhNhUdimethylallyltranstransferaserShEG@@hFGh}rShHh/]rSj)rS}rS(hNjKhNhUispArSh}rSjhUSTM0423rSh Nh"NjKh,Nh(}rSjU+h.h/]RrSubaRrShUDMATTrShKGhLhMhNhNjSh(}rShPNubh)rS}rS(h U*Cofactor and Prosthetic Group BiosynthesisrSh }rS(j G?jZG?jSG?h)rS}rS(hNhNhU,1-hydroxy-2-methyl-2-E-butenyl-4-diphosphaterSh}rS(UCHEBI]rSU15664rSaUKEGG]rSUC11811rSaUPUBCHEM]rSU13975rSauhUh2mb4p_crShUEh Jh!Gh"h#)rS}rS(hNh"UC5H9O8P2rSh}rSh(}rSh*}rS(UHK UCKUOKUPKuhjSubh,Uch(}rSh.h/]RrSubGj GjGuhNhU<1 hydroxy 2 methyl 2 E butenyl 4 diphosphate reductase dmpp rShEG@@hFGh}rShHh/]rSj)rS}rS(hNjKhNhUispHrSh}rSjhUSTM0049rTh Nh"NjKh,Nh(}rTjU+h.h/]RrTubaRrThUDMPPSrThKGhLhMhNhNjTh(}rThPNubh)rT}rT(h U*Cofactor and Prosthetic Group BiosynthesisrTh }r T(h)r T}r T(hNhNhU92-Octaprenyl-3-methyl-5-hydroxy-6-methoxy-1-4-benzoquinolr Th}r T(UCHEBI]rTU27688rTaUKEGG]rTUC05815rTaUPUBCHEM]rTU8110rTauhU 2omhmbl_crThUEh Kh!Gh"h#)rT}rT(hNh"UC48H74O4rTh}rTh(}rTh*}rT(UHKJUCK0UOKuhjTubh,Uch(}rTh.h/]RrTubGj'G?jb5G?jG?j!GuhNhU)3 Dimethylubiquinonol 3 methyltransferaserThEG@@hFGh}rThHh/]rTj)r T}r!T(hNjKhNhUubiGr"Th}r#TjhUSTM2276r$Th Nh"NjKh,Nh(}r%TjU+h.h/]Rr&TubaRr'ThUDMQMTr(ThKGhLhMhNhNj$Th(}r)ThPNubh)r*T}r+T(h UTransport Outer Membrane Porinr,Th }r-T(h)r.T}r/T(hNhNhUDimethyl-sulfoxider0Th}r1T(UCHEBI]r2TU28262r3TaUKEGG]r4TUC11143r5TaUPUBCHEM]r6TU13325r7TauhUdmso_er8ThUEh Kh!Gh"h#)r9T}r:T(hNh"UC2H6OSr;Th}rT(UHKUCKUSKUOKuhj;Tubh,Ueh(}r?Th.h/]Rr@TubGh)rAT}rBT(hNhNhUDimethyl-sulfoxiderCTh}rDT(UCHEBI]rETU28262rFTaUKEGG]rGTUC11143rHTaUPUBCHEM]rITU13325rJTauhUdmso_prKThUEh Kh!Gh"h#)rLT}rMT(hNh"UC2H6OSrNTh}rOTh(}rPTh*}rQT(UHKUCKUSKUOKuhjNTubh,Uph(}rRTh.h/]RrSTubG?uhNhUFDimethyl sulfoxide transport via diffusion extracellular to periplasm rTThEG@@hFG@h}rUThHh/]rVT(jjjjeRrWThUDMSOtexrXThKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rYTh(}rZThPNubh)r[T}r\T(h UTransport Outer Membrane Porinr]Th }r^T(h)r_T}r`T(hNhNhUDimethyl-sulfideraTh}rbT(UCHEBI]rcTU17437rdTaUKEGG]reTUC00580rfTaUPUBCHEM]rgTU3859rhTauhUdms_eriThUEh Kh!Gh"h#)rjT}rkT(hNh"UC2H6SrlTh}rmTh(}rnTh*}roT(UHKUCKUSKuhjlTubh,Ueh(}rpTh.h/]RrqTubGh)rrT}rsT(hNhNhUDimethyl-sulfidertTh}ruT(UCHEBI]rvTU17437rwTaUKEGG]rxTUC00580ryTaUPUBCHEM]rzTU3859r{TauhUdms_pr|ThUEh Kh!Gh"h#)r}T}r~T(hNh"UC2H6SrTh}rTh(}rTh*}rT(UHKUCKUSKuhjTubh,Uph(}rTh.h/]RrTubG?uhNhUDDimethyl sulfide transport via diffusion extracellular to periplasm rThEG@@hFG@h}rThHh/]rT(jjjjeRrThUDMStexrThKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rTh(}rThPNubh)rT}rT(h UExchangerTh }rTh)rT}rT(hNhNhU4-Hydroxy-benzyl-alcoholrTh}rT(UCHEBI]rTU30746rTaUKEGG]rTU0aUPUBCHEM]rTU 125??3480rTauhU4hba_crThUEh Kh!Gh"h#)rT}rT(hNh"UC7H8O2rTh}rTh(}rTh*}rT(UHKUCKUOKuhjTubh,Uch(}rTh.h/]RrTubGshNhU7Sink needed to allow 4 hydroxy benzoate to leave systemrThEG@@hFGh}rThHh/]RrThUDM_4HBArThKGhLhMhNhNUh(}rThPNubh)rT}rT(h UExchangerTh }rTjGshNhU2Sink needed to allow 5 deoxyribose to leave systemrThEG@@hFGh}rThHh/]RrThUDM_5DRIBrThKGhLhMhNhNUh(}rThPNubh)rT}rT(h UExchangerTh }rTj_RGshNhUESink needed to allow 4 hydroxy 5 methyl 3 2H furanone to leave systemrThEG@@hFGh}rThHh/]RrThU DM_HMFURNrThKGhLhMhNhNUh(}rThPNubh)rT}rT(h UExchangerTh }rTh)rT}rT(hNhNhUOxamaterTh}rT(UCHEBI]rTU18058rTaUKEGG]rTUC01444rTaUPUBCHEM]rTU4622rTauhUoxam_crThUEh Jh!Gh"h#)rT}rT(hNh"UC2H2NO3rTh}rTh(}rTh*}rT(UHKUCKUOKUNKuhjTubh,Uch(}rTh.h/]RrTubGshNhU,Sink needed to allow oxamate to leave systemrThEG@@hFGh}rThHh/]RrThUDM_OXAMrThKGhLhMhNhNUh(}rThPNubh)rT}rT(h U*Cofactor and Prosthetic Group BiosynthesisrTh }rT(h)rT}rT(hNhNhUDihydroneopterin-monophosphaterTh}rT(UCHEBI]rTU48954rTaUKEGG]rTUC05925rTaUPUBCHEM]rTU8213rTauhUdhpmp_crThUEh Jh!Gh"h#)rT}rT(hNh"U C9H12N5O7PrTh}rTh(}rTh*}rT(UHK UCK UPKUOKUNKuhjTubh,Uch(}rTh.h/]RrTubGjZGjwQG?jG?uhNhU.Dihydroneopterin monophosphate dephosphorylaserThEG@@hFGh}rThHh/]RrThUDNMPPArThKGhLhMhNhNUh(}rThPNubh)rT}rT(h U*Cofactor and Prosthetic Group BiosynthesisrTh }rT(jTG?jZGh)rT}rT(hNhNhUP2-Amino-4-hydroxy-6-erythro-1-2-3-trihydroxypropyl-dihydropteridine-triphosphaterTh}rT(UCHEBI]rTU18372rTaUKEGG]rTUC04895rTaUPUBCHEM]rTU7446rTauhUahdt_crThUEh Jh!Gh"h#)rU}rU(hNh"U C9H12N5O13P3rUh}rUh(}rUh*}rU(UHK UCK UPKUOK UNKuhjUubh,Uch(}rUh.h/]RrUubGjG?jG?uhNhU-Dihydroneopterin triphosphate pyrophosphataserUhEG@@hFGh}r UhHh/]r U(j)r U}r U(hNjKhNhUntpAr Uh}rUjhUSTM1900rUh Nh"NjKh,Nh(}rUjU+h.h/]RrUubj)rU}rU(hNjKhNhUmutTrUh}rUjhUSTM0137rUh Nh"NjKh,Nh(}rUjU+h.h/]RrUubeRrUhUDNTPPArUhKGhLhMhNhNU( STM1900 or STM0137 )rUh(}rUhPNubh)rU}rU(h UAlternate Carbon MetabolismrUh }r U(jG?h)r!U}r"U(hNhNhU2-3-Dioxo-L-gulonater#Uh}r$U(UCHEBI]r%UU15622r&UaUKEGG]r'UUC04575r(UaUPUBCHEM]r)UU7176r*UauhU 23doguln_cr+UhUEh Jh!Gh"h#)r,U}r-U(hNh"UC6H7O7r.Uh}r/Uh(}r0Uh*}r1U(UHKUCKUOKuhj.Uubh,Uch(}r2Uh.h/]Rr3UubGjGj Gj G?uhNhU2 3 dioxo L gulonate reductaser4UhEG@@hFGh}r5UhHh/]r6Uj)r7U}r8U(hNjKhNhUyiaKr9Uh}r:UjhUSTM3668r;Uh Nh"NjKh,Nh(}rUhUDOGULNRr?UhKGhLhMhNhNj;Uh(}r@UhPNubh)rAU}rBU(h UTransport Outer Membrane PorinrCUh }rDU(h)rEU}rFU(hNhNhUDopaminerGUh}rHU(UCHEBI]rIUU18243rJUaUKEGG]rKUUC03758rLUaUPUBCHEM]rMUU6517rNUauhUdopa_erOUhUEh Kh!Gh"h#)rPU}rQU(hNh"UC8H12NO2rRUh}rSUh(}rTUh*}rUU(UHK UCKUOKUNKuhjRUubh,Ueh(}rVUh.h/]RrWUubGh)rXU}rYU(hNhNhUDopaminerZUh}r[U(UCHEBI]r\UU18243r]UaUKEGG]r^UUC03758r_UaUPUBCHEM]r`UU6517raUauhUdopa_prbUhUEh Kh!Gh"h#)rcU}rdU(hNh"UC8H12NO2reUh}rfUh(}rgUh*}rhU(UHK UCKUOKUNKuhjeUubh,Uph(}riUh.h/]RrjUubG?uhNhUVU3427r?VauhUgthox_pr@VhUEh Jh!Gh"h#)rAV}rBV(hNh"U C20H30N6O12S2rCVh}rDVh(}rEVh*}rFV(UHKUCKUSKUOK UNKuhjCVubh,Uph(}rGVh.h/]RrHVubG?h)rIV}rJV(hNhNhU&protein-disulfide-isomerase-II-reducedrKVh}rLV(UCHEBI]rMVU0aUKEGG]rNVU0aUPUBCHEM]rOVU0auhUdsbcrd_prPVhUEh Kh!Gh"h#)rQV}rRV(hNh"UXH2rSVh}rTVh(}rUVh*}rVV(UXKUHKuhjSVubh,Uph(}rWVh.h/]RrXVubG?uhNhUDsbCglutathione thiotransferaserYVhEG@@hFGh}rZVhHh/]r[Vj)r\V}r]V(hNjKhNhUdsbCr^Vh}r_VjhUSTM3043r`Vh Nh"NjKh,Nh(}raVjU+h.h/]RrbVubaRrcVhUDSBCGTrdVhKGhLhMhNhNj`Vh(}reVhPNubh)rfV}rgV(h U UnassignedrhVh }riV(h)rjV}rkV(hNhNhUOxidized-thioredoxinrlVh}rmV(UCHEBI]rnVU18191roVaUKEGG]rpVUC00343rqVaUPUBCHEM]rrVU3636rsVauhUtrdox_crtVhUEh Kh!Gh"h#)ruV}rvV(hNh"UXh}rwVh(}rxVh*}ryVUXKshUXubh,Uch(}rzVh.h/]Rr{VubG?h)r|V}r}V(hNhNhUReduced-thioredoxinr~Vh}rV(UCHEBI]rVU15967rVaUKEGG]rVUC00342rVaUPUBCHEM]rVU3635rVauhUtrdrd_crVhUEh Kh!Gh"h#)rV}rV(hNh"UXH2rVh}rVh(}rVh*}rV(UXKUHKuhjVubh,Uch(}rVh.h/]RrVubGh)rV}rV(hNhNhU1fused-thioldisulfide-interchange-protein-oxidizedrVh}rV(UCHEBI]rVU0aUKEGG]rVU0aUPUBCHEM]rVU0auhUdsbdox_crVhUEh Kh!Gh"h#)rV}rV(hNh"UXh}rVh(}rVh*}rVUXKshUXubh,Uch(}rVh.h/]RrVubGh)rV}rV(hNhNhU0fused-thioldisulfide-interchange-protein-reducedrVh}rV(UCHEBI]rVU0aUKEGG]rVU0aUPUBCHEM]rVU0auhUdsbdrd_crVhUEh Kh!Gh"h#)rV}rV(hNh"UXH2rVh}rVh(}rVh*}rV(UXKUHKuhjVubh,Uch(}rVh.h/]RrVubG?uhNhUDsbD reductaserVhEG@@hFGh}rVhHh/]rV(j)rV}rV(hNjKhNhUtrxArVh}rVjhUSTM3915rVh Nh"NjKh,Nh(}rVjU+h.h/]RrVubj)rV}rV(hNjKhNhUtrxCrVh}rVjhUSTM2649rVh Nh"NjKh,Nh(}rVjU+h.h/]RrVubj)rV}rV(hNjKhNhUdipZrVh}rVjhUSTM4323rVh Nh"NjKh,Nh(}rVjU+h.h/]RrVubeRrVhUDSBDRrVhKGhLhMhNhNU<( ( STM4323 and STM3915 ) or ( STM4323 and STM2649 ) )rVh(}rVhPNubh)rV}rV(h U UnassignedrVh }rV(h)rV}rV(hNhNhU?periplasmic-disulfide-isomerasethiol-disulphide-oxidase-reducedrVh}rV(UCHEBI]rVU0aUKEGG]rVU0aUPUBCHEM]rVU0auhUdsbgrd_prVhUEh Kh!Gh"h#)rV}rV(hNh"UXH2rVh}rVh(}rVh*}rV(UXKUHKuhjVubh,Uph(}rVh.h/]RrVubG?h)rV}rV(hNhNhU@periplasmic-disulfide-isomerasethiol-disulphide-oxidase-oxidizedrVh}rV(UCHEBI]rVU0aUKEGG]rVU0aUPUBCHEM]rVU0auhUdsbgox_prVhUEh Kh!Gh"h#)rV}rV(hNh"UXh}rVh(}rVh*}rVUXKshUXubh,Uph(}rVh.h/]RrVubGjVGj6VG?uhNhUDsbGglutathione thiotransferaserVhEG@@hFGh}rVhHh/]rVj)rV}rV(hNjKhNhUdsbGrVh}rVjhUSTM0607rVh Nh"NjKh,Nh(}rVjU+h.h/]RrVubaRrVhUDSBGGTrVhKGhLhMhNhNjVh(}rVhPNubh)rV}rV(h UGlycine and Serine MetabolismrVh }rV(jB GjU G?h)rV}rV(hNhNhU2-Aminomalonate-semialdehyderWh}rW(UCHEBI]rWU37012rWaUKEGG]rWUC11822rWaUPUBCHEM]rWU13986rWauhU2amsa_crWhUEh Kh!Gh"h#)r W}r W(hNh"UC3H5NO3r Wh}r Wh(}r Wh*}rW(UHKUCKUOKUNKuhj Wubh,Uch(}rWh.h/]RrWubG?jG?h)rW}rW(hNhNhUD-SerinerWh}rW(UCHEBI]rWU16523rWaUKEGG]rWUC00740rWaUPUBCHEM]rWU4003rWauhUser__D_crWhUEh Kh!Gh"h#)rW}rW(hNh"UC3H7NO3rWh}rWh(}r Wh*}r!W(UHKUCKUOKUNKuhjWubh,Uch(}r"Wh.h/]Rr#WubGuhNhUD serine dehydrogenaser$WhEG@@hFG@h}r%WhHh/]r&Wj6aRr'WhUDSERDHrr(WhKGhLhMhNhNUSTM1511r)Wh(}r*WhPNubh)r+W}r,W(h UTransport Inner Membraner-Wh }r.W(h)r/W}r0W(hNhNhUD-Seriner1Wh}r2W(UCHEBI]r3WU16523r4WaUKEGG]r5WUC00740r6WaUPUBCHEM]r7WU4003r8WauhUser__D_pr9WhUEh Kh!Gh"h#)r:W}r;W(hNh"UC3H7NO3rWh*}r?W(UHKUCKUOKUNKuhjX(UCHEBI]r?XU17568r@XaUKEGG]rAXUC00106rBXaUPUBCHEM]rCXU3406rDXauhUura_crEXhUEh Kh!Gh"h#)rFX}rGX(hNh"UC4H4N2O2rHXh}rIXh(}rJXh*}rKX(UHKUCKUOKUNKuhjHXubh,Uch(}rLXh.h/]RrMXubG?jGuhNhUdeoxyuridine phosphorylaserNXhEG@@hFG@h}rOXhHh/]rPX(j)rQX}rRX(hNjKhNhUdeoArSXh}rTXjhUSTM4568rUXh Nh"NjKh,Nh(}rVXjU+h.h/]RrWXubj)rXX}rYX(hNjKhNhUdeoDrZXh}r[XjhUSTM4570r\Xh Nh"NjKh,Nh(}r]XjU+h.h/]Rr^XubeRr_XhUDURIPPr`XhKGhLhMhNhNU( STM4568 or STM4570 )raXh(}rbXhPNubh)rcX}rdX(h UTransport Inner MembranereXh }rfX(jtMG?jG?h)rgX}rhX(hNhNhU DeoxyuridineriXh}rjX(UCHEBI]rkXU16450rlXaUKEGG]rmXUC00526rnXaUPUBCHEM]roXU3809rpXauhUduri_prqXhUEh Kh!Gh"h#)rrX}rsX(hNh"U C9H12N2O5rtXh}ruXh(}rvXh*}rwX(UHK UCK UOKUNKuhjtXubh,Uph(}rxXh.h/]RryXubGjGuhNhU7deoxyuridine transport in via proton symport periplasm rzXhEG@@hFGh}r{XhHh/]r|X(j'"j."eRr}XhUDURIt2ppr~XhKGhLhMhNhNU( STM2409 or STM3113 )rXh(}rXhPNubh)rX}rX(h UTransport Outer MembranerXh }rX(h)rX}rX(hNhNhU DeoxyuridinerXh}rX(UCHEBI]rXU16450rXaUKEGG]rXUC00526rXaUPUBCHEM]rXU3809rXauhUduri_erXhUEh Kh!Gh"h#)rX}rX(hNh"U C9H12N2O5rXh}rXh(}rXh*}rX(UHK UCK UOKUNKuhjXubh,Ueh(}rXh.h/]RrXubGjgXG?uhNhU@deoxyuridine transport via diffusion extracellular to periplasm rXhEG@@hFG@h}rXhHh/]rXjd"aRrXhUDURItexrXhKGhLhMhNhNUSTM0413rXh(}rXhPNubh)rX}rX(h UNucleotide Salvage PathwayrXh }rX(jXG?jZGjG?j=MGjG?uhNhUdUTP diphosphataserXhEG@@hFGh}rXhHh/]rXj)rX}rX(hNjKhNhUdutrXh}rXjhUSTM3731rXh Nh"NjKh,Nh(}rXjU+h.h/]RrXubaRrXhUDUTPDPrXhKGhLhMhNhNjXh(}rXhPNubh)rX}rX(h U*Cofactor and Prosthetic Group BiosynthesisrXh }rX(h)rX}rX(hNhNhU#2-C-methyl-D-erythritol-4-phosphaterXh}rX(UCHEBI]rXU17764rXaUKEGG]rXUC11434rXaUPUBCHEM]rXU13606rXauhU2me4p_crXhUEh Jh!Gh"h#)rX}rX(hNh"UC5H11O7PrXh}rXh(}rXh*}rX(UHK UCKUOKUPKuhjXubh,Uch(}rXh.h/]RrXubG?jB G?jU Gh)rX}rX(hNhNhU1-deoxy-D-xylulose-5-phosphaterXh}rX(UCHEBI]rXU16493rXaUKEGG]rXUC11437rXaUPUBCHEM]rXU13609rXauhUdxyl5p_crXhUEh Jh!Gh"h#)rX}rX(hNh"UC5H9O7PrXh}rXh(}rXh*}rX(UHK UCKUOKUPKuhjXubh,Uch(}rXh.h/]RrXubGjGuhNhU#1 deoxy D xylulose reductoisomeraserXhEG@@hFGh}rXhHh/]rXj)rX}rX(hNjKhNhUdxrrXh}rXjhUSTM0220rXh Nh"NjKh,Nh(}rXjU+h.h/]RrXubaRrXhUDXPRIirXhKGhLhMhNhNjXh(}rXhPNubh)rX}rX(h U*Cofactor and Prosthetic Group BiosynthesisrXh }rX(jUGjmGjG?jXG?jGuhNhU'1 deoxy D xylulose 5 phosphate synthaserXhEG@@hFGh}rXhHh/]rXj)rX}rX(hNjKhNhUdxsrXh}rXjhUSTM0422rXh Nh"NjKh,Nh(}rXjU+h.h/]RrXubaRrXhUDXPSrXhKGhLhMhNhNjXh(}rXhPNubh)rX}rX(h U*Cofactor and Prosthetic Group BiosynthesisrXh }rX(j4G?jGGjXG?h)rX}rX(hNhNhU1-deoxy-D-xyluloserXh}rX(UCHEBI]rYU28354rYaUKEGG]rYUC06257rYaUPUBCHEM]rYU8496rYauhUdxyl_crYhUEh Kh!Gh"h#)rY}rY(hNh"UC5H10O4r Yh}r Yh(}r Yh*}r Y(UHK UCKUOKuhj Yubh,Uch(}r Yh.h/]RrYubGjG?uhNhU1 Deoxy D xylulose kinaserYhEG@@hFGh}rYhHh/]rYj)rY}rY(hNjKhNhUxylBrYh}rYjhUSTM3660rYh Nh"NjKh,Nh(}rYjU+h.h/]RrYubaRrYhUDXYLKrYhKGhLhMhNhNjYh(}rYhPNubh)rY}rY(h UTransport Inner MembranerYh }rY(jG?h)r Y}r!Y(hNhNhU D-Lactater"Yh}r#Y(UCHEBI]r$YU42111r%YaUKEGG]r&YUC00256r'YaUPUBCHEM]r(YU3555r)YauhUlac__D_pr*YhUEh Jh!Gh"h#)r+Y}r,Y(hNh"UC3H5O3r-Yh}r.Yh(}r/Yh*}r0Y(UHKUCKUOKuhj-Yubh,Uph(}r1Yh.h/]Rr2YubGjG?jGuhNhU1D lactate transport via proton symport periplasm r3YhEG@@hFG@h}r4YhHh/]r5Yj)r6Y}r7Y(hNjKhNhUlldPr8Yh}r9YjhUSTM3692r:Yh Nh"NjKh,Nh(}r;YjU+h.h/]RrYhKGhLhMhNhNj:Yh(}r?YhPNubh)r@Y}rAY(h UTransport Outer Membrane PorinrBYh }rCY(h)rDY}rEY(hNhNhU D-LactaterFYh}rGY(UCHEBI]rHYU42111rIYaUKEGG]rJYUC00256rKYaUPUBCHEM]rLYU3555rMYauhUlac__D_erNYhUEh Jh!Gh"h#)rOY}rPY(hNh"UC3H5O3rQYh}rRYh(}rSYh*}rTY(UHKUCKUOKuhjQYubh,Ueh(}rUYh.h/]RrVYubGj YG?uhNhU=D lactate transport via diffusion extracellular to periplasm rWYhEG@@hFG@h}rXYhHh/]rYY(jjjjeRrZYhUD_LACtexr[YhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r\Yh(}r]YhPNubh)r^Y}r_Y(h U*Cofactor and Prosthetic Group Biosynthesisr`Yh }raY(jNGj GjZGh)rbY}rcY(hNhNhU4-Phospho-D-erythronaterdYh}reY(UCHEBI]rfYU49003rgYaUKEGG]rhYUC03393riYaUPUBCHEM]rjYU6224rkYauhU4per_crlYhUEh Jh!Gh"h#)rmY}rnY(hNh"UC4H6O8ProYh}rpYh(}rqYh*}rrY(UHKUCKUOKUPKuhjoYubh,Uch(}rsYh.h/]RrtYubG?jG@j G?uhNhU#Erythrose 4 phosphate dehydrogenaseruYhEG@@hFGh}rvYhHh/]rwYj)rxY}ryY(hNjKhNhUepdrzYh}r{YjhUSTM3070r|Yh Nh"NjKh,Nh(}r}YjU+h.h/]Rr~YubaRrYhUE4PDrYhKGhLhMhNhNj|Yh(}rYhPNubh)rY}rY(h UCell Envelope BiosynthesisrYh }rY(j G?j#G?jGj Gj GuhNhU2enoyl acyl carrier protein reductase NADH n C100 rYhEG@@hFGh}rYhHh/]rYj)rY}rY(hNjKhNhUfabIrYh}rYjhUSTM1700rYh Nh"NjKh,Nh(}rYjU+h.h/]RrYubaRrYhUEAR100xrYhKGhLhMhNhNjYh(}rYhPNubh)rY}rY(h UCell Envelope BiosynthesisrYh }rY(jB G?jU Gj#G?j GjGuhNhU3enoyl acyl carrier protein reductase NADPH n C100 rYhEG@@hFGh}rYhHh/]rYjYaRrYhUEAR100yrYhKGhLhMhNhNUSTM1700rYh(}rYhPNubh)rY}rY(h UCell Envelope BiosynthesisrYh }rY(j G?j Gj[G?j GjGuhNhU2enoyl acyl carrier protein reductase NADH n C120 rYhEG@@hFGh}rYhHh/]rYjYaRrYhUEAR120xrYhKGhLhMhNhNUSTM1700rYh(}rYhPNubh)rY}rY(h UCell Envelope BiosynthesisrYh }rY(jB G?j[G?j GjU GjGuhNhU3enoyl acyl carrier protein reductase NADPH n C120 rYhEG@@hFGh}rYhHh/]rYjYaRrYhUEAR120yrYhKGhLhMhNhNUSTM1700rYh(}rYhPNubh)rY}rY(h UCell Envelope BiosynthesisrYh }rY(j GjxG?jGj Gj G?uhNhU2enoyl acyl carrier protein reductase NADH n C121 rYhEG@@hFGh}rYhHh/]rYjYaRrYhUEAR121xrYhKGhLhMhNhNUSTM1700rYh(}rYhPNubh)rY}rY(h UCell Envelope BiosynthesisrYh }rY(jB G?jU GjxG?jGj GuhNhU3enoyl acyl carrier protein reductase NADPH n C121 rYhEG@@hFGh}rYhHh/]rYjYaRrYhUEAR121yrYhKGhLhMhNhNUSTM1700rYh(}rYhPNubh)rY}rY(h UCell Envelope BiosynthesisrYh }rY(j G?jG?j Gj GjGuhNhU2enoyl acyl carrier protein reductase NADH n C140 rYhEG@@hFGh}rYhHh/]rYjYaRrYhUEAR140xrYhKGhLhMhNhNUSTM1700rYh(}rYhPNubh)rY}rY(h UCell Envelope BiosynthesisrYh }rY(jB G?jU GjG?jGj GuhNhU3enoyl acyl carrier protein reductase NADPH n C140 rYhEG@@hFGh}rYhHh/]rYjYaRrYhUEAR140yrYhKGhLhMhNhNUSTM1700rYh(}rYhPNubh)rY}rY(h UCell Envelope BiosynthesisrYh }rY(jG?jJ GjGj Gj G?uhNhU2enoyl acyl carrier protein reductase NADH n C141 rYhEG@@hFGh}rYhHh/]rYjYaRrYhUEAR141xrYhKGhLhMhNhNUSTM1700rYh(}rYhPNubh)rY}rY(h UCell Envelope BiosynthesisrYh }rY(jB G?jU GjJ GjGjG?uhNhU3enoyl acyl carrier protein reductase NADPH n C141 rYhEG@@hFGh}rYhHh/]rYjYaRrYhUEAR141yrYhKGhLhMhNhNUSTM1700rYh(}rYhPNubh)rY}rY(h UCell Envelope BiosynthesisrYh }rY(j Gj G?jG?jGje GuhNhU2enoyl acyl carrier protein reductase NADH n C160 rYhEG@@hFGh}rYhHh/]rYjYaRrYhUEAR160xrYhKGhLhMhNhNUSTM1700rYh(}rZhPNubh)rZ}rZ(h UCell Envelope BiosynthesisrZh }rZ(jB G?jG?jU GjGje GuhNhU3enoyl acyl carrier protein reductase NADPH n C160 rZhEG@@hFGh}rZhHh/]rZjYaRrZhUEAR160yr ZhKGhLhMhNhNUSTM1700r Zh(}r ZhPNubh)r Z}r Z(h UCell Envelope BiosynthesisrZh }rZ(j G?j GjGjG?j GuhNhU2enoyl acyl carrier protein reductase NADH n C161 rZhEG@@hFGh}rZhHh/]rZjYaRrZhUEAR161xrZhKGhLhMhNhNUSTM1700rZh(}rZhPNubh)rZ}rZ(h UCell Envelope BiosynthesisrZh }rZ(jB G?jG?jU Gj GjGuhNhU3enoyl acyl carrier protein reductase NADPH n C161 rZhEG@@hFGh}rZhHh/]rZjYaRrZhUEAR161yrZhKGhLhMhNhNUSTM1700r Zh(}r!ZhPNubh)r"Z}r#Z(h UCell Envelope Biosynthesisr$Zh }r%Z(j Gj G?j GjG?jGuhNhU2enoyl acyl carrier protein reductase NADH n C180 r&ZhEG@@hFGh}r'ZhHh/]r(ZjYaRr)ZhUEAR180xr*ZhKGhLhMhNhNUSTM1700r+Zh(}r,ZhPNubh)r-Z}r.Z(h UCell Envelope Biosynthesisr/Zh }r0Z(jG?jB G?jU Gj GjGuhNhU3enoyl acyl carrier protein reductase NADPH n C180 r1ZhEG@@hFGh}r2ZhHh/]r3ZjYaRr4ZhUEAR180yr5ZhKGhLhMhNhNUSTM1700r6Zh(}r7ZhPNubh)r8Z}r9Z(h UCell Envelope Biosynthesisr:Zh }r;Z(j G?jG?j GjGj GuhNhU2enoyl acyl carrier protein reductase NADH n C181 rZjYaRr?ZhUEAR181xr@ZhKGhLhMhNhNUSTM1700rAZh(}rBZhPNubh)rCZ}rDZ(h UCell Envelope BiosynthesisrEZh }rFZ(jB G?jU GjG?j GjGuhNhU3enoyl acyl carrier protein reductase NADPH n C181 rGZhEG@@hFGh}rHZhHh/]rIZjYaRrJZhUEAR181yrKZhKGhLhMhNhNUSTM1700rLZh(}rMZhPNubh)rNZ}rOZ(h UCell Envelope BiosynthesisrPZh }rQZ(j G?jGj GjGjG?uhNhU1enoyl acyl carrier protein reductase NADH n C40 rRZhEG@@hFGh}rSZhHh/]rTZjYaRrUZhUEAR40xrVZhKGhLhMhNhNUSTM1700rWZh(}rXZhPNubh)rYZ}rZZ(h UCell Envelope Biosynthesisr[Zh }r\Z(jG?jU GjGjGjB G?uhNhU2enoyl acyl carrier protein reductase NADPH n C40 r]ZhEG@@hFGh}r^ZhHh/]r_ZjYaRr`ZhUEAR40yraZhKGhLhMhNhNUSTM1700rbZh(}rcZhPNubh)rdZ}reZ(h UCell Envelope BiosynthesisrfZh }rgZ(jDGj G?j G?jGj GuhNhU1enoyl acyl carrier protein reductase NADH n C60 rhZhEG@@hFGh}riZhHh/]rjZjYaRrkZhUEAR60xrlZhKGhLhMhNhNUSTM1700rmZh(}rnZhPNubh)roZ}rpZ(h UCell Envelope BiosynthesisrqZh }rrZ(jDGjB G?j G?jU GjGuhNhU2enoyl acyl carrier protein reductase NADPH n C60 rsZhEG@@hFGh}rtZhHh/]ruZjYaRrvZhUEAR60yrwZhKGhLhMhNhNUSTM1700rxZh(}ryZhPNubh)rzZ}r{Z(h UCell Envelope Biosynthesisr|Zh }r}Z(jG?j GjsGjGj G?uhNhU1enoyl acyl carrier protein reductase NADH n C80 r~ZhEG@@hFGh}rZhHh/]rZjYaRrZhUEAR80xrZhKGhLhMhNhNUSTM1700rZh(}rZhPNubh)rZ}rZ(h UCell Envelope BiosynthesisrZh }rZ(jsGjU GjG?jB G?jGuhNhU2enoyl acyl carrier protein reductase NADPH n C80 rZhEG@@hFGh}rZhHh/]rZjYaRrZhUEAR80yrZhKGhLhMhNhNUSTM1700rZh(}rZhPNubh)rZ}rZ(h U)Lipopolysaccharide Biosynthesis RecyclingrZh }rZ(h)rZ}rZ(hNhNhU>enterobacterial-common-antigen-x4-core-oligosaccharide-lipid-ArZh}rZ(UCHEBI]rZU0aUKEGG]rZU0aUPUBCHEM]rZU0auhU eca4colipa_erZhUEh Jh!Gh"h#)rZ}rZ(hNh"UC272H447N14O160P4rZh}rZh(}rZh*}rZ(UHMUCMUPKUOKUNKuhjZubh,Ueh(}rZh.h/]RrZubG?h)rZ}rZ(hNhNhU>enterobacterial-common-antigen-x4-core-oligosaccharide-lipid-ArZh}rZ(UCHEBI]rZU0aUKEGG]rZU0aUPUBCHEM]rZU0auhU eca4colipa_prZhUEh Jh!Gh"h#)rZ}rZ(hNh"UC272H447N14O160P4rZh}rZh(}rZh*}rZ(UHMUCMUPKUOKUNKuhjZubh,Uph(}rZh.h/]RrZubGuhNhUdenterobacterial common antigen x4 core oligosaccharide lipid A transport periplasm to extracellular rZhEG@@hFGh}rZhHh/]RrZhU ECA4COLIPAtexrZhKGhLhMhNhNUh(}rZhPNubh)rZ}rZ(h U)Lipopolysaccharide Biosynthesis RecyclingrZh }rZ(h)rZ}rZ(hNhNhU:enterobacterial-common-antigen-x4-undecaprenyl-diphosphaterZh}rZ(UCHEBI]rZU0aUKEGG]rZU0aUPUBCHEM]rZU0auhU eca4und_prZhUEh Jh!Gh"h#)rZ}rZ(hNh"UC151H234N12O67P2rZh}rZh(}rZh*}rZ(UHKUCKUPKUOKCUNK uhjZubh,Uph(}rZh.h/]RrZubGjAGjZG?jG?h)rZ}rZ(hNhNhUUndecaprenyl-diphosphaterZh}rZ(UCHEBI]rZU17047rZaUKEGG]rZUC03543rZaUPUBCHEM]rZU6347rZauhUudcpdp_prZhUEh Jh!Gh"h#)rZ}rZ(hNh"U C55H89O7P2rZh}rZh(}rZh*}rZ(UHKYUCK7UOKUPKuhjZubh,Uph(}rZh.h/]RrZubG?uhNhU=enterobacterial common antigen x4 O antigen ligase periplasm rZhEG@@hFGh}rZhHh/]rZj)rZ}rZ(hNjKhNhUrfaLrZh}rZjhUSTM3713rZh Nh"NjKh,Nh(}rZjU+h.h/]RrZubaRrZhU ECA4OALpprZhKGhLhMhNhNjZh(}rZhPNubh)rZ}rZ(h U)Lipopolysaccharide Biosynthesis RecyclingrZh }rZ(h)rZ}rZ(hNhNhUhUndecaprenyl-diphospho-N-acetylglucosamine-N-acetylmannosaminuronate-N-acetamido-4-6-dideoxy-D-galactoserZh}rZ(UCHEBI]rZU0aUKEGG]rZU0aUPUBCHEM]rZU0auhU unagamuf_prZhUEh Jh!Gh"h#)rZ}rZ(hNh"UC79H126N3O22P2rZh}rZh(}rZh*}rZ(UHK~UCKOUPKUOKUNKuhjZubh,Uph(}rZh.h/]Rr[ubGjG?h)r[}r[(hNhNhU:enterobacterial-common-antigen-x2-undecaprenyl-diphosphater[h}r[(UCHEBI]r[U0aUKEGG]r[U0aUPUBCHEM]r[U0auhU eca2und_pr[hUEh Jh!Gh"h#)r [}r [(hNh"UC103H162N6O37P2r [h}r [h(}r [h*}r[(UHKUCKgUPKUOK%UNKuhj [ubh,Uph(}r[h.h/]Rr[ubG?jZG?uhNhU4enterobacterial common antigen polymerase periplasm r[hEG@@hFGh}r[hHh/]r[(j)r[}r[(hNjKhNhUwecFr[h}r[jhUSTM3928r[h Nh"NjKh,Nh(}r[jU+h.h/]Rr[ubj)r[}r[(hNjKhNhUwzzEr[h}r[jhUSTM3919r[h Nh"NjKh,Nh(}r [jU+h.h/]Rr![ubeRr"[hUECAP1ppr#[hKGhLhMhNhNU( STM3928 and STM3919 )r$[h(}r%[hPNubh)r&[}r'[(h U)Lipopolysaccharide Biosynthesis Recyclingr([h }r)[(jG?h)r*[}r+[(hNhNhU:enterobacterial-common-antigen-x3-undecaprenyl-diphosphater,[h}r-[(UCHEBI]r.[U0aUKEGG]r/[U0aUPUBCHEM]r0[U0auhU eca3und_pr1[hUEh Jh!Gh"h#)r2[}r3[(hNh"UC127H198N9O52P2r4[h}r5[h(}r6[h*}r7[(UHKUCKUPKUOK4UNK uhj4[ubh,Uph(}r8[h.h/]Rr9[ubG?jZGjZG?j[GuhNhU4enterobacterial common antigen polymerase periplasm r:[hEG@@hFGh}r;[hHh/]r<[(j[jRr=[hUECAP2ppr>[hKGhLhMhNhNU( STM3928 and STM3919 )r?[h(}r@[hPNubh)rA[}rB[(h U)Lipopolysaccharide Biosynthesis RecyclingrC[h }rD[(jZG?j*[GjG?jZGjZG?uhNhU4enterobacterial common antigen polymerase periplasm rE[hEG@@hFGh}rF[hHh/]rG[(j[jRrH[hUECAP3pprI[hKGhLhMhNhNU( STM3928 and STM3919 )rJ[h(}rK[hPNubh)rL[}rM[(h U)Lipopolysaccharide Biosynthesis RecyclingrN[h }rO[(h)rP[}rQ[(hNhNhUhUndecaprenyl-diphospho-N-acetylglucosamine-N-acetylmannosaminuronate-N-acetamido-4-6-dideoxy-D-galactoserR[h}rS[(UCHEBI]rT[U0aUKEGG]rU[U0aUPUBCHEM]rV[U0auhU unagamuf_crW[hUEh Jh!Gh"h#)rX[}rY[(hNh"UC79H126N3O22P2rZ[h}r[[h(}r\[h*}r][(UHK~UCKOUPKUOKUNKuhjZ[ubh,Uch(}r^[h.h/]Rr_[ubGjZG?uhNhUKenterobacterial common antigen transferase flippase cytoplasm to periplasm r`[hEG@@hFGh}ra[hHh/]rb[j)rc[}rd[(hNjKhNhUwzxEre[h}rf[jhUSTM3926rg[h Nh"NjKh,Nh(}rh[jU+h.h/]Rri[ubaRrj[hUECAtpprk[hKGhLhMhNhNjg[h(}rl[hPNubh)rm[}rn[(h UMembrane Lipid Metabolismro[h }rp[(jZG?j}G?h)rq[}rr[(hNhNhUS-3-Hydroxybutanoyl-CoArs[h}rt[(UCHEBI]ru[U15453rv[aUKEGG]rw[UC01144rx[aUPUBCHEM]ry[U4375rz[auhU3hbcoa_cr{[hUEh Jh!Gh"h#)r|[}r}[(hNh"UC25H38N7O18P3Sr~[h}r[h(}r[h*}r[(UCKUHK&UOKUNKUPKUSKuhj~[ubh,Uch(}r[h.h/]Rr[ubGuhNhU43 hydroxyacyl CoA dehydratase 3 hydroxybutanoyl CoA r[hEG@@hFG@h}r[hHh/]r[(j)r[}r[(hNjKhNhUfadJr[h}r[jhUSTM2388r[h Nh"NjKh,Nh(}r[jU+h.h/]Rr[ubj)r[}r[(hNjKhNhUfadBr[h}r[jhUSTM3983r[h Nh"NjKh,Nh(}r[jU+h.h/]Rr[ubeRr[hUECOAH1r[hKGhLhMhNhNU( STM3983 or STM2388 )r[h(}r[hPNubh)r[}r[(h UMembrane Lipid Metabolismr[h }r[(h)r[}r[(hNhNhUS-3-Hydroxyhexanoyl-CoAr[h}r[(UCHEBI]r[U28276r[aUKEGG]r[UC05268r[aUPUBCHEM]r[U7655r[auhU3hhcoa_cr[hUEh Jh!Gh"h#)r[}r[(hNh"UC27H42N7O18P3Sr[h}r[h(}r[h*}r[(UCKUHK*UOKUNKUPKUSKuhj[ubh,Uch(}r[h.h/]Rr[ubGjG?jZG?uhNhU43 hydroxyacyl CoA dehydratase 3 hydroxyhexanoyl CoA r[hEG@@hFG@h}r[hHh/]r[(j[j[eRr[hUECOAH2r[hKGhLhMhNhNU( STM3983 or STM2388 )r[h(}r[hPNubh)r[}r[(h UMembrane Lipid Metabolismr[h }r[(jG?h)r[}r[(hNhNhUS-3-Hydroxyoctanoyl-CoAr[h}r[(UCHEBI]r[U28632r[aUKEGG]r[UC05266r[aUPUBCHEM]r[U7653r[auhU3hocoa_cr[hUEh Jh!Gh"h#)r[}r[(hNh"UC29H46N7O18P3Sr[h}r[h(}r[h*}r[(UCKUHK.UOKUNKUPKUSKuhj[ubh,Uch(}r[h.h/]Rr[ubGjZG?uhNhU43 hydroxyacyl CoA dehydratase 3 hydroxyoctanoyl CoA r[hEG@@hFG@h}r[hHh/]r[(j[j[eRr[hUECOAH3r[hKGhLhMhNhNU( STM2388 or STM3983 )r[h(}r[hPNubh)r[}r[(h UMembrane Lipid Metabolismr[h }r[(jZG?h)r[}r[(hNhNhUS-3-Hydroxydecanoyl-CoAr[h}r[(UCHEBI]r[U28325r[aUKEGG]r[UC05264r[aUPUBCHEM]r[U7651r[auhU3hdcoa_cr[hUEh Jh!Gh"h#)r[}r[(hNh"UC31H50N7O18P3Sr[h}r[h(}r[h*}r[(UCKUHK2UOKUNKUPKUSKuhj[ubh,Uch(}r[h.h/]Rr[ubGj(G?uhNhU43 hydroxyacyl CoA dehydratase 3 hydroxydecanoyl CoA r[hEG@@hFG@h}r[hHh/]r[(j[j[eRr[hUECOAH4r[hKGhLhMhNhNU( STM3983 or STM2388 )r[h(}r[hPNubh)r[}r[(h UMembrane Lipid Metabolismr[h }r[(h)r[}r[(hNhNhUS-3-Hydroxydodecanoyl-CoAr[h}r[(UCHEBI]r[U27668r[aUKEGG]r[UC05262r[aUPUBCHEM]r[U7649r\auhU 3hddcoa_cr\hUEh Jh!Gh"h#)r\}r\(hNh"UC33H54N7O18P3Sr\h}r\h(}r\h*}r\(UCK!UHK6UOKUNKUPKUSKuhj\ubh,Uch(}r\h.h/]Rr \ubGjZG?jYG?uhNhU63 hydroxyacyl CoA dehydratase 3 hydroxydodecanoyl CoA r \hEG@@hFG@h}r \hHh/]r \(j[j[eRr \hUECOAH5r\hKGhLhMhNhNU( STM3983 or STM2388 )r\h(}r\hPNubh)r\}r\(h UMembrane Lipid Metabolismr\h }r\(jZG?h)r\}r\(hNhNhUS-3-Hydroxytetradecanoyl-CoAr\h}r\(UCHEBI]r\U27466r\aUKEGG]r\UC05260r\aUPUBCHEM]r\U7647r\auhU 3htdcoa_cr\hUEh Jh!Gh"h#)r \}r!\(hNh"UC35H58N7O18P3Sr"\h}r#\h(}r$\h*}r%\(UCK#UHK:UOKUNKUPKUSKuhj"\ubh,Uch(}r&\h.h/]Rr'\ubGjwG?uhNhU93 hydroxyacyl CoA dehydratase 3 hydroxytetradecanoyl CoA r(\hEG@@hFG@h}r)\hHh/]r*\(j[j[eRr+\hUECOAH6r,\hKGhLhMhNhNU( STM3983 or STM2388 )r-\h(}r.\hPNubh)r/\}r0\(h UMembrane Lipid Metabolismr1\h }r2\(h)r3\}r4\(hNhNhUS-3-Hydroxyhexadecanoyl-CoAr5\h}r6\(UCHEBI]r7\U27402r8\aUKEGG]r9\UC05258r:\aUPUBCHEM]r;\U7645r<\auhU 3hhdcoa_cr=\hUEh Jh!Gh"h#)r>\}r?\(hNh"UC37H62N7O18P3Sr@\h}rA\h(}rB\h*}rC\(UCK%UHK>UOKUNKUPKUSKuhj@\ubh,Uch(}rD\h.h/]RrE\ubGjG?jZG?uhNhU83 hydroxyacyl CoA dehydratase 3 hydroxyhexadecanoyl CoA rF\hEG@@hFG@h}rG\hHh/]rH\(j[j[eRrI\hUECOAH7rJ\hKGhLhMhNhNU( STM3983 or STM2388 )rK\h(}rL\hPNubh)rM\}rN\(h UMembrane Lipid MetabolismrO\h }rP\(h)rQ\}rR\(hNhNhUS-3-Hydroxyoctadecanoyl-CoArS\h}rT\(UCHEBI]rU\U0aUKEGG]rV\U0aUPUBCHEM]rW\U0auhU 3hodcoa_crX\hUEh Jh!Gh"h#)rY\}rZ\(hNh"UC39H66N7O18P3Sr[\h}r\\h(}r]\h*}r^\(UCK'UHKBUOKUNKUPKUSKuhj[\ubh,Uch(}r_\h.h/]Rr`\ubGjZG?jG?uhNhU83 hydroxyacyl CoA dehydratase 3 hydroxyoctadecanoyl CoA ra\hEG@@hFG@h}rb\hHh/]rc\(j[j[eRrd\hUECOAH8re\hKGhLhMhNhNU( STM3983 or STM2388 )rf\h(}rg\hPNubh)rh\}ri\(h UPentose Phosphate Pathwayrj\h }rk\(jNGjmG?jUG?uhNhU+2 dehydro 3 deoxy phosphogluconate aldolaserl\hEG@@hFGh}rm\hHh/]rn\j)ro\}rp\(hNjKhNhUedarq\h}rr\jhUSTM1884rs\h Nh"NjKh,Nh(}rt\jU+h.h/]Rru\ubaRrv\hUEDArw\hKGhLhMhNhNjs\h(}rx\hPNubh)ry\}rz\(h UPentose Phosphate Pathwayr{\h }r|\(jNG?jZG?h)r}\}r~\(hNhNhU6-Phospho-D-gluconater\h}r\(UCHEBI]r\U48928r\aUKEGG]r\UC00345r\aUPUBCHEM]r\U3638r\auhU6pgc_cr\hUEh Jh!Gh"h#)r\}r\(hNh"U C6H10O10Pr\h}r\h(}r\h*}r\(UHK UCKUOK UPKuhj\ubh,Uch(}r\h.h/]Rr\ubGuhNhU6 phosphogluconate dehydrataser\hEG@@hFGh}r\hHh/]r\j)r\}r\(hNjKhNhUeddr\h}r\jhUSTM1885r\h Nh"NjKh,Nh(}r\jU+h.h/]Rr\ubaRr\hUEDDr\hKGhLhMhNhNj\h(}r\hPNubh)r\}r\(h U)Lipopolysaccharide Biosynthesis Recyclingr\h }r\(j[GjG?h)r\}r\(hNhNhUKDO-2-lipid-IV-Ar\h}r\(UCHEBI]r\U0aUKEGG]r\UC06025r\aUPUBCHEM]r\U8297r\auhU kdo2lipid4_cr\hUEh Jh!Gh"h#)r\}r\(hNh"UC84H148N2O37P2r\h}r\h(}r\h*}r\(UHKUCKTUPKUOK%UNKuhj\ubh,Uch(}r\h.h/]Rr\ubGh)r\}r\(hNhNhUKDO-2-lipid-IV-A-with-laurater\h}r\(UCHEBI]r\U0aUKEGG]r\UC06251r\aUPUBCHEM]r\U8490r\auhU kdo2lipid4L_cr\hUEh Jh!Gh"h#)r\}r\(hNh"UC96H170N2O38P2r\h}r\h(}r\h*}r\(UHKUCK`UPKUOK&UNKuhj\ubh,Uch(}r\h.h/]Rr\ubG?uhNhU(Endotoxin Synthesis lauroyl transferase r\hEG@@hFGh}r\hHh/]r\j)r\}r\(hNjKhNhUhtrBr\h}r\jhUSTM1155r\h Nh"NjKh,Nh(}r\jU+h.h/]Rr\ubaRr\hUEDTXS1r\hKGhLhMhNhNj\h(}r\hPNubh)r\}r\(h U)Lipopolysaccharide Biosynthesis Recyclingr\h }r\(jGj\GjG?h)r\}r\(hNhNhU KDO-2-lipid-Ar\h}r\(UCHEBI]r\U27963r\aUKEGG]r\UC06026r\aUPUBCHEM]r\U8298r\auhUlipa_cr\hUEh Jh!Gh"h#)r\}r\(hNh"UC110H196N2O39P2r\h}r\h(}r\h*}r\(UHKUCKnUPKUOK'UNKuhj\ubh,Uch(}r\h.h/]Rr\ubG?uhNhU*Endotoxin Synthesis myristoyl transferase r\hEG@@hFGh}r\hHh/]r\j)r\}r\(hNjKhNhUmsbBr\h}r\jhUSTM1889r\h Nh"NjKh,Nh(}r\jU+h.h/]Rr\ubaRr\hUEDTXS2r\hKGhLhMhNhNj\h(}r\hPNubh)r\}r\(h U)Lipopolysaccharide Biosynthesis Recyclingr\h }r\(jGh)r\}r\(hNhNhU"KDO-2-lipid-IV-A-with-palmitoleoylr\h}r\(UCHEBI]r\U0aUKEGG]r\U0aUPUBCHEM]r]U0auhU kdo2lipid4p_cr]hUEh Jh!Gh"h#)r]}r](hNh"UC100H176N2O38P2r]h}r]h(}r]h*}r](UHKUCKdUPKUOK&UNKuhj]ubh,Uch(}r]h.h/]Rr ]ubG?jG?j\GuhNhU%Endotoxin Synthesis palmitoleoyl ACP r ]hEG@@hFGh}r ]hHh/]r ]j)r ]}r](hNjKhNhUddgr]h}r]jhUSTM2401r]h Nh"NjKh,Nh(}r]jU+h.h/]Rr]ubaRr]hUEDTXS3r]hKGhLhMhNhNj]h(}r]hPNubh)r]}r](h U)Lipopolysaccharide Biosynthesis Recyclingr]h }r](h)r]}r](hNhNhUcold-adapted-KDO-2-lipid-Ar]h}r](UCHEBI]r]U0aUKEGG]r ]U0aUPUBCHEM]r!]U0auhU lipa__cold_cr"]hUEh Jh!Gh"h#)r#]}r$](hNh"UC114H202N2O39P2r%]h}r&]h(}r']h*}r(](UHKUCKrUPKUOK'UNKuhj%]ubh,Uch(}r)]h.h/]Rr*]ubG?jGj\GjG?uhNhU*Endotoxin Synthesis myristoyl transferase r+]hEG@@hFGh}r,]hHh/]r-]j\aRr.]hUEDTXS4r/]hKGhLhMhNhNUSTM1889r0]h(}r1]hPNubh)r2]}r3](h U)Lipopolysaccharide Biosynthesis Recyclingr4]h }r5](h)r6]}r7](hNhNhU!phosphoethanolamine-KDO-2-lipid-Ar8]h}r9](UCHEBI]r:]U0aUKEGG]r;]U0aUPUBCHEM]r<]U0auhUenlipa_pr=]hUEh Jh!Gh"h#)r>]}r?](hNh"UC112H202N3O42P3r@]h}rA]h(}rB]h*}rC](UHKUCKpUPKUOK*UNKuhj@]ubh,Uph(}rD]h.h/]RrE]ubGh)rF]}rG](hNhNhU!phosphoethanolamine-KDO-2-lipid-ArH]h}rI](UCHEBI]rJ]U0aUKEGG]rK]U0aUPUBCHEM]rL]U0auhUenlipa_erM]hUEh Jh!Gh"h#)rN]}rO](hNh"UC112H202N3O42P3rP]h}rQ]h(}rR]h*}rS](UHKUCKpUPKUOK*UNKuhjP]ubh,Ueh(}rT]h.h/]RrU]ubG?uhNhULphosphoethanolamine lipid A transport via vector periplasm to extracellular rV]hEG@@hFGh}rW]hHh/]RrX]hU ENLIPAtexrY]hKGhLhMhNhNUh(}rZ]hPNubh)r[]}r\](h UGlycolysisGluconeogenesisr]]h }r^](jG?jZG?h)r_]}r`](hNhNhUD-Glycerate-2-phosphatera]h}rb](UCHEBI]rc]U17835rd]aUKEGG]re]UC00631rf]aUPUBCHEM]rg]U3904rh]auhU2pg_cri]hUEh Jh!Gh"h#)rj]}rk](hNh"UC3H4O7Prl]h}rm]h(}rn]h*}ro](UHKUCKUOKUPKuhjl]ubh,Uch(}rp]h.h/]Rrq]ubGuhNhUenolaserr]hEG@@hFG@h}rs]hHh/]rt]j)ru]}rv](hNjKhNhUenorw]h}rx]jhUSTM2952ry]h Nh"NjKh,Nh(}rz]jU+h.h/]Rr{]ubaRr|]hUENOr}]hKGhLhMhNhNjy]h(}r~]hPNubh)r]}r](h U*Cofactor and Prosthetic Group Biosynthesisr]h }r](jPGjG@h)r]}r](hNhNhU L-seryl-AMPr]h}r](UCHEBI]r]U0aUKEGG]r]UC05820r]aUPUBCHEM]r]U8115r]auhUseramp_cr]hUEh Kh!Gh"h#)r]}r](hNh"U C13H19N6O9Pr]h}r]h(}r]h*}r](UHKUCK UPKUOK UNKuhj]ubh,Uch(}r]h.h/]Rr]ubGh)r]}r](hNhNhU Enterochelinr]h}r](UCHEBI]r]U28855r]aUKEGG]r]UC05821r]aUPUBCHEM]r]U8116r]auhUenter_cr]hUEh Kh!Gh"h#)r]}r](hNh"U C30H27N3O15r]h}r]h(}r]h*}r](UHKUCKUOKUNKuhj]ubh,Uch(}r]h.h/]Rr]ubG?jG@"uhNhUenterochelin synthaser]hEG@@hFGh}r]hHh/]r]j)r]}r](hNjKhNhUentDr]h}r]jhUSTM0584r]h Nh"NjKh,Nh(}r]jU+h.h/]Rr]ubaRr]hUENTCSr]hKGhLhMhNhNj]h(}r]hPNubh)r]}r](h UCell Envelope Biosynthesisr]h }r](h)r]}r](hNhNhU Ethanolaminer]h}r](UCHEBI]r]U16000r]aUKEGG]r]UC00189r]aUPUBCHEM]r]U3489r]auhUetha_cr]hUEh Kh!Gh"h#)r]}r](hNh"UC2H8NOr]h}r]h(}r]h*}r](UHKUCKUOKUNKuhj]ubh,Uch(}r]h.h/]Rr]ubGjlG?jG?uhNhUEthanolamine ammonia lyaser]hEG@@hFGh}r]hHh/]r](j)r]}r](hNjKhNhUeutCr]h}r]jhUSTM2457r]h Nh"NjKh,Nh(}r]jU+h.h/]Rr]ubj)r]}r](hNjKhNhUeutBr]h}r]jhUSTM2458r]h Nh"NjKh,Nh(}r]jU+h.h/]Rr]ubeRr]hUETHAALr]hKGhLhMhNhNU( STM2457 and STM2458 )r]h(}r]hPNubh)r]}r](h UTransport Inner Membraner]h }r](jGh)r]}r](hNhNhU Ethanolaminer]h}r](UCHEBI]r]U16000r]aUKEGG]r]UC00189r]aUPUBCHEM]r]U3489r]auhUetha_pr]hUEh Kh!Gh"h#)r]}r](hNh"UC2H8NOr]h}r]h(}r]h*}r](UHKUCKUOKUNKuhj]ubh,Uph(}r]h.h/]Rr]ubGjG?j]G?uhNhU,ethanolamine transport in via proton symportr]hEG@@hFGh}r]hHh/]r]j)r]}r](hNjKhNhUeutHr]h}r]jhUSTM2460r]h Nh"NjKh,Nh(}r^jU+h.h/]Rr^ubaRr^hUETHAt2ppr^hKGhLhMhNhNj]h(}r^hPNubh)r^}r^(h UTransport Outer Membrane Porinr^h }r^(j]G?h)r ^}r ^(hNhNhU Ethanolaminer ^h}r ^(UCHEBI]r ^U16000r^aUKEGG]r^UC00189r^aUPUBCHEM]r^U3489r^auhUetha_er^hUEh Kh!Gh"h#)r^}r^(hNh"UC2H8NOr^h}r^h(}r^h*}r^(UHKUCKUOKUNKuhj^ubh,Ueh(}r^h.h/]Rr^ubGuhNhU3ethanolamine transport via diffusion extracellular r^hEG@@hFG@h}r^hHh/]r^(jjjjeRr^hUETHAtexr ^hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r!^h(}r"^hPNubh)r#^}r$^(h UTransport Outer Membrane Porinr%^h }r&^(h)r'^}r(^(hNhNhUethanesulfonater)^h}r*^(UCHEBI]r+^U0aUKEGG]r,^U0aUPUBCHEM]r-^U0auhUethso3_er.^hUEh Jh!Gh"h#)r/^}r0^(hNh"UC2H5O3Sr1^h}r2^h(}r3^h*}r4^(UHKUCKUSKUOKuhj1^ubh,Ueh(}r5^h.h/]Rr6^ubGh)r7^}r8^(hNhNhUethanesulfonater9^h}r:^(UCHEBI]r;^U0aUKEGG]r<^U0aUPUBCHEM]r=^U0auhUethso3_pr>^hUEh Jh!Gh"h#)r?^}r@^(hNh"UC2H5O3SrA^h}rB^h(}rC^h*}rD^(UHKUCKUSKUOKuhjA^ubh,Uph(}rE^h.h/]RrF^ubG?uhNhUCethanesulfonate transport via diffusion extracellular to periplasm rG^hEG@@hFG@h}rH^hHh/]rI^(jjjjeRrJ^hU ETHSO3texrK^hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rL^h(}rM^hPNubh)rN^}rO^(h UTransport Inner MembranerP^h }rQ^(jGh)rR^}rS^(hNhNhUEthanolrT^h}rU^(UCHEBI]rV^U16236rW^aUKEGG]rX^UC00469rY^aUPUBCHEM]rZ^U3752r[^auhUetoh_cr\^hUEh Kh!Gh"h#)r]^}r^^(hNh"UC2H6Or_^h}r`^h(}ra^h*}rb^(UHKUCKUOKuhj_^ubh,Uch(}rc^h.h/]Rrd^ubG?jG?h)re^}rf^(hNhNhUEthanolrg^h}rh^(UCHEBI]ri^U16236rj^aUKEGG]rk^UC00469rl^aUPUBCHEM]rm^U3752rn^auhUetoh_pro^hUEh Kh!Gh"h#)rp^}rq^(hNh"UC2H6Orr^h}rs^h(}rt^h*}ru^(UHKUCKUOKuhjr^ubh,Uph(}rv^h.h/]Rrw^ubGuhNhU:ethanol reversible transport via proton symport periplasm rx^hEG@@hFG@h}ry^hHh/]Rrz^hU ETOHt2rppr{^hKGhLhMhNhNUh(}r|^hPNubh)r}^}r~^(h UTransport Outer Membrane Porinr^h }r^(je^G?h)r^}r^(hNhNhUEthanolr^h}r^(UCHEBI]r^U16236r^aUKEGG]r^UC00469r^aUPUBCHEM]r^U3752r^auhUetoh_er^hUEh Kh!Gh"h#)r^}r^(hNh"UC2H6Or^h}r^h(}r^h*}r^(UHKUCKUOKuhj^ubh,Ueh(}r^h.h/]Rr^ubGuhNhU;ethanol transport via diffusion extracellular to periplasm r^hEG@@hFG@h}r^hHh/]r^(jjjjeRr^hUETOHtexr^hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r^h(}r^hPNubh)r^}r^(h UExchanger^h }r^h)r^}r^(hNhNhU Chitobioser^h}r^(UCHEBI]r^U0aUKEGG]r^UC01674r^aUPUBCHEM]r^U4818r^auhUchitob_er^hUEh Kh!Gh"h#)r^}r^(hNh"U C16H28N2O11r^h}r^h(}r^h*}r^(UHKUCKUOK UNKuhj^ubh,Ueh(}r^h.h/]Rr^ubGshNhUChitobiose exchanger^hEG@@hFGh}r^hHh/]Rr^hU EX_chitob_er^hKGhLhMhNhNUh(}r^hPNubh)r^}r^(h UExchanger^h }r^h)r^}r^(hNhNhU Pyridoxiner^h}r^(UCHEBI]r^U16709r^aUKEGG]r^UC00314r^aUPUBCHEM]r^U3608r^auhUpydxn_er^hUEh Kh!Gh"h#)r^}r^(hNh"UC8H11NO3r^h}r^h(}r^h*}r^(UHK UCKUOKUNKuhj^ubh,Ueh(}r^h.h/]Rr^ubGshNhUPyridoxine exchanger^hEG@@hFGh}r^hHh/]Rr^hU EX_pydxn_er^hKGhLhMhNhNUh(}r^hPNubh)r^}r^(h UExchanger^h }r^h)r^}r^(hNhNhU Pyridoxalr^h}r^(UCHEBI]r^U17310r^aUKEGG]r^UC00250r^aUPUBCHEM]r^U3549r^auhUpydx_er^hUEh Kh!Gh"h#)r^}r^(hNh"UC8H9NO3r^h}r^h(}r^h*}r^(UHK UCKUOKUNKuhj^ubh,Ueh(}r^h.h/]Rr^ubGshNhUPyridoxal exchanger^hEG@@hFGh}r^hHh/]Rr^hU EX_pydx_er^hKGhLhMhNhNUh(}r^hPNubh)r^}r^(h UExchanger^h }r^joGshNhU R Propane 1 2 diol exchanger^hEG@@hFGh}r^hHh/]Rr^hU EX_12ppd__R_er^hKGhLhMhNhNUh(}r^hPNubh)r^}r^(h UExchanger^h }r^jGshNhU S Propane 1 2 diol exchanger^hEG@@hFGh}r^hHh/]Rr^hU EX_12ppd__S_er^hKGhLhMhNhNUh(}r^hPNubh)r_}r_(h UExchanger_h }r_jGshNhU1 4 alpha D glucan exchanger_hEG@@hFGh}r_hHh/]Rr_hU EX_14glucan_er_hKGhLhMhNhNUh(}r_hPNubh)r _}r _(h UExchanger _h }r _jKGshNhU1 5 Diaminopentane exchanger _hEG@@hFGh}r_hHh/]Rr_hU EX_15dap_er_hKGhLhMhNhNUh(}r_hPNubh)r_}r_(h UExchanger_h }r_jGshNhU2 3 Cyclic AMP exchanger_hEG@@hFGh}r_hHh/]Rr_hU EX_23camp_er_hKGhLhMhNhNUh(}r_hPNubh)r_}r_(h UExchanger_h }r_j+GshNhU2 3 Cyclic CMP exchanger_hEG@@hFGh}r _hHh/]Rr!_hU EX_23ccmp_er"_hKGhLhMhNhNUh(}r#_hPNubh)r$_}r%_(h UExchanger&_h }r'_jZGshNhU2 3 Cyclic GMP exchanger(_hEG@@hFGh}r)_hHh/]Rr*_hU EX_23cgmp_er+_hKGhLhMhNhNUh(}r,_hPNubh)r-_}r._(h UExchanger/_h }r0_jGshNhU2 3 Cyclic UMP exchanger1_hEG@@hFGh}r2_hHh/]Rr3_hU EX_23cump_er4_hKGhLhMhNhNUh(}r5_hPNubh)r6_}r7_(h UExchanger8_h }r9_jGshNhU2 3 diaminopropionate exchanger:_hEG@@hFGh}r;_hHh/]Rr<_hU EX_23dappa_er=_hKGhLhMhNhNUh(}r>_hPNubh)r?_}r@_(h UExchangerA_h }rB_jGshNhU&meso 2 6 Diaminoheptanedioate exchangerC_hEG@@hFGh}rD_hHh/]RrE_hU EX_26dap__M_erF_hKGhLhMhNhNUh(}rG_hPNubh)rH_}rI_(h UExchangerJ_h }rK_j`hKGhLhMhNhNUh(}r?`hPNubh)r@`}rA`(h UExchangerB`h }rC`j}GshNhUO Acetyl L serine exchangerD`hEG@@hFGh}rE`hHh/]RrF`hU EX_acser_erG`hKGhLhMhNhNUh(}rH`hPNubh)rI`}rJ`(h UExchangerK`h }rL`j!GshNhUAdenine exchangerM`hEG@@hFGh}rN`hHh/]RrO`hUEX_ade_erP`hKGhLhMhNhNUh(}rQ`hPNubh)rR`}rS`(h UExchangerT`h }rU`jN"GshNhUAdenosine exchangerV`hEG@@hFGh}rW`hHh/]RrX`hUEX_adn_erY`hKGhLhMhNhNUh(}rZ`hPNubh)r[`}r\`(h UExchanger]`h }r^`j"GshNhUAdenosylcobalamin exchanger_`hEG@@hFGh}r``hHh/]Rra`hU EX_adocbl_erb`hKGhLhMhNhNUh(}rc`hPNubh)rd`}re`(h UExchangerf`h }rg`h)rh`}ri`(hNhNhUsilverrj`h}rk`(UCHEBI]rl`U9141rm`aUKEGG]rn`UC06710ro`aUPUBCHEM]rp`U8935rq`auhUag_err`hUEh Kh!Gh"h#)rs`}rt`(hNh"UAgru`h}rv`h(}rw`h*}rx`ju`Kshju`ubh,Ueh(}ry`h.h/]Rrz`ubGshNhUsilver exchanger{`hEG@@hFGh}r|`hHh/]Rr}`hUEX_ag_er~`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`j&GshNhUAgmatine exchanger`hEG@@hFGh}r`hHh/]Rr`hUEX_agm_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`j(GshNhU2 Oxoglutarate exchanger`hEG@@hFGh}r`hHh/]Rr`hUEX_akg_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`j7GshNhUbeta Alanine exchanger`hEG@@hFGh}r`hHh/]Rr`hU EX_ala__B_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`jCKGshNhUD Alanine exchanger`hEG@@hFGh}r`hHh/]Rr`hU EX_ala__D_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`j*GshNhUL Alanine exchanger`hEG@@hFGh}r`hHh/]Rr`hU EX_ala__L_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`jQ)GshNhUD Alanyl D alanine exchanger`hEG@@hFGh}r`hHh/]Rr`hU EX_alaala_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`j+GshNhUD Allose exchanger`hEG@@hFGh}r`hHh/]Rr`hU EX_all__D_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`j+GshNhUAllantoin exchanger`hEG@@hFGh}r`hHh/]Rr`hU EX_alltn_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`jL.GshNhU AMP exchanger`hEG@@hFGh}r`hHh/]Rr`hUEX_amp_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`jj.GshNhU>N Acetyl D glucosamine anhydrous N Acetylmuramic acid exchanger`hEG@@hFGh}r`hHh/]Rr`hU EX_anhgm_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`j<1GshNhUL Arabinose exchanger`hEG@@hFGh}r`hHh/]Rr`hU EX_arab__L_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`j0GshNhUaerobactin minus Fe3 exchanger`hEG@@hFGh}r`hHh/]Rr`hU EX_arbtn_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`j0GshNhUAerobactin exchanger`hEG@@hFGh}r`hHh/]Rr`hUEX_arbtn__fe3_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchanger`h }r`j2GshNhUL Arginine exchanger`hEG@@hFGh}r`hHh/]Rr`hU EX_arg__L_er`hKGhLhMhNhNUh(}r`hPNubh)r`}r`(h UExchangerah }rajp3GshNhUL Ascorbate exchangerahEG@@hFGh}rahHh/]RrahU EX_ascb__L_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchanger ah }r aj}4GshNhUL Asparagine exchanger ahEG@@hFGh}r ahHh/]Rr ahU EX_asn__L_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }raj4GshNhUarsenite exchangerahEG@@hFGh}rahHh/]RrahU EX_aso3_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }raj6GshNhUL Aspartate exchangerahEG@@hFGh}rahHh/]RrahU EX_asp__L_er ahKGhLhMhNhNUh(}r!ahPNubh)r"a}r#a(h UExchanger$ah }r%aj8GshNhUButyrate n C40 exchanger&ahEG@@hFGh}r'ahHh/]Rr(ahUEX_but_er)ahKGhLhMhNhNUh(}r*ahPNubh)r+a}r,a(h UExchanger-ah }r.ajG8GshNhUbutanesulfonate exchanger/ahEG@@hFGh}r0ahHh/]Rr1ahU EX_butso3_er2ahKGhLhMhNhNUh(}r3ahPNubh)r4a}r5a(h UExchanger6ah }r7aj8GshNhUCalcium exchanger8ahEG@@hFGtzG{h}r9ahHh/]Rr:ahUEX_ca2_er;ahKGhLhMhNhNUh(}ra(h UExchanger?ah }r@aj9GshNhUCobinamide exchangerAahEG@@hFGh}rBahHh/]RrCahUEX_cbi_erDahKGhLhMhNhNUh(}rEahPNubh)rFa}rGa(h UExchangerHah }rIaj:GshNhUCob I alamin exchangerJahEG@@hFGh}rKahHh/]RrLahU EX_cbl1_erMahKGhLhMhNhNUh(}rNahPNubh)rOa}rPa(h UExchangerQah }rRaj:GshNhUCadmium exchangerSahEG@@hFGh}rTahHh/]RrUahUEX_cd2_erVahKGhLhMhNhNUh(}rWahPNubh)rXa}rYa(h UExchangerZah }r[aj~<GshNhUCys Gly exchanger\ahEG@@hFGh}r]ahHh/]Rr^ahU EX_cgly_er_ahKGhLhMhNhNUh(}r`ahPNubh)raa}rba(h UExchangercah }rdaj<GshNhUCholine exchangereahEG@@hFGh}rfahHh/]RrgahU EX_chol_erhahKGhLhMhNhNUh(}riahPNubh)rja}rka(h UExchangerlah }rmaj=GshNhUCitrate exchangernahEG@@hFG@bMh}roahHh/]RrpahUEX_cit_erqahKGhLhMhNhNUh(}rrahPNubh)rsa}rta(h UExchangeruah }rvaj=GshNhUIsocitrate exchangerwahEG@@hFGh}rxahHh/]RryahU EX_icit_erzahKGhLhMhNhNUh(}r{ahPNubh)r|a}r}a(h UExchanger~ah }raj$>GshNhUcisaconitate exchangerahEG@@hFGh}rahHh/]RrahU EX_acon__C_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }raj@GshNhUChloride exchangerahEG@@hFGbMh}rahHh/]RrahUEX_cl_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }raj$AGshNhU CMP exchangerahEG@@hFGh}rahHh/]RrahUEX_cmp_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }rajBAGshNhU CO2 exchangerahEG@@hFG2h}rahHh/]RrahUEX_co2_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }rajAGshNhU Co2 exchangerahEG@@hFGtzG{h}rahHh/]RrahU EX_cobalt2_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }rajBGshNhU%core oligosaccharide lipid A exchangerahEG@@hFGh}rahHh/]RrahU EX_colipa_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }rajBGshNhUcoprogen exchangerahEG@@hFGh}rahHh/]RrahU EX_cpgn_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }rajlBGshNhU%coprogen unloaded no Fe III exchangerahEG@@hFGh}rahHh/]RrahU EX_cpgn__un_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }rajDGshNhUL Carnitine exchangerahEG@@hFGh}rahHh/]RrahUEX_crn_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }rajDGshNhUCytosine exchangerahEG@@hFGh}rahHh/]RrahUEX_csn_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }raj"FGshNhU Cu2 exchangerahEG@@hFGtzG{h}rahHh/]RrahUEX_cu2_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }rajKFGshNhU Cu exchangerahEG@@hFGh}rahHh/]RrahUEX_cu_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }raj!GGshNhUHydrogen cyanide exchangerahEG@@hFGh}rahHh/]RrahU EX_cyan_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }raj?GGshNhUCyanate exchangerahEG@@hFGh}rahHh/]RrahU EX_cynt_erahKGhLhMhNhNUh(}rahPNubh)ra}ra(h UExchangerah }rajGGshNhUD Cysteine exchangerahEG@@hFGh}rahHh/]RrbhU EX_cys__D_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbjHGshNhUL Cysteine exchangerbhEG@@hFGh}rbhHh/]Rr bhU EX_cys__L_er bhKGhLhMhNhNUh(}r bhPNubh)r b}r b(h UExchangerbh }rbjIGshNhUL Cystine exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_cysi__L_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbjIGshNhUCytidine exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_cytd_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchanger bh }r!bjJGshNhUDeoxyadenosine exchanger"bhEG@@hFGh}r#bhHh/]Rr$bhU EX_dad__2_er%bhKGhLhMhNhNUh(}r&bhPNubh)r'b}r(b(h UExchanger)bh }r*bjtKGshNhU dAMP exchanger+bhEG@@hFGh}r,bhHh/]Rr-bhU EX_damp_er.bhKGhLhMhNhNUh(}r/bhPNubh)r0b}r1b(h UExchanger2bh }r3bjLGshNhUDecanoate n C100 exchanger4bhEG@@hFGh}r5bhHh/]Rr6bhUEX_dca_er7bhKGhLhMhNhNUh(}r8bhPNubh)r9b}r:b(h UExchanger;bh }rbhHh/]Rr?bhU EX_dcmp_er@bhKGhLhMhNhNUh(}rAbhPNubh)rBb}rCb(h UExchangerDbh }rEbjMGshNhUDeoxycytidine exchangerFbhEG@@hFGh}rGbhHh/]RrHbhU EX_dcyt_erIbhKGhLhMhNhNUh(}rJbhPNubh)rKb}rLb(h UExchangerMbh }rNbjMGshNhUDodecanoate n C120 exchangerObhEG@@hFGh}rPbhHh/]RrQbhU EX_ddca_erRbhKGhLhMhNhNUh(}rSbhPNubh)rTb}rUb(h UExchangerVbh }rWbj!OGshNhU dGMP exchangerXbhEG@@hFGh}rYbhHh/]RrZbhU EX_dgmp_er[bhKGhLhMhNhNUh(}r\bhPNubh)r]b}r^b(h UExchanger_bh }r`bjOGshNhUDeoxyguanosine exchangerabhEG@@hFGh}rbbhHh/]RrcbhU EX_dgsn_erdbhKGhLhMhNhNUh(}rebhPNubh)rfb}rgb(h UExchangerhbh }ribj PGshNhUDihydroxyacetone exchangerjbhEG@@hFGh}rkbhHh/]RrlbhUEX_dha_ermbhKGhLhMhNhNUh(}rnbhPNubh)rob}rpb(h UExchangerqbh }rrbjRGshNhU dIMP exchangersbhEG@@hFGh}rtbhHh/]RrubhU EX_dimp_ervbhKGhLhMhNhNUh(}rwbhPNubh)rxb}ryb(h UExchangerzbh }r{bjSGshNhUDeoxyinosine exchanger|bhEG@@hFGh}r}bhHh/]Rr~bhUEX_din_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbj_TGshNhUDimethyl sulfide exchangerbhEG@@hFGh}rbhHh/]RrbhUEX_dms_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbj.TGshNhUDimethyl sulfoxide exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_dmso_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbjEUGshNhUDopamine exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_dopa_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbjWGshNhU dTMP exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_dtmp_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbjWGshNhU dUMP exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_dump_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbjXGshNhUDeoxyuridine exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_duri_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbjZGshNhUH enterobacterial common antigen x4 core oligosaccharide lipid A exchangerbhEG@@hFGh}rbhHh/]RrbhUEX_eca4colipa_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbjF]GshNhU*phosphoethanolamine KDO 2 lipid A exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_enlipa_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbh)rb}rb(hNhNhU Enterochelinrbh}rb(UCHEBI]rbU28855rbaUKEGG]rbUC05821rbaUPUBCHEM]rbU8116rbauhUenter_erbhUEh Kh!Gh"h#)rb}rb(hNh"U C30H27N3O15rbh}rbh(}rbh*}rb(UHKUCKUOKUNKuhjbubh,Ueh(}rbh.h/]RrbubGshNhUEnterochelin exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_enter_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbj ^GshNhUEthanolamine exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_etha_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbj'^GshNhUethanesulfonate exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_ethso3_erbhKGhLhMhNhNUh(}rbhPNubh)rb}rb(h UExchangerbh }rbj^GshNhUEthanol exchangerbhEG@@hFGh}rbhHh/]RrbhU EX_etoh_erbhKGhLhMhNhNUh(}rbhPNubh)rc}rc(h UExchangerch }rch)rc}rc(hNhNhUD-Fructose-6-phosphaterch}rc(UCHEBI]rcU15946r caUKEGG]r cUC00085r caUPUBCHEM]r cU3385r cauhUf6p_erchUEh Jh!Gh"h#)rc}rc(hNh"UC6H11O9Prch}rch(}rch*}rc(UHK UCKUOK UPKuhjcubh,Ueh(}rch.h/]RrcubGshNhUD fructose 6 phosphate exchangerchEG@@hFGh}rchHh/]RrchUEX_f6p_erchKGhLhMhNhNUh(}rchPNubh)rc}rc(h UExchangerch }rch)r c}r!c(hNhNhU Formaldehyder"ch}r#c(UCHEBI]r$cU16842r%caUKEGG]r&cUC00067r'caUPUBCHEM]r(cU3367r)cauhUfald_er*chUEh Kh!Gh"h#)r+c}r,c(hNh"UCH2Or-ch}r.ch(}r/ch*}r0c(UHKUCKUOKuhj-cubh,Ueh(}r1ch.h/]Rr2cubGshNhUFormaldehyde exchanger3chEG@@hFGh}r4chHh/]Rr5chU EX_fald_er6chKGhLhMhNhNUh(}r7chPNubh)r8c}r9c(h UExchanger:ch }r;ch)rch}r?c(UCHEBI]r@cU18248rAcaUKEGG]rBcUC00023rCcaUPUBCHEM]rDcU3325rEcauhUfe2_erFchUEh Kh!Gh"h#)rGc}rHc(hNh"UFerIch}rJch(}rKch*}rLcjIcKshjIcubh,Ueh(}rMch.h/]RrNcubGshNhU Fe2 exchangerOchEG@@hFGh}rPchHh/]RrQchUEX_fe2_erRchKGhLhMhNhNUh(}rSchPNubh)rTc}rUc(h UExchangerVch }rWcj0GshNhU Fe3 exchangerXchEG@@hFGtzG{h}rYchHh/]RrZchUEX_fe3_er[chKGhLhMhNhNUh(}r\chPNubh)r]c}r^c(h UExchanger_ch }r`ch)rac}rbc(hNhNhUFe-III-dicitratercch}rdc(UCHEBI]recU0aUKEGG]rfcUC06229rgcaUPUBCHEM]rhcU8472ricauhU fe3dcit_erjchUEh Jh!Gh"h#)rkc}rlc(hNh"U C12H10FeO14rmch}rnch(}roch*}rpc(UHK UCK UFeKUOKuhjmcubh,Ueh(}rqch.h/]RrrcubGshNhUFe III dicitrate exchangerschEG@@hFGh}rtchHh/]RruchU EX_fe3dcit_ervchKGhLhMhNhNUh(}rwchPNubh)rxc}ryc(h UExchangerzch }r{ch)r|c}r}c(hNhNhU!ferric-2-3-dihydroxybenzoylseriner~ch}rc(UCHEBI]rcU0aUKEGG]rcU0aUPUBCHEM]rcU0auhU fe3dhbzs_erchUEh Kh!Gh"h#)rc}rc(hNh"U C10H10NO6Ferch}rch(}rch*}rc(UHK UCK UFeKUOKUNKuhjcubh,Ueh(}rch.h/]RrcubGshNhU*ferric 2 3 dihydroxybenzoylserine exchangerchEG@@hFGh}rchHh/]RrchU EX_fe3dhbzs_erchKGhLhMhNhNUh(}rchPNubh)rc}rc(h UExchangerch }rch)rc}rc(hNhNhUFe-III-hydroxamaterch}rc(UCHEBI]rcU0aUKEGG]rcUC06227rcaUPUBCHEM]rcU8470rcauhUfe3hox_erchUEh Kh!Gh"h#)rc}rc(hNh"U C9H18O6N3Ferch}rch(}rch*}rc(UHKUCK UFeKUOKUNKuhjcubh,Ueh(}rch.h/]RrcubGshNhUFe III hydroxamate exchangerchEG@@hFGh}rchHh/]RrchU EX_fe3hox_erchKGhLhMhNhNUh(}rchPNubh)rc}rc(h UExchangerch }rch)rc}rc(hNhNhUFe-III-hydoxamate-unloadedrch}rc(UCHEBI]rcU0aUKEGG]rcU0aUPUBCHEM]rcU0auhU fe3hox__un_erchUEh Jh!Gh"h#)rc}rc(hNh"U C9H18O6N3rch}rch(}rch*}rc(UHKUCK UOKUNKuhjcubh,Ueh(}rch.h/]RrcubGshNhU#Fe III hydoxamate unloaded exchangerchEG@@hFGh}rchHh/]RrchUEX_fe3hox__un_erchKGhLhMhNhNUh(}rchPNubh)rc}rc(h UExchangerch }rch)rc}rc(hNhNhU Ferrichromerch}rc(UCHEBI]rcU0aUKEGG]rcUC06228rcaUPUBCHEM]rcU8471rcauhUfecrm_erchUEh Kh!Gh"h#)rc}rc(hNh"U C27H42FeN9O12rch}rch(}rch*}rc(UHK*UCKUFeKUOK UNK uhjcubh,Ueh(}rch.h/]RrcubGshNhUFerrichrome exchangerchEG@@hFGh}rchHh/]RrchU EX_fecrm_erchKGhLhMhNhNUh(}rchPNubh)rc}rc(h UExchangerch }rch)rc}rc(hNhNhUFerrichrome-minus-Fe-IIIrch}rc(UCHEBI]rcU0aUKEGG]rcU0aUPUBCHEM]rcU0auhU fecrm__un_erchUEh Jh!Gh"h#)rc}rc(hNh"U C27H42N9O12rch}rch(}rch*}rc(UHK*UCKUOK UNK uhjcubh,Ueh(}rch.h/]RrcubGshNhU!Ferrichrome minus Fe III exchangerchEG@@hFGh}rchHh/]RrchUEX_fecrm__un_erchKGhLhMhNhNUh(}rchPNubh)rc}rc(h UExchangerch }rch)rc}rc(hNhNhUFe-enterobactinrch}rd(UCHEBI]rdU28199rdaUKEGG]rdUC06230rdaUPUBCHEM]rdU8473rdauhU feenter_erdhUEh Kh!Gh"h#)rd}r d(hNh"U C30H27FeN3O15r dh}r dh(}r dh*}r d(UHKUCKUFeKUOKUNKuhj dubh,Ueh(}rdh.h/]RrdubGshNhUFe enterobactin exchangerdhEG@@hFGh}rdhHh/]RrdhU EX_feenter_erdhKGhLhMhNhNUh(}rdhPNubh)rd}rd(h UExchangerdh }rdh)rd}rd(hNhNhU ferroxaminerdh}rd(UCHEBI]rdU0aUKEGG]rdUC07597rdaUPUBCHEM]r dU9799r!dauhUfeoxam_er"dhUEh Kh!Gh"h#)r#d}r$d(hNh"U C25H46FeN6O8r%dh}r&dh(}r'dh*}r(d(UHK.UCKUFeKUOKUNKuhj%dubh,Ueh(}r)dh.h/]Rr*dubGshNhUferroxamine exchanger+dhEG@@hFGh}r,dhHh/]Rr-dhU EX_feoxam_er.dhKGhLhMhNhNUh(}r/dhPNubh)r0d}r1d(h UExchanger2dh }r3dh)r4d}r5d(hNhNhUferroxamine-minus-Fe-3r6dh}r7d(UCHEBI]r8dU0aUKEGG]r9dU0aUPUBCHEM]r:dU0auhU feoxam__un_er;dhUEh Jh!Gh"h#)rdh}r?dh(}r@dh*}rAd(UHK.UCKUOKUNKuhj>dubh,Ueh(}rBdh.h/]RrCdubGshNhUferroxamine minus Fe 3 exchangerDdhEG@@hFGh}rEdhHh/]RrFdhUEX_feoxam__un_erGdhKGhLhMhNhNUh(}rHdhPNubh)rId}rJd(h UExchangerKdh }rLdh)rMd}rNd(hNhNhUFormaterOdh}rPd(UCHEBI]rQdU30751rRdaUKEGG]rSdUC00058rTdaUPUBCHEM]rUdU3358rVdauhUfor_erWdhUEh Jh!Gh"h#)rXd}rYd(hNh"UCH1O2rZdh}r[dh(}r\dh*}r]d(UHKUCKUOKuhjZdubh,Ueh(}r^dh.h/]Rr_dubGshNhUFormate exchanger`dhEG@@hFGh}radhHh/]RrbdhUEX_for_ercdhKGhLhMhNhNUh(}rddhPNubh)red}rfd(h UExchangergdh }rhdh)rid}rjd(hNhNhU D-Fructoserkdh}rld(UCHEBI]rmdU15824rndaUKEGG]rodUC00095rpdaUPUBCHEM]rqdU3395rrdauhUfru_ersdhUEh Kh!Gh"h#)rtd}rud(hNh"UC6H12O6rvdh}rwdh(}rxdh*}ryd(UHK UCKUOKuhjvdubh,Ueh(}rzdh.h/]Rr{dubGshNhUD Fructose exchanger|dhEG@@hFGh}r}dhHh/]Rr~dhUEX_fru_erdhKGhLhMhNhNUh(}rdhPNubh)rd}rd(h UExchangerdh }rdh)rd}rd(hNhNhUfructoselysinerdh}rd(UCHEBI]rdU0aUKEGG]rdUC16488rdaUPUBCHEM]rdU47205784rdauhUfrulys_erdhUEh Kh!Gh"h#)rd}rd(hNh"U C12H25N2O7rdh}rdh(}rdh*}rd(UHKUCK UOKUNKuhjdubh,Ueh(}rdh.h/]RrdubGshNhUfructoselysine exchangerdhEG@@hFGh}rdhHh/]RrdhU EX_frulys_erdhKGhLhMhNhNUh(}rdhPNubh)rd}rd(h UExchangerdh }rdh)rd}rd(hNhNhUD-Fructuronaterdh}rd(UCHEBI]rdU4126rdaUKEGG]rdUC00905rdaUPUBCHEM]rdU4160rdauhUfruur_erdhUEh Jh!Gh"h#)rd}rd(hNh"UC6H9O7rdh}rdh(}rdh*}rd(UHK UCKUOKuhjdubh,Ueh(}rdh.h/]RrdubGshNhUD Fructuronate exchangerdhEG@@hFGh}rdhHh/]RrdhU EX_fruur_erdhKGhLhMhNhNUh(}rdhPNubh)rd}rd(h UExchangerdh }rdh)rd}rd(hNhNhUL-Fucoserdh}rd(UCHEBI]rdU2181rdaUKEGG]rdUC01019rdaUPUBCHEM]rdU4264rdauhUfuc__L_erdhUEh Kh!Gh"h#)rd}rd(hNh"UC6H12O5rdh}rdh(}rdh*}rd(UHK UCKUOKuhjdubh,Ueh(}rdh.h/]RrdubGshNhUL Fucose exchangerdhEG@@hFGh}rdhHh/]RrdhU EX_fuc__L_erdhKGhLhMhNhNUh(}rdhPNubh)rd}rd(h UExchangerdh }rdh)rd}rd(hNhNhUFumaraterdh}rd(UCHEBI]rdU18012rdaUKEGG]rdUC00122rdaUPUBCHEM]rdU3422rdauhUfum_erdhUEh Jh!Gh"h#)rd}rd(hNh"UC4H2O4rdh}rdh(}rdh*}rd(UHKUCKUOKuhjdubh,Ueh(}rdh.h/]RrdubGshNhUFumarate exchangerdhEG@@hFGh}rdhHh/]RrdhUEX_fum_erdhKGhLhMhNhNUh(}rdhPNubh)rd}rd(h UExchangerdh }rdh)rd}rd(hNhNhUD-Glucose-1-phosphaterdh}rd(UCHEBI]rdU 16077 29042rdaUKEGG]rdUC00103rdaUPUBCHEM]rdU3403rdauhUg1p_erdhUEh Jh!Gh"h#)rd}re(hNh"UC6H11O9Preh}reh(}reh*}re(UHK UCKUOK UPKuhjeubh,Ueh(}reh.h/]RreubGshNhUD Glucose 1 phosphate exchangerehEG@@hFGh}rehHh/]Rr ehUEX_g1p_er ehKGhLhMhNhNUh(}r ehPNubh)r e}r e(h UExchangereh }reh)re}re(hNhNhUsn-Glycero-3-phosphocholinereh}re(UCHEBI]reU16870reaUKEGG]reUC00670reaUPUBCHEM]reU3939reauhUg3pc_erehUEh Kh!Gh"h#)re}re(hNh"U C8H20NO6Preh}reh(}reh*}r e(UHKUCKUPKUOKUNKuhjeubh,Ueh(}r!eh.h/]Rr"eubGshNhU$sn Glycero 3 phosphocholine exchanger#ehEG@@hFGh}r$ehHh/]Rr%ehU EX_g3pc_er&ehKGhLhMhNhNUh(}r'ehPNubh)r(e}r)e(h UExchanger*eh }r+eh)r,e}r-e(hNhNhU sn-Glycero-3-phosphoethanolaminer.eh}r/e(UCHEBI]r0eU0aUKEGG]r1eUC01233r2eaUPUBCHEM]r3eU4454r4eauhUg3pe_er5ehUEh Kh!Gh"h#)r6e}r7e(hNh"U C5H14NO6Pr8eh}r9eh(}r:eh*}r;e(UHKUCKUPKUOKUNKuhj8eubh,Ueh(}rehEG@@hFGh}r?ehHh/]Rr@ehU EX_g3pe_erAehKGhLhMhNhNUh(}rBehPNubh)rCe}rDe(h UExchangerEeh }rFeh)rGe}rHe(hNhNhUGlycerophosphoglycerolrIeh}rJe(UCHEBI]rKeU0aUKEGG]rLeUC03274rMeaUPUBCHEM]rNeU6135rOeauhUg3pg_erPehUEh Jh!Gh"h#)rQe}rRe(hNh"UC6H14O8PrSeh}rTeh(}rUeh*}rVe(UHKUCKUOKUPKuhjSeubh,Ueh(}rWeh.h/]RrXeubGshNhUGlycerophosphoglycerol exchangerYehEG@@hFGh}rZehHh/]Rr[ehU EX_g3pg_er\ehKGhLhMhNhNUh(}r]ehPNubh)r^e}r_e(h UExchanger`eh }raeh)rbe}rce(hNhNhUsn-Glycero-3-phospho-1-inositolrdeh}ree(UCHEBI]rfeU18321rgeaUKEGG]rheUC01225rieaUPUBCHEM]rjeU4447rkeauhUg3pi_erlehUEh Jh!Gh"h#)rme}rne(hNh"U C9H18O11Proeh}rpeh(}rqeh*}rre(UHKUCK UOK UPKuhjoeubh,Ueh(}rseh.h/]RrteubGshNhU(sn Glycero 3 phospho 1 inositol exchangeruehEG@@hFGh}rvehHh/]RrwehU EX_g3pi_erxehKGhLhMhNhNUh(}ryehPNubh)rze}r{e(h UExchanger|eh }r}eh)r~e}re(hNhNhUGlycerophosphoserinereh}re(UCHEBI]reU0aUKEGG]reU0aUPUBCHEM]reU3081457reauhUg3ps_erehUEh Jh!Gh"h#)re}re(hNh"U C6H13NO8Preh}reh(}reh*}re(UHK UCKUPKUOKUNKuhjeubh,Ueh(}reh.h/]RreubGshNhUGlycerophosphoserine exchangerehEG@@hFGh}rehHh/]RrehU EX_g3ps_erehKGhLhMhNhNUh(}rehPNubh)re}re(h UExchangereh }reh)re}re(hNhNhUD-Glucose-6-phosphatereh}re(UCHEBI]reU4170reaUKEGG]reUC00092reaUPUBCHEM]reU3392reauhUg6p_erehUEh Jh!Gh"h#)re}re(hNh"UC6H11O9Preh}reh(}reh*}re(UHK UCKUOK UPKuhjeubh,Ueh(}reh.h/]RreubGshNhUD Glucose 6 phosphate exchangerehEG@@hFGh}rehHh/]RrehUEX_g6p_erehKGhLhMhNhNUh(}rehPNubh)re}re(h UExchangereh }reh)re}re(hNhNhUalpha-D-Galactose-1-phosphatereh}re(UCHEBI]reU17973reaUKEGG]reUC00446reaUPUBCHEM]reU3734reauhUgal1p_erehUEh Jh!Gh"h#)re}re(hNh"UC6H11O9Preh}reh(}reh*}re(UHK UCKUOK UPKuhjeubh,Ueh(}reh.h/]RreubGshNhU&alpha D Galactose 1 phosphate exchangerehEG@@hFGh}rehHh/]RrehU EX_gal1p_erehKGhLhMhNhNUh(}rehPNubh)re}re(h UExchangereh }reh)re}re(hNhNhUbeta-D-Galactosereh}re(UCHEBI]reU28260reaUKEGG]reUC01582reaUPUBCHEM]reU4738reauhU gal__bD_erehUEh Kh!Gh"h#)re}re(hNh"UC6H12O6reh}reh(}reh*}re(UHK UCKUOKuhjeubh,Ueh(}reh.h/]RreubGshNhUbeta D Galactose exchangerehEG@@hFGh}rehHh/]RrehU EX_gal__bD_erehKGhLhMhNhNUh(}rehPNubh)re}re(h UExchangereh }reh)re}re(hNhNhU D-Galactosereh}re(UCHEBI]reU4139reaUKEGG]reUC00124reaUPUBCHEM]reU3424reauhUgal_erehUEh Kh!Gh"h#)re}re(hNh"UC6H12O6reh}reh(}reh*}re(UHK UCKUOKuhjeubh,Ueh(}reh.h/]RreubGshNhUD Galactose exchangerehEG@@hFGh}rfhHh/]RrfhUEX_gal_erfhKGhLhMhNhNUh(}rfhPNubh)rf}rf(h UExchangerfh }rfh)rf}r f(hNhNhU D-Galactarater fh}r f(UCHEBI]r fU0aUKEGG]r fUC00879rfaUPUBCHEM]rfU4135rfauhU galct__D_erfhUEh Jh!Gh"h#)rf}rf(hNh"UC6H8O8rfh}rfh(}rfh*}rf(UHKUCKUOKuhjfubh,Ueh(}rfh.h/]RrfubGshNhUD Galactarate exchangerfhEG@@hFGh}rfhHh/]RrfhU EX_galct__D_erfhKGhLhMhNhNUh(}rfhPNubh)rf}r f(h UExchanger!fh }r"fh)r#f}r$f(hNhNhU D-Galactonater%fh}r&f(UCHEBI]r'fU 12931 16534r(faUKEGG]r)fUC00880r*faUPUBCHEM]r+fU4136r,fauhU galctn__D_er-fhUEh Jh!Gh"h#)r.f}r/f(hNh"UC6H11O7r0fh}r1fh(}r2fh*}r3f(UHK UCKUOKuhj0fubh,Ueh(}r4fh.h/]Rr5fubGshNhUD Galactonate exchanger6fhEG@@hFGh}r7fhHh/]Rr8fhUEX_galctn__D_er9fhKGhLhMhNhNUh(}r:fhPNubh)r;f}rfh)r?f}r@f(hNhNhU L-GalactonaterAfh}rBf(UCHEBI]rCfU0aUKEGG]rDfUC15930rEfaUPUBCHEM]rFfU47205248rGfauhU galctn__L_erHfhUEh Jh!Gh"h#)rIf}rJf(hNh"UC6H11O7rKfh}rLfh(}rMfh*}rNf(UHK UCKUOKuhjKfubh,Ueh(}rOfh.h/]RrPfubGshNhUL Galactonate exchangerQfhEG@@hFGh}rRfhHh/]RrSfhUEX_galctn__L_erTfhKGhLhMhNhNUh(}rUfhPNubh)rVf}rWf(h UExchangerXfh }rYfh)rZf}r[f(hNhNhU Galactitolr\fh}r]f(UCHEBI]r^fU16813r_faUKEGG]r`fUC01697rafaUPUBCHEM]rbfU4837rcfauhUgalt_erdfhUEh Kh!Gh"h#)ref}rff(hNh"UC6H14O6rgfh}rhfh(}rifh*}rjf(UHKUCKUOKuhjgfubh,Ueh(}rkfh.h/]RrlfubGshNhUGalactitol exchangermfhEG@@hFGh}rnfhHh/]RrofhU EX_galt_erpfhKGhLhMhNhNUh(}rqfhPNubh)rrf}rsf(h UExchangertfh }rufh)rvf}rwf(hNhNhUD-Galacturonaterxfh}ryf(UCHEBI]rzfU0aUKEGG]r{fUC00333r|faUPUBCHEM]r}fU3627r~fauhUgalur_erfhUEh Jh!Gh"h#)rf}rf(hNh"UC6H9O7rfh}rfh(}rfh*}rf(UHK UCKUOKuhjfubh,Ueh(}rfh.h/]RrfubGshNhUD Galacturonate exchangerfhEG@@hFGh}rfhHh/]RrfhU EX_galur_erfhKGhLhMhNhNUh(}rfhPNubh)rf}rf(h UExchangerfh }rfh)rf}rf(hNhNhUD-Glucosamine-6-phosphaterfh}rf(UCHEBI]rfU15873rfaUKEGG]rfUC00352rfaUPUBCHEM]rfU3645rfauhUgam6p_erfhUEh Jh!Gh"h#)rf}rf(hNh"U C6H13NO8Prfh}rfh(}rfh*}rf(UHK UCKUPKUOKUNKuhjfubh,Ueh(}rfh.h/]RrfubGshNhU"D Glucosamine 6 phosphate exchangerfhEG@@hFGh}rfhHh/]RrfhU EX_gam6p_erfhKGhLhMhNhNUh(}rfhPNubh)rf}rf(h UExchangerfh }rfh)rf}rf(hNhNhU D-Glucosaminerfh}rf(UCHEBI]rfU47977rfaUKEGG]rfUC00329rfaUPUBCHEM]rfU3623rfauhUgam_erfhUEh Kh!Gh"h#)rf}rf(hNh"UC6H14NO5rfh}rfh(}rfh*}rf(UHKUCKUOKUNKuhjfubh,Ueh(}rfh.h/]RrfubGshNhUD Glucosamine exchangerfhEG@@hFGh}rfhHh/]RrfhUEX_gam_erfhKGhLhMhNhNUh(}rfhPNubh)rf}rf(h UExchangerfh }rfh)rf}rf(hNhNhUgamma-butyrobetainerfh}rf(UCHEBI]rfU1941rfaUKEGG]rfUC01181rfaUPUBCHEM]rfU4408rfauhUgbbtn_erfhUEh Kh!Gh"h#)rf}rf(hNh"UC7H15NO2rfh}rfh(}rfh*}rf(UHKUCKUOKUNKuhjfubh,Ueh(}rfh.h/]RrfubGshNhUgamma butyrobetaine exchangerfhEG@@hFGh}rfhHh/]RrfhU EX_gbbtn_erfhKGhLhMhNhNUh(}rfhPNubh)rf}rf(h UExchangerfh }rfh)rf}rf(hNhNhUGDPrfh}rf(UCHEBI]rfU17552rfaUKEGG]rfUC00035rfaUPUBCHEM]rfU3337rfauhUgdp_erfhUEh Jh!Gh"h#)rf}rf(hNh"U C10H12N5O11P2rfh}rfh(}rfh*}rf(UHK UCK UPKUOK UNKuhjfubh,Ueh(}rfh.h/]RrfubGshNhU GDP exchangerfhEG@@hFGh}rfhHh/]RrfhUEX_gdp_erfhKGhLhMhNhNUh(}rfhPNubh)rf}rf(h UExchangerfh }rgh)rg}rg(hNhNhU D-Glucosergh}rg(UCHEBI]rgU4167rgaUKEGG]rgUC00031rgaUPUBCHEM]r gU3333r gauhUglc__D_er ghUEh Kh!Gh"h#)r g}r g(hNh"UC6H12O6rgh}rgh(}rgh*}rg(UHK UCKUOKuhjgubh,Ueh(}rgh.h/]RrgubGshNhUD Glucose exchangerghEG@@hFGh}rghHh/]RrghU EX_glc__D_erghKGhLhMhNhNUh(}rghPNubh)rg}rg(h UExchangergh }rgh)rg}rg(hNhNhU D-Gluconatergh}r g(UCHEBI]r!gU33198r"gaUKEGG]r#gUC00257r$gaUPUBCHEM]r%gU3556r&gauhUglcn_er'ghUEh Jh!Gh"h#)r(g}r)g(hNh"UC6H11O7r*gh}r+gh(}r,gh*}r-g(UHK UCKUOKuhj*gubh,Ueh(}r.gh.h/]Rr/gubGshNhUD Gluconate exchanger0ghEG@@hFGh}r1ghHh/]Rr2ghU EX_glcn_er3ghKGhLhMhNhNUh(}r4ghPNubh)r5g}r6g(h UExchanger7gh }r8gh)r9g}r:g(hNhNhU D-Glucarater;gh}rgaUKEGG]r?gUC00818r@gaUPUBCHEM]rAgU4076rBgauhUglcr_erCghUEh Jh!Gh"h#)rDg}rEg(hNh"UC6H8O8rFgh}rGgh(}rHgh*}rIg(UHKUCKUOKuhjFgubh,Ueh(}rJgh.h/]RrKgubGshNhUD Glucarate exchangerLghEG@@hFGh}rMghHh/]RrNghU EX_glcr_erOghKGhLhMhNhNUh(}rPghPNubh)rQg}rRg(h UExchangerSgh }rTgh)rUg}rVg(hNhNhUD-Glucuronate-1-phosphaterWgh}rXg(UCHEBI]rYgU28547rZgaUKEGG]r[gUC05385r\gaUPUBCHEM]r]gU7759r^gauhU glcur1p_er_ghUEh Jh!Gh"h#)r`g}rag(hNh"UC6H8O10Prbgh}rcgh(}rdgh*}reg(UHKUCKUOK UPKuhjbgubh,Ueh(}rfgh.h/]RrggubGshNhU"D Glucuronate 1 phosphate exchangerhghEG@@hFGh}righHh/]RrjghU EX_glcur1p_erkghKGhLhMhNhNUh(}rlghPNubh)rmg}rng(h UExchangerogh }rpgh)rqg}rrg(hNhNhU D-Glucuronatersgh}rtg(UCHEBI]rugU 4178 47952rvgaUKEGG]rwgUC00191rxgaUPUBCHEM]rygU3491rzgauhUglcur_er{ghUEh Jh!Gh"h#)r|g}r}g(hNh"UC6H9O7r~gh}rgh(}rgh*}rg(UHK UCKUOKuhj~gubh,Ueh(}rgh.h/]RrgubGshNhUD Glucuronate exchangerghEG@@hFGh}rghHh/]RrghU EX_glcur_erghKGhLhMhNhNUh(}rghPNubh)rg}rg(h UExchangergh }rgh)rg}rg(hNhNhU L-Glutaminergh}rg(UCHEBI]rgU18050rgaUKEGG]rgUC00064rgaUPUBCHEM]rgU3364rgauhUgln__L_erghUEh Kh!Gh"h#)rg}rg(hNh"U C5H10N2O3rgh}rgh(}rgh*}rg(UHK UCKUOKUNKuhjgubh,Ueh(}rgh.h/]RrgubGshNhUL Glutamine exchangerghEG@@hFGh}rghHh/]RrghU EX_gln__L_erghKGhLhMhNhNUh(}rghPNubh)rg}rg(h UExchangergh }rgh)rg}rg(hNhNhU L-Glutamatergh}rg(UCHEBI]rgU16015rgaUKEGG]rgUC00025rgaUPUBCHEM]rgU3327rgauhUglu__L_erghUEh Jh!Gh"h#)rg}rg(hNh"UC5H8NO4rgh}rgh(}rgh*}rg(UHKUCKUOKUNKuhjgubh,Ueh(}rgh.h/]RrgubGshNhUL Glutamate exchangerghEG@@hFGh}rghHh/]RrghU EX_glu__L_erghKGhLhMhNhNUh(}rghPNubh)rg}rg(h UExchangergh }rgh)rg}rg(hNhNhUGlycinergh}rg(UCHEBI]rgU15428rgaUKEGG]rgUC00037rgaUPUBCHEM]rgU3339rgauhUgly_erghUEh Kh!Gh"h#)rg}rg(hNh"UC2H5NO2rgh}rgh(}rgh*}rg(UHKUCKUOKUNKuhjgubh,Ueh(}rgh.h/]RrgubGshNhUGlycine exchangerghEG@@hFGh}rghHh/]RrghUEX_gly_erghKGhLhMhNhNUh(}rghPNubh)rg}rg(h UExchangergh }rgh)rg}rg(hNhNhUD-Glyceraldehydergh}rg(UCHEBI]rgU17378rgaUKEGG]rgUC00577rgaUPUBCHEM]rgU3856rgauhUglyald_erghUEh Kh!Gh"h#)rg}rg(hNh"UC3H6O3rgh}rgh(}rgh*}rg(UHKUCKUOKuhjgubh,Ueh(}rgh.h/]RrgubGshNhUD Glyceraldehyde exchangerghEG@@hFGh}rghHh/]RrghU EX_glyald_erghKGhLhMhNhNUh(}rghPNubh)rg}rg(h UExchangergh }rgh)rg}rg(hNhNhUGlycine-betainergh}rh(UCHEBI]rhU17750rhaUKEGG]rhUC00719rhaUPUBCHEM]rhU3985rhauhUglyb_erhhUEh Kh!Gh"h#)rh}r h(hNh"UC5H11NO2r hh}r hh(}r hh*}r h(UHK UCKUOKUNKuhj hubh,Ueh(}rhh.h/]RrhubGshNhUGlycine betaine exchangerhhEG@@hFGh}rhhHh/]RrhhU EX_glyb_erhhKGhLhMhNhNUh(}rhhPNubh)rh}rh(h UExchangerhh }rhh)rh}rh(hNhNhUGlycerol-2-phosphaterhh}rh(UCHEBI]rhU17270rhaUKEGG]rhUC02979r haUPUBCHEM]r!hU5889r"hauhUglyc2p_er#hhUEh Jh!Gh"h#)r$h}r%h(hNh"UC3H7O6Pr&hh}r'hh(}r(hh*}r)h(UHKUCKUOKUPKuhj&hubh,Ueh(}r*hh.h/]Rr+hubGshNhUGlycerol 2 phosphate exchanger,hhEG@@hFGh}r-hhHh/]Rr.hhU EX_glyc2p_er/hhKGhLhMhNhNUh(}r0hhPNubh)r1h}r2h(h UExchanger3hh }r4hh)r5h}r6h(hNhNhUGlycerol-3-phosphater7hh}r8h(UCHEBI]r9hU15978r:haUKEGG]r;hUC00093rhauhUglyc3p_er?hhUEh Jh!Gh"h#)r@h}rAh(hNh"UC3H7O6PrBhh}rChh(}rDhh*}rEh(UHKUCKUOKUPKuhjBhubh,Ueh(}rFhh.h/]RrGhubGshNhUGlycerol 3 phosphate exchangerHhhEG@@hFGh}rIhhHh/]RrJhhU EX_glyc3p_erKhhKGhLhMhNhNUh(}rLhhPNubh)rMh}rNh(h UExchangerOhh }rPhh)rQh}rRh(hNhNhU R-GlyceraterShh}rTh(UCHEBI]rUhU32398rVhaUKEGG]rWhUC00258rXhaUPUBCHEM]rYhU3557rZhauhU glyc__R_er[hhUEh Jh!Gh"h#)r\h}r]h(hNh"UC3H5O4r^hh}r_hh(}r`hh*}rah(UHKUCKUOKuhj^hubh,Ueh(}rbhh.h/]RrchubGshNhU R Glycerate exchangerdhhEG@@hFGh}rehhHh/]RrfhhU EX_glyc__R_erghhKGhLhMhNhNUh(}rhhhPNubh)rih}rjh(h UExchangerkhh }rlhh)rmh}rnh(hNhNhUGlycerolrohh}rph(UCHEBI]rqhU17754rrhaUKEGG]rshUC00116rthaUPUBCHEM]ruhU3416rvhauhUglyc_erwhhUEh Kh!Gh"h#)rxh}ryh(hNh"UC3H8O3rzhh}r{hh(}r|hh*}r}h(UHKUCKUOKuhjzhubh,Ueh(}r~hh.h/]RrhubGshNhUGlycerol exchangerhhEG@@hFGDh}rhhHh/]RrhhU EX_glyc_erhhKGhLhMhNhNUh(}rhhPNubh)rh}rh(h UExchangerhh }rhh)rh}rh(hNhNhU Glycolaterhh}rh(UCHEBI]rhU17497rhaUKEGG]rhUC00160rhaUPUBCHEM]rhU3460rhauhUglyclt_erhhUEh Jh!Gh"h#)rh}rh(hNh"UC2H3O3rhh}rhh(}rhh*}rh(UHKUCKUOKuhjhubh,Ueh(}rhh.h/]RrhubGshNhUGlycolate exchangerhhEG@@hFGh}rhhHh/]RrhhU EX_glyclt_erhhKGhLhMhNhNUh(}rhhPNubh)rh}rh(h UExchangerhh }rhh)rh}rh(hNhNhUGMPrhh}rh(UCHEBI]rhU17345rhaUKEGG]rhUC00144rhaUPUBCHEM]rhU3444rhauhUgmp_erhhUEh Jh!Gh"h#)rh}rh(hNh"U C10H12N5O8Prhh}rhh(}rhh*}rh(UHK UCK UPKUOKUNKuhjhubh,Ueh(}rhh.h/]RrhubGshNhU GMP exchangerhhEG@@hFGh}rhhHh/]RrhhUEX_gmp_erhhKGhLhMhNhNUh(}rhhPNubh)rh}rh(h UExchangerhh }rhh)rh}rh(hNhNhU Guanosinerhh}rh(UCHEBI]rhU16750rhaUKEGG]rhUC00387rhaUPUBCHEM]rhU3677rhauhUgsn_erhhUEh Kh!Gh"h#)rh}rh(hNh"U C10H13N5O5rhh}rhh(}rhh*}rh(UHK UCK UOKUNKuhjhubh,Ueh(}rhh.h/]RrhubGshNhUGuanosine exchangerhhEG@@hFGh}rhhHh/]RrhhUEX_gsn_erhhKGhLhMhNhNUh(}rhhPNubh)rh}rh(h UExchangerhh }rhh)rh}rh(hNhNhUOxidized-glutathionerhh}rh(UCHEBI]rhU17858rhaUKEGG]rhUC00127rhaUPUBCHEM]rhU3427rhauhUgthox_erhhUEh Jh!Gh"h#)rh}rh(hNh"U C20H30N6O12S2rhh}rhh(}rhh*}rh(UHKUCKUSKUOK UNKuhjhubh,Ueh(}rhh.h/]RrhubGshNhUOxidized glutathione exchangerhhEG@@hFGh}rhhHh/]RrhhU EX_gthox_erhhKGhLhMhNhNUh(}rhhPNubh)rh}rh(h UExchangerhh }rhh)rh}rh(hNhNhUReduced-glutathionerhh}rh(UCHEBI]rhU16856rhaUKEGG]rhUC00051riaUPUBCHEM]riU3353riauhUgthrd_erihUEh Jh!Gh"h#)ri}ri(hNh"U C10H16N3O6Srih}rih(}rih*}r i(UHKUCK USKUOKUNKuhjiubh,Ueh(}r ih.h/]Rr iubGshNhUReduced glutathione exchanger ihEG@@hFGh}r ihHh/]RrihU EX_gthrd_erihKGhLhMhNhNUh(}rihPNubh)ri}ri(h UExchangerih }rih)ri}ri(hNhNhUGTPrih}ri(UCHEBI]riU15996riaUKEGG]riUC00044riaUPUBCHEM]riU3346riauhUgtp_erihUEh Jh!Gh"h#)r i}r!i(hNh"U C10H12N5O14P3r"ih}r#ih(}r$ih*}r%i(UHK UCK UPKUOKUNKuhj"iubh,Ueh(}r&ih.h/]Rr'iubGshNhU GTP exchanger(ihEG@@hFGh}r)ihHh/]Rr*ihUEX_gtp_er+ihKGhLhMhNhNUh(}r,ihPNubh)r-i}r.i(h UExchanger/ih }r0ih)r1i}r2i(hNhNhUGuaniner3ih}r4i(UCHEBI]r5iU16235r6iaUKEGG]r7iUC00242r8iaUPUBCHEM]r9iU3541r:iauhUgua_er;ihUEh Kh!Gh"h#)rih}r?ih(}r@ih*}rAi(UHKUCKUOKUNKuhj>iubh,Ueh(}rBih.h/]RrCiubGshNhUGuanine exchangerDihEG@@hFGh}rEihHh/]RrFihUEX_gua_erGihKGhLhMhNhNUh(}rHihPNubh)rIi}rJi(h UExchangerKih }rLih)rMi}rNi(hNhNhUH2rOih}rPi(UCHEBI]rQiU18276rRiaUKEGG]rSiUC00282rTiaUPUBCHEM]rUiU3577rViauhUh2_erWihUEh Kh!Gh"h#)rXi}rYi(hNh"UH2rZih}r[ih(}r\ih*}r]iUHKshjZiubh,Ueh(}r^ih.h/]Rr_iubGshNhU H2 exchanger`ihEG@@hFGh}raihHh/]RrbihUEX_h2_ercihKGhLhMhNhNUh(}rdihPNubh)rei}rfi(h UExchangergih }rhih)rii}rji(hNhNhUHydrogen-peroxiderkih}rli(UCHEBI]rmiU16240rniaUKEGG]roiUC00027rpiaUPUBCHEM]rqiU3329rriauhUh2o2_ersihUEh Kh!Gh"h#)rti}rui(hNh"UH2O2rvih}rwih(}rxih*}ryi(UHKUOKuhjviubh,Ueh(}rzih.h/]Rr{iubGshNhUHydrogen peroxide exchanger|ihEG@@hFGh}r}ihHh/]Rr~ihU EX_h2o2_erihKGhLhMhNhNUh(}rihPNubh)ri}ri(h UExchangerih }rih)ri}ri(hNhNhUH2Orih}ri(UCHEBI]riU15377riaUKEGG]riUC00001riaUPUBCHEM]riU3303riauhUh2o_erihUEh Kh!Gh"h#)ri}ri(hNh"UH2Orih}rih(}rih*}ri(UHKUOKuhjiubh,Ueh(}rih.h/]RriubGshNhU H2O exchangerihEG@@hFG@h}rihHh/]RrihUEX_h2o_erihKGhLhMhNhNUh(}rihPNubh)ri}ri(h UExchangerih }rih)ri}ri(hNhNhUHydrogen-sulfiderih}ri(UCHEBI]riU16136riaUKEGG]riUC00283riaUPUBCHEM]riU3578riauhUh2s_erihUEh Kh!Gh"h#)ri}ri(hNh"UH2Srih}rih(}rih*}ri(UHKUSKuhjiubh,Ueh(}rih.h/]RriubGshNhUHydrogen sulfide exchangerihEG@@hFGh}rihHh/]RrihUEX_h2s_erihKGhLhMhNhNUh(}rihPNubh)ri}ri(h UExchangerih }rih)ri}ri(hNhNhUHh}ri(UCHEBI]riU15378riaUKEGG]riUC00080riaUPUBCHEM]riU3380riauhUh_erihUEh Kh!Gh"h#)ri}ri(hNh"UHh}rih(}rih*}riUHKshUHubh,Ueh(}rih.h/]RriubGshNhU H exchangerihEG@@hFGYh}rihHh/]RrihUEX_h_erihKGhLhMhNhNUh(}rihPNubh)ri}ri(h UExchangerih }rih)ri}ri(hNhNhU2hepta-acylated-core-oligosaccharide-lipid-A-E-colirih}ri(UCHEBI]riU0aUKEGG]riU0aUPUBCHEM]riU0auhU hacolipa_erihUEh Jh!Gh"h#)ri}ri(hNh"UC192H333N2O101P4rih}rih(}rih*}ri(UHMMUCKUPKUOKeUNKuhjiubh,Ueh(}rih.h/]RriubGshNhU;hepta acylated core oligosaccharide lipid A E coli exchangerihEG@@hFGh}rihHh/]RrihU EX_hacolipa_erihKGhLhMhNhNUh(}rihPNubh)ri}ri(h UExchangerih }rih)ri}ri(hNhNhUhepta-acylated-KDO-2-lipid-Arih}ri(UCHEBI]riU0aUKEGG]riU0aUPUBCHEM]riU0auhUhalipa_erihUEh Jh!Gh"h#)ri}ri(hNh"UC126H226N2O40P2rih}rih(}rih*}ri(UHKUCK~UPKUOK(UNKuhjiubh,Ueh(}rih.h/]RriubGshNhU%hepta acylated KDO 2 lipid A exchangerjhEG@@hFGh}rjhHh/]RrjhU EX_halipa_erjhKGhLhMhNhNUh(}rjhPNubh)rj}rj(h UExchangerjh }rjh)r j}r j(hNhNhUHexadecanoate-n-C160r jh}r j(UCHEBI]r jU15756rjaUKEGG]rjUC00249rjaUPUBCHEM]rjU3548rjauhUhdca_erjhUEh Jh!Gh"h#)rj}rj(hNh"UC16H31O2rjh}rjh(}rjh*}rj(UHKUCKUOKuhjjubh,Ueh(}rjh.h/]RrjubGshNhUHexadecanoate n C160 exchangerjhEG@@hFGh}rjhHh/]RrjhU EX_hdca_erjhKGhLhMhNhNUh(}r jhPNubh)r!j}r"j(h UExchanger#jh }r$jh)r%j}r&j(hNhNhUHexadecenoate-n-C161r'jh}r(j(UCHEBI]r)jU15756r*jaUKEGG]r+jUC00249r,jaUPUBCHEM]r-jU3548r.jauhUhdcea_er/jhUEh Jh!Gh"h#)r0j}r1j(hNh"UC16H29O2r2jh}r3jh(}r4jh*}r5j(UHKUCKUOKuhj2jubh,Ueh(}r6jh.h/]Rr7jubGshNhUhexadecenoate n C161 exchanger8jhEG@@hFGh}r9jhHh/]Rr:jhU EX_hdcea_er;jhKGhLhMhNhNUh(}rj(h UExchanger?jh }r@jh)rAj}rBj(hNhNhUHg2rCjh}rDj(UCHEBI]rEjU16793rFjaUKEGG]rGjUC00703rHjaUPUBCHEM]rIjU3970rJjauhUhg2_erKjhUEh Kh!Gh"h#)rLj}rMj(hNh"UHgrNjh}rOjh(}rPjh*}rQjjNjKshjNjubh,Ueh(}rRjh.h/]RrSjubGshNhU Hg2 exchangerTjhEG@@hFGh}rUjhHh/]RrVjhUEX_hg2_erWjhKGhLhMhNhNUh(}rXjhPNubh)rYj}rZj(h UExchanger[jh }r\jh)r]j}r^j(hNhNhU L-Histidiner_jh}r`j(UCHEBI]rajU15971rbjaUKEGG]rcjUC00135rdjaUPUBCHEM]rejU3435rfjauhUhis__L_ergjhUEh Kh!Gh"h#)rhj}rij(hNh"UC6H9N3O2rjjh}rkjh(}rljh*}rmj(UHK UCKUOKUNKuhjjjubh,Ueh(}rnjh.h/]RrojubGshNhUL Histidine exchangerpjhEG@@hFGh}rqjhHh/]RrrjhU EX_his__L_ersjhKGhLhMhNhNUh(}rtjhPNubh)ruj}rvj(h UExchangerwjh }rxjh)ryj}rzj(hNhNhU L-Homoseriner{jh}r|j(UCHEBI]r}jU15699r~jaUKEGG]rjUC00263rjaUPUBCHEM]rjU3561rjauhUhom__L_erjhUEh Kh!Gh"h#)rj}rj(hNh"UC4H9NO3rjh}rjh(}rjh*}rj(UHK UCKUOKUNKuhjjubh,Ueh(}rjh.h/]RrjubGshNhUL Homoserine exchangerjhEG@@hFGh}rjhHh/]RrjhU EX_hom__L_erjhKGhLhMhNhNUh(}rjhPNubh)rj}rj(h UExchangerjh }rjh)rj}rj(hNhNhUHexanoate-n-C60rjh}rj(UCHEBI]rjU30776rjaUKEGG]rjUC01585rjaUPUBCHEM]rjU4740rjauhUhxa_erjhUEh Jh!Gh"h#)rj}rj(hNh"UC6H11O2rjh}rjh(}rjh*}rj(UHK UCKUOKuhjjubh,Ueh(}rjh.h/]RrjubGshNhUHexanoate n C60 exchangerjhEG@@hFGh}rjhHh/]RrjhUEX_hxa_erjhKGhLhMhNhNUh(}rjhPNubh)rj}rj(h UExchangerjh }rjh)rj}rj(hNhNhU Hypoxanthinerjh}rj(UCHEBI]rjU17368rjaUKEGG]rjUC00262rjaUPUBCHEM]rjU3560rjauhUhxan_erjhUEh Kh!Gh"h#)rj}rj(hNh"UC5H4N4Orjh}rjh(}rjh*}rj(UHKUCKUOKUNKuhjjubh,Ueh(}rjh.h/]RrjubGshNhUHypoxanthine exchangerjhEG@@hFGh}rjhHh/]RrjhU EX_hxan_erjhKGhLhMhNhNUh(}rjhPNubh)rj}rj(h UExchangerjh }rjh)rj}rj(hNhNhU L-Idonaterjh}rj(UCHEBI]rjU17796rjaUKEGG]rjUC00770rjaUPUBCHEM]rjU4032rjauhU idon__L_erjhUEh Jh!Gh"h#)rj}rj(hNh"UC6H11O7rjh}rjh(}rjh*}rj(UHK UCKUOKuhjjubh,Ueh(}rjh.h/]RrjubGshNhUL Idonate exchangerjhEG@@hFGh}rjhHh/]RrjhU EX_idon__L_erjhKGhLhMhNhNUh(}rjhPNubh)rj}rj(h UExchangerjh }rjh)rj}rj(hNhNhU L-Isoleucinerjh}rj(UCHEBI]rjU17191rjaUKEGG]rjUC00407rjaUPUBCHEM]rjU3697rjauhUile__L_erjhUEh Kh!Gh"h#)rj}rj(hNh"UC6H13NO2rjh}rjh(}rjh*}rj(UHK UCKUOKUNKuhjjubh,Ueh(}rjh.h/]RrjubGshNhUL Isoleucine exchangerjhEG@@hFGh}rjhHh/]RrjhU EX_ile__L_erjhKGhLhMhNhNUh(}rkhPNubh)rk}rk(h UExchangerkh }rkh)rk}rk(hNhNhUIMPrkh}rk(UCHEBI]r kU17202r kaUKEGG]r kUC00130r kaUPUBCHEM]r kU3430rkauhUimp_erkhUEh Jh!Gh"h#)rk}rk(hNh"U C10H11N4O8Prkh}rkh(}rkh*}rk(UHK UCK UPKUOKUNKuhjkubh,Ueh(}rkh.h/]RrkubGshNhU IMP exchangerkhEG@@hFGh}rkhHh/]RrkhUEX_imp_erkhKGhLhMhNhNUh(}rkhPNubh)rk}rk(h UExchangerkh }r kh)r!k}r"k(hNhNhUIndoler#kh}r$k(UCHEBI]r%kU16881r&kaUKEGG]r'kUC00463r(kaUPUBCHEM]r)kU3747r*kauhUindole_er+khUEh Kh!Gh"h#)r,k}r-k(hNh"UC8H7Nr.kh}r/kh(}r0kh*}r1k(UHKUCKUNKuhj.kubh,Ueh(}r2kh.h/]Rr3kubGshNhUIndole exchanger4khEG@@hFGh}r5khHh/]Rr6khU EX_indole_er7khKGhLhMhNhNUh(}r8khPNubh)r9k}r:k(h UExchanger;kh }rk(hNhNhU myo-Inositolr?kh}r@k(UCHEBI]rAkU17268rBkaUKEGG]rCkUC00137rDkaUPUBCHEM]rEkU3437rFkauhUinost_erGkhUEh Kh!Gh"h#)rHk}rIk(hNh"UC6H12O6rJkh}rKkh(}rLkh*}rMk(UHK UCKUOKuhjJkubh,Ueh(}rNkh.h/]RrOkubGshNhUmyo Inositol exchangerPkhEG@@hFGh}rQkhHh/]RrRkhU EX_inost_erSkhKGhLhMhNhNUh(}rTkhPNubh)rUk}rVk(h UExchangerWkh }rXkh)rYk}rZk(hNhNhUInosiner[kh}r\k(UCHEBI]r]kU17596r^kaUKEGG]r_kUC00294r`kaUPUBCHEM]rakU3588rbkauhUins_erckhUEh Kh!Gh"h#)rdk}rek(hNh"U C10H12N4O5rfkh}rgkh(}rhkh*}rik(UHK UCK UOKUNKuhjfkubh,Ueh(}rjkh.h/]RrkkubGshNhUInosine exchangerlkhEG@@hFGh}rmkhHh/]RrnkhUEX_ins_erokhKGhLhMhNhNUh(}rpkhPNubh)rqk}rrk(h UExchangerskh }rtkh)ruk}rvk(hNhNhUIsethionic-acidrwkh}rxk(UCHEBI]rykU0aUKEGG]rzkUC05123r{kaUPUBCHEM]r|kU7545r}kauhUisetac_er~khUEh Jh!Gh"h#)rk}rk(hNh"UC2H5O4Srkh}rkh(}rkh*}rk(UHKUCKUSKUOKuhjkubh,Ueh(}rkh.h/]RrkubGshNhUIsethionic acid exchangerkhEG@@hFGh}rkhHh/]RrkhU EX_isetac_erkhKGhLhMhNhNUh(}rkhPNubh)rk}rk(h UExchangerkh }rkh)rk}rk(hNhNhU potassiumrkh}rk(UCHEBI]rkU29103rkaUKEGG]rkUC00238rkaUPUBCHEM]rkU3537rkauhUk_erkhUEh Kh!Gh"h#)rk}rk(hNh"UKh}rkh(}rkh*}rkUKKshUKubh,Ueh(}rkh.h/]RrkubGshNhU K exchangerkhEG@@hFGh}rkhHh/]RrkhUEX_k_erkhKGhLhMhNhNUh(}rkhPNubh)rk}rk(h UExchangerkh }rkh)rk}rk(hNhNhUKDO-2-lipid-IV-Arkh}rk(UCHEBI]rkU0aUKEGG]rkUC06025rkaUPUBCHEM]rkU8297rkauhU kdo2lipid4_erkhUEh Jh!Gh"h#)rk}rk(hNh"UC84H148N2O37P2rkh}rkh(}rkh*}rk(UHKUCKTUPKUOK%UNKuhjkubh,Ueh(}rkh.h/]RrkubGshNhUKDO 2 lipid IV A exchangerkhEG@@hFGh}rkhHh/]RrkhUEX_kdo2lipid4_erkhKGhLhMhNhNUh(}rkhPNubh)rk}rk(h UExchangerkh }rkjDYGshNhUD lactate exchangerkhEG@@hFGh}rkhHh/]RrkhU EX_lac__D_erkhKGhLhMhNhNUh(}rkhPNubh)rk}rk(h UExchangerkh }rkh)rk}rk(hNhNhU L-Lactaterkh}rk(UCHEBI]rkU422rkaUKEGG]rkUC00186rkaUPUBCHEM]rkU3486rkauhUlac__L_erkhUEh Jh!Gh"h#)rk}rk(hNh"UC3H5O3rkh}rkh(}rkh*}rk(UHKUCKUOKuhjkubh,Ueh(}rkh.h/]RrkubGshNhUL Lactate exchangerkhEG@@hFGh}rkhHh/]RrkhU EX_lac__L_erkhKGhLhMhNhNUh(}rkhPNubh)rk}rk(h UExchangerkh }rkh)rk}rk(hNhNhULactoserkh}rk(UCHEBI]rkU36219rkaUKEGG]rkUC00243rkaUPUBCHEM]rkU3542rkauhUlcts_erkhUEh Kh!Gh"h#)rk}rk(hNh"U C12H22O11rkh}rkh(}rkh*}rk(UHKUCK UOK uhjkubh,Ueh(}rkh.h/]RrkubGshNhULactose exchangerkhEG@@hFGh}rkhHh/]RrlhU EX_lcts_erlhKGhLhMhNhNUh(}rlhPNubh)rl}rl(h UExchangerlh }rlh)rl}rl(hNhNhU L-Leuciner lh}r l(UCHEBI]r lU15603r laUKEGG]r lUC00123rlaUPUBCHEM]rlU3423rlauhUleu__L_erlhUEh Kh!Gh"h#)rl}rl(hNh"UC6H13NO2rlh}rlh(}rlh*}rl(UHK UCKUOKUNKuhjlubh,Ueh(}rlh.h/]RrlubGshNhUL Leucine exchangerlhEG@@hFGh}rlhHh/]RrlhU EX_leu__L_erlhKGhLhMhNhNUh(}rlhPNubh)rl}r l(h UExchanger!lh }r"ljR>GshNhU#cold adapted KDO 2 lipid A exchanger#lhEG@@hFGh}r$lhHh/]Rr%lhUEX_lipa__cold_er&lhKGhLhMhNhNUh(}r'lhPNubh)r(l}r)l(h UExchanger*lh }r+lh)r,l}r-l(hNhNhU KDO-2-lipid-Ar.lh}r/l(UCHEBI]r0lU27963r1laUKEGG]r2lUC06026r3laUPUBCHEM]r4lU8298r5lauhUlipa_er6lhUEh Jh!Gh"h#)r7l}r8l(hNh"UC110H196N2O39P2r9lh}r:lh(}r;lh*}rlubGshNhUKDO 2 lipid A exchanger?lhEG@@hFGh}r@lhHh/]RrAlhU EX_lipa_erBlhKGhLhMhNhNUh(}rClhPNubh)rDl}rEl(h UExchangerFlh }rGlh)rHl}rIl(hNhNhUL-LysinerJlh}rKl(UCHEBI]rLlU18019rMlaUKEGG]rNlUC00047rOlaUPUBCHEM]rPlU3349rQlauhUlys__L_erRlhUEh Kh!Gh"h#)rSl}rTl(hNh"U C6H15N2O2rUlh}rVlh(}rWlh*}rXl(UHKUCKUOKUNKuhjUlubh,Ueh(}rYlh.h/]RrZlubGshNhUL Lysine exchanger[lhEG@@hFGh}r\lhHh/]Rr]lhU EX_lys__L_er^lhKGhLhMhNhNUh(}r_lhPNubh)r`l}ral(h UExchangerblh }rclh)rdl}rel(hNhNhUL-Lyxoserflh}rgl(UCHEBI]rhlU28480rilaUKEGG]rjlUC01508rklaUPUBCHEM]rllU4676rmlauhUlyx__L_ernlhUEh Kh!Gh"h#)rol}rpl(hNh"UC5H10O5rqlh}rrlh(}rslh*}rtl(UHK UCKUOKuhjqlubh,Ueh(}rulh.h/]RrvlubGshNhUL Lyxose exchangerwlhEG@@hFGh}rxlhHh/]RrylhU EX_lyx__L_erzlhKGhLhMhNhNUh(}r{lhPNubh)r|l}r}l(h UExchanger~lh }rlh)rl}rl(hNhNhUD-Malaterlh}rl(UCHEBI]rlU30796rlaUKEGG]rlUC00497rlaUPUBCHEM]rlU3780rlauhUmal__D_erlhUEh Jh!Gh"h#)rl}rl(hNh"UC4H4O5rlh}rlh(}rlh*}rl(UHKUCKUOKuhjlubh,Ueh(}rlh.h/]RrlubGshNhUD Malate exchangerlhEG@@hFGh}rlhHh/]RrlhU EX_mal__D_erlhKGhLhMhNhNUh(}rlhPNubh)rl}rl(h UExchangerlh }rlh)rl}rl(hNhNhUL-Malaterlh}rl(UCHEBI]rlU30797rlaUKEGG]rlUC00149rlaUPUBCHEM]rlU3449rlauhUmal__L_erlhUEh Jh!Gh"h#)rl}rl(hNh"UC4H4O5rlh}rlh(}rlh*}rl(UHKUCKUOKuhjlubh,Ueh(}rlh.h/]RrlubGshNhUL Malate exchangerlhEG@@hFGh}rlhHh/]RrlhU EX_mal__L_erlhKGhLhMhNhNUh(}rlhPNubh)rl}rl(h UExchangerlh }rlh)rl}rl(hNhNhUMaltoserlh}rl(UCHEBI]rlU17306rlaUKEGG]rlUC00208rlaUPUBCHEM]rlU3508rlauhUmalt_erlhUEh Kh!Gh"h#)rl}rl(hNh"U C12H22O11rlh}rlh(}rlh*}rl(UHKUCK UOK uhjlubh,Ueh(}rlh.h/]RrlubGshNhUMaltose exchangerlhEG@@hFGh}rlhHh/]RrlhU EX_malt_erlhKGhLhMhNhNUh(}rlhPNubh)rl}rl(h UExchangerlh }rlh)rl}rl(hNhNhU Maltohexaoserlh}rl(UCHEBI]rlU0aUKEGG]rlUC01936rlaUPUBCHEM]rlU5041rlauhUmalthx_erlhUEh Kh!Gh"h#)rl}rl(hNh"U C36H62O31rlh}rlh(}rlh*}rl(UHK>UCK$UOKuhjlubh,Ueh(}rlh.h/]RrlubGshNhUMaltohexaose exchangerlhEG@@hFGh}rlhHh/]RrlhU EX_malthx_erlhKGhLhMhNhNUh(}rlhPNubh)rl}rl(h UExchangerlh }rlh)rl}rl(hNhNhU Maltopentaoserlh}rl(UCHEBI]rlU28057rlaUKEGG]rlU0aUPUBCHEM]rlU 124005??3611rlauhUmaltpt_erlhUEh Kh!Gh"h#)rl}rl(hNh"U C30H52O26rlh}rlh(}rlh*}rl(UHK4UCKUOKuhjlubh,Ueh(}rlh.h/]RrmubGshNhUMaltopentaose exchangermhEG@@hFGh}rmhHh/]RrmhU EX_maltpt_ermhKGhLhMhNhNUh(}rmhPNubh)rm}rm(h UExchangermh }r mh)r m}r m(hNhNhU Maltotrioser mh}r m(UCHEBI]rmU27931rmaUKEGG]rmUC01835rmaUPUBCHEM]rmU4954rmauhUmalttr_ermhUEh Kh!Gh"h#)rm}rm(hNh"U C18H32O16rmh}rmh(}rmh*}rm(UHK UCKUOKuhjmubh,Ueh(}rmh.h/]RrmubGshNhUMaltotriose exchangermhEG@@hFGh}rmhHh/]RrmhU EX_malttr_er mhKGhLhMhNhNUh(}r!mhPNubh)r"m}r#m(h UExchanger$mh }r%mh)r&m}r'm(hNhNhU Maltotetraoser(mh}r)m(UCHEBI]r*mU0aUKEGG]r+mUC02052r,maUPUBCHEM]r-mU5141r.mauhU maltttr_er/mhUEh Kh!Gh"h#)r0m}r1m(hNh"U C24H42O21r2mh}r3mh(}r4mh*}r5m(UHK*UCKUOKuhj2mubh,Ueh(}r6mh.h/]Rr7mubGshNhUMaltotetraose exchanger8mhEG@@hFGh}r9mhHh/]Rr:mhU EX_maltttr_er;mhKGhLhMhNhNUh(}rm(h UExchanger?mh }r@mh)rAm}rBm(hNhNhUD-Mannose-6-phosphaterCmh}rDm(UCHEBI]rEmU17369rFmaUKEGG]rGmUC00275rHmaUPUBCHEM]rImU3572rJmauhUman6p_erKmhUEh Jh!Gh"h#)rLm}rMm(hNh"UC6H11O9PrNmh}rOmh(}rPmh*}rQm(UHK UCKUOK UPKuhjNmubh,Ueh(}rRmh.h/]RrSmubGshNhUD Mannose 6 phosphate exchangerTmhEG@@hFGh}rUmhHh/]RrVmhU EX_man6p_erWmhKGhLhMhNhNUh(}rXmhPNubh)rYm}rZm(h UExchanger[mh }r\mh)r]m}r^m(hNhNhU D-Mannoser_mh}r`m(UCHEBI]ramU4208rbmaUKEGG]rcmUC00159rdmaUPUBCHEM]remU3459rfmauhUman_ergmhUEh Kh!Gh"h#)rhm}rim(hNh"UC6H12O6rjmh}rkmh(}rlmh*}rmm(UHK UCKUOKuhjjmubh,Ueh(}rnmh.h/]RromubGshNhUD Mannose exchangerpmhEG@@hFGh}rqmhHh/]RrrmhUEX_man_ersmhKGhLhMhNhNUh(}rtmhPNubh)rum}rvm(h UExchangerwmh }rxmh)rym}rzm(hNhNhU2-alpha-D-Mannosyl-D-glycerater{mh}r|m(UCHEBI]r}mU15847r~maUKEGG]rmUC11544rmaUPUBCHEM]rmU13711rmauhU manglyc_ermhUEh Jh!Gh"h#)rm}rm(hNh"UC9H15O9rmh}rmh(}rmh*}rm(UHKUCK UOK uhjmubh,Ueh(}rmh.h/]RrmubGshNhU'2 alpha D Mannosyl D glycerate exchangermhEG@@hFGh}rmhHh/]RrmhU EX_manglyc_ermhKGhLhMhNhNUh(}rmhPNubh)rm}rm(h UExchangermh }rmh)rm}rm(hNhNhU Melibiosermh}rm(UCHEBI]rmU28053rmaUKEGG]rmUC05402rmaUPUBCHEM]rmU7769rmauhUmelib_ermhUEh Kh!Gh"h#)rm}rm(hNh"U C12H22O11rmh}rmh(}rmh*}rm(UHKUCK UOK uhjmubh,Ueh(}rmh.h/]RrmubGshNhUMelibiose exchangermhEG@@hFGh}rmhHh/]RrmhU EX_melib_ermhKGhLhMhNhNUh(}rmhPNubh)rm}rm(h UExchangermh }rmh)rm}rm(hNhNhU D-Methioninermh}rm(UCHEBI]rmU16867rmaUKEGG]rmUC00855rmaUPUBCHEM]rmU4112rmauhUmet__D_ermhUEh Kh!Gh"h#)rm}rm(hNh"U C5H10NO2Srmh}rmh(}rmh*}rm(UHK UCKUSKUOKUNKuhjmubh,Ueh(}rmh.h/]RrmubGshNhUD Methionine exchangermhEG@@hFGh}rmhHh/]RrmhU EX_met__D_ermhKGhLhMhNhNUh(}rmhPNubh)rm}rm(h UExchangermh }rmh)rm}rm(hNhNhU L-Methioninermh}rm(UCHEBI]rmU16643rmaUKEGG]rmUC00073rmaUPUBCHEM]rmU3373rmauhUmet__L_ermhUEh Kh!Gh"h#)rm}rm(hNh"U C5H11NO2Srmh}rmh(}rmh*}rm(UHK UCKUSKUOKUNKuhjmubh,Ueh(}rmh.h/]RrmubGshNhUL Methionine exchangermhEG@@hFGh}rmhHh/]RrmhU EX_met__L_ermhKGhLhMhNhNUh(}rmhPNubh)rm}rm(h UExchangermh }rmh)rm}rm(hNhNhUL-methionine-R-sulfoxidermh}rm(UCHEBI]rmU0aUKEGG]rmU0aUPUBCHEM]rmU847rmauhUmetsox__R__L_ermhUEh Kh!Gh"h#)rm}rm(hNh"U C5H11NO3Srmh}rmh(}rmh*}rm(UHK UCKUSKUOKUNKuhjmubh,Ueh(}rmh.h/]RrmubGshNhU!L methionine R sulfoxide exchangermhEG@@hFGh}rmhHh/]RrmhUEX_metsox__R__L_ermhKGhLhMhNhNUh(}rmhPNubh)rm}rn(h UExchangernh }rnh)rn}rn(hNhNhUL-Methionine-Sulfoxidernh}rn(UCHEBI]rnU17016rnaUKEGG]r nUC02989r naUPUBCHEM]r nU5898r nauhUmetsox__S__L_er nhUEh Kh!Gh"h#)rn}rn(hNh"U C5H11NO3Srnh}rnh(}rnh*}rn(UHK UCKUSKUOKUNKuhjnubh,Ueh(}rnh.h/]RrnubGshNhUL Methionine S oxide exchangernhEG@@hFGh}rnhHh/]RrnhUEX_metsox__S__L_ernhKGhLhMhNhNUh(}rnhPNubh)rn}rn(h UExchangernh }rnh)rn}r n(hNhNhU magnesiumr!nh}r"n(UCHEBI]r#nU18420r$naUKEGG]r%nUC00305r&naUPUBCHEM]r'nU3599r(nauhUmg2_er)nhUEh Kh!Gh"h#)r*n}r+n(hNh"UMgr,nh}r-nh(}r.nh*}r/nj,nKshj,nubh,Ueh(}r0nh.h/]Rr1nubGshNhU Mg exchanger2nhEG@@hFGbMh}r3nhHh/]Rr4nhUEX_mg2_er5nhKGhLhMhNhNUh(}r6nhPNubh)r7n}r8n(h UExchanger9nh }r:nh)r;n}rn(UCHEBI]r?nU17401r@naUKEGG]rAnUC01204rBnaUPUBCHEM]rCnU4428rDnauhUminohp_erEnhUEh Jh!Gh"h#)rFn}rGn(hNh"U C6H6O24P6rHnh}rInh(}rJnh*}rKn(UHKUCKUOKUPKuhjHnubh,Ueh(}rLnh.h/]RrMnubGshNhU&myo Inositol hexakisphosphate exchangerNnhEG@@hFGh}rOnhHh/]RrPnhU EX_minohp_erQnhKGhLhMhNhNUh(}rRnhPNubh)rSn}rTn(h UExchangerUnh }rVnh)rWn}rXn(hNhNhUS-Methyl-L-methioninerYnh}rZn(UCHEBI]r[nU17728r\naUKEGG]r]nUC03172r^naUPUBCHEM]r_nU6054r`nauhUmmet_eranhUEh Kh!Gh"h#)rbn}rcn(hNh"U C6H14NO2Srdnh}renh(}rfnh*}rgn(UHKUCKUSKUOKUNKuhjdnubh,Ueh(}rhnh.h/]RrinubGshNhUS Methyl L methionine exchangerjnhEG@@hFGh}rknhHh/]RrlnhU EX_mmet_ermnhKGhLhMhNhNUh(}rnnhPNubh)ron}rpn(h UExchangerqnh }rrnh)rsn}rtn(hNhNhUMn2runh}rvn(UCHEBI]rwnU18291rxnaUKEGG]rynUC00034rznaUPUBCHEM]r{nU3336r|nauhUmn2_er}nhUEh Kh!Gh"h#)r~n}rn(hNh"UMnrnh}rnh(}rnh*}rnjnKshjnubh,Ueh(}rnh.h/]RrnubGshNhU Mn2 exchangernhEG@@hFGtzG{h}rnhHh/]RrnhUEX_mn2_ernhKGhLhMhNhNUh(}rnhPNubh)rn}rn(h UExchangernh }rnh)rn}rn(hNhNhU D-Mannitolrnh}rn(UCHEBI]rnU16899rnaUKEGG]rnUC00392rnaUPUBCHEM]rnU3682rnauhUmnl_ernhUEh Kh!Gh"h#)rn}rn(hNh"UC6H14O6rnh}rnh(}rnh*}rn(UHKUCKUOKuhjnubh,Ueh(}rnh.h/]RrnubGshNhUD Mannitol exchangernhEG@@hFGh}rnhHh/]RrnhUEX_mnl_ernhKGhLhMhNhNUh(}rnhPNubh)rn}rn(h UExchangernh }rnh)rn}rn(hNhNhUMolybdate-MoO4rnh}rn(UCHEBI]rnU36264rnaUKEGG]rnUC06232rnaUPUBCHEM]rnU8475rnauhUmobd_ernhUEh Jh!Gh"h#)rn}rn(hNh"Uh}rnh(}rnh*}rnhUubh,Ueh(}rnh.h/]RrnubGshNhUMolybdate exchangernhEG@@hFGtzG{h}rnhHh/]RrnhU EX_mobd_ernhKGhLhMhNhNUh(}rnhPNubh)rn}rn(h UExchangernh }rnh)rn}rn(hNhNhUmethanesulfonaternh}rn(UCHEBI]rnU25224rnaUKEGG]rnU0aUPUBCHEM]rnU49991312rnauhUmso3_ernhUEh Jh!Gh"h#)rn}rn(hNh"UCH3O3Srnh}rnh(}rnh*}rn(UHKUCKUSKUOKuhjnubh,Ueh(}rnh.h/]RrnubGshNhUmethanesulfonate exchangernhEG@@hFGh}rnhHh/]RrnhU EX_mso3_ernhKGhLhMhNhNUh(}rnhPNubh)rn}rn(h UExchangernh }rnh)rn}rn(hNhNhU Nitrous-oxidernh}rn(UCHEBI]rnU17045rnaUKEGG]rnUC00887rnaUPUBCHEM]rnU4143rnauhUn2o_ernhUEh Kh!Gh"h#)rn}rn(hNh"UN2Ornh}rnh(}rnh*}rn(UOKUNKuhjnubh,Ueh(}rnh.h/]RrnubGshNhUNitrous oxide exchangernhEG@@hFGh}rnhHh/]RrnhUEX_n2o_ernhKGhLhMhNhNUh(}rnhPNubh)rn}rn(h UExchangernh }rnh)rn}rn(hNhNhUSodiumrnh}ro(UCHEBI]roU29101roaUKEGG]roUC01330roaUPUBCHEM]roU4541roauhUna1_erohUEh Kh!Gh"h#)ro}r o(hNh"UNar oh}r oh(}r oh*}r oj oKshj oubh,Ueh(}roh.h/]RroubGshNhUSodium exchangerohEG@@hFGh}rohHh/]RrohUEX_na1_erohKGhLhMhNhNUh(}rohPNubh)ro}ro(h UExchangeroh }roh)ro}ro(hNhNhU Nicotinateroh}ro(UCHEBI]roU15940roaUKEGG]roUC00253r oaUPUBCHEM]r!oU3552r"oauhUnac_er#ohUEh Jh!Gh"h#)r$o}r%o(hNh"UC6H4NO2r&oh}r'oh(}r(oh*}r)o(UHKUCKUOKUNKuhj&oubh,Ueh(}r*oh.h/]Rr+oubGshNhUNicotinate exchanger,ohEG@@hFGh}r-ohHh/]Rr.ohUEX_nac_er/ohKGhLhMhNhNUh(}r0ohPNubh)r1o}r2o(h UExchanger3oh }r4oh)r5o}r6o(hNhNhUAmmoniumr7oh}r8o(UCHEBI]r9oU28938r:oaUKEGG]r;oUC01342roauhUnh4_er?ohUEh Kh!Gh"h#)r@o}rAo(hNh"UH4NrBoh}rCoh(}rDoh*}rEo(UHKUNKuhjBoubh,Ueh(}rFoh.h/]RrGoubGshNhUAmmonia exchangerHohEG@@hFG.h}rIohHh/]RrJohUEX_nh4_erKohKGhLhMhNhNUh(}rLohPNubh)rMo}rNo(h UExchangerOoh }rPoh)rQo}rRo(hNhNhUnickelrSoh}rTo(UCHEBI]rUoU28112rVoaUKEGG]rWoUC00291rXoaUPUBCHEM]rYoU3585rZoauhUni2_er[ohUEh Kh!Gh"h#)r\o}r]o(hNh"UNir^oh}r_oh(}r`oh*}raoj^oKshj^oubh,Ueh(}rboh.h/]RrcoubGshNhU Ni2 exchangerdohEG@@hFGh}reohHh/]RrfohUEX_ni2_ergohKGhLhMhNhNUh(}rhohPNubh)rio}rjo(h UExchangerkoh }rloh)rmo}rno(hNhNhUNMNrooh}rpo(UCHEBI]rqoU16171rroaUKEGG]rsoUC00455rtoaUPUBCHEM]ruoU3741rvoauhUnmn_erwohUEh Jh!Gh"h#)rxo}ryo(hNh"U C11H14N2O8Przoh}r{oh(}r|oh*}r}o(UHKUCK UPKUOKUNKuhjzoubh,Ueh(}r~oh.h/]RroubGshNhU NMN exchangerohEG@@hFGh}rohHh/]RrohUEX_nmn_erohKGhLhMhNhNUh(}rohPNubh)ro}ro(h UExchangeroh }roh)ro}ro(hNhNhUNitriteroh}ro(UCHEBI]roU16301roaUKEGG]roUC00088roaUPUBCHEM]roU3388roauhUno2_erohUEh Jh!Gh"h#)ro}ro(hNh"UNO2roh}roh(}roh*}ro(UOKUNKuhjoubh,Ueh(}roh.h/]RroubGshNhUNitrite exchangerohEG@@hFGh}rohHh/]RrohUEX_no2_erohKGhLhMhNhNUh(}rohPNubh)ro}ro(h UExchangeroh }roh)ro}ro(hNhNhUNitrateroh}ro(UCHEBI]roU48107roaUKEGG]roUC00244roaUPUBCHEM]roU3543roauhUno3_erohUEh Jh!Gh"h#)ro}ro(hNh"UNO3roh}roh(}roh*}ro(UOKUNKuhjoubh,Ueh(}roh.h/]RroubGshNhUNitrate exchangerohEG@@hFGh}rohHh/]RrohUEX_no3_erohKGhLhMhNhNUh(}rohPNubh)ro}ro(h UExchangeroh }roh)ro}ro(hNhNhU Nitric-oxideroh}ro(UCHEBI]roU16480roaUKEGG]roUC00533roaUPUBCHEM]roU3815roauhUno_erohUEh Kh!Gh"h#)ro}ro(hNh"UNOroh}roh(}roh*}ro(UOKUNKuhjoubh,Ueh(}roh.h/]RroubGshNhUNitric oxide exchangerohEG@@hFGh}rohHh/]RrohUEX_no_erohKGhLhMhNhNUh(}rohPNubh)ro}ro(h UExchangeroh }roh)ro}ro(hNhNhUO2roh}ro(UCHEBI]roU15379roaUKEGG]roUC00007roaUPUBCHEM]roU3309roauhUo2_erohUEh Kh!Gh"h#)ro}ro(hNh"UO2roh}roh(}roh*}roUOKshjoubh,Ueh(}roh.h/]RroubGshNhU O2 exchangerohEG@@hFG2h}rohHh/]RrohUEX_o2_erohKGhLhMhNhNUh(}rohPNubh)ro}ro(h UExchangeroh }roh)ro}ro(hNhNhUSuperoxide-anionroh}ro(UCHEBI]roU18421roaUKEGG]roUC00704rpaUPUBCHEM]rpU3971rpauhUo2s_erphUEh Jh!Gh"h#)rp}rp(hNh"UO2rph}rph(}rph*}r pUOKshjpubh,Ueh(}r ph.h/]Rr pubGshNhUSuperoxide anion exchanger phEG@@hFGh}r phHh/]RrphUEX_o2s_erphKGhLhMhNhNUh(}rphPNubh)rp}rp(h UExchangerph }rph)rp}rp(hNhNhUoctadecanoate-n-C180rph}rp(UCHEBI]rpU25629rpaUKEGG]rpUC01530rpaUPUBCHEM]rpU4692rpauhUocdca_erphUEh Jh!Gh"h#)r p}r!p(hNh"UC18H35O2r"ph}r#ph(}r$ph*}r%p(UHK#UCKUOKuhj"pubh,Ueh(}r&ph.h/]Rr'pubGshNhUoctadecanoate n C180 exchanger(phEG@@hFGh}r)phHh/]Rr*phU EX_ocdca_er+phKGhLhMhNhNUh(}r,phPNubh)r-p}r.p(h UExchanger/ph }r0ph)r1p}r2p(hNhNhUoctadecenoate-n-C181r3ph}r4p(UCHEBI]r5pU16196r6paUKEGG]r7pU0aUPUBCHEM]r8pU3978r9pauhUocdcea_er:phUEh Jh!Gh"h#)r;p}rph(}r?ph*}r@p(UHK!UCKUOKuhj=pubh,Ueh(}rAph.h/]RrBpubGshNhUoctadecenoate n C181 exchangerCphEG@@hFGh}rDphHh/]RrEphU EX_ocdcea_erFphKGhLhMhNhNUh(}rGphPNubh)rHp}rIp(h UExchangerJph }rKph)rLp}rMp(hNhNhUoctanoate-n-C80rNph}rOp(UCHEBI]rPpU28837rQpaUKEGG]rRpUC06423rSpaUPUBCHEM]rTpU8658rUpauhUocta_erVphUEh Jh!Gh"h#)rWp}rXp(hNh"UC8H15O2rYph}rZph(}r[ph*}r\p(UHKUCKUOKuhjYpubh,Ueh(}r]ph.h/]Rr^pubGshNhUoctanoate n C80 exchanger_phEG@@hFGh}r`phHh/]RraphU EX_octa_erbphKGhLhMhNhNUh(}rcphPNubh)rdp}rep(h UExchangerfph }rgph)rhp}rip(hNhNhU Ornithinerjph}rkp(UCHEBI]rlpU18257rmpaUKEGG]rnpUC01602ropaUPUBCHEM]rppU4756rqpauhUorn_errphUEh Kh!Gh"h#)rsp}rtp(hNh"U C5H13N2O2ruph}rvph(}rwph*}rxp(UHK UCKUOKUNKuhjupubh,Ueh(}ryph.h/]RrzpubGshNhUOrnithine exchanger{phEG@@hFGh}r|phHh/]Rr}phUEX_orn_er~phKGhLhMhNhNUh(}rphPNubh)rp}rp(h UExchangerph }rph)rp}rp(hNhNhUOrotaterph}rp(UCHEBI]rpU16742rpaUKEGG]rpUC00295rpaUPUBCHEM]rpU3589rpauhUorot_erphUEh Jh!Gh"h#)rp}rp(hNh"UC5H3N2O4rph}rph(}rph*}rp(UHKUCKUOKUNKuhjpubh,Ueh(}rph.h/]RrpubGshNhUOrotate exchangerphEG@@hFGh}rphHh/]RrphU EX_orot_erphKGhLhMhNhNUh(}rphPNubh)rp}rp(h UExchangerph }rph)rp}rp(hNhNhU Oxaloacetaterph}rp(UCHEBI]rpU30744rpaUKEGG]rpUC00036rpaUPUBCHEM]rpU3338rpauhUoaa_erphUEh Jh!Gh"h#)rp}rp(hNh"UC4H2O5rph}rph(}rph*}rp(UHKUCKUOKuhjpubh,Ueh(}rph.h/]RrpubGshNhUOxaloacetate exchangerphEG@@hFGh}rphHh/]RrphUEX_oaa_erphKGhLhMhNhNUh(}rphPNubh)rp}rp(h UExchangerph }rph)rp}rp(hNhNhUPhenylacetaldehyderph}rp(UCHEBI]rpU16424rpaUKEGG]rpUC00601rpaUPUBCHEM]rpU3876rpauhUpacald_erphUEh Kh!Gh"h#)rp}rp(hNh"UC8H8Orph}rph(}rph*}rp(UHKUCKUOKuhjpubh,Ueh(}rph.h/]RrpubGshNhUPhenylacetaldehyde exchangerphEG@@hFGh}rphHh/]RrphU EX_pacald_erphKGhLhMhNhNUh(}rphPNubh)rp}rp(h UExchangerph }rph)rp}rp(hNhNhUPhenethylaminerph}rp(UCHEBI]rpU18397rpaUKEGG]rpUC05332rpaUPUBCHEM]rpU7711rpauhUpeamn_erphUEh Kh!Gh"h#)rp}rp(hNh"UC8H12Nrph}rph(}rph*}rp(UHK UCKUNKuhjpubh,Ueh(}rph.h/]RrpubGshNhUPhenethylamine exchangerphEG@@hFGh}rphHh/]RrphU EX_peamn_erphKGhLhMhNhNUh(}rphPNubh)rp}rp(h UExchangerph }rph)rp}rp(hNhNhUL-Phenylalaninerph}rp(UCHEBI]rpU17295rpaUKEGG]rpUC00079rpaUPUBCHEM]rpU3379rpauhUphe__L_erphUEh Kh!Gh"h#)rp}rq(hNh"UC9H11NO2rqh}rqh(}rqh*}rq(UHK UCK UOKUNKuhjqubh,Ueh(}rqh.h/]RrqubGshNhUL Phenylalanine exchangerqhEG@@hFGh}rqhHh/]Rr qhU EX_phe__L_er qhKGhLhMhNhNUh(}r qhPNubh)r q}r q(h UExchangerqh }rqh)rq}rq(hNhNhU Protohemerqh}rq(UCHEBI]rqU17627rqaUKEGG]rqUC00032rqaUPUBCHEM]rqU3334rqauhUpheme_erqhUEh Jh!Gh"h#)rq}rq(hNh"U C34H30FeN4O4rqh}rqh(}rqh*}r q(UHKUCK"UFeKUOKUNKuhjqubh,Ueh(}r!qh.h/]Rr"qubGshNhUProtoheme exchanger#qhEG@@hFGh}r$qhHh/]Rr%qhU EX_pheme_er&qhKGhLhMhNhNUh(}r'qhPNubh)r(q}r)q(h UExchanger*qh }r+qh)r,q}r-q(hNhNhU Phosphater.qh}r/q(UCHEBI]r0qU18367r1qaUKEGG]r2qUC00009r3qaUPUBCHEM]r4qU3311r5qauhUpi_er6qhUEh Jh!Gh"h#)r7q}r8q(hNh"UHO4Pr9qh}r:qh(}r;qh*}rqubGshNhUPhosphate exchanger?qhEG@@hFGՑhr h}r@qhHh/]RrAqhUEX_pi_erBqhKGhLhMhNhNUh(}rCqhPNubh)rDq}rEq(h UExchangerFqh }rGqh)rHq}rIq(hNhNhUR-PantothenaterJqh}rKq(UCHEBI]rLqU29032 46905 7916rMqaUKEGG]rNqUC00864rOqaUPUBCHEM]rPqU4121rQqauhU pnto__R_erRqhUEh Jh!Gh"h#)rSq}rTq(hNh"UC9H16NO5rUqh}rVqh(}rWqh*}rXq(UHKUCK UOKUNKuhjUqubh,Ueh(}rYqh.h/]RrZqubGshNhU R Pantothenate exchanger[qhEG@@hFGh}r\qhHh/]Rr]qhU EX_pnto__R_er^qhKGhLhMhNhNUh(}r_qhPNubh)r`q}raq(h UExchangerbqh }rcqh)rdq}req(hNhNhUPropionate-n-C30rfqh}rgq(UCHEBI]rhqU30768riqaUKEGG]rjqUC00163rkqaUPUBCHEM]rlqU3463rmqauhUppa_ernqhUEh Jh!Gh"h#)roq}rpq(hNh"UC3H5O2rqqh}rrqh(}rsqh*}rtq(UHKUCKUOKuhjqqubh,Ueh(}ruqh.h/]RrvqubGshNhUPropionate exchangerwqhEG@@hFGh}rxqhHh/]RryqhUEX_ppa_erzqhKGhLhMhNhNUh(}r{qhPNubh)r|q}r}q(h UExchanger~qh }rqh)rq}rq(hNhNhUPropanalrqh}rq(UCHEBI]rqU17153rqaUKEGG]rqUC00479rqaUPUBCHEM]rqU3762rqauhUppal_erqhUEh Kh!Gh"h#)rq}rq(hNh"UC3H6Orqh}rqh(}rqh*}rq(UHKUCKUOKuhjqubh,Ueh(}rqh.h/]RrqubGshNhUPropanal exchangerqhEG@@hFGh}rqhHh/]RrqhU EX_ppal_erqhKGhLhMhNhNUh(}rqhPNubh)rq}rq(h UExchangerqh }rqh)rq}rq(hNhNhUPhenylpropanoaterqh}rq(UCHEBI]rqU28631rqaUKEGG]rqUC05629rqaUPUBCHEM]rqU7943rqauhUpppn_erqhUEh Jh!Gh"h#)rq}rq(hNh"UC9H9O2rqh}rqh(}rqh*}rq(UHK UCK UOKuhjqubh,Ueh(}rqh.h/]RrqubGshNhUPhenylpropanoate exchangerqhEG@@hFGh}rqhHh/]RrqhU EX_pppn_erqhKGhLhMhNhNUh(}rqhPNubh)rq}rq(h UExchangerqh }rqh)rq}rq(hNhNhU Phosphonaterqh}rq(UCHEBI]rqU0aUKEGG]rqUC06701rqaUPUBCHEM]rqU8926rqauhUppt_erqhUEh Jh!Gh"h#)rq}rq(hNh"UHO3Prqh}rqh(}rqh*}rq(UHKUOKUPKuhjqubh,Ueh(}rqh.h/]RrqubGshNhUPhosphonate exchangerqhEG@@hFGh}rqhHh/]RrqhUEX_ppt_erqhKGhLhMhNhNUh(}rqhPNubh)rq}rq(h UExchangerqh }rqh)rq}rq(hNhNhU L-Prolinerqh}rq(UCHEBI]rqU17203rqaUKEGG]rqUC00148rqaUPUBCHEM]rqU3448rqauhUpro__L_erqhUEh Kh!Gh"h#)rq}rq(hNh"UC5H9NO2rqh}rqh(}rqh*}rq(UHK UCKUOKUNKuhjqubh,Ueh(}rqh.h/]RrqubGshNhUL Proline exchangerqhEG@@hFGh}rqhHh/]RrqhU EX_pro__L_erqhKGhLhMhNhNUh(}rqhPNubh)rq}rq(h UExchangerqh }rqh)rq}rq(hNhNhUL-Prolinylglycinerqh}rq(UCHEBI]rqU0aUKEGG]rqU0aUPUBCHEM]rqU0auhUprogly_erqhUEh Kh!Gh"h#)rq}rq(hNh"U C7H12N2O3rqh}rqh(}rqh*}rq(UHK UCKUOKUNKuhjqubh,Ueh(}rqh.h/]RrqubGshNhUL Prolinylglycine exchangerqhEG@@hFGh}rrhHh/]RrrhU EX_progly_errhKGhLhMhNhNUh(}rrhPNubh)rr}rr(h UExchangerrh }rrh)rr}r r(hNhNhU psicoselysiner rh}r r(UCHEBI]r rU0aUKEGG]r rU0aUPUBCHEM]rrU0auhUpsclys_errhUEh Kh!Gh"h#)rr}rr(hNh"U C12H25N2O7rrh}rrh(}rrh*}rr(UHKUCK UOKUNKuhjrubh,Ueh(}rrh.h/]RrrubGshNhUpsicoselysine exchangerrhEG@@hFGh}rrhHh/]RrrhU EX_psclys_errhKGhLhMhNhNUh(}rrhPNubh)rr}rr(h UExchangerrh }r rh)r!r}r"r(hNhNhUO-Phospho-L-seriner#rh}r$r(UCHEBI]r%rU15811r&raUKEGG]r'rUC01005r(raUPUBCHEM]r)rU4251r*rauhU pser__L_er+rhUEh Jh!Gh"h#)r,r}r-r(hNh"UC3H6NO6Pr.rh}r/rh(}r0rh*}r1r(UHKUCKUPKUOKUNKuhj.rubh,Ueh(}r2rh.h/]Rr3rubGshNhUO Phospho L serine exchanger4rhEG@@hFGh}r5rhHh/]Rr6rhU EX_pser__L_er7rhKGhLhMhNhNUh(}r8rhPNubh)r9r}r:r(h UExchanger;rh }rr(hNhNhU Putresciner?rh}r@r(UCHEBI]rArU17148rBraUKEGG]rCrUC00134rDraUPUBCHEM]rErU3434rFrauhUptrc_erGrhUEh Kh!Gh"h#)rHr}rIr(hNh"UC4H14N2rJrh}rKrh(}rLrh*}rMr(UHKUCKUNKuhjJrubh,Ueh(}rNrh.h/]RrOrubGshNhUPutrescine exchangerPrhEG@@hFGh}rQrhHh/]RrRrhU EX_ptrc_erSrhKGhLhMhNhNUh(}rTrhPNubh)rUr}rVr(h UExchangerWrh }rXrh)rYr}rZr(hNhNhUPyruvater[rh}r\r(UCHEBI]r]rU32816r^raUKEGG]r_rUC00022r`raUPUBCHEM]rarU3324rbrauhUpyr_ercrhUEh Jh!Gh"h#)rdr}rer(hNh"UC3H3O3rfrh}rgrh(}rhrh*}rir(UHKUCKUOKuhjfrubh,Ueh(}rjrh.h/]RrkrubGshNhUPyruvate exchangerlrhEG@@hFGh}rmrhHh/]RrnrhUEX_pyr_erorhKGhLhMhNhNUh(}rprhPNubh)rqr}rrr(h UExchangersrh }rtrh)rur}rvr(hNhNhUalpha-D-Ribose-5-phosphaterwrh}rxr(UCHEBI]ryrU17797rzraUKEGG]r{rUC00117r|raUPUBCHEM]r}rU3417r~rauhUr5p_errhUEh Jh!Gh"h#)rr}rr(hNh"UC5H9O8Prrh}rrh(}rrh*}rr(UHK UCKUOKUPKuhjrubh,Ueh(}rrh.h/]RrrubGshNhU#alpha D Ribose 5 phosphate exchangerrhEG@@hFGh}rrhHh/]RrrhUEX_r5p_errhKGhLhMhNhNUh(}rrhPNubh)rr}rr(h UExchangerrh }rrh)rr}rr(hNhNhUD-Riboserrh}rr(UCHEBI]rrU47013rraUKEGG]rrUC00121rraUPUBCHEM]rrU3421rrauhUrib__D_errhUEh Kh!Gh"h#)rr}rr(hNh"UC5H10O5rrh}rrh(}rrh*}rr(UHK UCKUOKuhjrubh,Ueh(}rrh.h/]RrrubGshNhUD Ribose exchangerrhEG@@hFGh}rrhHh/]RrrhU EX_rib__D_errhKGhLhMhNhNUh(}rrhPNubh)rr}rr(h UExchangerrh }rrh)rr}rr(hNhNhU L-Rhamnoserrh}rr(UCHEBI]rrU16055rraUKEGG]rrUC00507rraUPUBCHEM]rrU3790rrauhUrmn_errhUEh Kh!Gh"h#)rr}rr(hNh"UC6H12O5rrh}rrh(}rrh*}rr(UHK UCKUOKuhjrubh,Ueh(}rrh.h/]RrrubGshNhUL Rhamnose exchangerrhEG@@hFGh}rrhHh/]RrrhUEX_rmn_errhKGhLhMhNhNUh(}rrhPNubh)rr}rr(h UExchangerrh }rrh)rr}rr(hNhNhU D-Sorbitolrrh}rr(UCHEBI]rrU17924rraUKEGG]rrUC00794rraUPUBCHEM]rrU4052rrauhUsbt__D_errhUEh Kh!Gh"h#)rr}rr(hNh"UC6H14O6rrh}rrh(}rrh*}rr(UHKUCKUOKuhjrubh,Ueh(}rrh.h/]RrrubGshNhUD Sorbitol exchangerrhEG@@hFGh}rrhHh/]RrrhU EX_sbt__D_errhKGhLhMhNhNUh(}rrhPNubh)rr}rr(h UExchangerrh }rrjMWGshNhUD Serine exchangerrhEG@@hFGh}rrhHh/]RrrhU EX_ser__D_errhKGhLhMhNhNUh(}rrhPNubh)rr}rr(h UExchangerrh }rrh)rr}rr(hNhNhUL-Serinerrh}rr(UCHEBI]rrU17115rraUKEGG]rrUC00065rraUPUBCHEM]rrU3365rrauhUser__L_errhUEh Kh!Gh"h#)rr}rr(hNh"UC3H7NO3rrh}rrh(}rrh*}rr(UHKUCKUOKUNKuhjrubh,Ueh(}rrh.h/]RrsubGshNhUL Serine exchangershEG@@hFGh}rshHh/]RrshU EX_ser__L_ershKGhLhMhNhNUh(}rshPNubh)rs}rs(h UExchangersh }r sh)r s}r s(hNhNhU Shikimater sh}r s(UCHEBI]rsU16119rsaUKEGG]rsUC00493rsaUPUBCHEM]rsU3776rsauhUskm_ershUEh Jh!Gh"h#)rs}rs(hNh"UC7H9O5rsh}rsh(}rsh*}rs(UHK UCKUOKuhjsubh,Ueh(}rsh.h/]RrsubGshNhUShikimate exchangershEG@@hFGh}rshHh/]RrshUEX_skm_er shKGhLhMhNhNUh(}r!shPNubh)r"s}r#s(h UExchanger$sh }r%sh)r&s}r's(hNhNhUsulfur-dioxider(sh}r)s(UCHEBI]r*sU18422r+saUKEGG]r,sUC09306r-saUPUBCHEM]r.sU11497r/sauhUso2_er0shUEh Kh!Gh"h#)r1s}r2s(hNh"UO2Sr3sh}r4sh(}r5sh*}r6s(USKUOKuhj3subh,Ueh(}r7sh.h/]Rr8subGshNhUsulfur dioxide exchanger9shEG@@hFGh}r:shHh/]Rr;shUEX_so2_ers}r?s(h UExchanger@sh }rAsh)rBs}rCs(hNhNhUSulfiterDsh}rEs(UCHEBI]rFsU48854rGsaUKEGG]rHsUC00094rIsaUPUBCHEM]rJsU3394rKsauhUso3_erLshUEh Jh!Gh"h#)rMs}rNs(hNh"UO3SrOsh}rPsh(}rQsh*}rRs(USKUOKuhjOsubh,Ueh(}rSsh.h/]RrTsubGshNhUSulfite exchangerUshEG@@hFGh}rVshHh/]RrWshUEX_so3_erXshKGhLhMhNhNUh(}rYshPNubh)rZs}r[s(h UExchanger\sh }r]sh)r^s}r_s(hNhNhUSulfater`sh}ras(UCHEBI]rbsU16189rcsaUKEGG]rdsUC00059resaUPUBCHEM]rfsU3359rgsauhUso4_erhshUEh Jh!Gh"h#)ris}rjs(hNh"UO4Srksh}rlsh(}rmsh*}rns(USKUOKuhjksubh,Ueh(}rosh.h/]RrpsubGshNhUSulfate exchangerqshEG@@hFGh}rrshHh/]RrsshUEX_so4_ertshKGhLhMhNhNUh(}rushPNubh)rvs}rws(h UExchangerxsh }rysh)rzs}r{s(hNhNhU Spermidiner|sh}r}s(UCHEBI]r~sU16610rsaUKEGG]rsUC00315rsaUPUBCHEM]rsU3609rsauhUspmd_ershUEh Kh!Gh"h#)rs}rs(hNh"UC7H22N3rsh}rsh(}rsh*}rs(UHKUCKUNKuhjsubh,Ueh(}rsh.h/]RrsubGshNhUSpermidine exchangershEG@@hFGh}rshHh/]RrshU EX_spmd_ershKGhLhMhNhNUh(}rshPNubh)rs}rs(h UExchangersh }rsh)rs}rs(hNhNhU Succinatersh}rs(UCHEBI]rsU15741rsaUKEGG]rsUC00042rsaUPUBCHEM]rsU3344rsauhUsucc_ershUEh Jh!Gh"h#)rs}rs(hNh"UC4H4O4rsh}rsh(}rsh*}rs(UHKUCKUOKuhjsubh,Ueh(}rsh.h/]RrsubGshNhUSuccinate exchangershEG@@hFGh}rshHh/]RrshU EX_succ_ershKGhLhMhNhNUh(}rshPNubh)rs}rs(h UExchangersh }rsh)rs}rs(hNhNhUSucrosersh}rs(UCHEBI]rsU17992rsaUKEGG]rsUC00089rsaUPUBCHEM]rsU3389rsauhUsucr_ershUEh Kh!Gh"h#)rs}rs(hNh"U C12H22O11rsh}rsh(}rsh*}rs(UHKUCK UOK uhjsubh,Ueh(}rsh.h/]RrsubGshNhUSucrose exchangershEG@@hFGh}rshHh/]RrshU EX_sucr_ershKGhLhMhNhNUh(}rshPNubh)rs}rs(h UExchangersh }rsh)rs}rs(hNhNhU sulfoacetatersh}rs(UCHEBI]rsU0aUKEGG]rsUC14179rsaUPUBCHEM]rsU7846991rsauhUsulfac_ershUEh Jh!Gh"h#)rs}rs(hNh"UC2H2O5Srsh}rsh(}rsh*}rs(UHKUCKUSKUOKuhjsubh,Ueh(}rsh.h/]RrsubGshNhUsulfoacetate exchangershEG@@hFGh}rshHh/]RrshU EX_sulfac_ershKGhLhMhNhNUh(}rshPNubh)rs}rs(h UExchangersh }rsh)rs}rs(hNhNhU L-tartratersh}rs(UCHEBI]rsU 15671 30924rsaUKEGG]rsUC00898rsaUPUBCHEM]rsU4154rsauhU tartr__L_ershUEh Jh!Gh"h#)rs}rs(hNh"UC4H4O6rsh}rsh(}rsh*}rs(UHKUCKUOKuhjsubh,Ueh(}rsh.h/]RrsubGshNhUL tartrate exchangershEG@@hFGh}rshHh/]RrshU EX_tartr__L_ershKGhLhMhNhNUh(}rthPNubh)rt}rt(h UExchangerth }rth)rt}rt(hNhNhUTaurinerth}rt(UCHEBI]r tU15891r taUKEGG]r tUC00245r taUPUBCHEM]r tU3544rtauhUtaur_erthUEh Kh!Gh"h#)rt}rt(hNh"UC2H7NO3Srth}rth(}rth*}rt(UHKUCKUSKUOKUNKuhjtubh,Ueh(}rth.h/]RrtubGshNhUTaurine exchangerthEG@@hFGh}rthHh/]RrthU EX_taur_erthKGhLhMhNhNUh(}rthPNubh)rt}rt(h UExchangerth }r th)r!t}r"t(hNhNhU Thiocyanater#th}r$t(UCHEBI]r%tU29200r&taUKEGG]r'tUC01755r(taUPUBCHEM]r)tU4888r*tauhUtcynt_er+thUEh Jh!Gh"h#)r,t}r-t(hNh"UCNSr.th}r/th(}r0th*}r1t(UCKUSKUNKuhj.tubh,Ueh(}r2th.h/]Rr3tubGshNhUThiocyanate exchanger4thEG@@hFGh}r5thHh/]Rr6thU EX_tcynt_er7thKGhLhMhNhNUh(}r8thPNubh)r9t}r:t(h UExchanger;th }rt(hNhNhUThiaminr?th}r@t(UCHEBI]rAtU18385rBtaUKEGG]rCtUC00378rDtaUPUBCHEM]rEtU3668rFtauhUthm_erGthUEh Kh!Gh"h#)rHt}rIt(hNh"U C12H17N4OSrJth}rKth(}rLth*}rMt(UHKUCK USKUOKUNKuhjJtubh,Ueh(}rNth.h/]RrOtubGshNhUThiamin exchangerPthEG@@hFG_kh}rQthHh/]RrRthUEX_thm_erSthKGhLhMhNhNUh(}rTthPNubh)rUt}rVt(h UExchangerWth }rXth)rYt}rZt(hNhNhU L-Threoniner[th}r\t(UCHEBI]r]tU16857r^taUKEGG]r_tUC00188r`taUPUBCHEM]ratU3488rbtauhUthr__L_ercthUEh Kh!Gh"h#)rdt}ret(hNh"UC4H9NO3rfth}rgth(}rhth*}rit(UHK UCKUOKUNKuhjftubh,Ueh(}rjth.h/]RrktubGshNhUL Threonine exchangerlthEG@@hFGh}rmthHh/]RrnthU EX_thr__L_erothKGhLhMhNhNUh(}rpthPNubh)rqt}rrt(h UExchangersth }rtth)rut}rvt(hNhNhUL-Threonine-O-3-phosphaterwth}rxt(UCHEBI]rytU37525rztaUKEGG]r{tUC12147r|taUPUBCHEM]r}tU14294r~tauhUthrp_erthUEh Jh!Gh"h#)rt}rt(hNh"UC4H8NO6Prth}rth(}rth*}rt(UHKUCKUPKUOKUNKuhjtubh,Ueh(}rth.h/]RrtubGshNhU"L Threonine O 3 phosphate exchangerthEG@@hFGh}rthHh/]RrthU EX_thrp_erthKGhLhMhNhNUh(}rthPNubh)rt}rt(h UExchangerth }rth)rt}rt(hNhNhUThyminerth}rt(UCHEBI]rtU17821rtaUKEGG]rtUC00178rtaUPUBCHEM]rtU3478rtauhUthym_erthUEh Kh!Gh"h#)rt}rt(hNh"UC5H6N2O2rth}rth(}rth*}rt(UHKUCKUOKUNKuhjtubh,Ueh(}rth.h/]RrtubGshNhUThymine exchangerthEG@@hFGh}rthHh/]RrthU EX_thym_erthKGhLhMhNhNUh(}rthPNubh)rt}rt(h UExchangerth }rth)rt}rt(hNhNhU Thymidinerth}rt(UCHEBI]rtU17748rtaUKEGG]rtUC00214rtaUPUBCHEM]rtU3514rtauhUthymd_erthUEh Kh!Gh"h#)rt}rt(hNh"U C10H14N2O5rth}rth(}rth*}rt(UHKUCK UOKUNKuhjtubh,Ueh(}rth.h/]RrtubGshNhUThymidine exchangerthEG@@hFGh}rthHh/]RrthU EX_thymd_erthKGhLhMhNhNUh(}rthPNubh)rt}rt(h UExchangerth }rth)rt}rt(hNhNhUtrimethylaminerth}rt(UCHEBI]rtU18139rtaUKEGG]rtUC00565rtaUPUBCHEM]rtU3844rtauhUtma_erthUEh Kh!Gh"h#)rt}rt(hNh"UC3H10Nrth}rth(}rth*}rt(UHK UCKUNKuhjtubh,Ueh(}rth.h/]RrtubGshNhUTrimethylamine exchangerthEG@@hFGh}rthHh/]RrthUEX_tma_erthKGhLhMhNhNUh(}rthPNubh)rt}rt(h UExchangerth }rth)rt}rt(hNhNhUTrimethylamine-N-oxiderth}rt(UCHEBI]rtU15724rtaUKEGG]rtUC01104rtaUPUBCHEM]rtU4338rtauhUtmao_erthUEh Kh!Gh"h#)rt}rt(hNh"UC3H9NOrth}rth(}rth*}rt(UHK UCKUOKUNKuhjtubh,Ueh(}rth.h/]RrtubGshNhUTrimethylamine N oxide exchangerthEG@@hFGh}rthHh/]RrthU EX_tmao_erthKGhLhMhNhNUh(}rthPNubh)rt}rt(h UExchangerth }ruh)ru}ru(hNhNhU Trehaloseruh}ru(UCHEBI]ruU16551ruaUKEGG]ruUC01083ruaUPUBCHEM]r uU4320r uauhUtre_er uhUEh Kh!Gh"h#)r u}r u(hNh"U C12H22O11ruh}ruh(}ruh*}ru(UHKUCK UOK uhjuubh,Ueh(}ruh.h/]RruubGshNhUTrehalose exchangeruhEG@@hFGh}ruhHh/]RruhUEX_tre_eruhKGhLhMhNhNUh(}ruhPNubh)ru}ru(h UExchangeruh }ruh)ru}ru(hNhNhU L-Tryptophanruh}r u(UCHEBI]r!uU16828r"uaUKEGG]r#uUC00078r$uaUPUBCHEM]r%uU3378r&uauhUtrp__L_er'uhUEh Kh!Gh"h#)r(u}r)u(hNh"U C11H12N2O2r*uh}r+uh(}r,uh*}r-u(UHK UCK UOKUNKuhj*uubh,Ueh(}r.uh.h/]Rr/uubGshNhUL Tryptophan exchanger0uhEG@@hFGh}r1uhHh/]Rr2uhU EX_trp__L_er3uhKGhLhMhNhNUh(}r4uhPNubh)r5u}r6u(h UExchanger7uh }r8uh)r9u}r:u(hNhNhU Thiosulfater;uh}ruaUKEGG]r?uUC00320r@uaUPUBCHEM]rAuU3614rBuauhUtsul_erCuhUEh Jh!Gh"h#)rDu}rEu(hNh"UO3S2rFuh}rGuh(}rHuh*}rIu(USKUOKuhjFuubh,Ueh(}rJuh.h/]RrKuubGshNhUThiosulfate exchangerLuhEG@@hFGh}rMuhHh/]RrNuhU EX_tsul_erOuhKGhLhMhNhNUh(}rPuhPNubh)rQu}rRu(h UExchangerSuh }rTuh)rUu}rVu(hNhNhUtetradecanoate-n-C140rWuh}rXu(UCHEBI]rYuU 28875 30807rZuaUKEGG]r[uUC06424r\uaUPUBCHEM]r]uU8659r^uauhUttdca_er_uhUEh Jh!Gh"h#)r`u}rau(hNh"UC14H27O2rbuh}rcuh(}rduh*}reu(UHKUCKUOKuhjbuubh,Ueh(}rfuh.h/]RrguubGshNhUtetradecanoate n C140 exchangerhuhEG@@hFGh}riuhHh/]RrjuhU EX_ttdca_erkuhKGhLhMhNhNUh(}rluhPNubh)rmu}rnu(h UExchangerouh }rpuh)rqu}rru(hNhNhUtetradecenoate-n-C141rsuh}rtu(UCHEBI]ruuU0aUKEGG]rvuU0aUPUBCHEM]rwuU0auhUttdcea_erxuhUEh Jh!Gh"h#)ryu}rzu(hNh"UC14H25O2r{uh}r|uh(}r}uh*}r~u(UHKUCKUOKuhj{uubh,Ueh(}ruh.h/]RruubGshNhUtetradecenoate n C141 exchangeruhEG@@hFGh}ruhHh/]RruhU EX_ttdcea_eruhKGhLhMhNhNUh(}ruhPNubh)ru}ru(h UExchangeruh }ruh)ru}ru(hNhNhU tungstateruh}ru(UCHEBI]ruU46502ruaUKEGG]ruU0aUPUBCHEM]ruU26697048ruauhUtungs_eruhUEh Jh!Gh"h#)ru}ru(hNh"UO4W1ruh}ruh(}ruh*}ru(UWKUOKuhjuubh,Ueh(}ruh.h/]RruubGshNhUtungstate exchangeruhEG@@hFGh}ruhHh/]RruhU EX_tungs_eruhKGhLhMhNhNUh(}ruhPNubh)ru}ru(h UExchangeruh }ruh)ru}ru(hNhNhUTyramineruh}ru(UCHEBI]ruU15760ruaUKEGG]ruUC00483ruaUPUBCHEM]ruU3766ruauhUtym_eruhUEh Kh!Gh"h#)ru}ru(hNh"UC8H12NOruh}ruh(}ruh*}ru(UHK UCKUOKUNKuhjuubh,Ueh(}ruh.h/]RruubGshNhUTyramine exchangeruhEG@@hFGh}ruhHh/]RruhUEX_tym_eruhKGhLhMhNhNUh(}ruhPNubh)ru}ru(h UExchangeruh }ruh)ru}ru(hNhNhU L-Tyrosineruh}ru(UCHEBI]ruU17895ruaUKEGG]ruUC00082ruaUPUBCHEM]ruU3382ruauhUtyr__L_eruhUEh Kh!Gh"h#)ru}ru(hNh"UC9H11NO3ruh}ruh(}ruh*}ru(UHK UCK UOKUNKuhjuubh,Ueh(}ruh.h/]RruubGshNhUL Tyrosine exchangeruhEG@@hFGh}ruhHh/]RruhU EX_tyr__L_eruhKGhLhMhNhNUh(}ruhPNubh)ru}ru(h UExchangeruh }ruh)ru}ru(hNhNhUPhosphotyrosineruh}ru(UCHEBI]ruU0aUKEGG]ruUC06501ruaUPUBCHEM]ruU8732ruauhUtyrp_eruhUEh Jh!Gh"h#)ru}ru(hNh"U C9H10NO6Pruh}ruh(}ruh*}ru(UHK UCK UPKUOKUNKuhjuubh,Ueh(}ruh.h/]RruubGshNhUPhosphotyrosine exchangeruhEG@@hFGh}ruhHh/]RruhU EX_tyrp_eruhKGhLhMhNhNUh(}ruhPNubh)ru}ru(h UExchangeruh }ruh)ru}ru(hNhNhUUDP-N-acetyl-D-glucosamineruh}ru(UCHEBI]ruU16264ruaUKEGG]ruUC00043ruaUPUBCHEM]rvU3345rvauhUuacgam_ervhUEh Jh!Gh"h#)rv}rv(hNh"U C17H25N3O17P2rvh}rvh(}rvh*}rv(UHKUCKUPKUOKUNKuhjvubh,Ueh(}r vh.h/]Rr vubGshNhU#UDP N acetyl D glucosamine exchanger vhEG@@hFGh}r vhHh/]Rr vhU EX_uacgam_ervhKGhLhMhNhNUh(}rvhPNubh)rv}rv(h UExchangervh }rvh)rv}rv(hNhNhUUDP-N-acetyl-D-galactosaminervh}rv(UCHEBI]rvU16650rvaUKEGG]rvUC00203rvaUPUBCHEM]rvU3503rvauhU udpacgal_ervhUEh Jh!Gh"h#)rv}r v(hNh"U C17H25N3O17P2r!vh}r"vh(}r#vh*}r$v(UHKUCKUPKUOKUNKuhj!vubh,Ueh(}r%vh.h/]Rr&vubGshNhU%UDP N acetyl D galactosamine exchanger'vhEG@@hFGh}r(vhHh/]Rr)vhU EX_udpacgal_er*vhKGhLhMhNhNUh(}r+vhPNubh)r,v}r-v(h UExchanger.vh }r/vh)r0v}r1v(hNhNhU UDPglucoser2vh}r3v(UCHEBI]r4vU18066r5vaUKEGG]r6vUC00029r7vaUPUBCHEM]r8vU3331r9vauhUudpg_er:vhUEh Jh!Gh"h#)r;v}rvh(}r?vh*}r@v(UHKUCKUPKUOKUNKuhj=vubh,Ueh(}rAvh.h/]RrBvubGshNhUUDPglucose exchangerCvhEG@@hFGh}rDvhHh/]RrEvhU EX_udpg_erFvhKGhLhMhNhNUh(}rGvhPNubh)rHv}rIv(h UExchangerJvh }rKvh)rLv}rMv(hNhNhU UDPgalactoserNvh}rOv(UCHEBI]rPvU18307rQvaUKEGG]rRvUC00052rSvaUPUBCHEM]rTvU3354rUvauhUudpgal_erVvhUEh Jh!Gh"h#)rWv}rXv(hNh"U C15H22N2O17P2rYvh}rZvh(}r[vh*}r\v(UHKUCKUPKUOKUNKuhjYvubh,Ueh(}r]vh.h/]Rr^vubGshNhUUDPgalactose exchanger_vhEG@@hFGh}r`vhHh/]RravhU EX_udpgal_erbvhKGhLhMhNhNUh(}rcvhPNubh)rdv}rev(h UExchangerfvh }rgvh)rhv}riv(hNhNhUUDP-D-glucuronaterjvh}rkv(UCHEBI]rlvU17200rmvaUKEGG]rnvUC00167rovaUPUBCHEM]rpvU3467rqvauhU udpglcur_errvhUEh Jh!Gh"h#)rsv}rtv(hNh"U C15H19N2O18P2ruvh}rvvh(}rwvh*}rxv(UHKUCKUPKUOKUNKuhjuvubh,Ueh(}ryvh.h/]RrzvubGshNhUUDP D glucuronate exchanger{vhEG@@hFGh}r|vhHh/]Rr}vhU EX_udpglcur_er~vhKGhLhMhNhNUh(}rvhPNubh)rv}rv(h UExchangervh }rvh)rv}rv(hNhNhUUMPrvh}rv(UCHEBI]rvU16695rvaUKEGG]rvUC00105rvaUPUBCHEM]rvU3405rvauhUump_ervhUEh Jh!Gh"h#)rv}rv(hNh"U C9H11N2O9Prvh}rvh(}rvh*}rv(UHK UCK UPKUOK UNKuhjvubh,Ueh(}rvh.h/]RrvubGshNhU UMP exchangervhEG@@hFGh}rvhHh/]RrvhUEX_ump_ervhKGhLhMhNhNUh(}rvhPNubh)rv}rv(h UExchangervh }rvh)rv}rv(hNhNhUUracilrvh}rv(UCHEBI]rvU17568rvaUKEGG]rvUC00106rvaUPUBCHEM]rvU3406rvauhUura_ervhUEh Kh!Gh"h#)rv}rv(hNh"UC4H4N2O2rvh}rvh(}rvh*}rv(UHKUCKUOKUNKuhjvubh,Ueh(}rvh.h/]RrvubGshNhUUracil exchangervhEG@@hFGh}rvhHh/]RrvhUEX_ura_ervhKGhLhMhNhNUh(}rvhPNubh)rv}rv(h UExchangervh }rvh)rv}rv(hNhNhUUrearvh}rv(UCHEBI]rvU16199rvaUKEGG]rvUC00086rvaUPUBCHEM]rvU3386rvauhUurea_ervhUEh Kh!Gh"h#)rv}rv(hNh"UCH4N2Orvh}rvh(}rvh*}rv(UHKUCKUOKUNKuhjvubh,Ueh(}rvh.h/]RrvubGshNhU Urea exchangervhEG@@hFGh}rvhHh/]RrvhU EX_urea_ervhKGhLhMhNhNUh(}rvhPNubh)rv}rv(h UExchangervh }rvh)rv}rv(hNhNhUUridinervh}rv(UCHEBI]rvU16704rvaUKEGG]rvUC00299rvaUPUBCHEM]rvU3593rvauhUuri_ervhUEh Kh!Gh"h#)rv}rv(hNh"U C9H12N2O6rvh}rvh(}rvh*}rv(UHK UCK UOKUNKuhjvubh,Ueh(}rvh.h/]RrvubGshNhUUridine exchangervhEG@@hFGh}rvhHh/]RrvhUEX_uri_ervhKGhLhMhNhNUh(}rvhPNubh)rv}rv(h UExchangervh }rvh)rv}rv(hNhNhUL-Valinervh}rv(UCHEBI]rvU16414rvaUKEGG]rvUC00183rvaUPUBCHEM]rvU3483rvauhUval__L_ervhUEh Kh!Gh"h#)rv}rw(hNh"UC5H11NO2rwh}rwh(}rwh*}rw(UHK UCKUOKUNKuhjwubh,Ueh(}rwh.h/]RrwubGshNhUL Valine exchangerwhEG@@hFGh}rwhHh/]Rr whU EX_val__L_er whKGhLhMhNhNUh(}r whPNubh)r w}r w(h UExchangerwh }rwh)rw}rw(hNhNhUXanthinerwh}rw(UCHEBI]rwU17712rwaUKEGG]rwUC00385rwaUPUBCHEM]rwU3675rwauhUxan_erwhUEh Kh!Gh"h#)rw}rw(hNh"UC5H4N4O2rwh}rwh(}rwh*}r w(UHKUCKUOKUNKuhjwubh,Ueh(}r!wh.h/]Rr"wubGshNhUXanthine exchanger#whEG@@hFGh}r$whHh/]Rr%whUEX_xan_er&whKGhLhMhNhNUh(}r'whPNubh)r(w}r)w(h UExchanger*wh }r+wh)r,w}r-w(hNhNhUXanthosine-5-phosphater.wh}r/w(UCHEBI]r0wU15652r1waUKEGG]r2wUC00655r3waUPUBCHEM]r4wU3925r5wauhUxmp_er6whUEh Jh!Gh"h#)r7w}r8w(hNh"U C10H11N4O9Pr9wh}r:wh(}r;wh*}rwubGshNhUXanthosine 5 phosphate exchanger?whEG@@hFGh}r@whHh/]RrAwhUEX_xmp_erBwhKGhLhMhNhNUh(}rCwhPNubh)rDw}rEw(h UExchangerFwh }rGwh)rHw}rIw(hNhNhU XanthosinerJwh}rKw(UCHEBI]rLwU18107rMwaUKEGG]rNwUC01762rOwaUPUBCHEM]rPwU4895rQwauhUxtsn_erRwhUEh Kh!Gh"h#)rSw}rTw(hNh"U C10H12N4O6rUwh}rVwh(}rWwh*}rXw(UHK UCK UOKUNKuhjUwubh,Ueh(}rYwh.h/]RrZwubGshNhUXanthosine exchanger[whEG@@hFGh}r\whHh/]Rr]whU EX_xtsn_er^whKGhLhMhNhNUh(}r_whPNubh)r`w}raw(h UExchangerbwh }rcwh)rdw}rew(hNhNhUD-Xyloserfwh}rgw(UCHEBI]rhwU15936riwaUKEGG]rjwUC00181rkwaUPUBCHEM]rlwU3481rmwauhUxyl__D_ernwhUEh Kh!Gh"h#)row}rpw(hNh"UC5H10O5rqwh}rrwh(}rswh*}rtw(UHK UCKUOKuhjqwubh,Ueh(}ruwh.h/]RrvwubGshNhUD Xylose exchangerwwhEG@@hFGh}rxwhHh/]RrywhU EX_xyl__D_erzwhKGhLhMhNhNUh(}r{whPNubh)r|w}r}w(h UExchanger~wh }rwh)rw}rw(hNhNhU L-Xyluloserwh}rw(UCHEBI]rwU17399rwaUKEGG]rwUC00312rwaUPUBCHEM]rwU3606rwauhU xylu__L_erwhUEh Kh!Gh"h#)rw}rw(hNh"UC5H10O5rwh}rwh(}rwh*}rw(UHK UCKUOKuhjwubh,Ueh(}rwh.h/]RrwubGshNhUL Xylulose exchangerwhEG@@hFGh}rwhHh/]RrwhU EX_xylu__L_erwhKGhLhMhNhNUh(}rwhPNubh)rw}rw(h UExchangerwh }rwh)rw}rw(hNhNhUZincrwh}rw(UCHEBI]rwU29105rwaUKEGG]rwUC00038rwaUPUBCHEM]rwU3340rwauhUzn2_erwhUEh Kh!Gh"h#)rw}rw(hNh"UZnrwh}rwh(}rwh*}rwjwKshjwubh,Ueh(}rwh.h/]RrwubGshNhU Zinc exchangerwhEG@@hFGtzG{h}rwhHh/]RrwhUEX_zn2_erwhKGhLhMhNhNUh(}rwhPNubh)rw}rw(h UExchangerwh }rw(j G]GMj)Gp:~j7Gìq h)rw}rw(hNhNhUMn2rwh}rw(UCHEBI]rwU18291rwaUKEGG]rwUC00034rwaUPUBCHEM]rwU3336rwauhUmn2_crwhUEh Kh!Gh"h#)rw}rw(hNh"UMnrwh}rwh(}rwh*}rwjwKshjwubh,Uch(}rwh.h/]RrwubGiWh)rw}rw(hNhNhU2-Octaprenyl-6-hydroxyphenolrwh}rw(UCHEBI]rwU1233rwaUKEGG]rwUC05811rwaUPUBCHEM]rwU8106rwauhU2ohph_crwhUEh Kh!Gh"h#)rw}rw(hNh"UC46H70O2rwh}rwh(}rwh*}rw(UHKFUCK.UOKuhjwubh,Uch(}rwh.h/]RrwubG-:ih)rw}rw(hNhNhUdGTPrwh}rw(UCHEBI]rwU16497rwaUKEGG]rwUC00286rwaUPUBCHEM]rwU3581rwauhUdgtp_crwhUEh Jh!Gh"h#)rw}rw(hNh"U C10H12N5O13P3rwh}rwh(}rwh*}rw(UHK UCK UPKUOK UNKuhjwubh,Uch(}rwh.h/]RrwubG!Zh)rw}rw(hNhNhU.phosphatidylethanolamine-dihexadecanoyl-n-C160rwh}rw(UCHEBI]rwU16038rwaUKEGG]rwUC00350rwaUPUBCHEM]rwU3643rwauhUpe160_prwhUEh Kh!Gh"h#)rw}rw(hNh"U C37H74N1O8P1rwh}rwh(}rxh*}rx(UHKJUCK%UPKUOKUNKuhjwubh,Uph(}rxh.h/]RrxubGx(hNhNhU potassiumr?xh}r@x(UCHEBI]rAxU29103rBxaUKEGG]rCxUC00238rDxaUPUBCHEM]rExU3537rFxauhUk_crGxhUEh Kh!Gh"h#)rHx}rIx(hNh"UKh}rJxh(}rKxh*}rLxUKKshUKubh,Uch(}rMxh.h/]RrNxubGƻAjZ1Gc j8GsgLf h)rOx}rPx(hNhNhUL-PhenylalaninerQxh}rRx(UCHEBI]rSxU17295rTxaUKEGG]rUxUC00079rVxaUPUBCHEM]rWxU3379rXxauhUphe__L_crYxhUEh Kh!Gh"h#)rZx}r[x(hNh"UC9H11NO2r\xh}r]xh(}r^xh*}r_x(UHK UCK UOKUNKuhj\xubh,Uch(}r`xh.h/]RraxubGƃ%2h)rbx}rcx(hNhNhUL-Serinerdxh}rex(UCHEBI]rfxU17115rgxaUKEGG]rhxUC00065rixaUPUBCHEM]rjxU3365rkxauhUser__L_crlxhUEh Kh!Gh"h#)rmx}rnx(hNh"UC3H7NO3roxh}rpxh(}rqxh*}rrx(UHKUCKUOKUNKuhjoxubh,Uch(}rsxh.h/]RrtxubG˟U=jZGK;"`Bh)rux}rvx(hNhNhU magnesiumrwxh}rxx(UCHEBI]ryxU18420rzxaUKEGG]r{xUC00305r|xaUPUBCHEM]r}xU3599r~xauhUmg2_crxhUEh Kh!Gh"h#)rx}rx(hNh"UMgrxh}rxh(}rxh*}rxjxKshjxubh,Uch(}rxh.h/]RrxubG+@jUj-GkP|h)rx}rx(hNhNhU Protohemerxh}rx(UCHEBI]rxU17627rxaUKEGG]rxUC00032rxaUPUBCHEM]rxU3334rxauhUpheme_crxhUEh Jh!Gh"h#)rx}rx(hNh"U C34H30FeN4O4rxh}rxh(}rxh*}rx(UHKUCK"UFeKUOKUNKuhjxubh,Uch(}rxh.h/]RrxubG-:ijGGMEh)rx}rx(hNhNhU L-Tyrosinerxh}rx(UCHEBI]rxU17895rxaUKEGG]rxUC00082rxaUPUBCHEM]rxU3382rxauhUtyr__L_crxhUEh Kh!Gh"h#)rx}rx(hNh"UC9H11NO3rxh}rxh(}rxh*}rx(UHK UCK UOKUNKuhjxubh,Uch(}rxh.h/]RrxubG 'h)rx}rx(hNhNhU L-Leucinerxh}rx(UCHEBI]rxU15603rxaUKEGG]rxUC00123rxaUPUBCHEM]rxU3423rxauhUleu__L_crxhUEh Kh!Gh"h#)rx}rx(hNh"UC6H13NO2rxh}rxh(}rxh*}rx(UHK UCKUOKUNKuhjxubh,Uch(}rxh.h/]RrxubGEj@GsgLf j'G-:ijGB̫֔?j3EGqiBh)rx}rx(hNhNhUetwo-disacharide-linked-murein-units-pentapeptide-crosslinked-tetrapeptide-A2pm-D-ala--middle-of-chainrxh}rx(UCHEBI]rxU0aUKEGG]rxU0aUPUBCHEM]rxU0auhU murein5px4p_prxhUEh Jh!Gh"h#)rx}rx(hNh"U C77H117N15O40rxh}rxh(}rxh*}rx(UHKuUCKMUOK(UNKuhjxubh,Uph(}rxh.h/]RrxubGr\=xh)rx}rx(hNhNhU L-Histidinerxh}rx(UCHEBI]rxU15971rxaUKEGG]rxUC00135rxaUPUBCHEM]rxU3435rxauhUhis__L_crxhUEh Kh!Gh"h#)rx}rx(hNh"UC6H9N3O2rxh}rxh(}rxh*}rx(UHK UCKUOKUNKuhjxubh,Uch(}rxh.h/]RrxubG@qj~AGiWj .GM:jnGLAj\LGNxjG-:ijFEG+ Jh)rx}rx(hNhNhUUndecaprenyl-diphosphaterxh}rx(UCHEBI]rxU17047rxaUKEGG]rxUC03543rxaUPUBCHEM]rxU6347rxauhUudcpdp_crxhUEh Jh!Gh"h#)rx}rx(hNh"U C55H89O7P2rxh}rxh(}rxh*}rx(UHKYUCK7UOKUPKuhjxubh,Uch(}rxh.h/]RrxubG 8Kh)rx}rx(hNhNhUSulfaterxh}rx(UCHEBI]rxU16189rxaUKEGG]rxUC00059rxaUPUBCHEM]rxU3359ryauhUso4_cryhUEh Jh!Gh"h#)ry}ry(hNh"UO4Sryh}ryh(}ryh*}ry(USKUOKuhjyubh,Uch(}ryh.h/]Rr yubGp+.'Zj3G]cej'G-:ij9G!.Ih)r y}r y(hNhNhUL-Valiner yh}r y(UCHEBI]ryU16414ryaUKEGG]ryUC00183ryaUPUBCHEM]ryU3483ryauhUval__L_cryhUEh Kh!Gh"h#)ry}ry(hNh"UC5H11NO2ryh}ryh(}ryh*}ry(UHK UCKUOKUNKuhjyubh,Uch(}ryh.h/]RryubGshh)ry}ry(hNhNhUMolybdate-MoO4ryh}r y(UCHEBI]r!yU36264r"yaUKEGG]r#yUC06232r$yaUPUBCHEM]r%yU8475r&yauhUmobd_cr'yhUEh Jh!Gh"h#)r(y}r)y(hNh"Uh}r*yh(}r+yh*}r,yhUubh,Uch(}r-yh.h/]Rr.yubGiWj GD*h)r/y}r0y(hNhNhU L-Tryptophanr1yh}r2y(UCHEBI]r3yU16828r4yaUKEGG]r5yUC00078r6yaUPUBCHEM]r7yU3378r8yauhUtrp__L_cr9yhUEh Kh!Gh"h#)r:y}r;y(hNh"U C11H12N2O2ryh*}r?y(UHK UCK UOKUNKuhjz(hNjKhNhUyajBr?zh}r@zjhUSTM0403rAzh Nh"NjKh,Nh(}rBzjU+h.h/]RrCzubaRrDzhU FA100ACPHirEzhKGhLhMhNhNjAzh(}rFzhPNubh)rGz}rHz(h UCell Envelope BiosynthesisrIzh }rJz(jG?jZGj[GjG?jG?uhNhUfatty acyl ACP hydrolaserKzhEG@@hFGh}rLzhHh/]rMzj=zaRrNzhU FA120ACPHirOzhKGhLhMhNhNUSTM0403rPzh(}rQzhPNubh)rRz}rSz(h UCell Envelope BiosynthesisrTzh }rUz(jGjG?jZGjG?jG?uhNhUfatty acyl ACP hydrolaserVzhEG@@hFGh}rWzhHh/]rXzj=zaRrYzhU FA140ACPHirZzhKGhLhMhNhNUSTM0403r[zh(}r\zhPNubh)r]z}r^z(h UCell Envelope Biosynthesisr_zh }r`z(jZGjGjG?jG?jG?uhNhUfatty acyl ACP hydrolaserazhEG@@hFGh}rbzhHh/]rczj=zaRrdzhU FA141ACPHirezhKGhLhMhNhNUSTM0403rfzh(}rgzhPNubh)rhz}riz(h UCell Envelope Biosynthesisrjzh }rkz(jGjZGjG?j=G?jG?uhNhUfatty acyl ACP hydrolaserlzhEG@@hFGh}rmzhHh/]rnzj=zaRrozhU FA160ACPHirpzhKGhLhMhNhNUSTM0403rqzh(}rrzhPNubh)rsz}rtz(h UCell Envelope Biosynthesisruzh }rvz(jGjZGj[G?jG?jG?uhNhUfatty acyl ACP hydrolaserwzhEG@@hFGh}rxzhHh/]ryzj=zaRrzzhU FA161ACPHir{zhKGhLhMhNhNUSTM0403r|zh(}r}zhPNubh)r~z}rz(h UCell Envelope Biosynthesisrzh }rz(jGjZGjG?jG?jG?uhNhUfatty acyl ACP hydrolaserzhEG@@hFGh}rzhHh/]rzj=zaRrzhU FA80ACPHirzhKGhLhMhNhNUSTM0403rzh(}rzhPNubh)rz}rz(h UCell Envelope Biosynthesisrzh }rz(jZGjG?jG?jG?jGuhNhU&fatty acid CoA thioesterase decanoate rzhEG@@hFGh}rzhHh/]rzj)rz}rz(hNjKhNhUtesBrzh}rzjhUSTM0464rzh Nh"NjKh,Nh(}rzjU+h.h/]RrzubaRrzhU FACOAE100rzhKGhLhMhNhNjzh(}rzhPNubh)rz}rz(h UCell Envelope Biosynthesisrzh }rz(jFGjG?jZGjG?jG?uhNhU(fatty acid CoA thioesterase dodecanoate rzhEG@@hFGh}rzhHh/]rzjzaRrzhU FACOAE120rzhKGhLhMhNhNUSTM0464rzh(}rzhPNubh)rz}rz(h UCell Envelope Biosynthesisrzh }rz(jG?jG?jZGjG?jGuhNhU+fatty acid CoA thioesterase tetradecanoate rzhEG@@hFGh}rzhHh/]rzjzaRrzhU FACOAE140rzhKGhLhMhNhNUSTM0464rzh(}rzhPNubh)rz}rz(h UCell Envelope Biosynthesisrzh }rz(jG?jZGjG?h)rz}rz(hNhNhUTetradecenoyl-CoA-n-C141CoArzh}rz(UCHEBI]rzU0aUKEGG]rzUC06737rzaUPUBCHEM]rzU8959rzauhUtdecoa_crzhUEh Jh!Gh"h#)rz}rz(hNh"UC35H56N7O17P3Srzh}rzh(}rzh*}rz(UCK#UHK8UOKUNKUPKUSKuhjzubh,Uch(}rzh.h/]RrzubGjG?uhNhU+fatty acid CoA thioesterase tetradecenoate rzhEG@@hFGh}rzhHh/]rzjzaRrzhU FACOAE141rzhKGhLhMhNhNUSTM0464rzh(}rzhPNubh)rz}rz(h UCell Envelope Biosynthesisrzh }rz(jG?jZGjGj=G?jG?uhNhU*fatty acid CoA thioesterase hexadecanoate rzhEG@@hFGh}rzhHh/]rzjzaRrzhU FACOAE160rzhKGhLhMhNhNUSTM0464rzh(}rzhPNubh)rz}rz(h UCell Envelope Biosynthesisrzh }rz(jG?h)rz}rz(hNhNhUHexadecenoyl-CoA-n-C161CoArzh}rz(UCHEBI]rzU0aUKEGG]rzU0aUPUBCHEM]rzU0auhUhdcoa_crzhUEh Jh!Gh"h#)rz}rz(hNh"UC37H60N7O17P3Srzh}rzh(}rzh*}rz(UCK%UHK{hHh/]r?{jzaRr@{hUFACOAE80rA{hKGhLhMhNhNUSTM0464rB{h(}rC{hPNubh)rD{}rE{(h UCell Envelope BiosynthesisrF{h }rG{(jG?jGGjLGjG?jGjG?jGjG?uhNhUEfatty acid CoA ligase decanoate transport via vectoral Co A coupling rH{hEG@@hFGh}rI{hHh/]rJ{(j)rK{}rL{(hNjKhNhUydiDrM{h}rN{jhUSTM1350rO{h Nh"NjKh,Nh(}rP{jU+h.h/]RrQ{ubj)rR{}rS{(hNjKhNhUfadDrT{h}rU{jhUSTM1818rV{h Nh"NjKh,Nh(}rW{jU+h.h/]RrX{ubeRrY{hU FACOAL100t2pprZ{hKGhLhMhNhNU( STM1818 or STM1350 )r[{h(}r\{hPNubh)r]{}r^{(h UCell Envelope Biosynthesisr_{h }r`{(jG?jFG?jGGjGjGjMGjG?jG?uhNhUGfatty acid CoA ligase dodecanoate transport via vectoral Co A coupling ra{hEG@@hFGh}rb{hHh/]rc{(jK{jR{eRrd{hU FACOAL120t2ppre{hKGhLhMhNhNU( STM1350 or STM1818 )rf{h(}rg{hPNubh)rh{}ri{(h UCell Envelope Biosynthesisrj{h }rk{(jGjGjG?jGGjG?jG?h)rl{}rm{(hNhNhUtetradecanoate-n-C140rn{h}ro{(UCHEBI]rp{U 28875 30807rq{aUKEGG]rr{UC06424rs{aUPUBCHEM]rt{U8659ru{auhUttdca_prv{hUEh Jh!Gh"h#)rw{}rx{(hNh"UC14H27O2ry{h}rz{h(}r{{h*}r|{(UHKUCKUOKuhjy{ubh,Uph(}r}{h.h/]Rr~{ubGjG?uhNhUJfatty acid CoA ligase tetradecanoate transport via vectoral Co A coupling r{hEG@@hFGh}r{hHh/]r{(jR{jK{eRr{hU FACOAL140t2ppr{hKGhLhMhNhNU( STM1818 or STM1350 )r{h(}r{hPNubh)r{}r{(h UCell Envelope Biosynthesisr{h }r{(jG?jGjGGjGjG?jG?h)r{}r{(hNhNhUtetradecenoate-n-C141r{h}r{(UCHEBI]r{U0aUKEGG]r{U0aUPUBCHEM]r{U0auhUttdcea_pr{hUEh Jh!Gh"h#)r{}r{(hNh"UC14H25O2r{h}r{h(}r{h*}r{(UHKUCKUOKuhj{ubh,Uph(}r{h.h/]Rr{ubGjzG?uhNhUJfatty acid CoA ligase tetradecenoate transport via vectoral Co A coupling r{hEG@@hFGh}r{hHh/]r{(jK{jR{eRr{hU FACOAL141t2ppr{hKGhLhMhNhNU( STM1350 or STM1818 )r{h(}r{hPNubh)r{}r{(h UCell Envelope Biosynthesisr{h }r{(jGjGGjGjG?jG?jG?h)r{}r{(hNhNhUHexadecanoate-n-C160r{h}r{(UCHEBI]r{U15756r{aUKEGG]r{UC00249r{aUPUBCHEM]r{U3548r{auhUhdca_pr{hUEh Jh!Gh"h#)r{}r{(hNh"UC16H31O2r{h}r{h(}r{h*}r{(UHKUCKUOKuhj{ubh,Uph(}r{h.h/]Rr{ubGjG?uhNhUIfatty acid CoA ligase hexadecanoate transport via vectoral Co A coupling r{hEG@@hFGh}r{hHh/]r{(jK{jR{eRr{hU FACOAL160t2ppr{hKGhLhMhNhNU( STM1350 or STM1818 )r{h(}r{hPNubh)r{}r{(h UCell Envelope Biosynthesisr{h }r{(jGjG?jGGjzG?jG?h)r{}r{(hNhNhUHexadecenoate-n-C161r{h}r{(UCHEBI]r{U15756r{aUKEGG]r{UC00249r{aUPUBCHEM]r{U3548r{auhUhdcea_pr{hUEh Jh!Gh"h#)r{}r{(hNh"UC16H29O2r{h}r{h(}r{h*}r{(UHKUCKUOKuhj{ubh,Uph(}r{h.h/]Rr{ubGjGjG?uhNhUIfatty acid CoA ligase hexadecenoate transport via vectoral Co A coupling r{hEG@@hFGh}r{hHh/]r{(jR{jK{eRr{hU FACOAL161t2ppr{hKGhLhMhNhNU( STM1818 or STM1350 )r{h(}r{hPNubh)r{}r{(h UCell Envelope Biosynthesisr{h }r{(jGjGjGGjG?h)r{}r{(hNhNhUoctadecanoate-n-C180r{h}r{(UCHEBI]r{U25629r{aUKEGG]r{UC01530r{aUPUBCHEM]r{U4692r{auhUocdca_pr{hUEh Jh!Gh"h#)r{}r{(hNh"UC18H35O2r{h}r{h(}r{h*}r{(UHK#UCKUOKuhj{ubh,Uph(}r{h.h/]Rr{ubGjG?jG?jG?uhNhUIfatty acid CoA ligase octadecanoate transport via vectoral Co A coupling r{hEG@@hFGh}r{hHh/]r{(jK{jR{eRr{hU FACOAL180t2ppr{hKGhLhMhNhNU( STM1818 or STM1350 )r{h(}r{hPNubh)r{}r{(h UCell Envelope Biosynthesisr{h }r{(jG?j{G?jGGh)r{}r|(hNhNhUoctadecenoate-n-C181r|h}r|(UCHEBI]r|U16196r|aUKEGG]r|U0aUPUBCHEM]r|U3978r|auhUocdcea_pr|hUEh Jh!Gh"h#)r |}r |(hNh"UC18H33O2r |h}r |h(}r |h*}r|(UHK!UCKUOKuhj |ubh,Uph(}r|h.h/]Rr|ubGjGjG?jGjG?uhNhUIfatty acid CoA ligase octadecenoate transport via vectoral Co A coupling r|hEG@@hFGh}r|hHh/]r|(jK{jR{eRr|hU FACOAL181t2ppr|hKGhLhMhNhNU( STM1818 or STM1350 )r|h(}r|hPNubh)r|}r|(h UCell Envelope Biosynthesisr|h }r|(jGjGjG?h)r|}r|(hNhNhUHexanoate-n-C60r|h}r|(UCHEBI]r |U30776r!|aUKEGG]r"|UC01585r#|aUPUBCHEM]r$|U4740r%|auhUhxa_pr&|hUEh Jh!Gh"h#)r'|}r(|(hNh"UC6H11O2r)|h}r*|h(}r+|h*}r,|(UHK UCKUOKuhj)|ubh,Uph(}r-|h.h/]Rr.|ubGjG?jG?jGGjG?uhNhUEfatty acid CoA ligase hexanoate transport via vectoral Co A coupling r/|hEG@@hFGh}r0|hHh/]r1|(jR{jK{eRr2|hU FACOAL60t2ppr3|hKGhLhMhNhNU( STM1818 or STM1350 )r4|h(}r5|hPNubh)r6|}r7|(h UCell Envelope Biosynthesisr8|h }r9|(jG?jGjGjG?h)r:|}r;|(hNhNhUoctanoate-n-C80r<|h}r=|(UCHEBI]r>|U28837r?|aUKEGG]r@|UC06423rA|aUPUBCHEM]rB|U8658rC|auhUocta_prD|hUEh Jh!Gh"h#)rE|}rF|(hNh"UC8H15O2rG|h}rH|h(}rI|h*}rJ|(UHKUCKUOKuhjG|ubh,Uph(}rK|h.h/]RrL|ubGjG?jGGjG?uhNhUEfatty acid CoA ligase octanoate transport via vectoral Co A coupling rM|hEG@@hFGh}rN|hHh/]rO|(jK{jR{eRrP|hU FACOAL80t2pprQ|hKGhLhMhNhNU( STM1818 or STM1350 )rR|h(}rS|hPNubh)rT|}rU|(h U*Cofactor and Prosthetic Group BiosynthesisrV|h }rW|(jjG?jGjGj Gj G?uhNhU FAD reductaserX|hEG@@hFGh}rY|hHh/]rZ|j)r[|}r\|(hNjKhNhUfrer]|h}r^|jhUSTM3979r_|h Nh"NjKh,Nh(}r`|jU+h.h/]Rra|ubaRrb|hUFADRxrc|hKGhLhMhNhNj_|h(}rd|hPNubh)re|}rf|(h U*Cofactor and Prosthetic Group Biosynthesisrg|h }rh|(jB G?jjG?jU GjGjGuhNhU FAD reductaseri|hEG@@hFGh}rj|hHh/]rk|(j)rl|}rm|(hNjKhNhUcysIrn|h}ro|jhUSTM2947rp|h Nh"NjKh,Nh(}rq|jU+h.h/]Rrr|ubj)rs|}rt|(hNjKhNhUcysJru|h}rv|jhUSTM2948rw|h Nh"NjKh,Nh(}rx|jU+h.h/]Rry|ubeRrz|hUFADRx2r{|hKGhLhMhNhNU( STM2947 and STM2948 )r||h(}r}|hPNubh)r~|}r|(h UTransport Outer Membrane Porinr|h }r|(j cGh)r|}r|(hNhNhU Formaldehyder|h}r|(UCHEBI]r|U16842r|aUKEGG]r|UC00067r|aUPUBCHEM]r|U3367r|auhUfald_pr|hUEh Kh!Gh"h#)r|}r|(hNh"UCH2Or|h}r|h(}r|h*}r|(UHKUCKUOKuhj|ubh,Uph(}r|h.h/]Rr|ubG?uhNhU@formaldehyde transport via diffusion extracellular to periplasm r|hEG@@hFG@h}r|hHh/]r|(jjjjeRr|hUFALDtexr|hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r|h(}r|hPNubh)r|}r|(h UTransport Inner Membraner|h }r|(j|Gh)r|}r|(hNhNhU Formaldehyder|h}r|(UCHEBI]r|U16842r|aUKEGG]r|UC00067r|aUPUBCHEM]r|U3367r|auhUfald_cr|hUEh Kh!Gh"h#)r|}r|(hNh"UCH2Or|h}r|h(}r|h*}r|(UHKUCKUOKuhj|ubh,Uch(}r|h.h/]Rr|ubG?uhNhU/formaldehyde transport via diffusion periplasm r|hEG@@hFG@h}r|hHh/]r|jFaRr|hUFALDtppr|hKGhLhMhNhNUs0001r|h(}r|hPNubh)r|}r|(h U*Cofactor and Prosthetic Group Biosynthesisr|h }r|(h)r|}r|(hNhNhUReduced-glutathioner|h}r|(UCHEBI]r|U16856r|aUKEGG]r|UC00051r|aUPUBCHEM]r|U3353r|auhUgthrd_cr|hUEh Jh!Gh"h#)r|}r|(hNh"U C10H16N3O6Sr|h}r|h(}r|h*}r|(UHKUCK USKUOKUNKuhj|ubh,Uch(}r|h.h/]Rr|ubGj|Gh)r|}r|(hNhNhUhydroxymethylglutathioner|h}r|(UCHEBI]r|U0aUKEGG]r|U0aUPUBCHEM]r|U1082r|auhUhmgth_cr|hUEh Jh!Gh"h#)r|}r|(hNh"U C11H18N3O7Sr|h}r|h(}r|h*}r|(UHKUCK USKUOKUNKuhj|ubh,Uch(}r|h.h/]Rr|ubG?uhNhU,formaldehyde glutathione ligase spontaneous r|hEG@@hFG@h}r|hHh/]r|jFaRr|hUFALGTHLsr|hKGhLhMhNhNUs0001r|h(}r|hPNubh)r|}r|(h UGlycolysisGluconeogenesisr|h }r|(jUG?h)r|}r|(hNhNhUDihydroxyacetone-phosphater|h}r|(UCHEBI]r|U16108r|aUKEGG]r|UC00111r|aUPUBCHEM]r|U3411r|auhUdhap_cr|hUEh Jh!Gh"h#)r|}r|(hNh"UC3H5O6Pr|h}r|h(}r|h*}r|(UHKUCKUOKUPKuhj|ubh,Uch(}r|h.h/]Rr|ubG?h)r}}r}(hNhNhUD-Fructose-1-6-bisphosphater}h}r}(UCHEBI]r}U16905r}aUKEGG]r}UC00354r}aUPUBCHEM]r}U3647r }auhUfdp_cr }hUEh Jh!Gh"h#)r }}r }(hNh"U C6H10O12P2r }h}r}h(}r}h*}r}(UHK UCKUOK UPKuhj }ubh,Uch(}r}h.h/]Rr}ubGuhNhUfructose bisphosphate aldolaser}hEG@@hFG@h}r}hHh/]r}(j)r}}r}(hNjKhNhUfbar}h}r}jhUSTM3068r}h Nh"NjKh,Nh(}r}jU+h.h/]Rr}ubj)r}}r}(hNjKhNhUfbaBr}h}r }jhUSTM2141r!}h Nh"NjKh,Nh(}r"}jU+h.h/]Rr#}ubeRr$}hUFBAr%}hKGhLhMhNhNU( STM2141 or STM3068 )r&}h(}r'}hPNubh)r(}}r)}(h UGlycolysisGluconeogenesisr*}h }r+}(jZGjG?j}GjyG?uhNhUfructose bisphosphataser,}hEG@@hFGh}r-}hHh/]r.}(j)r/}}r0}(hNjKhNhUglpXr1}h}r2}jhUSTM4085r3}h Nh"NjKh,Nh(}r4}jU+h.h/]Rr5}ubj)r6}}r7}(hNjKhNhUfbpr8}h}r9}jhUSTM4415r:}h Nh"NjKh,Nh(}r;}jU+h.h/]Rr<}ubeRr=}hUFBPr>}hKGhLhMhNhNU( STM4085 or STM4415 )r?}h(}r@}hPNubh)rA}}rB}(h UAlternate Carbon MetabolismrC}h }rD}(h)rE}}rF}(hNhNhU L-fuculoserG}h}rH}(UCHEBI]rI}U17617rJ}aUKEGG]rK}UC01721rL}aUPUBCHEM]rM}U4858rN}auhUfcl__L_crO}hUEh Kh!Gh"h#)rP}}rQ}(hNh"UC6H12O5rR}h}rS}h(}rT}h*}rU}(UHK UCKUOKuhjR}ubh,Uch(}rV}h.h/]RrW}ubG?h)rX}}rY}(hNhNhUL-FucoserZ}h}r[}(UCHEBI]r\}U2181r]}aUKEGG]r^}UC01019r_}aUPUBCHEM]r`}U4264ra}auhUfuc__L_crb}hUEh Kh!Gh"h#)rc}}rd}(hNh"UC6H12O5re}h}rf}h(}rg}h*}rh}(UHK UCKUOKuhje}ubh,Uch(}ri}h.h/]Rrj}ubGuhNhUL fucose isomeraserk}hEG@@hFG@h}rl}hHh/]rm}j)rn}}ro}(hNjKhNhUfucIrp}h}rq}jhUSTM2976rr}h Nh"NjKh,Nh(}rs}jU+h.h/]Rrt}ubaRru}hUFCIrv}hKGhLhMhNhNjr}h(}rw}hPNubh)rx}}ry}(h UAlternate Carbon Metabolismrz}h }r{}(j4G?jGGh)r|}}r}}(hNhNhUL-Fuculose-1-phosphater~}h}r}(UCHEBI]r}U6220r}aUKEGG]r}UC01099r}aUPUBCHEM]r}U4333r}auhUfc1p_cr}hUEh Jh!Gh"h#)r}}r}(hNh"UC6H11O8Pr}h}r}h(}r}h*}r}(UHK UCKUOKUPKuhj}ubh,Uch(}r}h.h/]Rr}ubG?jE}GjG?uhNhUL fuculokinaser}hEG@@hFGh}r}hHh/]r}j)r}}r}(hNjKhNhUfucKr}h}r}jhUSTM2977r}h Nh"NjKh,Nh(}r}jU+h.h/]Rr}ubaRr}hUFCLKr}hKGhLhMhNhNj}h(}r}hPNubh)r}}r}(h UAlternate Carbon Metabolismr}h }r}(j|G?j|}Gh)r}}r}(hNhNhUL-Lactaldehyder}h}r}(UCHEBI]r}U18041r}aUKEGG]r}UC00424r}aUPUBCHEM]r}U3714r}auhU lald__L_cr}hUEh Kh!Gh"h#)r}}r}(hNh"UC3H6O2r}h}r}h(}r}h*}r}(UHKUCKUOKuhj}ubh,Uch(}r}h.h/]Rr}ubG?uhNhUL fuculose 1 phosphate aldolaser}hEG@@hFG@h}r}hHh/]r}(j)r}}r}(hNjKhNhUfucAr}h}r}jhUSTM2974r}h Nh"NjKh,Nh(}r}jU+h.h/]Rr}ubj)r}}r}(hNjKhNhUygbLr}h}r}jhUSTM2916r}h Nh"NjKh,Nh(}r}jU+h.h/]Rr}ubeRr}hUFCLPAr}hKGhLhMhNhNU( STM2974 or STM2916 )r}h(}r}hPNubh)r}}r}(h U*Cofactor and Prosthetic Group Biosynthesisr}h }r}(h)r}}r}(hNhNhUProtoporphyrinr}h}r}(UCHEBI]r}U15430r}aUKEGG]r}UC02191r}aUPUBCHEM]r}U5261r}auhUppp9_cr}hUEh Jh!Gh"h#)r}}r}(hNh"U C34H32N4O4r}h}r}h(}r}h*}r}(UHK UCK"UOKUNKuhj}ubh,Uch(}r}h.h/]Rr}ubGjG@j/GjxG?uhNhUFerrochelataser}hEG@@hFGh}r}hHh/]r}j)r}}r}(hNjKhNhUhemHr}h}r}jhUSTM0489r}h Nh"NjKh,Nh(}r}jU+h.h/]Rr}ubaRr}hUFCLTr}hKGhLhMhNhNj}h(}r}hPNubh)r}}r}(h UOxidative Phosphorylationr}h }r}(jO5GjG?h)r}}r}(hNhNhUFormater}h}r}(UCHEBI]r}U30751r}aUKEGG]r}UC00058r}aUPUBCHEM]r}U3358r}auhUfor_pr}hUEh Jh!Gh"h#)r}}r}(hNh"UCH1O2r}h}r}h(}r}h*}r~(UHKUCKUOKuhj}ubh,Uph(}r~h.h/]Rr~ubGj1G?jGjb5G?uhNhU+formate dehydrogenase quinone 8 periplasm r~hEG@@hFGh}r~hHh/]r~(j)r~}r~(hNjKhNhUfdnHr~h}r ~jhUSTM1569r ~h Nh"NjKh,Nh(}r ~jU+h.h/]Rr ~ubj)r ~}r~(hNjKhNhUfdnGr~h}r~jhUSTM1570r~h Nh"NjKh,Nh(}r~jU+h.h/]Rr~ubj)r~}r~(hNjKhNhUfdoIr~h}r~jhUSTM4035r~h Nh"NjKh,Nh(}r~jU+h.h/]Rr~ubj)r~}r~(hNjKhNhUfdoHr~h}r~jhUSTM4036r~h Nh"NjKh,Nh(}r ~jU+h.h/]Rr!~ubj)r"~}r#~(hNjKhNhUfdoGr$~h}r%~jhUSTM4037r&~h Nh"NjKh,Nh(}r'~jU+h.h/]Rr(~ubj)r)~}r*~(hNjKhNhUfdnIr+~h}r,~jhUSTM1568r-~h Nh"NjKh,Nh(}r.~jU+h.h/]Rr/~ubeRr0~hUFDH4ppr1~hKGhLhMhNhNUX( ( STM4035 and STM4036 and STM4037 ) or ( STM1570 and STM1569 and STM1568 ) )r2~h(}r3~hPNubh)r4~}r5~(h UOxidative Phosphorylationr6~h }r7~(jS-G?j1G?j}GjG?j5GjGuhNhU/Formate Dehydrogenase menaquinone 8 periplasm r8~hEG@@hFGh}r9~hHh/]r:~(j)~j~j ~j~j~j"~eRr;~hUFDH5ppr<~hKGhLhMhNhNUX( ( STM1570 and STM1569 and STM1568 ) or ( STM4035 and STM4036 and STM4037 ) )r=~h(}r>~hPNubh)r?~}r@~(h U&Inorganic Ion Transport and MetabolismrA~h }rB~(h)rC~}rD~(hNhNhUFe2rE~h}rF~(UCHEBI]rG~U18248rH~aUKEGG]rI~UC00023rJ~aUPUBCHEM]rK~U3325rL~auhUfe2_prM~hUEh Kh!Gh"h#)rN~}rO~(hNh"UFerP~h}rQ~h(}rR~h*}rS~jP~KshjP~ubh,Uph(}rT~h.h/]RrU~ubGj/G?jGjG?uhNhU2iron II transport in via proton symport periplasm rV~hEG@@hFGh}rW~hHh/]rX~j)rY~}rZ~(hNjKhNhUmntHr[~h}r\~jhUSTM2408r]~h Nh"NjKh,Nh(}r^~jU+h.h/]Rr_~ubaRr`~hUFE2t2ppra~hKGhLhMhNhNj]~h(}rb~hPNubh)rc~}rd~(h UTransport Outer Membrane Porinre~h }rf~(jC~G?jhHh/]Rr?hU FE3HOXUtexr@hKGhLhMhNhNUh(}rAhPNubh)rB}rC(h U&Inorganic Ion Transport and MetabolismrDh }rE(jcG?jGjG?j-GuhNhU4Fe III hydroxamate unloaded secretion extracellular rFhEG@@hFGh}rGhHh/]RrHhU FE3HOXUtpprIhKGhLhMhNhNUh(}rJhPNube(h)rK}rL(h U&Inorganic Ion Transport and MetabolismrMh }rN(j0GjcGjcG?uhNhU4Fe III hydroxamate Fe loading reaction spontaneaous rOhEG@@hFGh}rPhHh/]rQjFaRrRhU FE3HOXexsrShKGhLhMhNhNUs0001rTh(}rUhPNubh)rV}rW(h UTransport Outer MembranerXh }rY(jcGjGh)rZ}r[(hNhNhUFe-III-hydroxamater\h}r](UCHEBI]r^U0aUKEGG]r_UC06227r`aUPUBCHEM]raU8470rbauhUfe3hox_prchUEh Kh!Gh"h#)rd}re(hNh"U C9H18O6N3Ferfh}rgh(}rhh*}ri(UHKUCK UFeKUOKUNKuhjfubh,Uph(}rjh.h/]RrkubG?jG?uhNhU:Fe III hydroxamine transport via ton system extracellular rlhEG@@hFGh}rmhHh/]rn(j"j"j"j)ro}rp(hNjKhNhUfhuArqh}rrjhUSTM0191rsh Nh"NjKh,Nh(}rtjU+h.h/]RruubeRrvhU FE3HOXtonexrwhKGhLhMhNhNU9( STM0191 and ( STM1737 and STM3158 and STM3159 ) )rxh(}ryhPNubh)rz}r{(h U*Cofactor and Prosthetic Group Biosynthesisr|h }r}(jjGj/G@jG@jG?jyGuhNhUFe III reductionr~hEG@@hFGh}rhHh/]rj[|aRrhUFE3RirhKGhLhMhNhNUSTM3979rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j0Gh)r}r(hNhNhUFe3rh}r(UCHEBI]rU14819raUKEGG]rU0aUPUBCHEM]rU0auhUfe3_prhUEh Kh!Gh"h#)r}r(hNh"UFerh}rh(}rh*}rjKshjubh,Uph(}rh.h/]RrubG?uhNhUaUPUBCHEM]r?U8473r@auhU feenter_crAhUEh Kh!Gh"h#)rB}rC(hNh"U C30H27FeN3O15rDh}rEh(}rFh*}rG(UHKUCKUFeKUOKUNKuhjDubh,Uch(}rHh.h/]RrIubG?j4G?jGGjZGjG?h)rJ}rK(hNhNhUFe-enterobactinrLh}rM(UCHEBI]rNU28199rOaUKEGG]rPUC06230rQaUPUBCHEM]rRU8473rSauhU feenter_prThUEh Kh!Gh"h#)rU}rV(hNh"U C30H27FeN3O15rWh}rXh(}rYh*}rZ(UHKUCKUFeKUOKUNKuhjWubh,Uph(}r[h.h/]Rr\ubGjG?uhNhU3Fe enterobactin transport via ABC system periplasm r]hEG@@hFGh}r^hHh/]r_(j~j~j~j~eRr`hU FEENTERabcpprahKGhLhMhNhNU5( STM0594 and STM0590 and STM0592 and STM0591 )rbh(}rchPNubh)rd}re(h U&Inorganic Ion Transport and Metabolismrfh }rg(j0GjbGjcG?uhNhU(enterobactin Fe III binding spontaneous rhhEG@@hFGh}rihHh/]rjjFaRrkhU FEENTERexsrlhKGhLhMhNhNUs0001rmh(}rnhPNubh)ro}rp(h UTransport Outer Membranerqh }rr(jJG?jcGjGjG?uhNhU7Fe enterobactin transport via ton system extracellular rshEG@@hFGh}rthHh/]ru(j)rv}rw(hNjKhNhUfepArxh}ryjhUSTM0585rzh Nh"NjKh,Nh(}r{jU+h.h/]Rr|ubj"j"j"eRr}hU FEENTERtonexr~hKGhLhMhNhNU9( STM0585 and ( STM1737 and STM3158 and STM3159 ) )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j]GjGh)r}r(hNhNhU Enterochelinrh}r(UCHEBI]rU28855raUKEGG]rUC05821raUPUBCHEM]rU8116rauhUenter_prhUEh Kh!Gh"h#)r}r(hNh"U C30H27N3O15rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?jG?uhNhU!enterochelin transport secretion rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUybdArh}rjhUSTM0593rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU FEENTERtpprhKGhLhMhNhNjh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j4dG?jGjG?h)r}r(hNhNhUferroxamine-minus-Fe-3rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU feoxam__un_prhUEh Jh!Gh"h#)r}r(hNh"U C25H46N6O8rh}rh(}rh*}r(UHK.UCKUOKUNKuhjubh,Uph(}rh.h/]RrubGuhNhU1ferroxamine minus Fe3 secretion to extracellular rhEG@@hFGh}rhHh/]RrhU FEOXAMUtexrhKGhLhMhNhNUh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jG?jGh)r€}rÀ(hNhNhUferroxamine-minus-Fe-3rĀh}rŀ(UCHEBI]rƀU0aUKEGG]rǀU0aUPUBCHEM]rȀU0auhU feoxam__un_crɀhUEh Jh!Gh"h#)rʀ}rˀ(hNh"U C25H46N6O8r̀h}r̀h(}r΀h*}rπ(UHK.UCKUOKUNKuhj̀ubh,Uch(}rЀh.h/]RrрubGjG?uhNhU-ferroxamine minus Fe3 secretion to periplasm rҀhEG@@hFGh}rӀhHh/]RrԀhU FEOXAMUtpprՀhKGhLhMhNhNUh(}rրhPNubh)r׀}r؀(h U&Inorganic Ion Transport and Metabolismrـh }rڀ(j4G?jGGjZGh)rۀ}r܀(hNhNhU ferroxaminer݀h}rހ(UCHEBI]r߀U0aUKEGG]rUC07597raUPUBCHEM]rU9799rauhUfeoxam_crhUEh Kh!Gh"h#)r}r(hNh"U C25H46FeN6O8rh}rh(}rh*}r(UHK.UCKUFeKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?h)r}r(hNhNhU ferroxaminerh}r(UCHEBI]rU0aUKEGG]rUC07597raUPUBCHEM]rU9799rauhUfeoxam_prhUEh Kh!Gh"h#)r}r(hNh"U C25H46FeN6O8rh}rh(}rh*}r(UHK.UCKUFeKUOKUNKuhjubh,Uph(}rh.h/]RrubGjG?uhNhU/ferroxamine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j0j0j0eRrhU FEOXAMabcpprhKGhLhMhNhNU'( STM0194 and STM0192 and STM0193 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r (j0GjdG?j4dGuhNhU-ferroxamine Fe3 loading reaction spontaneous r hEG@@hFGh}r hHh/]r jFaRr hU FEOXAMexsrhKGhLhMhNhNUs0001rh(}rhPNubh)r}r(h UTransport Outer Membranerh }r(jdGjGjG?jG?uhNhU3ferroxamine transport via ton system extracellular rhEG@@hFGh}rhHh/]r(j"joj"j"eRrhU FEOXAMtonexrhKGhLhMhNhNU9( STM0191 and ( STM1737 and STM3158 and STM3159 ) )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jjEGjC~GjG@j)G@jGuhNhU ferroxidaser hEG@@hFGh}r!hHh/]r"jEaRr#hUFEROppr$hKGhLhMhNhNUSTM0168r%h(}r&hPNubh)r'}r((h UPyruvate Metabolismr)h }r*(jGjv-GjG?h)r+}r,(hNhNhUH2r-h}r.(UCHEBI]r/U18276r0aUKEGG]r1UC00282r2aUPUBCHEM]r3U3577r4auhUh2_cr5hUEh Kh!Gh"h#)r6}r7(hNh"UH2r8h}r9h(}r:h*}r;UHKshj8ubh,Uch(}r<h.h/]Rr=ubG?uhNhUFormate hydrogen lyaser>hEGhFGh}r?hHh/]r@(j)rA}rB(hNjKhNhUhycCrCh}rDjhUSTM2851rEh Nh"NjKh,Nh(}rFjU+h.h/]RrGubj)rH}rI(hNjKhNhUhycBrJh}rKjhUSTM2852rLh Nh"NjKh,Nh(}rMjU+h.h/]RrNubj)rO}rP(hNjKhNhUhycErQh}rRjhUSTM2849rSh Nh"NjKh,Nh(}rTjU+h.h/]RrUubj)rV}rW(hNjKhNhUhycFrXh}rYjhUSTM2848rZh Nh"NjKh,Nh(}r[jU+h.h/]Rr\ubj)r]}r^(hNjKhNhUhycGr_h}r`jhUSTM2847rah Nh"NjKh,Nh(}rbjU+h.h/]Rrcubj)rd}re(hNjKhNhUfdhFrfh}rgjhUSTM4285rhh Nh"NjKh,Nh(}rijU+h.h/]Rrjubj)rk}rl(hNjKhNhUhycDrmh}rnjhUSTM2850roh Nh"NjKh,Nh(}rpjU+h.h/]RrqubeRrrhUFHLrshKGhLhMhNhNUc( STM4285 and ( STM2847 and STM2848 and STM2849 and STM2850 and STM2851 and STM2852 ) )rth(}ruhPNubh)rv}rw(h U Unassignedrxh }ry(jB G?jU Gh)rz}r{(hNhNhUflavodoxin-oxidizedr|h}r}(UCHEBI]r~U0aUKEGG]rUC02869raUPUBCHEM]rU5805rauhUfldox_crhUEh Kh!Gh"h#)r}r(hNh"UXh}rh(}rh*}rUXKshUXubh,Uch(}rh.h/]RrubGjGh)r}r(hNhNhUflavodoxin-reducedrh}r(UCHEBI]rU0aUKEGG]rUC02745raUPUBCHEM]rU5705rauhUfldrd_crhUEh Kh!Gh"h#)r}r(hNh"UXH2rh}rh(}rh*}r(UXKUHKuhjubh,Uch(}rh.h/]RrubG?uhNhUflavodoxin reductase NADPH rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUfldBrh}rjhUSTM3045rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUfldArh}rjhUSTM0694rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUfprrh}rjhUSTM4084rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUFLDRrhKGhLhMhNhNU<( ( STM0694 and STM4084 ) or ( STM3045 and STM4084 ) )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jB G?jN0GjU Gj;0G?jGuhNhUflavin reductaserhEG@@hFGh}rhHh/]r(jl|j[|js|eRrhUFLVRrhKGhLhMhNhNU*( ( STM2947 and STM2948 ) or STM3979 )rh(}rÁhPNubh)rā}rŁ(h U*Cofactor and Prosthetic Group BiosynthesisrƁh }rǁ(j G?jN0Gj;0G?jGj GuhNhUflavin reductase NAD rȁhEG@@hFGh}rɁhHh/]rʁj[|aRrˁhUFLVRxŕhKGhLhMhNhNUSTM3979ŕh(}r΁hPNubh)rρ}rЁ(h U tRNA Chargingrсh }rҁ(j'G?j'Gh)rӁ}rԁ(hNhNhUN-Formylmethionyl-tRNArՁh}rց(UCHEBI]rׁU17119r؁aUKEGG]rفUC03294rځaUPUBCHEM]rہU6151r܁auhU fmettrna_cr݁hUEh Kh!Gh"h#)rށ}r߁(hNh"U C6H9NO2SRrh}rh(}rh*}r(UCKUHK UOKUNKUSKURKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhUL-Methionyl-tRNA-Metrh}r(UCHEBI]rU16635raUKEGG]rUC02430raUPUBCHEM]rU5457rauhU mettrna_crhUEh Kh!Gh"h#)r}r(hNh"U C5H10NOSRrh}rh(}rh*}r(UCKUHK UOKUNKUSKURKuhjubh,Uch(}rh.h/]RrubGjG?uhNhU Methionyl tRNA formyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUfmtrh}rjhUSTM3407rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUFMETTRSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r (j0GjGGjG?jG?jGuhNhUFMN adenylyltransferaser hEG@@hFGh}r hHh/]r j)r }r(hNjKhNhUribFrh}rjhUSTM0045rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUFMNATrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j0Gj"0G?j GjGj G?uhNhU FMN reductaserhEG@@hFGh}rhHh/]rj[|aRrhUFMNRxrhKGhLhMhNhNUSTM3979r h(}r!hPNubh)r"}r#(h U*Cofactor and Prosthetic Group Biosynthesisr$h }r%(j0Gj"0G?jU GjGjB G?uhNhU FMN reductaser&hEG@@hFGh}r'hHh/]r((jl|j[|js|eRr)hUFMNRx2r*hKGhLhMhNhNU*( ( STM2947 and STM2948 ) or STM3979 )r+h(}r,hPNubh)r-}r.(h UTransport Inner Membraner/h }r0(j}GjGjv-G?jG?uhNhU;formate transport via proton symport uptake only periplasm r1hEG@@hFGh}r2hHh/]r3j)r4}r5(hNjKhNhUfocAr6h}r7jhUSTM0974r8h Nh"NjKh,Nh(}r9jU+h.h/]Rr:ubaRr;hUFORt2ppr<hKGhLhMhNhNj8h(}r=hPNubh)r>}r?(h UTransport Outer Membrane Porinr@h }rA(j}G?jMdGuhNhU;formate transport via diffusion extracellular to periplasm rBhEG@@hFG@h}rChHh/]rD(jjjjeRrEhUFORtexrFhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rGh(}rHhPNubh)rI}rJ(h UTransport Inner MembranerKh }rL(j}G?jv-GuhNhU7formate transport via diffusion cytoplasm to periplasm rMhEG@@hFGh}rNhHh/]rOj4aRrPhUFORtppirQhKGhLhMhNhNUSTM0974rRh(}rShPNubh)rT}rU(h UCitric Acid CyclerVh }rW(j5G?jS-Gj#Gj5G?uhNhUfumarate reductaserXhEG@@hFGh}rYhHh/]rZ(j)r[}r\(hNjKhNhUfrdAr]h}r^jhUSTM4343r_h Nh"NjKh,Nh(}r`jU+h.h/]Rraubj)rb}rc(hNjKhNhUfrdCrdh}rejhUSTM4341rfh Nh"NjKh,Nh(}rgjU+h.h/]Rrhubj)ri}rj(hNjKhNhUfrdBrkh}rljhUSTM4342rmh Nh"NjKh,Nh(}rnjU+h.h/]Rroubj)rp}rq(hNjKhNhUfrdDrrh}rsjhUSTM4340rth Nh"NjKh,Nh(}rujU+h.h/]RrvubeRrwhUFRD2rxhKGhLhMhNhNU5( STM4340 and STM4341 and STM4342 and STM4343 )ryh(}rzhPNubh)r{}r|(h UCitric Acid Cycler}h }r~(h)r}r(hNhNhU2-Demethylmenaquinone-8rh}r(UCHEBI]rU28192raUKEGG]rUC05818raUPUBCHEM]rU8113rauhU2dmmq8_crhUEh Kh!Gh"h#)r}r(hNh"UC50H70O2rh}rh(}rh*}r(UHKFUCK2UOKuhjubh,Uch(}rh.h/]RrubG?jC-Gj5G?j#GuhNhUfumarate reductaserhEG@@hFGh}rhHh/]r(jij[jbjpeRrhUFRD3rhKGhLhMhNhNU5( STM4340 and STM4341 and STM4342 and STM4343 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j4G?h)r}r(hNhNhUD-Fructose-1-phosphaterh}r(UCHEBI]rU0aUKEGG]rUC02976raUPUBCHEM]rU5887rauhUf1p_crhUEh Jh!Gh"h#)r}r(hNh"UC6H11O9Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}rh.h/]RrubGjGGjG?j}G?uhNhUfructose 1 phosphate kinaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUfruKrh}rjhUSTM2205rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUFRUKrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUfructoselysiner‚h}rÂ(UCHEBI]rĂU0aUKEGG]rłUC16488rƂaUPUBCHEM]rǂU47205784rȂauhUfrulys_prɂhUEh Kh!Gh"h#)rʂ}r˂(hNh"U C12H25N2O7r̂h}r͂h(}r΂h*}rς(UHKUCK UOKUNKuhĵubh,Uph(}rЂh.h/]RrтubG?jdGuhNhU7fructoselysine transporter via diffusion extracellular r҂hEG@@hFG@h}rӂhHh/]rԂ(jjjjeRrՂhU FRULYStexrւhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rׂh(}r؂hPNubh)rق}rڂ(h UTransport Outer Membrane Porinrۂh }r܂(jdGh)r݂}rނ(hNhNhUD-Fructuronater߂h}r(UCHEBI]rU4126raUKEGG]rUC00905raUPUBCHEM]rU4160rauhUfruur_prhUEh Jh!Gh"h#)r}r(hNh"UC6H9O7rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uph(}rh.h/]RrubG?uhNhU5D fructuronate transport via diffusion extracellular rhEG@@hFG@h}rhHh/]r(jjjjeRrhUFRUURtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU D-Fructoserh}r(UCHEBI]rU15824raUKEGG]rUC00095raUPUBCHEM]rU3395rauhUfru_prhUEh Kh!Gh"h#)r}r(hNh"UC6H12O6rh}r h(}r h*}r (UHK UCKUOKuhjubh,Uph(}r h.h/]Rr ubGjGjyG?jmG?uhNhUD fructose transport via diffusion extracellular to periplasm r2hEG@@hFG@h}r3hHh/]r4(jjjjeRr5hUFRUtexr6hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r7h(}r8hPNubh)r9}r:(h UFolate Metabolismr;h }r<(j'Gjv-G?jZGjG?j'G?uhNhU"formyltetrahydrofolate deformylaser=hEG@@hFGh}r>hHh/]r?j)r@}rA(hNjKhNhUpurUrBh}rCjhUSTM1756rDh Nh"NjKh,Nh(}rEjU+h.h/]RrFubaRrGhUFTHFDrHhKGhLhMhNhNjDh(}rIhPNubh)rJ}rK(h UTransport Outer Membrane PorinrLh }rM(jdGh)rN}rO(hNhNhUL-FucoserPh}rQ(UCHEBI]rRU2181rSaUKEGG]rTUC01019rUaUPUBCHEM]rVU4264rWauhUfuc__L_prXhUEh Kh!Gh"h#)rY}rZ(hNh"UC6H12O5r[h}r\h(}r]h*}r^(UHK UCKUOKuhj[ubh,Uph(}r_h.h/]Rr`ubG?uhNhUj)r?}r@(hNjKhNhUagprAh}rBjhUSTM1117rCh Nh"NjKh,Nh(}rDjU+h.h/]RrEubaRrFhUG1PPpprGhKGhLhMhNhNjCh(}rHhPNubh)rI}rJ(h UCell Envelope BiosynthesisrKh }rL(h)rM}rN(hNhNhUD-Glucose-1-phosphaterOh}rP(UCHEBI]rQU 16077 29042rRaUKEGG]rSUC00103rTaUPUBCHEM]rUU3403rVauhUg1p_crWhUEh Jh!Gh"h#)rX}rY(hNh"UC6H11O9PrZh}r[h(}r\h*}r](UHK UCKUOK UPKuhjZubh,Uch(}r^h.h/]Rr_ubGh)r`}ra(hNhNhU dTDPglucoserbh}rc(UCHEBI]rdU15700reaUKEGG]rfUC00842rgaUPUBCHEM]rhU4099riauhU dtdpglu_crjhUEh Jh!Gh"h#)rk}rl(hNh"U C16H24N2O16P2rmh}rnh(}roh*}rp(UHKUCKUPKUOKUNKuhjmubh,Uch(}rqh.h/]RrrubG?jxGjGjG?uhNhU)glucose 1 phosphate thymidylyltransferasershEG@@hFGh}rthHh/]ru(j)rv}rw(hNjKhNhUrfbArxh}ryjhUSTM2095rzh Nh"NjKh,Nh(}r{jU+h.h/]Rr|ubj)r}}r~(hNjKhNhUrffHrh}rjhUSTM3923rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUG1PTTrhKGhLhMhNhNU( STM3923 or STM2095 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jdGj)G?uhNhU-D glucose 1 phosphate transport via diffusionrhEG@@hFG@h}rhHh/]r(jjjjeRrhUG1PtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhU5-Amino-4-oxopentanoaterh}r(UCHEBI]rU17549raUKEGG]rUC00430raUPUBCHEM]rU3719rauhU5aop_crhUEh Kh!Gh"h#)r}r(hNh"UC5H9NO3rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhUL-Glutamate-1-semialdehyderh}r(UCHEBI]rU15757raUKEGG]rUC03741raUPUBCHEM]rU6504rauhUglu1sa_crhUEh Kh!Gh"h#)r}r(hNh"UC5H9NO3rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubGuhNhU)glutamate 1 semialdehyde aminotransferaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUhemLr„h}rÄjhUSTM0202rĄh Nh"NjKh,Nh(}rńjU+h.h/]RrƄubaRrDŽhUG1SATrȄhKGhLhMhNhNjĄh(}rɄhPNubh)rʄ}r˄(h UAlternate Carbon Metabolismr̄h }r̈́(h)r΄}rτ(hNhNhUGlycerol-2-phosphaterЄh}rф(UCHEBI]r҄U17270rӄaUKEGG]rԄUC02979rՄaUPUBCHEM]rքU5889rׄauhUglyc2p_pr؄hUEh Jh!Gh"h#)rل}rڄ(hNh"UC3H7O6Prۄh}r܄h(}r݄h*}rބ(UHKUCKUOKUPKuhjۄubh,Uph(}r߄h.h/]RrubGj+@G?j)GjG?uhNhU-glycerol 2 phosphate phosphatase periplasmic rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUaphArh}rjhUSTM4249rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUG2PPpprhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhUGlycerol-3-phosphaterh}r(UCHEBI]rU15978raUKEGG]rUC00093raUPUBCHEM]rU3393rauhUglyc3p_crhUEh Jh!Gh"h#)r}r(hNh"UC3H7O6Prh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Uch(}rh.h/]RrubGj[Gj2&G?jG?uhNhU*glycerol 3 phosphate acyltransferase C120 rhEG@@hFGh}rhHh/]rj)r}r (hNjKhNhUplsBr h}r jhUSTM4235r h Nh"NjKh,Nh(}r jU+h.h/]RrubaRrhUG3PAT120rhKGhLhMhNhNj h(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(ji&G?jGjG?jGuhNhU*glycerol 3 phosphate acyltransferase C140 rhEG@@hFGh}rhHh/]rjaRrhUG3PAT140rhKGhLhMhNhNUSTM4235rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r (jGj&G?jGjG?uhNhU*glycerol 3 phosphate acyltransferase C141 r!hEG@@hFGh}r"hHh/]r#jaRr$hUG3PAT141r%hKGhLhMhNhNUSTM4235r&h(}r'hPNubh)r(}r)(h UGlycerophospholipid Metabolismr*h }r+(jGjGj&G?jG?uhNhU*glycerol 3 phosphate acyltransferase C160 r,hEG@@hFGh}r-hHh/]r.jaRr/hUG3PAT160r0hKGhLhMhNhNUSTM4235r1h(}r2hPNubh)r3}r4(h UGlycerophospholipid Metabolismr5h }r6(jGjGjG?j&G?uhNhU*glycerol 3 phosphate acyltransferase C161 r7hEG@@hFGh}r8hHh/]r9jaRr:hUG3PAT161r;hKGhLhMhNhNUSTM4235r<h(}r=hPNubh)r>}r?(h UGlycerophospholipid Metabolismr@h }rA(jGjGjG?j*'G?uhNhU*glycerol 3 phosphate acyltransferase C180 rBhEG@@hFGh}rChHh/]rDjaRrEhUG3PAT180rFhKGhLhMhNhNUSTM4235rGh(}rHhPNubh)rI}rJ(h UGlycerophospholipid MetabolismrKh }rL(jn'G?jG?jGjGuhNhU*glycerol 3 phosphate acyltransferase C181 rMhEG@@hFGh}rNhHh/]rOjaRrPhUG3PAT181rQhKGhLhMhNhNUSTM4235rRh(}rShPNubh)rT}rU(h UTransport Inner MembranerVh }rW(j4G?jGGh)rX}rY(hNhNhUsn-Glycero-3-phosphocholinerZh}r[(UCHEBI]r\U16870r]aUKEGG]r^UC00670r_aUPUBCHEM]r`U3939raauhUg3pc_prbhUEh Kh!Gh"h#)rc}rd(hNh"U C8H20NO6Preh}rfh(}rgh*}rh(UHKUCKUPKUOKUNKuhjeubh,Uph(}rih.h/]RrjubGjG?jZGjG?h)rk}rl(hNhNhUsn-Glycero-3-phosphocholinermh}rn(UCHEBI]roU16870rpaUKEGG]rqUC00670rraUPUBCHEM]rsU3939rtauhUg3pc_cruhUEh Kh!Gh"h#)rv}rw(hNh"U C8H20NO6Prxh}ryh(}rzh*}r{(UHKUCKUPKUOKUNKuhjxubh,Uch(}r|h.h/]Rr}ubG?uhNhU@sn glycerol 3 phosphocholine transport via ABC system periplasm r~hEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUugpArh}rjhUSTM3556rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUugpErh}rjhUSTM3555rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUugpBrh}rjhUSTM3557rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUugpCrh}rjhUSTM3554rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU G3PCabcpprhKGhLhMhNhNU5( STM3556 and STM3557 and STM3554 and STM3555 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jXG?jeGuhNhULglycero 3 phosphocholine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUG3PCtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jGjB Gj|G?jU G?jG?uhNhU(glycerol 3 phosphate dehydrogenase NADP rhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUgpsArh}rjhUSTM3700rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUG3PD2rhKGhLhMhNhNjh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jGjO5Gj|G?jb5G?uhNhU0glycerol 3 phosphate dehydrogenase ubiquinone 8 rhEG@@hFGh}r…hHh/]rÅ(j)rą}rŅ(hNjKhNhUglpBrƅh}rDžjhUSTM2285rȅh Nh"NjKh,Nh(}rɅjU+h.h/]Rrʅubj)r˅}r̅(hNjKhNhUglpCrͅh}r΅jhUSTM2286rυh Nh"NjKh,Nh(}rЅjU+h.h/]Rrхubj)r҅}rӅ(hNjKhNhUglpArԅh}rՅjhUSTM2284rօh Nh"NjKh,Nh(}rׅjU+h.h/]Rr؅ubj)rم}rڅ(hNjKhNhUglpDrۅh}r܅jhUSTM3526r݅h Nh"NjKh,Nh(}rޅjU+h.h/]Rr߅ubeRrhUG3PD5rhKGhLhMhNhNU8( ( STM2284 and STM2285 and STM2286 ) or STM3526 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(j5GjGjS-G?j|G?uhNhU1glycerol 3 phosphate dehydrogenase menaquinone 8 rhEG@@hFGh}rhHh/]r(jąj҅j˅eRrhUG3PD6rhKGhLhMhNhNU'( STM2284 and STM2285 and STM2286 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jGjC-G?j|G?jGuhNhU9glycerol 3 phosphate dehydrogenase demethylmenaquinone 8 rhEG@@hFGh}rhHh/]r(jąj҅j˅eRrhUG3PD7rhKGhLhMhNhNU'( STM2284 and STM2285 and STM2286 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU sn-Glycero-3-phosphoethanolaminerh}r(UCHEBI]rU0aUKEGG]rUC01233raUPUBCHEM]rU4454rauhUg3pe_crhUEh Kh!Gh"h#)r}r (hNh"U C5H14NO6Pr h}r h(}r h*}r (UHKUCKUPKUOKUNKuhj ubh,Uch(}rh.h/]RrubG?j4G?jZGh)r}r(hNhNhU sn-Glycero-3-phosphoethanolaminerh}r(UCHEBI]rU0aUKEGG]rUC01233raUPUBCHEM]rU4454rauhUg3pe_prhUEh Kh!Gh"h#)r}r(hNh"U C5H14NO6Prh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uph(}r h.h/]Rr!ubGjGGjG?jG?uhNhUEsn glycerol 3 phosphoethanolamine transport via ABC system periplasm r"hEG@@hFGh}r#hHh/]r$(jjjjeRr%hU G3PEabcppr&hKGhLhMhNhNU5( STM3556 and STM3557 and STM3554 and STM3555 )r'h(}r(hPNubh)r)}r*(h UTransport Outer Membrane Porinr+h }r,(jG?j,eGuhNhUQglycero 3 phosphoethanolamine transport via diffusion extracellular to periplasm r-hEG@@hFG@h}r.hHh/]r/(jjjjeRr0hUG3PEtexr1hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r2h(}r3hPNubh)r4}r5(h UTransport Inner Membraner6h }r7(j4G?jZGjG?jG?h)r8}r9(hNhNhUGlycerophosphoglycerolr:h}r;(UCHEBI]r<U0aUKEGG]r=UC03274r>aUPUBCHEM]r?U6135r@auhUg3pg_prAhUEh Jh!Gh"h#)rB}rC(hNh"UC6H14O8PrDh}rEh(}rFh*}rG(UHKUCKUOKUPKuhjDubh,Uph(}rHh.h/]RrIubGjGGh)rJ}rK(hNhNhUGlycerophosphoglycerolrLh}rM(UCHEBI]rNU0aUKEGG]rOUC03274rPaUPUBCHEM]rQU6135rRauhUg3pg_crShUEh Jh!Gh"h#)rT}rU(hNh"UC6H14O8PrVh}rWh(}rXh*}rY(UHKUCKUOKUPKuhjVubh,Uch(}rZh.h/]Rr[ubG?uhNhUAsn glycerol 3 phosphoglycerol transport via ABC system periplasm r\hEG@@hFGh}r]hHh/]r^(jjjjeRr_hU G3PGabcppr`hKGhLhMhNhNU5( STM3556 and STM3557 and STM3554 and STM3555 )rah(}rbhPNubh)rc}rd(h UTransport Outer Membrane Porinreh }rf(jGeGj8G?uhNhUFglycerophoglycerol transport via diffusion extracellular to periplasm rghEG@@hFG@h}rhhHh/]ri(jjjjeRrjhUG3PGtexrkhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rlh(}rmhPNubh)rn}ro(h UTransport Inner Membranerph }rq(j4G?jGGh)rr}rs(hNhNhUsn-Glycero-3-phospho-1-inositolrth}ru(UCHEBI]rvU18321rwaUKEGG]rxUC01225ryaUPUBCHEM]rzU4447r{auhUg3pi_cr|hUEh Jh!Gh"h#)r}}r~(hNh"U C9H18O11Prh}rh(}rh*}r(UHKUCK UOK UPKuhjubh,Uch(}rh.h/]RrubG?jZGh)r}r(hNhNhUsn-Glycero-3-phospho-1-inositolrh}r(UCHEBI]rU18321raUKEGG]rUC01225raUPUBCHEM]rU4447rauhUg3pi_prhUEh Jh!Gh"h#)r}r(hNh"U C9H18O11Prh}rh(}rh*}r(UHKUCK UOK UPKuhjubh,Uph(}rh.h/]RrubGjG?jG?uhNhUEsn glycerol 3 phosphoethanolamine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(jjjjeRrhU G3PIabcpprhKGhLhMhNhNU5( STM3556 and STM3557 and STM3554 and STM3555 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jbeGjG?uhNhUPglycero 3 phospho 1 inositol transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUG3PItexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGGjZGh)r}r(hNhNhUGlycerophosphoserinerh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU3081457rauhUg3ps_crhUEh Jh!Gh"h#)r}r(hNh"U C6H13NO8Prh}rh(}rh*}r(UHK UCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhUGlycerophosphoserinerh}r†(UCHEBI]rÆU0aUKEGG]rĆU0aUPUBCHEM]rņU3081457rƆauhUg3ps_prdžhUEh Jh!Gh"h#)rȆ}rɆ(hNh"U C6H13NO8Prʆh}rˆh(}r̆h*}r͆(UHK UCKUPKUOKUNKuhjʆubh,Uph(}rΆh.h/]RrφubGj4G?jG?jG?uhNhU?sn glycerol 3 phosphoserine transport via ABC system periplasm rІhEG@@hFGh}rцhHh/]r҆(jjjjeRrӆhU G3PSabcpprԆhKGhLhMhNhNU5( STM3556 and STM3557 and STM3554 and STM3555 )rՆh(}rֆhPNubh)r׆}r؆(h UTransport Outer Membrane Porinrنh }rچ(j~eGjG?uhNhUGglycerophosphserine transport via diffusion extracellular to periplasm rۆhEG@@hFG@h}r܆hHh/]r݆(jjjjeRrކhUG3PStexr߆hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jZGjGh)r}r(hNhNhUGlycerolrh}r(UCHEBI]rU17754raUKEGG]rUC00116raUPUBCHEM]rU3416rauhUglyc_crhUEh Kh!Gh"h#)r}r(hNh"UC3H8O3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?jG?uhNhUglycerol 3 phosphataserhEG@@hFGh}rhHh/]r(jyjyeRrhUG3PTrhKGhLhMhNhNU( STM0840 or STM0842 )rh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(jG?h)r}r(hNhNhUL-Glutamate-5-semialdehyderh}r(UCHEBI]rU17232r aUKEGG]r UC01165r aUPUBCHEM]r U4392r auhUglu5sa_crhUEh Kh!Gh"h#)r}r(hNh"UC5H9NO3rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubGjZG?h)r}r(hNhNhU1-Pyrroline-5-carboxylaterh}r(UCHEBI]rU371raUKEGG]rUC03912raUPUBCHEM]rU6642r auhU1pyr5c_cr!hUEh Jh!Gh"h#)r"}r#(hNh"UC5H6NO2r$h}r%h(}r&h*}r'(UHKUCKUOKUNKuhj$ubh,Uch(}r(h.h/]Rr)ubG?uhNhU3L glutamate 5 semialdehyde dehydratase spontaneous r*hEG@@hFGh}r+hHh/]r,jFaRr-hUG5SADsr.hKGhLhMhNhNUs0001r/h(}r0hPNubh)r1}r2(h UArginine and Proline Metabolismr3h }r4(h)r5}r6(hNhNhUL-Glutamate-5-phosphater7h}r8(UCHEBI]r9U17798r:aUKEGG]r;UC03287r<aUPUBCHEM]r=U6144r>auhUglu5p_cr?hUEh Jh!Gh"h#)r@}rA(hNh"UC5H8NO7PrBh}rCh(}rDh*}rE(UHKUCKUPKUOKUNKuhjBubh,Uch(}rFh.h/]RrGubGjB G?jU GjG?jGjG?uhNhU&glutamate 5 semialdehyde dehydrogenaserHhEG@@hFGh}rIhHh/]rJj)rK}rL(hNjKhNhUproArMh}rNjhUSTM0322rOh Nh"NjKh,Nh(}rPjU+h.h/]RrQubaRrRhUG5SDrShKGhLhMhNhNjOh(}rThPNubh)rU}rV(h UAlternate Carbon MetabolismrWh }rX(jlG?j#$GjZGjyG?uhNhU!glucosamine 6 phosphate deaminaserYhEG@@hFGh}rZhHh/]r[j)r\}r](hNjKhNhUnagBr^h}r_jhUSTM0684r`h Nh"NjKh,Nh(}rajU+h.h/]RrbubaRrchUG6PDArdhKGhLhMhNhNj`h(}rehPNubh)rf}rg(h UPentose Phosphate Pathwayrhh }ri(h)rj}rk(hNhNhU6-phospho-D-glucono-1-5-lactonerlh}rm(UCHEBI]rnU16938roaUKEGG]rpUC01236rqaUPUBCHEM]rrU4457rsauhU6pgl_crthUEh Jh!Gh"h#)ru}rv(hNh"UC6H9O9Prwh}rxh(}ryh*}rz(UHK UCKUOK UPKuhjwubh,Uch(}r{h.h/]Rr|ubG?h)r}}r~(hNhNhUD-Glucose-6-phosphaterh}r(UCHEBI]rU4170raUKEGG]rUC00092raUPUBCHEM]rU3392rauhUg6p_crhUEh Jh!Gh"h#)r}r(hNh"UC6H11O9Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}rh.h/]RrubGjU G?jG?jB GuhNhU!glucose 6 phosphate dehydrogenaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUzwfrh}rjhUSTM1886rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUG6PDH2rrhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycolysisGluconeogenesisrh }r(jZGjJ,G?j}GjG?uhNhUglucose 6 phosphate phosphataserhEG@@hFGh}rhHh/]r(jyjyeRrhUG6PPrhKGhLhMhNhNU( STM0840 or STM0842 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUD-Glucose-6-phosphaterh}r(UCHEBI]rU4170raUKEGG]rUC00092raUPUBCHEM]rU3392rauhUg6p_prhUEh Jh!Gh"h#)r}r(hNh"UC6H11O9Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uph(}rh.h/]RrubGj}G?jG@jGuhNhU?Glucose 6 phosphate transport via phosphate antiport periplasm rhEG@@hFGh}rhHh/]rj!zaRr‡hU G6Pt6_2pprÇhKGhLhMhNhNUSTM3787rćh(}rŇhPNubh)rƇ}rLJ(h UTransport Outer Membrane Porinrȇh }rɇ(jeGjG?uhNhUGglucose 6 phosphate transport via diffusion extracellular to periplasm rʇhEG@@hFG@h}rˇhHh/]ṙ(jjjjeRr͇hUG6Ptexr·hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rχh(}rЇhPNubh)rч}r҇(h UAlternate Carbon MetabolismrӇh }rԇ(h)rՇ}rև(hNhNhU D-Galactoserׇh}r؇(UCHEBI]rهU4139rڇaUKEGG]rۇUC00124r܇aUPUBCHEM]r݇U3424rއauhUgal_pr߇hUEh Kh!Gh"h#)r}r(hNh"UC6H12O6rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uph(}rh.h/]RrubG?j)Gh)r}r(hNhNhUalpha-D-Galactose-1-phosphaterh}r(UCHEBI]rU17973raUKEGG]rUC00446raUPUBCHEM]rU3734rauhUgal1p_prhUEh Jh!Gh"h#)r}r(hNh"UC6H11O9Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uph(}rh.h/]RrubGjG?uhNhUD galactose 1 phosphataserhEG@@hFGh}rhHh/]rj?aRrhUGAL1PPpprhKGhLhMhNhNUSTM1117rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?jeGuhNhUKD galactose 1 phosphate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRr hUGAL1Ptexr hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r h(}r hPNubh)r }r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUbeta-D-Galactoserh}r(UCHEBI]rU28260raUKEGG]rUC01582raUPUBCHEM]rU4738rauhU gal__bD_prhUEh Kh!Gh"h#)r}r(hNh"UC6H12O6rh}rh(}r h*}r!(UHK UCKUOKuhjubh,Uph(}r"h.h/]Rr#ubG?jeGuhNhUDbeta D galactose transport via diffusion extracellular to periplasm r$hEG@@hFG@h}r%hHh/]r&(jjjjeRr'hUGALBDtexr(hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r)h(}r*hPNubh)r+}r,(h UTransport Outer Membrane Porinr-h }r.(j?fGh)r/}r0(hNhNhU L-Galactonater1h}r2(UCHEBI]r3U0aUKEGG]r4UC15930r5aUPUBCHEM]r6U47205248r7auhU galctn__L_pr8hUEh Jh!Gh"h#)r9}r:(hNh"UC6H11O7r;h}r<h(}r=h*}r>(UHK UCKUOKuhj;ubh,Uph(}r?h.h/]Rr@ubG?uhNhUAL galactonate transport via diffusion extracellular to periplasm rAhEG@@hFG@h}rBhHh/]rC(jjjjeRrDhU GALCTNLtexrEhKGhLhMhNhNU2( STM2267 or STM1473 or STM0999 or STM0320 )rFh(}rGhPNubh)rH}rI(h UTransport Inner MembranerJh }rK(h)rL}rM(hNhNhU D-GalactonaterNh}rO(UCHEBI]rPU 12931 16534rQaUKEGG]rRUC00880rSaUPUBCHEM]rTU4136rUauhU galctn__D_prVhUEh Jh!Gh"h#)rW}rX(hNh"UC6H11O7rYh}rZh(}r[h*}r\(UHK UCKUOKuhjYubh,Uph(}r]h.h/]Rr^ubGjGh)r_}r`(hNhNhU D-Galactonaterah}rb(UCHEBI]rcU 12931 16534rdaUKEGG]reUC00880rfaUPUBCHEM]rgU4136rhauhU galctn__D_crihUEh Jh!Gh"h#)rj}rk(hNh"UC6H11O7rlh}rmh(}rnh*}ro(UHK UCKUOKuhjlubh,Uch(}rph.h/]RrqubG?jG?uhNhU5D galactonate transport via proton symport periplasm rrhEG@@hFGh}rshHh/]rtj)ru}rv(hNjKhNhUdgoTrwh}rxjhUSTM3827ryh Nh"NjKh,Nh(}rzjU+h.h/]Rr{ubaRr|hU GALCTNt2ppr}hKGhLhMhNhNjyh(}r~hPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jLG?j#fGuhNhUAD galactonate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU GALCTNtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU D-Galactaraterh}r(UCHEBI]rU0aUKEGG]rUC00879raUPUBCHEM]rU4135rauhU galct__D_crhUEh Jh!Gh"h#)r}r(hNh"UC6H8O8rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?jGh)r}r(hNhNhU D-Galactaraterh}r(UCHEBI]rU0aUKEGG]rUC00879raUPUBCHEM]rU4135rauhU galct__D_prhUEh Jh!Gh"h#)r}r(hNh"UC6H8O8rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}rh.h/]RrubGjG?uhNhU?D galactarte transport via proton symport reversible periplasm rhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUgudTrh}rjhUSTM2962rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU GALCTt2rpprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }rˆ(jG?jfGuhNhU@D galactarte transport via diffusion extracellular to periplasm rÈhEG@@hFG@h}rĈhHh/]rň(jjjjeRrƈhUGALCTtexrLjhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rȈh(}rɈhPNubh)rʈ}rˈ(h UAlternate Carbon Metabolismr̈h }r͈(j4G?jGGh)rΈ}rψ(hNhNhU D-GalactoserЈh}rш(UCHEBI]r҈U4139rӈaUKEGG]rԈUC00124rՈaUPUBCHEM]rֈU3424r׈auhUgal_cr؈hUEh Kh!Gh"h#)rو}rڈ(hNh"UC6H12O6rۈh}r܈h(}r݈h*}rވ(UHK UCKUOKuhjۈubh,Uch(}r߈h.h/]RrubGjG?h)r}r(hNhNhUalpha-D-Galactose-1-phosphaterh}r(UCHEBI]rU17973raUKEGG]rUC00446raUPUBCHEM]rU3734rauhUgal1p_crhUEh Jh!Gh"h#)r}r(hNh"UC6H11O9Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}rh.h/]RrubG?uhNhU galactokinaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUgalKrh}rjhUSTM0774rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUwcaKrh}rjhUSTM2101rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUGALKrrhKGhLhMhNhNU( STM0774 or STM2101 )rh(}rhPNubh)r }r (h UAlternate Carbon Metabolismr h }r (jGjՇG?uhNhUaldose 1 epimeraser hEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUgalMrh}rjhUSTM0773rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGALM2pprhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jZGjJ,G?jΈG?h)r}r(hNhNhU Melibioser h}r!(UCHEBI]r"U28053r#aUKEGG]r$UC05402r%aUPUBCHEM]r&U7769r'auhUmelib_cr(hUEh Kh!Gh"h#)r)}r*(hNh"U C12H22O11r+h}r,h(}r-h*}r.(UHKUCK UOK uhj+ubh,Uch(}r/h.h/]Rr0ubGuhNhUa galactosidase melibiose r1hEG@@hFGh}r2hHh/]r3j)r4}r5(hNjKhNhUmelAr6h}r7jhUSTM4298r8h Nh"NjKh,Nh(}r9jU+h.h/]Rr:ubaRr;hUGALS3r<hKGhLhMhNhNj8h(}r=hPNubh)r>}r?(h U)Lipopolysaccharide Biosynthesis Recyclingr@h }rA(h)rB}rC(hNhNhU6galactosyl-glucosyl-inner-core-oligosaccharide-lipid-ArDh}rE(UCHEBI]rFU0aUKEGG]rGU0aUPUBCHEM]rHU0auhU gagicolipa_crIhUEh Jh!Gh"h#)rJ}rK(hNh"UC157H271N2O84P4rLh}rMh(}rNh*}rO(UHMUCKUPKUOKTUNKuhjLubh,Uch(}rPh.h/]RrQubG?h)rR}rS(hNhNhU+glucosyl-inner-core-oligosaccharide-lipid-ArTh}rU(UCHEBI]rVU0aUKEGG]rWU0aUPUBCHEM]rXU0auhU gicolipa_crYhUEh Jh!Gh"h#)rZ}r[(hNh"UC151H261N2O79P4r\h}r]h(}r^h*}r_(UHMUCKUPKUOKOUNKuhj\ubh,Uch(}r`h.h/]RraubGjG?h)rb}rc(hNhNhU UDPglucoserdh}re(UCHEBI]rfU18066rgaUKEGG]rhUC00029riaUPUBCHEM]rjU3331rkauhUudpg_crlhUEh Jh!Gh"h#)rm}rn(hNh"U C15H22N2O17P2roh}rph(}rqh*}rr(UHKUCKUPKUOKUNKuhjoubh,Uch(}rsh.h/]RrtubGjG?uhNhU+galactosyltransferase I LPS core synthesis ruhEG@@hFGh}rvhHh/]rwj)rx}ry(hNjKhNhUrfaBrzh}r{jhUSTM3719r|h Nh"NjKh,Nh(}r}jU+h.h/]Rr~ubaRrhUGALT1rhKGhLhMhNhNj|h(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jZfGh)r}r(hNhNhU Galactitolrh}r(UCHEBI]rU16813raUKEGG]rUC01697raUPUBCHEM]rU4837rauhUgalt_prhUEh Kh!Gh"h#)r}r(hNh"UC6H14O6rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}rh.h/]RrubG?uhNhU>Galactitol transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUGALTtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUD-Galacturonaterh}r(UCHEBI]rU0aUKEGG]rUC00333raUPUBCHEM]rU3627rauhUgalur_prhUEh Jh!Gh"h#)r}r(hNh"UC6H9O7rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uph(}rh.h/]RrubGh)r}r(hNhNhUD-Galacturonaterh}r(UCHEBI]rU0aUKEGG]rUC00333raUPUBCHEM]rU3627rauhUgalur_crhUEh Jh!Gh"h#)r}r(hNh"UC6H9O7r‰h}rÉh(}rĉh*}rʼn(UHK UCKUOKuhj‰ubh,Uch(}rƉh.h/]RrljubG?jG?jGuhNhUBD galacturonate transport via proton symport reversible periplasm rȉhEG@@hFG@h}rɉhHh/]rʉj)rˉ}r̉(hNjKhNhU-h}r͉jhUSTM3134rΉh Nh"NjKh,Nh(}rωjU+h.h/]RrЉubaRrщhU GALURt2rppr҉hKGhLhMhNhNjΉh(}rӉhPNubh)rԉ}rՉ(h UTransport Outer Membrane Porinr։h }r׉(jG?jvfGuhNhUCD galacturonate transport via diffusion extracellular to periplasm r؉hEG@@hFG@h}rىhHh/]rډ(jjjjeRrۉhUGALURtexr܉hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r݉h(}rމhPNubh)r߉}r(h UCell Envelope Biosynthesisrh }r(jbG?jMGj3EGjGjG?uhNhU9UTP glucose 1 phosphate uridylyltransferase irreversible rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUgalFrh}rjhUSTM2098rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUgalUrh}rjhUSTM1752rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUGALUirhKGhLhMhNhNU( STM1752 and STM2098 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jՇGj4G?jZGjG?jΈG?jGGjG?uhNhU/D galactose transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUmglArh}rjhUSTM2189rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUmglCrh}r jhUSTM2188r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubj)r }r(hNjKhNhUmglBrh}rjhUSTM2190rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUGALabcpprhKGhLhMhNhNU'( STM2189 and STM2190 and STM2188 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjΈG?jՇGjG?uhNhU6D galactose transport in via proton symport periplasm rhEG@@hFGh}rhHh/]rj)r}r (hNjKhNhUgalPr!h}r"jhUSTM3091r#h Nh"NjKh,Nh(}r$jU+h.h/]Rr%ubaRr&hUGALt2ppr'hKGhLhMhNhNj#h(}r(hPNubh)r)}r*(h UTransport Outer Membrane Porinr+h }r,(jeGjՇG?uhNhU?D galactose transport via diffusion extracellular to periplasm r-hEG@@hFG@h}r.hHh/]r/(jjjjeRr0hUGALtexr1hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r2h(}r3hPNubh)r4}r5(h UTransport Inner Membraner6h }r7(jGj#$G?h)r8}r9(hNhNhUD-Glucosamine-6-phosphater:h}r;(UCHEBI]r<U15873r=aUKEGG]r>UC00352r?aUPUBCHEM]r@U3645rAauhUgam6p_prBhUEh Jh!Gh"h#)rC}rD(hNh"U C6H13NO8PrEh}rFh(}rGh*}rH(UHK UCKUPKUOKUNKuhjEubh,Uph(}rIh.h/]RrJubGjG@uhNhUED Glucosamine 6 phosphate transport via phosphate antiport periplasm rKhEG@@hFGh}rLhHh/]rMj!zaRrNhU GAM6Pt6_2pprOhKGhLhMhNhNUSTM3787rPh(}rQhPNubh)rR}rS(h UTransport Outer Membrane PorinrTh }rU(jfGj8G?uhNhUMD glucosamine 6 phosphate transport via diffusion extracellular to periplasm rVhEG@@hFG@h}rWhHh/]rX(jjjjeRrYhU GAMAN6PtexrZhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r[h(}r\hPNubh)r]}r^(h UTransport Inner Membraner_h }r`(h)ra}rb(hNhNhU D-Glucosaminerch}rd(UCHEBI]reU47977rfaUKEGG]rgUC00329rhaUPUBCHEM]riU3623rjauhUgam_prkhUEh Kh!Gh"h#)rl}rm(hNh"UC6H14NO5rnh}roh(}rph*}rq(UHKUCKUOKUNKuhjnubh,Uph(}rrh.h/]RrsubGjGj#$G?jmG?uhNhU1D glucosamine transport via PEPPyr PTS periplasm rthEG@@hFGh}ruhHh/]rv(jjtjj{jeRrwhUGAMptspprxhKGhLhMhNhNUC( STM1830 and STM1831 and STM1832 and STM2431 and STM2432 )ryh(}rzhPNubh)r{}r|(h UTransport Outer Membrane Porinr}h }r~(jaG?jfGuhNhUAD glucosamine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUGAMtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UGlycolysisGluconeogenesisrh }r(jUGj Gh)r}r(hNhNhU3-Phospho-D-glyceroyl-phosphaterh}r(UCHEBI]rU16001raUKEGG]rUC00236raUPUBCHEM]rU3535rauhU13dpg_crhUEh Jh!Gh"h#)r}r(hNh"U C3H4O10P2rh}rh(}rh*}r(UHKUCKUOK UPKuhjubh,Uch(}rh.h/]RrubG?jG?j G?jGuhNhU(glyceraldehyde 3 phosphate dehydrogenaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUgapArh}rjhUSTM1290rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGAPDrhKGhLhMhNhNjh(}rhPNubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(j'Gj'G?h)r}r(hNhNhU"N1-5-Phospho-D-ribosyl-glycinamiderh}r(UCHEBI]rU18349raUKEGG]rUC03838raUPUBCHEM]rU6578rauhUgar_crhUEh Jh!Gh"h#)r}r(hNh"U C7H14N2O8Prh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubGjG?h)r}rŠ(hNhNhU,N2-Formyl-N1-5-phospho-D-ribosyl-glycinamiderÊh}rĊ(UCHEBI]rŊU18272rƊaUKEGG]rNJUC04376rȊaUPUBCHEM]rɊU7017rʊauhUfgam_crˊhUEh Jh!Gh"h#)r̊}r͊(hNh"U C8H13N2O9PrΊh}rϊh(}rЊh*}rъ(UHK UCKUPKUOK UNKuhjΊubh,Uch(}rҊh.h/]RrӊubG?uhNhU+phosphoribosylglycinamide formyltransferaserԊhEG@@hFG@h}rՊhHh/]r֊j)r׊}r؊(hNjKhNhUpurNrيh}rڊjhUSTM2500rۊh Nh"NjKh,Nh(}r܊jU+h.h/]Rr݊ubaRrފhUGARFTrߊhKGhLhMhNhNjۊh(}rhPNubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(jv-Gj4G?jG?jG?jGjGGjG?uhNhUGAR transformylase TrhEG@@hFGh}rhHh/]rjaRrhUGARTrhKGhLhMhNhNUSTM1883rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jfGjpDG?uhNhUGgamma butyrobetaine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUGBBTNtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhUGDP-4-dehydro-6-deoxy-D-mannoserh}r(UCHEBI]rU16955raUKEGG]rUC01222raUPUBCHEM]rU4444rauhU gdpddman_crhUEh Jh!Gh"h#)r}r(hNh"U C16H21N5O15P2rh}r h(}r h*}r (UHKUCKUPKUOKUNKuhjubh,Uch(}r h.h/]Rr ubGh)r}r(hNhNhUGDP-4-oxo-L-fucoserh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU16760491rauhU gdpofuc_crhUEh Jh!Gh"h#)r}r(hNh"U C16H21N5O15P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhU)GDP 4 dehydro 6 deoxy D mannose epimeraserhEG@@hFGh}r hHh/]r!j)r"}r#(hNjKhNhUwcaGr$h}r%jhUSTM2108r&h Nh"NjKh,Nh(}r'jU+h.h/]Rr(ubaRr)hUGDMANEr*hKGhLhMhNhNj&h(}r+hPNubh)r,}r-(h U*Cofactor and Prosthetic Group Biosynthesisr.h }r/(jG?jGGh)r0}r1(hNhNhUGuanosine-3-5-bis-diphosphater2h}r3(UCHEBI]r4U17633r5aUKEGG]r6UC01228r7aUPUBCHEM]r8U4450r9auhUppgpp_cr:hUEh Jh!Gh"h#)r;}r<(hNh"U C10H11N5O17P4r=h}r>h(}r?h*}r@(UHK UCK UPKUOKUNKuhj=ubh,Uch(}rAh.h/]RrBubG?jK!GjG?uhNhUGDP diphosphokinaserChEG@@hFGh}rDhHh/]rE(j)rF}rG(hNjKhNhUspoTrHh}rIjhUSTM3742rJh Nh"NjKh,Nh(}rKjU+h.h/]RrLubj)rM}rN(hNjKhNhUrelArOh}rPjhUSTM2956rQh Nh"NjKh,Nh(}rRjU+h.h/]RrSubeRrThUGDPDPKrUhKGhLhMhNhNU( STM2956 or STM3742 )rVh(}rWhPNubh)rX}rY(h UCell Envelope BiosynthesisrZh }r[(h)r\}r](hNhNhU D-Mannoser^h}r_(UCHEBI]r`U4208raaUKEGG]rbUC00159rcaUPUBCHEM]rdU3459reauhUman_crfhUEh Kh!Gh"h#)rg}rh(hNh"UC6H12O6rih}rjh(}rkh*}rl(UHK UCKUOKuhjiubh,Uch(}rmh.h/]RrnubG?jZGjK!G?jG?h)ro}rp(hNhNhU GDP-D-mannoserqh}rr(UCHEBI]rsU15820rtaUKEGG]ruUC00096rvaUPUBCHEM]rwU3396rxauhU gdpmann_cryhUEh Jh!Gh"h#)rz}r{(hNh"U C16H23N5O16P2r|h}r}h(}r~h*}r(UHKUCKUPKUOKUNKuhj|ubh,Uch(}rh.h/]RrubGuhNhUGDP mannose mannosyl hydrolaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUwcaHrh}rjhUSTM2107rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGDPMNHrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhUD-Mannose-1-phosphaterh}r(UCHEBI]rU0aUKEGG]rUC03812raUPUBCHEM]rU0auhUman1p_crhUEh Jh!Gh"h#)r}r(hNh"UC6H11O9Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhUGMPrh}r(UCHEBI]rU17345raUKEGG]rUC00144raUPUBCHEM]rU3444rauhUgmp_crhUEh Jh!Gh"h#)r}r(hNh"U C10H12N5O8Prh}rh(}rh*}r(UHK UCK UPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jZGjG@joGuhNhUGDP mannose phyrophosphataserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUyffHrh}rjhUSTM2477rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGDPMNPr‹hKGhLhMhNhNjh(}rËhPNubh)rċ}rŋ(h UTransport Outer Membrane PorinrƋh }rNj(h)rȋ}rɋ(hNhNhUGDPrʋh}rˋ(UCHEBI]r̋U17552r͋aUKEGG]r΋UC00035rϋaUPUBCHEM]rЋU3337rыauhUgdp_prҋhUEh Jh!Gh"h#)rӋ}rԋ(hNh"U C10H12N5O11P2rՋh}r֋h(}r׋h*}r؋(UHK UCK UPKUOK UNKuhjՋubh,Uph(}rًh.h/]RrڋubG?jfGuhNhU7GDP transport via diffusion extracellular to periplasm rۋhEG@@hFG@h}r܋hHh/]r݋(jjjjeRrދhUGDPtexrߋhKGhLhMhNhNU2( STM0320 or STM1473 or STM2267 or STM0999 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jG?jyGj#$G?j GuhNhU+glutamine fructose 6 phosphate transaminaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUglmSrh}rjhUSTM3861rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGF6PTArhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycine and Serine Metabolismrh }r(jbxGj'GjyG?j-G?jZG?uhNhU+glycine hydroxymethyltransferase reversiblerhEG@@hFG@h}rhHh/]rj)aRrhUGHMT2rrhKGhLhMhNhNUSTM2555rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jGj4G?jGGjK!G?uhNhUguanylate kinase GMPATP rhEG@@hFG@h}rhHh/]rjOaRrhUGK1rhKGhLhMhNhNUSTM3740rh(}rhPNubh)r }r (h UGlycolysisGluconeogenesisr h }r (h)r }r(hNhNhUglycogenrh}r(UCHEBI]rU28087raUKEGG]rUC00182raUPUBCHEM]rU3482rauhU glycogen_crhUEh Kh!Gh"h#)r}r(hNh"UC6H10O5rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubGh)r }r!(hNhNhUbranching-glycogenr"h}r#(UCHEBI]r$U0aUKEGG]r%U0aUPUBCHEM]r&U0auhU bglycogen_cr'hUEh Kh!Gh"h#)r(}r)(hNh"UC6H10O5r*h}r+h(}r,h*}r-(UHK UCKUOKuhj*ubh,Uch(}r.h.h/]Rr/ubG?uhNhU61 4 alpha glucan branching enzyme glycogen bglycogen r0hEG@@hFGh}r1hHh/]r2j)r3}r4(hNjKhNhUglgBr5h}r6jhUSTM3538r7h Nh"NjKh,Nh(}r8jU+h.h/]Rr9ubaRr:hUGLBRAN2r;hKGhLhMhNhNj7h(}r<hPNubh)r=}r>(h UAlternate Carbon Metabolismr?h }r@(jJ,GjGjG?h)rA}rB(hNhNhU6-Acetyl-D-glucoserCh}rD(UCHEBI]rEU17901rFaUKEGG]rGUC02655rHaUPUBCHEM]rIU5628rJauhU acglc__D_crKhUEh Kh!Gh"h#)rL}rM(hNh"UC8H14O7rNh}rOh(}rPh*}rQ(UHKUCKUOKuhjNubh,Uch(}rRh.h/]RrSubG?uhNhUD glucose O acetyltransferaserThEG@@hFG@h}rUhHh/]rVj)rW}rX(hNjKhNhUmaarYh}rZjhUSTM0472r[h Nh"NjKh,Nh(}r\jU+h.h/]Rr]ubaRr^hUGLCATrr_hKGhLhMhNhNj[h(}r`hPNubh)ra}rb(h UOxidative Phosphorylationrch }rd(jO5GjGjG?h)re}rf(hNhNhU D-Gluconatergh}rh(UCHEBI]riU33198rjaUKEGG]rkUC00257rlaUPUBCHEM]rmU3556rnauhUglcn_prohUEh Jh!Gh"h#)rp}rq(hNh"UC6H11O7rrh}rsh(}rth*}ru(UHK UCKUOKuhjrubh,Uph(}rvh.h/]RrwubG?j)Gjb5G?uhNhU:Glucose dehydrogenase ubiquinone 8 as acceptor periplasm rxhEG@@hFGh}ryhHh/]rzj)r{}r|(hNjKhNhUgcdr}h}r~jhUSTM0169rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGLCDpprhKGhLhMhNhNU ( STM0169 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j G?jeGjGjG?uhNhU>D gluconate transport via proton symport reversible periplasm rhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUgntTrh}rjhUSTM3512rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUgntUrh}rjhUSTM3541rh Nh"NjKh,Nh(}rjU+h.h/]RrubjeRrhU GLCNt2rpprhKGhLhMhNhNU#( STM3512 or STM4482 or STM3541 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jeG?jgGuhNhU?D gluconate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUGLCNtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UGlycolysisGluconeogenesisrh }r(j GjGjMG?uhNhUglycogen phosphorylaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUglgPrh}rjhUSTM3534rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUmalPrh}rjhUSTM3514rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUGLCPrhKGhLhMhNhNU( STM3534 or STM3514 )rh(}rŒhPNubh)rÌ}rČ(h UGlycolysisGluconeogenesisrŌh }rƌ(jMG?jGj GuhNhUglycogen phosphorylasernjhEG@@hFGh}rȌhHh/]rɌ(jjeRrʌhUGLCP2rˌhKGhLhMhNhNU( STM3514 or STM3534 )řh(}r͌hPNubh)rΌ}rό(h UAlternate Carbon MetabolismrЌh }rь(jmG?h)rҌ}rӌ(hNhNhU5-Dehydro-4-deoxy-D-glucaraterԌh}rՌ(UCHEBI]r֌U42819r׌aUKEGG]r،UC00679rٌaUPUBCHEM]rڌU3948rیauhU 5dh4dglc_cr܌hUEh Jh!Gh"h#)r݌}rތ(hNh"UC6H6O7rߌh}rh(}rh*}r(UHKUCKUOKuhjߌubh,Uch(}rh.h/]RrubGh)r}r(hNhNhU2-Hydroxy-3-oxopropanoaterh}r(UCHEBI]rU16992raUKEGG]rUC01146raUPUBCHEM]rU4376rauhU 2h3oppan_crhUEh Jh!Gh"h#)r}r(hNh"UC3H3O4rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?uhNhU#5 dehydro 4 deoxyglucarate aldolaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUgarLrh}rjhUSTM3249rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGLCRALrhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jҌG?h)r }r (hNhNhU D-Glucarater h}r (UCHEBI]r U16002raUKEGG]rUC00818raUPUBCHEM]rU4076rauhUglcr_crhUEh Jh!Gh"h#)r}r(hNh"UC6H8O8rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGjZG?uhNhUglucarate dehydrataserhEG@@hFGh}rhHh/]r(j)r}r (hNjKhNhUgudDr!h}r"jhUSTM2960r#h Nh"NjKh,Nh(}r$jU+h.h/]Rr%ubj)r&}r'(hNjKhNhUygcYr(h}r)jhUSTM2961r*h Nh"NjKh,Nh(}r+jU+h.h/]Rr,ubeRr-hUGLCRDr.hKGhLhMhNhNU( STM2960 or STM2961 )r/h(}r0hPNubh)r1}r2(h UTransport Inner Membraner3h }r4(j G?h)r5}r6(hNhNhU D-Glucarater7h}r8(UCHEBI]r9U16002r:aUKEGG]r;UC00818r<aUPUBCHEM]r=U4076r>auhUglcr_pr?hUEh Jh!Gh"h#)r@}rA(hNh"UC6H8O8rBh}rCh(}rDh*}rE(UHKUCKUOKuhjBubh,Uph(}rFh.h/]RrGubGjGjG?uhNhU>D glucarate transport via proton symport reversible periplasm rHhEG@@hFG@h}rIhHh/]rJjaRrKhU GLCRt2rpprLhKGhLhMhNhNUSTM2962rMh(}rNhPNubh)rO}rP(h UTransport Outer Membrane PorinrQh }rR(j5G?j9gGuhNhU?D glucarate transport via diffusion extracellular to periplasm rShEG@@hFG@h}rThHh/]rU(jjjjeRrVhUGLCRtexrWhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rXh(}rYhPNubh)rZ}r[(h UGlycolysisGluconeogenesisr\h }r](h)r^}r_(hNhNhU ADPglucoser`h}ra(UCHEBI]rbU15751rcaUKEGG]rdUC00498reaUPUBCHEM]rfU3781rgauhUadpglc_crhhUEh Jh!Gh"h#)ri}rj(hNh"U C16H23N5O15P2rkh}rlh(}rmh*}rn(UHKUCKUPKUOKUNKuhjkubh,Uch(}roh.h/]RrpubGj G?j4G?jG?uhNhUglycogen synthase ADPGlc rqhEG@@hFGh}rrhHh/]rsj)rt}ru(hNjKhNhUglgArvh}rwjhUSTM3535rxh Nh"NjKh,Nh(}ryjU+h.h/]RrzubaRr{hUGLCS1r|hKGhLhMhNhNjxh(}r}hPNubh)r~}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jbGjG?jG?jRG?h)r}r(hNhNhU)inner-core-oligosaccharide-lipid-A-E-colirh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU icolipa_crhUEh Jh!Gh"h#)r}r(hNh"UC145H251N2O74P4rh}rh(}rh*}r(UHKUCKUPKUOKJUNKuhjubh,Uch(}rh.h/]RrubGuhNhU)glucosyltransferase I LPS core synthesis rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUrfaGrh}rjhUSTM3722rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGLCTR1rhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jBGh)r}r(hNhNhU?glucosyl-galactosyl-glucosyl-inner-core-oligosaccharide-lipid-Arh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU ggagicolipa_crhUEh Jh!Gh"h#)r}r(hNh"UC163H281N2O89P4rh}rh(}rh*}r(UHMUCKUPKUOKYUNKuhjubh,Uch(}rh.h/]RrubG?jG?jbGjG?uhNhU*glucosyltransferase II LPS core synthesis rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUrfaIrh}rjhUSTM3718rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGLCTR2rhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }rÍ(jbGjG?jGjG?h)rč}rō(hNhNhUHglucosyl-glucosyl-galactosyl-glucosyl-inner-core-oligosaccharide-lipid-Arƍh}rǍ(UCHEBI]rȍU0aUKEGG]rɍU0aUPUBCHEM]rʍU0auhUgggagicolipa_crˍhUEh Jh!Gh"h#)r̍}r͍(hNh"UC169H291N2O94P4r΍h}rύh(}rЍh*}rэ(UHM#UCKUPKUOK^UNKuhj΍ubh,Uch(}rҍh.h/]RrӍubG?uhNhU+glucosyltransferase III LPS core synthesis rԍhEG@@hFGh}rՍhHh/]r֍j)r׍}r؍(hNjKhNhUrfaJrٍh}rڍjhUSTM3717rۍh Nh"NjKh,Nh(}r܍jU+h.h/]RrݍubaRrލhUGLCTR3rߍhKGhLhMhNhNjۍh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jUgGh)r}r(hNhNhUD-Glucuronate-1-phosphaterh}r(UCHEBI]rU28547raUKEGG]rUC05385raUPUBCHEM]rU7759rauhU glcur1p_prhUEh Jh!Gh"h#)r}r(hNh"UC6H8O10Prh}rh(}rh*}r(UHKUCKUOK UPKuhjubh,Uph(}rh.h/]RrubG?uhNhUMD glucuronate 1 phosphate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU GLCUR1PtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU D-Glucuronaterh}r(UCHEBI]rU 4178 47952raUKEGG]r UC00191r aUPUBCHEM]r U3491r auhUglcur_cr hUEh Jh!Gh"h#)r}r(hNh"UC6H9O7rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubG?jGjG?h)r}r(hNhNhU D-Glucuronaterh}r(UCHEBI]rU 4178 47952raUKEGG]rUC00191raUPUBCHEM]rU3491rauhUglcur_pr hUEh Jh!Gh"h#)r!}r"(hNh"UC6H9O7r#h}r$h(}r%h*}r&(UHK UCKUOKuhj#ubh,Uph(}r'h.h/]Rr(ubGuhNhU@D glucuronate transport via proton symport reversible periplasm r)hEG@@hFG@h}r*hHh/]r+(j)r,}r-(hNjKhNhUkdgTr.h}r/jhUSTM0161r0h Nh"NjKh,Nh(}r1jU+h.h/]Rr2ubjˉeRr3hU GLCURt2rppr4hKGhLhMhNhNU( STM3134 or STM0161 )r5h(}r6hPNubh)r7}r8(h UTransport Outer Membrane Porinr9h }r:(jG?jqgGuhNhU@D glucuronat transport via diffusion extracellular to periplasm r;hEG@@hFG@h}r<hHh/]r=(jjjjeRr>hUGLCURtexr?hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r@h(}rAhPNubh)rB}rC(h UTransport Inner MembranerDh }rE(jJ,G?jGj4G?jGGjZGjG?jG?uhNhU-D glucose transport via ABC system periplasm rFhEG@@hFGh}rGhHh/]rH(jjj eRrIhUGLCabcpprJhKGhLhMhNhNU'( STM2189 and STM2190 and STM2188 )rKh(}rLhPNubh)rM}rN(h UTransport Inner MembranerOh }rP(jGjmG?j}G?jGuhNhU-D glucose transport via PEPPyr PTS periplasm rQhEG@@hFGh}rRhHh/]rS(jtjjjj{jjeRrThUGLCptspprUhKGhLhMhNhNU( ( STM2433 and STM1203 and STM2431 and STM2432 ) or ( STM1830 and STM1831 and STM1832 and STM2431 and STM2432 ) or ( STM2433 and STM2431 and STM2432 ) )rVh(}rWhPNubh)rX}rY(h UTransport Inner MembranerZh }r[(jGjJ,G?jGjG?uhNhU4D glucose transport in via proton symport periplasm r\hEG@@hFGh}r]hHh/]r^jaRr_hUGLCt2ppr`hKGhLhMhNhNUSTM3091rah(}rbhPNubh)rc}rd(h UTransport Outer Membrane Porinreh }rf(jgGjG?uhNhU;glucose transport via diffusion extracellular to periplasm rghEG@@hFG@h}rhhHh/]ri(jjjjeRrjhUGLCtexrkhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rlh(}rmhPNubh)rn}ro(h UTransport Outer Membranerph }rq(jgGjG?uhNhUTD glucoseMaltotriose transport via diffusion extracellular to periplasm irreversiblerrhEG@@hFGh}rshHh/]rtjaRruhUGLCtexirvhKGhLhMhNhNUSTM4231rwh(}rxhPNubh)ry}rz(h UGlycolysisGluconeogenesisr{h }r|(j Gj G?uhNhU0glycogen debranching enzyme bglycogen glycogen r}hEG@@hFGh}r~hHh/]rj)r}r(hNjKhNhUglgXrh}rjhUSTM3537rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGLDBRAN2rhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycolysisGluconeogenesisrh }r(jMGjGjG?j^G?jGGuhNhU'glucose 1 phosphate adenylyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUglgCrh}rjhUSTM3536rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGLGCrhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlutamate metabolismrh }r(j4G?j G?jGGjGjG?jlGjG?uhNhUglutamine synthetaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUglnArh}rjhUSTM4007rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGLNSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U tRNA Chargingrh }r(h)r}r(hNhNhUtRNA-Glnrh}r(UCHEBI]rU29168raUKEGG]rUC01640raUPUBCHEM]rU4789rauhU trnagln_crhUEh Kh!Gh"h#)r}r(hNh"URh}rh(}rh*}rURKshURubh,Uch(}rh.h/]RrubGh)rŽ}rÎ(hNhNhUL-Glutaminyl-tRNA-GlnrĎh}rŎ(UCHEBI]rƎU29166rǎaUKEGG]rȎUC02282rɎaUPUBCHEM]rʎU5339rˎauhU glntrna_cr̎hUEh Kh!Gh"h#)r͎}rΎ(hNh"U C5H9N2O2Rrώh}rЎh(}rюh*}rҎ(UHK UCKURKUOKUNKuhjώubh,Uch(}rӎh.h/]RrԎubG?jG?j GjGGjG?uhNhUGlutaminyl tRNA synthetaserՎhEG@@hFGh}r֎hHh/]r׎j)r؎}rَ(hNjKhNhUglnSrڎh}rێjhUSTM0686r܎h Nh"NjKh,Nh(}rݎjU+h.h/]RrގubaRrߎhUGLNTRSrhKGhLhMhNhNj܎h(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j G?j4G?jZGjG?h)r}r(hNhNhU L-Glutaminerh}r(UCHEBI]rU18050raUKEGG]rUC00064raUPUBCHEM]rU3364rauhUgln__L_prhUEh Kh!Gh"h#)r}r(hNh"U C5H10N2O3rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uph(}rh.h/]RrubGjGGjG?uhNhU/L glutamine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUglnHrh}rjhUSTM0830rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUglnQrh}rjhUSTM0828rh Nh"NjKh,Nh(}rjU+h.h/]Rr ubj)r }r (hNjKhNhUglnPr h}r jhUSTM0829rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUGLNabcpprhKGhLhMhNhNU'( STM0830 and STM0829 and STM0828 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?jgGuhNhU?L glutamine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUGLNtexrhKGhLhMhNhNU2( STM0999 or STM1473 or STM2267 or STM0320 )rh(}rhPNubh)r }r!(h UArginine and Proline Metabolismr"h }r#(jGGj5G?jGj4G?uhNhUglutamate 5 kinaser$hEG@@hFGh}r%hHh/]r&j)r'}r((hNjKhNhUproBr)h}r*jhUSTM0321r+h Nh"NjKh,Nh(}r,jU+h.h/]Rr-ubaRr.hUGLU5Kr/hKGhLhMhNhNj+h(}r0hPNubh)r1}r2(h U*Cofactor and Prosthetic Group Biosynthesisr3h }r4(h)r5}r6(hNhNhUgamma-L-Glutamyl-L-cysteiner7h}r8(UCHEBI]r9U17515r:aUKEGG]r;UC00669r<aUPUBCHEM]r=U3938r>auhUglucys_cr?hUEh Jh!Gh"h#)r@}rA(hNh"U C8H13N2O5SrBh}rCh(}rDh*}rE(UHK UCKUSKUOKUNKuhjBubh,Uch(}rFh.h/]RrGubG?jGGjGjG?jG?j4G?j-GuhNhU!gamma glutamylcysteine synthetaserHhEG@@hFGh}rIhHh/]rJj)rK}rL(hNjKhNhUgshArMh}rNjhUSTM2818rOh Nh"NjKh,Nh(}rPjU+h.h/]RrQubaRrRhUGLUCYSrShKGhLhMhNhNjOh(}rThPNubh)rU}rV(h UGlutamate MetabolismrWh }rX(jB GjGjU G?jZGjG?jlG?jG?uhNhUglutamate dehydrogenase NADP rYhEG@@hFG@h}rZhHh/]r[j)r\}r](hNjKhNhUgdhAr^h}r_jhUSTM1299r`h Nh"NjKh,Nh(}rajU+h.h/]RrbubaRrchUGLUDyrdhKGhLhMhNhNj`h(}rehPNubh)rf}rg(h UGlutamate Metabolismrhh }ri(jZGj GjG?jlG?uhNhU glutaminaserjhEG@@hFGh}rkhHh/]rlj)rm}rn(hNjKhNhUyneHroh}rpjhUSTM1525rqh Nh"NjKh,Nh(}rrjU+h.h/]RrsubaRrthUGLUNruhKGhLhMhNhNjqh(}rvhPNubh)rw}rx(h UGlutamate Metabolismryh }rz(jGh)r{}r|(hNhNhU L-Glutamater}h}r~(UCHEBI]rU16015raUKEGG]rUC00025raUPUBCHEM]rU3327rauhUglu__L_prhUEh Jh!Gh"h#)r}r(hNh"UC5H8NO4rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?j)Gj3G?uhNhU glutaminaserhEG@@hFGh}rhHh/]rj3aRrhUGLUNpprhKGhLhMhNhNUSTM3106rh(}rhPNubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(j)#GjZGjG?h)r}r(hNhNhU5-Phospho-beta-D-ribosylaminerh}r(UCHEBI]rU37737raUKEGG]rUC03090raUPUBCHEM]rU5988rauhUpram_crhUEh Jh!Gh"h#)r}r(hNh"U C5H11NO7Prh}rh(}rh*}r(UHK UCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?j GuhNhU4glutamine phosphoribosyldiphosphate amidotransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpurFrh}rjhUSTM2362rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGLUPRTrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhU D-Glutamaterh}r(UCHEBI]rU15966raUKEGG]rÏUC00217rďaUPUBCHEM]rŏU3517rƏauhUglu__D_crǏhUEh Jh!Gh"h#)rȏ}rɏ(hNh"UC5H8NO4rʏh}rˏh(}ȑh*}r͏(UHKUCKUOKUNKuhjʏubh,Uch(}rΏh.h/]RrϏubGjG?uhNhUglutamate racemaserЏhEG@@hFG@h}rяhHh/]rҏj)rӏ}rԏ(hNjKhNhUmurIrՏh}r֏jhUSTM4131r׏h Nh"NjKh,Nh(}r؏jU+h.h/]RrُubaRrڏhUGLURrۏhKGhLhMhNhNj׏h(}r܏hPNubh)rݏ}rޏ(h UGlutamate metabolismrߏh }r(jGjU GjG@jGj GjB G?uhNhUglutamate synthase NADPH rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUgltBrh}rjhUSTM3330rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUgltDrh}rjhUSTM3331rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUGLUSyrhKGhLhMhNhNU( STM3330 and STM3331 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhUtRNA-Glurh}r(UCHEBI]rU29175raUKEGG]rUC01641raUPUBCHEM]rU4790rauhU trnaglu_crhUEh Kh!Gh"h#)r}r(hNh"URh}rh(}rh*}r URKshURubh,Uch(}r h.h/]Rr ubG?jB G?jU Gh)r }r (hNhNhUL-Glutamyl-tRNA-Glurh}r(UCHEBI]rU29157raUKEGG]rUC02987raUPUBCHEM]rU5896rauhU glutrna_crhUEh Kh!Gh"h#)r}r(hNh"UC5H7NO3Rrh}rh(}rh*}r(UHKUCKURKUOKUNKuhjubh,Uch(}rh.h/]RrubGjG?jGuhNhUglutamyl tRNA reductaserhEG@@hFGh}r hHh/]r!j)r"}r#(hNjKhNhUhemAr$h}r%jhUSTM1777r&h Nh"NjKh,Nh(}r'jU+h.h/]Rr(ubaRr)hUGLUTRRr*hKGhLhMhNhNj&h(}r+hPNubh)r,}r-(h U*Cofactor and Prosthetic Group Biosynthesisr.h }r/(jGj G?jGGjGjG?jG?uhNhUGlutamyl tRNA synthetaser0hEG@@hFGh}r1hHh/]r2j)r3}r4(hNjKhNhUgltXr5h}r6jhUSTM2415r7h Nh"NjKh,Nh(}r8jU+h.h/]Rr9ubaRr:hUGLUTRSr;hKGhLhMhNhNj7h(}r<hPNubh)r=}r>(h UTransport Inner Membraner?h }r@(j{Gj4G?jZGjG?jG?jGGjG?uhNhU/L glutamate transport via ABC system periplasm rAhEG@@hFGh}rBhHh/]rC(jL6jS6jZ6ja6eRrDhUGLUabcpprEhKGhLhMhNhNU5( STM0665 and STM0664 and STM0663 and STM0662 )rFh(}rGhPNubh)rH}rI(h UTransport Inner MembranerJh }rK(jG?jGj{GjG?uhNhU>L glutamate transport via proton symport reversible periplasm rLhEG@@hFG@h}rMhHh/]rNj6aRrOhUGLUt2rpprPhKGhLhMhNhNUSTM4283rQh(}rRhPNubh)rS}rT(h UTransport Inner MembranerUh }rV(jG?j{Gj GjG?uhNhUNaglutamate symport periplasm rWhEG@@hFGh}rXhHh/]rYj)rZ}r[(hNjKhNhUgltSr\h}r]jhUSTM3746r^h Nh"NjKh,Nh(}r_jU+h.h/]Rr`ubaRrahUGLUt4pprbhKGhLhMhNhNj^h(}rchPNubh)rd}re(h UTransport Outer Membrane Porinrfh }rg(j{G?jgGuhNhU?L glutamate transport via diffusion extracellular to periplasm rhhEG@@hFG@h}rihHh/]rj(jjjjeRrkhUGLUtexrlhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rmh(}rnhPNubh)ro}rp(h UGlyoxylate Metabolismrqh }rr(jGjG?jG?h)rs}rt(hNhNhU Glyoxylateruh}rv(UCHEBI]rwU16891rxaUKEGG]ryUC00048rzaUPUBCHEM]r{U3350r|auhUglx_cr}hUEh Jh!Gh"h#)r~}r(hNh"UC2H1O3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGuhNhUglyoxalate carboligaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUgclrh}rjhUSTM0517rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGLXCLrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUD-Glyceraldehyderh}r(UCHEBI]rU17378raUKEGG]rUC00577raUPUBCHEM]rU3856rauhUglyald_prhUEh Kh!Gh"h#)r}r(hNh"UC3H6O3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}rh.h/]RrubG?jgGuhNhUBGlyceraldehyde transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU GLYALDtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGh)r}r(hNhNhUD-Glyceraldehyderh}r(UCHEBI]rU17378raUKEGG]rUC00577raUPUBCHEM]rU3856rauhUglyald_crhUEh Kh!Gh"h#)r}r(hNh"UC3H6O3rh}rÐh(}rĐh*}rŐ(UHKUCKUOKuhjubh,Uch(}rƐh.h/]RrǐubG?uhNhU/Glyceraldehyde facilitated diffusion periplasm rȐhEG@@hFG@h}rɐhHh/]rʐj)rː}r̐(hNjKhNhUglpFr͐h}rΐjhUSTM4087rϐh Nh"NjKh,Nh(}rАjU+h.h/]RrѐubaRrҐhU GLYALDtpprӐhKGhLhMhNhNjϐh(}rԐhPNubh)rՐ}r֐(h UGlycine and Serine Metabolismrאh }rؐ(j-GjGj.G?jG?uhNhUglycine C acetyltransferaserِhEG@@hFG@h}rڐhHh/]rېj)rܐ}rݐ(hNjKhNhUkblrސh}rߐjhUSTM3709rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGLYATrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUGlycine-betainerh}r(UCHEBI]rU17750raUKEGG]rUC00719raUPUBCHEM]rU3985rauhUglyb_prhUEh Kh!Gh"h#)r}r(hNh"UC5H11NO2rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uph(}rh.h/]RrubGj4G?jZGjG?h)r}r(hNhNhUGlycine-betainerh}r(UCHEBI]rU17750raUKEGG]rUC00719raUPUBCHEM]rU3985rauhUglyb_crhUEh Kh!Gh"h#)r}r (hNh"UC5H11NO2r h}r h(}r h*}r (UHK UCKUOKUNKuhj ubh,Uch(}rh.h/]RrubG?jGGjG?uhNhU3Glycine betaine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j<j<j<j<eRrhU GLYBabcpprhKGhLhMhNhNU5( STM2162 and STM2163 and STM2164 and STM2165 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jgGjG?uhNhUCGlycine betaine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUGLYBtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r h(}r!hPNubh)r"}r#(h UTransport Outer Membrane Porinr$h }r%(j΄G?jhGuhNhUHGlycerol 2 phosphate transport via diffusion extracellular to periplasm r&hEG@@hFG@h}r'hHh/]r((jjjjeRr)hU GLYC2Ptexr*hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r+h(}r,hPNubh)r-}r.(h UTransport Inner Membraner/h }r0(jG?j4G?jGGjZGh)r1}r2(hNhNhUGlycerol-3-phosphater3h}r4(UCHEBI]r5U15978r6aUKEGG]r7UC00093r8aUPUBCHEM]r9U3393r:auhUglyc3p_pr;hUEh Jh!Gh"h#)r<}r=(hNh"UC3H7O6Pr>h}r?h(}r@h*}rA(UHKUCKUOKUPKuhj>ubh,Uph(}rBh.h/]RrCubGjG?jG?uhNhU;sn Glycerol 3 phosphate transport via ABC system periplasm rDhEG@@hFGh}rEhHh/]rF(jjjjeRrGhU GLYC3PabcpprHhKGhLhMhNhNU5( STM3556 and STM3557 and STM3554 and STM3555 )rIh(}rJhPNubh)rK}rL(h UTransport Inner MembranerMh }rN(jG?jGj1GjG?uhNhU4Glycerol 3 phosphate phosphate antiporter periplasm rOhEG@@hFGh}rPhHh/]rQj)rR}rS(hNjKhNhUglpTrTh}rUjhUSTM2283rVh Nh"NjKh,Nh(}rWjU+h.h/]RrXubaRrYhU GLYC3Pt6pprZhKGhLhMhNhNjVh(}r[hPNubh)r\}r](h UTransport Outer Membrane Porinr^h }r_(j1G?j5hGuhNhUHGlycerol 3 phosphate transport via diffusion extracellular to periplasm r`hEG@@hFG@h}rahHh/]rb(jjjjeRrchU GLYC3PtexrdhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )reh(}rfhPNubh)rg}rh(h UTransport Inner Membranerih }rj(jG?h)rk}rl(hNhNhU R-Glyceratermh}rn(UCHEBI]roU32398rpaUKEGG]rqUC00258rraUPUBCHEM]rsU3557rtauhU glyc__R_pruhUEh Jh!Gh"h#)rv}rw(hNh"UC3H5O4rxh}ryh(}rzh*}r{(UHKUCKUOKuhjxubh,Uph(}r|h.h/]Rr}ubGh)r~}r(hNhNhU R-Glyceraterh}r(UCHEBI]rU32398raUKEGG]rUC00258raUPUBCHEM]rU3557rauhU glyc__R_crhUEh Jh!Gh"h#)r}r(hNh"UC3H5O4rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?jGuhNhU>D glycerate transport via proton symport reversible periplasm rhEG@@hFG@h}rhHh/]rjaRrhU GLYCAt2rpprhKGhLhMhNhNUSTM2962rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jQhGjkG?uhNhU?D glycerate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUGLYCAtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j G?j GjGjG?j:PG?uhNhUGlycerol dehydrogenaserhEG@@hFGh}rhHh/]r(j,j)r}r(hNjKhNhUgldArh}rjhUSTM3529rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUGLYCDxrhKGhLhMhNhNU( STM4108 or STM3529 )rh(}rhPNubh)r}r(h UGlyoxylate Metabolismrh }r(jGGh)r}r(hNhNhU3-Phospho-D-glyceraterh}r(UCHEBI]rU17794raUKEGG]rUC00197raUPUBCHEM]rU3497r‘auhU3pg_crÑhUEh Jh!Gh"h#)rđ}rő(hNh"UC3H4O7PrƑh}rǑh(}rȑh*}rɑ(UHKUCKUOKUPKuhjƑubh,Uch(}rʑh.h/]RrˑubG?j4G?jG?j~GuhNhUglycerate kinaseȓhEG@@hFGh}r͑hHh/]rΑ(j)rϑ}rБ(hNjKhNhUglxKrёh}rґjhUSTM0525rӑh Nh"NjKh,Nh(}rԑjU+h.h/]RrՑubj)r֑}rב(hNjKhNhUgarKrؑh}rّjhUSTM3247rڑh Nh"NjKh,Nh(}rۑjU+h.h/]Rrܑubj)rݑ}rޑ(hNjKhNhU-h}rߑjhUSTM2959rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM2492rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUGLYCKrhKGhLhMhNhNU-( STM2959 or STM2492 or STM3247 or STM0525 )rh(}rhPNubh)r}r(h UGlycine and Serine Metabolismrh }r(j4G?jGGjG?j_]G?j~GuhNhUglycerate kinaserhEG@@hFGh}rhHh/]rj֑aRrhUGLYCK2rhKGhLhMhNhNUSTM3247rh(}rhPNubh)r}r(h UFolate Metabolismrh }r(j'Gj Gj-GjyG?j G?jG?jlG?uhNhUGlycine Cleavage SystemrhEG@@hFGh}rhHh/]r(j(j)r}r(hNjKhNhUgcvHrh}rjhUSTM3054rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUgcvTrh}r jhUSTM3055r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubj)r }r(hNjKhNhUgcvPrh}rjhUSTM3053rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUGLYCLrhKGhLhMhNhNU5( STM3054 and STM3053 and STM3055 and STM0154 )rh(}rhPNubh)r}r(h UGlyoxylate Metabolismrh }r(jsGj G?h)r}r(hNhNhU Glycolaterh}r(UCHEBI]r U17497r!aUKEGG]r"UC00160r#aUPUBCHEM]r$U3460r%auhUglyclt_cr&hUEh Jh!Gh"h#)r'}r((hNh"UC2H3O3r)h}r*h(}r+h*}r,(UHKUCKUOKuhj)ubh,Uch(}r-h.h/]Rr.ubG?jGj GuhNhUGlycolate dehydrogenase NAD r/hEG@@hFGh}r0hHh/]r1(j)r2}r3(hNjKhNhUycdWr4h}r5jhUSTM1135r6h Nh"NjKh,Nh(}r7jU+h.h/]Rr8ubj4 eRr9hUGLYCLTDxr:hKGhLhMhNhNU( STM3646 or STM1135 )r;h(}r<hPNubh)r=}r>(h UGlyoxylate Metabolismr?h }r@(jB G?jG?jU GjGjsGuhNhUGlycolate dehydrogenase NADP rAhEG@@hFGh}rBhHh/]rC(j4 j2eRrDhUGLYCLTDyrEhKGhLhMhNhNU( STM3646 or STM1135 )rFh(}rGhPNubh)rH}rI(h UTransport Inner MembranerJh }rK(jG?jGjG?h)rL}rM(hNhNhU GlycolaterNh}rO(UCHEBI]rPU17497rQaUKEGG]rRUC00160rSaUPUBCHEM]rTU3460rUauhUglyclt_prVhUEh Jh!Gh"h#)rW}rX(hNh"UC2H3O3rYh}rZh(}r[h*}r\(UHKUCKUOKuhjYubh,Uph(}r]h.h/]Rr^ubGuhNhUUC00037r?aUPUBCHEM]r@U3339rAauhUgly_prBhUEh Kh!Gh"h#)rC}rD(hNh"UC2H5NO2rEh}rFh(}rGh*}rH(UHKUCKUOKUNKuhjEubh,Uph(}rIh.h/]RrJubGjG?uhNhU2glycine transport in via proton symport periplasm rKhEG@@hFGh}rLhHh/]rMj*aRrNhUGLYt2pprOhKGhLhMhNhNUSTM4398rPh(}rQhPNubh)rR}rS(h UTransport Outer Membrane PorinrTh }rU(j8G?jgGuhNhU;Glycine transport via diffusion extracellular to periplasm rVhEG@@hFG@h}rWhHh/]rX(jjjjeRrYhUGLYtexrZhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r[h(}r\hPNubh)r]}r^(h UCell Envelope Biosynthesisr_h }r`(jG?jZG?joGuhNhUGDP D mannose dehydrataserahEG@@hFGh}rbhHh/]rcj)rd}re(hNjKhNhUgmdrfh}rgjhUSTM2109rhh Nh"NjKh,Nh(}rijU+h.h/]RrjubaRrkhUGMANDrlhKGhLhMhNhNjhh(}rmhPNubh)rn}ro(h U)Lipopolysaccharide Biosynthesis Recyclingrph }rq(h)rr}rs(hNhNhU%D-Glycero-D-manno-heptose-1-phosphaterth}ru(UCHEBI]rvU28137rwaUKEGG]rxUC07838ryaUPUBCHEM]rzU10040r{auhU gmhep1p_cr|hUEh Jh!Gh"h#)r}}r~(hNh"U C7H13O10Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}rh.h/]RrubGj%G?jGGjGjG?uhNhU6D glycero D manno hepose 1 phosphate adenyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUrfaErh}rjhUSTM3200rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGMHEPATrhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(h)r}r(hNhNhU%D-Glycero-D-manno-heptose-7-phosphaterh}r(UCHEBI]rU28723raUKEGG]rUC07836raUPUBCHEM]rU10038rauhU gmhep7p_crhUEh Jh!Gh"h#)r}r(hNh"U C7H13O10Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}rh.h/]RrubGj4G?jGGh)r}r(hNhNhU*D-Glycero-D-manno-heptose-1-7-bisphosphaterh}r(UCHEBI]rU0aUKEGG]rUC11472raUPUBCHEM]rU13642rauhU gmhep17bp_crhUEh Jh!Gh"h#)r}r(hNh"U C7H12O13P2rh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}rh.h/]RrubG?jG?uhNhU,D glycero D manno heptose 7 phosphate kinaserhEG@@hFGh}rhHh/]rjaRrhUGMHEPKrhKGhLhMhNhNUSTM3200rh(}rhPNubh)r“}rÓ(h U)Lipopolysaccharide Biosynthesis Recyclingrēh }rœ(jZGjGjrG?jG?uhNhU6D glycero D manno heptose 1 7 bisphosphate phosphataserƓhEG@@hFGh}rǓhHh/]rȓj)rɓ}rʓ(hNjKhNhUyaeDr˓h}r̓jhUSTM0248r͓h Nh"NjKh,Nh(}rΓjU+h.h/]RrϓubaRrГhUGMHEPPArѓhKGhLhMhNhNj͓h(}rғhPNubh)rӓ}rԓ(h U"Purine and Pyrimidine BiosynthesisrՓh }r֓(jGjU Gj#G?jGjlG?jB G?uhNhU GMP reductaserדhEG@@hFGh}rؓhHh/]rٓj)rړ}rۓ(hNjKhNhUguaCrܓh}rݓjhUSTM0141rޓh Nh"NjKh,Nh(}rߓjU+h.h/]RrubaRrhUGMPRrhKGhLhMhNhNjޓh(}rhPNubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(jG?jGGh)r}r(hNhNhUXanthosine-5-phosphaterh}r(UCHEBI]rU15652raUKEGG]rUC00655raUPUBCHEM]rU3925rauhUxmp_crhUEh Jh!Gh"h#)r}r(hNh"U C10H11N4O9Prh}rh(}rh*}r(UHK UCK UPKUOK UNKuhjubh,Uch(}rh.h/]RrubGjG?jZGj GjG?jG?jG@uhNhU GMP synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUguaArh}rjhUSTM2510rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGMPS2rhKGhLhMhNhNjh(}rhPNubh)r}r (h UTransport Outer Membrane Porinr h }r (jhGh)r }r (hNhNhUGMPrh}r(UCHEBI]rU17345raUKEGG]rUC00144raUPUBCHEM]rU3444rauhUgmp_prhUEh Jh!Gh"h#)r}r(hNh"U C10H12N5O8Prh}rh(}rh*}r(UHK UCK UPKUOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhU7GMP transport via diffusion extracellular to periplasm rhEG@@hFG@h}r hHh/]r!(jjjjeRr"hUGMPtexr#hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r$h(}r%hPNubh)r&}r'(h UPentose Phosphate Pathwayr(h }r)(jB GjG?jU G?j}\Gj1G?uhNhUphosphogluconate dehydrogenaser*hEG@@hFGh}r+hHh/]r,j)r-}r.(hNjKhNhUgndr/h}r0jhUSTM2081r1h Nh"NjKh,Nh(}r2jU+h.h/]Rr3ubaRr4hUGNDr5hKGhLhMhNhNj1h(}r6hPNubh)r7}r8(h UAlternate Carbon Metabolismr9h }r:(jGGj Gj}\G?j4G?jG?uhNhU gluconokinaser;hEG@@hFGh}r<hHh/]r=(j)r>}r?(hNjKhNhUidnKr@h}rAjhUSTM4485rBh Nh"NjKh,Nh(}rCjU+h.h/]RrDubj)rE}rF(hNjKhNhUgntKrGh}rHjhUSTM3542rIh Nh"NjKh,Nh(}rJjU+h.h/]RrKubeRrLhUGNKrMhKGhLhMhNhNU( STM4485 or STM3542 )rNh(}rOhPNubh)rP}rQ(h UCell Envelope BiosynthesisrRh }rS(jB G?jGjU Gh)rT}rU(hNhNhU GDP-L-fucoserVh}rW(UCHEBI]rXU17009rYaUKEGG]rZUC00325r[aUPUBCHEM]r\U3619r]auhUgdpfuc_cr^hUEh Jh!Gh"h#)r_}r`(hNh"U C16H23N5O15P2rah}rbh(}rch*}rd(UHKUCKUPKUOKUNKuhjaubh,Uch(}reh.h/]RrfubG?jGuhNhUGDP 4 oxo L fucose reductaserghEG@@hFGh}rhhHh/]rij"aRrjhUGOFUCRrkhKGhLhMhNhNUSTM2108rlh(}rmhPNubh)rn}ro(h UGlycerophospholipid Metabolismrph }rq(jG?jZGjkGjG?j<G?uhNhU>Glycerophosphodiester phosphodiesterase Glycerophosphocholine rrhEG@@hFGh}rshHh/]rtj)ru}rv(hNjKhNhUugpQrwh}rxjhUSTM3553ryh Nh"NjKh,Nh(}rzjU+h.h/]Rr{ubaRr|hUGPDDA1r}hKGhLhMhNhNjyh(}r~hPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jXGj<G?j)GjG?j1G?uhNhU>Glycerophosphodiester phosphodiesterase Glycerophosphocholine rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUglpQrh}rjhUSTM2282rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGPDDA1pprhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?jZGjGjG?j]G?uhNhUCGlycerophosphodiester phosphodiesterase Glycerophosphoethanolamine rhEG@@hFGh}rhHh/]rjuaRrhUGPDDA2rhKGhLhMhNhNUSTM3553rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j]G?jG?j)GjGj1G?uhNhUCGlycerophosphodiester phosphodiesterase Glycerophosphoethanolamine rhEG@@hFGh}rhHh/]rjaRrhUGPDDA2pprhKGhLhMhNhNUSTM2282rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?jbxG?jZGjGjG?uhNhU=Glycerophosphodiester phosphodiesterase Glycerophosphoserine rhEG@@hFGh}rhHh/]rjuaRrhUGPDDA3rhKGhLhMhNhNUSTM3553rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhUL-Serinerh}r(UCHEBI]rU17115raUKEGG]rUC00065raUPUBCHEM]rU3365rauhUser__L_prhUEh Kh!Gh"h#)r}r(hNh"UC3H7NO3r”h}rÔh(}rĔh*}rŔ(UHKUCKUOKUNKuhj”ubh,Uph(}rƔh.h/]RrǔubG?j)GjG?jGj1G?uhNhU=Glycerophosphodiester phosphodiesterase Glycerophosphoserine rȔhEG@@hFGh}rɔhHh/]rʔjaRr˔hUGPDDA3ppr̔hKGhLhMhNhNUSTM2282r͔h(}rΔhPNubh)rϔ}rД(h UGlycerophospholipid Metabolismrєh }rҔ(jG?jG?jZGjG?jJGuhNhU?Glycerophosphodiester phosphodiesterase Glycerophosphoglycerol rӔhEG@@hFGh}rԔhHh/]rՔjuaRr֔hUGPDDA4rהhKGhLhMhNhNUSTM3553rؔh(}rٔhPNubh)rڔ}r۔(h UGlycerophospholipid Metabolismrܔh }rݔ(j)GjG?j8Gj+@G?j1G?uhNhU?Glycerophosphodiester phosphodiesterase Glycerophosphoglycerol rޔhEG@@hFGh}rߔhHh/]rjaRrhUGPDDA4pprhKGhLhMhNhNUSTM2282rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?jZGh)r}r(hNhNhU myo-Inositolrh}r(UCHEBI]rU17268raUKEGG]rUC00137raUPUBCHEM]rU3437rauhUinost_crhUEh Kh!Gh"h#)r}r(hNh"UC6H12O6rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubG?jG?jrGuhNhU?Glycerophosphodiester phosphodiesterase Glycerophosphoinositol rhEG@@hFGh}rhHh/]rjuaRrhUGPDDA5rhKGhLhMhNhNUSTM3553rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jGj)GjG?j1G?h)r}r(hNhNhU myo-Inositolr h}r (UCHEBI]r U17268r aUKEGG]r UC00137raUPUBCHEM]rU3437rauhUinost_prhUEh Kh!Gh"h#)r}r(hNh"UC6H12O6rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uph(}rh.h/]RrubG?uhNhU?Glycerophosphodiester phosphodiesterase Glycerophosphoinositol rhEG@@hFGh}rhHh/]rjaRrhUGPDDA5pprhKGhLhMhNhNUSTM2282rh(}r hPNubh)r!}r"(h U*Cofactor and Prosthetic Group Biosynthesisr#h }r$(h)r%}r&(hNhNhUFarnesyl-diphosphater'h}r((UCHEBI]r)U17407r*aUKEGG]r+UC00448r,aUPUBCHEM]r-U3736r.auhUfrdp_cr/hUEh Jh!Gh"h#)r0}r1(hNh"U C15H25O7P2r2h}r3h(}r4h*}r5(UHKUCKUOKUPKuhj2ubh,Uch(}r6h.h/]Rr7ubG?jSGjG?jSGuhNhUgeranyltranstransferaser8hEG@@hFGh}r9hHh/]r:jSaRr;hUGRTTr<hKGhLhMhNhNUSTM0423r=h(}r>hPNubh)r?}r@(h U UnassignedrAh }rB(h)rC}rD(hNhNhUOxidized-glutathionerEh}rF(UCHEBI]rGU17858rHaUKEGG]rIUC00127rJaUPUBCHEM]rKU3427rLauhUgthox_crMhUEh Jh!Gh"h#)rN}rO(hNh"U C20H30N6O12S2rPh}rQh(}rRh*}rS(UHKUCKUSKUOK UNKuhjPubh,Uch(}rTh.h/]RrUubG?h)rV}rW(hNhNhUglutaredoxin-oxidizedrXh}rY(UCHEBI]rZU0aUKEGG]r[U0aUPUBCHEM]r\U0auhUgrxox_cr]hUEh Kh!Gh"h#)r^}r_(hNh"UXh}r`h(}rah*}rbUXKshUXubh,Uch(}rch.h/]RrdubGh)re}rf(hNhNhUglutaredoxin-reducedrgh}rh(UCHEBI]riU0aUKEGG]rjU0aUPUBCHEM]rkU0auhUgrxrd_crlhUEh Kh!Gh"h#)rm}rn(hNh"UXH2roh}rph(}rqh*}rr(UXKUHKuhjoubh,Uch(}rsh.h/]RrtubG?j|GuhNhUglutaredoxin reductaseruhEG@@hFGh}rvhHh/]rw(j)rx}ry(hNjKhNhUgrxBrzh}r{jhUSTM1165r|h Nh"NjKh,Nh(}r}jU+h.h/]Rr~ubj)r}r(hNjKhNhUgrxArh}rjhUSTM0872rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUydhDrh}rjhUSTM1433rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUgrxCrh}rjhUSTM3702rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUGRXRrhKGhLhMhNhNU2( STM3702 or STM0872 or STM1433 or STM1165 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jG?jGGh)r}r(hNhNhU Guanosinerh}r(UCHEBI]rU16750raUKEGG]rUC00387raUPUBCHEM]rU3677rauhUgsn_crhUEh Kh!Gh"h#)r}r(hNh"U C10H13N5O5rh}rh(}rh*}r(UHK UCK UOKUNKuhjubh,Uch(}rh.h/]RrubGj4G?jG?uhNhUguanosine kinaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUgskrh}rjhUSTM0491rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGSNKrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jG?jGjG?jKGuhNhU4guanosine transport in via proton symport periplasm rhEG@@hFGh}rhHh/]r•j'"aRrÕhUGSNt2pprĕhKGhLhMhNhNUSTM3113rŕh(}rƕhPNubh)rǕ}rȕ(h UTransport Outer Membrane Porinrɕh }rʕ(jhGjKG?uhNhU=guanosine transport via diffusion extracellular to periplasm r˕hEG@@hFG@h}r̕hHh/]r͕(jjjjeRrΕhUGSNtexrϕhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rЕh(}rѕhPNubh)rҕ}rӕ(h UArginine and Proline Metabolismrԕh }rՕ(j|G?h)r֕}rו(hNhNhUGlutathionylspermidinerؕh}rٕ(UCHEBI]rڕU16613rەaUKEGG]rܕUC05730rݕaUPUBCHEM]rޕU8032rߕauhUgtspmd_crhUEh Kh!Gh"h#)r}r(hNh"U C17H36N6O5Srh}rh(}rh*}r(UHK$UCKUSKUOKUNKuhjubh,Uch(}rh.h/]RrubGjZGh)r}r(hNhNhU Spermidinerh}r(UCHEBI]rU16610raUKEGG]rUC00315raUPUBCHEM]rU3609rauhUspmd_crhUEh Kh!Gh"h#)r}r(hNh"UC7H22N3rh}rh(}rh*}r(UHKUCKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhUGlutathionylspermidine amidaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUgsprh}rjhUSTM3139rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGSPMDArhKGhLhMhNhNjh(}rhPNubh)r }r (h UArginine and Proline Metabolismr h }r (jGj4G?j֕G?j|GjGGjG?jG?uhNhU!Glutathionylspermidine synthetaser hEG@@hFGh}rhHh/]rjaRrhUGSPMDSrhKGhLhMhNhNUSTM3139rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jhGj6VG?uhNhUBglutathione ox transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUGTHOXtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r (h U*Cofactor and Prosthetic Group Biosynthesisr!h }r"(jCGjB G?jU Gj|G@jGuhNhUglutathione oxidoreductaser#hEG@@hFG@h}r$hHh/]r%j)r&}r'(hNjKhNhUgorr(h}r)jhUSTM3597r*h Nh"NjKh,Nh(}r+jU+h.h/]Rr,ubaRr-hUGTHOrr.hKGhLhMhNhNj*h(}r/hPNubh)r0}r1(h U*Cofactor and Prosthetic Group Biosynthesisr2h }r3(jVGj`<G?j)Gj{G?uhNhU"glutathione hydralase periplasmic r4hEG@@hFGh}r5hHh/]r6j)r7}r8(hNjKhNhUggtr9h}r:jhUSTM3551r;h Nh"NjKh,Nh(}r<jU+h.h/]Rr=ubaRr>hUGTHRDHppr?hKGhLhMhNhNj;h(}r@hPNubh)rA}rB(h UTransport Inner MembranerCh }rD(j4G?jGGjZGjVG?jG?jG?j|GuhNhU9glutathione export via ABC system cytoplasm to periplasm rEhEG@@hFGh}rFhHh/]rG(jHjHeRrHhU GTHRDabc2pprIhKGhLhMhNhNU( STM0956 and STM0957 )rJh(}rKhPNubh)rL}rM(h UTransport Inner MembranerNh }rO(j|G?jGGjG?jZGjVGj4G?jG?uhNhU-Reduced glutathione via ABC system periplasm rPhEG@@hFGh}rQhHh/]rR(j)rS}rT(hNjKhNhUyliCrUh}rVjhUSTM0850rWh Nh"NjKh,Nh(}rXjU+h.h/]RrYubj)rZ}r[(hNjKhNhUyliDr\h}r]jhUSTM0851r^h Nh"NjKh,Nh(}r_jU+h.h/]Rr`ubj)ra}rb(hNjKhNhUyliArch}rdjhUSTM0848reh Nh"NjKh,Nh(}rfjU+h.h/]Rrgubj)rh}ri(hNjKhNhUyliBrjh}rkjhUSTM0849rlh Nh"NjKh,Nh(}rmjU+h.h/]RrnubeRrohU GTHRDabcpprphKGhLhMhNhNU5( STM0848 and STM0849 and STM0850 and STM0851 )rqh(}rrhPNubh)rs}rt(h UTransport Outer Membrane Porinruh }rv(jhGjVG?uhNhU?glutathione transport via diffusion extracellular to periplasm rwhEG@@hFG@h}rxhHh/]ry(jjjjeRrzhUGTHRDtexr{hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r|h(}r}hPNubh)r~}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j-Gj4G?j|G?jGGjG?jG?j5GuhNhUglutathione synthetaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUgshBrh}rjhUSTM3095rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGTHSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jv-G?jTG?jZGjeGjG?uhNhUGTP cyclohydrolase IrhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUfolErh}rjhUSTM2193rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGTPCIrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jRG?jZGjG?jeGjG@jv-G?uhNhUGTP cyclohydrolase II 25drapp rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUribArh}rjhUSTM1711rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGTPCII2rhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j0G?h)r}r(hNhNhU&Guanosine-3-diphosphate-5-triphosphaterh}r(UCHEBI]rU0aUKEGG]rUC04494raUPUBCHEM]rU7111rauhUgdptp_crhUEh Jh!Gh"h#)r}r(hNh"U C10H11N5O20P5rh}r–h(}rÖh*}rĖ(UHK UCK UPKUOKUNKuhjubh,Uch(}rŖh.h/]RrƖubGjZGjG?jG?uhNhU4guanosine 5 triphosphate 3 diphosphate diphosphataserǖhEG@@hFGh}rȖhHh/]rɖj)rʖ}r˖(hNjKhNhUgppAr̖h}r͖jhUSTM3913rΖh Nh"NjKh,Nh(}rϖjU+h.h/]RrЖubaRrіhUGTPDPDPrҖhKGhLhMhNhNjΖh(}rӖhPNubh)rԖ}rՖ(h U*Cofactor and Prosthetic Group Biosynthesisr֖h }rז(jGGjG?jeGjG?jG?uhNhUGTP diphosphokinaserؖhEG@@hFGh}rٖhHh/]rږjMaRrۖhUGTPDPKrܖhKGhLhMhNhNUSTM2956rݖh(}rޖhPNubh)rߖ}r(h UNucleotide Salvage Pathwayrh }r(h)r}r(hNhNhUXTPrh}r(UCHEBI]rU0aUKEGG]rUC00700raUPUBCHEM]rU3968rauhUxtp_crhUEh Jh!Gh"h#)r}r(hNh"U C10H11N4O15P3rh}rh(}rh*}r(UHK UCK UPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jZGjeGjGjlG?uhNhU!GTP amine hydrolysis spontaneous rhEG@@hFGh}rhHh/]rjFaRrhUGTPHsrhKGhLhMhNhNUs0001rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jiGh)r}r(hNhNhUGTPrh}r(UCHEBI]rU15996raUKEGG]rUC00044raUPUBCHEM]rU3346r auhUgtp_pr hUEh Jh!Gh"h#)r }r (hNh"U C10H12N5O14P3r h}rh(}rh*}r(UHK UCK UPKUOKUNKuhj ubh,Uph(}rh.h/]RrubG?uhNhU7GTP transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUGTPtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(j)#Gh)r}r(hNhNhUGuaniner h}r!(UCHEBI]r"U16235r#aUKEGG]r$UC00242r%aUPUBCHEM]r&U3541r'auhUgua_cr(hUEh Kh!Gh"h#)r)}r*(hNh"UC5H5N5Or+h}r,h(}r-h*}r.(UHKUCKUOKUNKuhj+ubh,Uch(}r/h.h/]Rr0ubGjG?jG?uhNhU!guanine phosphoribosyltransferaser1hEG@@hFGh}r2hHh/]r3(j)r4}r5(hNjKhNhUhptr6h}r7jhUSTM0170r8h Nh"NjKh,Nh(}r9jU+h.h/]Rr:ubj)r;}r<(hNjKhNhUgptr=h}r>jhUSTM0317r?h Nh"NjKh,Nh(}r@jU+h.h/]RrAubeRrBhUGUAPRTrChKGhLhMhNhNU( STM0317 or STM0170 )rDh(}rEhPNubh)rF}rG(h UTransport Inner MembranerHh }rI(h)rJ}rK(hNhNhUGuaninerLh}rM(UCHEBI]rNU16235rOaUKEGG]rPUC00242rQaUPUBCHEM]rRU3541rSauhUgua_prThUEh Kh!Gh"h#)rU}rV(hNh"UC5H5N5OrWh}rXh(}rYh*}rZ(UHKUCKUOKUNKuhjWubh,Uph(}r[h.h/]Rr\ubGjGjG?jG?uhNhU2guanine transport in via proton symport periplasm r]hEG@@hFGh}r^hHh/]r_j!aRr`hUGUAt2pprahKGhLhMhNhNUSTM3747rbh(}rchPNubh)rd}re(h UTransport Outer Membranerfh }rg(j1iGjJG?uhNhU;Guanine transport via diffusion extracellular to periplasm rhhEG@@hFG@h}rihHh/]rjjd"aRrkhUGUAtexrlhKGhLhMhNhNUSTM0413rmh(}rnhPNubh)ro}rp(h UTransport Inner Membranerqh }rr(jG?jJGuhNhU*Guanine transport via diffusion periplasm rshEG@@hFG@h}rthHh/]RruhUGUAtpprvhKGhLhMhNhNUh(}rwhPNubh)rx}ry(h UAlternate Carbon Metabolismrzh }r{(jG?jG?jGj)GuhNhU.Glucuronate 1 phosphate phosphatase periplasm r|hEG@@hFGh}r}hHh/]Rr~hUGUR1PPpprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jiiGh)r}r(hNhNhUHydrogen-peroxiderh}r(UCHEBI]rU16240raUKEGG]rUC00027raUPUBCHEM]rU3329rauhUh2o2_prhUEh Kh!Gh"h#)r}r(hNh"UH2O2rh}rh(}rh*}r(UHKUOKuhjubh,Uph(}rh.h/]RrubG?uhNhU3hydrogen peroxide transport via diffusion external rhEG@@hFG@h}rhHh/]r(jjjjeRrhUH2O2texrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membranerh }r(j)G?jiGuhNhU7H2O transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjj)r}r(hNjKhNhUyshArh}rjhUSTM4016rh Nh"NjKh,Nh(}rjU+h.h/]RrubjFjeRrhUH2OtexrhKGhLhMhNhNUJ( STM1473 or STM0999 or STM2267 or STM0320 or s0001 or STM4016 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j)GjZG?uhNhU&H2O transport via diffusion periplasm rhEG@@hFG@h}rhHh/]rjFaRrhUH2OtpprhKGhLhMhNhNUs0001rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jYGjpGGjG@jxG?uhNhUHydrogen sulfide oxidationrhEG@@hFGh}rhHh/]Rr—hUH2SOr×hKGhLhMhNhNUh(}rėhPNubh)rŗ}rƗ(h UTransport Inner MembranerǗh }rȗ(jpGGh)rɗ}rʗ(hNhNhUHydrogen-sulfider˗h}r̗(UCHEBI]r͗U16136rΗaUKEGG]rϗUC00283rЗaUPUBCHEM]rїU3578rҗauhUh2s_prӗhUEh Kh!Gh"h#)rԗ}r՗(hNh"UH2Sr֗h}rחh(}rؗh*}rٗ(UHKUSKuhj֗ubh,Uph(}rڗh.h/]RrۗubG?uhNhUh2s transport periplasm rܗhEG@@hFGh}rݗhHh/]rޗjFaRrߗhUH2St1pprhKGhLhMhNhNUs0001rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jiGjɗG?uhNhU7h2s transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUH2StexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUH2rh}r(UCHEBI]rU18276raUKEGG]rUC00282raUPUBCHEM]rU3577rauhUh2_prhUEh Kh!Gh"h#)r}r(hNh"UH2rh}rh(}rh*}rUHKshjubh,Uph(}rh.h/]RrubG?jMiGuhNhUaUKEGG]r?UC05269r@aUPUBCHEM]rAU7656rBauhU3ohcoa_crChUEh Jh!Gh"h#)rD}rE(hNh"UC27H40N7O18P3SrFh}rGh(}rHh*}rI(UCKUHK(UOKUNKUPKUSKuhjFubh,Uch(}rJh.h/]RrKubG?j G?jG?j[GuhNhU23 hydroxyacyl CoA dehydrogenase 3 oxohexanoyl CoA rLhEG@@hFGh}rMhHh/]rN(j[j[eRrOhUHACD2irPhKGhLhMhNhNU( STM3983 or STM2388 )rQh(}rRhPNubh)rS}rT(h UMembrane Lipid MetabolismrUh }rV(j G?h)rW}rX(hNhNhU3-Oxooctanoyl-CoArYh}rZ(UCHEBI]r[U28264r\aUKEGG]r]UC05267r^aUPUBCHEM]r_U7654r`auhU3oocoa_crahUEh Jh!Gh"h#)rb}rc(hNh"UC29H44N7O18P3Srdh}reh(}rfh*}rg(UCKUHK,UOKUNKUPKUSKuhjdubh,Uch(}rhh.h/]RriubG?jG?j[Gj GuhNhU23 hydroxyacyl CoA dehydrogenase 3 oxooctanoyl CoA rjhEG@@hFGh}rkhHh/]rl(j[j[eRrmhUHACD3irnhKGhLhMhNhNU( STM2388 or STM3983 )roh(}rphPNubh)rq}rr(h UMembrane Lipid Metabolismrsh }rt(j Gh)ru}rv(hNhNhU3-Oxodecanoyl-CoArwh}rx(UCHEBI]ryU28528rzaUKEGG]r{UC05265r|aUPUBCHEM]r}U7652r~auhU3odcoa_crhUEh Jh!Gh"h#)r}r(hNh"UC31H48N7O18P3Srh}rh(}rh*}r(UCKUHK0UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubG?j[GjG?j G?uhNhU23 hydroxyacyl CoA dehydrogenase 3 oxodecanoyl CoA rhEG@@hFGh}rhHh/]r(j[j[eRrhUHACD4irhKGhLhMhNhNU( STM3983 or STM2388 )rh(}rhPNubh)r}r(h UMembrane Lipid Metabolismrh }r(j[Gj Gj G?jG?h)r}r(hNhNhU3-Oxododecanoyl-CoArh}r(UCHEBI]rU27868raUKEGG]rUC05263raUPUBCHEM]rU7650rauhU 3oddcoa_crhUEh Jh!Gh"h#)r}r(hNh"UC33H52N7O18P3Srh}rh(}rh*}r(UCK!UHK4UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubG?uhNhU43 hydroxyacyl CoA dehydrogenase 3 oxododecanoyl CoA rhEG@@hFGh}rhHh/]r(j[j[eRrhUHACD5irhKGhLhMhNhNU( STM3983 or STM2388 )rh(}rhPNubh)r}r(h UMembrane Lipid Metabolismrh }r(j G?j Gj\GjG?h)r}r(hNhNhU3-Oxotetradecanoyl-CoArh}r(UCHEBI]rU28726raUKEGG]rUC05261raUPUBCHEM]rU7648rauhU 3otdcoa_crhUEh Jh!Gh"h#)r}r(hNh"UC35H56N7O18P3Srh}rh(}rh*}r(UCK#UHK8UOKUNKUPKUSKuhjubh,Uch(}r˜h.h/]RrØubG?uhNhU73 hydroxyacyl CoA dehydrogenase 3 oxotetradecanoyl CoA rĘhEG@@hFGh}rŘhHh/]rƘ(j[j[eRrǘhUHACD6irȘhKGhLhMhNhNU( STM3983 or STM2388 )rɘh(}rʘhPNubh)r˘}r̘(h UMembrane Lipid Metabolismr͘h }rΘ(h)rϘ}rИ(hNhNhU3-Oxohexadecanoyl-CoArјh}rҘ(UCHEBI]rӘU15491rԘaUKEGG]r՘UC05259r֘aUPUBCHEM]rטU7646rؘauhU 3ohdcoa_cr٘hUEh Jh!Gh"h#)rژ}rۘ(hNh"UC37H60N7O18P3Srܘh}rݘh(}rޘh*}rߘ(UCK%UHKhEG@@hFG@h}r?hHh/]r@(jjjjeRrAhU HCINNMtexrBhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rCh(}rDhPNubh)rE}rF(h U UnassignedrGh }rH(jGjZGjG?jG?uhNhUHCO3 equilibration reactionrIhEG@@hFG@h}rJhHh/]rKj)rL}rM(hNjKhNhUyadFrNh}rOjhUSTM0171rPh Nh"NjKh,Nh(}rQjU+h.h/]RrRubaRrShUHCO3ErThKGhLhMhNhNjPh(}rUhPNubh)rV}rW(h UTransport Outer MembranerXh }rY(j jGj{G?uhNhUZHexadecanoate transport via facilitated irreversible diffusion extracellular to periplasm rZhEG@@hFGh}r[hHh/]r\jMaRr]hUHDCAtexir^hKGhLhMhNhNUSTM2391r_h(}r`hPNubh)ra}rb(h UTransport Outer Membranerch }rd(j{G?j%jGuhNhUZHexadecenoate transport via facilitated irreversible diffusion extracellular to periplasm rehEG@@hFGh}rfhHh/]rgjMaRrhhU HDCEAtexirihKGhLhMhNhNUSTM2391rjh(}rkhPNubh)rl}rm(h UMembrane Lipid Metabolismrnh }ro(jzGjG?uhNhU(hexadecenoyl coa cis trans isomerizationrphEG@@hFGh}rqhHh/]rrj[aRrshUHDCOAIrthKGhLhMhNhNUSTM3983ruh(}rvhPNubh)rw}rx(h U*Cofactor and Prosthetic Group Biosynthesisryh }rz(j%GjxGjZGh)r{}r|(hNhNhUHeme-Or}h}r~(UCHEBI]rU0aUKEGG]rUC15672raUPUBCHEM]rU47204998rauhUhemeO_crhUEh Jh!Gh"h#)r}r(hNh"U C49H56FeN4O5rh}rh(}rh*}r(UHK8UCK1UFeKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?uhNhUHeme O synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcyoErh}rjhUSTM0439rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUHEMEOSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(h)r}r(hNhNhUheptosyl-heptosyl-kdo2-lipidArh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUhhlipa_crhUEh Jh!Gh"h#)r}r(hNh"UC124H220N2O51P2rh}rh(}rh*}r(UHKUCK|UPKUOK3UNKuhjubh,Uch(}rh.h/]RrubGj4G?jGGjG?h)r}r(hNhNhU%phospho-heptosyl-heptosyl-kdo2-lipidArh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU phhlipa_crhUEh Jh!Gh"h#)r}r(hNh"UC124H219N2O54P3rh}rh(}rh*}r(UHKUCK|UPKUOK6UNKuhjubh,Uch(}rh.h/]RrubG?uhNhU(LPS heptose kinase I LPS core synthesis rhEG@@hFGh}rhHh/]rj)r}r™(hNjKhNhUrfaPrÙh}ręjhUSTM3721rřh Nh"NjKh,Nh(}rƙjU+h.h/]RrǙubaRrșhUHEPK1rəhKGhLhMhNhNjřh(}rʙhPNubh)r˙}r̙(h U)Lipopolysaccharide Biosynthesis Recyclingr͙h }rΙ(jGGjG?j4G?h)rϙ}rЙ(hNhNhU.heptosyl-phospho-heptosyl-heptosyl-kdo2-lipidArљh}rҙ(UCHEBI]rәU0aUKEGG]rԙU0aUPUBCHEM]rՙU0auhU hphhlipa_cr֙hUEh Jh!Gh"h#)rי}rؙ(hNh"UC131H231N2O60P3rٙh}rڙh(}rۙh*}rܙ(UHKUCKUPKUOKhPNubh)r?}r@(h U)Lipopolysaccharide Biosynthesis RecyclingrAh }rB(ju%Gj4G?jAG?jG?jčGuhNhU*heptosyltransferase IV LPS core synthesis rChEG@@hFGh}rDhHh/]rEj)rF}rG(hNjKhNhUrfaKrHh}rIjhUSTM3714rJh Nh"NjKh,Nh(}rKjU+h.h/]RrLubaRrMhUHEPT4rNhKGhLhMhNhNjJh(}rOhPNubh)rP}rQ(h U*Cofactor and Prosthetic Group BiosynthesisrRh }rS(j4G?h)rT}rU(hNhNhU"4-Methyl-5-2-phosphoethyl-thiazolerVh}rW(UCHEBI]rXU17857rYaUKEGG]rZUC04327r[aUPUBCHEM]r\U6980r]auhU4mpetz_cr^hUEh Jh!Gh"h#)r_}r`(hNh"U C6H8NO4PSrah}rbh(}rch*}rd(UCKUHKUOKUNKUPKUSKuhjaubh,Uch(}reh.h/]RrfubG?jGGjG?h)rg}rh(hNhNhU"4-Methyl-5-2-hydroxyethyl-thiazolerih}rj(UCHEBI]rkU17957rlaUKEGG]rmUC04294rnaUPUBCHEM]roU6954rpauhU4mhetz_crqhUEh Kh!Gh"h#)rr}rs(hNh"UC6H9NOSrth}ruh(}rvh*}rw(UHK UCKUSKUOKUNKuhjtubh,Uch(}rxh.h/]RryubGuhNhUhydroxyethylthiazole kinaserzhEG@@hFGh}r{hHh/]r|j)r}}r~(hNjKhNhUthiMrh}rjhUSTM2147rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUHETZKrhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycolysisGluconeogenesisrh }r(jJ,GjGGj}G?j4G?jG?uhNhUhexokinase D glucoseATP rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUglkrh}rjhUSTM2403rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUHEX1rhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhUD-Mannose-6-phosphaterh}r(UCHEBI]rU17369raUKEGG]rUC00275raUPUBCHEM]rU3572rauhUman6p_crhUEh Jh!Gh"h#)r}r(hNh"UC6H11O9Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}rh.h/]RrubG?j\GjGGj4G?jG?uhNhUhexokinase D mannoseATP rhEG@@hFGh}rhHh/]RrhUHEX4rhKGhLhMhNhNUh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jyGjGGjyG?j4G?jG?uhNhUhexokinase D fructoseATP rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUyajFrh}rjhUSTM0393rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRršhUHEX7rÚhKGhLhMhNhNjh(}rĚhPNubh)rŚ}rƚ(h U&Inorganic Ion Transport and Metabolismrǚh }rȚ(j4G?jGGjZGjG?h)rɚ}rʚ(hNhNhUHg2r˚h}r̚(UCHEBI]r͚U16793rΚaUKEGG]rϚUC00703rКaUPUBCHEM]rњU3970rҚauhUhg2_prӚhUEh Kh!Gh"h#)rԚ}r՚(hNh"UHgr֚h}rךh(}rؚh*}rٚj֚Kshj֚ubh,Uph(}rښh.h/]RrۚubG?jG?h)rܚ}rݚ(hNhNhUHg2rޚh}rߚ(UCHEBI]rU16793raUKEGG]rUC00703raUPUBCHEM]rU3970rauhUhg2_crhUEh Kh!Gh"h#)r}r(hNh"UHgrh}rh(}rh*}rjKshjubh,Uch(}rh.h/]RrubGuhNhU&Mercury Hg2 ABC transporter periplasm rhEG@@hFGh}rhHh/]rj}:aRrhUHG2abcpprhKGhLhMhNhNUSTM3576rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jAjGjɚG?uhNhU?mercury Hg2 transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUHG2texrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UHistidine Metabolismrh }r(j Gh)r}r(hNhNhU L-Histidinolrh}r(UCHEBI]r U16255r aUKEGG]r UC00860r aUPUBCHEM]r U4117rauhUhistd_crhUEh Kh!Gh"h#)r}r(hNh"UC6H12N3Orh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubGjZGjG@j G@jxG?uhNhUhistidinol dehydrogenaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhisDrh}rjhUSTM2072rh Nh"NjKh,Nh(}r jU+h.h/]Rr!ubaRr"hUHISTDr#hKGhLhMhNhNjh(}r$hPNubh)r%}r&(h UHistidine Metabolismr'h }r((h)r)}r*(hNhNhUL-Histidinol-phosphater+h}r,(UCHEBI]r-U16996r.aUKEGG]r/UC01100r0aUPUBCHEM]r1U4334r2auhUhisp_cr3hUEh Jh!Gh"h#)r4}r5(hNh"U C6H11N3O4Pr6h}r7h(}r8h*}r9(UHK UCKUPKUOKUNKuhj6ubh,Uch(}r:h.h/]Rr;ubGjG?jZGjG?uhNhUhistidinol phosphataser<hEG@@hFGh}r=hHh/]r>j)r?}r@(hNjKhNhUhisBrAh}rBjhUSTM2074rCh Nh"NjKh,Nh(}rDjU+h.h/]RrEubaRrFhUHISTPrGhKGhLhMhNhNjCh(}rHhPNubh)rI}rJ(h U tRNA ChargingrKh }rL(jGGh)rM}rN(hNhNhUtRNA-HisrOh}rP(UCHEBI]rQU29178rRaUKEGG]rSUC01643rTaUPUBCHEM]rUU4792rVauhU trnahis_crWhUEh Kh!Gh"h#)rX}rY(hNh"URh}rZh(}r[h*}r\URKshURubh,Uch(}r]h.h/]Rr^ubGjG?jxGh)r_}r`(hNhNhUL-Histidyl-tRNA-Hisrah}rb(UCHEBI]rcU29155rdaUKEGG]reUC02988rfaUPUBCHEM]rgU5897rhauhU histrna_crihUEh Kh!Gh"h#)rj}rk(hNh"UC6H8N3ORrlh}rmh(}rnh*}ro(UHKUCKURKUOKUNKuhjlubh,Uch(}rph.h/]RrqubG?jG?uhNhUHistidyl tRNA synthetaserrhEG@@hFGh}rshHh/]rtj)ru}rv(hNjKhNhUhisSrwh}rxjhUSTM2522ryh Nh"NjKh,Nh(}rzjU+h.h/]Rr{ubaRr|hUHISTRSr}hKGhLhMhNhNjyh(}r~hPNubh)r}r(h UTransport Inner Membranerh }r(jGGjG?jZGjG?j4G?jxG?h)r}r(hNhNhU L-Histidinerh}r(UCHEBI]rU15971raUKEGG]rUC00135raUPUBCHEM]rU3435rauhUhis__L_prhUEh Kh!Gh"h#)r}r(hNh"UC6H9N3O2rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uph(}rh.h/]RrubGuhNhU/L histidine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j{2j2j)r}r(hNjKhNhUhisJrh}rjhUSTM2354rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj2eRrhUHISabcpprhKGhLhMhNhNU5( STM2354 and STM2352 and STM2351 and STM2353 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjG?jxG?jGuhNhU>L histidine reversible transport via proton symport periplasm rhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUaroPrh}rjhUSTM0150rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUHISt2rpprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j]jGjG?uhNhU?L histidine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUHIStexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisr›h }rÛ(h)rě}rś(hNhNhUPorphobilinogenrƛh}rǛ(UCHEBI]rțU17381rɛaUKEGG]rʛUC00931r˛aUPUBCHEM]r̛U4184r͛auhUppbng_crΛhUEh Jh!Gh"h#)rϛ}rЛ(hNh"U C10H13N2O4rћh}rқh(}rӛh*}rԛ(UHK UCK UOKUNKuhjћubh,Uch(}r՛h.h/]Rr֛ubGjZGh)rכ}r؛(hNhNhUHydroxymethylbilanerٛh}rڛ(UCHEBI]rۛU16645rܛaUKEGG]rݛUC01024rޛaUPUBCHEM]rߛU4269rauhUhmbil_crhUEh Jh!Gh"h#)r}r(hNh"U C40H38N4O17rh}rh(}rh*}r(UHK&UCK(UOKUNKuhjubh,Uch(}rh.h/]RrubG?jlG@uhNhUhydroxymethylbilane synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhemCrh}rjhUSTM3938rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUHMBSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j G?jGGh)r}r(hNhNhU*4-Amino-5-hydroxymethyl-2-methylpyrimidinerh}r(UCHEBI]rU16892raUKEGG]rUC01279raUPUBCHEM]rU4498rauhU4ahmmp_crhUEh Kh!Gh"h#)r}r(hNh"UC6H9N3Orh}r h(}r h*}r (UHK UCKUOKUNKuhjubh,Uch(}r h.h/]Rr ubGj4G?jG?uhNhU#hydroxymethylpyrimidine kinase ATP rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUthiDrh}rjhUSTM2146rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUpdxKrh}rjhUSTM2435rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUHMPK1r hKGhLhMhNhNU( STM2146 or STM2435 )r!h(}r"hPNubh)r#}r$(h UTransport Inner Membraner%h }r&(jGh)r'}r((hNhNhU L-Homoseriner)h}r*(UCHEBI]r+U15699r,aUKEGG]r-UC00263r.aUPUBCHEM]r/U3561r0auhUhom__L_cr1hUEh Kh!Gh"h#)r2}r3(hNh"UC4H9NO3r4h}r5h(}r6h*}r7(UHK UCKUOKUNKuhj4ubh,Uch(}r8h.h/]Rr9ubGh)r:}r;(hNhNhU L-Homoseriner<h}r=(UCHEBI]r>U15699r?aUKEGG]r@UC00263rAaUPUBCHEM]rBU3561rCauhUhom__L_prDhUEh Kh!Gh"h#)rE}rF(hNh"UC4H9NO3rGh}rHh(}rIh*}rJ(UHK UCKUOKUNKuhjGubh,Uph(}rKh.h/]RrLubG?jG?uhNhU,L homoserineserine efflux via proton symportrMhEG@@hFGh}rNhHh/]rO(j)rP}rQ(hNjKhNhUybiFrRh}rSjhUSTM0832rTh Nh"NjKh,Nh(}rUjU+h.h/]RrVubj)rW}rX(hNjKhNhUrhtBrYh}rZjhUSTM3960r[h Nh"NjKh,Nh(}r\jU+h.h/]Rr]ubeRr^hUHOMt2ppr_hKGhLhMhNhNU( STM0832 or STM3960 )r`h(}rahPNubh)rb}rc(h UTransport Outer Membrane Porinrdh }re(jyjGj:G?uhNhU@L homoserine transport via diffusion extracellular to periplasm rfhEG@@hFG@h}rghHh/]rh(jjjjeRrihUHOMtexrjhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rkh(}rlhPNubh)rm}rn(h U*Cofactor and Prosthetic Group Biosynthesisroh }rp(j,RG?jG?jQGjGGjG?uhNhU/6 hydroxymethyl dihydropterin pyrophosphokinaserqhEG@@hFGh}rrhHh/]rsj)rt}ru(hNjKhNhUfolKrvh}rwjhUSTM0183rxh Nh"NjKh,Nh(}ryjU+h.h/]RrzubaRr{hUHPPK2r|hKGhLhMhNhNjxh(}r}hPNubh)r~}r(h UTransport Outer Membrane Porinrh }r(j_Gh)r}r(hNhNhU3-3-hydroxy-phenyl-propionaterh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU3hpppn_prhUEh Jh!Gh"h#)r}r(hNh"UC9H9O3rh}rh(}rh*}r(UHK UCK UOKuhjubh,Uph(}rh.h/]RrubG?uhNhUP3 3 hydroxyphenyl propionate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUHPPPNtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhUHydroxypyruvaterh}r(UCHEBI]rU30841raUKEGG]rUC00168raUPUBCHEM]rU3468rauhUhpyr_crhUEh Jh!Gh"h#)r}r(hNh"UC3H3O4rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGjG?uhNhUhydroxypyruvate isomeraserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUgiprh}rjhUSTM0518rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUHPYRIrhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j G?jGj~G?jGj GuhNhUHydroxypyruvate reductase NADH rhEG@@hFGh}rœhHh/]rÜ(j4 j2eRrĜhUHPYRRxrŜhKGhLhMhNhNU( STM1135 or STM3646 )rƜh(}rǜhPNubh)rȜ}rɜ(h UAlternate Carbon Metabolismrʜh }r˜(jB G?jU Gj~G?jGjGuhNhU Hydroxypyruvate reductase NADPH r̜hEG@@hFGh}r͜hHh/]rΜ(j4 j2eRrϜhUHPYRRyrМhKGhLhMhNhNU( STM3646 or STM1135 )rќh(}rҜhPNubh)rӜ}rԜ(h UThreonine and Lysine Metabolismr՜h }r֜(jB GjU G?j2G?jG?j'GuhNhUhomoserine dehydrogenase NADPH rלhEG@@hFG@h}r؜hHh/]rٜ(j25j95eRrڜhUHSDyrۜhKGhLhMhNhNU( STM4101 or STM0002 )rܜh(}rݜhPNubh)rޜ}rߜ(h UThreonine and Lysine Metabolismrh }r(j4G?h)r}r(hNhNhUO-Phospho-L-homoserinerh}r(UCHEBI]rU15961raUKEGG]rUC01102raUPUBCHEM]rU4336rauhUphom_crhUEh Jh!Gh"h#)r}r(hNh"UC4H8NO6Prh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jGGjG?j'GuhNhUhomoserine kinaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUthrBrh}rjhUSTM0003rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUHSKrhKGhLhMhNhNjh(}rhPNubh)r}r(h UMethionine Metabolismrh }r(jo(Gj'GjG?h)r}r(hNhNhUO-Succinyl-L-homoserinerh}r (UCHEBI]r U16160r aUKEGG]r UC01118r aUPUBCHEM]rU4349rauhUsuchms_crhUEh Jh!Gh"h#)r}r(hNh"UC8H12NO6rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhU homoserine O succinyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmetArh}rjhUSTM4182r h Nh"NjKh,Nh(}r!jU+h.h/]Rr"ubaRr#hUHSSTr$hKGhLhMhNhNj h(}r%hPNubh)r&}r'(h UHistidine Metabolismr(h }r)(jGjG?h)r*}r+(hNhNhU%3-Imidazol-4-yl-2-oxopropyl-phosphater,h}r-(UCHEBI]r.U16426r/aUKEGG]r0UC01267r1aUPUBCHEM]r2U4486r3auhUimacp_cr4hUEh Jh!Gh"h#)r5}r6(hNh"U C6H7N2O5Pr7h}r8h(}r9h*}r:(UHKUCKUPKUOKUNKuhj7ubh,Uch(}r;h.h/]Rr<ubGj)G?uhNhU!histidinol phosphate transaminaser=hEG@@hFGh}r>hHh/]r?j)r@}rA(hNjKhNhUhisCrBh}rCjhUSTM2073rDh Nh"NjKh,Nh(}rEjU+h.h/]RrFubaRrGhUHSTPTrHhKGhLhMhNhNjDh(}rIhPNubh)rJ}rK(h UTransport Outer Membrane PorinrLh }rM(j|G?jjGuhNhU=Hexanoate transport via diffusion extracellular to periplasm rNhEG@@hFG@h}rOhHh/]rP(jjjjeRrQhUHXAtexrRhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rSh(}rThPNubh)rU}rV(h UNucleotide Salvage PathwayrWh }rX(j#G?j)#GjG?h)rY}rZ(hNhNhU Hypoxanthiner[h}r\(UCHEBI]r]U17368r^aUKEGG]r_UC00262r`aUPUBCHEM]raU3560rbauhUhxan_crchUEh Kh!Gh"h#)rd}re(hNh"UC5H4N4Orfh}rgh(}rhh*}ri(UHKUCKUOKUNKuhjfubh,Uch(}rjh.h/]RrkubGuhNhU4hypoxanthine phosphoribosyltransferase Hypoxanthine rlhEG@@hFGh}rmhHh/]rn(j4j;eRrohUHXPRTrphKGhLhMhNhNU( STM0317 or STM0170 )rqh(}rrhPNubh)rs}rt(h U*Cofactor and Prosthetic Group Biosynthesisruh }rv(h)rw}rx(hNhNhU Pyridoxamineryh}rz(UCHEBI]r{U16410r|aUKEGG]r}UC00534r~aUPUBCHEM]rU3816rauhUpydam_crhUEh Kh!Gh"h#)r}r(hNh"U C8H13N2O2rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?j)GjZGjG?uhNhUhypothetical enymerhEG@@hFGh}rhHh/]RrhUHYPOErhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhU Hypoxanthinerh}r(UCHEBI]rU17368raUKEGG]rUC00262raUPUBCHEM]rU3560rauhUhxan_prhUEh Kh!Gh"h#)r}r(hNh"UC5H4N4Orh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?jjGuhNhU@Hypoxanthine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUHYXNtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjYG?uhNhU!Hypoxanthine transport periplasm rhEG@@hFG@h}rhHh/]RrhUHYXNtpprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?jiGuhNhU:proton transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUHtexrhKGhLhMhNhNU2( STM0999 or STM1473 or STM2267 or STM0320 )rh(}rhPNubh)r}r(h UCitric Acid CyclerÝh }rĝ(jB GjG?jGjU G?jG?uhNhUisocitrate dehydrogenase NADP rŝhEG@@hFG@h}rƝhHh/]rǝj)rȝ}rɝ(hNjKhNhUicdArʝh}r˝jhUSTM1238r̝h Nh"NjKh,Nh(}r͝jU+h.h/]RrΝubaRrϝhUICDHyrrНhKGhLhMhNhNj̝h(}rѝhPNubh)rҝ}rӝ(h U*Cofactor and Prosthetic Group Biosynthesisrԝh }r՝(j Gh)r֝}rם(hNhNhU Isochorismater؝h}rٝ(UCHEBI]rڝU 17582 29780r۝aUKEGG]rܝUC00885rݝaUPUBCHEM]rޝU4141rߝauhUichor_crhUEh Jh!Gh"h#)r}r(hNh"UC10H8O6rh}rh(}rh*}r(UHKUCK UOKuhjubh,Uch(}rh.h/]RrubG?uhNhUisochorismate synthaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUmenFrh}rjhUSTM2310rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUICHORSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j֝G?j GuhNhUIsochorismate SynthaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUentCrh}rjhUSTM0595rh Nh"NjKh,Nh(}rjU+h.h/]RrubjeRrhUICHORSirhKGhLhMhNhNU( STM0595 or STM2310 )rh(}rhPNubh)r}r (h U*Cofactor and Prosthetic Group Biosynthesisr h }r (jZGj֝GjmG?jVPG?uhNhUisochorismataser hEG@@hFGh}r hHh/]rj)r}r(hNjKhNhUentBrh}rjhUSTM0597rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUICHORTrhKGhLhMhNhNjh(}rhPNubh)r}r(h UAnaplerotic Reactionsrh }r(jsG?j5G?jGuhNhUIsocitrate lyaserhEG@@hFGh}rhHh/]rj)r }r!(hNjKhNhUaceAr"h}r#jhUSTM4184r$h Nh"NjKh,Nh(}r%jU+h.h/]Rr&ubaRr'hUICLr(hKGhLhMhNhNj$h(}r)hPNubh)r*}r+(h UAlternate Carbon Metabolismr,h }r-(j G?jGjs G?jGj GuhNhUL idonate 5 dehydrogenaser.hEG@@hFG@h}r/hHh/]r0j)r1}r2(hNjKhNhUidnDr3h}r4jhUSTM4484r5h Nh"NjKh,Nh(}r6jU+h.h/]Rr7ubaRr8hUIDONDr9hKGhLhMhNhNj5h(}r:hPNubh)r;}r<(h UAlternate Carbon Metabolismr=h }r>(jB G?js G?jGjU GjGuhNhU L indonate 5 dehydrogenase NADP r?hEG@@hFGh}r@hHh/]rAj1aRrBhUIDOND2rChKGhLhMhNhNUSTM4484rDh(}rEhPNubh)rF}rG(h UTransport Inner MembranerHh }rI(jGjs G?h)rJ}rK(hNhNhU L-IdonaterLh}rM(UCHEBI]rNU17796rOaUKEGG]rPUC00770rQaUPUBCHEM]rRU4032rSauhU idon__L_prThUEh Jh!Gh"h#)rU}rV(hNh"UC6H11O7rWh}rXh(}rYh*}rZ(UHK UCKUOKuhjWubh,Uph(}r[h.h/]Rr\ubGjG?uhNhU(UCHEBI]r?U17191r@aUKEGG]rAUC00407rBaUPUBCHEM]rCU3697rDauhUile__L_prEhUEh Kh!Gh"h#)rF}rG(hNh"UC6H13NO2rHh}rIh(}rJh*}rK(UHK UCKUOKUNKuhjHubh,Uph(}rLh.h/]RrMubGj*xG?j4G?jZGjGGjG?jG?uhNhU0L isoleucine transport via ABC system periplasm rNhEG@@hFGh}rOhHh/]rP(j*jk*j*jr*jy*eRrQhUILEabcpprRhKGhLhMhNhNUC( STM3560 and STM3561 and STM3563 and STM3567 and STM3562 )rSh(}rThPNubh)rU}rV(h UTransport Inner MembranerWh }rX(j;GjGjG?j*xG?uhNhU?L isoleucine reversible transport via proton symport periplasm rYhEG@@hFG@h}rZhHh/]r[j)r\}r](hNjKhNhUbrnQr^h}r_jhUSTM0399r`h Nh"NjKh,Nh(}rajU+h.h/]RrbubaRrchUILEt2rpprdhKGhLhMhNhNj`h(}rehPNubh)rf}rg(h UTransport Outer Membrane Porinrhh }ri(jjGj;G?uhNhU@L isoleucine transport via diffusion extracellular to periplasm rjhEG@@hFG@h}rkhHh/]rl(jjjjeRrmhUILEtexrnhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )roh(}rphPNubh)rq}rr(h U"Purine and Pyrimidine Biosynthesisrsh }rt(j#GjZGj'G?uhNhUIMP cyclohydrolaseruhEG@@hFG@h}rvhHh/]rwj(aRrxhUIMPCryhKGhLhMhNhNUSTM4176rzh(}r{hPNubh)r|}r}(h U"Purine and Pyrimidine Biosynthesisr~h }r(j G?j GjG?jZGjG?j#GuhNhUIMP dehydrogenaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUguaBrh}rjhUSTM2511rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUIMPDrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jkGh)r}r(hNhNhUIMPrh}r(UCHEBI]rU17202raUKEGG]rUC00130raUPUBCHEM]rU3430rauhUimp_prhUEh Jh!Gh"h#)r}r(hNh"U C10H11N4O8Prh}rh(}rh*}r(UHK UCK UPKUOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhU7IMP transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUIMPtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jG?h)r}r(hNhNhUIndolerh}r(UCHEBI]rU16881raUKEGG]rUC00463raUPUBCHEM]rU3747rauhUindole_crhUEh Kh!Gh"h#)r}r(hNh"UC8H7Nrh}rh(}rh*}r(UHKUCKUNKuhjubh,Uch(}rh.h/]RrubGjGh)rŸ}rß(hNhNhUIndolerğh}rş(UCHEBI]rƟU16881rǟaUKEGG]rȟUC00463rɟaUPUBCHEM]rʟU3747r˟auhUindole_pr̟hUEh Kh!Gh"h#)r͟}rΟ(hNh"UC8H7Nrϟh}rПh(}rџh*}rҟ(UHKUCKUNKuhjϟubh,Uph(}rӟh.h/]RrԟubG?uhNhU;Indole transport via proton symport irreversible periplasm r՟hEG@@hFGh}r֟hHh/]rן(j)r؟}rٟ(hNjKhNhUacrErڟh}r۟jhUSTM3390rܟh Nh"NjKh,Nh(}rݟjU+h.h/]Rrޟubj)rߟ}r(hNjKhNhUacrFrh}rjhUSTM3391rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU INDOLEt2pprhKGhLhMhNhNU( STM3390 and STM3391 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jG?jGjG?jŸGuhNhU9Indole transport via proton symport reversible periplasm rhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUmtrrh}rjhUSTM3279rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU INDOLEt2rpprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jŸG?j!kGuhNhU:Indole transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU INDOLEtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r (jZGj"G?jK GjYG?uhNhUInosine hydrolaser hEG@@hFGh}r hHh/]r j"aRr hUINSHrhKGhLhMhNhNUSTM0051rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jGGjK GjG?j4G?j#G?uhNhUinsosine kinaserhEG@@hFGh}rhHh/]rjaRrhUINSKrhKGhLhMhNhNUSTM0491rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j=kGjG?uhNhUhEG@@hFGh}r?hHh/]r@j'"aRrAhUINSt2pprBhKGhLhMhNhNUSTM3113rCh(}rDhPNubh)rE}rF(h UTransport Inner MembranerGh }rH(j+GjK G?jGjG?uhNhU=inosine transport in via proton symport reversible periplasm rIhEG@@hFG@h}rJhHh/]rKj@"aRrLhUINSt2rpprMhKGhLhMhNhNUSTM2421rNh(}rOhPNubh)rP}rQ(h UTransport Outer MembranerRh }rS(j+G?jYkGuhNhU;inosine transport via diffusion extracellular to periplasm rThEG@@hFG@h}rUhHh/]rVjd"aRrWhUINStexrXhKGhLhMhNhNUSTM0413rYh(}rZhPNubh)r[}r\(h U*Cofactor and Prosthetic Group Biosynthesisr]h }r^(jSGjSG?uhNhU#isopentenyl diphosphate D isomeraser_hEG@@hFG@h}r`hHh/]raj)rb}rc(hNjKhNhUidirdh}rejhUSTM3039rfh Nh"NjKh,Nh(}rgjU+h.h/]RrhubaRrihUIPDDIrjhKGhLhMhNhNjfh(}rkhPNubh)rl}rm(h U*Cofactor and Prosthetic Group Biosynthesisrnh }ro(j G?jSGjZG?jSG?jGj GuhNhU<1 hydroxy 2 methyl 2 E butenyl 4 diphosphate reductase ipdp rphEG@@hFGh}rqhHh/]rrjSaRrshUIPDPSrthKGhLhMhNhNUSTM0049ruh(}rvhPNubh)rw}rx(h U(Valine Leucine and Isoleucine Metabolismryh }rz(j Gh)r{}r|(hNhNhU&3-Carboxy-2-hydroxy-4-methylpentanoater}h}r~(UCHEBI]rU35121raUKEGG]rUC04411raUPUBCHEM]rU7045rauhU3c2hmp_crhUEh Jh!Gh"h#)r}r(hNh"UC7H10O5rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubGj G?jG?h)r}r(hNhNhU"3-Carboxy-4-methyl-2-oxopentanoaterh}r(UCHEBI]rU1467raUKEGG]rUC04236raUPUBCHEM]rU6905rauhU3c4mop_crhUEh Jh!Gh"h#)r}r(hNh"UC7H8O5rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?uhNhU3 isopropylmalate dehydrogenaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUleuBrh}rjhUSTM0112rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUIPMDrhKGhLhMhNhNjh(}rhPNubh)r}r(h U(Valine Leucine and Isoleucine Metabolismrh }r(h)r}r(hNhNhU2-Isopropylmaleaterh}r(UCHEBI]rU17275raUKEGG]rUC02631raUPUBCHEM]rU5611rauhU2ippm_crhUEh Jh!Gh"h#)r}r(hNh"UC7H8O4rh}rh(}rh*}r (UHKUCKUOKuhjubh,Uch(}ràh.h/]RrĠubG?jZG?j{GuhNhU3 isopropylmalate dehydrataserŠhEG@@hFG@h}rƠhHh/]rǠ(j)rȠ}rɠ(hNjKhNhU-h}rʠjhUSTM0330rˠh Nh"NjKh,Nh(}r̠jU+h.h/]Rr͠ubj)rΠ}rϠ(hNjKhNhUleuDrРh}rѠjhUSTM0110rҠh Nh"NjKh,Nh(}rӠjU+h.h/]RrԠubj)rՠ}r֠(hNjKhNhU-h}rנjhUSTM0329rؠh Nh"NjKh,Nh(}r٠jU+h.h/]Rrڠubj)r۠}rܠ(hNjKhNhUleuCrݠh}rޠjhUSTM0111rߠh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUIPPMIarhKGhLhMhNhNU6( ( STM0110 and STM0111 ) or ( STM0329 and STM0330 ) )rh(}rhPNubh)r}r(h U(Valine Leucine and Isoleucine Metabolismrh }r(jGjZGh)r}r(hNhNhU&3-Carboxy-3-hydroxy-4-methylpentanoaterh}r(UCHEBI]rU 1178 35128raUKEGG]rUC02504raUPUBCHEM]rU5516rauhU3c3hmp_crhUEh Jh!Gh"h#)r}r(hNh"UC7H10O5rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubG?uhNhU2 isopropylmalate hydrataserhEG@@hFG@h}rhHh/]r(jȠj۠jՠjΠeRrhUIPPMIbrhKGhLhMhNhNU4( STM0110 and STM0111 ) or ( STM0329 and STM0330 )rh(}rhPNubh)r}r(h U(Valine Leucine and Isoleucine Metabolismrh }r(jGjG?jZGjG?jOGjG?uhNhU2 isopropylmalate synthaserhEG@@hFGh}r hHh/]r j)r }r (hNjKhNhUleuAr h}rjhUSTM0113rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUIPPSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUIsethionic-acidrh}r(UCHEBI]rU0aUKEGG]rUC05123raUPUBCHEM]r U7545r!auhUisetac_pr"hUEh Jh!Gh"h#)r#}r$(hNh"UC2H5O4Sr%h}r&h(}r'h*}r((UHKUCKUSKUOKuhj%ubh,Uph(}r)h.h/]Rr*ubG?jukGuhNhU?isethionate transport via diffusion extracellular to periplasm r+hEG@@hFG@h}r,hHh/]r-(jjjjeRr.hU ISETACtexr/hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r0h(}r1hPNubh)r2}r3(h UTransport Inner Membraner4h }r5(j4G?jGGh)r6}r7(hNhNhUKDO-2-lipid-IV-Ar8h}r9(UCHEBI]r:U0aUKEGG]r;UC06025r<aUPUBCHEM]r=U8297r>auhU kdo2lipid4_pr?hUEh Jh!Gh"h#)r@}rA(hNh"UC84H148N2O37P2rBh}rCh(}rDh*}rE(UHKUCKTUPKUOK%UNKuhjBubh,Uph(}rFh.h/]RrGubG?j\GjZGjG?jG?uhNhU4KDO 2 lipid IV A transport via ABC system periplasm rHhEG@@hFGh}rIhHh/]rJjAaRrKhU K2L4AabcpprLhKGhLhMhNhNUSTM0984rMh(}rNhPNubh)rO}rP(h UTransport Outer MembranerQh }rR(j6GjkG?uhNhUAKDO 2 lipid IV A transport via vector periplasm to extracellular rShEG@@hFGh}rThHh/]RrUhUK2L4AtexrVhKGhLhMhNhNUh(}rWhPNubh)rX}rY(h U(Valine Leucine and Isoleucine MetabolismrZh }r[(jG?jU G?jG?jOGjB GuhNhUhHh/]r?j)r@}rA(hNjKhNhUyrbIrBh}rCjhUSTM3316rDh Nh"NjKh,Nh(}rEjU+h.h/]RrFubaRrGhUKDOPPrHhKGhLhMhNhNjDh(}rIhPNubh)rJ}rK(h U)Lipopolysaccharide Biosynthesis RecyclingrLh }rM(jDGj*G?jZGjGjG?uhNhU53 deoxy D manno octulosonic acid 8 phosphate synthaserNhEG@@hFGh}rOhHh/]rPj)rQ}rR(hNjKhNhUkdsArSh}rTjhUSTM1772rUh Nh"NjKh,Nh(}rVjU+h.h/]RrWubaRrXhUKDOPSrYhKGhLhMhNhNjUh(}rZhPNubh)r[}r\(h UAlternate Carbon Metabolismr]h }r^(h)r_}r`(hNhNhUL-Xylulose-5-phosphaterah}rb(UCHEBI]rcU16593rdaUKEGG]reUC03291rfaUPUBCHEM]rgU6148rhauhU xu5p__L_crihUEh Jh!Gh"h#)rj}rk(hNh"UC5H9O8Prlh}rmh(}rnh*}ro(UHK UCKUOKUPKuhjlubh,Uch(}rph.h/]RrqubG?jGjG?jGuhNhU+3 keto L gulonate 6 phosphate decarboxylaserrhEG@@hFGh}rshHh/]rt(j)ru}rv(hNjKhNhUulaDrwh}rxjhUSTM4386ryh Nh"NjKh,Nh(}rzjU+h.h/]Rr{ubj)r|}r}(hNjKhNhUsgbHr~h}rjhUSTM3675rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUKG6PDCrhKGhLhMhNhNU( STM4386 or STM3675 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j=xG?j4G?h)r}r(hNhNhU potassiumrh}r(UCHEBI]rU29103raUKEGG]rUC00238raUPUBCHEM]rU3537rauhUk_prhUEh Kh!Gh"h#)r}r(hNh"UKh}rh(}rh*}rUKKshUKubh,Uph(}rh.h/]RrubGjGGjZGjG?jG?uhNhU$Potassium ABC transporter periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUkdpArh}rjhUSTM0706rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUkdpCrh}rjhUSTM0704rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUkdpBrh}rjhUSTM0705rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUKabcpprhKGhLhMhNhNU'( STM0706 and STM0705 and STM0704 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jGj=xG?jGjG?uhNhU4potassium transport in via proton symport periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUtrkDr¢h}râjhUSTM3880rĢh Nh"NjKh,Nh(}rŢjU+h.h/]RrƢubj)rǢ}rȢ(hNjKhNhUtrkArɢh}rʢjhUSTM3409rˢh Nh"NjKh,Nh(}r̢jU+h.h/]Rr͢ubj)r΢}rϢ(hNjKhNhUtrkHrТh}rѢjhUSTM3986rҢh Nh"NjKh,Nh(}rӢjU+h.h/]RrԢubj)rբ}r֢(hNjKhNhUsapDrעh}rآjhUSTM1695r٢h Nh"NjKh,Nh(}rڢjU+h.h/]RrۢubeRrܢhUKt2pprݢhKGhLhMhNhNU8( STM3880 or ( STM1695 and STM3409 and STM3986 ) )rޢh(}rߢhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j=xGjG?jG?jGuhNhU6potassium transport out via proton antiport periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUkefCrh}rjhUSTM0086rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj8j)r}r(hNjKhNhUmdfArh}rjhUSTM0866rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUkefBrh}rjhUSTM3457rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUKt3pprhKGhLhMhNhNU2( STM3457 or STM0086 or STM1771 or STM0866 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?jkGuhNhU=potassium transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUKtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r h(}r hPNubh)r }r (h U)Lipopolysaccharide Biosynthesis Recyclingr h }r(jdG?h)r}r(hNhNhU2undecaprenyl-phosphate-4-amino-4-deoxy-L-arabinoserh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUuLa4n_prhUEh Kh!Gh"h#)r}r(hNh"U C60H100N1O7P1rh}rh(}rh*}r(UHKdUCKhPNubh)r?}r@(h UMurein RecyclingrAh }rB(jMGj)G?jZGjKG?uhNhU8L alanyl gamma D glutamyl meso diaminopimelate hydrolaserChEG@@hFGh}rDhHh/]rEj)rF}rG(hNjKhNhUycjIrHh}rIjhUSTM1680rJh Nh"NjKh,Nh(}rKjU+h.h/]RrLubaRrMhULADGMDHrNhKGhLhMhNhNjJh(}rOhPNubh)rP}rQ(h UMethylglyoxal MetabolismrRh }rS(j G?jFGjGj Gh)rT}rU(hNhNhUD-LactaldehyderVh}rW(UCHEBI]rXU17167rYaUKEGG]rZUC00937r[aUPUBCHEM]r\U4189r]auhU lald__D_cr^hUEh Kh!Gh"h#)r_}r`(hNh"UC3H6O2rah}rbh(}rch*}rd(UHKUCKUOKuhjaubh,Uch(}reh.h/]RrfubG?uhNhU"D LactaldehydeNAD 1 oxidoreductaserghEG@@hFGh}rhhHh/]rij,aRrjhULALDO2xrkhKGhLhMhNhNUSTM4108rlh(}rmhPNubh)rn}ro(h UMurein Recyclingrph }rq(j)G?jZGjG?jo)GuhNhU$L alanyl gamma L glutamate peptidaserrhEG@@hFGh}rshHh/]rtj-aRruhULALGPrvhKGhLhMhNhNUSTM0316rwh(}rxhPNubh)ry}rz(h UMethylglyoxal Metabolismr{h }r|(jG?j G?jTGjGj GuhNhU1lacaldehyde reductase R propane 1 2 diol forming r}hEG@@hFG@h}r~hHh/]RrhULCARRrhKGhLhMhNhNUh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j G?j}GjG?jGj GuhNhU1lacaldehyde reductase S propane 1 2 diol forming rhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUfucOrh}rjhUSTM2973rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhULCARSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jkGh)r}r(hNhNhULactoserh}r(UCHEBI]rU36219raUKEGG]rUC00243raUPUBCHEM]rU3542rauhUlcts_prhUEh Kh!Gh"h#)r}r(hNh"U C12H22O11rh}rh(}rh*}r(UHKUCK UOK uhjubh,Uph(}rh.h/]RrubG?uhNhU;Lactose transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhULCTStexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UPyruvate Metabolismrh }r(jmG?j GjGjG?j G?uhNhUD lactate dehydrogenaserhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUldhArh}rjhUSTM1647rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUdldrh}r£jhUSTM2167rãh Nh"NjKh,Nh(}rģjU+h.h/]RrţubeRrƣhULDH_DrǣhKGhLhMhNhNU( STM2167 or STM1647 )rȣh(}rɣhPNubh)rʣ}rˣ(h UOxidative Phosphorylationṛh }rͣ(jO5GjmG?jGjb5G?uhNhUD lactate dehydrogenaserΣhEG@@hFGh}rϣhHh/]rУjaRrѣhULDH_D2rңhKGhLhMhNhNUSTM2167rӣh(}rԣhPNubh)rգ}r֣(h U(Valine Leucine and Isoleucine Metabolismrףh }rأ(h)r٣}rڣ(hNhNhU4-Methyl-2-oxopentanoaterۣh}rܣ(UCHEBI]rݣU48430rޣaUKEGG]rߣUC00233raUPUBCHEM]rU3532rauhU4mop_crhUEh Jh!Gh"h#)r}r(hNh"UC6H9O3rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubGjxG?jG?jGuhNhU"leucine transaminase irreversible rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUtyrBrh}rjhUSTM4248rh Nh"NjKh,Nh(}rjU+h.h/]RrubjeRrhULEUTAirhKGhLhMhNhNU( STM3903 or STM4248 )rh(}rhPNubh)r}r(h U tRNA Chargingrh }r(jG?jGGh)r}r(hNhNhUL-Leucyl-tRNA-Leurh}r(UCHEBI]rU16624raUKEGG]rUC02047raUPUBCHEM]rU5136rauhU leutrna_crhUEh Kh!Gh"h#)r }r (hNh"UC6H12NORr h}r h(}r h*}r(UHK UCKURKUOKUNKuhj ubh,Uch(}rh.h/]RrubG?jG?jxGh)r}r(hNhNhUtRNA-Leurh}r(UCHEBI]rU29169raUKEGG]rUC01645raUPUBCHEM]rU4794rauhU trnaleu_crhUEh Kh!Gh"h#)r}r(hNh"URh}rh(}rh*}r URKshURubh,Uch(}r!h.h/]Rr"ubGuhNhULeucyl tRNA synthetaser#hEG@@hFGh}r$hHh/]r%j)r&}r'(hNjKhNhUleuSr(h}r)jhUSTM0648r*h Nh"NjKh,Nh(}r+jU+h.h/]Rr,ubaRr-hULEUTRSr.hKGhLhMhNhNj*h(}r/hPNubh)r0}r1(h UTransport Inner Membraner2h }r3(jGGh)r4}r5(hNhNhU L-Leuciner6h}r7(UCHEBI]r8U15603r9aUKEGG]r:UC00123r;aUPUBCHEM]r<U3423r=auhUleu__L_pr>hUEh Kh!Gh"h#)r?}r@(hNh"UC6H13NO2rAh}rBh(}rCh*}rD(UHK UCKUOKUNKuhjAubh,Uph(}rEh.h/]RrFubGjZGjG?j4G?jxG?jG?uhNhU-L leucine transport via ABC system periplasm rGhEG@@hFGh}rHhHh/]rI(j*j*jk*jr*j)rJ}rK(hNjKhNhUlivKrLh}rMjhUSTM3564rNh Nh"NjKh,Nh(}rOjU+h.h/]RrPubjy*eRrQhULEUabcpprRhKGhLhMhNhNU( ( STM3560 and STM3561 and STM3563 and STM3567 and STM3562 ) or ( STM3560 and STM3561 and STM3563 and STM3564 and STM3562 ) )rSh(}rThPNubh)rU}rV(h UTransport Inner MembranerWh }rX(j4GjGjG?jxG?uhNhUG?j4G?jZGj]GjGGjG?jG?uhNhU0lipid cold A transport via ABC system periplasm rhEG@@hFGh}rhHh/]rjAaRrhU LIPACabcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(j4G?jGGjZGjG?h)r}r(hNhNhU KDO-2-lipid-Arh}r(UCHEBI]rU27963raUKEGG]rUC06026raUPUBCHEM]rU8298rauhUlipa_prhUEh Jh!Gh"h#)r}r(hNh"UC110H196N2O39P2rh}rh(}rh*}r(UHKUCKnUPKUOK'UNKuhjubh,Uph(}rh.h/]RrubG?j\GjG?uhNhU+lipid A transport via ABC system periplasm rhEG@@hFGh}rhHh/]rjAaRrhU LIPAabcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(j,lG?jGuhNhU8lipid A transport via vector periplasm to extracellular rhEG@@hFGh}rhHh/]RrhULIPAtexrhKGhLhMhNhNUh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(h)r}r(hNhNhU.UDP-2-3-bis-3-hydroxytetradecanoyl-glucosaminerh}r(UCHEBI]rU17787raUKEGG]rUC04652raUPUBCHEM]r¤U7239räauhUu23ga_crĤhUEh Jh!Gh"h#)rŤ}rƤ(hNh"U C43H75N3O20P2rǤh}rȤh(}rɤh*}rʤ(UHKKUCK+UPKUOKUNKuhjǤubh,Uch(}rˤh.h/]Rr̤ubGjG?jG?h)rͤ}rΤ(hNhNhULipid-A-DisacchariderϤh}rФ(UCHEBI]rѤU18380rҤaUKEGG]rӤUC04932rԤaUPUBCHEM]rդU7476r֤auhU lipidAds_crפhUEh Jh!Gh"h#)rؤ}r٤(hNh"U C68H127N2O20Prڤh}rۤh(}rܤh*}rݤ(UHKUCKDUPKUOKUNKuhjڤubh,Uch(}rޤh.h/]RrߤubG?h)r}r(hNhNhU>2-3-Bis-3-hydroxytetradecanoyl-beta-D-glucosaminyl-1-phosphaterh}r(UCHEBI]rU16942raUKEGG]rUC04824raUPUBCHEM]rU7385rauhUlipidX_crhUEh Jh!Gh"h#)r}r(hNh"U C34H64NO12Prh}rh(}rh*}r(UHK@UCK"UPKUOK UNKuhjubh,Uch(}rh.h/]RrubGuhNhULipid A disaccaride synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUlpxBrh}rjhUSTM0229rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhULPADSSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU$1-dodecanoyl-sn-glycerol-3-phosphaterh}r(UCHEBI]rU16975r aUKEGG]r UC00681r aUPUBCHEM]r U3950r auhU 1ddecg3p_prhUEh Jh!Gh"h#)r}r(hNh"U C15H29O7P1rh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Uph(}rh.h/]RrubGjMG?j)GjG?j1G?uhNhUBLysophospholipase L1 2 acylglycerophosphotidate n C120 periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUtesArh}rjhUSTM0506rh Nh"NjKh,Nh(}rjU+h.h/]Rr ubaRr!hULPLIPAL1A120ppr"hKGhLhMhNhNjh(}r#hPNubh)r$}r%(h UGlycerophospholipid Metabolismr&h }r'(j)Gjl{G?jG?j1G?h)r(}r)(hNhNhU'1-tetradecanoyl-sn-glycerol-3-phosphater*h}r+(UCHEBI]r,U16975r-aUKEGG]r.UC00681r/aUPUBCHEM]r0U3950r1auhU 1tdecg3p_pr2hUEh Jh!Gh"h#)r3}r4(hNh"U C17H33O7P1r5h}r6h(}r7h*}r8(UHK!UCKUOKUPKuhj5ubh,Uph(}r9h.h/]Rr:ubGuhNhUBLysophospholipase L1 2 acylglycerophosphotidate n C140 periplasm r;hEG@@hFGh}r<hHh/]r=jaRr>hULPLIPAL1A140ppr?hKGhLhMhNhNUSTM0506r@h(}rAhPNubh)rB}rC(h UGlycerophospholipid MetabolismrDh }rE(j)Gh)rF}rG(hNhNhU*1-tetradec-7-enoyl-sn-glycerol-3-phosphaterHh}rI(UCHEBI]rJU16975rKaUKEGG]rLUC00681rMaUPUBCHEM]rNU3950rOauhU 1tdec7eg3p_prPhUEh Jh!Gh"h#)rQ}rR(hNh"U C17H31O7P1rSh}rTh(}rUh*}rV(UHKUCKUOKUPKuhjSubh,Uph(}rWh.h/]RrXubGjG?j1G?j{G?uhNhUBLysophospholipase L1 2 acylglycerophosphotidate n C141 periplasm rYhEG@@hFGh}rZhHh/]r[jaRr\hULPLIPAL1A141ppr]hKGhLhMhNhNUSTM0506r^h(}r_hPNubh)r`}ra(h UGlycerophospholipid Metabolismrbh }rc(h)rd}re(hNhNhU&1-hexadecanoyl-sn-glycerol-3-phosphaterfh}rg(UCHEBI]rhU16975riaUKEGG]rjUC00681rkaUPUBCHEM]rlU3950rmauhU 1hdecg3p_prnhUEh Jh!Gh"h#)ro}rp(hNh"U C19H37O7P1rqh}rrh(}rsh*}rt(UHK%UCKUOKUPKuhjqubh,Uph(}ruh.h/]RrvubGjG?j)Gj{G?j1G?uhNhUBLysophospholipase L1 2 acylglycerophosphotidate n C160 periplasm rwhEG@@hFGh}rxhHh/]ryjaRrzhULPLIPAL1A160ppr{hKGhLhMhNhNUSTM0506r|h(}r}hPNubh)r~}r(h UGlycerophospholipid Metabolismrh }r(jG?j)Gh)r}r(hNhNhU)1-hexadec-9-enoyl-sn-glycerol-3-phosphaterh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU 1hdec9eg3p_prhUEh Jh!Gh"h#)r}r(hNh"U C19H35O7P1rh}rh(}rh*}r(UHK#UCKUOKUPKuhjubh,Uph(}rh.h/]RrubGj1G?j{G?uhNhUBLysophospholipase L1 2 acylglycerophosphotidate n C161 periplasm rhEG@@hFGh}rhHh/]rjaRrhULPLIPAL1A161pprhKGhLhMhNhNUSTM0506rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j)GjG?j1G?h)r}r(hNhNhU&1-octadecanoyl-sn-glycerol-3-phosphaterh}r(UCHEBI]rU16975raUKEGG]rUC00681raUPUBCHEM]rU3950rauhU 1odecg3p_prhUEh Jh!Gh"h#)r}r(hNh"U C21H41O7P1rh}rh(}rh*}r(UHK)UCKUOKUPKuhjubh,Uph(}rh.h/]RrubGj{G?uhNhUBLysophospholipase L1 2 acylglycerophosphotidate n C180 periplasm rhEG@@hFGh}rhHh/]rjaRrhULPLIPAL1A180pprhKGhLhMhNhNUSTM0506rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU*1-octadec-11-enoyl-sn-glycerol-3-phosphaterh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU 1odec11eg3p_pr¥hUEh Jh!Gh"h#)rå}rĥ(hNh"U C21H39O7P1rťh}rƥh(}rǥh*}rȥ(UHK'UCKUOKUPKuhjťubh,Uph(}rɥh.h/]RrʥubGj)GjG?j{G?j1G?uhNhUBLysophospholipase L1 2 acylglycerophosphotidate n C181 periplasm r˥hEG@@hFGh}r̥hHh/]rͥjaRrΥhULPLIPAL1A181pprϥhKGhLhMhNhNUSTM0506rХh(}rѥhPNubh)rҥ}rӥ(h UGlycerophospholipid Metabolismrԥh }rե(jG?jMG?j)GjG?h)r֥}rץ(hNhNhU.1-Acyl-sn-glycero-3-phosphoethanolamine-n-C120rإh}r٥(UCHEBI]rڥU0aUKEGG]rۥUC04438rܥaUPUBCHEM]rݥU7069rޥauhU 1agpe120_prߥhUEh Kh!Gh"h#)r}r(hNh"U C17H36NO7P1rh}rh(}rh*}r(UHK$UCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubGuhNhUHLysophospholipase L1 2 acylglycerophosphoethanolamine n C120 periplasm rhEG@@hFGh}rhHh/]rjaRrhULPLIPAL1E120pprhKGhLhMhNhNUSTM0506rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?j)GjG?h)r}r(hNhNhU.1-Acyl-sn-glycero-3-phosphoethanolamine-n-C140rh}r(UCHEBI]rU0aUKEGG]rUC04438raUPUBCHEM]rU7069rauhU 1agpe140_prhUEh Kh!Gh"h#)r}r(hNh"U C19H40NO7P1rh}rh(}rh*}r(UHK(UCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubGjl{G?uhNhUHLysophospholipase L1 2 acylglycerophosphoethanolamine n C140 periplasm rhEG@@hFGh}rhHh/]rjaRrhULPLIPAL1E140ppr hKGhLhMhNhNUSTM0506r h(}r hPNubh)r }r (h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU.1-Acyl-sn-glycero-3-phosphoethanolamine-n-C141rh}r(UCHEBI]rU0aUKEGG]rUC04438raUPUBCHEM]rU7069rauhU 1agpe141_prhUEh Kh!Gh"h#)r}r(hNh"U C19H38NO7P1rh}rh(}rh*}r(UHK&UCKUPKUOKUNKuhjubh,Uph(}r h.h/]Rr!ubGjG?j)GjG?j{G?uhNhUHLysophospholipase L1 2 acylglycerophosphoethanolamine n C141 periplasm r"hEG@@hFGh}r#hHh/]r$jaRr%hULPLIPAL1E141ppr&hKGhLhMhNhNUSTM0506r'h(}r(hPNubh)r)}r*(h UGlycerophospholipid Metabolismr+h }r,(h)r-}r.(hNhNhU.1-Acyl-sn-glycero-3-phosphoethanolamine-n-C160r/h}r0(UCHEBI]r1U0aUKEGG]r2UC04438r3aUPUBCHEM]r4U7069r5auhU 1agpe160_pr6hUEh Kh!Gh"h#)r7}r8(hNh"U C21H44NO7P1r9h}r:h(}r;h*}r<(UHK,UCKUPKUOKUNKuhj9ubh,Uph(}r=h.h/]Rr>ubGjG?j)GjG?j{G?uhNhUHLysophospholipase L1 2 acylglycerophosphoethanolamine n C160 periplasm r?hEG@@hFGh}r@hHh/]rAjaRrBhULPLIPAL1E160pprChKGhLhMhNhNUSTM0506rDh(}rEhPNubh)rF}rG(h UGlycerophospholipid MetabolismrHh }rI(jG?h)rJ}rK(hNhNhU.1-Acyl-sn-glycero-3-phosphoethanolamine-n-C161rLh}rM(UCHEBI]rNU0aUKEGG]rOUC04438rPaUPUBCHEM]rQU7069rRauhU 1agpe161_prShUEh Kh!Gh"h#)rT}rU(hNh"U C21H42NO7P1rVh}rWh(}rXh*}rY(UHK*UCKUPKUOKUNKuhjVubh,Uph(}rZh.h/]Rr[ubGj)GjG?j{G?uhNhUHLysophospholipase L1 2 acylglycerophosphoethanolamine n C161 periplasm r\hEG@@hFGh}r]hHh/]r^jaRr_hULPLIPAL1E161ppr`hKGhLhMhNhNUSTM0506rah(}rbhPNubh)rc}rd(h UGlycerophospholipid Metabolismreh }rf(jG?h)rg}rh(hNhNhU.1-Acyl-sn-glycero-3-phosphoethanolamine-n-C180rih}rj(UCHEBI]rkU0aUKEGG]rlUC04438rmaUPUBCHEM]rnU7069roauhU 1agpe180_prphUEh Kh!Gh"h#)rq}rr(hNh"U C23H48NO7P1rsh}rth(}ruh*}rv(UHK0UCKUPKUOKUNKuhjsubh,Uph(}rwh.h/]RrxubGj)GjG?j{G?uhNhUHLysophospholipase L1 2 acylglycerophosphoethanolamine n C180 periplasm ryhEG@@hFGh}rzhHh/]r{jaRr|hULPLIPAL1E180ppr}hKGhLhMhNhNUSTM0506r~h(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?j)Gh)r}r(hNhNhU.1-Acyl-sn-glycero-3-phosphoethanolamine-n-C181rh}r(UCHEBI]rU0aUKEGG]rUC04438raUPUBCHEM]rU7069rauhU 1agpe181_prhUEh Kh!Gh"h#)r}r(hNh"U C23H46NO7P1rh}rh(}rh*}r(UHK.UCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubGjG?j{G?uhNhUHLysophospholipase L1 2 acylglycerophosphoethanolamine n C181 periplasm rhEG@@hFGh}rhHh/]rjaRrhULPLIPAL1E181pprhKGhLhMhNhNUSTM0506rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j)Gh)r}r(hNhNhU*1-Acyl-sn-glycero-3-phosphoglycerol-n-C120rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU 1agpg120_prhUEh Jh!Gh"h#)r}r(hNh"U C18H36O9P1rh}rh(}rh*}r(UHK$UCKUOK UPKuhjubh,Uph(}rh.h/]RrubGjG?j8G?jMG?uhNhUDLysophospholipase L1 2 acylglycerophosphoglycerol n C120 periplasm rhEG@@hFGh}rhHh/]rjaRrhULPLIPAL1G120pprhKGhLhMhNhNUSTM0506rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j)GjG?j8G?h)r}r(hNhNhU*1-Acyl-sn-glycero-3-phosphoglycerol-n-C140rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]r¦U0auhU 1agpg140_præhUEh Jh!Gh"h#)rĦ}rŦ(hNh"U C20H40O9P1rƦh}rǦh(}rȦh*}rɦ(UHK(UCKUOK UPKuhjƦubh,Uph(}rʦh.h/]Rr˦ubGjl{G?uhNhUDLysophospholipase L1 2 acylglycerophosphoglycerol n C140 periplasm r̦hEG@@hFGh}rͦhHh/]rΦjaRrϦhULPLIPAL1G140pprЦhKGhLhMhNhNUSTM0506rѦh(}rҦhPNubh)rӦ}rԦ(h UGlycerophospholipid Metabolismrզh }r֦(jG?h)rצ}rئ(hNhNhU*1-Acyl-sn-glycero-3-phosphoglycerol-n-C141r٦h}rڦ(UCHEBI]rۦU0aUKEGG]rܦU0aUPUBCHEM]rݦU0auhU 1agpg141_prަhUEh Jh!Gh"h#)rߦ}r(hNh"U C20H38O9P1rh}rh(}rh*}r(UHK&UCKUOK UPKuhjubh,Uph(}rh.h/]RrubGj)Gj8G?j{G?uhNhUDLysophospholipase L1 2 acylglycerophosphoglycerol n C141 periplasm rhEG@@hFGh}rhHh/]rjaRrhULPLIPAL1G141pprhKGhLhMhNhNUSTM0506rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU*1-Acyl-sn-glycero-3-phosphoglycerol-n-C160rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU 1agpg160_prhUEh Jh!Gh"h#)r}r(hNh"U C22H44O9P1rh}rh(}rh*}r(UHK,UCKUOK UPKuhjubh,Uph(}rh.h/]RrubGj)GjG?j{G?j8G?uhNhUDLysophospholipase L1 2 acylglycerophosphoglycerol n C160 periplasm rhEG@@hFGh}rhHh/]rjaRrhULPLIPAL1G160pprhKGhLhMhNhNUSTM0506rh(}rhPNubh)r }r (h UGlycerophospholipid Metabolismr h }r (j)GjG?j{G?h)r }r(hNhNhU*1-Acyl-sn-glycero-3-phosphoglycerol-n-C161rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU 1agpg161_prhUEh Jh!Gh"h#)r}r(hNh"U C22H42O9P1rh}rh(}rh*}r(UHK*UCKUOK UPKuhjubh,Uph(}rh.h/]RrubGj8G?uhNhUDLysophospholipase L1 2 acylglycerophosphoglycerol n C161 periplasm rhEG@@hFGh}rhHh/]rjaRr hULPLIPAL1G161ppr!hKGhLhMhNhNUSTM0506r"h(}r#hPNubh)r$}r%(h UGlycerophospholipid Metabolismr&h }r'(j)Gj{G?jG?j8G?h)r(}r)(hNhNhU*1-Acyl-sn-glycero-3-phosphoglycerol-n-C180r*h}r+(UCHEBI]r,U0aUKEGG]r-U0aUPUBCHEM]r.U0auhU 1agpg180_pr/hUEh Jh!Gh"h#)r0}r1(hNh"U C24H48O9P1r2h}r3h(}r4h*}r5(UHK0UCKUOK UPKuhj2ubh,Uph(}r6h.h/]Rr7ubGuhNhUDLysophospholipase L1 2 acylglycerophosphoglycerol n C180 periplasm r8hEG@@hFGh}r9hHh/]r:jaRr;hULPLIPAL1G180ppr<hKGhLhMhNhNUSTM0506r=h(}r>hPNubh)r?}r@(h UGlycerophospholipid MetabolismrAh }rB(h)rC}rD(hNhNhU*1-Acyl-sn-glycero-3-phosphoglycerol-n-C181rEh}rF(UCHEBI]rGU0aUKEGG]rHU0aUPUBCHEM]rIU0auhU 1agpg181_prJhUEh Jh!Gh"h#)rK}rL(hNh"U C24H46O9P1rMh}rNh(}rOh*}rP(UHK.UCKUOK UPKuhjMubh,Uph(}rQh.h/]RrRubGjG?j)Gj{G?j8G?uhNhUDLysophospholipase L1 2 acylglycerophosphoglycerol n C181 periplasm rShEG@@hFGh}rThHh/]rUjaRrVhULPLIPAL1G181pprWhKGhLhMhNhNUSTM0506rXh(}rYhPNubh)rZ}r[(h UGlycerophospholipid Metabolismr\h }r](jGjG?jG?jZGjG@uhNhU7Lysophospholipase L2 2 acylglycerophosphotidate n C120 r^hEG@@hFGh}r_hHh/]r`j)ra}rb(hNjKhNhUpldBrch}rdjhUSTM3961reh Nh"NjKh,Nh(}rfjU+h.h/]RrgubaRrhhU LPLIPAL2A120rihKGhLhMhNhNjeh(}rjhPNubh)rk}rl(h UGlycerophospholipid Metabolismrmh }rn(jG?jZGjGjG?jG@uhNhU7Lysophospholipase L2 2 acylglycerophosphotidate n C140 rohEG@@hFGh}rphHh/]rqjaaRrrhU LPLIPAL2A140rshKGhLhMhNhNUSTM3961rth(}ruhPNubh)rv}rw(h UGlycerophospholipid Metabolismrxh }ry(jG?jLGjZGjG?jG@uhNhU7Lysophospholipase L2 2 acylglycerophosphotidate n C141 rzhEG@@hFGh}r{hHh/]r|jaaRr}hU LPLIPAL2A141r~hKGhLhMhNhNUSTM3961rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j=G?jG?jiGjZGjG@uhNhU7Lysophospholipase L2 2 acylglycerophosphotidate n C160 rhEG@@hFGh}rhHh/]rjaaRrhU LPLIPAL2A160rhKGhLhMhNhNUSTM3961rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jGjZGj[G?jG?jG@uhNhU7Lysophospholipase L2 2 acylglycerophosphotidate n C161 rhEG@@hFGh}rhHh/]rjaaRrhU LPLIPAL2A161rhKGhLhMhNhNUSTM3961rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?jG?jG@jZGjGuhNhU7Lysophospholipase L2 2 acylglycerophosphotidate n C180 rhEG@@hFGh}rhHh/]rjaaRrhU LPLIPAL2A180rhKGhLhMhNhNUSTM3961rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?jGjZGjG@jG?uhNhU7Lysophospholipase L2 2 acylglycerophosphotidate n C181 rhEG@@hFGh}rhHh/]rjaaRrhU LPLIPAL2A181rhKGhLhMhNhNUSTM3961rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j Gh)r}r(hNhNhU acyl-phosphatidylglycerol-n-C120rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUapg120_crhUEh Jh!Gh"h#)r}r(hNh"U C42H80O11Prh}rh(}rh*}r(UHKPUCK*UOK UPKuhjubh,Uch(}rh.h/]RrubG?jG?j%GuhNhUNLysophospholipase L2 acyltransferase 2 acyl glycerophosphoethanolamine n C120 rhEG@@hFGh}r§hHh/]rçjaaRrħhULPLIPAL2ATE120rŧhKGhLhMhNhNUSTM3961rƧh(}rǧhPNubh)rȧ}rɧ(h UGlycerophospholipid Metabolismrʧh }r˧(jfGh)ŗ}rͧ(hNhNhU acyl-phosphatidylglycerol-n-C140rΧh}rϧ(UCHEBI]rЧU0aUKEGG]rѧU0aUPUBCHEM]rҧU0auhUapg140_crӧhUEh Jh!Gh"h#)rԧ}rէ(hNh"U C48H92O11Pr֧h}rקh(}rاh*}r٧(UHK\UCK0UOK UPKuhj֧ubh,Uch(}rڧh.h/]RrۧubG?j7 GjG?uhNhUNLysophospholipase L2 acyltransferase 2 acyl glycerophosphoethanolamine n C140 rܧhEG@@hFGh}rݧhHh/]rާjaaRrߧhULPLIPAL2ATE140rhKGhLhMhNhNUSTM3961rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU acyl-phosphatidylglycerol-n-C141rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUapg141_crhUEh Jh!Gh"h#)r}r(hNh"U C48H86O11Prh}rh(}rh*}r(UHKVUCK0UOK UPKuhjubh,Uch(}rh.h/]RrubG?jT GjGjG?uhNhUNLysophospholipase L2 acyltransferase 2 acyl glycerophosphoethanolamine n C141 rhEG@@hFGh}rhHh/]rjaaRrhULPLIPAL2ATE141rhKGhLhMhNhNUSTM3961rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jq Gh)r}r(hNhNhU acyl-phosphatidylglycerol-n-C160rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUapg160_cr hUEh Jh!Gh"h#)r }r (hNh"U C54H104O11Pr h}r h(}rh*}r(UHKhUCK6UOK UPKuhj ubh,Uch(}rh.h/]RrubG?jGjG?uhNhUNLysophospholipase L2 acyltransferase 2 acyl glycerophosphoethanolamine n C160 rhEG@@hFGh}rhHh/]rjaaRrhULPLIPAL2ATE160rhKGhLhMhNhNUSTM3961rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j Gh)r}r(hNhNhU acyl-phosphatidylglycerol-n-C161rh}r (UCHEBI]r!U0aUKEGG]r"U0aUPUBCHEM]r#U0auhUapg161_cr$hUEh Jh!Gh"h#)r%}r&(hNh"U C54H98O11Pr'h}r(h(}r)h*}r*(UHKbUCK6UOK UPKuhj'ubh,Uch(}r+h.h/]Rr,ubG?jGjG?uhNhUNLysophospholipase L2 acyltransferase 2 acyl glycerophosphoethanolamine n C161 r-hEG@@hFGh}r.hHh/]r/jaaRr0hULPLIPAL2ATE161r1hKGhLhMhNhNUSTM3961r2h(}r3hPNubh)r4}r5(h UGlycerophospholipid Metabolismr6h }r7(jG?j GjGh)r8}r9(hNhNhU acyl-phosphatidylglycerol-n-C180r:h}r;(UCHEBI]r<U0aUKEGG]r=U0aUPUBCHEM]r>U0auhUapg180_cr?hUEh Jh!Gh"h#)r@}rA(hNh"U C60H116O11PrBh}rCh(}rDh*}rE(UHKtUCK(jG?jZGjG?j GjJG?uhNhU9Lysophospholipase L2 2 acylglycerophosphoglycerol n C180 r?hEG@@hFGh}r@hHh/]rAjaaRrBhU LPLIPAL2G180rChKGhLhMhNhNUSTM3961rDh(}rEhPNubh)rF}rG(h UGlycerophospholipid MetabolismrHh }rI(jZGj GjG?jG?jJG?uhNhU9Lysophospholipase L2 2 acylglycerophosphoglycerol n C181 rJhEG@@hFGh}rKhHh/]rLjaaRrMhU LPLIPAL2G181rNhKGhLhMhNhNUSTM3961rOh(}rPhPNubh)rQ}rR(h UGlycine and Serine MetabolismrSh }rT(jbxGjB GjVG?jU G?jG?uhNhUL serine dehydrogenaserUhEG@@hFG@h}rVhHh/]rWj6aRrXhULSERDHrrYhKGhLhMhNhNUSTM1511rZh(}r[hPNubh)r\}r](h UThreonine and Lysine Metabolismr^h }r_(jG?j 9G?j9GjGuhNhUlysine decarboxylaser`hEG@@hFGh}rahHh/]rb(j)rc}rd(hNjKhNhUldcCreh}rfjhUSTM0234rgh Nh"NjKh,Nh(}rhjU+h.h/]Rriubj)rj}rk(hNjKhNhUcadArlh}rmjhUSTM2559rnh Nh"NjKh,Nh(}rojU+h.h/]RrpubeRrqhULYSDCrrhKGhLhMhNhNU( STM0234 or STM2559 )rsh(}rthPNubh)ru}rv(h U tRNA Chargingrwh }rx(j9GjG?jG?jGGh)ry}rz(hNhNhUtRNA-Lysr{h}r|(UCHEBI]r}U29185r~aUKEGG]rUC01646raUPUBCHEM]rU4795rauhU trnalys_crhUEh Kh!Gh"h#)r}r(hNh"URh}rh(}rh*}rURKshURubh,Uch(}rh.h/]RrubGh)r}r(hNhNhUL-Lysine-tRNA-Lysrh}r(UCHEBI]rU16047raUKEGG]rUC01931raUPUBCHEM]rU5037rauhU lystrna_crhUEh Kh!Gh"h#)r}r(hNh"U C6H14N2ORrh}rh(}rh*}r(UHKUCKURKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhULysyl tRNA synthetaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUlysSrh}rjhUSTM3040rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhULYSTRSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j19GjGGjZGj9G?j4G?jG?jG?uhNhU,L lysine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j2j2j2j{2eRrhULYSabcpprhKGhLhMhNhNU5( STM2355 and STM2352 and STM2351 and STM2353 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjG?j19Gj9G?uhNhU3L lysine transport in via proton symport periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUlysPrh}rjhUSTM2200rh Nh"NjKh,Nh(}r©jU+h.h/]RréubaRrĩhULYSt2pprũhKGhLhMhNhNjh(}rƩhPNubh)rǩ}rȩ(h UTransport Inner Membranerɩh }rʩ(jGj9Gj19G?jG?uhNhUBL lysine transport out via proton antiport cytoplasm to periplasm r˩hEG@@hFGh}r̩hHh/]rͩj2aRrΩhULYSt3pprϩhKGhLhMhNhNUSTM3066rЩh(}rѩhPNubh)rҩ}rө(h UTransport Outer Membrane Porinrԩh }rթ(jHlGj19G?uhNhU(jjjjeRr?hULYXtexr@hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rAh(}rBhPNubh)rC}rD(h UOxidative PhosphorylationrEh }rF(jO5GjmG?jb5G?h)rG}rH(hNhNhU L-LactaterIh}rJ(UCHEBI]rKU422rLaUKEGG]rMUC00186rNaUPUBCHEM]rOU3486rPauhUlac__L_crQhUEh Jh!Gh"h#)rR}rS(hNh"UC3H5O3rTh}rUh(}rVh*}rW(UHKUCKUOKuhjTubh,Uch(}rXh.h/]RrYubGuhNhU#L Lactate dehydrogenase ubiquinone rZhEG@@hFGh}r[hHh/]r\j)r]}r^(hNjKhNhUlldDr_h}r`jhUSTM3694rah Nh"NjKh,Nh(}rbjU+h.h/]RrcubaRrdhUL_LACD2rehKGhLhMhNhNjah(}rfhPNubh)rg}rh(h UOxidative Phosphorylationrih }rj(j5GjmG?jS-G?jGGuhNhU$L Lactate dehydrogenase menaquinone rkhEG@@hFGh}rlhHh/]rmj]aRrnhUL_LACD3rohKGhLhMhNhNUSTM3694rph(}rqhPNubh)rr}rs(h UTransport Inner Membranerth }ru(h)rv}rw(hNhNhU L-Lactaterxh}ry(UCHEBI]rzU422r{aUKEGG]r|UC00186r}aUPUBCHEM]r~U3486rauhUlac__L_prhUEh Jh!Gh"h#)r}r(hNh"UC3H5O3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}rh.h/]RrubGjGjG?jGG?uhNhUh(}r?hPNubh)r@}rA(h UTransport Outer MembranerBh }rC(jG?jlGuhNhULmaltohexaose transport via diffusion extracellular to periplasm irreversiblerDhEG@@hFGh}rEhHh/]rFjaRrGhU MALTHXtexirHhKGhLhMhNhNUSTM4231rIh(}rJhPNubh)rK}rL(h UTransport Inner MembranerMh }rN(h)rO}rP(hNhNhU MaltopentaoserQh}rR(UCHEBI]rSU28057rTaUKEGG]rUU0aUPUBCHEM]rVU 124005??3611rWauhUmaltpt_prXhUEh Kh!Gh"h#)rY}rZ(hNh"U C30H52O26r[h}r\h(}r]h*}r^(UHK4UCKUOKuhj[ubh,Uph(}r_h.h/]Rr`ubGj,G?j4G?jGGjZGjG?jG?uhNhU1maltopentaose transport via ABC system periplasm rahEG@@hFGh}rbhHh/]rc(jjjjeRrdhU MALTPTabcpprehKGhLhMhNhNU5( STM4229 and STM4228 and STM4227 and STM4230 )rfh(}rghPNubh)rh}ri(h UTransport Outer Membranerjh }rk(jOG?jlGuhNhUXmaltopentaoseMaltotriose transport via diffusion extracellular to periplasm irreversiblerlhEG@@hFGh}rmhHh/]rnjaRrohU MALTPTtexirphKGhLhMhNhNUSTM4231rqh(}rrhPNubh)rs}rt(h UTransport Inner Membraneruh }rv(j7,G?h)rw}rx(hNhNhU Maltotrioseryh}rz(UCHEBI]r{U27931r|aUKEGG]r}UC01835r~aUPUBCHEM]rU4954rauhUmalttr_prhUEh Kh!Gh"h#)r}r(hNh"U C18H32O16rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uph(}rh.h/]RrubGjGGjZGj4G?jG?jG?uhNhU/Maltotriose transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(jjjjeRrhU MALTTRabcpprhKGhLhMhNhNU5( STM4229 and STM4228 and STM4227 and STM4230 )rh(}rhPNubh)r}r(h UTransport Outer Membranerh }r(j mGjwG?uhNhUKMaltotriose transport via diffusion extracellular to periplasm irreversiblerhEG@@hFGh}rhHh/]rjaRrhU MALTTRtexirhKGhLhMhNhNUSTM4231rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?jGGj],G?jG?jZGjG?h)r}r(hNhNhU Maltotetraoserh}r(UCHEBI]rU0aUKEGG]rUC02052raUPUBCHEM]rU5141rauhU maltttr_prhUEh Kh!Gh"h#)r}r(hNh"U C24H42O21rh}rh(}rh*}r(UHK*UCKUOKuhjubh,Uph(}rh.h/]RrubGuhNhU1maltotetraose transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(jjjjeRrhU MALTTTRabcpprhKGhLhMhNhNU5( STM4229 and STM4228 and STM4227 and STM4230 )rh(}rhPNubh)r}r(h UTransport Outer Membranerh }r(j&mGjG?uhNhUXmaltotetraoseMaltotriose transport via diffusion extracellular to periplasm irreversiblerhEG@@hFGh}rhHh/]rjaRrhU MALTTTRtexirhKGhLhMhNhNUSTM4231r«h(}rëhPNubh)rī}rū(h UTransport Inner Membranerƫh }rǫ(j4G?jGGjZGjo,G?h)rȫ}rɫ(hNhNhUMaltoserʫh}r˫(UCHEBI]r̫U17306rͫaUKEGG]rΫUC00208rϫaUPUBCHEM]rЫU3508rѫauhUmalt_prҫhUEh Kh!Gh"h#)rӫ}rԫ(hNh"U C12H22O11rիh}r֫h(}r׫h*}rث(UHKUCK UOK uhjիubh,Uph(}r٫h.h/]RrګubGjG?jG?uhNhU+maltose transport via ABC system periplasm r۫hEG@@hFGh}rܫhHh/]rݫ(jjjjeRrޫhU MALTabcppr߫hKGhLhMhNhNU5( STM4229 and STM4228 and STM4227 and STM4230 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjmG?jȫGh)r}r(hNhNhUMaltose-6-phosphaterh}r(UCHEBI]rU15703raUKEGG]rUC02995raUPUBCHEM]rU5904rauhUmalt6p_crhUEh Jh!Gh"h#)r}r(hNh"U C12H21O14Prh}rh(}rh*}r(UHKUCK UOKUPKuhjubh,Uch(}rh.h/]RrubG?uhNhU+maltose transport via PEPPyr PTS periplasm rhEG@@hFGh}rhHh/]r(jjjeRrhU MALTptspprhKGhLhMhNhNU'( STM2433 and STM2431 and STM2432 )rh(}rhPNubh)r}r(h UTransport Outer Membranerh }r(jlGjȫG?uhNhURmaltoseMaltotriose transport via diffusion extracellular to periplasm irreversiblerhEG@@hFGh}rhHh/]rjaRrhUMALTtexirhKGhLhMhNhNUSTM4231r h(}r hPNubh)r }r (h UTransport Inner Membraner h }r(jwG?jGjG@h)r}r(hNhNhUL-Malaterh}r(UCHEBI]rU30797raUKEGG]rUC00149raUPUBCHEM]rU3449rauhUmal__L_prhUEh Jh!Gh"h#)r}r(hNh"UC4H4O5rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}r h.h/]Rr!ubGuhNhU3Malate transport via proton symport 2 H periplasm r"hEG@@hFGh}r#hHh/]r$js6aRr%hU MALt2_2ppr&hKGhLhMhNhNUSTM3614r'h(}r(hPNubh)r)}r*(h UTransport Outer Membrane Porinr+h }r,(jlGjG?uhNhU:Malate transport via diffusion extracellular to periplasm r-hEG@@hFG@h}r.hHh/]r/(jjjjeRr0hUMALtexr1hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r2h(}r3hPNubh)r4}r5(h UAlternate Carbon Metabolismr6h }r7(jGjyG?uhNhUmannose 6 phosphate isomeraser8hEG@@hFG@h}r9hHh/]r:j)r;}r<(hNjKhNhUmanAr=h}r>jhUSTM1467r?h Nh"NjKh,Nh(}r@jU+h.h/]RrAubaRrBhUMAN6PIrChKGhLhMhNhNj?h(}rDhPNubh)rE}rF(h UTransport Inner MembranerGh }rH(h)rI}rJ(hNhNhUD-Mannose-6-phosphaterKh}rL(UCHEBI]rMU17369rNaUKEGG]rOUC00275rPaUPUBCHEM]rQU3572rRauhUman6p_prShUEh Jh!Gh"h#)rT}rU(hNh"UC6H11O9PrVh}rWh(}rXh*}rY(UHK UCKUOK UPKuhjVubh,Uph(}rZh.h/]Rr[ubGjG@jG?jGuhNhU?Mannose 6 phosphate transport via phosphate antiport periplasm r\hEG@@hFGh}r]hHh/]r^j!zaRr_hU MAN6Pt6_2ppr`hKGhLhMhNhNUSTM3787rah(}rbhPNubh)rc}rd(h UTransport Outer Membrane Porinreh }rf(jAmGjIG?uhNhUGMannose 6 phosphate transport via diffusion extracellular to periplasm rghEG@@hFG@h}rhhHh/]ri(jjjjeRrjhUMAN6PtexrkhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rlh(}rmhPNubh)rn}ro(h UTransport Outer Membrane Porinrph }rq(h)rr}rs(hNhNhU2-alpha-D-Mannosyl-D-glyceraterth}ru(UCHEBI]rvU15847rwaUKEGG]rxUC11544ryaUPUBCHEM]rzU13711r{auhU manglyc_pr|hUEh Jh!Gh"h#)r}}r~(hNh"UC9H15O9rh}rh(}rh*}r(UHKUCK UOK uhjubh,Uph(}rh.h/]RrubG?jymGuhNhUR2 O alpha mannosyl D glycerate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU MANGLYCtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjG?h)r}r(hNhNhU D-Mannoserh}r(UCHEBI]rU4208raUKEGG]rUC00159raUPUBCHEM]rU3459rauhUman_prhUEh Kh!Gh"h#)r}r(hNh"UC6H12O6rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uph(}rh.h/]RrubGjmG?uhNhU-D mannose transport via PEPPyr PTS periplasm rhEG@@hFGh}rhHh/]r(jtjj{jjeRrhUMANptspprhKGhLhMhNhNUC( STM1830 and STM1831 and STM1832 and STM2431 and STM2432 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?j]mGuhNhU=D mannose transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUMANtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jZG?h)r}r(hNhNhU2-Methylcitraterh}r(UCHEBI]rU 10860 30836raUKEGG]rUC02225raUPUBCHEM]rU5290r¬auhU2mcit_crìhUEh Jh!Gh"h#)rĬ}rŬ(hNh"UC7H7O7rƬh}rǬh(}rȬh*}rɬ(UHKUCKUOKuhjƬubh,Uch(}rʬh.h/]RrˬubGh)r̬}rͬ(hNhNhUcis-2-Methylaconitaterάh}rϬ(UCHEBI]rЬU16717rѬaUKEGG]rҬUC04225rӬaUPUBCHEM]rԬU6896rլauhU2mcacn_cr֬hUEh Jh!Gh"h#)r׬}rج(hNh"UC7H5O6r٬h}rڬh(}r۬h*}rܬ(UHKUCKUOKuhj٬ubh,Uch(}rݬh.h/]RrެubG?uhNhU2 methylcitrate dehydrataser߬hEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUprpDrh}rjhUSTM0370rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUMCITDrhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jmG?j5G?h)r}r(hNhNhUmethylisocitraterh}r(UCHEBI]rU15607raUKEGG]rUC04593raUPUBCHEM]rU7191rauhUmicit_crhUEh Jh!Gh"h#)r}r(hNh"UC7H7O7rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGuhNhUmethylisocitrate lyaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUprpBrh}r jhUSTM0368r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubaRr hUMCITL2rhKGhLhMhNhNj h(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jG?jZGj5GjGjG?jG?uhNhU2 methylcitrate synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUprpCrh}rjhUSTM0369rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUMCITSrhKGhLhMhNhNjh(}r hPNubh)r!}r"(h UMembrane Lipid Metabolismr#h }r$(jG?jG?jGjGuhNhUMalonyl CoA ACP transacylaser%hEG@@hFG@h}r&hHh/]r'(j)r(}r)(hNjKhNhUfabDr*h}r+jhUSTM1194r,h Nh"NjKh,Nh(}r-jU+h.h/]Rr.ubjseRr/hUMCOATAr0hKGhLhMhNhNU( STM1196 and STM1194 )r1h(}r2hPNubh)r3}r4(h UCysteine Metabolismr5h }r6(jmG?jFG?jgFGh)r7}r8(hNhNhUMercaptopyruvater9h}r:(UCHEBI]r;U16208r<aUKEGG]r=UC00957r>aUPUBCHEM]r?U4208r@auhU mercppyr_crAhUEh Jh!Gh"h#)rB}rC(hNh"UC3H3O3SrDh}rEh(}rFh*}rG(UHKUCKUSKUOKuhjDubh,Uch(}rHh.h/]RrIubGjG?uhNhU$3 mercaptopyruvate sulfurtransferaserJhEG@@hFGh}rKhHh/]rLj)rM}rN(hNjKhNhUsseArOh}rPjhUSTM2533rQh Nh"NjKh,Nh(}rRjU+h.h/]RrSubaRrThUMCPSTrUhKGhLhMhNhNjQh(}rVhPNubh)rW}rX(h UMurein BiosynthesisrYh }rZ(jxG?j9G?h)r[}r\(hNhNhUNtwo-linked-disacharide-pentapeptide-murein-units-uncrosslinked-middle-of-chainr]h}r^(UCHEBI]r_U0aUKEGG]r`U0aUPUBCHEM]raU0auhU murein5p5p_prbhUEh Jh!Gh"h#)rc}rd(hNh"U C80H124N16O42reh}rfh(}rgh*}rh(UHK|UCKPUOK*UNKuhjeubh,Uph(}rih.h/]RrjubGuhNhUhKGhLhMhNhNU2( STM0637 or STM3300 or STM0863 or STM2062 )r?h(}r@hPNubh)rA}rB(h UMurein BiosynthesisrCh }rD(h)rE}rF(hNhNhUNtwo-linked-disacharide-tetrapeptide-murein-units-uncrosslinked-middle-of-chainrGh}rH(UCHEBI]rIU0aUKEGG]rJU0aUPUBCHEM]rKU0auhU murein4p4p_prLhUEh Jh!Gh"h#)rM}rN(hNh"U C74H114N14O40rOh}rPh(}rQh*}rR(UHKrUCKJUOK(UNKuhjOubh,Uph(}rSh.h/]RrTubG?j9G?j)Gj*GuhNhU2murein D D carboxypeptidase murein5p4p periplasm rUhEG@@hFGh}rVhHh/]rW(jjjjeRrXhUMDDCP4pprYhKGhLhMhNhNU2( STM0637 or STM3300 or STM0863 or STM2062 )rZh(}r[hPNubh)r\}r](h UMurein Biosynthesisr^h }r_(j)Gj9G?h)r`}ra(hNhNhU]two-linked-disacharide-tetrapeptide-and-tripeptide-murein-units-uncrosslinked-middle-of-chainrbh}rc(UCHEBI]rdU0aUKEGG]reU0aUPUBCHEM]rfU0auhU murein4p3p_prghUEh Jh!Gh"h#)rh}ri(hNh"U C71H109N13O39rjh}rkh(}rlh*}rm(UHKmUCKGUOK'UNK uhjjubh,Uph(}rnh.h/]RroubG?h)rp}rq(hNhNhU]two-linked-disacharide-pentapeptide-and-tripeptide-murein-units-uncrosslinked-middle-of-chainrrh}rs(UCHEBI]rtU0aUKEGG]ruU0aUPUBCHEM]rvU0auhU murein5p3p_prwhUEh Jh!Gh"h#)rx}ry(hNh"U C74H114N14O40rzh}r{h(}r|h*}r}(UHKrUCKJUOK(UNKuhjzubh,Uph(}r~h.h/]RrubGuhNhU2murein D D carboxypeptidase murein5p3p periplasm rhEG@@hFGh}rhHh/]r(jjjjeRrhUMDDCP5pprhKGhLhMhNhNU2( STM0637 or STM3300 or STM0863 or STM2062 )rh(}rhPNubh)r}r(h UMurein Recyclingrh }r(jEG?j)GjحGuhNhU0murein D D endopeptidase murein4px4p periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUmepArh}rjhUSTM2383rh Nh"NjKh,Nh(}rjU+h.h/]Rrubjj)r}r(hNjKhNhUpbpGrh}rjhUSTM2168rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUMDDEP1pprhKGhLhMhNhNU%( STM3300 or STM2383 or STM2168 )rh(}rhPNubh)r}r(h UMurein Recyclingrh }r(h)r}r(hNhNhUctwo-disacharide-linked-murein-units-tripeptide-crosslinked-tetrapeptide-A2pm-D-ala--middle-of-chainrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU murein3px4p_prhUEh Jh!Gh"h#)r}r(hNh"U C71H107N13O38rh}rh(}rh*}r(UHKkUCKGUOK&UNK uhjubh,Uph(}rh.h/]RrubGj`G?j)GuhNhU0murein D D endopeptidase murein3px4p periplasm rhEG@@hFGh}rhHh/]r(jjjeRrhUMDDEP2pprhKGhLhMhNhNU%( STM3300 or STM2383 or STM2168 )rh(}rhPNubh)r}r(h UMurein Recyclingrh }r(jxGj)Gj*G?uhNhU0murein D D endopeptidase murein5px4p periplasm rhEG@@hFGh}rhHh/]r(jjjeRr®hUMDDEP3pprîhKGhLhMhNhNU%( STM3300 or STM2383 or STM2168 )rĮh(}rŮhPNubh)rƮ}rǮ(h UMurein RecyclingrȮh }rɮ(h)rʮ}rˮ(hNhNhUthree-disacharide-linked-murein-units-tetrapeptide-crosslinked-tetrapeptide-A2pm-D-ala--one-uncrosslinked-tetrapaptide--middle-of-chainr̮h}rͮ(UCHEBI]rήU0aUKEGG]rϮU0aUPUBCHEM]rЮU0auhUmurein4px4p4p_prѮhUEh Jh!Gh"h#)rҮ}rӮ(hNh"UC111H169N21O59rԮh}rծh(}r֮h*}r׮(UHKUCKoUOK;UNKuhjԮubh,Uph(}rخh.h/]RrٮubG?jGj)GuhNhU3murein D D endopeptidase murein4px4px4p periplasm rڮhEG@@hFGh}rۮhHh/]rܮ(jjjeRrݮhUMDDEP4pprޮhKGhLhMhNhNU%( STM3300 or STM2383 or STM2168 )r߮h(}rhPNubh)r}r(h UCitric Acid Cyclerh }r(j Gj5G?jwGj G?jG?uhNhUmalate dehydrogenaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUmdhrh}rjhUSTM3359rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUMDHrhKGhLhMhNhNjh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(h)r}r(hNhNhU+5-Methylthio-5-deoxy-D-ribulose-1-phosphaterh}r(UCHEBI]rU28096raUKEGG]rUC04582raUPUBCHEM]rU7183rauhU 5mdru1p_crhUEh Jh!Gh"h#)r}r(hNh"U C6H11O7PSrh}rh(}rh*}r(UHK UCKUSKUOKUPKuhjubh,Uch(}rh.h/]RrubGjxSG?jZG?uhNhU75 Methylthio 5 deoxy D ribulose 1 phosphate dehydrataser hEG@@hFGh}r hHh/]Rr hUMDRPDr hKGhLhMhNhNUh(}r hPNubh)r}r(h UAnaplerotic Reactionsrh }r(jmG?jG?jwGj G?j GuhNhUmalic enzyme NAD rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUsfcArh}rjhUSTM1566rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUME1rhKGhLhMhNhNjh(}rhPNubh)r}r (h UAnaplerotic Reactionsr!h }r"(jmG?jG?jwGjU G?jB GuhNhUmalic enzyme NADP r#hEG@@hFGh}r$hHh/]r%j)r&}r'(hNjKhNhUmaeBr(h}r)jhUSTM2472r*h Nh"NjKh,Nh(}r+jU+h.h/]Rr,ubaRr-hUME2r.hKGhLhMhNhNj*h(}r/hPNubh)r0}r1(h U*Cofactor and Prosthetic Group Biosynthesisr2h }r3(h)r4}r5(hNhNhU,2-C-methyl-D-erythritol-2-4-cyclodiphosphater6h}r7(UCHEBI]r8U18425r9aUKEGG]r:UC11453r;aUPUBCHEM]r<U13625r=auhU2mecdp_cr>hUEh Jh!Gh"h#)r?}r@(hNh"U C5H10O9P2rAh}rBh(}rCh*}rD(UHK UCKUOK UPKuhjAubh,Uch(}rEh.h/]RrFubGjZG?jSG?j Gj G?uhNhU72C methyl D erythritol 2 4 cyclodiphosphate dehydrataserGhEG@@hFGh}rHhHh/]rIj)rJ}rK(hNjKhNhUispGrLh}rMjhUSTM2523rNh Nh"NjKh,Nh(}rOjU+h.h/]RrPubaRrQhUMECDPDH2rRhKGhLhMhNhNjNh(}rShPNubh)rT}rU(h U*Cofactor and Prosthetic Group BiosynthesisrVh }rW(j;Gj4G?j:G?uhNhU52 C methyl D erythritol 2 4 cyclodiphosphate synthaserXhEG@@hFGh}rYhHh/]rZj)r[}r\(hNjKhNhUispFr]h}r^jhUSTM2929r_h Nh"NjKh,Nh(}r`jU+h.h/]RraubaRrbhUMECDPSrchKGhLhMhNhNj_h(}rdhPNubh)re}rf(h UTransport Inner Membranergh }rh(jG?jGjG?h)ri}rj(hNhNhU Melibioserkh}rl(UCHEBI]rmU28053rnaUKEGG]roUC05402rpaUPUBCHEM]rqU7769rrauhUmelib_prshUEh Kh!Gh"h#)rt}ru(hNh"U C12H22O11rvh}rwh(}rxh*}ry(UHKUCK UOK uhjvubh,Uph(}rzh.h/]Rr{ubGuhNhU-melibiose transport in via symport periplasm r|hEG@@hFGh}r}hHh/]r~j)r}r(hNjKhNhUmelBrh}rjhUSTM4299rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU MELIBt2pprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jiG?jGjGjG?uhNhU.melibiose transport in via antiport periplasm rhEG@@hFGh}rhHh/]rj.1aRrhU MELIBt3ipprhKGhLhMhNhNUSTM1522rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jiG?jmGuhNhU=melibiose transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUMELIBtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jXGj;G?jFEGjGjG?uhNhU82 C methyl D erythritol 4 phosphate cytidylyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUispDrh}rjhUSTM2930rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUMEPCTrhKGhLhMhNhNjh(}rhPNubh)r}r(h UMethionine Metabolismrh }r(j7GjGGjZGjG?j!G?jG?uhNhUmethionine adenosyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmetKrh}rjhUSTM3090rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUMETATrhKGhLhMhNhNjh(}rhPNubh)r}r¯(h UTransport Inner Membranerïh }rį(jGGjZGh)rů}rƯ(hNhNhU D-Methioninerǯh}rȯ(UCHEBI]rɯU16867rʯaUKEGG]r˯UC00855r̯aUPUBCHEM]rͯU4112rίauhUmet__D_crϯhUEh Kh!Gh"h#)rЯ}rѯ(hNh"U C5H10NO2Srүh}rӯh(}rԯh*}rկ(UHK UCKUSKUOKUNKuhjүubh,Uch(}r֯h.h/]RrׯubG?j4G?jG?h)rد}rٯ(hNhNhU D-Methioninerگh}rۯ(UCHEBI]rܯU16867rݯaUKEGG]rޯUC00855r߯aUPUBCHEM]rU4112rauhUmet__D_prhUEh Kh!Gh"h#)r}r(hNh"U C5H10NO2Srh}rh(}rh*}r(UHK UCKUSKUOKUNKuhjubh,Uph(}rh.h/]RrubGjG?uhNhU0D methionine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUyaeErh}rjhUSTM0246rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUmetNrh}rjhUSTM0247rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUmetQrh}rjhUSTM0245rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU METDabcpprhKGhLhMhNhNU'( STM0246 and STM0247 and STM0245 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinr h }r (jmGjدG?uhNhU@D methionine transport via diffusion extracellular to periplasm r hEG@@hFG@h}r hHh/]r (jjjjeRrhUMETDtexrhKGhLhMhNhNU2( STM1473 or STM2267 or STM0320 or STM0999 )rh(}rhPNubh)r}r(h UMethionine Metabolismrh }r(jZG?j7Gj Gh)r}r(hNhNhUL-Methionine-Sulfoxiderh}r(UCHEBI]rU17016raUKEGG]rUC02989raUPUBCHEM]rU5898rauhUmetsox__S__L_cr hUEh Kh!Gh"h#)r!}r"(hNh"U C5H11NO3Sr#h}r$h(}r%h*}r&(UHK UCKUSKUOKUNKuhj#ubh,Uch(}r'h.h/]Rr(ubG?uhNhU!methionine oxidation spontaneous r)hEG@@hFGh}r*hHh/]r+jFaRr,hUMETOX1sr-hKGhLhMhNhNUs0001r.h(}r/hPNubh)r0}r1(h UMethionine Metabolismr2h }r3(j7Gh)r4}r5(hNhNhUL-methionine-R-sulfoxider6h}r7(UCHEBI]r8U0aUKEGG]r9U0aUPUBCHEM]r:U847r;auhUmetsox__R__L_cr<hUEh Kh!Gh"h#)r=}r>(hNh"U C5H11NO3Sr?h}r@h(}rAh*}rB(UHK UCKUSKUOKUNKuhj?ubh,Uch(}rCh.h/]RrDubG?jZG?j GuhNhU#methionine oxidation 2 spontaneous rEhEG@@hFGh}rFhHh/]rGjFaRrHhUMETOX2srIhKGhLhMhNhNUs0001rJh(}rKhPNubh)rL}rM(h UMethionine MetabolismrNh }rO(j'G?j7G?h)rP}rQ(hNhNhU5-MethyltetrahydrofolaterRh}rS(UCHEBI]rTU15641rUaUKEGG]rVUC00440rWaUPUBCHEM]rXU3729rYauhU5mthf_crZhUEh Jh!Gh"h#)r[}r\(hNh"U C20H24N7O6r]h}r^h(}r_h*}r`(UHKUCKUOKUNKuhj]ubh,Uch(}rah.h/]RrbubGjG?j(HGuhNhUmethionine synthaserchEG@@hFGh}rdhHh/]re(j)rf}rg(hNjKhNhUmetHrhh}rijhU STM4188.Srjh Nh"NjKh,Nh(}rkjU+h.h/]Rrlubj)rm}rn(hNjKhNhUmetEroh}rpjhUSTM3965rqh Nh"NjKh,Nh(}rrjU+h.h/]RrsubeRrthUMETSruhKGhLhMhNhNU( STM4188.S or STM3965 )rvh(}rwhPNubh)rx}ry(h UTransport Inner Membranerzh }r{(jG?h)r|}r}(hNhNhUL-Methionine-Sulfoxider~h}r(UCHEBI]rU17016raUKEGG]rUC02989raUPUBCHEM]rU5898rauhUmetsox__S__L_prhUEh Kh!Gh"h#)r}r(hNh"U C5H11NO3Srh}rh(}rh*}r(UHK UCKUSKUOKUNKuhjubh,Uph(}rh.h/]RrubGj4G?jZGjGGjG?jG?uhNhU8L methionine S oxide transport via ABC system periplasm rhEG@@hFGh}rhHh/]RrhU METSOX1abcpprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jnGj|G?uhNhU-L methionine S oxide diffusion extracellular rhEG@@hFG@h}rhHh/]r(jjjjeRrhU METSOX1texrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?j4G?jGGjZGjG?h)r}r(hNhNhUL-methionine-R-sulfoxiderh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU847rauhUmetsox__R__L_prhUEh Kh!Gh"h#)r}r(hNh"U C5H11NO3Srh}rh(}rh*}r(UHK UCKUSKUOKUNKuhjubh,Uph(}rh.h/]RrubGjG?uhNhU8L methionine R oxide transport via ABC system periplasm rhEG@@hFGh}rhHh/]RrhU METSOX2abcpprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jmGjG?uhNhU-L methionine R oxide diffusion extracellular rhEG@@hFG@h}rhHh/]r(jjjjeRrhU METSOX2texrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r°h(}rðhPNubh)rİ}rŰ(h UMethionine Metabolismrưh }rǰ(jjVG?j7G?j|VGjZG?jGuhNhUL methionine S oxide reductaserȰhEG@@hFGh}rɰhHh/]rʰ(jVjVj)r˰}r̰(hNjKhNhUmsrArͰh}rΰjhUSTM4408rϰh Nh"NjKh,Nh(}rаjU+h.h/]RrѰubeRrҰhUMETSOXR1rӰhKGhLhMhNhNU<( ( STM4408 and STM2649 ) or ( STM4408 and STM3915 ) )r԰h(}rհhPNubh)rְ}rװ(h UMethionine Metabolismrذh }rٰ(j4Gj7G?jZG?j|VGjjVG?uhNhU"L methionine R sulfoxide reductaserڰhEG@@hFGh}r۰hHh/]rܰ(j)rݰ}rް(hNjKhNhUyeaAr߰h}rjhUSTM1291rh Nh"NjKh,Nh(}rjU+h.h/]RrubjVjVeRrhUMETSOXR2rhKGhLhMhNhNU<( ( STM1291 and STM2649 ) or ( STM1291 and STM3915 ) )rh(}rhPNubh)r}r(h U tRNA Chargingrh }r(j7GjG?jG?h)r}r(hNhNhUtRNA-Metrh}r(UCHEBI]rU29173raUKEGG]rUC01647raUPUBCHEM]rU4796rauhU trnamet_crhUEh Kh!Gh"h#)r}r(hNh"URh}rh(}rh*}rURKshURubh,Uch(}rh.h/]RrubGjGGjG?uhNhUMethionyl tRNA synthetaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmetGrh}rjhUSTM2155rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUMETTRSr hKGhLhMhNhNjh(}r hPNubh)r }r (h UTransport Inner Membraner h }r(j7G?j4G?h)r}r(hNhNhU L-Methioninerh}r(UCHEBI]rU16643raUKEGG]rUC00073raUPUBCHEM]rU3373rauhUmet__L_prhUEh Kh!Gh"h#)r}r(hNh"U C5H11NO2Srh}rh(}rh*}r(UHK UCKUSKUOKUNKuhjubh,Uph(}r h.h/]Rr!ubGjG?jZGjGGjG?uhNhU0L methionine transport via ABC system periplasm r"hEG@@hFGh}r#hHh/]r$(jjjeRr%hUMETabcppr&hKGhLhMhNhNU'( STM0246 and STM0247 and STM0245 )r'h(}r(hPNubh)r)}r*(h UTransport Outer Membrane Porinr+h }r,(jmGjG?uhNhU@L methionine transport via diffusion extracellular to periplasm r-hEG@@hFG@h}r.hHh/]r/(jjjjeRr0hUMETtexr1hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r2h(}r3hPNubh)r4}r5(h U&Inorganic Ion Transport and Metabolismr6h }r7(h)r8}r9(hNhNhU magnesiumr:h}r;(UCHEBI]r<U18420r=aUKEGG]r>UC00305r?aUPUBCHEM]r@U3599rAauhUmg2_prBhUEh Kh!Gh"h#)rC}rD(hNh"UMgrEh}rFh(}rGh*}rHjEKshjEubh,Uph(}rIh.h/]RrJubGjG@juxG?jGuhNhU(h UAlternate Carbon Metabolismr?h }r@(j,GjJ,G?jZGj],G?uhNhU'Maltodextrin glucosidase maltopentaose rAhEG@@hFGh}rBhHh/]rCj(aRrDhUMLTG3rEhKGhLhMhNhNUSTM0401rFh(}rGhPNubh)rH}rI(h UAlternate Carbon MetabolismrJh }rK(jJ,G?j,G?jGjZGuhNhU&Maltodextrin glucosidase maltohexaose rLhEG@@hFGh}rMhHh/]rNj(aRrOhUMLTG4rPhKGhLhMhNhNUSTM0401rQh(}rRhPNubh)rS}rT(h UAlternate Carbon MetabolismrUh }rV(jJ,G?jG?j,GjZGuhNhU'Maltodextrin glucosidase maltoheptaose rWhEG@@hFGh}rXhHh/]rYj(aRrZhUMLTG5r[hKGhLhMhNhNUSTM0401r\h(}r]hPNubh)r^}r_(h UMurein Recyclingr`h }ra(j%G@jEGuhNhU4murein lytic transglycosylase murein4p4p periplasm rbhEG@@hFGh}rchHh/]rd(j)re}rf(hNjKhNhUmltBrgh}rhjhUSTM2831rih Nh"NjKh,Nh(}rjjU+h.h/]Rrkubj)rl}rm(hNjKhNhUsltrnh}rojhUSTM4582rph Nh"NjKh,Nh(}rqjU+h.h/]Rrrubj)rs}rt(hNjKhNhUmltCruh}rvjhUSTM3112rwh Nh"NjKh,Nh(}rxjU+h.h/]Rryubj)rz}r{(hNjKhNhUemtAr|h}r}jhUSTM1799r~h Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUmltArh}rjhUSTM2988rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUMLTGY1pprhKGhLhMhNhNU?( STM4582 or STM2988 or STM2831 or STM1799 or STM3112 )rh(}rhPNubh)r}r(h UMurein Recyclingrh }r(j%G?j`Gj$G?uhNhU4murein lytic transglycosylase murein4p3p periplasm rhEG@@hFGh}rhHh/]r(jejjljsjzeRrhUMLTGY2pprhKGhLhMhNhNU?( STM4582 or STM2988 or STM2831 or STM1799 or STM3112 )rh(}rhPNubh)r}r(h UMurein Recyclingrh }r(jGj$G@uhNhU4murein lytic transglycosylase murein3p3p periplasm rhEG@@hFGh}rhHh/]r(jejjljsjzeRrhUMLTGY3pprhKGhLhMhNhNU?( STM4582 or STM2988 or STM2831 or STM1799 or STM3112 )rh(}rhPNubh)r}r(h UMurein Recyclingrh }r(jʮGjحG?j%G?uhNhU7murein lytic transglycosylase murein4px4p4p periplasm rhEG@@hFGh}rhHh/]r(jejjljsjzeRrhUMLTGY4pprhKGhLhMhNhNU?( STM4582 or STM2988 or STM2831 or STM1799 or STM3112 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j,GjGjMG?j],G?uhNhU)Maltodextrin phosphorylase maltopentaose rhEG@@hFG@h}rhHh/]rjaRrhUMLTP1rhKGhLhMhNhNUSTM3514rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jMG?jGjGj,G?uhNhU(Maltodextrin phosphorylase maltohexaose rhEG@@hFG@h}rhHh/]rjaRrhUMLTP2rhKGhLhMhNhNUSTM3514rh(}r²hPNubh)rò}rIJ(h UAlternate Carbon MetabolismrŲh }rƲ(jMG?j,GjG?jGuhNhU)Maltodextrin phosphorylase maltoheptaose rDzhEG@@hFG@h}rȲhHh/]rɲjaRrʲhUMLTP3r˲hKGhLhMhNhNUSTM3514r̲h(}rͲhPNubh)rβ}rϲ(h UAlternate Carbon Metabolismrвh }rѲ(h)rҲ}rӲ(hNhNhUR-Methylmalonyl-CoArԲh}rղ(UCHEBI]rֲU15465rײaUKEGG]rزUC01213rٲaUPUBCHEM]rڲU4435r۲auhU mmcoa__R_crܲhUEh Jh!Gh"h#)rݲ}r޲(hNh"UC25H35N7O19P3Sr߲h}rh(}rh*}r(UCKUHK#UOKUNKUPKUSKuhj߲ubh,Uch(}rh.h/]RrubGh)r}r(hNhNhUS-Methylmalonyl-CoArh}r(UCHEBI]rU15466raUKEGG]rUC00683raUPUBCHEM]rU3952rauhU mmcoa__S_crhUEh Jh!Gh"h#)r}r(hNh"UC25H35N7O19P3Srh}rh(}rh*}r(UCKUHK#UOKUNKUPKUSKuhjubh,Uch(}rh.h/]RrubG?uhNhUmethylmalonyl CoA epimeraserhEG@@hFG@h}rhHh/]RrhUMMErhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jWnGh)r}r(hNhNhUS-Methyl-L-methioninerh}r(UCHEBI]rU17728raUKEGG]rUC03172raUPUBCHEM]r U6054r auhUmmet_pr hUEh Kh!Gh"h#)r }r (hNh"U C6H14NO2Srh}rh(}rh*}r(UHKUCKUSKUOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhUIS methyl L methionine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUMMETtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jGh)r}r (hNhNhUMn2r!h}r"(UCHEBI]r#U18291r$aUKEGG]r%UC00034r&aUPUBCHEM]r'U3336r(auhUmn2_pr)hUEh Kh!Gh"h#)r*}r+(hNh"UMnr,h}r-h(}r.h*}r/j,Kshj,ubh,Uph(}r0h.h/]Rr1ubG?jwGjG?uhNhU:manganese Mn2 transport out via proton antiport periplasm r2hEG@@hFGh}r3hHh/]r4(j:j:eRr5hUMN2t3ppr6hKGhLhMhNhNU( STM4061 or STM0758 )r7h(}r8hPNubh)r9}r:(h U&Inorganic Ion Transport and Metabolismr;h }r<(jGjwG?uhNhU)manganese transport in via permease no H r=hEG@@hFGh}r>hHh/]r?j:aRr@hUMN2tpprAhKGhLhMhNhNUSTM3190rBh(}rChPNubh)rD}rE(h UAlternate Carbon MetabolismrFh }rG(j\G?jGjG?jZGuhNhUmannose 6 phosphate phosphataserHhEG@@hFGh}rIhHh/]rJ(jyjyeRrKhUMN6PPrLhKGhLhMhNhNU( STM0840 or STM0842 )rMh(}rNhPNubh)rO}rP(h UTransport Inner MembranerQh }rR(jG?jmG?jGh)rS}rT(hNhNhU D-MannitolrUh}rV(UCHEBI]rWU16899rXaUKEGG]rYUC00392rZaUPUBCHEM]r[U3682r\auhUmnl_pr]hUEh Kh!Gh"h#)r^}r_(hNh"UC6H14O6r`h}rah(}rbh*}rc(UHKUCKUOKuhj`ubh,Uph(}rdh.h/]RreubGuhNhU,mannitol transport via PEPPyr PTS periplasm rfhEG@@hFGh}rghHh/]rh(j)ri}rj(hNjKhNhUmtlArkh}rljhUSTM3685rmh Nh"NjKh,Nh(}rnjU+h.h/]RroubjjeRrphUMNLptspprqhKGhLhMhNhNU'( STM3685 and STM2431 and STM2432 )rrh(}rshPNubh)rt}ru(h UTransport Outer Membrane Porinrvh }rw(jSG?jnGuhNhUh Nh"NjKh,Nh(}r?jU+h.h/]Rr@ubj)rA}rB(hNjKhNhUcysWrCh}rDjhUSTM2442rEh Nh"NjKh,Nh(}rFjU+h.h/]RrGubeRrHhU MOBDabcpprIhKGhLhMhNhNU( ( STM2441 and STM2444 and STM2443 and STM2442 ) or ( STM0781 and STM0782 and STM0783 ) or ( STM2441 and STM2443 and STM2442 and STM4063 ) )rJh(}rKhPNubh)rL}rM(h UTransport Outer Membrane PorinrNh }rO(jG?jnGuhNhU=molybdate transport via diffusion extracellular to periplasm rPhEG@@hFG@h}rQhHh/]rR(jjjjeRrShUMOBDtexrThKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rUh(}rVhPNubh)rW}rX(h U*Cofactor and Prosthetic Group BiosynthesisrYh }rZ(j'G?jyGjZGh)r[}r\(hNhNhU2-Dehydropantoater]h}r^(UCHEBI]r_U 11561 17094r`aUKEGG]raUC00966rbaUPUBCHEM]rcU4217rdauhU2dhp_crehUEh Jh!Gh"h#)rf}rg(hNh"UC6H9O4rhh}rih(}rjh*}rk(UHK UCKUOKuhjhubh,Uch(}rlh.h/]RrmubG?jOGuhNhU03 methyl 2 oxobutanoate hydroxymethyltransferasernhEG@@hFGh}rohHh/]rpj)rq}rr(hNjKhNhUpanBrsh}rtjhUSTM0182ruh Nh"NjKh,Nh(}rvjU+h.h/]RrwubaRrxhUMOHMTryhKGhLhMhNhNjuh(}rzhPNubh)r{}r|(h UMurein Biosynthesisr}h }r~(jG@h)r}r(hNhNhUlUndecaprenyl-diphospho-N-acetylmuramoyl-N-acetylglucosamine-L-ala-D-glu-meso-2-6-diaminopimeloyl-D-ala-D-alarh}r(UCHEBI]rU0aUKEGG]rUC05898raUPUBCHEM]rU8186rauhU uaagmda_crhUEh Jh!Gh"h#)r}r(hNh"UC95H152N8O28P2rh}rh(}rh*}r(UHKUCK_UPKUOKUNKuhjubh,Uch(}rh.h/]RrubGjxG@j[G?uhNhU$murein polymerizing transglycosylaserhEG@@hFGh}rhHh/]r(j|jnj)r}r(hNjKhNhUpbpCrh}rjhUSTM2531rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUMPTGrhKGhLhMhNhNU%( STM2531 or STM0190 or STM3493 )rh(}rhPNubh)r}r(h UMurein Biosynthesisrh }r(jxG?jG?j[GjG?jGuhNhU:murein polymerizing transglycosylase 2 three linked units rhEG@@hFGh}rhHh/]r(j|jnjeRrhUMPTG2rhKGhLhMhNhNU%( STM0190 or STM2531 or STM3493 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUmethanesulfonaterh}r(UCHEBI]rU25224raUKEGG]rU0aUPUBCHEM]rU49991312rauhUmso3_prhUEh Jh!Gh"h#)r}r(hNh"UCH3O3Srh}rh(}rh*}r(UHKUCKUSKUOKuhjubh,Uph(}rh.h/]RrubG?jnGuhNhUDmethanesulfonate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r´(jjjjeRrôhUMSO3texrĴhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rŴh(}rƴhPNubh)rǴ}rȴ(h UArginine and Proline Metabolismrɴh }rʴ(h)r˴}r̴(hNhNhU5-Methylthioadenosinerʹh}rδ(UCHEBI]rϴU17509rдaUKEGG]rѴUC00170rҴaUPUBCHEM]rӴU3470rԴauhU5mta_crմhUEh Kh!Gh"h#)rִ}r״(hNh"U C11H15N5O3Srشh}rٴh(}rڴh*}r۴(UHKUCK USKUOKUNKuhjشubh,Uch(}rܴh.h/]RrݴubGjG?h)r޴}rߴ(hNhNhU5-Methylthio-D-riboserh}r(UCHEBI]rU16895raUKEGG]rUC03089raUPUBCHEM]rU5987rauhU5mtr_crhUEh Kh!Gh"h#)r}r(hNh"UC6H12O4Srh}rh(}rh*}r(UHK UCKUSKUOKuhjubh,Uch(}rh.h/]RrubG?jZGuhNhU methylthioadenosine nucleosidaserhEG@@hFGh}rhHh/]rj#aRrhUMTANrhKGhLhMhNhNUSTM0207rh(}rhPNubh)r}r(h UFolate Metabolismrh }r(j'G?jZGjG?h)r}r(hNhNhU5-10-Methenyltetrahydrofolaterh}r(UCHEBI]rU15638raUKEGG]rUC00445raUPUBCHEM]rU3733rauhUmethf_crhUEh Jh!Gh"h#)r}r(hNh"U C20H20N7O6r h}r h(}r h*}r (UHKUCKUOKUNKuhj ubh,Uch(}r h.h/]RrubGuhNhU'methenyltetrahydrofolate cyclohydrolaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUfolDrh}rjhUSTM0542rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUMTHFCrhKGhLhMhNhNjh(}rhPNubh)r}r(h UFolate Metabolismrh }r(jG?jyGjB GjU G?uhNhU-methylenetetrahydrofolate dehydrogenase NADP r hEG@@hFG@h}r!hHh/]r"jaRr#hUMTHFDr$hKGhLhMhNhNUSTM0542r%h(}r&hPNubh)r'}r((h UFolate Metabolismr)h }r*(j G?jPG?jyGjGj GuhNhU.5 10 methylenetetrahydrofolate reductase NADH r+hEG@@hFGh}r,hHh/]r-j)r.}r/(hNjKhNhUmetFr0h}r1jhUSTM4105r2h Nh"NjKh,Nh(}r3jU+h.h/]Rr4ubaRr5hUMTHFR2r6hKGhLhMhNhNj2h(}r7hPNubh)r8}r9(h UArginine and Proline Metabolismr:h }r;(h)r<}r=(hNhNhU)5-Methylthio-5-deoxy-D-ribose-1-phosphater>h}r?(UCHEBI]r@U0aUKEGG]rAUC04188rBaUPUBCHEM]rCU6864rDauhU5mdr1p_crEhUEh Jh!Gh"h#)rF}rG(hNh"U C6H11O7PSrHh}rIh(}rJh*}rK(UHK UCKUSKUOKUPKuhjHubh,Uch(}rLh.h/]RrMubGjG?uhNhU(5 methylthioribose 1 phosphate isomeraserNhEG@@hFG@h}rOhHh/]RrPhUMTRIrQhKGhLhMhNhNUh(}rRhPNubh)rS}rT(h UArginine and Proline MetabolismrUh }rV(jGGj޴Gj4G?jG?j<G?uhNhU5 methylthioribose kinaserWhEG@@hFGh}rXhHh/]RrYhUMTRKrZhKGhLhMhNhNUh(}r[hPNubh)r\}r](h UGlycine and Serine Metabolismr^h }r_(j G?jZGh)r`}ra(hNhNhUN-Methyltryptophanrbh}rc(UCHEBI]rdU15334reaUKEGG]rfUC02983rgaUPUBCHEM]rhU5892riauhUNmtrp_crjhUEh Kh!Gh"h#)rk}rl(hNh"U C12H14N2O2rmh}rnh(}roh*}rp(UHKUCK UOKUNKuhjmubh,Uch(}rqh.h/]RrrubGjYGj|G?j/yG?uhNhUN methyltryptophan oxidasershEG@@hFGh}rthHh/]ruj)rv}rw(hNjKhNhUsolArxh}ryjhUSTM1160rzh Nh"NjKh,Nh(}r{jU+h.h/]Rr|ubaRr}hUMTRPOXr~hKGhLhMhNhNjzh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jnGh)r}r(hNhNhU Nitrous-oxiderh}r(UCHEBI]rU17045raUKEGG]rUC00887raUPUBCHEM]rU4143rauhUn2o_prhUEh Kh!Gh"h#)r}r(hNh"UN2Orh}rh(}rh*}r(UOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhUBnitrious oxide transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUN2OtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(h)r}r(hNhNhU Nitrous-oxiderh}r(UCHEBI]rU17045raUKEGG]rUC00887raUPUBCHEM]rU4143rauhUn2o_crhUEh Kh!Gh"h#)r}r(hNh"UN2Orh}rh(}rh*}r(UOKUNKuhjubh,Uch(}rh.h/]RrubG?jGuhNhU#nitrious oxide transport diffusion rhEG@@hFG@h}rhHh/]rjFaRrhUN2OtpprhKGhLhMhNhNUs0001rh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(jtG?jZGjGjG?uhNhUN acetylornithine deacetylaserhEG@@hFGh}rhHh/]rµjVaRrõhUNACODArĵhKGhLhMhNhNUSTM4120rŵh(}rƵhPNubh)rǵ}rȵ(h UTransport Outer Membrane Porinrɵh }rʵ(joGh)r˵}r̵(hNhNhU Nicotinater͵h}rε(UCHEBI]rϵU15940rеaUKEGG]rѵUC00253rҵaUPUBCHEM]rӵU3552rԵauhUnac_prյhUEh Jh!Gh"h#)rֵ}r׵(hNh"UC6H4NO2rصh}rٵh(}rڵh*}r۵(UHKUCKUOKUNKuhjصubh,Uph(}rܵh.h/]RrݵubG?uhNhUBNicotinic acid transport via diffusion extracellular to periplasm r޵hEG@@hFG@h}rߵhHh/]r(jjjjeRrhUNACtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU Nicotinaterh}r(UCHEBI]rU15940raUKEGG]rUC00253raUPUBCHEM]rU3552rauhUnac_crhUEh Jh!Gh"h#)r}r(hNh"UC6H4NO2rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?j˵GuhNhU Nicotinic acid uptake periplasm rhEG@@hFGh}rhHh/]RrhUNACtpprhKGhLhMhNhNUh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhUNMNrh}r(UCHEBI]r U16171r aUKEGG]r UC00455r aUPUBCHEM]r U3741rauhUnmn_crhUEh Jh!Gh"h#)r}r(hNh"U C11H14N2O8Prh}rh(}rh*}r(UHKUCK UPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?jZGjG@j GuhNhUNAD diphosphataserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUnudCrh}rjhUSTM4166rh Nh"NjKh,Nh(}r jU+h.h/]Rr!ubj)r"}r#(hNjKhNhUligAr$h}r%jhUSTM2427r&h Nh"NjKh,Nh(}r'jU+h.h/]Rr(ubeRr)hUNADDPr*hKGhLhMhNhNU( STM2427 or STM4166 )r+h(}r,hPNubh)r-}r.(h UOxidative Phosphorylationr/h }r0(j5GjGjS-G?j Gj G?uhNhU+NADH dehydrogenase menaquinone 8 0 protons r1hEG@@hFGh}r2hHh/]r3j)r4}r5(hNjKhNhUndhr6h}r7jhUSTM1211r8h Nh"NjKh,Nh(}r9jU+h.h/]Rr:ubaRr;hUNADH10r<hKGhLhMhNhNj8h(}r=hPNubh)r>}r?(h UOxidative Phosphorylationr@h }rA(jO5Gj G?jG@jGj Gjb5G?uhNhU5NADH dehydrogenase ubiquinone 8 3 protons periplasm rBhEG@@hFGh}rChHh/]rD(j)rE}rF(hNjKhNhUnuoIrGh}rHjhUSTM2321rIh Nh"NjKh,Nh(}rJjU+h.h/]RrKubj)rL}rM(hNjKhNhUnuoCrNh}rOjhUSTM2326rPh Nh"NjKh,Nh(}rQjU+h.h/]RrRubj)rS}rT(hNjKhNhUnuoErUh}rVjhUSTM2325rWh Nh"NjKh,Nh(}rXjU+h.h/]RrYubj)rZ}r[(hNjKhNhUnuoNr\h}r]jhU STM2316.Sr^h Nh"NjKh,Nh(}r_jU+h.h/]Rr`ubj)ra}rb(hNjKhNhUnuoBrch}rdjhUSTM2327reh Nh"NjKh,Nh(}rfjU+h.h/]Rrgubj)rh}ri(hNjKhNhUnuoFrjh}rkjhUSTM2324rlh Nh"NjKh,Nh(}rmjU+h.h/]Rrnubj)ro}rp(hNjKhNhUnuoKrqh}rrjhUSTM2319rsh Nh"NjKh,Nh(}rtjU+h.h/]Rruubj)rv}rw(hNjKhNhUnuoMrxh}ryjhUSTM2317rzh Nh"NjKh,Nh(}r{jU+h.h/]Rr|ubj)r}}r~(hNjKhNhUnuoGrh}rjhU STM2323.Srh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnuoHrh}rjhUSTM2322rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnuoJrh}rjhUSTM2320rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnuoArh}rjhUSTM2328rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnuoLrh}rjhUSTM2318rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUNADH16pprhKGhLhMhNhNU( STM2316.S and STM2317 and STM2318 and STM2319 and STM2320 and STM2321 and STM2322 and STM2323.S and STM2324 and STM2325 and STM2326 and STM2327 and STM2328 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(j5GjG@jGj GjS-G?j G?uhNhU6NADH dehydrogenase menaquinone 8 3 protons periplasm rhEG@@hFGh}rhHh/]r(jEjjLjSjajojhjZjvjj}jjeRrhUNADH17pprhKGhLhMhNhNU( STM2316.S and STM2317 and STM2318 and STM2319 and STM2320 and STM2321 and STM2322 and STM2323.S and STM2324 and STM2325 and STM2326 and STM2327 and STM2328 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jC-G?j G?jGjG@j GjGuhNhU>NADH dehydrogenase demethylmenaquinone 8 3 protons periplasm rhEG@@hFGh}rhHh/]r(jEjjZjSjojhjjvjjajj}jLeRrhUNADH18pprhKGhLhMhNhNU( STM2316.S and STM2317 and STM2318 and STM2319 and STM2320 and STM2321 and STM2322 and STM2323.S and STM2324 and STM2325 and STM2326 and STM2327 and STM2328 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jO5Gj G?jb5G?jGj GuhNhU NADH dehydrogenase ubiquinone 8 rhEG@@hFGh}rhHh/]rj4aRrhUNADH5r¶hKGhLhMhNhNUSTM1211röh(}rĶhPNubh)rŶ}rƶ(h UOxidative PhosphorylationrǶh }rȶ(j GjC-G?jGjGj G?uhNhU3NADH dehydrogenase demethylmenaquinone 8 0 protons rɶhEG@@hFGh}rʶhHh/]r˶j4aRr̶hUNADH9rͶhKGhLhMhNhNUSTM1211rζh(}r϶hPNubh)rж}rѶ(h U*Cofactor and Prosthetic Group BiosynthesisrҶh }rӶ(j GjGGjB G?j4G?jG?uhNhU NAD kinaserԶhEG@@hFGh}rնhHh/]rֶj)r׶}rض(hNjKhNhUppnKrٶh}rڶjhUSTM2683r۶h Nh"NjKh,Nh(}rܶjU+h.h/]RrݶubaRr޶hUNADKr߶hKGhLhMhNhNj۶h(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhU Nicotinamiderh}r(UCHEBI]rU17154raUKEGG]rUC00153raUPUBCHEM]rU3453rauhUncam_crhUEh Kh!Gh"h#)r}r(hNh"UC6H6N2Orh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?j Gj#G?jZGjG?uhNhUNAD nucleosidaserhEG@@hFGh}rhHh/]RrhUNADNrhKGhLhMhNhNUh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jO5GjB G?jU Gjb5G?jGuhNhU%NADPH Quinone Reductase Ubiquinone 8 rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmdaBrh}rjhUSTM3179rh Nh"NjKh,Nh(}r jU+h.h/]Rr ubaRr hUNADPHQR2r hKGhLhMhNhNjh(}r hPNubh)r}r(h UOxidative Phosphorylationrh }r(jB G?j5GjU GjS-G?jGuhNhU&NADPH Quinone Reductase Menaquinone 8 rhEG@@hFGh}rhHh/]rjaRrhUNADPHQR3rhKGhLhMhNhNUSTM3179rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jC-G?jB G?jU GjGjGuhNhU0NADPH Quinone Reductase 2 Demethylmenaquinone 8 rhEG@@hFGh}rhHh/]rjaRr hUNADPHQR4r!hKGhLhMhNhNUSTM3179r"h(}r#hPNubh)r$}r%(h U*Cofactor and Prosthetic Group Biosynthesisr&h }r'(j G?jZGjG?jB GuhNhUNADP phosphataser(hEG@@hFGh}r)hHh/]Rr*hUNADPPPSr+hKGhLhMhNhNUh(}r,hPNubh)r-}r.(h U*Cofactor and Prosthetic Group Biosynthesisr/h }r0(h)r1}r2(hNhNhU Deamino-NADr3h}r4(UCHEBI]r5U18304r6aUKEGG]r7UC00857r8aUPUBCHEM]r9U4114r:auhUdnad_cr;hUEh Jh!Gh"h#)r<}r=(hNh"U C21H24N6O15P2r>h}r?h(}r@h*}rA(UHKUCKUPKUOKUNKuhj>ubh,Uch(}rBh.h/]RrCubGj G?jGGjG?jG?jlGjG?uhNhUNAD synthase nh3 rDhEG@@hFGh}rEhHh/]rFj)rG}rH(hNjKhNhUnadErIh}rJjhUSTM1310rKh Nh"NjKh,Nh(}rLjU+h.h/]RrMubaRrNhUNADS1rOhKGhLhMhNhNjKh(}rPhPNubh)rQ}rR(h UOxidative PhosphorylationrSh }rT(j GjU Gj G?jB G?uhNhUNAD transhydrogenaserUhEG@@hFGh}rVhHh/]rW(j)rX}rY(hNjKhNhUudhArZh}r[jhUSTM4126r\h Nh"NjKh,Nh(}r]jU+h.h/]Rr^ubj)r_}r`(hNjKhNhUpntArah}rbjhUSTM1479rch Nh"NjKh,Nh(}rdjU+h.h/]Rreubj)rf}rg(hNjKhNhUpntBrhh}rijhUSTM1480rjh Nh"NjKh,Nh(}rkjU+h.h/]RrlubeRrmhUNADTRHDrnhKGhLhMhNhNU*( STM4126 or ( STM1480 and STM1479 ) )roh(}rphPNubh)rq}rr(h U*Cofactor and Prosthetic Group Biosynthesisrsh }rt(j4G?jGGh)ru}rv(hNhNhUNicotinate-D-ribonucleotiderwh}rx(UCHEBI]ryU15763rzaUKEGG]r{UC01185r|aUPUBCHEM]r}U4411r~auhUnicrnt_crhUEh Jh!Gh"h#)r}r(hNh"U C11H12NO9Prh}rh(}rh*}r(UHK UCK UPKUOK UNKuhjubh,Uch(}rh.h/]RrubG?jG?jZGjG?jGj)#GuhNhU/nicotinic acid mononucleotide pyrophosphorylaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpncBrh}rjhUSTM1004rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUNAMNPPrhKGhLhMhNhNjh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jGj G@jGjG@uhNhU.sodium proton antiporter HNA is 15 periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUnhaBrh}rjhUSTM1806rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU NAt3_1p5pprhKGhLhMhNhNjh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jGjGjG@j G?uhNhU-sodium proton antiporter HNA is 2 periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUnhaArh}rjhUSTM0039rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUNAt3_2pprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jnGj G?uhNhU:sodium transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUNAtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r·}r÷(h UNucleotide Salvage Pathwayrķh }rŷ(j4G?jeG?jK!GjGGuhNhU%nucleoside diphosphate kinase ATPGDP rƷhEG@@hFG@h}rǷhHh/]rȷ(j=!j)rɷ}rʷ(hNjKhNhUndkr˷h}r̷jhUSTM2526rͷh Nh"NjKh,Nh(}rηjU+h.h/]RrϷubeRrзhUNDPK1rѷhKGhLhMhNhNU( STM0488 or STM2526 )rҷh(}rӷhPNubh)rԷ}rշ(h UNucleotide Salvage Pathwayrַh }r׷(jGjGGj4G?j3EG?uhNhU%nucleoside diphosphate kinase ATPUDP rطhEG@@hFG@h}rٷhHh/]rڷ(j=!jɷeRr۷hUNDPK2rܷhKGhLhMhNhNU( STM0488 or STM2526 )rݷh(}r޷hPNubh)r߷}r(h UNucleotide Salvage Pathwayrh }r(j4G?jIGjGGjFEG?uhNhU%nucleoside diphosphate kinase ATPCDP rhEG@@hFG@h}rhHh/]r(jɷj=!eRrhUNDPK3rhKGhLhMhNhNU( STM0488 or STM2526 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(j~WGjxG?j4G?jGGuhNhU&nucleoside diphosphate kinase ATPdTDP rhEG@@hFG@h}rhHh/]r(j=!jɷeRrhUNDPK4rhKGhLhMhNhNU( STM2526 or STM0488 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jGGjNGjwG?j4G?uhNhU&nucleoside diphosphate kinase ATPdGDP rhEG@@hFG@h}rhHh/]r(jɷj=!eRrhUNDPK5rhKGhLhMhNhNU( STM2526 or STM0488 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(h)r}r(hNhNhUdUDPrh}r(UCHEBI]rU28850r aUKEGG]r UC01346r aUPUBCHEM]r U4551r auhUdudp_crhUEh Jh!Gh"h#)r}r(hNh"U C9H11N2O11P2rh}rh(}rh*}r(UHK UCK UPKUOK UNKuhjubh,Uch(}rh.h/]RrubGjGGj4G?j=MG?uhNhU&nucleoside diphosphate kinase ATPdUDP rhEG@@hFG@h}rhHh/]r(jɷj=!eRrhUNDPK6rhKGhLhMhNhNU( STM0488 or STM2526 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayr h }r!(jJGjGGj4G?j*MG?uhNhU&nucleoside diphosphate kinase ATPdCDP r"hEG@@hFG@h}r#hHh/]r$(j=!jɷeRr%hUNDPK7r&hKGhLhMhNhNU( STM2526 or STM0488 )r'h(}r(hPNubh)r)}r*(h UNucleotide Salvage Pathwayr+h }r,(j4G?j\LG?jGGjJGuhNhU&nucleoside diphosphate kinase ATPdADP r-hEG@@hFG@h}r.hHh/]r/(jɷj=!eRr0hUNDPK8r1hKGhLhMhNhNU( STM2526 or STM0488 )r2h(}r3hPNubh)r4}r5(h UTransport Outer Membrane Porinr6h }r7(j5oGj3G?uhNhU;ammonia transport via diffusion extracellular to periplasm r8hEG@@hFG@h}r9hHh/]r:(jjjjeRr;hUNH4texr<hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r=h(}r>hPNubh)r?}r@(h U&Inorganic Ion Transport and MetabolismrAh }rB(jlG?j3GuhNhU'ammonia reversible transport periplasm rChEG@@hFG@h}rDhHh/]rE(j)rF}rG(hNjKhNhUamtBrHh}rIjhUSTM0463rJh Nh"NjKh,Nh(}rKjU+h.h/]RrLubjFeRrMhUNH4tpprNhKGhLhMhNhNU( s0001 or STM0463 )rOh(}rPhPNubh)rQ}rR(h UNitrogen MetabolismrSh }rT(j G?jG?jZG?jGj Gh)rU}rV(hNhNhU Nitric-oxiderWh}rX(UCHEBI]rYU16480rZaUKEGG]r[UC00533r\aUPUBCHEM]r]U3815r^auhUno_cr_hUEh Kh!Gh"h#)r`}ra(hNh"UNOrbh}rch(}rdh*}re(UOKUNKuhjbubh,Uch(}rfh.h/]RrgubGuhNhU"NADHflavorubredoxin oxidoreductaserhhEG@@hFGh}rihHh/]rj(j)rk}rl(hNjKhNhUygbDrmh}rnjhUSTM2841roh Nh"NjKh,Nh(}rpjU+h.h/]Rrqubj)rr}rs(hNjKhNhU-h}rtjhUSTM2840ruh Nh"NjKh,Nh(}rvjU+h.h/]RrwubeRrxhUNHFRBOryhKGhLhMhNhNU( STM2840 and STM2841 )rzh(}r{hPNubh)r|}r}(h U&Inorganic Ion Transport and Metabolismr~h }r(j4G?h)r}r(hNhNhUnickelrh}r(UCHEBI]rU28112raUKEGG]rUC00291raUPUBCHEM]rU3585rauhUni2_crhUEh Kh!Gh"h#)r}r(hNh"UNirh}rh(}rh*}rjKshjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhUnickelrh}r(UCHEBI]rU28112raUKEGG]rUC00291raUPUBCHEM]rU3585rauhUni2_prhUEh Kh!Gh"h#)r}r(hNh"UNirh}rh(}rh*}rjKshjubh,Uph(}rh.h/]RrubG?jG?jZGjGGjG?uhNhU%Nickle Ni2 ABC transporter periplasm rhEG@@hFGh}rhHh/]rj}:aRrhUNI2abcpprhKGhLhMhNhNUSTM3576rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jG?jGjG?jGuhNhU7nickle Ni2 transport out via proton antiport periplasm rhEG@@hFGh}rhHh/]r(j:j:eRrhUNI2t3pprhKGhLhMhNhNU( STM4061 or STM0758 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jQoGjG?uhNhU:nickel transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUNI2texrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}r¸hPNubh)rø}rĸ(h U*Cofactor and Prosthetic Group BiosynthesisrŸh }rƸ(j G?jGGjGjG?jGuhNhU+nicotinamide nucleotide adenylyltransferaserǸhEG@@hFGh}rȸhHh/]rɸ(j)rʸ}r˸(hNjKhNhUnadDr̸h}r͸jhUSTM0645rθh Nh"NjKh,Nh(}rϸjU+h.h/]Rrиubj)rѸ}rҸ(hNjKhNhUnadRrӸh}rԸjhU STM4580.Srոh Nh"NjKh,Nh(}rָjU+h.h/]Rr׸ubeRrظhUNMNATrٸhKGhLhMhNhNU( STM0645 or STM4580.S )rڸh(}r۸hPNubh)rܸ}rݸ(h U*Cofactor and Prosthetic Group Biosynthesisr޸h }r߸(jGjZGjlG?juG?uhNhUnicotinamide nucleotide amidaserhEG@@hFGh}rhHh/]RrhUNMNDArhKGhLhMhNhNUh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGjZGjG?jG?j"G?uhNhUNMN nucleosidaserhEG@@hFGh}rhHh/]RrhUNMNNrhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUNMNrh}r(UCHEBI]rU16171raUKEGG]rUC00455raUPUBCHEM]rU3741rauhUnmn_prhUEh Jh!Gh"h#)r}r(hNh"U C11H14N2O8Prh}rh(}rh*}r(UHKUCK UPKUOKUNKuhjubh,Uph(}rh.h/]RrubGjG?uhNhUNMN permease periplasm rhEG@@hFGh}rhHh/]rj)r}r (hNjKhNhUpnuCr h}r jhUSTM0757r h Nh"NjKh,Nh(}r jU+h.h/]RrubaRrhUNMNPtpprhKGhLhMhNhNj h(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGj"G?jG?jZGjG?uhNhU/NMN transport via NMN glycohydrolase periplasm rhEG@@hFGh}rhHh/]RrhUNMNt7pprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?jmoGuhNhU7NMN transport via diffusion extracellular to periplasm rhEG@@hFG@h}r hHh/]r!(jjjjeRr"hUNMNtexr#hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r$h(}r%hPNubh)r&}r'(h U*Cofactor and Prosthetic Group Biosynthesisr(h }r)(jZGjG?jGjlG?uhNhUnicotinamidaser*hEG@@hFGh}r+hHh/]r,j)r-}r.(hNjKhNhUpncAr/h}r0jhUSTM1293r1h Nh"NjKh,Nh(}r2jU+h.h/]Rr3ubaRr4hUNNAMr5hKGhLhMhNhNj1h(}r6hPNubh)r7}r8(h UNucleotide Salvage Pathwayr9h }r:(juGjGGj1G?jGjG?uhNhU)nicotinate nucleotide adenylyltransferaser;hEG@@hFG@h}r<hHh/]r=jʸaRr>hUNNATrr?hKGhLhMhNhNUSTM0645r@h(}rAhPNubh)rB}rC(h U*Cofactor and Prosthetic Group BiosynthesisrDh }rE(jG?j)#Gh)rF}rG(hNhNhU QuinolinaterHh}rI(UCHEBI]rJU16675rKaUKEGG]rLUC03722rMaUPUBCHEM]rNU6487rOauhUquln_crPhUEh Jh!Gh"h#)rQ}rR(hNh"UC7H3NO4rSh}rTh(}rUh*}rV(UHKUCKUOKUNKuhjSubh,Uch(}rWh.h/]RrXubGjGjG?juG?uhNhU4nicotinate nucleotide diphosphorylase carboxylating rYhEG@@hFGh}rZhHh/]r[j)r\}r](hNjKhNhUnadCr^h}r_jhUSTM0145r`h Nh"NjKh,Nh(}rajU+h.h/]RrbubaRrchUNNDPRrdhKGhLhMhNhNj`h(}rehPNubh)rf}rg(h U&Inorganic Ion Transport and Metabolismrhh }ri(jGh)rj}rk(hNhNhUNitriterlh}rm(UCHEBI]rnU16301roaUKEGG]rpUC00088rqaUPUBCHEM]rrU3388rsauhUno2_crthUEh Jh!Gh"h#)ru}rv(hNh"UNO2rwh}rxh(}ryh*}rz(UOKUNKuhjwubh,Uch(}r{h.h/]Rr|ubG?h)r}}r~(hNhNhUNitriterh}r(UCHEBI]rU16301raUKEGG]rUC00088raUPUBCHEM]rU3388rauhUno2_prhUEh Jh!Gh"h#)r}r(hNh"UNO2rh}rh(}rh*}r(UOKUNKuhjubh,Uph(}rh.h/]RrubGjG?uhNhU=nitrite transport in via proton symport reversible periplasm rhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUnarKrh}rjhUSTM1765rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnirCrh}rjhUSTM3476rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUNO2t2rpprhKGhLhMhNhNU( STM1765 or STM3476 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(joGj}G?uhNhU;nitrite transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUNO2texrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UNitrogen Metabolismrh }r(jO5G?j}G?j)G?h)r}r(hNhNhUNitraterh}r(UCHEBI]rU48107raUKEGG]rUC00244raUPUBCHEM]rU3543rauhUno3_prhUEh Jh!Gh"h#)r}r(hNh"UNO3rh}r¹h(}rùh*}rĹ(UOKUNKuhjubh,Uph(}rŹh.h/]RrƹubGjb5GuhNhUNitrate reductase Ubiquinol 8 rǹhEG@@hFGh}rȹhHh/]rɹ(j)rʹ}r˹(hNjKhNhUnapHr̹h}r͹jhUSTM2257rιh Nh"NjKh,Nh(}rϹjU+h.h/]Rrйubj)rѹ}rҹ(hNjKhNhUnapGrӹh}rԹjhUSTM2258rչh Nh"NjKh,Nh(}rֹjU+h.h/]Rr׹ubj)rع}rٹ(hNjKhNhUnapArڹh}r۹jhUSTM2259rܹh Nh"NjKh,Nh(}rݹjU+h.h/]Rr޹ubj)r߹}r(hNjKhNhUnapBrh}rjhUSTM2256rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnapCrh}rjhUSTM2255rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUNO3R1bpprhKGhLhMhNhNUB( STM2256 and STM2259 and STM2255 and STM2258 and STM2257 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jO5G?jZG?jjG?jG@jb5Gh)r}r(hNhNhUNitraterh}r(UCHEBI]rU48107raUKEGG]rUC00244raUPUBCHEM]rU3543rauhUno3_crhUEh Jh!Gh"h#)r}r(hNh"UNO3rh}rh(}rh*}r(UOKUNKuhjubh,Uch(}rh.h/]RrubGjGuhNhU)Nitrate reductase Ubiquinol 8 periplasm rhEG@@hFGh}r hHh/]r (j)r }r (hNjKhNhUnarHr h}rjhUSTM1763rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnarJrh}rjhUSTM1762rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnarIrh}rjhUSTM1761rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r }r!(hNjKhNhUnarYr"h}r#jhUSTM1578r$h Nh"NjKh,Nh(}r%jU+h.h/]Rr&ubj)r'}r((hNjKhNhUnarWr)h}r*jhUSTM1579r+h Nh"NjKh,Nh(}r,jU+h.h/]Rr-ubj)r.}r/(hNjKhNhUnarVr0h}r1jhUSTM1580r2h Nh"NjKh,Nh(}r3jU+h.h/]Rr4ubj)r5}r6(hNjKhNhUnarZr7h}r8jhUSTM1577r9h Nh"NjKh,Nh(}r:jU+h.h/]Rr;ubj)r<}r=(hNjKhNhUnarGr>h}r?jhUSTM1764r@h Nh"NjKh,Nh(}rAjU+h.h/]RrBubeRrChUNO3R1pprDhKGhLhMhNhNUt( ( STM1580 and STM1579 and STM1578 and STM1577 ) or ( STM1764 and STM1763 and STM1762 and STM1761 ) )rEh(}rFhPNubh)rG}rH(h UNitrogen MetabolismrIh }rJ(j}G?j5G?j)G?jGjS-GuhNhU*Nitrate reductase Menaquinol 8 periplasm rKhEG@@hFGh}rLhHh/]rM(jعjj)rN}rO(hNjKhNhUnapDrPh}rQjhUSTM2260rRh Nh"NjKh,Nh(}rSjU+h.h/]RrTubj߹eRrUhUNO3R2bpprVhKGhLhMhNhNU/( STM2255 and STM2256 and STM2259 and STM2260 )rWh(}rXhPNubh)rY}rZ(h UOxidative Phosphorylationr[h }r\(jjG?jGjG@j5G?jZG?jGjS-GuhNhU*Nitrate reductase Menaquinol 8 periplasm r]hEG@@hFGh}r^hHh/]r_(j jj.j j<j'j5jeRr`hUNO3R2pprahKGhLhMhNhNUt( ( STM1580 and STM1579 and STM1578 and STM1577 ) or ( STM1764 and STM1763 and STM1762 and STM1761 ) )rbh(}rchPNubh)rd}re(h U&Inorganic Ion Transport and Metabolismrfh }rg(jG?jjGj}G?jGuhNhU4nitrate transport in via nitrite antiport periplasm rhhEG@@hFGh}rihHh/]rj(j)rk}rl(hNjKhNhUnarUrmh}rnjhUSTM1576roh Nh"NjKh,Nh(}rpjU+h.h/]RrqubjeRrrhUNO3t7pprshKGhLhMhNhNU( STM1765 or STM1576 )rth(}ruhPNubh)rv}rw(h UTransport Outer Membrane Porinrxh }ry(jG?joGuhNhU;nitrate transport via diffusion extracellular to periplasm rzhEG@@hFG@h}r{hHh/]r|(jjjjeRr}hUNO3texr~hKGhLhMhNhNU2( STM0320 or STM0999 or STM2267 or STM1473 )rh(}rhPNubh)r}r(h UNitrogen Metabolismrh }r(j G?jG@jYGjG?j GjUGuhNhUnitric oxide dioxygenaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhmpArh}rjhUSTM2556rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUNODOxrhKGhLhMhNhNjh(}rhPNubh)r}r(h UNitrogen Metabolismrh }r(jB G?jYGjUGjU GjG?jG@uhNhUnitric oxide dioxygenaserhEG@@hFGh}rhHh/]rjaRrhUNODOyrhKGhLhMhNhNUSTM2556rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(joGh)r}r(hNhNhU Nitric-oxiderh}r(UCHEBI]rU16480raUKEGG]rUC00533raUPUBCHEM]rU3815rauhUno_prhUEh Kh!Gh"h#)r}r(hNh"UNOrh}rh(}rh*}r(UOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhU@nitric oxide transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUNOtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jGjUG?uhNhUNO transport diffusion rhEG@@hFG@h}rhHh/]rjFaRrºhUNOtpprúhKGhLhMhNhNUs0001rĺh(}rźhPNubh)rƺ}rǺ(h U*Cofactor and Prosthetic Group BiosynthesisrȺh }rɺ(jG?h)rʺ}r˺(hNhNhUO-Succinylbenzoyl-CoAr̺h}rͺ(UCHEBI]rκU15509rϺaUKEGG]rкUC03160rѺaUPUBCHEM]rҺU6045rӺauhUsbzcoa_crԺhUEh Jh!Gh"h#)rպ}rֺ(hNh"UC32H39N7O20P3Sr׺h}rغh(}rٺh*}rں(UCK UHK'UOKUNKUPKUSKuhj׺ubh,Uch(}rۺh.h/]RrܺubGj@QG?uhNhUnaphthoate synthaserݺhEG@@hFGh}r޺hHh/]rߺj)r}r(hNjKhNhUmenBrh}rjhUSTM2307rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUNPHSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jtMG?jXGjG?jZGuhNhU5 nucleotidase dUMP rhEG@@hFGh}rhHh/]r(jj)r}r(hNjKhNhUyjjGrh}rjhU STM4559.Srh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM2332rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUNTD1rhKGhLhMhNhNU'( STM2332 or STM2927 or STM4559.S )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jZGh)r}r(hNhNhU Xanthosinerh}r (UCHEBI]r U18107r aUKEGG]r UC01762r aUPUBCHEM]rU4895rauhUxtsn_crhUEh Kh!Gh"h#)r}r(hNh"U C10H12N4O6rh}rh(}rh*}r(UHK UCK UOKUNKuhjubh,Uch(}rh.h/]RrubG?jGjG?uhNhU5 nucleotidase XMP rhEG@@hFGh}rhHh/]rjaRrhUNTD10rhKGhLhMhNhNUSTM2927rh(}rhPNubh)r }r!(h UNucleotide Salvage Pathwayr"h }r#(h)r$}r%(hNhNhUXanthosine-5-phosphater&h}r'(UCHEBI]r(U15652r)aUKEGG]r*UC00655r+aUPUBCHEM]r,U3925r-auhUxmp_pr.hUEh Jh!Gh"h#)r/}r0(hNh"U C10H11N4O9Pr1h}r2h(}r3h*}r4(UHK UCK UPKUOK UNKuhj1ubh,Uph(}r5h.h/]Rr6ubGh)r7}r8(hNhNhU Xanthosiner9h}r:(UCHEBI]r;U18107r<aUKEGG]r=UC01762r>aUPUBCHEM]r?U4895r@auhUxtsn_prAhUEh Kh!Gh"h#)rB}rC(hNh"U C10H12N4O6rDh}rEh(}rFh*}rG(UHK UCK UOKUNKuhjDubh,Uph(}rHh.h/]RrIubG?jG?j)GuhNhU5 nucleotidase XMP rJhEG@@hFGh}rKhHh/]rL(j)rM}rN(hNjKhNhUushArOh}rPjhUSTM0494rQh Nh"NjKh,Nh(}rRjU+h.h/]RrSubjeRrThUNTD10pprUhKGhLhMhNhNU( STM0494 or STM4249 )rVh(}rWhPNubh)rX}rY(h UNucleotide Salvage PathwayrZh }r[(jZGj#GjK G?jG?uhNhU5 nucleotidase IMP r\hEG@@hFGh}r]hHh/]r^jaRr_hUNTD11r`hKGhLhMhNhNUSTM2927rah(}rbhPNubh)rc}rd(h UNucleotide Salvage Pathwayreh }rf(jGj)Gj+G?jG?uhNhU5 nucleotidase IMP rghEG@@hFGh}rhhHh/]ri(jMjeRrjhUNTD11pprkhKGhLhMhNhNU( STM4249 or STM0494 )rlh(}rmhPNubh)rn}ro(h UNucleotide Salvage Pathwayrph }rq(jZGjZJG?jG?h)rr}rs(hNhNhUdIMPrth}ru(UCHEBI]rvU28806rwaUKEGG]rxUC06196ryaUPUBCHEM]rzU8446r{auhUdimp_cr|hUEh Jh!Gh"h#)r}}r~(hNh"U C10H11N4O7Prh}rh(}rh*}r(UHK UCK UPKUOKUNKuhjubh,Uch(}rh.h/]RrubGuhNhU5 nucleotidase dIMP rhEG@@hFGh}rhHh/]r(jjeRrhUNTD12rhKGhLhMhNhNU( STM2332 or STM2927 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jRGjG?jRG?j)GuhNhU5 nucleotidase dIMP periplasm rhEG@@hFGh}rhHh/]r(jMjeRrhUNTD12pprhKGhLhMhNhNU( STM0494 or STM4249 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(j)GjgXG?jWGjG?uhNhU5 nucleotidase dUMP rhEG@@hFGh}rhHh/]r(jMjeRrhUNTD1pprhKGhLhMhNhNU( STM0494 or STM4249 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jGjZGjG?jTIG?uhNhU5 nucleotidase UMP rhEG@@hFGh}rhHh/]r(jjeRrhUNTD2rhKGhLhMhNhNU( STM4559.S or STM2927 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(h)r}r(hNhNhUUMPrh}r(UCHEBI]rU16695raUKEGG]rUC00105raUPUBCHEM]rU3405rauhUump_prhUEh Jh!Gh"h#)r}r(hNh"U C9H11N2O9Prh}rh(}rh*}r(UHK UCK UPKUOK UNKuhjubh,Uph(}r»h.h/]RrûubGj)GjG?jG?uhNhU5 nucleotidase UMP rĻhEG@@hFGh}rŻhHh/]rƻ(jMjeRrǻhUNTD2pprȻhKGhLhMhNhNU( STM4249 or STM0494 )rɻh(}rʻhPNubh)r˻}r̻(h UNucleotide Salvage Pathwayrͻh }rλ(jJGjaMG?jZGjG?uhNhU5 nucleotidase dCMP rϻhEG@@hFGh}rлhHh/]rѻ(jjeRrһhUNTD3rӻhKGhLhMhNhNU( STM2927 or STM2332 )rԻh(}rջhPNubh)rֻ}r׻(h UNucleotide Salvage Pathwayrػh }rٻ(jG?j)GjMG?j MGuhNhU5 nucleotidase dCMP rڻhEG@@hFGh}rۻhHh/]rܻ(jjMeRrݻhUNTD3ppr޻hKGhLhMhNhNU( STM0494 or STM4249 )r߻h(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jZGjG?jgIG?j:GuhNhU5 nucleotidase CMP rhEG@@hFGh}rhHh/]rjaRrhUNTD4rhKGhLhMhNhNUSTM2927rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jAGj)GjG?jG?uhNhU5 nucleotidase CMP rhEG@@hFGh}rhHh/]r(jjMeRrhUNTD4pprhKGhLhMhNhNU( STM4249 or STM0494 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jkWGh)r}r(hNhNhU Thymidinerh}r(UCHEBI]rU17748raUKEGG]rUC00214raUPUBCHEM]rU3514rauhUthymd_crhUEh Kh!Gh"h#)r}r(hNh"U C10H14N2O5rh}r h(}r h*}r (UHKUCK UOKUNKuhjubh,Uch(}r h.h/]Rr ubG?jZGjG?uhNhU5 nucleotidase dTMP rhEG@@hFGh}rhHh/]r(jjjeRrhUNTD5rhKGhLhMhNhNU'( STM2332 or STM2927 or STM4559.S )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jG?j)Gh)r}r(hNhNhU Thymidinerh}r(UCHEBI]rU17748raUKEGG]rUC00214r aUPUBCHEM]r!U3514r"auhUthymd_pr#hUEh Kh!Gh"h#)r$}r%(hNh"U C10H14N2O5r&h}r'h(}r(h*}r)(UHKUCK UOKUNKuhj&ubh,Uph(}r*h.h/]Rr+ubG?jWGuhNhU5 nucleotidase dTMP r,hEG@@hFGh}r-hHh/]r.(jMjeRr/hUNTD5ppr0hKGhLhMhNhNU( STM0494 or STM4249 )r1h(}r2hPNubh)r3}r4(h UNucleotide Salvage Pathwayr5h }r6(jxJGjGJG?jZGjG?uhNhU5 nucleotidase dAMP r7hEG@@hFGh}r8hHh/]r9(jjeRr:hUNTD6r;hKGhLhMhNhNU( STM2332 or STM2927 )r<h(}r=hPNubh)r>}r?(h UNucleotide Salvage Pathwayr@h }rA(jaKGj)GjJG?jG?uhNhU5 nucleotidase dAMP rBhEG@@hFGh}rChHh/]rD(jMjeRrEhUNTD6pprFhKGhLhMhNhNU( STM4249 or STM0494 )rGh(}rHhPNubh)rI}rJ(h UNucleotide Salvage PathwayrKh }rL(jGjZGj^ G?jG?uhNhU5 nucleotidase AMP rMhEG@@hFGh}rNhHh/]rOjaRrPhUNTD7rQhKGhLhMhNhNUSTM2927rRh(}rShPNubh)rT}rU(h UNucleotide Salvage PathwayrVh }rW(j-G?j9.Gj)GjG?uhNhU5 nucleotidase AMP rXhEG@@hFGh}rYhHh/]rZ(jjMeRr[hUNTD7ppr\hKGhLhMhNhNU( STM0494 or STM4249 )r]h(}r^hPNubh)r_}r`(h UNucleotide Salvage Pathwayrah }rb(jeOG?jZGjG?jNGuhNhU5 nucleotidase dGMP rchEG@@hFGh}rdhHh/]re(jjeRrfhUNTD8rghKGhLhMhNhNU( STM2332 or STM2927 )rhh(}rihPNubh)rj}rk(h UNucleotide Salvage Pathwayrlh }rm(jROG?j)GjG?j4OGuhNhU5 nucleotidase dGMP rnhEG@@hFGh}rohHh/]rp(jjMeRrqhUNTD8pprrhKGhLhMhNhNU( STM0494 or STM4249 )rsh(}rthPNubh)ru}rv(h UNucleotide Salvage Pathwayrwh }rx(jGjG?jG?jZGuhNhU5 nucleotidase GMP ryhEG@@hFGh}rzhHh/]r{jaRr|hUNTD9r}hKGhLhMhNhNUSTM2927r~h(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(j GjKG?j)GjG?uhNhU5 nucleotidase GMP rhEG@@hFGh}rhHh/]r(jMjeRrhUNTD9pprhKGhLhMhNhNU( STM4249 or STM0494 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jGGjZGj4G?jG?jG?uhNhUnucleoside triphosphatase ATP rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUhscCrh}rjhUSTM0659rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUyjeQrh}rjhUSTM4349rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUNTP1rhKGhLhMhNhNU( STM0659 or STM4349 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(ji!G?jZGjG?j|!GjG?uhNhUnucleoside triphosphatase ITP rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUyjjXrh}rjhUSTM4584rh Nh"NjKh,Nh(}rjU+h.h/]RrubjeRrhUNTP10rhKGhLhMhNhNU( STM4584 or STM4349 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(h)r}r(hNhNhUdIDPrh}r(UCHEBI]rU0aUKEGG]rUC01344raUPUBCHEM]rU4549r¼auhUdidp_crühUEh Jh!Gh"h#)rļ}rż(hNh"U C10H11N4O10P2rƼh}rǼh(}rȼh*}rɼ(UHK UCK UPKUOK UNKuhjƼubh,Uch(}rʼh.h/]Rr˼ubG?jZGjoLGjG?jG?uhNhUnucleoside triphosphatase dITP r̼hEG@@hFGh}rͼhHh/]rμjaRrϼhUNTP11rмhKGhLhMhNhNUSTM4584rѼh(}rҼhPNubh)rӼ}rԼ(h UNucleotide Salvage Pathwayrռh }rּ(jGjZGjG?h)r׼}rؼ(hNhNhUXDPrټh}rڼ(UCHEBI]rۼU0aUKEGG]rܼUC01337rݼaUPUBCHEM]r޼U4545r߼auhUxdp_crhUEh Jh!Gh"h#)r}r(hNh"U C10H11N4O12P2rh}rh(}rh*}r(UHK UCK UPKUOK UNKuhjubh,Uch(}rh.h/]RrubG?jG?uhNhUnucleoside triphosphatase XTP rhEG@@hFGh}rhHh/]rjaRrhUNTP12rhKGhLhMhNhNUSTM4584rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jZGjeGjK!G?jG?jG?uhNhUnucleoside triphosphatase GTP rhEG@@hFGh}rhHh/]rjaRrhUNTP3rhKGhLhMhNhNUSTM4349rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jZGjIG?jG?jFEGjG?uhNhUnucleoside triphosphatase CTP rhEG@@hFGh}rhHh/]rjaRrhUNTP5rhKGhLhMhNhNUSTM4349rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r (jNG?jZGjwGjG?jG?uhNhU/Nucleoside triphosphate pyrophosphorylase dgtp r hEG@@hFGh}r hHh/]r (j)r }r(hNjKhNhUmazGrh}rjhUSTM2954rh Nh"NjKh,Nh(}rjU+h.h/]RrubjUeRrhUNTPP1rhKGhLhMhNhNU( STM2954 or STM0137 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jZGjrG?joLGjG?jG?uhNhU/Nucleoside triphosphate pyrophosphorylase ditp rhEG@@hFGh}rhHh/]rj)r}r (hNjKhNhUyggVr!h}r"jhUSTM3103r#h Nh"NjKh,Nh(}r$jU+h.h/]Rr%ubaRr&hUNTPP10r'hKGhLhMhNhNj#h(}r(hPNubh)r)}r*(h UNucleotide Salvage Pathwayr+h }r,(jGjG?jZGjG?jG?uhNhU.Nucleoside triphosphate pyrophosphorylase xtp r-hEG@@hFGh}r.hHh/]r/jaRr0hUNTPP11r1hKGhLhMhNhNUSTM3103r2h(}r3hPNubh)r4}r5(h UNucleotide Salvage Pathwayr6h }r7(jG?jG?jZGjeGjG?uhNhU.Nucleoside triphosphate pyrophosphorylase gtp r8hEG@@hFGh}r9hHh/]r:(j jUeRr;hUNTPP2r<hKGhLhMhNhNU( STM0137 or STM2954 )r=h(}r>hPNubh)r?}r@(h UNucleotide Salvage PathwayrAh }rB(jJG?j*MGjZGjG?jG?uhNhU/Nucleoside triphosphate pyrophosphorylase dctp rChEG@@hFGh}rDhHh/]rE(j)rF}rG(hNjKhNhU-h}rHjhUSTM1301rIh Nh"NjKh,Nh(}rJjU+h.h/]RrKubj)rL}rM(hNjKhNhUyfaOrNh}rOjhUSTM2295rPh Nh"NjKh,Nh(}rQjU+h.h/]RrRubj eRrShUNTPP3rThKGhLhMhNhNU%( STM2954 or STM2295 or STM1301 )rUh(}rVhPNubh)rW}rX(h UNucleotide Salvage PathwayrYh }rZ(j:G?jZGjG?jG?jFEGuhNhU.Nucleoside triphosphate pyrophosphorylase ctp r[hEG@@hFGh}r\hHh/]r](jFj eRr^hUNTPP4r_hKGhLhMhNhNU( STM2954 or STM1301 )r`h(}rahPNubh)rb}rc(h UNucleotide Salvage Pathwayrdh }re(jxJG?jZGj\LGjG?jG?uhNhU/Nucleoside triphosphate pyrophosphorylase datp rfhEG@@hFGh}rghHh/]rh(j j UeRrihUNTPP5rjhKGhLhMhNhNU( STM2954 or STM1900 )rkh(}rlhPNubh)rm}rn(h UNucleotide Salvage Pathwayroh }rp(jGGjZGjG?jG?jG?uhNhU.Nucleoside triphosphate pyrophosphorylase atp rqhEG@@hFGh}rrhHh/]rsj aRrthUNTPP6ruhKGhLhMhNhNUSTM2954rvh(}rwhPNubh)rx}ry(h UNucleotide Salvage Pathwayrzh }r{(jkWG?jZGjG?jxGjG?uhNhU/Nucleoside triphosphate pyrophosphorylase dttp r|hEG@@hFGh}r}hHh/]r~(jLj eRrhUNTPP7rhKGhLhMhNhNU( STM2295 or STM2954 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jG?jZGj3EGjG?jG?uhNhU.Nucleoside triphosphate pyrophosphorylase utp rhEG@@hFGh}rhHh/]rj aRrhUNTPP8rhKGhLhMhNhNUSTM2954rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jZGjG?j|!Gj#G?jG?uhNhU.Nucleoside triphosphate pyrophosphorylase itp rhEG@@hFGh}rhHh/]rjaRrhUNTPP9rhKGhLhMhNhNUSTM3103rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jf9G?jZGjwGjeOG?uhNhU(Nucleoside triphosphate tripolyhydrolaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUdgtrh}rjhUSTM0208rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUNTPTP1rhKGhLhMhNhNjh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jZGjeGjG?jf9G?uhNhU(Nucleoside triphosphate tripolyhydrolaserhEG@@hFGh}rhHh/]rjaRrhUNTPTP2rhKGhLhMhNhNUSTM0208rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(j Gj G@jZG@jGjlG?jjGuhNhUnitrite Reductase NADH rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUnirBrh}rjhUSTM3474rh Nh"NjKh,Nh(}rjU+h.h/]Rr½ubj)rý}rĽ(hNjKhNhUnirDrŽh}rƽjhUSTM3475rǽh Nh"NjKh,Nh(}rȽjU+h.h/]RrɽubeRrʽhUNTRIR2xr˽hKGhLhMhNhNU( STM3474 and STM3475 )r̽h(}rͽhPNubh)rν}rϽ(h UNitrogen Metabolismrнh }rѽ(jO5G@j}Gj)G@jGj3G?jb5GuhNhU)nitrite Reductase Ubiquinole 8 periplasm rҽhEG@@hFGh}rӽhHh/]rԽ(j)rս}rֽ(hNjKhNhUnrfDr׽h}rؽjhUSTM4280rٽh Nh"NjKh,Nh(}rڽjU+h.h/]Rr۽ubj)rܽ}rݽ(hNjKhNhUnrfCr޽h}r߽jhUSTM4279rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnrfArh}rjhUSTM4277rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnrfBrh}rjhU STM4278.Srh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUNTRIR3pprhKGhLhMhNhNU7( STM4277 and STM4278.S and STM4279 and STM4280 )rh(}rhPNubh)r}r(h UNitrogen Metabolismrh }r(jS-Gj}Gj5G@j)G@jGj3G?uhNhU*nitrite Reductase Menaquinole 8 periplasm rhEG@@hFGh}rhHh/]r(jjսjܽjeRrhUNTRIR4pprhKGhLhMhNhNU7( STM4277 and STM4278.S and STM4279 and STM4280 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(joGh)r}r(hNhNhUSuperoxide-anionrh}r(UCHEBI]rU18421r aUKEGG]r UC00704r aUPUBCHEM]r U3971r auhUo2s_prhUEh Jh!Gh"h#)r}r(hNh"UO2rh}rh(}rh*}rUOKshjubh,Uph(}rh.h/]RrubG?uhNhUDsuperoxide anion transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUO2StexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinr h }r!(joGjjEG?uhNhU:oxygen transport via diffusion extracellular to periplasm r"hEG@@hFG@h}r#hHh/]r$(jjjjeRr%hUO2texr&hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r'h(}r(hPNubh)r)}r*(h U&Inorganic Ion Transport and Metabolismr+h }r,(jYG?jjEGuhNhU%o2 transport via diffusion periplasm r-hEG@@hFG@h}r.hHh/]r/jFaRr0hUO2tppr1hKGhLhMhNhNUs0001r2h(}r3hPNubh)r4}r5(h UPyruvate Metabolismr6h }r7(jmG?jG?j5GjGuhNhUoxaloacetate decarboxylaser8hEG@@hFGh}r9hHh/]r:jo\aRr;hUOAADCr<hKGhLhMhNhNUSTM1884r=h(}r>hPNubh)r?}r@(h UAlternate Carbon MetabolismrAh }rB(jv-G?jGj:GjG?uhNhU2 Oxobutanoate formate lyaserChEG@@hFGh}rDhHh/]rE(j)rF}rG(hNjKhNhUpflArHh}rIjhUSTM0970rJh Nh"NjKh,Nh(}rKjU+h.h/]RrLubj)rM}rN(hNjKhNhUyfiDrOh}rPjhUSTM2646rQh Nh"NjKh,Nh(}rRjU+h.h/]RrSubj)rT}rU(hNjKhNhUtdcErVh}rWjhUSTM3241rXh Nh"NjKh,Nh(}rYjU+h.h/]RrZubj)r[}r\(hNjKhNhUpflBr]h}r^jhUSTM0973r_h Nh"NjKh,Nh(}r`jU+h.h/]RraubeRrbhUOBTFLrchKGhLhMhNhNUm( ( ( STM0970 and STM0973 ) and STM2646 ) or ( STM0970 and STM0973 ) or ( STM0970 and STM3241 ) )rdh(}rehPNubh)rf}rg(h UTransport Outer Membranerhh }ri(jpGj{G?uhNhUZOctadecanoate transport via facilitated irreversible diffusion extracellular to periplasm rjhEG@@hFGh}rkhHh/]rljMaRrmhU OCDCAtexirnhKGhLhMhNhNUSTM2391roh(}rphPNubh)rq}rr(h UTransport Outer Membranersh }rt(j1pGj{G?uhNhUaOctadecenoate n C181 transport via facilitated irreversible diffusion extracellular to periplasm ruhEG@@hFGh}rvhHh/]rwjMaRrxhU OCDCEAtexiryhKGhLhMhNhNUSTM2391rzh(}r{hPNubh)r|}r}(h UTransport Outer Membrane Porinr~h }r(j:|G?jLpGuhNhU=Octanoate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUOCTAtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j%GjSGjSQG?jG@uhNhU!Octaprenyl pyrophosphate synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUispBrh}rjhUSTM3305rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUOCTDPSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UMembrane Lipid Metabolismrh }r(j{GjG?uhNhU(Octadecenoyl coa cis trans isomerizationrhEG@@hFGh}rhHh/]rj[aRrhUODECOAIrhKGhLhMhNhNUSTM3983rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jG?h)r}r(hNhNhU"2-Oxo-3-hydroxy-4-phosphobutanoaterh}r(UCHEBI]rU27951raUKEGG]rUC06054raUPUBCHEM]rU8324rauhUohpb_crhUEh Jh!Gh"h#)r}r(hNh"UC4H4O8Prh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Uch(}rh.h/]RrubGjGh)r}r(hNhNhUO-Phospho-4-hydroxy-L-threoninerh}r(UCHEBI]rU18336raUKEGG]rUC06055raUPUBCHEM]r¾U8325rþauhUphthr_crľhUEh Jh!Gh"h#)rž}rƾ(hNh"UC4H8NO7PrǾh}rȾh(}rɾh*}rʾ(UHKUCKUPKUOKUNKuhjǾubh,Uch(}r˾h.h/]Rr̾ubG?uhNhU>O Phospho 4 hydroxy L threonine2 oxoglutarate aminotransferaser;hEG@@hFG@h}rξhHh/]rϾj)rо}rѾ(hNjKhNhUserCrҾh}rӾjhUSTM0977rԾh Nh"NjKh,Nh(}rվjU+h.h/]Rr־ubaRr׾hUOHPBATrؾhKGhLhMhNhNjԾh(}rپhPNubh)rھ}r۾(h U*Cofactor and Prosthetic Group Biosynthesisrܾh }rݾ(jwGh)r޾}r߾(hNhNhU2-Octaprenyl-6-methoxyphenolrh}r(UCHEBI]rU1235raUKEGG]rUC05812raUPUBCHEM]rU8107rauhU2omph_crhUEh Kh!Gh"h#)r}r(hNh"UC47H72O2rh}rh(}rh*}r(UHKHUCK/UOKuhjubh,Uch(}rh.h/]RrubG?j'G?j!GjG?uhNhU&2 octaprenyl 6 hydroxyphenol methylaserhEG@@hFGh}rhHh/]rj TaRrhUOHPHMrhKGhLhMhNhNUSTM2276rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhU/2-Octaprenyl-3-methyl-6-methoxy-1-4-benzoquinolrh}r(UCHEBI]rU28636raUKEGG]rUC05814raUPUBCHEM]rU8109rauhU2ommbl_crhUEh Kh!Gh"h#)r}r(hNh"UC48H74O3r h}r h(}r h*}r (UHKJUCK0UOKuhj ubh,Uch(}r h.h/]RrubG?j'G?j!GjG?h)r}r(hNhNhU&2-Octaprenyl-6-methoxy-1-4-benzoquinolrh}r(UCHEBI]rU17551raUKEGG]rU0aUPUBCHEM]rU 958 ??5650rauhU2ombzl_crhUEh Kh!Gh"h#)r}r(hNh"UC47H72O3rh}rh(}rh*}r(UHKHUCK/UOKuhjubh,Uch(}rh.h/]Rr ubGuhNhU,2 Octaprenyl 6 methoxy benzoquinol methylaser!hEG@@hFGh}r"hHh/]r#jh-aRr$hUOMBZLMr%hKGhLhMhNhNUSTM3970r&h(}r'hPNubh)r(}r)(h U(Valine Leucine and Isoleucine Metabolismr*h }r+(jG?jGj٣G?jGuhNhU22 Oxo 4 methyl 3 carboxypentanoate decarboxylationr,hEG@@hFGh}r-hHh/]r.jaRr/hUOMCDCr0hKGhLhMhNhNUSTM0112r1h(}r2hPNubh)r3}r4(h U*Cofactor and Prosthetic Group Biosynthesisr5h }r6(j TG?jGjYGuhNhU;2 Octaprenyl 3 methyl 6 methoxy 1 4 benzoquinol hydroxylaser7hEG@@hFGh}r8hHh/]r9j)r:}r;(hNjKhNhUubiFr<h}r=jhUSTM0671r>h Nh"NjKh,Nh(}r?jU+h.h/]Rr@ubaRrAhUOMMBLHXrBhKGhLhMhNhNj>h(}rChPNubh)rD}rE(h U*Cofactor and Prosthetic Group BiosynthesisrFh }rG(j TG?j Gj4G@jGGjZGjG@jGj G?jG@uhNhUF2 Octaprenyl 3 methyl 6 methoxy 1 4 benzoquinol hydroxylase anaerobic rHhEG@@hFGh}rIhHh/]RrJhUOMMBLHX3rKhKGhLhMhNhNUh(}rLhPNubh)rM}rN(h U"Purine and Pyrimidine BiosynthesisrOh }rP(jG?jG?h)rQ}rR(hNhNhUOrotidine-5-phosphaterSh}rT(UCHEBI]rUU15842rVaUKEGG]rWUC01103rXaUPUBCHEM]rYU4337rZauhUorot5p_cr[hUEh Jh!Gh"h#)r\}r](hNh"U C10H10N2O11Pr^h}r_h(}r`h*}ra(UHK UCK UPKUOK UNKuhj^ubh,Uch(}rbh.h/]RrcubGjGuhNhU#orotidine 5 phosphate decarboxylaserdhEG@@hFGh}rehHh/]rfj)rg}rh(hNjKhNhUpyrFrih}rjjhUSTM1707rkh Nh"NjKh,Nh(}rljU+h.h/]RrmubaRrnhUOMPDCrohKGhLhMhNhNjkh(}rphPNubh)rq}rr(h U*Cofactor and Prosthetic Group Biosynthesisrsh }rt(jYGj޾GjG?uhNhU(2 octaprenyl 6 methoxyphenol hydroxylaseruhEG@@hFGh}rvhHh/]rwj)rx}ry(hNjKhNhUubiHrzh}r{jhUSTM3057r|h Nh"NjKh,Nh(}r}jU+h.h/]Rr~ubaRrhUOMPHHXrhKGhLhMhNhNj|h(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j4G@jG?j Gj޾GjGGjZGjG@j G?jG@uhNhU32 octaprenyl 6 methoxyphenol hydroxylase anaerobic rhEG@@hFGh}rhHh/]RrhUOMPHHX3rhKGhLhMhNhNUh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGj GjG?h)r}r(hNhNhU2-Octaprenylphenolrh}r(UCHEBI]rU40407raUKEGG]rUC05810raUPUBCHEM]rU8105rauhU2oph_crhUEh Kh!Gh"h#)r}r(hNh"UC46H70Orh}rh(}rh*}r(UHKFUCK.UOKuhjubh,Uch(}rh.h/]RrubG?uhNhU(Octaprenyl hydroxybenzoate decarboxylaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUyigCrh}rjhUSTM3978rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUubiXrh}rjhUSTM2356rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUOPHBDCrhKGhLhMhNhNU( STM3978 or STM2356 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jYGjwG?jGuhNhU2 Octaprenylphenol hydroxylaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUubiBrh}rjhUSTM3972r¿h Nh"NjKh,Nh(}rÿjU+h.h/]RrĿubaRrſhUOPHHXrƿhKGhLhMhNhNj¿h(}rǿhPNubh)rȿ}rɿ(h U*Cofactor and Prosthetic Group Biosynthesisrʿh }r˿(j G?j4G@jGjGGjZGjwG?jG@jG@j GuhNhU)2 Octaprenylphenol hydroxylase anaerobic r̿hEG@@hFGh}rͿhHh/]RrοhUOPHHX3rϿhKGhLhMhNhNUh(}rпhPNubh)rѿ}rҿ(h UArginine and Proline Metabolismrӿh }rԿ(j%G?jG?jGj@GuhNhUOrnithine DecarboxylaserտhEG@@hFGh}rֿhHh/]r׿(j)rؿ}rٿ(hNjKhNhUspeCrڿh}rۿjhUSTM3114rܿh Nh"NjKh,Nh(}rݿjU+h.h/]Rr޿ubj)r߿}r(hNjKhNhUspeFrh}rjhUSTM0701rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUORNDCrhKGhLhMhNhNU( STM3114 or STM0701 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?jZGj1GjGGjG?jG?j@G?uhNhU-ornithine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j{2j2j2j2eRrhUORNabcpprhKGhLhMhNhNU5( STM2355 and STM2352 and STM2351 and STM2353 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j1G?jhpGuhNhU=ornithine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUORNtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUOrotaterh}r(UCHEBI]rU16742r aUKEGG]r UC00295r aUPUBCHEM]r U3589r auhUorot_prhUEh Jh!Gh"h#)r}r(hNh"UC5H3N2O4rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uph(}rh.h/]RrubGjGjQG?jG@uhNhU4Orotate transport via proton symport 2 H periplasm rhEG@@hFGh}rhHh/]rjs6aRrhU OROTt2_2pprhKGhLhMhNhNUSTM3614rh(}rhPNubh)r}r(h UTransport Inner Membraner h }r!(jGh)r"}r#(hNhNhU Oxaloacetater$h}r%(UCHEBI]r&U30744r'aUKEGG]r(UC00036r)aUPUBCHEM]r*U3338r+auhUoaa_pr,hUEh Jh!Gh"h#)r-}r.(hNh"UC4H2O5r/h}r0h(}r1h*}r2(UHKUCKUOKuhj/ubh,Uph(}r3h.h/]Rr4ubGj5G?jG@uhNhU9Oxaloacetate transport via proton symport 2 H periplasm r5hEG@@hFGh}r6hHh/]r7js6aRr8hU OAAt2_2ppr9hKGhLhMhNhNUSTM3614r:h(}r;hPNubh)r<}r=(h UTransport Outer Membrane Porinr>h }r?(jG?jpGuhNhU;Orotate transport via diffusion extracellular to periplasm r@hEG@@hFG@h}rAhHh/]rB(jjjjeRrChUOROTtexrDhKGhLhMhNhNU2( STM1473 or STM0999 or STM0320 or STM2267 )rEh(}rFhPNubh)rG}rH(h UTransport Outer Membrane PorinrIh }rJ(jpGj"G?uhNhU@Oxaloacetate transport via diffusion extracellular to periplasm rKhEG@@hFG@h}rLhHh/]rM(jjjjeRrNhUOAAtexrOhKGhLhMhNhNU2( STM1473 or STM0999 or STM0320 or STM2267 )rPh(}rQhPNubh)rR}rS(h U"Purine and Pyrimidine BiosynthesisrTh }rU(j)#G?jQGjQG?jGuhNhU!orotate phosphoribosyltransferaserVhEG@@hFG@h}rWhHh/]rXj)rY}rZ(hNjKhNhUpyrEr[h}r\jhUSTM3733r]h Nh"NjKh,Nh(}r^jU+h.h/]Rr_ubaRr`hUORPTrahKGhLhMhNhNj]h(}rbhPNubh)rc}rd(h U Unassignedreh }rf(h)rg}rh(hNhNhU Oxalureaterih}rj(UCHEBI]rkU16582rlaUKEGG]rmUC00802rnaUPUBCHEM]roU4060rpauhUoxur_crqhUEh Jh!Gh"h#)rr}rs(hNh"UC3H3N2O4rth}ruh(}rvh*}rw(UHKUCKUOKUNKuhjtubh,Uch(}rxh.h/]RryubGj4G?jGjTG?uhNhUoxamate transcarbamoylaserzhEG@@hFGh}r{hHh/]Rr|hUOXAMTCr}hKGhLhMhNhNUh(}r~hPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhU0Succinate-semialdehyde-thiamin-diphosphate-anionrh}r(UCHEBI]rU0aUKEGG]rUC05816raUPUBCHEM]rU0auhU ssaltpp_crhUEh Jh!Gh"h#)r}r(hNh"UC16H21N4O10P2Srh}rh(}rh*}r(UCKUHKUOK UNKUPKUSKuhjubh,Uch(}rh.h/]RrubG?jG?jUyGjGjGuhNhU2 oxoglutarate decarboxylaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmenDrh}rjhUSTM2309rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUOXGDC2rhKGhLhMhNhNjh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(j GjG?jZGjG?j G?jGuhNhU'1 pyrroline 5 carboxylate dehydrogenaserhEG@@hFGh}rhHh/]rjFaRrhUP5CDrhKGhLhMhNhNUs0001rh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(j .G?jB G?jU GjGjGuhNhU!pyrroline 5 carboxylate reductaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUproCrh}rjhUSTM0386rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUP5CRrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?j>G?jGGjZGjE&GjG?jG?uhNhU8phosphatidate transport via ABC system n C120 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PA120abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?jGGjZGjG?j|&Gj>G?jG?uhNhU8phosphatidate transport via ABC system n C140 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PA140abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?jGGjZGjG?jG?j>G?j&GuhNhU8phosphatidate transport via ABC system n C141 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PA141abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jO?G?jGGjZGjG?j4G?jG?j&GuhNhU8phosphatidate transport via ABC system n C160 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PA160abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jk?G?j4G?j 'GjZGjGGjG?jG?uhNhU8phosphatidate transport via ABC system n C161 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PA161abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGGj?G?jZGj='GjG?j4G?jG?uhNhU8phosphatidate transport via ABC system n C180 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PA180abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j['Gj4G?jZGj?G?jGGjG?jG?uhNhU8phosphatidate transport via ABC system n C181 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PA181abcpprhKGhLhMhNhNUSTM0984rh(}r hPNubh)r }r (h UTransport Inner Membraner h }r (jGh)r}r(hNhNhUPhenylacetaldehyderh}r(UCHEBI]rU16424raUKEGG]rUC00601raUPUBCHEM]rU3876rauhUpacald_prhUEh Kh!Gh"h#)r}r(hNh"UC8H8Orh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}rh.h/]Rr ubGh)r!}r"(hNhNhUPhenylacetaldehyder#h}r$(UCHEBI]r%U16424r&aUKEGG]r'UC00601r(aUPUBCHEM]r)U3876r*auhUpacald_cr+hUEh Kh!Gh"h#)r,}r-(hNh"UC8H8Or.h}r/h(}r0h*}r1(UHKUCKUOKuhj.ubh,Uch(}r2h.h/]Rr3ubG?jG?uhNhUEphenylacetaldehyde reversible transport via proton symport periplasm r4hEG@@hFG@h}r5hHh/]Rr6hU PACALDt2rppr7hKGhLhMhNhNUh(}r8hPNubh)r9}r:(h UTransport Outer Membrane Porinr;h }r<(jpGjG?uhNhUIphenethylacetaldehyde transport via diffusion extracellular to periplasm r=hEG@@hFG@h}r>hHh/]r?(jjjjeRr@hU PACALDtexrAhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rBh(}rChPNubh)rD}rE(h U*Cofactor and Prosthetic Group BiosynthesisrFh }rG(jG?jG?h)rH}rI(hNhNhU R-PantoaterJh}rK(UCHEBI]rLU 14737 15980rMaUKEGG]rNUC00522rOaUPUBCHEM]rPU3805rQauhU pant__R_crRhUEh Jh!Gh"h#)rS}rT(hNh"UC6H11O4rUh}rVh(}rWh*}rX(UHK UCKUOKuhjUubh,Uch(}rYh.h/]RrZubGjG?h)r[}r\(hNhNhUR-Pantothenater]h}r^(UCHEBI]r_U29032 46905 7916r`aUKEGG]raUC00864rbaUPUBCHEM]rcU4121rdauhU pnto__R_crehUEh Jh!Gh"h#)rf}rg(hNh"UC9H16NO5rhh}rih(}rjh*}rk(UHKUCK UOKUNKuhjhubh,Uch(}rlh.h/]RrmubG?jGGj4GuhNhUpantothenate synthasernhEG@@hFGh}rohHh/]rpj)rq}rr(hNjKhNhUpanCrsh}rtjhUSTM0181ruh Nh"NjKh,Nh(}rvjU+h.h/]RrwubaRrxhUPANTSryhKGhLhMhNhNjuh(}rzhPNubh)r{}r|(h UGlycerophospholipid Metabolismr}h }r~(jZGjG?h1G?jE&GuhNhU!Phosphatidate phosphatase n C120 rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpgpBrh}rjhUSTM1710rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPAPA120rhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j>Gj)GhG?jG?uhNhU-Phosphatidate phosphatase periplasmic n C120 rhEG@@hFGh}rhHh/]rjaRrhU PAPA120pprhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jZGj|&GjG?hUG?uhNhU!Phosphatidate phosphatase n C140 rhEG@@hFGh}rhHh/]rjaRrhUPAPA140rhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?j)GhhG?j>GuhNhU-Phosphatidate phosphatase periplasmic n C140 rhEG@@hFGh}rhHh/]rjaRrhU PAPA140pprhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jZGj&GhG?jG?uhNhU!Phosphatidate phosphatase n C141 rhEG@@hFGh}rhHh/]rjaRrhUPAPA141rhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(hG?j)Gj>GjG?uhNhU-Phosphatidate phosphatase periplasmic n C141 rhEG@@hFGh}rhHh/]rjaRrhU PAPA141pprhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jZGhG?jG?j&GuhNhU!Phosphatidate phosphatase n C160 rhEG@@hFGh}rhHh/]rjaRrhUPAPA160rhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jO?GhG?j)GjG?uhNhU-Phosphatidate phosphatase periplasmic n C160 rhEG@@hFGh}rhHh/]rjaRrhU PAPA160pprhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(hG?j 'GjZGjG?uhNhU!Phosphatidate phosphatase n C161 rhEG@@hFGh}rhHh/]rjaRrhUPAPA161rhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(hG?j)Gjk?GjG?uhNhU-Phosphatidate phosphatase periplasmic n C161 rhEG@@hFGh}rhHh/]rjaRrhU PAPA161pprhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jZGjG?j$G?j='GuhNhU!Phosphatidate phosphatase n C180 rhEG@@hFGh}rhHh/]rjaRrhUPAPA180rhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j)GjG?jG?j?GuhNhU-Phosphatidate phosphatase periplasmic n C180 rhEG@@hFGh}rhHh/]rjaRrhU PAPA180pprhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j['GjZGj@G?jG?uhNhU!Phosphatidate phosphatase n C181 r hEG@@hFGh}r hHh/]r jaRr hUPAPA181r hKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j?Gj)GjSG?jG?uhNhU-Phosphatidate phosphatase periplasmic n C181 rhEG@@hFGh}rhHh/]rjaRrhU PAPA181pprhKGhLhMhNhNUSTM1710rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(j$Gh)r}r (hNhNhUTUDP-N-acetylmuramoyl-L-alanyl-D-glutamyl-meso-2-6-diaminopimeloyl-D-alanyl-D-alaniner!h}r"(UCHEBI]r#U0aUKEGG]r$UC04882r%aUPUBCHEM]r&U7434r'auhUugmda_cr(hUEh Jh!Gh"h#)r)}r*(hNh"U C41H61N9O28P2r+h}r,h(}r-h*}r.(UHK=UCK)UPKUOKUNK uhj+ubh,Uch(}r/h.h/]Rr0ubGh)r1}r2(hNhNhUgUndecaprenyl-diphospho-N-acetylmuramoyl-L-alanyl-D-glutamyl-meso-2-6-diaminopimeloyl-D-alanyl-D-alaniner3h}r4(UCHEBI]r5U0aUKEGG]r6UC05897r7aUPUBCHEM]r8U8185r9auhUuagmda_cr:hUEh Jh!Gh"h#)r;}r<(hNh"UC87H139N7O23P2r=h}r>h(}r?h*}r@(UHKUCKWUPKUOKUNKuhj=ubh,Uch(}rAh.h/]RrBubG?jG?uhNhUKphospho N acetylmuramoyl pentapeptide transferase meso 2 6 diaminopimelate rChEG@@hFGh}rDhHh/]rEj)rF}rG(hNjKhNhUmraYrHh}rIjhUSTM0125rJh Nh"NjKh,Nh(}rKjU+h.h/]RrLubaRrMhUPAPPT3rNhKGhLhMhNhNjJh(}rOhPNubh)rP}rQ(h UCysteine MetabolismrRh }rS(jzFG?j4G?j|VGjjVG?jG@j`#GuhNhU.phosphoadenylyl sulfate reductase thioredoxin rThEG@@hFGh}rUhHh/]rV(j)rW}rX(hNjKhNhUcysHrYh}rZjhUSTM2946r[h Nh"NjKh,Nh(}r\jU+h.h/]Rr]ubjVjVeRr^hUPAPSRr_hKGhLhMhNhNU<( ( STM2946 and STM2649 ) or ( STM2946 and STM3915 ) )r`h(}rahPNubh)rb}rc(h UCysteine Metabolismrdh }re(jeGj`#GjzFG?jVG?jG@j4G?uhNhU/phosphoadenylyl sulfate reductase glutaredoxin rfhEG@@hFGh}rghHh/]rh(jxjjjWjeRrihUPAPSR2rjhKGhLhMhNhNUz( ( STM2946 and STM0872 ) or ( STM2946 and STM1165 ) or ( STM2946 and STM1433 ) or ( STM2946 and STM3702 ) )rkh(}rlhPNubh)rm}rn(h UGlycolysisGluconeogenesisroh }rp(jmGj G?jG?jGjG?j GuhNhUpyruvate dehydrogenaserqhEG@@hFGh}rrhHh/]rs(j)rt}ru(hNjKhNhUaceErvh}rwjhUSTM0152rxh Nh"NjKh,Nh(}ryjU+h.h/]Rrzubj(j)r{}r|(hNjKhNhUaceFr}h}r~jhUSTM0153rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUPDHrhKGhLhMhNhNU'( STM0152 and STM0153 and STM0154 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jG?j G?j)G?h)r}r(hNhNhUPyridoxine-5-phosphaterh}r(UCHEBI]rU28803raUKEGG]rUC00627raUPUBCHEM]rU3900rauhUpdx5p_crhUEh Jh!Gh"h#)r}r(hNh"U C8H10NO6Prh}rh(}rh*}r(UHK UCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubGj GuhNhU(pyridoxine 5 phosphate oxidase anaerboicrhEG@@hFGh}rhHh/]RrhUPDX5PO2rhKGhLhMhNhNUh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGj G?jYGj)G?uhNhUpyridoxine 5 phosphate oxidaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpdxHrh}rjhUSTM1448rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPDX5POirhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j GjG?jZG@jG?jG?jXGj G?jGjG?uhNhUPyridoxine 5 phosphate synthaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUpdxArh}rjhUSTM0163rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUpdxJrh}rjhUSTM2578rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUpdxArh}rjhUSTM0091rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUPDX5PSrhKGhLhMhNhNU'( ( STM0091 or STM0163 ) and STM2578 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhU Pyridoxinerh}r(UCHEBI]rU16709raUKEGG]rUC00314raUPUBCHEM]rU3608rauhUpydxn_crhUEh Kh!Gh"h#)r}r(hNh"UC8H11NO3rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jZGjG?jGuhNhU"Pyridoxine 5 phosphate phosphataserhEG@@hFGh}rhHh/]RrhUPDXPPrhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU,phosphatidylethanolamine-didodecanoyl-n-C120rh}r(UCHEBI]rU16038raUKEGG]rUC00350raUPUBCHEM]rU3643rauhUpe120_prhUEh Kh!Gh"h#)r}r(hNh"U C29H58N1O8P1rh}rh(}rh*}r(UHK:UCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubG?jnGjGGjZGjG?jG?j4G?uhNhUCphosphatidylethanolamine transport via ABC system n C120 periplasm rhEG@@hFGh}rhHh/]rjAaRr hU PE120abcppr hKGhLhMhNhNUSTM0984r h(}r hPNubh)r }r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU/phosphatidylethanolamine-ditetradecanoyl-n-C140rh}r(UCHEBI]rU16038raUKEGG]rUC00350raUPUBCHEM]rU3643rauhUpe140_prhUEh Kh!Gh"h#)r}r(hNh"U C33H66N1O8P1rh}rh(}r h*}r!(UHKBUCK!UPKUOKUNKuhjubh,Uph(}r"h.h/]Rr#ubG?j4G?jGGjZGjG?jGjG?uhNhUCphosphatidylethanolamine transport via ABC system n C140 periplasm r$hEG@@hFGh}r%hHh/]r&jAaRr'hU PE140abcppr(hKGhLhMhNhNUSTM0984r)h(}r*hPNubh)r+}r,(h UTransport Inner Membraner-h }r.(j4G?jGGjZGjGh)r/}r0(hNhNhU2phosphatidylethanolamine-ditetradec-7-enoyl-n-C141r1h}r2(UCHEBI]r3U16038r4aUKEGG]r5UC00350r6aUPUBCHEM]r7U3643r8auhUpe141_pr9hUEh Kh!Gh"h#)r:}r;(hNh"U C33H62N1O8P1r<h}r=h(}r>h*}r?(UHK>UCK!UPKUOKUNKuhj<ubh,Uph(}r@h.h/]RrAubG?jG?jG?uhNhUCphosphatidylethanolamine transport via ABC system n C141 periplasm rBhEG@@hFGh}rChHh/]rDjAaRrEhU PE141abcpprFhKGhLhMhNhNUSTM0984rGh(}rHhPNubh)rI}rJ(h UTransport Inner MembranerKh }rL(j*Gj4G?jZGjG?jwG?jGGjG?uhNhUCphosphatidylethanolamine transport via ABC system n C160 periplasm rMhEG@@hFGh}rNhHh/]rOjAaRrPhU PE160abcpprQhKGhLhMhNhNUSTM0984rRh(}rShPNubh)rT}rU(h UTransport Inner MembranerVh }rW(jGGjZGjhyG?j4G?jG?jnGjG?uhNhUCphosphatidylethanolamine transport via ABC system n C161 periplasm rXhEG@@hFGh}rYhHh/]rZjAaRr[hU PE161abcppr\hKGhLhMhNhNUSTM0984r]h(}r^hPNubh)r_}r`(h UTransport Inner Membranerah }rb(jGj4G?h)rc}rd(hNhNhU.phosphatidylethanolamine-dioctadecanoyl-n-C180reh}rf(UCHEBI]rgU16038rhaUKEGG]riUC00350rjaUPUBCHEM]rkU3643rlauhUpe180_prmhUEh Kh!Gh"h#)rn}ro(hNh"U C41H82N1O8P1rph}rqh(}rrh*}rs(UHKRUCK)UPKUOKUNKuhjpubh,Uph(}rth.h/]RruubG?jZGjG?jGGjG?uhNhUCphosphatidylethanolamine transport via ABC system n C180 periplasm rvhEG@@hFGh}rwhHh/]rxjAaRryhU PE180abcpprzhKGhLhMhNhNUSTM0984r{h(}r|hPNubh)r}}r~(h UTransport Inner Membranerh }r(jGGh)r}r(hNhNhU2phosphatidylethanolamine-dioctadec-11-enoyl-n-C181rh}r(UCHEBI]rU16038raUKEGG]rUC00350raUPUBCHEM]rU3643rauhUpe181_prhUEh Kh!Gh"h#)r}r(hNh"U C41H78N1O8P1rh}rh(}rh*}r(UHKNUCK)UPKUOKUNKuhjubh,Uph(}rh.h/]RrubG?jZGjG?j4G?jG?jGuhNhUCphosphatidylethanolamine transport via ABC system n C181 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PE181abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhUPhenethylaminerh}r(UCHEBI]rU18397raUKEGG]rUC05332raUPUBCHEM]rU7711rauhUpeamn_prhUEh Kh!Gh"h#)r}r(hNh"UC8H12Nrh}rh(}rh*}r(UHK UCKUNKuhjubh,Uph(}rh.h/]RrubG?jpGuhNhUBphenethylamine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUPEAMNtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j GjG?jG?j G?jbYGuhNhU*Erythronate 4 phosphate 4per dehydrogenaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUpdxBrh}rjhUSTM2370rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPERDrhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(j6]G?jGjhyGhG?uhNhU'phosphoethanolamine transferase c C161 rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUyhjWrh}rjhUSTM3635rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU PETNT161pprhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(j6]G?jSG?jGjGuhNhU'phosphoethanolamine transferase c C161 rhEG@@hFGh}rhHh/]rjaRrhU PETNT181pprhKGhLhMhNhNUSTM3635rh(}rhPNubh)r}r(h UGlycolysisGluconeogenesisrh }r(j}G?jGGjyGj4G?jG?uhNhUphosphofructokinaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUpfkBrh}rjhUSTM1326rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUpfkArh}rjhUSTM4062rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUPFKrhKGhLhMhNhNU( STM4062 or STM1326 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhUD-Tagatose-1-6-biphosphaterh}r(UCHEBI]rU4250raUKEGG]r UC03785r aUPUBCHEM]r U6535r auhU tagdp__D_cr hUEh Jh!Gh"h#)r}r(hNh"U C6H10O12P2rh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}rh.h/]RrubG?j4G?jGGh)r}r(hNhNhUD-Tagatose-6-phosphaterh}r(UCHEBI]rU4251raUKEGG]rUC01097raUPUBCHEM]rU4332rauhU tag6p__D_cr hUEh Jh!Gh"h#)r!}r"(hNh"UC6H11O9Pr#h}r$h(}r%h*}r&(UHK UCKUOK UPKuhj#ubh,Uch(}r'h.h/]Rr(ubGjG?uhNhUPhosphofructokinaser)hEG@@hFGh}r*hHh/]r+(jjj)r,}r-(hNjKhNhU-h}r.jhUSTM3257r/h Nh"NjKh,Nh(}r0jU+h.h/]Rr1ubeRr2hUPFK_2r3hKGhLhMhNhNU!( STM4062 or STM3257 or STM1326 )r4h(}r5hPNubh)r6}r7(h UPyruvate Metabolismr8h }r9(jmGjG?jGjv-G?uhNhUpyruvate formate lyaser:hEG@@hFGh}r;hHh/]r<(j[j)r=}r>(hNjKhNhUpflCr?h}r@jhUSTM4115rAh Nh"NjKh,Nh(}rBjU+h.h/]RrCubj)rD}rE(hNjKhNhUpflFrFh}rGjhUSTM0843rHh Nh"NjKh,Nh(}rIjU+h.h/]RrJubj)rK}rL(hNjKhNhUpflErMh}rNjhUSTM0844rOh Nh"NjKh,Nh(}rPjU+h.h/]RrQubj)rR}rS(hNjKhNhUpflDrTh}rUjhUSTM4114rVh Nh"NjKh,Nh(}rWjU+h.h/]RrXubjFjTeRrYhUPFLrZhKGhLhMhNhNUy( ( STM0970 and STM0973 ) or ( STM0970 and STM3241 ) or ( STM4114 and STM4115 ) or ( STM0843 and STM0844 ))r[h(}r\hPNubh)r]}r^(h UTransport Inner Membraner_h }r`(jGGj4G?jk>G?j GjZGjG?jG?uhNhU?phosphatidylglycerol transport via ABC system n C120 periplasm rahEG@@hFGh}rbhHh/]rcjAaRrdhU PG120abcpprehKGhLhMhNhNUSTM0984rfh(}rghPNubh)rh}ri(h UTransport Inner Membranerjh }rk(j4G?jGGj>G?jZGj7 GjG?jG?uhNhU?phosphatidylglycerol transport via ABC system n C140 periplasm rlhEG@@hFGh}rmhHh/]rnjAaRrohU PG140abcpprphKGhLhMhNhNUSTM0984rqh(}rrhPNubh)rs}rt(h UTransport Inner Membraneruh }rv(j?G?jT GjGGjZGj4G?jG?jG?uhNhU?phosphatidylglycerol transport via ABC system n C141 periplasm rwhEG@@hFGh}rxhHh/]ryjAaRrzhU PG141abcppr{hKGhLhMhNhNUSTM0984r|h(}r}hPNubh)r~}r(h UTransport Inner Membranerh }r(jq Gj4G?jGGj=?G?jZGjG?jG?uhNhU?phosphatidylglycerol transport via ABC system n C160 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PG160abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j Gj4G?j~?G?jZGjG?jGGjG?uhNhU?phosphatidylglycerol transport via ABC system n C161 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PG161abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j Gj4G?jZGj?G?jG?jGGjG?uhNhU?phosphatidylglycerol transport via ABC system n C180 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PG180abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?jGGjZGjG?j GjG?j?G?uhNhU?phosphatidylglycerol transport via ABC system n C181 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PG181abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jGj#$G?uhNhUphosphoglucosamine mutaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUglmMrh}rjhUSTM3294rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPGAMTrhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycine and Serine Metabolismrh }r(j GjGh)r}r(hNhNhU3-Phosphohydroxypyruvaterh}r(UCHEBI]rU30933raUKEGG]rUC03232raUPUBCHEM]rU6103rauhU3php_crhUEh Jh!Gh"h#)r}r(hNh"UC3H2O7Prh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Uch(}rh.h/]RrubG?jG?j G?uhNhUphosphoglycerate dehydrogenaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUserArh}rjhUSTM3062rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPGCDrhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycolysisGluconeogenesisrh }r(j}GjyG?uhNhUglucose 6 phosphate isomeraserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUpgirh}rjhUSTM4221rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPGIrhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycolysisGluconeogenesisrh }r(jGjGGjG?j4G?uhNhUphosphoglycerate kinaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUpgkrh}rjhUSTM3069rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPGKrhKGhLhMhNhNjh(}rhPNubh)r}r(h UPentose Phosphate Pathwayrh }r(jjGjZGj}\G?jG?uhNhU6 phosphogluconolactonaserhEG@@hFGh}rhHh/]rj)r}r (hNjKhNhUybhEr h}r jhUSTM0785r h Nh"NjKh,Nh(}r jU+h.h/]RrubaRrhUPGLrhKGhLhMhNhNj h(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhU2-Phosphoglycolaterh}r(UCHEBI]rU17150raUKEGG]rUC00988raUPUBCHEM]rU4234rauhU2pglyc_cr hUEh Jh!Gh"h#)r!}r"(hNh"UC2H2O6Pr#h}r$h(}r%h*}r&(UHKUCKUOKUPKuhj#ubh,Uch(}r'h.h/]Rr(ubGjG?jG?jZGuhNhUPhosphoglycolate phosphataser)hEG@@hFGh}r*hHh/]r+j)r,}r-(hNjKhNhUgphr.h}r/jhUSTM3482r0h Nh"NjKh,Nh(}r1jU+h.h/]Rr2ubaRr3hUPGLYCPr4hKGhLhMhNhNj0h(}r5hPNubh)r6}r7(h UGlycolysisGluconeogenesisr8h }r9(j_]GjG?uhNhUphosphoglycerate mutaser:hEG@@hFG@h}r;hHh/]r<(j)r=}r>(hNjKhNhUpmgIr?h}r@jhUSTM3704rAh Nh"NjKh,Nh(}rBjU+h.h/]RrCubj)rD}rE(hNjKhNhUgpmBrFh}rGjhUSTM4585rHh Nh"NjKh,Nh(}rIjU+h.h/]RrJubj)rK}rL(hNjKhNhUgpmArMh}rNjhUSTM0772rOh Nh"NjKh,Nh(}rPjU+h.h/]RrQubeRrRhUPGMrShKGhLhMhNhNU%( STM3704 or STM4585 or STM0772 )rTh(}rUhPNubh)rV}rW(h UAlternate Carbon MetabolismrXh }rY(jMGj}G?uhNhUphosphoglucomutaserZhEG@@hFG@h}r[hHh/]r\(j)r]}r^(hNjKhNhUpgmr_h}r`jhUSTM0698rah Nh"NjKh,Nh(}rbjU+h.h/]Rrcubj)rd}re(hNjKhNhUyqaBrfh}rgjhUSTM2820rhh Nh"NjKh,Nh(}rijU+h.h/]RrjubeRrkhUPGMTrlhKGhLhMhNhNU( STM0698 or STM2820 )rmh(}rnhPNubh)ro}rp(h UTransport Inner Membranerqh }rr(h)rs}rt(hNhNhU0Phosphatidylglycerophosphate-didodecanoyl-n-C120ruh}rv(UCHEBI]rwU0aUKEGG]rxUC03892ryaUPUBCHEM]rzU6624r{auhUpgp120_pr|hUEh Jh!Gh"h#)r}}r~(hNh"U C30H57O13P2rh}rh(}rh*}r(UHK9UCKUOK UPKuhjubh,Uph(}rh.h/]RrubG?h)r}r(hNhNhU0Phosphatidylglycerophosphate-didodecanoyl-n-C120rh}r(UCHEBI]rU0aUKEGG]rUC03892raUPUBCHEM]rU6624rauhUpgp120_crhUEh Jh!Gh"h#)r}r(hNh"U C30H57O13P2rh}rh(}rh*}r(UHK9UCKUOK UPKuhjubh,Uch(}rh.h/]RrubGj4G?jGGjZGjG?jG?uhNhUGphosphatidylglycerophosphate transport via ABC system n C120 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PGP120abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?jGGjZGh)r}r(hNhNhU3Phosphatidylglycerophosphate-ditetradecanoyl-n-C140rh}r(UCHEBI]rU0aUKEGG]rUC03892raUPUBCHEM]rU6624rauhUpgp140_prhUEh Jh!Gh"h#)r}r(hNh"U C34H65O13P2rh}rh(}rh*}r(UHKAUCK"UOK UPKuhjubh,Uph(}rh.h/]RrubG?h)r}r(hNhNhU3Phosphatidylglycerophosphate-ditetradecanoyl-n-C140rh}r(UCHEBI]rU0aUKEGG]rUC03892raUPUBCHEM]rU6624rauhUpgp140_crhUEh Jh!Gh"h#)r}r(hNh"U C34H65O13P2rh}rh(}rh*}r(UHKAUCK"UOK UPKuhjubh,Uch(}rh.h/]RrubGjG?jG?uhNhUGphosphatidylglycerophosphate transport via ABC system n C140 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PGP140abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU6Phosphatidylglycerophosphate-ditetradec-7-enoyl-n-C141rh}r(UCHEBI]rU0aUKEGG]rUC03892raUPUBCHEM]rU6624rauhUpgp141_prhUEh Jh!Gh"h#)r}r(hNh"U C34H61O13P2rh}rh(}rh*}r(UHK=UCK"UOK UPKuhjubh,Uph(}rh.h/]RrubG?j4G?jGGh)r}r(hNhNhU6Phosphatidylglycerophosphate-ditetradec-7-enoyl-n-C141rh}r(UCHEBI]rU0aUKEGG]rUC03892raUPUBCHEM]rU6624rauhUpgp141_crhUEh Jh!Gh"h#)r}r(hNh"U C34H61O13P2rh}rh(}rh*}r(UHK=UCK"UOK UPKuhjubh,Uch(}rh.h/]RrubGjZGjG?jG?uhNhUGphosphatidylglycerophosphate transport via ABC system n C141 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PGP141abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU2Phosphatidylglycerophosphate-dihexadecanoyl-n-C160rh}r(UCHEBI]rU0aUKEGG]rUC03892raUPUBCHEM]rU6624rauhUpgp160_pr hUEh Jh!Gh"h#)r }r (hNh"U C38H73O13P2r h}r h(}rh*}r(UHKIUCK&UOK UPKuhj ubh,Uph(}rh.h/]RrubG?jGGjZGh)r}r(hNhNhU2Phosphatidylglycerophosphate-dihexadecanoyl-n-C160rh}r(UCHEBI]rU0aUKEGG]rUC03892raUPUBCHEM]rU6624rauhUpgp160_crhUEh Jh!Gh"h#)r}r(hNh"U C38H73O13P2rh}rh(}r h*}r!(UHKIUCK&UOK UPKuhjubh,Uch(}r"h.h/]Rr#ubGj4G?jG?jG?uhNhUGphosphatidylglycerophosphate transport via ABC system n C160 periplasm r$hEG@@hFGh}r%hHh/]r&jAaRr'hU PGP160abcppr(hKGhLhMhNhNUSTM0984r)h(}r*hPNubh)r+}r,(h UTransport Inner Membraner-h }r.(j4G?jGGjZGjG?h)r/}r0(hNhNhU5Phosphatidylglycerophosphate-dihexadec-9-enoyl-n-C161r1h}r2(UCHEBI]r3U0aUKEGG]r4U0aUPUBCHEM]r5U0auhUpgp161_pr6hUEh Jh!Gh"h#)r7}r8(hNh"U C38H69O13P2r9h}r:h(}r;h*}r<(UHKEUCK&UOK UPKuhj9ubh,Uph(}r=h.h/]Rr>ubG?jG?h)r?}r@(hNhNhU5Phosphatidylglycerophosphate-dihexadec-9-enoyl-n-C161rAh}rB(UCHEBI]rCU0aUKEGG]rDU0aUPUBCHEM]rEU0auhUpgp161_crFhUEh Jh!Gh"h#)rG}rH(hNh"U C38H69O13P2rIh}rJh(}rKh*}rL(UHKEUCK&UOK UPKuhjIubh,Uch(}rMh.h/]RrNubGuhNhUGphosphatidylglycerophosphate transport via ABC system n C161 periplasm rOhEG@@hFGh}rPhHh/]rQjAaRrRhU PGP161abcpprShKGhLhMhNhNUSTM0984rTh(}rUhPNubh)rV}rW(h UTransport Inner MembranerXh }rY(h)rZ}r[(hNhNhU2Phosphatidylglycerophosphate-dioctadecanoyl-n-C180r\h}r](UCHEBI]r^U0aUKEGG]r_UC03892r`aUPUBCHEM]raU6624rbauhUpgp180_prchUEh Jh!Gh"h#)rd}re(hNh"U C42H81O13P2rfh}rgh(}rhh*}ri(UHKQUCK*UOK UPKuhjfubh,Uph(}rjh.h/]RrkubG?j4G?jGGjZGjG?jG?h)rl}rm(hNhNhU2Phosphatidylglycerophosphate-dioctadecanoyl-n-C180rnh}ro(UCHEBI]rpU0aUKEGG]rqUC03892rraUPUBCHEM]rsU6624rtauhUpgp180_cruhUEh Jh!Gh"h#)rv}rw(hNh"U C42H81O13P2rxh}ryh(}rzh*}r{(UHKQUCK*UOK UPKuhjxubh,Uch(}r|h.h/]Rr}ubGuhNhUGphosphatidylglycerophosphate transport via ABC system n C180 periplasm r~hEG@@hFGh}rhHh/]rjAaRrhU PGP180abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?h)r}r(hNhNhU6Phosphatidylglycerophosphate-dioctadec-11-enoyl-n-C181rh}r(UCHEBI]rU0aUKEGG]rUC03892raUPUBCHEM]rU6624rauhUpgp181_crhUEh Jh!Gh"h#)r}r(hNh"U C42H77O13P2rh}rh(}rh*}r(UHKMUCK*UOK UPKuhjubh,Uch(}rh.h/]RrubGjZGjG?jGGh)r}r(hNhNhU6Phosphatidylglycerophosphate-dioctadec-11-enoyl-n-C181rh}r(UCHEBI]rU0aUKEGG]rUC03892raUPUBCHEM]rU6624rauhUpgp181_prhUEh Jh!Gh"h#)r}r(hNh"U C42H77O13P2rh}rh(}rh*}r(UHKMUCK*UOK UPKuhjubh,Uph(}rh.h/]RrubG?jG?uhNhUGphosphatidylglycerophosphate transport via ABC system n C181 periplasm rhEG@@hFGh}rhHh/]rjAaRrhU PGP181abcpprhKGhLhMhNhNUSTM0984rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jZGj G?jGjG?uhNhU2phosphatidylglycerol phosphate phosphatase n C140 rhEG@@hFGh}rhHh/]r(jj)r}r(hNjKhNhUpgpArh}rjhUSTM0420rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUPGPP120rhKGhLhMhNhNU( STM0420 or STM1710 )rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jsGjk>G?jG?j)GuhNhUG?uhNhUhPNubh)r?}r@(h UGlycerophospholipid MetabolismrAh }rB(jGjZGj G?jG?uhNhU2phosphatidylglycerol phosphate phosphatase n C181 rChEG@@hFGh}rDhHh/]rE(jjeRrFhUPGPP181rGhKGhLhMhNhNU( STM1710 or STM0420 )rHh(}rIhPNubh)rJ}rK(h UGlycerophospholipid MetabolismrLh }rM(j?G?j)GjG?jGuhNhUh(}r?hPNubh)r@}rA(h UTransport Inner MembranerBh }rC(h)rD}rE(hNhNhUL-PhenylalaninerFh}rG(UCHEBI]rHU17295rIaUKEGG]rJUC00079rKaUPUBCHEM]rLU3379rMauhUphe__L_prNhUEh Kh!Gh"h#)rO}rP(hNh"UC9H11NO2rQh}rRh(}rSh*}rT(UHK UCK UOKUNKuhjQubh,Uph(}rUh.h/]RrVubGjGjG?jOxG?uhNhUBL phenylalanine reversible transport via proton symport periplasm rWhEG@@hFG@h}rXhHh/]rY(j)rZ}r[(hNjKhNhUphePr\h}r]jhUSTM0568r^h Nh"NjKh,Nh(}r_jU+h.h/]Rr`ubjeRrahUPHEt2rpprbhKGhLhMhNhNU( STM0568 or STM0150 )rch(}rdhPNubh)re}rf(h UTransport Outer Membrane Porinrgh }rh(jDG?jpGuhNhUCL phenylalanine transport via diffusion extracellular to periplasm rihEG@@hFG@h}rjhHh/]rk(jjjjeRrlhUPHEtexrmhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rnh(}rohPNubh)rp}rq(h U&Inorganic Ion Transport and Metabolismrrh }rs(jG?jGjG?jGuhNhU5phosphate reversible transport via symport periplasm rthEG@@hFG@h}ruhHh/]rvj)rw}rx(hNjKhNhUpitAryh}rzjhUSTM3589r{h Nh"NjKh,Nh(}r|jU+h.h/]Rr}ubaRr~hUPIt2rpprhKGhLhMhNhNj{h(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j,qGjG?uhNhU=phosphate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUPItexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jGGjZGjGj4G?jG?jG@uhNhU4phosphate transport via ABC system uptake periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUpstSrh}rjhUSTM3857rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUpstArh}rjhUSTM3855rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUpstCrh}rjhUSTM3856rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUpstBrh}rjhUSTM3854rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUPIuabcpprhKGhLhMhNhNU5( STM3855 and STM3854 and STM3856 and STM3857 )rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?jMG?j)Gj>GuhNhU1Phospholipase A1 phosphatidate n C120 periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpldArh}rjhUSTM3957rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU PLIPA1A120pprhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j>Gjl{G?j)Gj G?uhNhU1Phospholipase A1 phosphatidate n C140 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA1A140pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j>Gj)Gj:G?j{G?uhNhU1Phospholipase A1 phosphatidate n C141 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA1A141pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j{G?j{G?jO?Gj)GuhNhU1Phospholipase A1 phosphatidate n C160 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA1A160pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jk?Gj)Gj{G?jG?uhNhU1Phospholipase A1 phosphatidate n C161 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA1A161pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?j)Gj{G?j?GuhNhU1Phospholipase A1 phosphatidate n C180 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA1A180pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?j?Gj)Gj{G?uhNhU1Phospholipase A1 phosphatidate n C181 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA1A181pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r (jGjMG?j7G?jG?j)GuhNhU(h UGlycerophospholipid Metabolismr?h }r@(j)Gj{G?j"G?jG?jcGuhNhUGjMG?j)GjG?jG?uhNhU8Phospholipase A1 phosphatidylglycerol n C120 periplasm rWhEG@@hFGh}rXhHh/]rYjaRrZhU PLIPA1G120ppr[hKGhLhMhNhNUSTM3957r\h(}r]hPNubh)r^}r_(h UGlycerophospholipid Metabolismr`h }ra(j)Gjl{G?jG?j( G?j>GuhNhU8Phospholipase A1 phosphatidylglycerol n C140 periplasm rbhEG@@hFGh}rchHh/]rdjaRrehU PLIPA1G140pprfhKGhLhMhNhNUSTM3957rgh(}rhhPNubh)ri}rj(h UGlycerophospholipid Metabolismrkh }rl(j?Gj)Gj{G?jG?jC G?uhNhU8Phospholipase A1 phosphatidylglycerol n C141 periplasm rmhEG@@hFGh}rnhHh/]rojaRrphU PLIPA1G141pprqhKGhLhMhNhNUSTM3957rrh(}rshPNubh)rt}ru(h UGlycerophospholipid Metabolismrvh }rw(j=?Gj)GjG?j~ G?j{G?uhNhU8Phospholipase A1 phosphatidylglycerol n C160 periplasm rxhEG@@hFGh}ryhHh/]rzjaRr{hU PLIPA1G160ppr|hKGhLhMhNhNUSTM3957r}h(}r~hPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j~?Gj)GjG?j G?j{G?uhNhU8Phospholipase A1 phosphatidylglycerol n C161 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA1G161pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?j G?j)Gj{G?j?GuhNhU8Phospholipase A1 phosphatidylglycerol n C180 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA1G180pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j)GjG?j G?j?Gj{G?uhNhU8Phospholipase A1 phosphatidylglycerol n C181 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA1G181pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?jG?jMG?j)Gj>GuhNhU1Phospholipase A2 phosphatidate n C120 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA2A120pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j)Gj(G?jG?j>Gjl{G?uhNhU1Phospholipase A2 phosphatidate n C140 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA2A140pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?jFG?j)Gj>Gj{G?uhNhU1Phospholipase A2 phosphatidate n C141 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA2A141pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jdG?jO?Gj)GjG?j{G?uhNhU1Phospholipase A2 phosphatidate n C160 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA2A160pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jk?GjG?j)GjG?j{G?uhNhU1Phospholipase A2 phosphatidate n C161 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA2A161pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j)Gj{G?jG?jG?j?GuhNhU1Phospholipase A2 phosphatidate n C180 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA2A180pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?j{G?j?Gj)GjG?uhNhU1Phospholipase A2 phosphatidate n C181 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA2A181pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jGjMG?j)GjG?j֥G?uhNhUGjMG?j)GjG?jG?uhNhU8Phospholipase A2 phosphatidylglycerol n C120 periplasm r>hEG@@hFGh}r?hHh/]r@jaRrAhU PLIPA2G120pprBhKGhLhMhNhNUSTM3957rCh(}rDhPNubh)rE}rF(h UGlycerophospholipid MetabolismrGh }rH(j)Gj>GjG?jG?jl{G?uhNhU8Phospholipase A2 phosphatidylglycerol n C140 periplasm rIhEG@@hFGh}rJhHh/]rKjaRrLhU PLIPA2G140pprMhKGhLhMhNhNUSTM3957rNh(}rOhPNubh)rP}rQ(h UGlycerophospholipid MetabolismrRh }rS(j?GjצG?jG?j)Gj{G?uhNhU8Phospholipase A2 phosphatidylglycerol n C141 periplasm rThEG@@hFGh}rUhHh/]rVjaRrWhU PLIPA2G141pprXhKGhLhMhNhNUSTM3957rYh(}rZhPNubh)r[}r\(h UGlycerophospholipid Metabolismr]h }r^(jG?j=?Gj)GjG?j{G?uhNhU8Phospholipase A2 phosphatidylglycerol n C160 periplasm r_hEG@@hFGh}r`hHh/]rajaRrbhU PLIPA2G160pprchKGhLhMhNhNUSTM3957rdh(}rehPNubh)rf}rg(h UGlycerophospholipid Metabolismrhh }ri(j~?GjG?j)Gj{G?j G?uhNhU8Phospholipase A2 phosphatidylglycerol n C161 periplasm rjhEG@@hFGh}rkhHh/]rljaRrmhU PLIPA2G161pprnhKGhLhMhNhNUSTM3957roh(}rphPNubh)rq}rr(h UGlycerophospholipid Metabolismrsh }rt(j(G?j)Gj{G?jG?j?GuhNhU8Phospholipase A2 phosphatidylglycerol n C180 periplasm ruhEG@@hFGh}rvhHh/]rwjaRrxhU PLIPA2G180ppryhKGhLhMhNhNUSTM3957rzh(}r{hPNubh)r|}r}(h UGlycerophospholipid Metabolismr~h }r(jG?j)GjCG?j?Gj{G?uhNhU8Phospholipase A2 phosphatidylglycerol n C181 periplasm rhEG@@hFGh}rhHh/]rjaRrhU PLIPA2G181pprhKGhLhMhNhNUSTM3957rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jb/GjG?h)r}r(hNhNhU 4-1-D-Ribitylamino-5-aminouracilrh}r(UCHEBI]rU15934raUKEGG]rUC04732raUPUBCHEM]rU7303rauhU4r5au_crhUEh Kh!Gh"h#)r}r(hNh"U C9H16N4O6rh}rh(}rh*}r(UHKUCK UOKUNKuhjubh,Uch(}rh.h/]RrubG?jZGuhNhUpyrimidine phosphataserhEG@@hFGh}rhHh/]RrhUPMDPHTrhKGhLhMhNhNUh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGGj Gj4G?j G?uhNhUphosphomethylpyrimidine kinaserhEG@@hFGh}rhHh/]rjaRrhUPMPKrhKGhLhMhNhNUSTM2146rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhUD-4-Phosphopantothenaterh}r(UCHEBI]rU15905raUKEGG]rUC03492raUPUBCHEM]rU6304rauhU4ppan_crhUEh Jh!Gh"h#)r}r(hNh"U C9H15NO8Prh}rh(}rh*}r(UHKUCK UPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?j4G?j[GjGGjG?uhNhUpantothenate kinaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcoaArh}rjhUSTM4139rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPNTKrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUR-Pantothenaterh}r(UCHEBI]rU29032 46905 7916raUKEGG]rUC00864raUPUBCHEM]rU4121rauhU pnto__R_prhUEh Jh!Gh"h#)r}r(hNh"UC9H16NO5rh}rh(}rh*}r(UHKUCK UOKUNKuhjubh,Uph(}rh.h/]RrubGj Gj[G?jG?uhNhU(Pantothenate sodium symporter periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpanFrh}rjhUSTM3382rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPNTOt4pprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?jHqGuhNhU@Pantothenate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUPNTOtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jmGjO5GjG?jZGjb5G?jtG?uhNhUpyruvate oxidaserhEG@@hFGh}rhHh/]rj)r}r (hNjKhNhUpoxBr h}r jhUSTM0935r h Nh"NjKh,Nh(}r jU+h.h/]RrubaRrhUPOXrhKGhLhMhNhNj h(}rhPNubh)r}r(h UAnaplerotic Reactionsrh }r(jZGjG@jG?jGuhNhUinorganic diphosphataserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUpparh}rjhUSTM4414rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r }r!(hNjKhNhUppxr"h}r#jhUSTM2502r$h Nh"NjKh,Nh(}r%jU+h.h/]Rr&ubjeRr'hUPPAr(hKGhLhMhNhNU%( STM4414 or STM2502 or STM2927 )r)h(}r*hPNubh)r+}r,(h UAnaplerotic Reactionsr-h }r.(jZGjG?jG?jf9GjG?uhNhUinorganic triphosphataser/hEG@@hFGh}r0hHh/]r1(j jeRr2hUPPA2r3hKGhLhMhNhNU( STM2927 or STM2502 )r4h(}r5hPNubh)r6}r7(h UAlternate Carbon Metabolismr8h }r9(h)r:}r;(hNhNhUPropanoyl-phosphater<h}r=(UCHEBI]r>U0aUKEGG]r?UC02876r@aUPUBCHEM]rAU5809rBauhUppap_crChUEh Jh!Gh"h#)rD}rE(hNh"UC3H5O5PrFh}rGh(}rHh*}rI(UHKUCKUOKUPKuhjFubh,Uch(}rJh.h/]RrKubGj4GjG?jGG?uhNhUPropionate kinaserLhEG@@hFG@h}rMhHh/]rN(jjj)rO}rP(hNjKhNhUpduWrQh}rRjhUSTM2057rSh Nh"NjKh,Nh(}rTjU+h.h/]RrUubeRrVhUPPAKrrWhKGhLhMhNhNU#( STM3242 or STM2057 or STM2337 )rXh(}rYhPNubh)rZ}r[(h UTransport Outer Membrane Porinr\h }r](jqGh)r^}r_(hNhNhUPropanalr`h}ra(UCHEBI]rbU17153rcaUKEGG]rdUC00479reaUPUBCHEM]rfU3762rgauhUppal_prhhUEh Kh!Gh"h#)ri}rj(hNh"UC3H6Orkh}rlh(}rmh*}rn(UHKUCKUOKuhjkubh,Uph(}roh.h/]RrpubG?uhNhUhKGhLhMhNhNUSTM2501r?h(}r@hPNubh)rA}rB(h UAlternate Carbon MetabolismrCh }rD(h)rE}rF(hNhNhUalpha-D-Ribose-1-phosphaterGh}rH(UCHEBI]rIU0aUKEGG]rJUC00442rKaUPUBCHEM]rLU0auhUr1p_crMhUEh Jh!Gh"h#)rN}rO(hNh"UC5H9O8PrPh}rQh(}rRh*}rS(UHK UCKUOKUPKuhjPubh,Uch(}rTh.h/]RrUubGj"G?uhNhUphosphopentomutaserVhEG@@hFG@h}rWhHh/]rXj)rY}rZ(hNjKhNhUdeoBr[h}r\jhUSTM4569r]h Nh"NjKh,Nh(}r^jU+h.h/]Rr_ubaRr`hUPPMrahKGhLhMhNhNj]h(}rbhPNubh)rc}rd(h UAlternate Carbon Metabolismreh }rf(jUG?j(XGuhNhU!phosphopentomutase 2 deoxyribose rghEG@@hFG@h}rhhHh/]rijYaRrjhUPPM2rkhKGhLhMhNhNUSTM4569rlh(}rmhPNubh)rn}ro(h U*Cofactor and Prosthetic Group Biosynthesisrph }rq(j:G?jG?jG?jG?jFEGj-GjGuhNhU#phosphopantothenate cysteine ligaserrhEG@@hFGh}rshHh/]rtjaRruhUPPNCL2rvhKGhLhMhNhNUSTM3730rwh(}rxhPNubh)ry}rz(h U0Tyrosine Tryptophan and Phenylalanine Metabolismr{h }r|(j G?j GjG?h)r}}r~(hNhNhU3-4-Hydroxyphenyl-pyruvaterh}r(UCHEBI]rU15999raUKEGG]rUC01179raUPUBCHEM]rU4406rauhU34hpp_crhUEh Jh!Gh"h#)r}r(hNh"UC9H7O4rh}rh(}rh*}r(UHKUCK UOKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU Prephenaterh}r(UCHEBI]rU16666raUKEGG]rUC00254raUPUBCHEM]rU3553rauhUpphn_crhUEh Jh!Gh"h#)r}r(hNh"UC10H8O6rh}rh(}rh*}r(UHKUCK UOKuhjubh,Uch(}rh.h/]RrubGuhNhUprephenate dehydrogenaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUtyrArh}rjhUSTM2669rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPPNDrhKGhLhMhNhNjh(}rhPNubh)r}r(h U0Tyrosine Tryptophan and Phenylalanine Metabolismrh }r(jG?jG?jZG?jGjGuhNhUprephenate dehydrataserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpheArh}rjhUSTM2667rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPPNDHrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jYGjBGjZG@j}G?uhNhU#protoporphyrinogen oxidase aerobic rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhemGrh}rjhUSTM3987rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPPPGOrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j}G?jBGj#Gj5G@uhNhU%protoporphyrinogen oxidase anaerobic rhEG@@hFGh}rhHh/]rjaRrhUPPPGO3rhKGhLhMhNhNUSTM3987rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjG?h)r}r(hNhNhUPhenylpropanoaterh}r(UCHEBI]rU28631raUKEGG]rUC05629raUPUBCHEM]rU7943rauhUpppn_crhUEh Jh!Gh"h#)r}r(hNh"UC9H9O2rh}rh(}rh*}r(UHK UCK UOKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhUPhenylpropanoaterh}r(UCHEBI]rU28631raUKEGG]rUC05629raUPUBCHEM]rU7943rauhUpppn_prhUEh Jh!Gh"h#)r}r(hNh"UC9H9O2rh}rh(}rh*}r(UHK UCK UOKuhjubh,Uph(}rh.h/]RrubGuhNhUE3 phenylpropionate transport via proton symport reversible periplasm rhEG@@hFG@h}rhHh/]r j)r }r (hNjKhNhUhcaTr h}r jhUSTM2554rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU PPPNt2rpprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?jqGuhNhUF3 phenylpropionate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUPPPNtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r (h UGlycolysisGluconeogenesisr!h }r"(jmGjG?jG?jGGjZGjG?jG@uhNhUphosphoenolpyruvate synthaser#hEG@@hFGh}r$hHh/]r%j)r&}r'(hNjKhNhUppsr(h}r)jhUSTM1349r*h Nh"NjKh,Nh(}r+jU+h.h/]Rr,ubaRr-hUPPSr.hKGhLhMhNhNj*h(}r/hPNubh)r0}r1(h UTransport Outer Membrane Porinr2h }r3(jqGh)r4}r5(hNhNhU Phosphonater6h}r7(UCHEBI]r8U0aUKEGG]r9UC06701r:aUPUBCHEM]r;U8926r<auhUppt_pr=hUEh Jh!Gh"h#)r>}r?(hNh"UHO3Pr@h}rAh(}rBh*}rC(UHKUOKUPKuhj@ubh,Uph(}rDh.h/]RrEubG?uhNhU?Phosphonate transport via diffusion extracellular to periplasm rFhEG@@hFG@h}rGhHh/]rH(jjjjeRrIhUPPTtexrJhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rKh(}rLhPNubh)rM}rN(h U"Purine and Pyrimidine BiosynthesisrOh }rP(j-Gj4G?jGGjG?jGjG?jG?uhNhU"phosphoribosylglycinamide synthaserQhEG@@hFG@h}rRhHh/]rSj)rT}rU(hNjKhNhUpurDrVh}rWjhUSTM4175rXh Nh"NjKh,Nh(}rYjU+h.h/]RrZubaRr[hUPRAGSrr\hKGhLhMhNhNjXh(}r]hPNubh)r^}r_(h U"Purine and Pyrimidine Biosynthesisr`h }ra(jGGh)rb}rc(hNhNhU.2-Formamido-N1-5-phospho-D-ribosyl-acetamidinerdh}re(UCHEBI]rfU18413rgaUKEGG]rhUC04640riaUPUBCHEM]rjU7229rkauhUfpram_crlhUEh Jh!Gh"h#)rm}rn(hNh"U C8H15N3O8Proh}rph(}rqh*}rr(UHKUCKUPKUOKUNKuhjoubh,Uch(}rsh.h/]RrtubGj4G?jG@jG?j'(G?uhNhU%phosphoribosylaminoimidazole synthaseruhEG@@hFGh}rvhHh/]rwj)rx}ry(hNjKhNhUpurMrzh}r{jhU STM2499.Sr|h Nh"NjKh,Nh(}r}jU+h.h/]Rr~ubaRrhUPRAISrhKGhLhMhNhNj|h(}rhPNubh)r}r(h U0Tyrosine Tryptophan and Phenylalanine Metabolismrh }r(j.GjОG?uhNhU2phosphoribosylanthranilate isomerase irreversible rhEG@@hFGh}rhHh/]rjaRrhUPRAIirhKGhLhMhNhNUSTM1725rh(}rhPNubh)r}r(h UHistidine Metabolismrh }r(h)r}r(hNhNhUR1-5-Phosphoribosyl-5-5-phosphoribosylamino-methylideneaminoimidazole-4-carboxamiderh}r(UCHEBI]rU18302raUKEGG]rUC04896raUPUBCHEM]rU7447rauhUprfp_crhUEh Jh!Gh"h#)r}r(hNh"U C15H21N5O15P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU1-5-Phosphoribosyl-AMPrh}r(UCHEBI]rU0aUKEGG]rUC02741raUPUBCHEM]rU5701rauhUprbamp_crhUEh Jh!Gh"h#)r}r(hNh"U C15H19N5O14P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubGjZGuhNhU!phosphoribosyl AMP cyclohydrolaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhisIrh}rjhUSTM2078rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPRAMPCrhKGhLhMhNhNjh(}rhPNubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(j4G?jGGjK(GjG?j#G?j#GjG?uhNhU7phosphoribosylaminoimidazolesuccinocarboxamide synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpurCrh}rjhUSTM2487rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPRASCSirhKGhLhMhNhNjh(}rhPNubh)r}r(h UHistidine Metabolismrh }r(j 7GjG?jZGjG?jG?uhNhU"phosphoribosyl ATP pyrophosphataserhEG@@hFGh}rhHh/]rjaRrhUPRATPPrhKGhLhMhNhNUSTM2078rh(}rhPNubh)r}r(h U"Purine and Pyrimidine Biosynthesisrh }r(j4G?j GjGGjG?jGjZGjbG?jG?jG?uhNhU*phosphoribosylformylglycinamidine synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpurGrh}rjhUSTM2565rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPRFGSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UHistidine Metabolismrh }r(jGjsG?uhNhU]1 5 phosphoribosyl 5 5 phosphoribosylamino methylideneamino imidazole 4 carboxamide isomeraserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUhisArh}rjhUSTM2076rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPRMICIrhKGhLhMhNhNjh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(j .GjjG?jG?jGjG?uhNhUProline dehydrogenaserhEG@@hFGh}rhHh/]rjFaRrhUPROD2r hKGhLhMhNhNUs0001r h(}r hPNubh)r }r (h UTransport Inner Membranerh }r(h)r}r(hNhNhUL-Prolinylglycinerh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUprogly_prhUEh Kh!Gh"h#)r}r(hNh"U C7H12N2O3rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uph(}rh.h/]RrubGj4G?jGGjZGjG?j.G?jG?uhNhU=L Prolinylglycine Pro Gly transport via ABC system periplasm r hEG@@hFGh}r!hHh/]r"(j)j )j)j))j")eRr#hU PROGLYabcppr$hKGhLhMhNhNUC( STM3630 and STM3629 and STM3628 and STM3627 and STM3626 )r%h(}r&hPNubh)r'}r((h UTransport Outer Membrane Porinr)h }r*(jqGjG?uhNhUEL Prolinylglycine transport via diffusion extracellular to periplasm r+hEG@@hFG@h}r,hHh/]r-(jjjjeRr.hU PROGLYtexr/hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r0h(}r1hPNubh)r2}r3(h U tRNA Chargingr4h }r5(h)r6}r7(hNhNhUtRNA-Pror8h}r9(UCHEBI]r:U29177r;aUKEGG]r<UC01649r=aUPUBCHEM]r>U4798r?auhU trnapro_cr@hUEh Kh!Gh"h#)rA}rB(hNh"URh}rCh(}rDh*}rEURKshURubh,Uch(}rFh.h/]RrGubGh)rH}rI(hNhNhUL-Prolyl-tRNA-ProrJh}rK(UCHEBI]rLU29154rMaUKEGG]rNUC02702rOaUPUBCHEM]rPU5665rQauhU protrna_crRhUEh Kh!Gh"h#)rS}rT(hNh"UC5H8NORrUh}rVh(}rWh*}rX(UHKUCKURKUOKUNKuhjUubh,Uch(}rYh.h/]RrZubG?j .GjGGjG?jG?uhNhUProlyl tRNA synthetaser[hEG@@hFGh}r\hHh/]r]j)r^}r_(hNjKhNhUproSr`h}rajhUSTM0242rbh Nh"NjKh,Nh(}rcjU+h.h/]RrdubaRrehUPROTRSrfhKGhLhMhNhNjbh(}rghPNubh)rh}ri(h UTransport Inner Membranerjh }rk(j .G?j4G?jGGjG?jZGjG?h)rl}rm(hNhNhU L-Prolinernh}ro(UCHEBI]rpU17203rqaUKEGG]rrUC00148rsaUPUBCHEM]rtU3448ruauhUpro__L_prvhUEh Kh!Gh"h#)rw}rx(hNh"UC5H9NO2ryh}rzh(}r{h*}r|(UHK UCKUOKUNKuhjyubh,Uph(}r}h.h/]Rr~ubGuhNhU-L proline transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j'Dj DjDeRrhUPROabcpprhKGhLhMhNhNU'( STM2809 and STM2810 and STM2811 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j .G?jlGj GjG?uhNhU NaProline L symporter periplasm rhEG@@hFGh}rhHh/]rjaRrhUPROt4pprhKGhLhMhNhNUSTM1125rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jqGjlG?uhNhU=L proline transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUPROtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UHistidine Metabolismrh }r(j)#G?jG?jGGjG?j"GuhNhU&phosphoribosylpyrophosphate synthetaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUprsArh}rjhUSTM1780rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPRPPSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhU psicoselysinerh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUpsclys_prhUEh Kh!Gh"h#)r}r(hNh"U C12H25N2O7rh}rh(}rh*}r(UHKUCK UOKUNKuhjubh,Uph(}rh.h/]RrubG?jrGuhNhU6psicoselysine transporter via diffusion extracellular rhEG@@hFG@h}rhHh/]r(jjjjeRrhU PSCLYStexrhKGhLhMhNhNU2( STM2267 or STM1473 or STM0320 or STM0999 )rh(}rhPNubh)r}r(h U0Tyrosine Tryptophan and Phenylalanine Metabolismrh }r(jGj=G?jG?h)r}r(hNhNhUShikimate-5-phosphaterh}r(UCHEBI]rU17052raUKEGG]rUC03175raUPUBCHEM]rU6057rauhUskm5p_crhUEh Jh!Gh"h#)r}r(hNh"UC7H8O8Prh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Uch(}rh.h/]RrubGuhNhU,3 phosphoshikimate 1 carboxyvinyltransferaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUaroArh}rjhUSTM0978rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPSCVTrhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?jGjnG?h)r}r(hNhNhU&phosphatidylserine-didodecanoyl-n-C120rh}r(UCHEBI]rU0aUKEGG]rUC02737raUPUBCHEM]rU5698rauhUps120_crhUEh Jh!Gh"h#)r}r(hNh"U C30H57N1O10P1rh}rh(}rh*}r(UHK9UCKUPKUOK UNKuhjubh,Uch(}rh.h/]RrubGuhNhU(Phosphatidylserine decarboxylase n C120 rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpsdrh}rjhUSTM4348r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubaRr hUPSD120r hKGhLhMhNhNj h(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU)phosphatidylserine-ditetradecanoyl-n-C140rh}r(UCHEBI]rU0aUKEGG]rUC02737raUPUBCHEM]rU5698rauhUps140_crhUEh Jh!Gh"h#)r}r(hNh"U C34H65N1O10P1rh}r h(}r!h*}r"(UHKAUCK"UPKUOK UNKuhjubh,Uch(}r#h.h/]Rr$ubGjG?jGjG?uhNhU(Phosphatidylserine decarboxylase n C140 r%hEG@@hFGh}r&hHh/]r'jaRr(hUPSD140r)hKGhLhMhNhNUSTM4348r*h(}r+hPNubh)r,}r-(h UGlycerophospholipid Metabolismr.h }r/(jG?jGjG?h)r0}r1(hNhNhU,phosphatidylserine-ditetradec-7-enoyl-n-C141r2h}r3(UCHEBI]r4U0aUKEGG]r5UC02737r6aUPUBCHEM]r7U5698r8auhUps141_cr9hUEh Jh!Gh"h#)r:}r;(hNh"U C34H61N1O10P1r<h}r=h(}r>h*}r?(UHK=UCK"UPKUOK UNKuhj<ubh,Uch(}r@h.h/]RrAubGuhNhU(Phosphatidylserine decarboxylase n C141 rBhEG@@hFGh}rChHh/]rDjaRrEhUPSD141rFhKGhLhMhNhNUSTM4348rGh(}rHhPNubh)rI}rJ(h UGlycerophospholipid MetabolismrKh }rL(h)rM}rN(hNhNhU(phosphatidylserine-dihexadecanoyl-n-C160rOh}rP(UCHEBI]rQU0aUKEGG]rRUC02737rSaUPUBCHEM]rTU5698rUauhUps160_crVhUEh Jh!Gh"h#)rW}rX(hNh"U C38H73N1O10P1rYh}rZh(}r[h*}r\(UHKIUCK&UPKUOK UNKuhjYubh,Uch(}r]h.h/]Rr^ubGjGj*G?jG?uhNhU(Phosphatidylserine decarboxylase n C160 r_hEG@@hFGh}r`hHh/]rajaRrbhUPSD160rchKGhLhMhNhNUSTM4348rdh(}rehPNubh)rf}rg(h UGlycerophospholipid Metabolismrhh }ri(h)rj}rk(hNhNhU+phosphatidylserine-dihexadec-9-enoyl-n-C161rlh}rm(UCHEBI]rnU0aUKEGG]roUC02737rpaUPUBCHEM]rqU5698rrauhUps161_crshUEh Jh!Gh"h#)rt}ru(hNh"U C38H69N1O10P1rvh}rwh(}rxh*}ry(UHKEUCK&UPKUOK UNKuhjvubh,Uch(}rzh.h/]Rr{ubGjGjG?jnG?uhNhU(Phosphatidylserine decarboxylase n C161 r|hEG@@hFGh}r}hHh/]r~jaRrhUPSD161rhKGhLhMhNhNUSTM4348rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jG?jG?jGh)r}r(hNhNhU(phosphatidylserine-dioctadecanoyl-n-C180rh}r(UCHEBI]rU0aUKEGG]rUC02737raUPUBCHEM]rU5698rauhUps180_crhUEh Jh!Gh"h#)r}r(hNh"U C42H81N1O10P1rh}rh(}rh*}r(UHKQUCK*UPKUOK UNKuhjubh,Uch(}rh.h/]RrubGuhNhU(Phosphatidylserine decarboxylase n C180 rhEG@@hFGh}rhHh/]rjaRrhUPSD180rhKGhLhMhNhNUSTM4348rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(h)r}r(hNhNhU,phosphatidylserine-dioctadec-11-enoyl-n-C181rh}r(UCHEBI]rU0aUKEGG]rUC02737raUPUBCHEM]rU5698rauhUps181_crhUEh Jh!Gh"h#)r}r(hNh"U C42H77N1O10P1rh}rh(}rh*}r(UHKMUCK*UPKUOK UNKuhjubh,Uch(}rh.h/]RrubGjG?jGjG?uhNhU(Phosphatidylserine decarboxylase n C181 rhEG@@hFGh}rhHh/]rjaRrhUPSD181rhKGhLhMhNhNUSTM4348rh(}rhPNubh)r}r(h UGlycine and Serine Metabolismrh }r(h)r}r(hNhNhUO-Phospho-L-serinerh}r(UCHEBI]rU15811raUKEGG]rUC01005raUPUBCHEM]rU4251rauhU pser__L_crhUEh Jh!Gh"h#)r}r(hNh"UC3H6NO6Prh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?jGjGuhNhUphosphoserine transaminaserhEG@@hFGh}rhHh/]rjоaRrhUPSERTrhKGhLhMhNhNUSTM0977rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j!rGh)r}r(hNhNhUO-Phospho-L-serinerh}r(UCHEBI]rU15811raUKEGG]rUC01005raUPUBCHEM]rU4251rauhU pser__L_prhUEh Jh!Gh"h#)r}r(hNh"UC3H6NO6Prh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhUDphospho L serine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUPSERtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UGlycine and Serine Metabolismrh }r(jbxG?jZGjGjG?uhNhU#phosphoserine phosphatase L serine rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUserBrh}rjhUSTM4578rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPSP_LrhKGhLhMhNhNjh(}r hPNubh)r }r (h UGlycine and Serine Metabolismr h }r (j)GjG?jGjG?uhNhU)phospho L serine phosphatase periplasmic rhEG@@hFGh}rhHh/]rjaRrhUPSP_LpprhKGhLhMhNhNUSTM4249rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(jbxGj:G?jG?jG?j:GuhNhU"Phosphatidylserine syntase n C120 rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpssArh}rjhUSTM2652r h Nh"NjKh,Nh(}r!jU+h.h/]Rr"ubaRr#hUPSSA120r$hKGhLhMhNhNj h(}r%hPNubh)r&}r'(h UGlycerophospholipid Metabolismr(h }r)(jbxGj:G?jG?j ;GjG?uhNhU"Phosphatidylserine syntase n C140 r*hEG@@hFGh}r+hHh/]r,jaRr-hUPSSA140r.hKGhLhMhNhNUSTM2652r/h(}r0hPNubh)r1}r2(h UGlycerophospholipid Metabolismr3h }r4(jbxGj&;GjG?j0G?j:G?uhNhU"Phosphatidylserine syntase n C141 r5hEG@@hFGh}r6hHh/]r7jaRr8hUPSSA141r9hKGhLhMhNhNUSTM2652r:h(}r;hPNubh)r<}r=(h UGlycerophospholipid Metabolismr>h }r?(jbxGj:G?jC;GjG?jMG?uhNhU"Phosphatidylserine syntase n C160 r@hEG@@hFGh}rAhHh/]rBjaRrChUPSSA160rDhKGhLhMhNhNUSTM2652rEh(}rFhPNubh)rG}rH(h UGlycerophospholipid MetabolismrIh }rJ(jbxGj:G?jjG?jG?j`;GuhNhU"Phosphatidylserine syntase n C161 rKhEG@@hFGh}rLhHh/]rMjaRrNhUPSSA161rOhKGhLhMhNhNUSTM2652rPh(}rQhPNubh)rR}rS(h UGlycerophospholipid MetabolismrTh }rU(j};Gj:G?jbxGjG?jG?uhNhU"Phosphatidylserine syntase n C180 rVhEG@@hFGh}rWhHh/]rXjaRrYhUPSSA180rZhKGhLhMhNhNUSTM2652r[h(}r\hPNubh)r]}r^(h UGlycerophospholipid Metabolismr_h }r`(jbxGjG?j:G?j;GjG?uhNhU"Phosphatidylserine syntase n C181 rahEG@@hFGh}rbhHh/]rcjaRrdhUPSSA181rehKGhLhMhNhNUSTM2652rfh(}rghPNubh)rh}ri(h UAlternate Carbon Metabolismrjh }rk(j:G?jG?jGjGuhNhUPhosphate acetyltransferaserlhEG@@hFGh}rmhHh/]rn(j)ro}rp(hNjKhNhUpduLrqh}rrjhUSTM2047rsh Nh"NjKh,Nh(}rtjU+h.h/]Rruubj)rv}rw(hNjKhNhUptarxh}ryjhUSTM2338rzh Nh"NjKh,Nh(}r{jU+h.h/]Rr|ubeRr}hUPTA2r~hKGhLhMhNhNU( STM2338 ) or ( STM2047 )rh(}rhPNubh)r}r(h UPyruvate Metabolismrh }r(jG?jGjG?jGuhNhUphosphotransacetylaserhEG@@hFG@h}rhHh/]r(jvj)r}r(hNjKhNhUeutDrh}rjhUSTM2466rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUPTArrhKGhLhMhNhNU( STM2338 or STM2466 )rh(}rhPNubh)r}r(h UThreonine and Lysine Metabolismrh }r(h)r}r(hNhNhUL-Threonine-O-3-phosphaterh}r(UCHEBI]rU37525raUKEGG]rUC12147raUPUBCHEM]rU14294rauhUthrp_prhUEh Jh!Gh"h#)r}r(hNh"UC4H8NO6Prh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubGj)Gh)r}r(hNhNhU L-Threoninerh}r(UCHEBI]rU16857raUKEGG]rUC00188raUPUBCHEM]rU3488rauhUthr__L_prhUEh Kh!Gh"h#)r}r(hNh"UC4H9NO3rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?jG?uhNhU,phospho L threonine phosphatase periplasmic rhEG@@hFGh}rhHh/]rjaRrhUPTHRpprhKGhLhMhNhNUSTM4249rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jvUG?jGGjGjGjG?uhNhU)pantetheine phosphate adenylyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcoaDrh}rjhUSTM3725rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPTPATirhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j%G?j1G?j@Gh)r}r(hNhNhU Putrescinerh}r(UCHEBI]rU17148raUKEGG]rUC00134raUPUBCHEM]rU3434rauhUptrc_prhUEh Kh!Gh"h#)r}r(hNh"UC4H14N2rh}rh(}rh*}r(UHKUCKUNKuhjubh,Uph(}rh.h/]RrubGuhNhU)putrescineornithine antiporter periplasm rhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUpotErh}rjhUSTM0700rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU PTRCORNt7pprhKGhLhMhNhNjh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(j%Gj+G?jGjG?uhNhUPutrescine TransaminaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUoatrh}rjhUSTM3218rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPTRCTArhKGhLhMhNhNjh(}r hPNubh)r }r (h UTransport Inner Membraner h }r (j%G?j4G?jGGjZGjG?jG?jGuhNhU.putrescine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUpotCrh}rjhUSTM1223rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUpotArh}rjhUSTM1226rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r (hNjKhNhUpotHr!h}r"jhUSTM0879r#h Nh"NjKh,Nh(}r$jU+h.h/]Rr%ubj)r&}r'(hNjKhNhUpotGr(h}r)jhUSTM0878r*h Nh"NjKh,Nh(}r+jU+h.h/]Rr,ubj)r-}r.(hNjKhNhUpotBr/h}r0jhUSTM1225r1h Nh"NjKh,Nh(}r2jU+h.h/]Rr3ubj)r4}r5(hNjKhNhUpotIr6h}r7jhUSTM0880r8h Nh"NjKh,Nh(}r9jU+h.h/]Rr:ubj)r;}r<(hNjKhNhUpotFr=h}r>jhUSTM0877r?h Nh"NjKh,Nh(}r@jU+h.h/]RrAubj)rB}rC(hNjKhNhUpotDrDh}rEjhUSTM1222rFh Nh"NjKh,Nh(}rGjU+h.h/]RrHubeRrIhU PTRCabcpprJhKGhLhMhNhNUt( ( STM0877 and STM0878 and STM0879 and STM0880 ) or ( STM1226 and STM1225 and STM1223 and STM1222 ) )rKh(}rLhPNubh)rM}rN(h UTransport Inner MembranerOh }rP(j%G?jGjGjG?uhNhU*putrescine transport in via proton symportrQhEG@@hFGh}rRhHh/]rSjaRrThUPTRCt2pprUhKGhLhMhNhNUSTM0700rVh(}rWhPNubh)rX}rY(h UTransport Outer Membrane PorinrZh }r[(jG?j=rGuhNhU>putrescine transport via diffusion extracellular to periplasm r\hEG@@hFG@h}r]hHh/]r^(jjjjeRr_hUPTRCtexr`hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rah(}rbhPNubh)rc}rd(h UNucleotide Salvage Pathwayreh }rf(jG?j^ GjEG?jGuhNhU*purine nucleoside phosphorylase Adenosine rghEG@@hFG@h}rhhHh/]rijXXaRrjhUPUNP1rkhKGhLhMhNhNUSTM4570rlh(}rmhPNubh)rn}ro(h UNucleotide Salvage Pathwayrph }rq(jGJGjG?jGj(XG?uhNhU/purine nucleoside phosphorylase Deoxyadenosine rrhEG@@hFG@h}rshHh/]rtjXXaRruhUPUNP2rvhKGhLhMhNhNUSTM4570rwh(}rxhPNubh)ry}rz(h UNucleotide Salvage Pathwayr{h }r|(jEG?jGjG?jGuhNhU*purine nucleoside phosphorylase Guanosine r}hEG@@hFG@h}r~hHh/]rjXXaRrhUPUNP3rhKGhLhMhNhNU ( STM4570 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jG?jGj(XG?jeOGuhNhU/purine nucleoside phosphorylase Deoxyguanosine rhEG@@hFG@h}rhHh/]rjXXaRrhUPUNP4rhKGhLhMhNhNU ( STM4570 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jEG?jGjK GjYG?uhNhU(purine nucleoside phosphorylase Inosine rhEG@@hFG@h}rhHh/]rjXXaRrhUPUNP5rhKGhLhMhNhNU ( STM4570 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jZJGjYG?j(XG?jGuhNhU-purine nucleoside phosphorylase Deoxyinosine rhEG@@hFG@h}rhHh/]rjXXaRrhUPUNP6rhKGhLhMhNhNU ( STM4570 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(h)r}r(hNhNhUXanthinerh}r(UCHEBI]rU17712raUKEGG]rUC00385raUPUBCHEM]rU3675rauhUxan_crhUEh Kh!Gh"h#)r}r(hNh"UC5H4N4O2rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jEG?jGjGuhNhU+purine nucleoside phosphorylase Xanthosine rhEG@@hFG@h}rhHh/]rjFaRrhUPUNP7rhKGhLhMhNhNUs0001rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j G?j)G?jYGjZGj)GjlG?uhNhU pyridoxamine 5 phosphate oxidaserhEG@@hFGh}rhHh/]rjaRrhUPYAM5POrhKGhLhMhNhNUSTM1448rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGGj)G?jwGj4G?jG?uhNhUpyridoxamine kinaserhEG@@hFGh}rhHh/]rjaRrhUPYDAMKrhKGhLhMhNhNUSTM2435rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j4G?h)r}r(hNhNhU Pyridoxalrh}r(UCHEBI]rU17310raUKEGG]rUC00250raUPUBCHEM]rU3549rauhUpydx_crhUEh Kh!Gh"h#)r}r(hNh"UC8H9NO3rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubGjGGjG?j)G?uhNhUpyridoxal kinaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUpdxYrh}rjhUSTM1450rh Nh"NjKh,Nh(}rjU+h.h/]RrubjeRrhUPYDXKrhKGhLhMhNhNU( STM2435 or STM1450 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGGjGj4G?jG?jG?uhNhUpyridoxine kinaserhEG@@hFGh}rhHh/]rjaRrhUPYDXNKrhKGhLhMhNhNUSTM2435rh(}rhPNubh)r }r (h U*Cofactor and Prosthetic Group Biosynthesisr h }r (j)GjG?jZGjG?uhNhU!Pyridoxal 5 phosphate phosphataser hEG@@hFGh}rhHh/]RrhUPYDXPPrhKGhLhMhNhNUh(}rhPNubh)r}r(h UGlycolysisGluconeogenesisrh }r(jmG?j4GjGG?jGjGuhNhUpyruvate kinaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUpykFrh}rjhUSTM1378rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r }r!(hNjKhNhUpykAr"h}r#jhUSTM1888r$h Nh"NjKh,Nh(}r%jU+h.h/]Rr&ubeRr'hUPYKr(hKGhLhMhNhNU( STM1888 or STM1378 )r)h(}r*hPNubh)r+}r,(h UNucleotide Salvage Pathwayr-h }r.(jEG?jTIGj;XG?jGuhNhU+pyrimidine nucleoside phosphorylase uracil r/hEG@@hFG@h}r0hHh/]r1j)r2}r3(hNjKhNhUudpr4h}r5jhUSTM3968r6h Nh"NjKh,Nh(}r7jU+h.h/]Rr8ubaRr9hUPYNP2rr:hKGhLhMhNhNj6h(}r;hPNubh)r<}r=(h UTransport Inner Membraner>h }r?(jmG?h)r@}rA(hNhNhUPyruvaterBh}rC(UCHEBI]rDU32816rEaUKEGG]rFUC00022rGaUPUBCHEM]rHU3324rIauhUpyr_prJhUEh Jh!Gh"h#)rK}rL(hNh"UC3H3O3rMh}rNh(}rOh*}rP(UHKUCKUOKuhjMubh,Uph(}rQh.h/]RrRubGjGjG?uhNhU;pyruvate reversible transport via proton symport periplasm rShEG@@hFG@h}rThHh/]RrUhUPYRt2rpprVhKGhLhMhNhNUh(}rWhPNubh)rX}rY(h UTransport Outer Membrane PorinrZh }r[(jYrGj@G?uhNhUhURBKr?hKGhLhMhNhNU( STM3885 or STM3793 )r@h(}rAhPNubh)rB}rC(h UAlternate Carbon MetabolismrDh }rE(h)rF}rG(hNhNhUL-Ribulose-5-phosphaterHh}rI(UCHEBI]rJU17666rKaUKEGG]rLUC01101rMaUPUBCHEM]rNU4335rOauhU ru5p__L_crPhUEh Jh!Gh"h#)rQ}rR(hNh"UC5H9O8PrSh}rTh(}rUh*}rV(UHK UCKUOKUPKuhjSubh,Uch(}rWh.h/]RrXubG?j4G?j/GjGGjG?uhNhUL ribulokinase L ribulose rYhEG@@hFGh}rZhHh/]r[j)r\}r](hNjKhNhUaraBr^h}r_jhUSTM0103r`h Nh"NjKh,Nh(}rajU+h.h/]RrbubaRrchURBK_L1rdhKGhLhMhNhNj`h(}rehPNubh)rf}rg(h UAlternate Carbon Metabolismrhh }ri(h)rj}rk(hNhNhUD-Xylulose-5-phosphaterlh}rm(UCHEBI]rnU16332roaUKEGG]rpUC00231rqaUPUBCHEM]rrU3530rsauhU xu5p__D_crthUEh Jh!Gh"h#)ru}rv(hNh"UC5H9O8Prwh}rxh(}ryh*}rz(UHK UCKUOKUPKuhjwubh,Uch(}r{h.h/]Rr|ubG?jFGuhNhU L ribulose phosphate 4 epimeraser}hEG@@hFG@h}r~hHh/]r(j)r}r(hNjKhNhUaraDrh}rjhUSTM0101rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUsgaErh}rjhUSTM4388rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUsgbErh}rjhUSTM3677rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhURBP4ErhKGhLhMhNhNU%( STM0101 or STM4388 or STM3677 )rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jڳGh)r}r(hNhNhUdTDP-L-rhamnoserh}r(UCHEBI]rU15774raUKEGG]rUC03319raUPUBCHEM]rU6171rauhU dtdprmn_crhUEh Jh!Gh"h#)r}r(hNh"U C16H24N2O15P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubGjG?j~WG?jG?uhNhU-rhamnosyltransferase I LPS core biosynthesis rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUyibRrh}rjhUSTM3720rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhURHAT1rhKGhLhMhNhNjh(}rhPNubh)r}r(h UMethionine Metabolismrh }r(jMRG?j(HG?j'GuhNhU%S ribosylhomocysteine cleavage enzymerhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUluxSrh}rjhUSTM2817rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhURHCCErhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?jGGjGjZGjG?j"G?jG?uhNhU,D ribose transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUrbsArh}rjhUSTM3882rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUrbsDrh}rjhUSTM3881rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUrbsBrh}rjhUSTM3884rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUrbsCrh}rjhUSTM3883rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhURIBabcpprhKGhLhMhNhNU5( STM3882 and STM3884 and STM3883 and STM3881 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jrGjG?uhNhU:ribose transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhURIBtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhU L-Rhamnoserh}r(UCHEBI]rU16055r aUKEGG]r UC00507r aUPUBCHEM]r U3790r auhUrmn_crhUEh Kh!Gh"h#)r}r(hNh"UC6H12O5rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhU L-Rhamnuloserh}r(UCHEBI]rU17897raUKEGG]rUC00861raUPUBCHEM]rU4118r auhUrml_cr!hUEh Kh!Gh"h#)r"}r#(hNh"UC6H12O5r$h}r%h(}r&h*}r'(UHK UCKUOKuhj$ubh,Uch(}r(h.h/]Rr)ubG?uhNhUL rhamnose isomeraser*hEG@@hFG@h}r+hHh/]r,j aRr-hURMIr.hKGhLhMhNhNUSTM4046r/h(}r0hPNubh)r1}r2(h UAlternate Carbon Metabolismr3h }r4(jGh)r5}r6(hNhNhUL-Rhamnulose-1-phosphater7h}r8(UCHEBI]r9U17892r:aUKEGG]r;UC01131r<aUPUBCHEM]r=U4362r>auhUrml1p_cr?hUEh Jh!Gh"h#)r@}rA(hNh"UC6H11O8PrBh}rCh(}rDh*}rE(UHK UCKUOKUPKuhjBubh,Uch(}rFh.h/]RrGubG?jGGj4G?jG?uhNhUrhamnulokinaserHhEG@@hFGh}rIhHh/]rJj)rK}rL(hNjKhNhUrhaBrMh}rNjhUSTM4047rOh Nh"NjKh,Nh(}rPjU+h.h/]RrQubaRrRhURMKrShKGhLhMhNhNjOh(}rThPNubh)rU}rV(h UTransport Outer Membrane PorinrWh }rX(jrGh)rY}rZ(hNhNhU L-Rhamnoser[h}r\(UCHEBI]r]U16055r^aUKEGG]r_UC00507r`aUPUBCHEM]raU3790rbauhUrmn_prchUEh Kh!Gh"h#)rd}re(hNh"UC6H12O5rfh}rgh(}rhh*}ri(UHK UCKUOKuhjfubh,Uph(}rjh.h/]RrkubG?uhNhU>L rhamnose transport via diffusion extracellular to periplasm rlhEG@@hFG@h}rmhHh/]rn(jjjjeRrohURMNtexrphKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rqh(}rrhPNubh)rs}rt(h UTransport Inner Membraneruh }rv(jG?jGjG?jYGuhNhU2L rhamnose transport via proton symport periplasm rwhEG@@hFGh}rxhHh/]ryj.aRrzhURMNtppr{hKGhLhMhNhNUSTM4050r|h(}r}hPNubh)r~}r(h UAlternate Carbon Metabolismrh }r(j5Gj}G?j|G?uhNhURhamnulose 1 phosphate aldolaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUrhaDrh}rjhUSTM4045rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhURMPArhKGhLhMhNhNjh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(j|VGjjVG?j4GjZG?jJG?uhNhU)ribonucleoside diphosphate reductase ADP rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUnrdFrh}rjhUSTM2808rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnrdArh}rjhUSTM2277rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnrdBrh}rjhUSTM2278rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnrdErh}rjhUSTM2807rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhURNDR1rhKGhLhMhNhNU9( STM2277 and STM2278 ) or ( STM2807 and STM2808 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jeGj4GjZG?jVG?jJG?uhNhU7ribonucleoside diphosphate reductase ADP glutaredoxin rhEG@@hFGh}rhHh/]r(jxjjjjjeRrhURNDR1brhKGhLhMhNhNU( ( STM1433 and ( STM2807 and STM2808 ) ) or ( STM0872 and ( STM2807 and STM2808 ) ) or ( STM1165 and ( STM2807 and STM2808 ) ) or ( STM3702 and ( STM2807 and STM2808 ) ) )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jNG?jjVG?jZG?j|VGjK!GuhNhU)ribonucleoside diphosphate reductase GDP rhEG@@hFGh}rhHh/]r(jjjjeRrhURNDR2rhKGhLhMhNhNU9( STM2277 and STM2278 ) or ( STM2807 and STM2808 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jNG?jeGjZG?jK!GjVG?uhNhU7ribonucleoside diphosphate reductase GDP glutaredoxin rhEG@@hFGh}rhHh/]r(jxjjjjjeRrhURNDR2brhKGhLhMhNhNU( ( STM3702 and ( STM2807 and STM2808 ) ) or ( STM1165 and ( STM2807 and STM2808 ) ) or ( STM1433 and ( STM2807 and STM2808 ) ) or ( STM0872 and ( STM2807 and STM2808 ) ) )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jjVG?jZG?j|VGjJG?jIGuhNhU)ribonucleoside diphosphate reductase CDP rhEG@@hFGh}rhHh/]r(jjjjeRrhURNDR3rhKGhLhMhNhNU9( STM2277 and STM2278 ) or ( STM2807 and STM2808 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jeGjZG?jIGjJG?jVG?uhNhU7ribonucleoside diphosphate reductase CDP glutaredoxin rhEG@@hFGh}rhHh/]r(jxjjjjjeRrhURNDR3brhKGhLhMhNhNU( ( STM1433 and ( STM2807 and STM2808 ) ) or ( STM1165 and ( STM2807 and STM2808 ) ) or ( STM0872 and ( STM2807 and STM2808 ) ) or ( STM3702 and ( STM2807 and STM2808 ) ) )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jjVG?jG?j|VGjZG?jGuhNhU)ribonucleoside diphosphate reductase UDP rhEG@@hFGh}rhHh/]r(jjjjeRrhURNDR4rhKGhLhMhNhNU9( STM2277 and STM2278 ) or ( STM2807 and STM2808 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jeGjG?jZG?jGjVG?uhNhU7ribonucleoside diphosphate reductase UDP glutaredoxin rhEG@@hFGh}rhHh/]r(jxjjjjjeRrhURNDR4brhKGhLhMhNhNU( ( STM1165 and ( STM2807 and STM2808 ) ) or ( STM3702 and ( STM2807 and STM2808 ) ) or ( STM1433 and ( STM2807 and STM2808 ) ) or ( STM0872 and ( STM2807 and STM2808 ) ) )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(j\LG?jGjGGjZG?jzG?uhNhU6ribonucleoside triphosphate reductase ATP flavodoxin rhEG@@hFGh}rhHh/]r (j)r }r (hNjKhNhUnrdDr h}r jhUSTM4452rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUnrdGrh}rjhUSTM4451rh Nh"NjKh,Nh(}rjU+h.h/]RrubjjjeRrhURNTR1crhKGhLhMhNhNU( ( STM3045 and STM4084 and STM4452 and STM4451 ) or ( STM3045 and STM4452 ) or ( STM0694 and STM4452 ) or ( STM0694 and STM4084 and STM4452 and STM4451 ) )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jGjZG?jeGjzG?jwG?uhNhU6ribonucleoside triphosphate reductase GTP flavodoxin r hEG@@hFGh}r!hHh/]r"(j jjjjeRr#hURNTR2cr$hKGhLhMhNhNU( ( STM0694 and STM4452 ) or ( STM3045 and STM4452 ) or ( STM3045 and STM4084 and STM4452 and STM4451 ) or ( STM0694 and STM4084 and STM4452 and STM4451 ) )r%h(}r&hPNubh)r'}r((h UNucleotide Salvage Pathwayr)h }r*(jGjzG?jZG?jFEGj*MG?uhNhU6ribonucleoside triphosphate reductase CTP flavodoxin r+hEG@@hFGh}r,hHh/]r-(j jjjjeRr.hURNTR3cr/hKGhLhMhNhNU( ( STM3045 and STM4452 ) or ( STM0694 and STM4084 and STM4452 and STM4451 ) or ( STM0694 and STM4452 ) or ( STM3045 and STM4084 and STM4452 and STM4451 ) )r0h(}r1hPNubh)r2}r3(h UNucleotide Salvage Pathwayr4h }r5(jGjzG?jZG?j3EGj=MG?uhNhU6ribonucleoside triphosphate reductase UTP flavodoxin r6hEG@@hFGh}r7hHh/]r8(j jjjjeRr9hURNTR4cr:hKGhLhMhNhNU( ( STM0694 and STM4084 and STM4452 and STM4451 ) or ( STM3045 and STM4452 ) or ( STM0694 and STM4452 ) or ( STM3045 and STM4084 and STM4452 and STM4451 ) )r;h(}r<hPNubh)r=}r>(h UPentose Phosphate Pathwayr?h }r@(jjG?j1GuhNhU ribulose 5 phosphate 3 epimeraserAhEG@@hFG@h}rBhHh/]rC(j)rD}rE(hNjKhNhU-h}rFjhUSTM4080rGh Nh"NjKh,Nh(}rHjU+h.h/]RrIubj)rJ}rK(hNjKhNhU-h}rLjhUSTM1617rMh Nh"NjKh,Nh(}rNjU+h.h/]RrOubj)rP}rQ(hNjKhNhUrperRh}rSjhUSTM3483rTh Nh"NjKh,Nh(}rUjU+h.h/]RrVubeRrWhURPErXhKGhLhMhNhNU!( STM3483 or STM4080 or STM1617 )rYh(}rZhPNubh)r[}r\(h UPentose Phosphate Pathwayr]h }r^(j1G?j"GuhNhUribose 5 phosphate isomeraser_hEG@@hFG@h}r`hHh/]ra(j)rb}rc(hNjKhNhUrpiArdh}rejhUSTM3063rfh Nh"NjKh,Nh(}rgjU+h.h/]Rrhubj)ri}rj(hNjKhNhU-h}rkjhUSTM1933rlh Nh"NjKh,Nh(}rmjU+h.h/]RrnubeRrohURPIrphKGhLhMhNhNU( STM3063 or STM1933 )rqh(}rrhPNubh)rs}rt(h U)Lipopolysaccharide Biosynthesis Recyclingruh }rv(jG?h)rw}rx(hNhNhUSedoheptulose-7-phosphateryh}rz(UCHEBI]r{U15721r|aUKEGG]r}UC00281r~aUPUBCHEM]rU3576rauhUs7p_crhUEh Jh!Gh"h#)r}r(hNh"U C7H13O10Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}rh.h/]RrubGuhNhU#sedoheptulose 7 phosphate isomeraserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUgmhArh}rjhUSTM0310rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUS7PIrhKGhLhMhNhNjh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(jG?jZGh)r}r(hNhNhUN2-Succinyl-L-ornithinerh}r(UCHEBI]rU27574raUKEGG]rUC03415raUPUBCHEM]rU6244rauhUsucorn_crhUEh Jh!Gh"h#)r}r(hNh"U C9H15N2O5rh}rh(}rh*}r(UHKUCK UOKUNKuhjubh,Uch(}rh.h/]RrubG?jGj6GjlG@uhNhUSuccinylarginine dihydrolaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUastBrh}rjhUSTM1306rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUSADHrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCysteine Metabolismrh }r(jxGjeGjGGjZGjG?jM#G?jG?jK!G?uhNhUSulfate adenyltransferaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUcysDrh}rjhUSTM2935rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUcysNrh}rjhUSTM2934rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUSADT2rhKGhLhMhNhNU( STM2934 and STM2935 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j GjyG?jG?j G?h)r}r(hNhNhUD-Sorbitol-6-phosphaterh}r(UCHEBI]rU17044raUKEGG]rUC01096raUPUBCHEM]rU4331rauhUsbt6p_crhUEh Jh!Gh"h#)r}r(hNh"UC6H13O9Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}rh.h/]RrubGuhNhU"sorbitol 6 phosphate dehydrogenaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUsrlDrh}rjhUSTM2835rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUSBTPDrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jmG?h)r}r(hNhNhU D-Sorbitolrh}r(UCHEBI]rU17924raUKEGG]rUC00794raUPUBCHEM]rU4052rauhUsbt__D_prhUEh Kh!Gh"h#)r}r(hNh"UC6H14O6r h}r h(}r h*}r (UHKUCKUOKuhj ubh,Uph(}r h.h/]RrubGjGjG?uhNhU.D sorbitol transport via PEPPyr PTS periplasm rhEG@@hFGh}rhHh/]r(jj)r}r(hNjKhNhUslrBrh}rjhUSTM2834rh Nh"NjKh,Nh(}rjU+h.h/]Rrubjj)r}r(hNjKhNhUsrlErh}rjhUSTM2833rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r }r!(hNjKhNhUsrlAr"h}r#jhUSTM2832r$h Nh"NjKh,Nh(}r%jU+h.h/]Rr&ubeRr'hUSBTptsppr(hKGhLhMhNhNUC( STM2431 and STM2432 and STM2832 and STM2834 and STM2833 )r)h(}r*hPNubh)r+}r,(h UTransport Outer Membrane Porinr-h }r.(jrGjG?uhNhU>D sorbitol transport via diffusion extracellular to periplasm r/hEG@@hFG@h}r0hHh/]r1(jjjjeRr2hUSBTtexr3hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r4h(}r5hPNubh)r6}r7(h UThreonine and Lysine Metabolismr8h }r9(jZGh)r:}r;(hNhNhU&N-Succinyl-LL-2-6-diaminoheptanedioater<h}r=(UCHEBI]r>U17279r?aUKEGG]r@UC04421rAaUPUBCHEM]rBU7053rCauhUsl26da_crDhUEh Jh!Gh"h#)rE}rF(hNh"U C11H16N2O7rGh}rHh(}rIh*}rJ(UHKUCK UOKUNKuhjGubh,Uch(}rKh.h/]RrLubGj5G?jKG?uhNhU&succinyl diaminopimelate desuccinylaserMhEG@@hFGh}rNhHh/]rOj)rP}rQ(hNjKhNhUdapErRh}rSjhUSTM2483rTh Nh"NjKh,Nh(}rUjU+h.h/]RrVubaRrWhUSDPDSrXhKGhLhMhNhNjTh(}rYhPNubh)rZ}r[(h UThreonine and Lysine Metabolismr\h }r](j:Gh)r^}r_(hNhNhU'N-Succinyl-2-L-amino-6-oxoheptanedioater`h}ra(UCHEBI]rbU35266rcaUKEGG]rdUC04462reaUPUBCHEM]rfU7087rgauhUsl2a6o_crhhUEh Jh!Gh"h#)ri}rj(hNh"U C11H12NO8rkh}rlh(}rmh*}rn(UHK UCK UOKUNKuhjkubh,Uch(}roh.h/]RrpubG?jG?jGuhNhU$succinyldiaminopimelate transaminaserqhEG@@hFG@h}rrhHh/]rsjaRrthUSDPTAruhKGhLhMhNhNUSTM3468rvh(}rwhPNubh)rx}ry(h U tRNA Chargingrzh }r{(h)r|}r}(hNhNhUL-Seryl-tRNA-Secr~h}r(UCHEBI]rU13170raUKEGG]rU0aUPUBCHEM]rU0auhUsertrna__sec___crhUEh Kh!Gh"h#)r}r(hNh"UC3H6NO2Rrh}rh(}rh*}r(UHKUCKURKUOKUNKuhjubh,Uch(}rh.h/]RrubGjG?jG?h)r}r(hNhNhUL-Selenocysteinyl-tRNA-Secrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU sectrna_crhUEh Kh!Gh"h#)r}r(hNh"U C3H6NOSeRrh}rh(}rh*}r(UCKUHKUOKUNKURKUSeKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhUSelenophosphaterh}r(UCHEBI]rU16144raUKEGG]rUC05172raUPUBCHEM]rU7583rauhUselnp_crhUEh Jh!Gh"h#)r}r(hNh"UH2O3PSerh}rh(}rh*}r(UHKUSeKUOKUPKuhjubh,Uch(}rh.h/]RrubGuhNhUselenocysteine synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUselArh}rjhUSTM3683rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUSELCYSSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U Unassignedrh }r(jG?jGGjZGjG?jG?h)r}r(hNhNhUSeleniderh}r(UCHEBI]rU16503raUKEGG]rUC01528raUPUBCHEM]rU4690rauhUseln_crhUEh Jh!Gh"h#)r}r(hNh"UHSerh}rh(}rh*}r(UHKUSeKuhjubh,Uch(}rh.h/]RrubGuhNhUSelenophosphate synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUselDrh}rjhUSTM1297rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUSELNPSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jbxGjGGj]G?jGjG?uhNhU L seryl adenylate synthaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUentFrh}rjhUSTM0588rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUSERASrrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCysteine Metabolismrh }r(jbxGjGjG?jG?uhNhUserine O acetyltransferaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUcysErh}rjhUSTM3699rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUSERATrhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycine and Serine Metabolismrh }r(jmG?jlG?jWGuhNhUD serine deaminaserhEG@@hFGh}rhHh/]r j)r }r (hNjKhNhUdsdAr h}r jhUSTM3802rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUSERD_DrhKGhLhMhNhNjh(}rhPNubh)r}r(h U tRNA Chargingrh }r(jbxGjG?jGGh)r}r(hNhNhUL-Seryl-tRNA-Serrh}r(UCHEBI]rU29162raUKEGG]rUC02553raUPUBCHEM]r U5554r!auhU sertrna_cr"hUEh Kh!Gh"h#)r#}r$(hNh"UC3H6NO2Rr%h}r&h(}r'h*}r((UHKUCKURKUOKUNKuhj%ubh,Uch(}r)h.h/]Rr*ubG?h)r+}r,(hNhNhUtRNA-Serr-h}r.(UCHEBI]r/U29179r0aUKEGG]r1UC01650r2aUPUBCHEM]r3U4799r4auhU trnaser_cr5hUEh Kh!Gh"h#)r6}r7(hNh"URh}r8h(}r9h*}r:URKshURubh,Uch(}r;h.h/]Rr<ubGjG?uhNhUSeryl tRNA synthetaser=hEG@@hFGh}r>hHh/]r?j)r@}rA(hNjKhNhUserSrBh}rCjhUSTM0963rDh Nh"NjKh,Nh(}rEjU+h.h/]RrFubaRrGhUSERTRSrHhKGhLhMhNhNjDh(}rIhPNubh)rJ}rK(h U tRNA ChargingrLh }rM(jbxGj|G?jG?jGGjG?h)rN}rO(hNhNhU tRNA-SeCysrPh}rQ(UCHEBI]rRU0aUKEGG]rSU0aUPUBCHEM]rTU0auhU trnasecys_crUhUEh Kh!Gh"h#)rV}rW(hNh"URh}rXh(}rYh*}rZURKshURubh,Uch(}r[h.h/]Rr\ubGuhNhU$Seryl tRNA synthetase selenocystein r]hEG@@hFGh}r^hHh/]r_j@aRr`hUSERTRS2rahKGhLhMhNhNUSTM0963rbh(}rchPNubh)rd}re(h UTransport Inner Membranerfh }rg(jbxG?jGjGjG?uhNhU;L serine reversible transport via proton symport periplasm rhhEG@@hFG@h}rihHh/]rj(j)rk}rl(hNjKhNhUtdcCrmh}rnjhUSTM3243roh Nh"NjKh,Nh(}rpjU+h.h/]Rrqubj)rr}rs(hNjKhNhUsdaCrth}rujhUSTM2970rvh Nh"NjKh,Nh(}rwjU+h.h/]RrxubeRryhUSERt2rpprzhKGhLhMhNhNU( STM2970 or STM3243 )r{h(}r|hPNubh)r}}r~(h UTransport Inner Membranerh }r(jbxG?jG?j GjGuhNhU&L serine via sodium symport periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUygjUrh}rjhUSTM3225rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUSERt4pprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jrGjG?uhNhU2 succinyl 6 hydroxy 2 4 cyclohexadiene 1 carboxylate synthaserhEG@@hFGh}rhHh/]rjaRrhUSHCHCS2r hKGhLhMhNhNUSTM2309r!h(}r"hPNubh)r#}r$(h U*Cofactor and Prosthetic Group Biosynthesisr%h }r&(j Gh)r'}r((hNhNhUdihydrosirohydrochlorinr)h}r*(UCHEBI]r+U0aUKEGG]r,UC02463r-aUPUBCHEM]r.U5480r/auhUdscl_cr0hUEh Jh!Gh"h#)r1}r2(hNh"U C42H41N4O16r3h}r4h(}r5h*}r6(UHK)UCK*UOKUNKuhj3ubh,Uch(}r7h.h/]Rr8ubGjG?j G?h)r9}r:(hNhNhUsirohydrochlorinr;h}r<(UCHEBI]r=U18023r>aUKEGG]r?UC05778r@aUPUBCHEM]rAU8073rBauhUscl_crChUEh Jh!Gh"h#)rD}rE(hNh"U C42H39N4O16rFh}rGh(}rHh*}rI(UHK'UCK*UOKUNKuhjFubh,Uch(}rJh.h/]RrKubG?uhNhU#sirohydrochlorin dehydrogenase NAD rLhEG@@hFGh}rMhHh/]rNj)rO}rP(hNjKhNhUcysGrQh}rRjhUSTM3477rSh Nh"NjKh,Nh(}rTjU+h.h/]RrUubaRrVhUSHCHD2rWhKGhLhMhNhNjSh(}rXhPNubh)rY}rZ(h U*Cofactor and Prosthetic Group Biosynthesisr[h }r\(j9GjG@j/GjxG?uhNhUsirohydrochlorin ferrochetalaser]hEG@@hFGh}r^hHh/]r_jOaRr`hUSHCHFrahKGhLhMhNhNUSTM3477rbh(}rchPNubh)rd}re(h U0Tyrosine Tryptophan and Phenylalanine Metabolismrfh }rg(jB G?h)rh}ri(hNhNhU Shikimaterjh}rk(UCHEBI]rlU16119rmaUKEGG]rnUC00493roaUPUBCHEM]rpU3776rqauhUskm_crrhUEh Jh!Gh"h#)rs}rt(hNh"UC7H9O5ruh}rvh(}rwh*}rx(UHK UCKUOKuhjuubh,Uch(}ryh.h/]RrzubG?jU GjGjRGuhNhUshikimate dehydrogenaser{hEG@@hFG@h}r|hHh/]r}(j)r~}r(hNjKhNhUaroErh}rjhUSTM1359rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUaroErh}rjhUSTM3401rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUaroErh}rjhUSTM3859rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUSHK3DrrhKGhLhMhNhNU$( STM1359 or STM3401 or STM3859 )rh(}rhPNubh)r}r(h U0Tyrosine Tryptophan and Phenylalanine Metabolismrh }r(jGGjG?jhGj4G?jG?uhNhUshikimate kinaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUaroKrh}rjhUSTM3487rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUaroLrh}rjhUSTM0388rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUSHKKrhKGhLhMhNhNU( STM3487 or STM0388 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j sGh)r}r(hNhNhU Shikimaterh}r(UCHEBI]rU16119raUKEGG]rUC00493raUPUBCHEM]rU3776rauhUskm_prhUEh Jh!Gh"h#)r}r(hNh"UC7H9O5rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uph(}rh.h/]RrubG?uhNhU=shikimate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUSKMtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j&sGh)r}r(hNhNhUsulfur-dioxiderh}r(UCHEBI]rU18422raUKEGG]rUC09306raUPUBCHEM]rU11497rauhUso2_prhUEh Kh!Gh"h#)r}r(hNh"UO2Srh}rh(}rh*}r(USKUOKuhjubh,Uph(}rh.h/]RrubG?uhNhU7SO2 transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUSO2texrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jGG?jGuhNhU&SO2 transport via diffusion periplasm rhEG@@hFG@h}rhHh/]rjFaRrhUSO2tpprhKGhLhMhNhNUs0001rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jBsGjFG?uhNhU;sulfite transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUSO3texrhKGhLhMhNhNU2( STM1473 or STM2267 or STM0320 or STM0999 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j^sGh)r}r(hNhNhUSulfaterh}r (UCHEBI]r U16189r aUKEGG]r UC00059r aUPUBCHEM]rU3359rauhUso4_prhUEh Jh!Gh"h#)r}r(hNh"UO4Srh}rh(}rh*}r(USKUOKuhjubh,Uph(}rh.h/]RrubG?uhNhU;sulfate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUSO4texrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNube(h)r }r!(h UArginine and Proline Metabolismr"h }r#(jGjG?jG?jGuhNhUSuccinylornithine transaminaser$hEG@@hFGh}r%hHh/]r&j%aRr'hUSOTAr(hKGhLhMhNhNUSTM1303r)h(}r*hPNubh)r+}r,(h UArginine and Proline Metabolismr-h }r.(jGjG?jGh)r/}r0(hNhNhUN1-Acetylspermidiner1h}r2(UCHEBI]r3U17927r4aUKEGG]r5UC00612r6aUPUBCHEM]r7U3886r8auhU N1aspmd_cr9hUEh Kh!Gh"h#)r:}r;(hNh"UC9H23N3Or<h}r=h(}r>h*}r?(UHKUCK UOKUNKuhj<ubh,Uch(}r@h.h/]RrAubG?jG?uhNhUSpermidine acetyltransferaserBhEG@@hFGh}rChHh/]rDj)rE}rF(hNjKhNhUspeGrGh}rHjhUSTM1502rIh Nh"NjKh,Nh(}rJjU+h.h/]RrKubaRrLhUSPMDAT1rMhKGhLhMhNhNjIh(}rNhPNubh)rO}rP(h UArginine and Proline MetabolismrQh }rR(jGjG?jGh)rS}rT(hNhNhUN8-AcetylspermidinerUh}rV(UCHEBI]rWU27911rXaUKEGG]rYUC01029rZaUPUBCHEM]r[U4273r\auhU n8aspmd_cr]hUEh Kh!Gh"h#)r^}r_(hNh"UC9H23N3Or`h}rah(}rbh*}rc(UHKUCK UOKUNKuhj`ubh,Uch(}rdh.h/]RreubG?jG?uhNhU Spermidine acetyltransferase N8 rfhEG@@hFGh}rghHh/]rhjEaRrihUSPMDAT2rjhKGhLhMhNhNUSTM1502rkh(}rlhPNubh)rm}rn(h UTransport Inner Membraneroh }rp(j4G?jGGjZGjG?jG?h)rq}rr(hNhNhU Spermidinersh}rt(UCHEBI]ruU16610rvaUKEGG]rwUC00315rxaUPUBCHEM]ryU3609rzauhUspmd_pr{hUEh Kh!Gh"h#)r|}r}(hNh"UC7H22N3r~h}rh(}rh*}r(UHKUCKUNKuhj~ubh,Uph(}rh.h/]RrubGjG?uhNhU.spermidine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(jj-jjBeRrhU SPMDabcpprhKGhLhMhNhNU5( STM1226 and STM1225 and STM1223 and STM1222 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jzsGjqG?uhNhU>spermidine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUSPMDtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(j%GjG?jG?j˴G?j!GuhNhUspermidine synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUspeErh}rjhUSTM0166rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUSPMSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U Unassignedrh }r(j G?jYG?jGjgGuhNhUsuperoxide dismutaserhEGhFGh}rhHh/]r(j)r}r(hNjKhNhUsodBrh}rjhUSTM1431rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUsodArh}rjhUSTM4055rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUSPODMrhKGhLhMhNhNU( STM4055 or STM1431 )rh(}rhPNubh)r}r(h U Unassignedrh }r(jG?jGjGjjEG?uhNhUsuperoxide dismutaserhEGhFGh}rhHh/]r(j)r}r(hNjKhNhUsodCrh}rjhUSTM1044rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUsodCrh}rjhUSTM1440rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUSPODMpprhKGhLhMhNhNU( STM1440 or STM1044 )rh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(j GjZGj5G?jG@j G?jGuhNhU)succinate semialdehyde dehydrogenase NAD rhEG@@hFGh}rhHh/]RrhUSSALxrhKGhLhMhNhNUh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(jGjB GjU G?jZGj5G?jG@uhNhU*succinate semialdehyde dehydrogenase NADP rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUgabDrh}rjhUSTM2791rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUSSALyrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jʺG?jGGjGjG?h)r}r(hNhNhUo-Succinylbenzoaterh}r(UCHEBI]rU18325raUKEGG]rUC02730raUPUBCHEM]rU5692rauhUsucbz_crhUEh Jh!Gh"h#)r}r(hNh"UC11H8O5rh}rh(}rh*}r(UHKUCK UOKuhjubh,Uch(}rh.h/]Rr ubGjG?uhNhUo succinylbenzoate CoA ligaser hEG@@hFGh}r hHh/]r j)r }r(hNjKhNhUmenErh}rjhUSTM2305rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUSUCBZLrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jG?jZG?j GuhNhUO succinylbenzoate CoA synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmenCr h}r!jhUSTM2306r"h Nh"NjKh,Nh(}r#jU+h.h/]Rr$ubaRr%hUSUCBZSr&hKGhLhMhNhNj"h(}r'hPNubh)r(}r)(h UTransport Inner Membraner*h }r+(jGj5G?j=GjG@uhNhU6succinate transport via proton symport 2 H periplasm r,hEG@@hFGh}r-hHh/]r.js6aRr/hU SUCCt2_2ppr0hKGhLhMhNhNUSTM3614r1h(}r2hPNubh)r3}r4(h UTransport Inner Membraner5h }r6(j=G?jG?j5GjGuhNhU6succinate transport out via proton antiport periplasm r7hEG@@hFGh}r8hHh/]Rr9hUSUCCt3ppr:hKGhLhMhNhNUh(}r;hPNubh)r<}r=(h UTransport Outer Membrane Porinr>h }r?(j=G?jsGuhNhU=succinate transport via diffusion extracellular to periplasm r@hEG@@hFG@h}rAhHh/]rB(jjjjeRrChUSUCCtexrDhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rEh(}rFhPNubh)rG}rH(h UOxidative PhosphorylationrIh }rJ(jO5Gjb5G?j5Gj#G?uhNhU%succinate dehydrogenase irreversible rKhEG@@hFGh}rLhHh/]rM(j)rN}rO(hNjKhNhUsdhArPh}rQjhUSTM0734rRh Nh"NjKh,Nh(}rSjU+h.h/]RrTubj)rU}rV(hNjKhNhUsdhCrWh}rXjhUSTM0732rYh Nh"NjKh,Nh(}rZjU+h.h/]Rr[ubj)r\}r](hNjKhNhUsdhDr^h}r_jhUSTM0733r`h Nh"NjKh,Nh(}rajU+h.h/]Rrbubj)rc}rd(hNjKhNhUsdhBreh}rfjhUSTM0735rgh Nh"NjKh,Nh(}rhjU+h.h/]RriubeRrjhUSUCDirkhKGhLhMhNhNU5( STM0732 and STM0733 and STM0734 and STM0735 )rlh(}rmhPNubh)rn}ro(h UCitric Acid Cyclerph }rq(j4G?jGjo(G?j5GjGGjG?uhNhU$succinyl CoA synthetase ADP forming rrhEG@@hFG@h}rshHh/]rt(j)ru}rv(hNjKhNhUsucDrwh}rxjhUSTM0739ryh Nh"NjKh,Nh(}rzjU+h.h/]Rr{ubj)r|}r}(hNjKhNhUsucCr~h}rjhUSTM0738rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUSUCOASrhKGhLhMhNhNU( STM0738 and STM0739 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jsGh)r}r(hNhNhUSucroserh}r(UCHEBI]rU17992raUKEGG]rUC00089raUPUBCHEM]rU3389rauhUsucr_prhUEh Kh!Gh"h#)r}r(hNh"U C12H22O11rh}rh(}rh*}r(UHKUCK UOK uhjubh,Uph(}rh.h/]RrubG?uhNhUEsucrose transport transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUSUCRtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhU sulfoacetaterh}r(UCHEBI]rU0aUKEGG]rUC14179raUPUBCHEM]rU7846991rauhUsulfac_prhUEh Jh!Gh"h#)r}r(hNh"UC2H2O5Srh}rh(}rh*}r(UHKUCKUSKUOKuhjubh,Uph(}rh.h/]RrubG?jsGuhNhU?sulfoaceate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU SULFACtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UCysteine Metabolismrh }r(jB G@jU GjpGG?jZG@jGjzFGuhNhUsulfite reductase NADPH2 rhEG@@hFGh}rhHh/]r(jl|js|eRrhUSULRirhKGhLhMhNhNU( STM2947 and STM2948 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jxG?j4G?jGGjZGjGjG?jG?uhNhU+sulfate transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(jjjj3jAj,j:j%eRrhUSULabcpprhKGhLhMhNhNU( ( STM2441 and STM2443 and STM2442 and STM4063 ) or ( STM0781 and STM0782 and STM0783 ) or ( STM2441 and STM2444 and STM2443 and STM2442 ) )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(j Gj@G?uhNhUtrans 2 decenoyl ACP isomeraserhEG@@hFG@h}rhHh/]rj aRrhUT2DECAIrhKGhLhMhNhNUSTM1067rh(}rhPNubh)r}r(h UPentose Phosphate Pathwayrh }r(jUGjNG?jyG?jwGuhNhU transaldolaserhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUtalArh}rjhUSTM2473rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUtalBrh}rjhUSTM0007rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUTALArhKGhLhMhNhNU( STM2473 or STM0007 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jsGh)r}r(hNhNhU L-tartraterh}r(UCHEBI]rU 15671 30924raUKEGG]rUC00898raUPUBCHEM]rU4154r auhU tartr__L_pr hUEh Jh!Gh"h#)r }r (hNh"UC4H4O6r h}rh(}rh*}r(UHKUCKUOKuhj ubh,Uph(}rh.h/]RrubG?uhNhU(jjjjeRr?hUTCYNTtexr@hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rAh(}rBhPNubh)rC}rD(h UMembrane Lipid MetabolismrEh }rF(jzGjwG?uhNhU)tetradecenoyl coa cis trans isomerizationrGhEG@@hFGh}rHhHh/]rIj[aRrJhUTDECOAIrKhKGhLhMhNhNUSTM3983rLh(}rMhPNubh)rN}rO(h U*Cofactor and Prosthetic Group BiosynthesisrPh }rQ(jZGh)rR}rS(hNhNhUThiamin-monophosphaterTh}rU(UCHEBI]rVU9533rWaUKEGG]rXUC01081rYaUPUBCHEM]rZU4319r[auhUthmmp_cr\hUEh Jh!Gh"h#)r]}r^(hNh"U C12H16N4O4PSr_h}r`h(}rah*}rb(UCK UHKUOKUNKUPKUSKuhj_ubh,Uch(}rch.h/]RrdubG?jUyGjG?jG?uhNhUthiamin pyrophosphataserehEG@@hFGh}rfhHh/]rgj aRrhhUTDPrihKGhLhMhNhNUSTM1235rjh(}rkhPNubh)rl}rm(h UCell Envelope Biosynthesisrnh }ro(jG?h)rp}rq(hNhNhU$dTDP-4-amino-4-6-dideoxy-D-galactoserrh}rs(UCHEBI]rtU15952ruaUKEGG]rvUC04268rwaUPUBCHEM]rxU6932ryauhU dtdp4addg_crzhUEh Jh!Gh"h#)r{}r|(hNh"U C16H26N3O14P2r}h}r~h(}rh*}r(UHKUCKUPKUOKUNKuhj}ubh,Uch(}rh.h/]RrubGh)r}r(hNhNhU(dTDP-4-acetamido-4-6-dideoxy-D-galactoserh}r(UCHEBI]rU28294raUKEGG]rU0aUPUBCHEM]rU8290rauhU dtdp4aaddg_crhUEh Jh!Gh"h#)r}r(hNh"U C18H27N3O15P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?jGuhNhU4dTDP 4 amino 4 6 dideoxy D glucose acetyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUwecDrh}rjhUSTM3924rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTDPADGATrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jGh)r}r(hNhNhU dTDP-4-dehydro-6-deoxy-D-glucoserh}r(UCHEBI]rU16128raUKEGG]rUC00687raUPUBCHEM]rU3956rauhU dtdp4d6dg_crhUEh Jh!Gh"h#)r}r(hNh"U C16H22N2O15P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubGjG?jpG?uhNhU/dTDP 4 amino 4 6 dideoxy D glucose transaminaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUwecErh}rjhUSTM3925rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTDPAGTArhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jGh)r}r(hNhNhU dTDP-4-dehydro-6-deoxy-L-mannoserh}r(UCHEBI]rU15744raUKEGG]rUC00688raUPUBCHEM]rU3957rauhU dtdp4d6dm_crhUEh Jh!Gh"h#)r}r(hNh"U C16H22N2O15P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhU$dTDP 4 dehydrorhamnose 3 5 epimeraserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUrfbCrh}rjhUSTM2094rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTDPDRErhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jB G?jU GjG?jGjGuhNhU dTDP 4 dehydrorhamnose reductaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUrfbDrh}rjhUSTM2096rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTDPDRRrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jZG?jG?j`GuhNhUdTDPglucose 4 6 dehydrataserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUrfbBrh}rjhUSTM2097rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r }r (hNjKhNhUrffGr h}r jhUSTM3922r h Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUTDPGDHrhKGhLhMhNhNU( STM2097 or STM3922 )rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jGGjG?j4G?jG?jͤGuhNhUTetraacyldisaccharide 4 kinaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUlpxKrh}rjhUSTM0985rh Nh"NjKh,Nh(}r jU+h.h/]Rr!ubaRr"hUTDSKr#hKGhLhMhNhNjh(}r$hPNubh)r%}r&(h UTransport Inner Membraner'h }r((j'VGjVG?jVGjIVG?uhNhUthioldisulfide reductase DsbC r)hEG@@hFGh}r*hHh/]r+(j\VjVeRr,hUTDSR1r-hKGhLhMhNhNU( STM3043 and STM4323 )r.h(}r/hPNubh)r0}r1(h UTransport Inner Membraner2h }r3(jVGjVGjVG?jVG?uhNhUthioldisulfide reductase DsbG r4hEG@@hFGh}r5hHh/]r6(jVjVeRr7hUTDSR2r8hKGhLhMhNhNU( STM4323 and STM0607 )r9h(}r:hPNubh)r;}r<(h UOxidative Phosphorylationr=h }r>(j G?jU G?jGjG@j GjB GuhNhU!NAD P transhydrogenase periplasm r?hEG@@hFGh}r@hHh/]rA(jfj_eRrBhUTHD2pprChKGhLhMhNhNU( STM1480 and STM1479 )rDh(}rEhPNubh)rF}rG(h UThreonine and Lysine MetabolismrHh }rI(jG?jZGj^G?jo(GjPGuhNhU"tetrahydrodipicolinate succinylaserJhEG@@hFGh}rKhHh/]rLj)rM}rN(hNjKhNhUdapDrOh}rPjhUSTM0213rQh Nh"NjKh,Nh(}rRjU+h.h/]RrSubaRrThUTHDPSrUhKGhLhMhNhNjQh(}rVhPNubh)rW}rX(h U UnassignedrYh }rZ(j GjjVG?j|VGjZG@uhNhU(hydrogen peroxide reductase thioredoxin r[hEG@@hFGh}r\hHh/]r](jVj)r^}r_(hNjKhNhUahpCr`h}rajhUSTM0608rbh Nh"NjKh,Nh(}rcjU+h.h/]RrdubjVj)re}rf(hNjKhNhU-h}rgjhUSTM0402rhh Nh"NjKh,Nh(}rijU+h.h/]Rrjubj)rk}rl(hNjKhNhUahpFrmh}rnjhUSTM0609roh Nh"NjKh,Nh(}rpjU+h.h/]RrqubeRrrhUTHIORDXirshKGhLhMhNhNUT( ( ( STM0609 and STM0608 ) or ( STM0609 and STM0402) ) and ( STM2649 or STM3915 ) )rth(}ruhPNubh)rv}rw(h UTransport Inner Membranerxh }ry(jG?jGjG?jGuhNhU4thymidine transport in via proton symport periplasm rzhEG@@hFGh}r{hHh/]r|(j'"j."eRr}hUTHMDt2ppr~hKGhLhMhNhNU( STM3113 or STM2409 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjGjG?jG?uhNhU?thymidine transport in via proton symport reversible periplasm rhEG@@hFG@h}rhHh/]rj@"aRrhU THMDt2rpprhKGhLhMhNhNUSTM2421rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?jtGuhNhU=thymidine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUTHMDtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?jGGh)r}r(hNhNhUThiaminrh}r(UCHEBI]rU18385raUKEGG]rUC00378raUPUBCHEM]rU3668rauhUthm_prhUEh Kh!Gh"h#)r}r(hNh"U C12H17N4OSrh}rh(}rh*}r(UHKUCK USKUOKUNKuhjubh,Uph(}rh.h/]RrubGjZGh)r}r(hNhNhUThiaminrh}r(UCHEBI]rU18385raUKEGG]rUC00378raUPUBCHEM]rU3668rauhUthm_crhUEh Kh!Gh"h#)r}r(hNh"U C12H17N4OSrh}rh(}rh*}r(UHKUCK USKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?jG?uhNhU,thiamine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUthiQrh}rjhUSTM0106rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUthiPrh}rjhUSTM0107rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUtbpArh}rjhUSTM0108rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUTHMabcpprhKGhLhMhNhNU'( STM0108 and STM0107 and STM0106 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j=tGjG?uhNhUhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r?h(}r@hPNubh)rA}rB(h UThreonine and Lysine MetabolismrCh }rD(jGj{yG?jZGjG?uhNhUthreonine synthaserEhEG@@hFGh}rFhHh/]rGj)rH}rI(hNjKhNhUthrCrJh}rKjhUSTM0004rLh Nh"NjKh,Nh(}rMjU+h.h/]RrNubaRrOhUTHRSrPhKGhLhMhNhNjLh(}rQhPNubh)rR}rS(h U tRNA ChargingrTh }rU(j{yGjG?h)rV}rW(hNhNhUL-Threonyl-tRNA-ThrrXh}rY(UCHEBI]rZU29163r[aUKEGG]r\UC02992r]aUPUBCHEM]r^U5901r_auhU thrtrna_cr`hUEh Kh!Gh"h#)ra}rb(hNh"UC4H8NO2Rrch}rdh(}reh*}rf(UHKUCKURKUOKUNKuhjcubh,Uch(}rgh.h/]RrhubG?jG?jGGh)ri}rj(hNhNhUtRNA-Thrrkh}rl(UCHEBI]rmU29180rnaUKEGG]roUC01651rpaUPUBCHEM]rqU4800rrauhU trnathr_crshUEh Kh!Gh"h#)rt}ru(hNh"URh}rvh(}rwh*}rxURKshURubh,Uch(}ryh.h/]RrzubGuhNhUThreonyl tRNA synthetaser{hEG@@hFGh}r|hHh/]r}j)r~}r(hNjKhNhUthrSrh}rjhUSTM1333rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTHRTRSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?jGGjZGjGjG?jG?j{yG?uhNhU/L threonine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(jk*j*j*jr*jy*eRrhUTHRabcpprhKGhLhMhNhNUC( STM3560 and STM3561 and STM3563 and STM3567 and STM3562 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j{yGjGjG?jG?uhNhU;L threonine efflux transport via proton antiport periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUrhtCrh}rjhUSTM3959rh Nh"NjKh,Nh(}rjU+h.h/]RrubjPeRrhUTHRt2pprhKGhLhMhNhNU( STM0832 or STM3959 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjGj{yG?jG?uhNhU>L threonine reversible transport via proton symport periplasm rhEG@@hFG@h}rhHh/]rjkaRrhUTHRt2rpprhKGhLhMhNhNUSTM3243rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j{yG?j GjGjG?uhNhU)L threonine via sodium symport periplasm rhEG@@hFGh}rhHh/]rjaRrhUTHRt4pprhKGhLhMhNhNUSTM3225rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?jYtGuhNhU?L threonine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUTHRtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUThyminerh}r(UCHEBI]rU17821raUKEGG]rUC00178raUPUBCHEM]rU3478rauhUthym_crhUEh Kh!Gh"h#)r}r(hNh"UC5H6N2O2rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uch(}rh.h/]RrubGjGh)r}r(hNhNhUThyminerh}r(UCHEBI]rU17821raUKEGG]rUC00178raUPUBCHEM]rU3478rauhUthym_prhUEh Kh!Gh"h#)r}r(hNh"UC5H6N2O2rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?jG?uhNhU4thymine transport out via proton antiport periplasm rhEG@@hFGh}rhHh/]RrhUTHYMt3pprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jtGjG?uhNhU;thymine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUTHYMtexrhKGhLhMhNhNU2( STM1473 or STM2267 or STM0320 or STM0999 )rh(}rhPNubh)r}r(h UPentose Phosphate Pathwayrh }r(jjGj"GjwG?jUG?uhNhU transketolaserhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhU-h}r jhUSTM2341r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubj)r }r(hNjKhNhUtktArh}rjhUSTM3076rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM2340rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUtktBrh}rjhUSTM2474rh Nh"NjKh,Nh(}rjU+h.h/]Rr ubeRr!hUTKT1r"hKGhLhMhNhNU.( STM3076 or STM2474 or STM2341 or STM2340 )r#h(}r$hPNubh)r%}r&(h UPentose Phosphate Pathwayr'h }r((jUG?jjGjyG?jNGuhNhU transketolaser)hEG@@hFG@h}r*hHh/]r+(jj jjeRr,hUTKT2r-hKGhLhMhNhNU.( STM3076 or STM2474 or STM2341 or STM2340 )r.h(}r/hPNubh)r0}r1(h UOxidative Phosphorylationr2h }r3(jS-Gh)r4}r5(hNhNhUtrimethylaminer6h}r7(UCHEBI]r8U18139r9aUKEGG]r:UC00565r;aUPUBCHEM]r<U3844r=auhUtma_pr>hUEh Kh!Gh"h#)r?}r@(hNh"UC3H10NrAh}rBh(}rCh*}rD(UHK UCKUNKuhjAubh,Uph(}rEh.h/]RrFubG?j5G?j)G?jGh)rG}rH(hNhNhUTrimethylamine-N-oxiderIh}rJ(UCHEBI]rKU15724rLaUKEGG]rMUC01104rNaUPUBCHEM]rOU4338rPauhUtmao_prQhUEh Kh!Gh"h#)rR}rS(hNh"UC3H9NOrTh}rUh(}rVh*}rW(UHK UCKUOKUNKuhjTubh,Uph(}rXh.h/]RrYubGuhNhU9Trimethylamine N oxide reductase menaquinol 8 periplasm rZhEG@@hFGh}r[hHh/]r\(j)r]}r^(hNjKhNhUtorCr_h}r`jhUSTM3823rah Nh"NjKh,Nh(}rbjU+h.h/]Rrcubj)rd}re(hNjKhNhUtorArfh}rgjhUSTM3822rhh Nh"NjKh,Nh(}rijU+h.h/]RrjubeRrkhUTMAOR1pprlhKGhLhMhNhNU( STM3823 and STM3822 )rmh(}rnhPNubh)ro}rp(h UOxidative Phosphorylationrqh }rr(jC-Gj4G?jG?jGGj)G?jGuhNhUATrimethylamine N oxide reductase demethylmenaquinol 8 periplasm rshEG@@hFGh}rthHh/]ru(j]jdeRrvhUTMAOR2pprwhKGhLhMhNhNU( STM3823 and STM3822 )rxh(}ryhPNubh)rz}r{(h UTransport Outer Membrane Porinr|h }r}(jGG?jtGuhNhUJTrimethylamine N oxide transport via diffusion extracellular to periplasm r~hEG@@hFG@h}rhHh/]r(jjjjeRrhUTMAOtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jtGj4G?uhNhUBTrimethylamine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUTMAtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jkWG?jGGjGj4G?jG?uhNhUthymidine kinase ATPthymidine rhEG@@hFGh}rhHh/]rjXaRrhUTMDK1rhKGhLhMhNhNUSTM1750rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(j(XG?jGjG?jGuhNhUthymidine phosphorylaserhEG@@hFG@h}rhHh/]rjQXaRrhUTMDPPrhKGhLhMhNhNUSTM4568rh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jPG?jXGjyGjkWG?uhNhUthymidylate synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUthyArh}rjhUSTM3001rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTMDSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j4G?jGjGGjG?jRG?uhNhUthiamine kinaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUthiKrh}rjhUSTM1208rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTMKrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j4G?jRGjUyG?jGGuhNhUthiamine phosphate kinaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUthiLrh}rjhUSTM0419rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTMPKrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jTGjRG?j GjGjG?uhNhU"thiamine phosphate diphosphorylaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUthiErh}rjhUSTM4163rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTMPPPrhKGhLhMhNhNjh(}rhPNubh)r}r(h UGlycolysisGluconeogenesisrh }r(j|GjUG?uhNhUtriose phosphate isomeraserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUtpiArh}rjhUSTM4081rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTPIrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGGjvUGjG?h)r}r(hNhNhU'2--5--triphosphoribosyl-3-dephospho-CoArh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU 2tpr3dpcoa_crhUEh Jh!Gh"h#)r}r(hNh"UC26H40N7O26P5Sr h}r h(}r h*}r (UCKUHK(UOKUNKUPKUSKuhj ubh,Uch(}r h.h/]RrubG?uhNhU(triphosphoribosyl dephospho CoA synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcitGrh}rjhUSTM0619rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTPRDCOASrhKGhLhMhNhNjh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jB G?j|VG?jU GjGjjVGuhNhUthioredoxin reductase NADPH r hEG@@hFGh}r!hHh/]r"(j)r#}r$(hNjKhNhUtrxBr%h}r&jhUSTM0958r'h Nh"NjKh,Nh(}r(jU+h.h/]Rr)ubjVjVeRr*hUTRDRr+hKGhLhMhNhNU<( ( STM3915 and ( STM0958 and STM0958 ) ) or STM2649 )r,h(}r-hPNubh)r.}r/(h UAlternate Carbon Metabolismr0h }r1(jJ,G?j}G?h)r2}r3(hNhNhU!alpha-alpha-Trehalose-6-phosphater4h}r5(UCHEBI]r6U18283r7aUKEGG]r8UC00689r9aUPUBCHEM]r:U3958r;auhUtre6p_cr<hUEh Jh!Gh"h#)r=}r>(hNh"U C12H21O14Pr?h}r@h(}rAh*}rB(UHKUCK UOKUPKuhj?ubh,Uch(}rCh.h/]RrDubGjZGuhNhUtrehalose 6 phosphate hydrolaserEhEG@@hFGh}rFhHh/]rGj)rH}rI(hNjKhNhUtreCrJh}rKjhUSTM4453rLh Nh"NjKh,Nh(}rMjU+h.h/]RrNubaRrOhUTRE6PHrPhKGhLhMhNhNjLh(}rQhPNubh)rR}rS(h UAlternate Carbon MetabolismrTh }rU(jZGh)rV}rW(hNhNhU TrehaloserXh}rY(UCHEBI]rZU16551r[aUKEGG]r\UC01083r]aUPUBCHEM]r^U4320r_auhUtre_cr`hUEh Kh!Gh"h#)ra}rb(hNh"U C12H22O11rch}rdh(}reh*}rf(UHKUCK UOK uhjcubh,Uch(}rgh.h/]RrhubG?jG?j2GuhNhUtrehalose phosphataserihEG@@hFGh}rjhHh/]rkj)rl}rm(hNjKhNhUotsBrnh}rojhUSTM1929rph Nh"NjKh,Nh(}rqjU+h.h/]RrrubaRrshUTRE6PPrthKGhLhMhNhNjph(}ruhPNubh)rv}rw(h UAlternate Carbon Metabolismrxh }ry(jbGj}GjG?jG?j2G?uhNhU5alpha alpha trehalose phosphate synthase UDP forming rzhEG@@hFGh}r{hHh/]r|j)r}}r~(hNjKhNhUotsArh}rjhUSTM1928rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTRE6PSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jZGjJ,G@jVGuhNhUalpha alpha trehalaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUtreFrh}rjhUSTM3603rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTREHrhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhU Trehaloserh}r(UCHEBI]rU16551raUKEGG]rUC01083raUPUBCHEM]rU4320rauhUtre_prhUEh Kh!Gh"h#)r}r(hNh"U C12H22O11rh}rh(}rh*}r(UHKUCK UOK uhjubh,Uph(}rh.h/]RrubGj)GjG@uhNhU alpha alpha trehalase periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUtreArh}rjhUSTM1796rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTREHpprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjmG?j2G?jGuhNhU-trehalose transport via PEPPyr PTS periplasm rhEG@@hFGh}rhHh/]r(jjjeRrhUTREptspprhKGhLhMhNhNU'( STM2433 and STM2431 and STM2432 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?juGuhNhU=trehalose transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUTREtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U0Tyrosine Tryptophan and Phenylalanine Metabolismrh }r(jUG?jGjbxGj/yG?jZG?uhNhU-tryptophan synthase indoleglycerol phosphate rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUtrpBrh}rjhUSTM1726rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUtrpArh}rjhUSTM1727rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUTRPS1rhKGhLhMhNhNU( STM1727 and STM1726 )rh(}rhPNubh)r}r(h U0Tyrosine Tryptophan and Phenylalanine Metabolismrh }r(jbxGjZG?jGj/yG?uhNhUtryptophan synthase indole rhEG@@hFGh}rhHh/]r(jjeRrhUTRPS2rhKGhLhMhNhNU( STM1727 and STM1726 )rh(}rhPNubh)r}r(h U0Tyrosine Tryptophan and Phenylalanine Metabolismrh }r(jUG?jG?jGuhNhU-tryptophan synthase indoleglycerol phosphate rhEG@@hFGh}rhHh/]r(jjeRrhUTRPS3rhKGhLhMhNhNU( STM1727 and STM1726 )rh(}rhPNubh)r}r(h U tRNA Chargingrh }r(j/yGjGGh)r}r(hNhNhUL-Tryptophanyl-tRNA-Trprh}r(UCHEBI]r U29159r aUKEGG]r UC03512r aUPUBCHEM]r U6322rauhU trptrna_crhUEh Kh!Gh"h#)r}r(hNh"U C11H11N2ORrh}rh(}rh*}r(UHK UCK URKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?jG?h)r}r(hNhNhUtRNA-Trprh}r(UCHEBI]rU29181raUKEGG]rUC01652raUPUBCHEM]r U4801r!auhU trnatrp_cr"hUEh Kh!Gh"h#)r#}r$(hNh"URh}r%h(}r&h*}r'URKshURubh,Uch(}r(h.h/]Rr)ubGuhNhUTryptophanyl tRNA synthetaser*hEG@@hFGh}r+hHh/]r,j)r-}r.(hNjKhNhUtrpSr/h}r0jhUSTM3481r1h Nh"NjKh,Nh(}r2jU+h.h/]Rr3ubaRr4hUTRPTRSr5hKGhLhMhNhNj1h(}r6hPNubh)r7}r8(h UTransport Inner Membraner9h }r:(h)r;}r<(hNhNhU L-Tryptophanr=h}r>(UCHEBI]r?U16828r@aUKEGG]rAUC00078rBaUPUBCHEM]rCU3378rDauhUtrp__L_prEhUEh Kh!Gh"h#)rF}rG(hNh"U C11H12N2O2rHh}rIh(}rJh*}rK(UHK UCK UOKUNKuhjHubh,Uph(}rLh.h/]RrMubGjGj/yG?jG?uhNhU?L tryptophan reversible transport via proton symport periplasm rNhEG@@hFG@h}rOhHh/]rP(jjeRrQhUTRPt2rpprRhKGhLhMhNhNU( STM0150 or STM3279 )rSh(}rThPNubh)rU}rV(h UTransport Outer Membrane PorinrWh }rX(juGj;G?uhNhU@L tryptophan transport via diffusion extracellular to periplasm rYhEG@@hFG@h}rZhHh/]r[(jjjjeRr\hUTRPtexr]hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r^h(}r_hPNubh)r`}ra(h UAlternate Carbon Metabolismrbh }rc(j G?jGjGj Gj~G?uhNhU!tartronate semialdehyde reductaserdhEG@@hFG@h}rehHh/]rf(j)rg}rh(hNjKhNhUglxRrih}rjjhUSTM0519rkh Nh"NjKh,Nh(}rljU+h.h/]Rrmubj)rn}ro(hNjKhNhUgarRrph}rqjhUSTM3248rrh Nh"NjKh,Nh(}rsjU+h.h/]RrtubeRruhUTRSARrrvhKGhLhMhNhNU( STM0519 or STM3248 )rwh(}rxhPNubh)ry}rz(h U&Inorganic Ion Transport and Metabolismr{h }r|(jFGjFG?j4G?jZGjGGjG?jG?uhNhU/thiosulfate transport via ABC system periplasm r}hEG@@hFGh}r~hHh/]r(jjj3j:jAeRrhU TSULabcpprhKGhLhMhNhNUt( ( STM2441 and STM2444 and STM2443 and STM2442 ) or ( STM2441 and STM2443 and STM2442 and STM4063 ) )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j9uGjFG?uhNhU?thiosulfate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUTSULtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membranerh }r(jUuGjl{G?uhNhU[Tetradecanoate transport via facilitated irreversible diffusion extracellular to periplasm rhEG@@hFGh}rhHh/]rjMaRrhU TTDCAtexirhKGhLhMhNhNUSTM2391rh(}rhPNubh)r}r(h UTransport Outer Membranerh }r(j{G?jquGuhNhU[Tetradecenoate transport via facilitated irreversible diffusion extracellular to periplasm rhEG@@hFGh}rhHh/]rjMaRrhU TTDCEAtexirhKGhLhMhNhNUSTM2391rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j4G?jZGh)r}r(hNhNhU tungstaterh}r(UCHEBI]rU46502raUKEGG]rU0aUPUBCHEM]rU26697048rauhUtungs_crhUEh Jh!Gh"h#)r}r(hNh"UO4W1rh}rh(}rh*}r(UWKUOKuhjubh,Uch(}rh.h/]RrubG?h)r}r(hNhNhU tungstaterh}r(UCHEBI]rU46502raUKEGG]rU0aUPUBCHEM]rU26697048rauhUtungs_prhUEh Jh!Gh"h#)r}r(hNh"UO4W1rh}rh(}rh*}r(UWKUOKuhjubh,Uph(}rh.h/]RrubGjGGjG?jG?uhNhU-tungstate transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j,j%jeRrhU TUNGSabcpprhKGhLhMhNhNU'( STM0781 and STM0782 and STM0783 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(juGjG?uhNhU=tungstate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUTUNGStexrhKGhLhMhNhNU2( STM2267 or STM1473 or STM0320 or STM0999 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(juGh)r}r(hNhNhUTyraminerh}r(UCHEBI]rU15760raUKEGG]rUC00483raUPUBCHEM]rU3766rauhUtym_prhUEh Kh!Gh"h#)r}r(hNh"UC8H12NOrh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhU(jj6eRr?hUTYRTAr@hKGhLhMhNhNU( STM4248 or STM0998 )rAh(}rBhPNubh)rC}rD(h U tRNA chargingrEh }rF(h)rG}rH(hNhNhUtRNA-TyrrIh}rJ(UCHEBI]rKU29182rLaUKEGG]rMUC00787rNaUPUBCHEM]rOU4045rPauhU trnatyr_crQhUEh Kh!Gh"h#)rR}rS(hNh"URh}rTh(}rUh*}rVURKshURubh,Uch(}rWh.h/]RrXubGh)rY}rZ(hNhNhUL-Tyrosyl-tRNA-Tyrr[h}r\(UCHEBI]r]U29161r^aUKEGG]r_UC02839r`aUPUBCHEM]raU5781rbauhU tyrtrna_crchUEh Kh!Gh"h#)rd}re(hNh"U C9H10NO2Rrfh}rgh(}rhh*}ri(UHK UCK URKUOKUNKuhjfubh,Uch(}rjh.h/]RrkubG?jG?jxGjGGjG?uhNhUtyrosyl tRNA synthetaserlhEG@@hFGh}rmhHh/]rnj)ro}rp(hNjKhNhUtyrSrqh}rrjhUSTM1449rsh Nh"NjKh,Nh(}rtjU+h.h/]RruubaRrvhUTYRTRSrwhKGhLhMhNhNjsh(}rxhPNubh)ry}rz(h UTransport Inner Membraner{h }r|(jGjxG?jGjG?uhNhU=L tyrosine reversible transport via proton symport periplasm r}hEG@@hFG@h}r~hHh/]r(j)r}r(hNjKhNhUtyrPrh}rjhUSTM1937rh Nh"NjKh,Nh(}rjU+h.h/]RrubjjZeRrhUTYRt2rpprhKGhLhMhNhNU%( STM1937 or STM0150 or STM0568 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?juGuhNhU>L tyrosine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUTYRtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(j GjG?h)r}r(hNhNhU,UDP-3-O-3-hydroxytetradecanoyl-D-glucosaminerh}r(UCHEBI]rU27392raUKEGG]rUC06022raUPUBCHEM]rU8294rauhUu3hga_crhUEh Jh!Gh"h#)r}r(hNh"U C29H50N3O18P2rh}rh(}rh*}r(UHK2UCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubGjG?jG?uhNhU6UDP 3 O 3 hydroxymyristoyl glucosamine acyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUlpxDrh}rjhUSTM0226rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUU23GAATrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhU)UDP-N-acetylmuramoyl-L-alanyl-D-glutamaterh}r(UCHEBI]rU16970raUKEGG]rUC00692raUPUBCHEM]rU3960rauhUuamag_crhUEh Jh!Gh"h#)r}r(hNh"U C28H39N5O23P2rh}rh(}rh*}r(UHK'UCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubGj4G?jGGjG?jKGjG?h)r}r(hNhNhUGUDP-N-acetylmuramoyl-L-alanyl-D-gamma-glutamyl-meso-2-6-diaminopimelaterh}r(UCHEBI]rU0aUKEGG]rUC04877raUPUBCHEM]rU7429rauhUugmd_crhUEh Jh!Gh"h#)r}r(hNh"U C35H51N7O26P2rh}rh(}rh*}r(UHK3UCK#UPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhULUDP N acetylmuramoyl L alanyl D glutamyl meso 2 6 diaminopimelate synthetaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmurErh}rjhUSTM0123rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUAAGDSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jG?j(G?j)GjG@h)r}r(hNhNhUUDP-N-acetyl-D-galactosaminerh}r(UCHEBI]rU16650raUKEGG]rUC00203raUPUBCHEM]rU3503rauhU udpacgal_prhUEh Jh!Gh"h#)r}r(hNh"U C17H25N3O17P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubGuhNhU(UCHEBI]r?U16287r@aUKEGG]rAUC01170rBaUPUBCHEM]rCU4397rDauhUuacmam_crEhUEh Jh!Gh"h#)rF}rG(hNh"U C17H25N3O17P2rHh}rIh(}rJh*}rK(UHKUCKUPKUOKUNKuhjHubh,Uch(}rLh.h/]RrMubGj G@j GjZGjG@j'G?uhNhU)UDP N acetyl D mannosamine oxidoreductaserNhEG@@hFGh}rOhHh/]rPj)rQ}rR(hNjKhNhUwecCrSh}rTjhUSTM3921rUh Nh"NjKh,Nh(}rVjU+h.h/]RrWubaRrXhUUACMAMOrYhKGhLhMhNhNjUh(}rZhPNubh)r[}r\(h UCell Envelope Biosynthesisr]h }r^(j;G?j7GuhNhU#UDP N acetylglucosamine 2 epimeraser_hEG@@hFG@h}r`hHh/]raj)rb}rc(hNjKhNhUwecBrdh}rejhUSTM3920rfh Nh"NjKh,Nh(}rgjU+h.h/]RrhubaRrihUUAG2ErjhKGhLhMhNhNjfh(}rkhPNubh)rl}rm(h U)Lipopolysaccharide Biosynthesis Recyclingrnh }ro(jG?j Gj7Gh)rp}rq(hNhNhU2UDP-3-O-3-hydroxytetradecanoyl-N-acetylglucosaminerrh}rs(UCHEBI]rtU28131ruaUKEGG]rvUC04738rwaUPUBCHEM]rxU7309ryauhUu3aga_crzhUEh Jh!Gh"h#)r{}r|(hNh"U C31H51N3O19P2r}h}r~h(}rh*}r(UHK3UCKUPKUOKUNKuhj}ubh,Uch(}rh.h/]RrubG?uhNhU'UDP N acetylglucosamine acyltransferaserhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUlpxArh}rjhUSTM0228rh Nh"NjKh,Nh(}rjU+h.h/]RrubjseRrhUUAGAATrhKGhLhMhNhNU( STM1196 and STM0228 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jGj7Gh)r}r(hNhNhU-UDP-N-acetyl-3-O-1-carboxyvinyl-D-glucosaminerh}r(UCHEBI]rU16435raUKEGG]rUC04631raUPUBCHEM]rU7220rauhUuaccg_crhUEh Jh!Gh"h#)r}r(hNh"U C20H26N3O19P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?uhNhU1UDP N acetylglucosamine 1 carboxyvinyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmurArh}rjhUSTM3307rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUAGCVTrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(j߃Gj3EGjGjG?j7G?uhNhU'UDP N acetylglucosamine diphosphorylaserhEG@@hFGh}rhHh/]rjaRrhUUAGDPrhKGhLhMhNhNUSTM3862rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jG?j7GjG?jG?j1GuhNhUpUDP N acetylglucosamine N acetylmuramyl pentapeptide pyrophosphoryl undecaprenol N acetylglucosamine transferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmurGrh}rjhUSTM0128rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUAGPT3rhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jGjGGh)r}r(hNhNhUUDP-N-acetylmuramoyl-L-alaninerh}r(UCHEBI]rU16932raUKEGG]rUC01212raUPUBCHEM]rU4434rauhUuama_crhUEh Jh!Gh"h#)r}r(hNh"U C23H33N4O20P2rh}rh(}rh*}r(UHK!UCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubGjG?jG?j4G?jG?uhNhU4UDP N acetylmuramoyl L alanyl D glutamate synthetaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmurDrh}rjhUSTM0126rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUAMAGSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhUUDP-N-acetylmuramaterh}r(UCHEBI]rU17882raUKEGG]rUC01050raUPUBCHEM]rU4292rauhUuamr_crhUEh Jh!Gh"h#)r}r(hNh"U C20H28N3O19P2rh}rh(}rh*}r (UHKUCKUPKUOKUNKuhjubh,Uch(}r h.h/]Rr ubGj4G?j)GjG?jG?jGGjG?uhNhU)UDP N acetylmuramoyl L alanine synthetaser hEG@@hFGh}r hHh/]rj)r}r(hNjKhNhUmurCrh}rjhUSTM0129rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUAMASrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jG?jU GjGjGjB G?uhNhU-UDP N acetylenolpyruvoylglucosamine reductaserhEG@@hFGh}rhHh/]rj)r }r!(hNjKhNhUmurBr"h}r#jhUSTM4137r$h Nh"NjKh,Nh(}r%jU+h.h/]Rr&ubaRr'hUUAPGRr(hKGhLhMhNhNj$h(}r)hPNubh)r*}r+(h UCell Envelope Biosynthesisr,h }r-(jxGjZGj$G?jG?jG?uhNhUundecaprenyl diphosphataser.hEG@@hFGh}r/hHh/]r0(j)r1}r2(hNjKhNhUybjGr3h}r4jhUSTM0865r5h Nh"NjKh,Nh(}r6jU+h.h/]Rr7ubjj)r8}r9(hNjKhNhUuppPr:h}r;jhUSTM3205r<h Nh"NjKh,Nh(}r=jU+h.h/]Rr>ubeRr?hUUDCPDPr@hKGhLhMhNhNU%( STM1710 or STM0865 or STM3205 )rAh(}rBhPNubh)rC}rD(h U*Cofactor and Prosthetic Group BiosynthesisrEh }rF(j%GjxG?jSG jG@ uhNhU!Undecaprenyl diphosphate synthaserGhEG@@hFGh}rHhHh/]rIj)rJ}rK(hNjKhNhUuppSrLh}rMjhUSTM0221rNh Nh"NjKh,Nh(}rOjU+h.h/]RrPubaRrQhUUDCPDPSrRhKGhLhMhNhNjNh(}rShPNubh)rT}rU(h UCell Envelope BiosynthesisrVh }rW(j)GjG?jG?jG?jZGuhNhU%undecaprenyl diphosphatase periplasm rXhEG@@hFGh}rYhHh/]rZ(j8j1jeRr[hUUDCPDPppr\hKGhLhMhNhNU%( STM0865 or STM1710 or STM3205 )r]h(}r^hPNubh)r_}r`(h U)Lipopolysaccharide Biosynthesis Recyclingrah }rb(jGj$G?uhNhU8undecaprenyl phosphate transport cytoplasm to periplasm rchEG@@hFGh}rdhHh/]RrehU UDCPPtppirfhKGhLhMhNhNUh(}rghPNubh)rh}ri(h UTransport Outer Membrane Porinrjh }rk(jG?jvGuhNhUPUDP N acetyl D galactosamine transport via diffusion extracellular to periplasm rlhEG@@hFG@h}rmhHh/]rn(jjjjeRrohU UDPACGALtexrphKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rqh(}rrhPNubh)rs}rt(h UAlternate Carbon Metabolismruh }rv(jbGh)rw}rx(hNhNhU UDPgalactoseryh}rz(UCHEBI]r{U18307r|aUKEGG]r}UC00052r~aUPUBCHEM]rU3354rauhUudpgal_crhUEh Jh!Gh"h#)r}r(hNh"U C15H22N2O17P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhUUDPglucose 4 epimeraserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUgalErh}rjhUSTM0776rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUDPG4ErhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jG?jG?j)GjG@h)r}r(hNhNhU UDPgalactoserh}r(UCHEBI]rU18307raUKEGG]rUC00052raUPUBCHEM]rU3354rauhUudpgal_prhUEh Jh!Gh"h#)r}r(hNh"U C15H22N2O17P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubGuhNhU!UDPgalactose pyrophosphohydrolaserhEG@@hFGh}rhHh/]rjMaRrhU UDPGALPpprhKGhLhMhNhNUSTM0494rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?jLvGuhNhU@UDPgalactose transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU UDPGALtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(h)r}r(hNhNhUUDP-D-glucuronaterh}r(UCHEBI]rU17200raUKEGG]rUC00167raUPUBCHEM]rU3467rauhU udpglcur_crhUEh Jh!Gh"h#)r}r(hNh"U C15H19N2O18P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jbGjZGj G@jG@j GuhNhUUDPglucose 6 dehydrogenaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUudgrh}rjhUSTM2080rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUDPGDrhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(j GjG?j G?h)r}r(hNhNhUUDP-4-keto-pyranoserh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udpLa4o_crhUEh Jh!Gh"h#)r}r(hNh"U C14H18N2O16P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jGuhNhU"UDP glucuronate C 4 decarboxylaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUyfbGrh}rjhUSTM2299rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUDPGDCrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r }r (hNhNhUUDP-D-glucuronater h}r (UCHEBI]r U17200raUKEGG]rUC00167raUPUBCHEM]rU3467rauhU udpglcur_prhUEh Jh!Gh"h#)r}r(hNh"U C15H19N2O18P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uph(}rh.h/]RrubG?jhvGuhNhUEUDP D glucuronate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU UDPGLCURtexr hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r!h(}r"hPNubh)r#}r$(h UAlternate Carbon Metabolismr%h }r&(jG?j)G?jG@j)Gh)r'}r((hNhNhU UDPglucoser)h}r*(UCHEBI]r+U18066r,aUKEGG]r-UC00029r.aUPUBCHEM]r/U3331r0auhUudpg_pr1hUEh Jh!Gh"h#)r2}r3(hNh"U C15H22N2O17P2r4h}r5h(}r6h*}r7(UHKUCKUPKUOKUNKuhj4ubh,Uph(}r8h.h/]Rr9ubGuhNhUUDPglucose pyrophosphohydrolaser:hEG@@hFGh}r;hHh/]r<jMaRr=hUUDPGPppr>hKGhLhMhNhNUSTM0494r?h(}r@hPNubh)rA}rB(h UTransport Outer Membrane PorinrCh }rD(j'G?j0vGuhNhU>UDPglucose transport via diffusion extracellular to periplasm rEhEG@@hFG@h}rFhHh/]rG(jjjjeRrHhUUDPGtexrIhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rJh(}rKhPNubh)rL}rM(h U)Lipopolysaccharide Biosynthesis RecyclingrNh }rO(jGh)rP}rQ(hNhNhU5uridine-5--diphospho-beta-4-deoxy-4-amino-L-arabinoserRh}rS(UCHEBI]rTU0aUKEGG]rUU0aUPUBCHEM]rVU0auhU udpLa4n_crWhUEh Jh!Gh"h#)rX}rY(hNh"U C14H22N3O15P2rZh}r[h(}r\h*}r](UHKUCKUPKUOKUNKuhjZubh,Uch(}r^h.h/]Rr_ubG?jGjG?uhNhUBUDP 4 ketopentoseUDP 4 amino 4 deoxy L arabinose aminotransferaser`hEG@@hFG@h}rahHh/]rbj)rc}rd(hNjKhNhUyfbEreh}rfjhUSTM2297rgh Nh"NjKh,Nh(}rhjU+h.h/]RriubaRrjhUUDPKAATrkhKGhLhMhNhNjgh(}rlhPNubh)rm}rn(h UAlternate Carbon Metabolismroh }rp(jG?jG?j)GjG@j GuhNhU1UDP D glucuronate pyrophosphohydrolase periplasm rqhEG@@hFGh}rrhHh/]rsjMaRrthU UGLCURPppruhKGhLhMhNhNUSTM0494rvh(}rwhPNubh)rx}ry(h UAlternate Carbon Metabolismrzh }r{(jbGjGjwG?jMG?uhNhU1UDPglucose hexose 1 phosphate uridylyltransferaser|hEG@@hFG@h}r}hHh/]r~j)r}r(hNjKhNhUgalTrh}rjhUSTM0775rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUGLTrhKGhLhMhNhNjh(}rhPNubh)r}r(h UNitrogen Metabolismrh }r(jsG?j+GjG?jZGjGjlG@uhNhUUreidoglycolate hydrolaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUallArh}rjhUSTM0515rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUGLYCHrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jGj4G?j(GjG?jG?jGGjG?uhNhU_UDP N acetylmuramoyl L alanyl D glutamyl meso 2 6 diaminopimeloyl D alanyl D alanine synthetaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUmurFrh}rjhUSTM0124rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUGMDDSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jZGjtG?jG?jpGuhNhU%UDP 3 O acetylglucosamine deacetylaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUlpxCrh}rjhUSTM0134rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUHGADArhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(j'Gj'G?h)r}r(hNhNhU9uridine-5--diphospho-beta-4-deoxy-4-formamido-L-arabinoserh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU17756768rauhU udpLa4fn_crhUEh Jh!Gh"h#)r}r(hNh"U C15H21N3O16P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jPGjG?uhNhUUDP L Ara4N formyltransferaserhEG@@hFGh}rhHh/]rjaRrhUULA4NFTrhKGhLhMhNhNUSTM2299rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(h)r}r(hNhNhU2undecaprenyl-phosphate-4-amino-4-deoxy-L-arabinoserh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUuLa4n_crhUEh Kh!Gh"h#)r}r(hNh"U C60H100N1O7P1rh}rh(}rh*}r(UHKdUCKhEG@@hFG@h}r?hHh/]r@(jjjjeRrAhUUMPtexrBhKGhLhMhNhNU2( STM0999 or STM1473 or STM2267 or STM0320 )rCh(}rDhPNubh)rE}rF(h UArginine and Proline MetabolismrGh }rH(jeSGjGjG?j7G?uhNhU*2 keto 4 methylthiobutyrate transaminationrIhEG@@hFGh}rJhHh/]rKjaRrLhUUNK3rMhKGhLhMhNhNUSTM4248rNh(}rOhPNubh)rP}rQ(h U)Lipopolysaccharide Biosynthesis RecyclingrRh }rS(jv-G?jG?jZGh)rT}rU(hNhNhU3undecaprenyl-phosphate-4-amino-4-formyl-L-arabinoserVh}rW(UCHEBI]rXU0aUKEGG]rYU0aUPUBCHEM]rZU0auhUuLa4fn_cr[hUEh Jh!Gh"h#)r\}r](hNh"U C61H99N1O8P1r^h}r_h(}r`h*}ra(UHKcUCK=UPKUOKUNKuhj^ubh,Uch(}rbh.h/]RrcubGuhNhU)undecaprenyl phosphate L Ara4FN formylaserdhEG@@hFGh}rehHh/]RrfhUUPLA4FNFrghKGhLhMhNhNUh(}rhhPNubh)ri}rj(h U)Lipopolysaccharide Biosynthesis Recyclingrkh }rl(jTG?jGjG?j$GuhNhU+undecaprenyl phosphate L Ara4FN transferasermhEG@@hFGh}rnhHh/]roj)rp}rq(hNjKhNhUpmrFrrh}rsjhUSTM2298rth Nh"NjKh,Nh(}rujU+h.h/]RrvubaRrwhUUPLA4FNTrxhKGhLhMhNhNjth(}ryhPNubh)rz}r{(h U*Cofactor and Prosthetic Group Biosynthesisr|h }r}(j'G@j'G?h)r~}r(hNhNhUUroporphyrinogen-IIIrh}r(UCHEBI]rU15437raUKEGG]rUC01051raUPUBCHEM]rU4293rauhUuppg3_crhUEh Jh!Gh"h#)r}r(hNh"U C40H36N4O16rh}rh(}rh*}r(UHK$UCK(UOKUNKuhjubh,Uch(}rh.h/]RrubGj!GjG?uhNhU"uroporphyrinogen methyltransferaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUhemXrh}rjhUSTM3936rh Nh"NjKh,Nh(}rjU+h.h/]RrubjOeRrhUUPP3MTrhKGhLhMhNhNU( STM3936 or STM3477 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j~G?jZG?jכGuhNhUuroporphyrinogen III synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhemDrh}rjhUSTM3937rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUPP3SrhKGhLhMhNhNjh(}rhPNubh)r}r(h UNucleotide Salvage Pathwayrh }r(jG?j;XGj)#GjG?uhNhU uracil phosphoribosyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUupprh}rjhUSTM2498rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUPPRTrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGj;XG?h)r}r(hNhNhUUracilrh}r(UCHEBI]rU17568raUKEGG]rUC00106raUPUBCHEM]rU3406rauhUura_prhUEh Kh!Gh"h#)r}r(hNh"UC4H4N2O2rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uph(}rh.h/]RrubGjG?uhNhU1uracil transport in via proton symport periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUuraArh}rjhUSTM2497rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUURAt2pprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jG?jvGuhNhU:uracil transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUURAtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j GjgG?j+Gj G?jG?uhNhUureidoglycolate dehydrogenaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUallDrh}rjhUSTM0528rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUURDGLYCDrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jvGh)r}r(hNhNhUUrearh}r(UCHEBI]r U16199r aUKEGG]r UC00086r aUPUBCHEM]r U3386rauhUurea_prhUEh Kh!Gh"h#)r}r(hNh"UCH4N2Orh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhU8Urea transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUUREAtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r (h UTransport Inner Membraner!h }r"(j%G?jGuhNhU2Urea transport via facilitate diffusion periplasm r#hEG@@hFG@h}r$hHh/]r%jːaRr&hUUREAtppr'hKGhLhMhNhNUSTM4087r(h(}r)hPNubh)r*}r+(h U Unassignedr,h }r-(j G?jG?jYGjZGj<+G?h)r.}r/(hNhNhUUrater0h}r1(UCHEBI]r2U17775r3aUKEGG]r4UC00366r5aUPUBCHEM]r6U3657r7auhUurate_cr8hUEh Kh!Gh"h#)r9}r:(hNh"UC5H4N4O3r;h}r<h(}r=h*}r>(UHKUCKUOKUNKuhj;ubh,Uch(}r?h.h/]Rr@ubGuhNhUuricaserAhEG@@hFGh}rBhHh/]RrChUURICrDhKGhLhMhNhNUh(}rEhPNubh)rF}rG(h UNucleotide Salvage PathwayrHh }rI(jXGjGGjG?j4G?uhNhUuridylate kinase dUMP rJhEG@@hFG@h}rKhHh/]rLj/aRrMhUURIDK2rrNhKGhLhMhNhNUSTM0218rOh(}rPhPNubh)rQ}rR(h UAlternate Carbon MetabolismrSh }rT(jTIGj;XG?jZGj"G?uhNhUUridine hydrolaserUhEG@@hFGh}rVhHh/]rW(j"jIeRrXhUURIHrYhKGhLhMhNhNU( STM0661 or STM0051 )rZh(}r[hPNubh)r\}r](h UNucleotide Salvage Pathwayr^h }r_(jTIGjeGjK!G?jG?jG?uhNhUuridine kinase GTPUridine r`hEG@@hFGh}rahHh/]rbjIaRrchUURIK2rdhKGhLhMhNhNUSTM2122reh(}rfhPNubh)rg}rh(h UTransport Inner Membranerih }rj(jGjTIG?jGjG?uhNhU2uridine transport in via proton symport periplasm rkhEG@@hFGh}rlhHh/]rm(j'"j."eRrnhUURIt2pprohKGhLhMhNhNU( STM3113 or STM2409 )rph(}rqhPNubh)rr}rs(h UTransport Inner Membranerth }ru(jGjTIG?jGjG?uhNhU=uridine transport in via proton symport reversible periplasm rvhEG@@hFG@h}rwhHh/]rxj@"aRryhUURIt2rpprzhKGhLhMhNhNUSTM2421r{h(}r|hPNubh)r}}r~(h UTransport Outer Membranerh }r(jG?jvGuhNhU;uridine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]rjd"aRrhUURItexrhKGhLhMhNhNUSTM0413rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jG?jZGjGjG?jG@uhNhUUDP sugar hydrolaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUlpxHrh}rjhUSTM0535rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUUSHDrhKGhLhMhNhNjh(}rhPNubh)r}r(h U(Valine Leucine and Isoleucine Metabolismrh }r(j yGjGjG?jOG?uhNhUvaline transaminaserhEG@@hFG@h}rhHh/]rjaRrhUVALTArhKGhLhMhNhNUSTM3903rh(}rhPNubh)r}r(h U tRNA chargingrh }r(j yGh)r}r(hNhNhUtRNA-Valrh}r(UCHEBI]rU29183raUKEGG]rUC01653raUPUBCHEM]rU4802rauhU trnaval_crhUEh Kh!Gh"h#)r}r(hNh"URh}rh(}rh*}rURKshURubh,Uch(}rh.h/]RrubGjGGjG?jG?h)r}r(hNhNhUL-Valyl-tRNA-Valrh}r(UCHEBI]rU29164raUKEGG]rUC02554raUPUBCHEM]rU5555rauhU valtrna_crhUEh Kh!Gh"h#)r}r(hNh"UC5H10NORrh}rh(}rh*}r(UHK UCKURKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhUValyl tRNA synthetaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUvalSrh}rjhUSTM4475rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUVALTRSrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j yG?j4G?jZGh)r}r(hNhNhUL-Valinerh}r(UCHEBI]rU16414raUKEGG]rUC00183raUPUBCHEM]rU3483rauhUval__L_prhUEh Kh!Gh"h#)r}r(hNh"UC5H11NO2rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uph(}rh.h/]RrubGjG?jGGjG?uhNhU,L valine transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(jy*jk*j*jr*j*eRrhUVALabcpprhKGhLhMhNhNUC( STM3560 and STM3561 and STM3563 and STM3567 and STM3562 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGj yG?jGjG?uhNhU;L valine reversible transport via proton symport periplasm rhEG@@hFG@h}rhHh/]rj\aRrhUVALt2rpprhKGhLhMhNhNUSTM0399rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jvGjG?uhNhUhUEh Kh!Gh"h#)r?}r@(hNh"UC5H4N4O2rAh}rBh(}rCh*}rD(UHKUCKUOKUNKuhjAubh,Uph(}rEh.h/]RrFubGjG?uhNhU3xanthine transport in via proton symport periplasm rGhEG@@hFGh}rHhHh/]rIj!aRrJhUXANt2pprKhKGhLhMhNhNUSTM3747rLh(}rMhPNubh)rN}rO(h UTransport Outer Membrane PorinrPh }rQ(jwGj4G?uhNhUxanthosine transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUXTSNtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(h)r}r(hNhNhUD-Xyloserh}r(UCHEBI]rU15936raUKEGG]rUC00181raUPUBCHEM]rU3481rauhUxyl__D_crhUEh Kh!Gh"h#)r}r(hNh"UC5H10O5rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhU D-Xyluloserh}r(UCHEBI]rU17140raUKEGG]rUC00310raUPUBCHEM]rU3604rauhU xylu__D_crhUEh Kh!Gh"h#)r}r(hNh"UC5H10O5rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubG?uhNhUxylose isomeraserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUxylArh}rjhUSTM3661rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUXYLI1rhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jJ,GjyG?uhNhUxylose isomeraserhEG@@hFG@h}rhHh/]rjaRrhUXYLI2rhKGhLhMhNhNUSTM3661rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jjG?jGGjGj4G?jG?uhNhU xylulokinaserhEG@@hFGh}rhHh/]r(jYj\eRrhUXYLKrhKGhLhMhNhNU( STM3660 or STM0103 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j4G?jGjGGjG?j_G?uhNhUL xylulokinaserhEG@@hFGh}rhHh/]r(jj\eRrhUXYLK2rhKGhLhMhNhNU( STM0103 or STM3674 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjG?jG?h)r}r(hNhNhU L-Xyluloserh}r(UCHEBI]rU17399raUKEGG]rUC00312raUPUBCHEM]rU3606rauhU xylu__L_prhUEh Kh!Gh"h#)r}r(hNh"UC5H10O5rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uph(}rh.h/]RrubGuhNhU5L xylulose transport in via proton symport periplasm rhEG@@hFGh}r hHh/]r (j)r }r (hNjKhNhUyiaMr h}rjhUSTM3671rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUyiaNrh}rjhUSTM3672rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUyiaOrh}rjhUSTM3673rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRr hUXYLUt2ppr!hKGhLhMhNhNU'( STM3671 and STM3672 and STM3673 )r"h(}r#hPNubh)r$}r%(h UTransport Outer Membrane Porinr&h }r'(jwGjG?uhNhU>L xylulose transport via diffusion extracellular to periplasm r(hEG@@hFG@h}r)hHh/]r*(jjjjeRr+hUXYLUtexr,hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r-h(}r.hPNubh)r/}r0(h UTransport Outer Membrane Porinr1h }r2(jdwGh)r3}r4(hNhNhUD-Xyloser5h}r6(UCHEBI]r7U15936r8aUKEGG]r9UC00181r:aUPUBCHEM]r;U3481r<auhUxyl__D_pr=hUEh Kh!Gh"h#)r>}r?(hNh"UC5H10O5r@h}rAh(}rBh*}rC(UHK UCKUOKuhj@ubh,Uph(}rDh.h/]RrEubG?uhNhUaUPUBCHEM]r?U6353r@auhUAEP_crAhUEh Jh!Gh"h#)rB}rC(hNh"U C2H7N1O3P1rDh}rEh(}rFh*}rG(UHKUCKUPKUOKUNKuhjDubh,Uch(}rHh.h/]RrIubG?jGjGGjZGj4G?jG?jG?uhNhU'AEP transport via ABC system periplasm rJhEG@@hFGh}rKhHh/]rL(j)rM}rN(hNjKhNhUphnUrOh}rPjhUSTM0427rQh Nh"NjKh,Nh(}rRjU+h.h/]RrSubj)rT}rU(hNjKhNhUphnTrVh}rWjhUSTM0428rXh Nh"NjKh,Nh(}rYjU+h.h/]RrZubj)r[}r\(hNjKhNhUphnVr]h}r^jhUSTM0426r_h Nh"NjKh,Nh(}r`jU+h.h/]Rraubj)rb}rc(hNjKhNhUphnSrdh}rejhUSTM0429rfh Nh"NjKh,Nh(}rgjU+h.h/]RrhubeRrihUAEPabcpprjhKGhLhMhNhNU/( STM0426 and STM0427 and STM0429 and STM0428 )rkh(}rlhPNubh)rm}rn(h Uaminophosphonate metabolismroh }rp(jmGj7Gj)G?h)rq}rr(hNhNhUPhosphonoacetaldehydersh}rt(UCHEBI]ruU18124rvaUKEGG]rwUC03167rxaUPUBCHEM]ryU6050rzauhUPald_cr{hUEh Jh!Gh"h#)r|}r}(hNh"UC2H3O4P1r~h}rh(}rh*}r(UHKUCKUOKUPKuhj~ubh,Uch(}rh.h/]RrubG?uhNhU-2 aminoethylphosphonate pyruvate transaminaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUphnWrh}rjhUSTM0431rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUAEPPYRTArhKGhLhMhNhNjh(}rhPNubh)r}r(h Uaminophosphonate metabolismrh }r(jG?jqGjZGjG?uhNhUphosphonoacetaldehyde hydrolaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUphnXrh}rjhUSTM0432rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPALDHrhKGhLhMhNhNjh(}rhPNubh)r}r(h UExchangerh }rh)r}r(hNhNhU4-Hydroxyphenylacetaterh}r(UCHEBI]rU18101raUKEGG]rUC00642raUPUBCHEM]rU3915rauhU 4hoxpac_erhUEh Jh!Gh"h#)r}r(hNh"UC8H7O3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Ueh(}rh.h/]RrubGshNhU4 hydroxyphenylacetate exchangerhEG@@hFGh}rhHh/]RrhU EX_4hoxpac_erhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(h)r}r(hNhNhU4-Hydroxyphenylacetaterh}r(UCHEBI]rU18101raUKEGG]rUC00642raUPUBCHEM]rU3915rauhU 4hoxpac_prhUEh Jh!Gh"h#)r}r(hNh"UC8H7O3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uph(}rh.h/]RrubG?jGuhNhUJ4 hydroxyphenylacetate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU 4hoxpactexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjGh)r}r(hNhNhU4-Hydroxyphenylacetaterh}r(UCHEBI]rU18101raUKEGG]rUC00642raUPUBCHEM]rU3915rauhU 4hoxpac_crhUEh Jh!Gh"h#)r}r(hNh"UC8H7O3rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?jG?uhNhUA4 hydroxyphenylacetate transport in via proton symport periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhpaXrh}rjhUSTM1107rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU 4HOXPACt2pprhKGhLhMhNhNjh(}rhPNubh)r}r(h U!4 hydroxyphenylacetate catabolismrh }r(j Gj G?jjG?jGjGuhNhUFlavin NAD P H reductaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhpaCr h}r jhUSTM1098r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubaRrhUFLAVNADRrhKGhLhMhNhNj h(}rhPNubh)r}r(h U!4 hydroxyphenylacetate catabolismrh }r(j G?jGjZG?h)r}r(hNhNhU3-4-Dihydroxyphenylacetaterh}r(UCHEBI]rU17612raUKEGG]rUC01161raUPUBCHEM]rU4388rauhU 34dhpacet_crhUEh Jh!Gh"h#)r }r!(hNh"UC8H7O4r"h}r#h(}r$h*}r%(UHKUCKUOKuhj"ubh,Uch(}r&h.h/]Rr'ubG?jGjYGj GuhNhU+4 hydroxyphenylacetate 3 monooxygenase nadhr(hEG@@hFGh}r)hHh/]r*(jj)r+}r,(hNjKhNhUhpaBr-h}r.jhUSTM1099r/h Nh"NjKh,Nh(}r0jU+h.h/]Rr1ubeRr2hU 4HOXPACMONr3hKGhLhMhNhNU(STM1098 or STM1099)r4h(}r5hPNubh)r6}r7(h U!4 hydroxyphenylacetate catabolismr8h }r9(jjGjG?jZG?jG?jYGjGuhNhU,4 hydroxyphenylacetate 3 monooxygenase FADH2r:hEG@@hFGh}r;hHh/]r<j+aRr=hU 4HOXPACMOFr>hKGhLhMhNhNUSTM1099r?h(}r@hPNubh)rA}rB(h U!4 hydroxyphenylacetate catabolismrCh }rD(jGjYGh)rE}rF(hNhNhU.2-Hydroxy-5-carboxymethylmuconate-SemialdehyderGh}rH(UCHEBI]rIU17142rJaUKEGG]rKUC04642rLaUPUBCHEM]rMU7231rNauhU 2h5cmmusa_crOhUEh Jh!Gh"h#)rP}rQ(hNh"UC8H6O6rRh}rSh(}rTh*}rU(UHKUCKUOKuhjRubh,Uch(}rVh.h/]RrWubG?jG?uhNhU*3 4 dihydroxyphenylacetate 2 3 dioxygenaserXhEG@@hFGh}rYhHh/]rZj)r[}r\(hNjKhNhUhpaDr]h}r^jhUSTM1103r_h Nh"NjKh,Nh(}r`jU+h.h/]RraubaRrbhU 34DHPACDOrchKGhLhMhNhNj_h(}rdhPNubh)re}rf(h U!4 hydroxyphenylacetate catabolismrgh }rh(j GjZGjEGh)ri}rj(hNhNhU!5-Carboxymethyl-2-hydroxymuconaterkh}rl(UCHEBI]rmU2040rnaUKEGG]roUC04186rpaUPUBCHEM]rqU6862rrauhU 5cm2hmu_crshUEh Jh!Gh"h#)rt}ru(hNh"UC8H5O7rvh}rwh(}rxh*}ry(UHKUCKUOKuhjvubh,Uch(}rzh.h/]Rr{ubG?j G?jG@uhNhU84 carboxy 2 hydroxymuconate 6 semialdehyde dehydrogenaser|hEG@@hFGh}r}hHh/]r~j)r}r(hNjKhNhUhpaErh}rjhUSTM1102rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU 4C2HM6SADHrhKGhLhMhNhNjh(}rhPNubh)r}r(h U!4 hydroxyphenylacetate catabolismrh }r(h)r}r(hNhNhU5-Carboxy-2-oxohept-3-enedioaterh}r(UCHEBI]rU15924raUKEGG]rUC04052raUPUBCHEM]rU6753rauhU 5c2o3ed_crhUEh Jh!Gh"h#)r}r(hNh"UC8H5O7rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?jiGuhNhU15 carboxymethyl 2 hydroxymuconate delta isomeraserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhpaFrh}rjhUSTM1104rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU 5CM2HMUDIrhKGhLhMhNhNjh(}rhPNubh)r}r(h U!4 hydroxyphenylacetate catabolismrh }r(jGh)r}r(hNhNhU2-Hydroxyhepta-2-4-dienedioaterh}r(UCHEBI]rU0aUKEGG]rUC05600raUPUBCHEM]rU7923rauhU 2hh24dd_crhUEh Jh!Gh"h#)r}r(hNh"UC7H6O5rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?jG?jGuhNhU/5 carboxy 2 oxohept 3 enedioate decarboxylationrhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhpaGrh}rjhUSTM1101rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU 5C2O3EDDCrhKGhLhMhNhNjh(}rhPNubh)r}r(h U!4 hydroxyphenylacetate catabolismrh }r(jZGjGh)r}r(hNhNhU4-Hydroxy-2-ketopimelaterh}r(UCHEBI]rU0aUKEGG]rUC05601raUPUBCHEM]rU7924rauhU4h2kpi_crhUEh Jh!Gh"h#)r}r(hNh"UC7H8O6rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?uhNhU2hh24dd hydrataserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhpaHrh}rjhUSTM1105rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU2HH24DDHrhKGhLhMhNhNjh(}rhPNubh)r}r(h U!4 hydroxyphenylacetate catabolismrh }r(jmG?jG?jGuhNhU 4h2kpi LyaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhpaIrh}rjhUSTM1106rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU4H2KPILYrhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjG?uhNhU6 S Propane 1 2 diol facilitated transport 2 periplasm rhEG@@hFG@h}r hHh/]r jaRr hU 12PPDS2tppr hKGhLhMhNhNUSTM2037r h(}rhPNubh)r}r(h U1 2 Propanediol Catabolismrh }r(jZG?j*G?jGuhNhU R Propane 1 2 diol dehydrataserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUpduCrh}rjhUSTM2040rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUpduHrh}r jhUSTM2044r!h Nh"NjKh,Nh(}r"jU+h.h/]Rr#ubj)r$}r%(hNjKhNhUpduDr&h}r'jhUSTM2041r(h Nh"NjKh,Nh(}r)jU+h.h/]Rr*ubj)r+}r,(hNjKhNhUpduGr-h}r.jhUSTM2043r/h Nh"NjKh,Nh(}r0jU+h.h/]Rr1ubj)r2}r3(hNjKhNhUpduEr4h}r5jhUSTM2042r6h Nh"NjKh,Nh(}r7jU+h.h/]Rr8ubeRr9hU12PPDRDHr:hKGhLhMhNhNU:( STM2040 and STM2041 and STM2042 and STM2043 and STM2044)r;h(}r<hPNubh)r=}r>(h U1 2 Propanediol Catabolismr?h }r@(j*G?jGjZG?uhNhU S Propane 1 2 diol dehydrataserAhEG@@hFGh}rBhHh/]rC(jjj+j2j$eRrDhU12PPDSDHrEhKGhLhMhNhNU:( STM2040 and STM2041 and STM2042 and STM2043 and STM2044)rFh(}rGhPNubh)rH}rI(h U1 2 Propanediol CatabolismrJh }rK(j G?j*Gj GjGh)rL}rM(hNhNhU 1-PropanolrNh}rO(UCHEBI]rPU28831rQaUKEGG]rRUC05979rSaUPUBCHEM]rTU8258rUauhUppoh_crVhUEh Kh!Gh"h#)rW}rX(hNh"UC3H8O1rYh}rZh(}r[h*}r\(UHKUCKUOKuhjYubh,Uch(}r]h.h/]Rr^ubG?uhNhUalcohol dehydrogenase Propanal r_hEG@@hFG@h}r`hHh/]raj)rb}rc(hNjKhNhUpduQrdh}rejhUSTM2052rfh Nh"NjKh,Nh(}rgjU+h.h/]RrhubaRrihUALCDPPALrjhKGhLhMhNhNjfh(}rkhPNubh)rl}rm(h U1 2 Propanediol Catabolismrnh }ro(j G?j GjGjG?jG?j*GuhNhU$CoA dependent Propanal dehydrogenaserphEG@@hFG@h}rqhHh/]rrj)rs}rt(hNjKhNhUpduPruh}rvjhUSTM2051rwh Nh"NjKh,Nh(}rxjU+h.h/]RryubaRrzhU COAPPALDHr{hKGhLhMhNhNjwh(}r|hPNubh)r}}r~(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhUCobalt-precorrin-2rh}r(UCHEBI]rU0aUKEGG]rUC11538raUPUBCHEM]rU13705rauhU codscl2_crhUEh Jh!Gh"h#)r}r(hNh"U C42H39CoN4O16rh}rh(}rh*}r(UHK'UCK*UCoKUOKUNKuhjubh,Uch(}rh.h/]RrubG?j'GjG@j~AGuhNhU!Sirohydrochlorin cobaltochelataserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUcbiKrh}rjhUSTM2025rh Nh"NjKh,Nh(}rjU+h.h/]RrubjOeRrhUDSCLCOCHrhKGhLhMhNhNU( STM2025 or STM3477 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j4G?jGGjZGj~AG?jG?jG?jkAGuhNhU.cobalt II transport via ABC system periplasm IrhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUcbiMrh}rjhUSTM2023rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUcbiQrh}rjhUSTM2021rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUcbiNrh}rjhUSTM2022rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUcbiOrh}rjhUSTM2020rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU Cobalt2abcppIrhKGhLhMhNhNU/( STM2023 and STM2022 and STM2021 and STM2020 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(j~AG?jkAGuhNhU/cobalt II transport via ABC system periplasm IIrhEG@@hFG@h}rhHh/]r(jjeRrhUCobalt2abcppIIrhKGhLhMhNhNU( STM2023 and STM2022 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhUCobalt-precorrin-3rh}r(UCHEBI]rU0aUKEGG]rUC11539raUPUBCHEM]rU13706rauhU codscl3_crhUEh Jh!Gh"h#)r}r(hNh"U C43H41CoN4O16rh}rh(}rh*}r(UHK)UCK+UCoKUOKUNKuhjubh,Uch(}rh.h/]RrubG?j'G?j!GjGjG?uhNhU$Cobalt precorrin 2 methyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcbiLrh}rjhUSTM2024rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU CODSCL2MTrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhUCobalt-precorrin-4rh}r(UCHEBI]rU0aUKEGG]rUC11540raUPUBCHEM]rU13707rauhU codscl4_crhUEh Jh!Gh"h#)r}r(hNh"U C44H44CoN4O16rh}rh(}rh*}r (UHK,UCK,UCoKUOKUNKuhjubh,Uch(}r h.h/]Rr ubG?jGj'G?j!GuhNhU(Cobalt precorrin 3 C17 methyltransferaser hEG@@hFGh}r hHh/]rj)r}r(hNjKhNhUcbiHrh}rjhUSTM2027rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU CODSCL3MTrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGh)r}r(hNhNhUCobalt-precorrin-5arh}r (UCHEBI]r!U0aUKEGG]r"UC16242r#aUPUBCHEM]r$U0auhU codscl5a_cr%hUEh Jh!Gh"h#)r&}r'(hNh"U C45H46CoN4O16r(h}r)h(}r*h*}r+(UHK.UCK-UCoKUOKUNKuhj(ubh,Uch(}r,h.h/]Rr-ubG?j'G?j!GjG?uhNhU$Cobalt precorrin 4 methyltransferaser.hEG@@hFGh}r/hHh/]r0j)r1}r2(hNjKhNhUcbiFr3h}r4jhUSTM2029r5h Nh"NjKh,Nh(}r6jU+h.h/]Rr7ubaRr8hU CODSCL4MTr9hKGhLhMhNhNj5h(}r:hPNubh)r;}r<(h U*Cofactor and Prosthetic Group Biosynthesisr=h }r>(jGjZGh)r?}r@(hNhNhUCobalt-precorrin-5brAh}rB(UCHEBI]rCU0aUKEGG]rDUC16243rEaUPUBCHEM]rFU0auhU codscl5b_crGhUEh Jh!Gh"h#)rH}rI(hNh"U C43H43CoN4O16rJh}rKh(}rLh*}rM(UHK+UCK+UCoKUOKUNKuhjJubh,Uch(}rNh.h/]RrOubG?jG?jG?uhNhU!Cobalt precorrin 5a deacetylationrPhEG@@hFGh}rQhHh/]rRj)rS}rT(hNjKhNhUcbiGrUh}rVjhUSTM2028rWh Nh"NjKh,Nh(}rXjU+h.h/]RrYubaRrZhU CODSCL5DAr[hKGhLhMhNhNjWh(}r\hPNubh)r]}r^(h U*Cofactor and Prosthetic Group Biosynthesisr_h }r`(j?Gj'G?j!GjG?h)ra}rb(hNhNhUCobalt-precorrin-6arch}rd(UCHEBI]reU0aUKEGG]rfUC11542rgaUPUBCHEM]rhU13709riauhU codscl6a_crjhUEh Jh!Gh"h#)rk}rl(hNh"U C44H45CoN4O16rmh}rnh(}roh*}rp(UHK-UCK,UCoKUOKUNKuhjmubh,Uch(}rqh.h/]RrrubG?uhNhU%Cobalt precorrin 5b methyltransferasershEG@@hFGh}rthHh/]ruj)rv}rw(hNjKhNhUcbiDrxh}ryjhUSTM2032rzh Nh"NjKh,Nh(}r{jU+h.h/]Rr|ubaRr}hU CODSCL5BMTr~hKGhLhMhNhNjzh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jB G?jU GjaGjGh)r}r(hNhNhUCobalt-precorrin-6brh}r(UCHEBI]rU0aUKEGG]rUC11543raUPUBCHEM]rU13710rauhU codscl6b_crhUEh Jh!Gh"h#)r}r(hNh"U C44H47CoN4O16rh}rh(}rh*}r(UHK/UCK,UCoKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhUCobalt precorrin 6a reductaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcbiJrh}rjhUSTM2026rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU CODSCL6AREDrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGj'G?j!GjG?h)r}r(hNhNhUCobalt-precorrin-7rh}r(UCHEBI]rU0aUKEGG]rUC16244raUPUBCHEM]rU0auhU codscl7_crhUEh Jh!Gh"h#)r}r(hNh"U C45H49CoN4O16rh}rh(}rh*}r(UHK1UCK-UCoKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhU%Cobalt precorrin 6b methyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcbiErh}rjhUSTM2031rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU CODSCL6BMTrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j'G?j!GjG?jGh)r}r(hNhNhUCobalt-precorrin-8xrh}r(UCHEBI]rU0aUKEGG]rUC11545raUPUBCHEM]rU13712rauhU codscl8x_crhUEh Jh!Gh"h#)r}r(hNh"U C45H52CoN4O14rh}rh(}rh*}r(UHK4UCK-UCoKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhU2Cobalt precorrin 7 methyltransferase decarboxylaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcbiTrh}rjhUSTM2030rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU CODSCL7MTDCrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhU Cobyrinaterh}r(UCHEBI]rU33907raUKEGG]rUC05773raUPUBCHEM]rU8068rauhUcobn_crhUEh Jh!Gh"h#)r}r(hNh"U C45H52CoN4O14rh}rh(}rh*}r(UHK4UCK-UCoKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jGuhNhUCobalt precorrin 8x isomeraserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhUcbiCrh}rjhUSTM2033rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRr hU CODSCL8XIr hKGhLhMhNhNjh(}r hPNubh)r }r (h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j4G@jGGjGjZGjG@j GjG@h)r}r(hNhNhUCob-II-yrinate-a-c-diamiderh}r(UCHEBI]rU27937raUKEGG]rUC06504raUPUBCHEM]rU8735rauhU cob2nda_crhUEh Jh!Gh"h#)r}r(hNh"U C45H56CoN6O12rh}rh(}rh*}r (UHK8UCK-UCoKUOK UNKuhjubh,Uch(}r!h.h/]Rr"ubG?jG@uhNhUCobyrinate amidationr#hEG@@hFGh}r$hHh/]r%j)r&}r'(hNjKhNhUcbiAr(h}r)jhUSTM2035r*h Nh"NjKh,Nh(}r+jU+h.h/]Rr,ubaRr-hUCOBNADr.hKGhLhMhNhNj*h(}r/hPNubh)r0}r1(h U*Cofactor and Prosthetic Group Biosynthesisr2h }r3(j0G?jGh)r4}r5(hNhNhUCob-I-yrinate-a-c-diamider6h}r7(UCHEBI]r8U28531r9aUKEGG]r:UC06505r;aUPUBCHEM]r<U8736r=auhU cob1nda_cr>hUEh Jh!Gh"h#)r?}r@(hNh"U C45H56CoN6O12rAh}rBh(}rCh*}rD(UHK8UCK-UCoKUOK UNKuhjAubh,Uch(}rEh.h/]RrFubG@jG@j"0GuhNhU$cob II yrinate a c diamide reductaserGhEG@@hFG@h}rHhHh/]rIjFaRrJhU COB2NDAREDrKhKGhLhMhNhNUs0001rLh(}rMhPNubh)rN}rO(h U*Cofactor and Prosthetic Group BiosynthesisrPh }rQ(h)rR}rS(hNhNhUAdenosyl-cobyrinate-a-c-diamiderTh}rU(UCHEBI]rVU2482rWaUKEGG]rXUC06506rYaUPUBCHEM]rZU8737r[auhU adcob1nda_cr\hUEh Jh!Gh"h#)r]}r^(hNh"UC55H68CoN11O15r_h}r`h(}rah*}rb(UHKDUCK7UCoKUOKUNK uhj_ubh,Uch(}rch.h/]RrdubG?jGGj4Gjf9G?jGuhNhU/cob I yrinate a c diamide adenosyltransferase 1rehEG@@hFG@h}rfhHh/]rg(j9j)rh}ri(hNjKhNhUpduOrjh}rkjhUSTM2050rlh Nh"NjKh,Nh(}rmjU+h.h/]RrnubeRrohU COB1NDAAT1rphKGhLhMhNhNU( STM2050 or STM1718 )rqh(}rrhPNubh)rs}rt(h U*Cofactor and Prosthetic Group Biosynthesisruh }rv(jRG?jGGj4GjZGjG?jG?uhNhU/cob I yrinate a c diamide adenosyltransferase 2rwhEG@@hFGh}rxhHh/]ryj)rz}r{(hNjKhNhUeutTr|h}r}jhUSTM2467r~h Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU COB1NDAAT2rhKGhLhMhNhNj~h(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j4G@jRGj GjGGjZGh)r}r(hNhNhUAdenosylcobyric-acidrh}r(UCHEBI]rU2483raUKEGG]rUC06507raUPUBCHEM]rU8738rauhUadcobn_crhUEh Kh!Gh"h#)r}r(hNh"UC55H76CoN15O11rh}rh(}rh*}r(UHKLUCK7UCoKUOK UNKuhjubh,Uch(}rh.h/]RrubG?jG@jG@jG@uhNhUadenosylcobyric acid synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcbiPrh}rjhUSTM2019rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU ADCOBNSYNrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(h)r}r(hNhNhUL-Threonine-O-3-phosphaterh}r(UCHEBI]rU37525raUKEGG]rUC12147raUPUBCHEM]rU14294rauhUthrp_crhUEh Jh!Gh"h#)r}r(hNh"UC4H8NO6Prh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?j{yGjGGj4G?jG?uhNhUL threonine kinaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpduXrh}rjhUSTM2058rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhULTHRKrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGjG?h)r}r(hNhNhU D-1-Aminopropan-2-ol-O-phosphaterh}r(UCHEBI]rU28390raUKEGG]rUC04122raUPUBCHEM]rU6809rauhUappp_crhUEh Jh!Gh"h#)r}r(hNh"UC3H9NO4Prh}rh(}rh*}r(UHK UCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jGuhNhU#L threonine phosphate decarboxylaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcobDrh}rjhUSTM0644rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUTHRPDCrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGj4G?jG?jGGjxG?jG?jGuhNhU&Adenosyl cobinamide phosphate synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUcobDrh}rjhUSTM2034rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUADOCBIPSrhKGhLhMhNhNjh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jG?h)r}r(hNhNhU6N1-5-Phospho-alpha-D-ribosyl-5-6-dimethylbenzimidazolerh}r(UCHEBI]r U16837r aUKEGG]r UC04778r aUPUBCHEM]r U7342rauhU 5prdmbz_crhUEh Jh!Gh"h#)r}r(hNh"U C14H17N2O7Prh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubGjSGh)r}r(hNhNhUAdenosylcobalamin-phosphaterh}r(UCHEBI]rU0aUKEGG]rU phosphorylated version of C00194raUPUBCHEM]rU0auhU adocblp_cr hUEh Jh!Gh"h#)r!}r"(hNh"UC72H99CoN18O20P2r#h}r$h(}r%h*}r&(UCKHUCoKUHKcUOKUNKUPKuhj#ubh,Uch(}r'h.h/]Rr(ubG?jG?uhNhU$Adenosylcobalamin phosphate synthaser)hEG@@hFGh}r*hHh/]r+j)r,}r-(hNjKhNhUcobSr.h}r/jhUSTM2017r0h Nh"NjKh,Nh(}r1jU+h.h/]Rr2ubaRr3hUADOCBLPSr4hKGhLhMhNhNj0h(}r5hPNubh)r6}r7(h U*Cofactor and Prosthetic Group Biosynthesisr8h }r9(jGjr"G?j)GjG?uhNhU'Adenosylcobalamin phosphate phosphataser:hEG@@hFGh}r;hHh/]r<j)r=}r>(hNjKhNhUcobCr?h}r@jhUSTM0643rAh Nh"NjKh,Nh(}rBjU+h.h/]RrCubaRrDhUADOCBLPPrEhKGhLhMhNhNjAh(}rFhPNubh)rG}rH(h U*Cofactor and Prosthetic Group BiosynthesisrIh }rJ(j4G?jGGjG?jxG?j9GuhNhUAdenosyl cobinamide kinaserKhEG@@hFGh}rLhHh/]rM(jjeRrNhUADOCBIKrOhKGhLhMhNhNU( STM2018 or STM1208 )rPh(}rQhPNubh)rR}rS(h U*Cofactor and Prosthetic Group BiosynthesisrTh }rU(jGGjr"G?j9GjGjf9G?uhNhU cob I alamin adenosyltransferaserVhEG@@hFG@h}rWhHh/]rX(jzj9jheRrYhUCBLATrZhKGhLhMhNhNU!( STM1718 or STM2050 or STM2467 )r[h(}r\hPNubh)r]}r^(h U*Cofactor and Prosthetic Group Biosynthesisr_h }r`(jGGj4G?h)ra}rb(hNhNhUR-1-Amino-2-propanolrch}rd(UCHEBI]reU15675rfaUKEGG]rgUC03194rhaUPUBCHEM]riU6071rjauhUapp_crkhUEh Kh!Gh"h#)rl}rm(hNh"UC3H9NOrnh}roh(}rph*}rq(UHK UCKUOKUNKuhjnubh,Uch(}rrh.h/]RrsubGjG?uhNhU1 amino 2 propanol kinaserthEG@@hFGh}ruhHh/]RrvhUAPPKrwhKGhLhMhNhNUh(}rxhPNubh)ry}rz(h UExchanger{h }r|h)r}}r~(hNhNhU$residual-atoms-of-reaction-DMBZIDSYNrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU remnant1_erhUEh Kh!Gh"h#)r}r(hNh"UC4H2N2O3rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Ueh(}rh.h/]RrubGshNhU-residual atoms of reaction DMBZIDSYN exchangerhEG@@hFGh}rhHh/]RrhU EX_remnant1_erhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j}Gh)r}r(hNhNhU$residual-atoms-of-reaction-DMBZIDSYNrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU remnant1_prhUEh Kh!Gh"h#)r}r(hNh"UC4H2N2O3rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhUXresidual atoms of reaction DMBZIDSYN transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU REMNANT1texrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UExchangerh }rh)r}r(hNhNhU*O-antigen-x20-core-oligosaccharide-lipid-Arh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU colipa20Oag_erhUEh Jh!Gh"h#)r}r(hNh"UC656H1103N2O440P4rh}rh(}rh*}r(UHMOUCMUPKUOMUNKuhjubh,Ueh(}rh.h/]RrubGshNhU3O antigen x20 core oligosaccharide lipid A exchangerhEG@@hFGh}rhHh/]RrhUEX_colipa20Oag_erhKGhLhMhNhNUh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(h)r}r(hNhNhU*O-antigen-x20-core-oligosaccharide-lipid-Arh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU colipa20Oag_prhUEh Jh!Gh"h#)r}r(hNh"UC656H1103N2O440P4rh}rh(}rh*}r(UHMOUCMUPKUOMUNKuhjubh,Uph(}rh.h/]RrubGjG?uhNhUPO antigen x20 core oligosaccharide lipid A transport periplasm to extracellular rhEG@@hFGh}rhHh/]RrhUcolipa20OagtexrhKGhLhMhNhNUh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jAGjG?jG?h)r}r(hNhNhU'Undecaprenyl-diphosphate-O-antigene-20xrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp20Oag_prhUEh Jh!Gh"h#)r}r(hNh"UC535H890O347P2rh}rh(}rh*}r(UHMzUCMUOM[UPKuhjubh,Uph(}rh.h/]RrubGjZG?uhNhUO antigen x20 ligase periplasm rhEG@@hFGh}rhHh/]rjZaRrhU udcdp20OagLpprhKGhLhMhNhNUSTM3713rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(h)r}r(hNhNhUubG?j$GuhNhU1galactosyltransferase LPS O antigen biosynthesis r?hEG@@hFGh}r@hHh/]rAj)rB}rC(hNjKhNhUrfbPrDh}rEjhUSTM2082rFh Nh"NjKh,Nh(}rGjU+h.h/]RrHubaRrIhUOGLTrJhKGhLhMhNhNjFh(}rKhPNubh)rL}rM(h U)Lipopolysaccharide Biosynthesis RecyclingrNh }rO(jGh)rP}rQ(hNhNhU+Undecaprenyl-diphosphate-galactose-rhamnoserRh}rS(UCHEBI]rTU0aUKEGG]rUU0aUPUBCHEM]rVU0auhU udcdpgalrmn_crWhUEh Jh!Gh"h#)rX}rY(hNh"U C67H110O16P2rZh}r[h(}r\h*}r](UHKnUCKCUOKUPKuhjZubh,Uch(}r^h.h/]Rr_ubG?j~WG?jG?j/GuhNhU1rhamnosyl transferase LPS O antigen biosynthesis r`hEG@@hFGh}rahHh/]rbj)rc}rd(hNjKhNhUrfbNreh}rfjhUSTM2085rgh Nh"NjKh,Nh(}rhjU+h.h/]RriubaRrjhUORLTrkhKGhLhMhNhNjgh(}rlhPNubh)rm}rn(h U)Lipopolysaccharide Biosynthesis Recyclingroh }rp(jK!G?h)rq}rr(hNhNhU3Undecaprenyl-diphosphate-galactose-rhamnose-mannosersh}rt(UCHEBI]ruU0aUKEGG]rvU0aUPUBCHEM]rwU0auhUudcdpgalrmnman_crxhUEh Jh!Gh"h#)ry}rz(hNh"U C73H120O21P2r{h}r|h(}r}h*}r~(UHKxUCKIUOKUPKuhj{ubh,Uch(}rh.h/]RrubG?jG?joGjPGuhNhU0mannosyl transferase LPS O antigen biosynthesis rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUrfbUrh}rjhUSTM2086rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUOMLTrhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jG?jIG?h)r}r(hNhNhU CDP-abequoserh}r(UCHEBI]rU16049raUKEGG]rUC01788raUPUBCHEM]rU4916rauhU cdpabeq_crhUEh Jh!Gh"h#)r}r(hNh"U C15H23N3O14P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubGjG?jqGuhNhU1abequosyl transferase LPS O antigen biosynthesis rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUrfbVrh}rjhUSTM2087rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUOALTrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jGjoG?jK!GjGjG?uhNhU,mannose 1 phosphate guanylyltransferase GDP rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUmanCrh}rjhU STM2105.Srh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUrfbMrh}rjhUSTM2084rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUMAN1PT2rhKGhLhMhNhNU( STM2105.S or STM2084 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jGjG?uhNhUphosphomannomutaserhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUrfbKrh}rjhUSTM2083rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUcpsGrh}rjhUSTM2104rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUPMANMrhKGhLhMhNhNU( STM2104 or STM2083 )rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jGh)r}r(hNhNhU&Undecaprenyl-diphosphate-O-antigene-2xrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp2Oag_prhUEh Jh!Gh"h#)r}r(hNh"U C103H170O41P2rh}rh(}rh*}r(UHKUCKgUOK)UPKuhjubh,Uph(}rh.h/]RrubG?jG?jZG?uhNhU!O antigen polymerase 1 periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUrfcrh}rjhUSTM1332rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUOAP1pprhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(h)r }r (hNhNhU&Undecaprenyl-diphosphate-O-antigene-3xr h}r (UCHEBI]r U0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp3Oag_prhUEh Jh!Gh"h#)r}r(hNh"U C127H210O58P2rh}rh(}rh*}r(UHKUCKUOK:UPKuhjubh,Uph(}rh.h/]RrubG?jGjG?jGjZG?uhNhU!O antigen polymerase 2 periplasm rhEG@@hFGh}rhHh/]rjaRrhUOAP2pprhKGhLhMhNhNUSTM1332rh(}rhPNubh)r }r!(h U)Lipopolysaccharide Biosynthesis Recyclingr"h }r#(j GjGjG?jZG?h)r$}r%(hNhNhU&Undecaprenyl-diphosphate-O-antigene-4xr&h}r'(UCHEBI]r(U0aUKEGG]r)U0aUPUBCHEM]r*U0auhU udcdp4Oag_pr+hUEh Jh!Gh"h#)r,}r-(hNh"U C151H250O75P2r.h}r/h(}r0h*}r1(UHKUCKUOKKUPKuhj.ubh,Uph(}r2h.h/]Rr3ubG?uhNhU!O antigen polymerase 3 periplasm r4hEG@@hFGh}r5hHh/]r6jaRr7hUOAP3ppr8hKGhLhMhNhNUSTM1332r9h(}r:hPNubh)r;}r<(h U)Lipopolysaccharide Biosynthesis Recyclingr=h }r>(jGh)r?}r@(hNhNhU&Undecaprenyl-diphosphate-O-antigene-5xrAh}rB(UCHEBI]rCU0aUKEGG]rDU0aUPUBCHEM]rEU0auhU udcdp5Oag_prFhUEh Jh!Gh"h#)rG}rH(hNh"U C175H290O92P2rIh}rJh(}rKh*}rL(UHM"UCKUOK\UPKuhjIubh,Uph(}rMh.h/]RrNubG?jG?jZG?j$GuhNhU!O antigen polymerase 4 periplasm rOhEG@@hFGh}rPhHh/]rQjaRrRhUOAP4pprShKGhLhMhNhNUSTM1332rTh(}rUhPNubh)rV}rW(h U)Lipopolysaccharide Biosynthesis RecyclingrXh }rY(h)rZ}r[(hNhNhU&Undecaprenyl-diphosphate-O-antigene-6xr\h}r](UCHEBI]r^U0aUKEGG]r_U0aUPUBCHEM]r`U0auhU udcdp6Oag_prahUEh Jh!Gh"h#)rb}rc(hNh"UC199H330O109P2rdh}reh(}rfh*}rg(UHMJUCKUOKmUPKuhjdubh,Uph(}rhh.h/]RriubG?jG?j?GjZG?jGuhNhU!O antigen polymerase 5 periplasm rjhEG@@hFGh}rkhHh/]rljaRrmhUOAP5pprnhKGhLhMhNhNUSTM1332roh(}rphPNubh)rq}rr(h U)Lipopolysaccharide Biosynthesis Recyclingrsh }rt(jZGh)ru}rv(hNhNhU&Undecaprenyl-diphosphate-O-antigene-7xrwh}rx(UCHEBI]ryU0aUKEGG]rzU0aUPUBCHEM]r{U0auhU udcdp7Oag_pr|hUEh Jh!Gh"h#)r}}r~(hNh"UC223H370O126P2rh}rh(}rh*}r(UHMrUCKUOK~UPKuhjubh,Uph(}rh.h/]RrubG?jG?jGjZG?uhNhU!O antigen polymerase 6 periplasm rhEG@@hFGh}rhHh/]rjaRrhUOAP6pprhKGhLhMhNhNUSTM1332rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jGjG?h)r}r(hNhNhU&Undecaprenyl-diphosphate-O-antigene-8xrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp8Oag_prhUEh Jh!Gh"h#)r}r(hNh"UC247H410O143P2rh}rh(}rh*}r(UHMUCKUOKUPKuhjubh,Uph(}rh.h/]RrubG?juGjZG?uhNhU!O antigen polymerase 7 periplasm rhEG@@hFGh}rhHh/]rjaRrhUOAP7pprhKGhLhMhNhNUSTM1332rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(h)r}r(hNhNhU&Undecaprenyl-diphosphate-O-antigene-9xrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp9Oag_prhUEh Jh!Gh"h#)r}r(hNh"UC271H450O160P2rh}rh(}rh*}r(UHMUCMUOKUPKuhjubh,Uph(}rh.h/]RrubG?jG?jGjZG?jGuhNhU!O antigen polymerase 8 periplasm rhEG@@hFGh}rhHh/]rjaRrhUOAP8pprhKGhLhMhNhNUSTM1332rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jGh)r}r(hNhNhU'Undecaprenyl-diphosphate-O-antigene-10xrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp10Oag_prhUEh Jh!Gh"h#)r}r(hNh"UC295H490O177P2rh}rh(}rh*}r(UHMUCM'UOKUPKuhjubh,Uph(}rh.h/]RrubG?jG?jZG?jGuhNhU!O antigen polymerase 9 periplasm rhEG@@hFGh}rhHh/]rjaRrhUOAP9pprhKGhLhMhNhNUSTM1332rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jGjGjG?h)r}r(hNhNhU'Undecaprenyl-diphosphate-O-antigene-11xrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp11Oag_prhUEh Jh!Gh"h#)r}r(hNh"UC319H530O194P2rh}rh(}rh*}r(UHMUCM?UOKUPKuhjubh,Uph(}rh.h/]RrubG?jZG?uhNhU"O antigen polymerase 10 periplasm rhEG@@hFGh}rhHh/]rjaRrhUOAP10pprhKGhLhMhNhNUSTM1332rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jGjG?h)r}r(hNhNhU'Undecaprenyl-diphosphate-O-antigene-12xrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp12Oag_prhUEh Jh!Gh"h#)r}r(hNh"UC343H570O211P2rh}rh(}rh*}r (UHM:UCMWUOKUPKuhjubh,Uph(}r h.h/]Rr ubG?jZG?jGuhNhU"O antigen polymerase 11 periplasm r hEG@@hFGh}r hHh/]rjaRrhUOAP11pprhKGhLhMhNhNUSTM1332rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jGjG?jGjZG?h)r}r(hNhNhU'Undecaprenyl-diphosphate-O-antigene-13xrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp13Oag_prhUEh Jh!Gh"h#)r}r (hNh"UC367H610O228P2r!h}r"h(}r#h*}r$(UHMbUCMoUOKUPKuhj!ubh,Uph(}r%h.h/]Rr&ubG?uhNhU"O antigen polymerase 12 periplasm r'hEG@@hFGh}r(hHh/]r)jaRr*hUOAP12ppr+hKGhLhMhNhNUSTM1332r,h(}r-hPNubh)r.}r/(h U)Lipopolysaccharide Biosynthesis Recyclingr0h }r1(jGh)r2}r3(hNhNhU'Undecaprenyl-diphosphate-O-antigene-14xr4h}r5(UCHEBI]r6U0aUKEGG]r7U0aUPUBCHEM]r8U0auhU udcdp14Oag_pr9hUEh Jh!Gh"h#)r:}r;(hNh"UC391H650O245P2r<h}r=h(}r>h*}r?(UHMUCMUOKUPKuhj<ubh,Uph(}r@h.h/]RrAubG?jG?jGjZG?uhNhU"O antigen polymerase 13 periplasm rBhEG@@hFGh}rChHh/]rDjaRrEhUOAP13pprFhKGhLhMhNhNUSTM1332rGh(}rHhPNubh)rI}rJ(h U)Lipopolysaccharide Biosynthesis RecyclingrKh }rL(h)rM}rN(hNhNhU'Undecaprenyl-diphosphate-O-antigene-15xrOh}rP(UCHEBI]rQU0aUKEGG]rRU0aUPUBCHEM]rSU0auhU udcdp15Oag_prThUEh Jh!Gh"h#)rU}rV(hNh"UC415H690O262P2rWh}rXh(}rYh*}rZ(UHMUCMUOMUPKuhjWubh,Uph(}r[h.h/]Rr\ubG?j2GjG?jGjZG?uhNhU"O antigen polymerase 14 periplasm r]hEG@@hFGh}r^hHh/]r_jaRr`hUOAP14pprahKGhLhMhNhNUSTM1332rbh(}rchPNubh)rd}re(h U)Lipopolysaccharide Biosynthesis Recyclingrfh }rg(h)rh}ri(hNhNhU'Undecaprenyl-diphosphate-O-antigene-16xrjh}rk(UCHEBI]rlU0aUKEGG]rmU0aUPUBCHEM]rnU0auhU udcdp16Oag_prohUEh Jh!Gh"h#)rp}rq(hNh"UC439H730O279P2rrh}rsh(}rth*}ru(UHMUCMUOMUPKuhjrubh,Uph(}rvh.h/]RrwubG?jGjG?jZG?jMGuhNhU"O antigen polymerase 15 periplasm rxhEG@@hFGh}ryhHh/]rzjaRr{hUOAP15ppr|hKGhLhMhNhNUSTM1332r}h(}r~hPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jGjG?jhGh)r}r(hNhNhU'Undecaprenyl-diphosphate-O-antigene-17xrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp17Oag_prhUEh Jh!Gh"h#)r}r(hNh"UC463H770O296P2rh}rh(}rh*}r(UHMUCMUOM(UPKuhjubh,Uph(}rh.h/]RrubG?jZG?uhNhU"O antigen polymerase 16 periplasm rhEG@@hFGh}rhHh/]rjaRrhUOAP16pprhKGhLhMhNhNUSTM1332rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jGh)r}r(hNhNhU'Undecaprenyl-diphosphate-O-antigene-18xrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp18Oag_prhUEh Jh!Gh"h#)r}r(hNh"UC487H810O313P2rh}rh(}rh*}r(UHM*UCMUOM9UPKuhjubh,Uph(}rh.h/]RrubG?jG?jZG?jGuhNhU"O antigen polymerase 17 periplasm rhEG@@hFGh}rhHh/]rjaRrhUOAP17pprhKGhLhMhNhNUSTM1332rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(h)r}r(hNhNhU'Undecaprenyl-diphosphate-O-antigene-19xrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU udcdp19Oag_prhUEh Jh!Gh"h#)r}r(hNh"UC511H850O330P2rh}rh(}rh*}r(UHMRUCMUOMJUPKuhjubh,Uph(}rh.h/]RrubG?jG?jGjZG?jGuhNhU"O antigen polymerase 18 periplasm rhEG@@hFGh}rhHh/]rjaRrhUOAP18pprhKGhLhMhNhNUSTM1332rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jGjGjG?jG?jZG?uhNhU"O antigen polymerase 19 periplasm rhEG@@hFGh}rhHh/]rjaRrhUOAP19pprhKGhLhMhNhNUSTM1332rh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jMGjGh)r}r(hNhNhU CDP-glucoserh}r(UCHEBI]rU0aUKEGG]rUC00501raUPUBCHEM]rU3784rauhUcdpglc_crhUEh Jh!Gh"h#)r}r(hNh"U C15H23N3O16P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jFEGjG?uhNhU(glucose 1 phosphate cytidylyltransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUrfbFrh}rjhUSTM2092rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUG1PCTrhKGhLhMhNhNjh(}rhPNubh)r}r(h UCell Envelope Biosynthesisrh }r(jGh)r}r(hNhNhUCDP-4-dehydro-6-deoxy-D-glucoserh}r(UCHEBI]rU17494raUKEGG]rUC01219r aUPUBCHEM]r U4441r auhUcdp4dh6doglc_cr hUEh Jh!Gh"h#)r }r(hNh"U C15H21N3O15P2rh}rh(}rh*}r(UHKUCKUPKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jZG?uhNhUCDP glucose 4 6 dehydrataserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUrfbGrh}rjhUSTM2091rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU CDPGLC46DHr hKGhLhMhNhNjh(}r!hPNubh)r"}r#(h UCell Envelope Biosynthesisr$h }r%(j G?jZG?h)r&}r'(hNhNhU#CDP-4-dehydro-3-6-dideoxy-D-glucoser(h}r)(UCHEBI]r*U17817r+aUKEGG]r,UC04297r-aUPUBCHEM]r.U6956r/auhUcdp4dh36ddglc_cr0hUEh Jh!Gh"h#)r1}r2(hNh"U C15H21N3O14P2r3h}r4h(}r5h*}r6(UHKUCKUPKUOKUNKuhj3ubh,Uch(}r7h.h/]Rr8ubG?jGj GjGuhNhU'CDP 4 dehydro 6 deoxyglucose reductase r9hEG@@hFGh}r:hHh/]r;(j)r<}r=(hNjKhNhUrfbIr>h}r?jhUSTM2093r@h Nh"NjKh,Nh(}rAjU+h.h/]RrBubj)rC}rD(hNjKhNhUrfbHrEh}rFjhUSTM2090rGh Nh"NjKh,Nh(}rHjU+h.h/]RrIubeRrJhU CDP4D6DGLCRxrKhKGhLhMhNhNU( STM2090 and STM2093 )rLh(}rMhPNubh)rN}rO(h UCell Envelope BiosynthesisrPh }rQ(j G?jGjG?j Gj&GuhNhUCDP abequose synthase rRhEG@@hFGh}rShHh/]rTj)rU}rV(hNjKhNhUrfbJrWh}rXjhUSTM2089rYh Nh"NjKh,Nh(}rZjU+h.h/]Rr[ubaRr\hUCDPABEQSr]hKGhLhMhNhNjYh(}r^hPNubh)r_}r`(h U&Inorganic Ion Transport and Metabolismrah }rb(j0Gh)rc}rd(hNhNhUSalmochelin-S4reh}rf(UCHEBI]rgU0aUKEGG]rhU0aUPUBCHEM]riU0auhU salchs4_erjhUEh Kh!Gh"h#)rk}rl(hNh"U C42H47N3O25rmh}rnh(}roh*}rp(UHK/UCK*UOKUNKuhjmubh,Ueh(}rqh.h/]RrrubGh)rs}rt(hNhNhUSalmochelin-S4-Fe-IIIruh}rv(UCHEBI]rwU0aUKEGG]rxU0aUPUBCHEM]ryU0auhU salchs4fe_erzhUEh Kh!Gh"h#)r{}r|(hNh"U C42H47FeN3O25r}h}r~h(}rh*}r(UHK/UCK*UFeKUOKUNKuhj}ubh,Ueh(}rh.h/]RrubG?uhNhU*Salmochelin S4 Fe III binding spontaneous rhEG@@hFGh}rhHh/]rjFaRrhU SALCHS4FEexsrhKGhLhMhNhNUs0001rh(}rhPNubh)r}r(h UExchangerh }rjcGshNhUSalmochelin S4 exchangerhEG@@hFGh}rhHh/]RrhU EX_SALCHS4_erhKGhLhMhNhNUh(}rhPNubh)r}r(h UExchangerh }rjsGshNhUSalmochelin S4 Fe III exchangerhEG@@hFGh}rhHh/]RrhUEX_SALCHS4FE_erhKGhLhMhNhNUh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(h)r}r(hNhNhUSalmochelin-S4-Fe-IIIrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU salchs4fe_prhUEh Kh!Gh"h#)r}r(hNh"U C42H47FeN3O25rh}rh(}rh*}r(UHK/UCK*UFeKUOKUNKuhjubh,Uph(}rh.h/]RrubGj4G?h)r}r(hNhNhUSalmochelin-S4-Fe-IIIrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU salchs4fe_crhUEh Kh!Gh"h#)r}r(hNh"U C42H47FeN3O25rh}rh(}rh*}r(UHK/UCK*UFeKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jGGjZGjG?jG?uhNhU9Salmochelin S4 Fe III transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j~j~j~j~eRrhUSALCHS4FEabcpprhKGhLhMhNhNU5( STM0594 and STM0590 and STM0592 and STM0591 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(h)r}r(hNhNhUSalmochelin-S4rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU salchs4_prhUEh Kh!Gh"h#)r}r(hNh"U C42H47N3O25rh}rh(}rh*}r(UHK/UCK*UOKUNKuhjubh,Uph(}rh.h/]RrubGjGjcG?jG?uhNhU-Salmochelin S4 transport secretion periplasm rhEG@@hFGh}rhHh/]RrhU SALCHS4texrhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUSalmochelin-S4rh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU salchs4_crhUEh Kh!Gh"h#)r}r(hNh"U C42H47N3O25rh}rh(}rh*}r(UHK/UCK*UOKUNKuhjubh,Uch(}rh.h/]RrubGj4G?jGGjZGjG?jG?jG?uhNhU2Salmochelin S4 transport via ABC system periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUiroCrh}rjhUSTM2774rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU SALCHS4abcpprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGGjG?jZGj]GjG?j4G?jG?uhNhU1enterochelin transport2 via ABC system periplasm rhEG@@hFGh}rhHh/]rjaRrhU FEENTER2tppr hKGhLhMhNhNUSTM2774r h(}r hPNubh)r }r (h UExchangerh }rh)r}r(hNhNhUSalmochelin-SXrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU salchsx_erhUEh Jh!Gh"h#)r}r(hNh"U C16H20N1O11rh}rh(}rh*}r(UHKUCKUOK UNKuhjubh,Ueh(}rh.h/]RrubGshNhUSalmochelin SX exchanger hEG@@hFGh}r!hHh/]Rr"hU EX_SALCHSX_er#hKGhLhMhNhNUh(}r$hPNubh)r%}r&(h UTransport Outer Membrane Porinr'h }r((jGh)r)}r*(hNhNhUSalmochelin-SXr+h}r,(UCHEBI]r-U0aUKEGG]r.U0aUPUBCHEM]r/U0auhU salchsx_pr0hUEh Jh!Gh"h#)r1}r2(hNh"U C16H20N1O11r3h}r4h(}r5h*}r6(UHKUCKUOK UNKuhj3ubh,Uph(}r7h.h/]Rr8ubG?uhNhU8Salmochelin SX via diffusion extracellular to periplasm r9hEG@@hFG@h}r:hHh/]r;(jjjjeRr<hU SALCHSXtexr=hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r>h(}r?hPNubh)r@}rA(h UTransport Inner MembranerBh }rC(h)rD}rE(hNhNhUSalmochelin-SXrFh}rG(UCHEBI]rHU0aUKEGG]rIU0aUPUBCHEM]rJU0auhU salchsx_crKhUEh Jh!Gh"h#)rL}rM(hNh"U C16H20N1O11rNh}rOh(}rPh*}rQ(UHKUCKUOK UNKuhjNubh,Uch(}rRh.h/]RrSubG?j)GuhNhU/Salmochelin SX facilitated transport periplasm rThEG@@hFG@h}rUhHh/]RrVhU SALCHSXtpprWhKGhLhMhNhNUh(}rXhPNubh)rY}rZ(h UTransport Inner Membraner[h }r\(jDGjGjG?j@G?uhNhU3cytosine transport in via proton symport periplasm r]hEG@@hFGh}r^hHh/]r_j)r`}ra(hNjKhNhUcodBrbh}rcjhUSTM3333rdh Nh"NjKh,Nh(}rejU+h.h/]RrfubaRrghUCSNt2pprhhKGhLhMhNhNjdh(}rihPNubh)rj}rk(h UNucleotide Salvage Pathwayrlh }rm(j@GjZGj;XG?jlG?jGuhNhUCytosine deaminasernhEG@@hFGh}rohHh/]rpj)rq}rr(hNjKhNhU-h}rsjhUSTM3334rth Nh"NjKh,Nh(}rujU+h.h/]RrvubaRrwhUCSNDrxhKGhLhMhNhNjth(}ryhPNubh)rz}r{(h UAlternate Carbon Metabolismr|h }r}(jG?jGjGj Gj G?uhNhUalcohol dehydrogenase glycerol r~hEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhU-h}rjhUSTM1627rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUALCD19rhKGhLhMhNhNjh(}rhPNubh)r}r(h UPyruvate Metabolismrh }r(j GjG?jR^GjG?j G?uhNhUalcohol dehydrogenase ethanol rhEG@@hFG@h}rhHh/]r(jjj)r}r(hNjKhNhUadhPrh}rjhUSTM1567rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUeutGrh}rjhUSTM2461rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUALCD2xrhKGhLhMhNhNU0( STM1627 or STM1567 or STM1749 or STM2461 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(j Gj|GjG?j G?jG?uhNhUformaldehyde dehydrogenaserhEG@@hFG@h}rhHh/]rjaRrhUFALDH2rhKGhLhMhNhNUSTM1627rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jB G?jU GjHG?j[GjGuhNhU2 dehydropantoate 2 reductaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUapbArh}rjhUSTM0434rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj_j)r}r(hNjKhNhU-h}rjhUSTM2573rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUDPRrhKGhLhMhNhNU!( STM3909 or STM0434 or STM2573 )rh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jiG?jiGjiG?j jGjBGuhNhUUcore oligosaccharide lipid Ahexadecanoate transferase n C160 extracellular membrane rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpagPrh}rjhUSTM0628rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU LIPAHT2exrhKGhLhMhNhNjh(}rhPNubh)r}r(h U)Lipopolysaccharide Biosynthesis Recyclingrh }r(jiG?j,lGj jGjiGjiG?uhNhU@Lipid Ahexadecanoate transferase n C160 extracellular membrane rhEG@@hFGh}rhHh/]rjaRrhULIPAHTexrhKGhLhMhNhNUSTM0628rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(j5G?jYGjZG?jG@jS-GjGuhNhU8cytochrome oxidase bd menaquinol 8 2 protons periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhU-h}rjhUSTM1792rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM1793rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUCYTBD2pprhKGhLhMhNhNU( STM1792 and STM1793 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jO5G?jZG?jG@jGjb5GjYGuhNhU7cytochrome oxidase bd ubiquinol 8 2 protons periplasm rhEG@@hFGh}rhHh/]r(jjj)r}r(hNjKhNhUcydBrh}rjhUSTM0741rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUcydAr h}r jhUSTM0740r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubeRrhUCYTBDpprhKGhLhMhNhNU<( ( STM1792 and STM1793 ) or ( STM0740 and STM0741 ) )rh(}rhPNubh)r}r(h U0Tyrosine Tryptophan and Phenylalanine Metabolismrh }r(jGjG?h)r}r(hNhNhUN-Acetylanthranilaterh}r(UCHEBI]rU16803raUKEGG]rUC06332raUPUBCHEM]rU8568rauhUacanth_cr hUEh Jh!Gh"h#)r!}r"(hNh"UC9H8NO3r#h}r$h(}r%h*}r&(UHKUCK UOKUNKuhj#ubh,Uch(}r'h.h/]Rr(ubG?j.GuhNhU(acetyl CoAanthranilate acetyltransferaser)hEG@@hFGh}r*hHh/]r+j)r,}r-(hNjKhNhUnhoAr.h}r/jhUSTM1582r0h Nh"NjKh,Nh(}r1jU+h.h/]Rr2ubaRr3hUACANTHATr4hKGhLhMhNhNj0h(}r5hPNubh)r6}r7(h UAlternate Carbon Metabolismr8h }r9(jG?j GjG?j G?h)r:}r;(hNhNhUGalactitol-1-phosphater<h}r=(UCHEBI]r>U28663r?aUKEGG]r@UC06311rAaUPUBCHEM]rBU8547rCauhUgalt1p_crDhUEh Jh!Gh"h#)rE}rF(hNh"UC6H13O9PrGh}rHh(}rIh*}rJ(UHK UCKUOK UPKuhjGubh,Uch(}rKh.h/]RrLubGuhNhU$Galactitol 1 phosphate dehydrogenaserMhEG@@hFG@h}rNhHh/]rOj)rP}rQ(hNjKhNhU-h}rRjhUSTM3261rSh Nh"NjKh,Nh(}rTjU+h.h/]RrUubaRrVhUGLTPDrWhKGhLhMhNhNjSh(}rXhPNubh)rY}rZ(h UAlternate Carbon Metabolismr[h }r\(jGj|G?jUG?uhNhUTagatose bisphosphate aldolaser]hEG@@hFG@h}r^hHh/]r_(j)r`}ra(hNjKhNhUgatYrbh}rcjhUSTM3253rdh Nh"NjKh,Nh(}rejU+h.h/]Rrfubj,eRrghUTGBPArhhKGhLhMhNhNU( STM3257 and STM3253 )rih(}rjhPNubh)rk}rl(h UAlternate Carbon Metabolismrmh }rn(jGh)ro}rp(hNhNhUD-Fructuronaterqh}rr(UCHEBI]rsU4126rtaUKEGG]ruUC00905rvaUPUBCHEM]rwU4160rxauhUfruur_cryhUEh Jh!Gh"h#)rz}r{(hNh"UC6H9O7r|h}r}h(}r~h*}r(UHK UCKUOKuhj|ubh,Uch(}rh.h/]RrubG?uhNhU$glucuronate isomerase D glucuronate rhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhU-h}rjhUSTM3137rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGUI1rhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jGh)r}r(hNhNhUD-Tagaturonaterh}r(UCHEBI]rU17886raUKEGG]rUC00558raUPUBCHEM]rU3838rauhUtagur_crhUEh Jh!Gh"h#)r}r(hNh"UC6H9O7rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubG?uhNhU&glucuronate isomerase D galacturonate rhEG@@hFG@h}rhHh/]rjaRrhUGUI2rhKGhLhMhNhNUSTM3137rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jmNG?jZG?h)r}r(hNhNhU D-Mannonaterh}r(UCHEBI]rU 17767 33076raUKEGG]rUC00514raUPUBCHEM]rU3797rauhUmana_crhUEh Jh!Gh"h#)r}r(hNh"UC6H11O7rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uch(}rh.h/]RrubGuhNhUD mannonate hydrolyaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhU-h}rjhUSTM3135rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUMNNHrhKGhLhMhNhNjh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j G?j GjGjoG?jG?uhNhUMannonate oxidoreductaserhEG@@hFG@h}rhHh/]rj)r}r(hNjKhNhU-h}rjhUSTM3136rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUMANAOrhKGhLhMhNhNjh(}rhPNubh)r}r(h UPyruvate Metabolismrh }r(jmG?jGj5GjG?j G@jGuhNhU&oxaloacetate decarboxylase sodium pumprhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhU-h}rjhUSTM0054rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUoadBrh}rjhUSTM3351rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUoadArh}rjhUSTM3352rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUoadGrh}rjhUSTM3353rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM0055rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}r jhUSTM0056r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubeRr hUOAADCSrhKGhLhMhNhNUM( ( STM0054 and STM0055 and STM0056 ) or ( STM3351 and STM3352 and STM3353 ))rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j=Gj GjG@jG?uhNhU/Citrate transport via sodium symport periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhU-h}rjhUSTM0057rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUCITt4pprhKGhLhMhNhNjh(}r hPNubh)r!}r"(h UTransport Inner Membraner#h }r$(jmNG?jGjONGjG?uhNhUP2 dehydro 3 deoxy D gluconate transport via proton symport reversible periplasm r%hEG@@hFG@h}r&hHh/]r'j,aRr(hU DDGLCNt2rppr)hKGhLhMhNhNUSTM0161r*h(}r+hPNubh)r,}r-(h UTransport Inner Membraner.h }r/(jG?jGj=GjG?uhNhU!Citrate proton symport periplasm r0hEG@@hFGh}r1hHh/]r2j)r3}r4(hNjKhNhUcitAr5h}r6jhUSTM0689r7h Nh"NjKh,Nh(}r8jU+h.h/]Rr9ubaRr:hUCITt2ppr;hKGhLhMhNhNj7h(}r<hPNubh)r=}r>(h UTransport Inner Membraner?h }r@(jG?j=GuhNhUCitrate transport periplasm rAhEG@@hFGh}rBhHh/]rC(j)rD}rE(hNjKhNhU-h}rFjhUSTM2786rGh Nh"NjKh,Nh(}rHjU+h.h/]RrIubj)rJ}rK(hNjKhNhU-h}rLjhUSTM2787rMh Nh"NjKh,Nh(}rNjU+h.h/]RrOubj)rP}rQ(hNjKhNhU-h}rRjhUSTM2788rSh Nh"NjKh,Nh(}rTjU+h.h/]RrUubeRrVhUCITtupprWhKGhLhMhNhNU#( STM2786 and STM2787 and STM2788 )rXh(}rYhPNubh)rZ}r[(h UTransport Inner Membraner\h }r](jG?j=GuhNhUIsocitrate transport periplasm r^hEG@@hFGh}r_hHh/]r`(jJjDjPeRrahUICITtupprbhKGhLhMhNhNU#( STM2786 and STM2787 and STM2788 )rch(}rdhPNubh)re}rf(h UTransport Inner Membranergh }rh(j>GjG?uhNhU!Cisaconitate transport periplasm rihEG@@hFGh}rjhHh/]rk(jJjDjPeRrlhU ACONCtupprmhKGhLhMhNhNU#( STM2786 and STM2787 and STM2788 )rnh(}rohPNubh)rp}rq(h U&Inorganic Ion Transport and Metabolismrrh }rs(j4G?jGGjG?jGjZGjG?jG?uhNhU1nickel transport via ABC system uptake periplasm rthEG@@hFGh}ruhHh/]rv(j)rw}rx(hNjKhNhU-h}ryjhUSTM1259rzh Nh"NjKh,Nh(}r{jU+h.h/]Rr|ubj)r}}r~(hNjKhNhU-h}rjhUSTM1256rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM1257rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM1255rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUmgtArh}rjhUSTM4456rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM1258rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU NI2uabcpprhKGhLhMhNhNUS( STM4456 or ( STM1255 and STM1256 and STM1257 and STM1258 and STM1259 ) )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j:G?jGjmG?jGuhNhU.Galactitol transport via PEPPyr PTS periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhU-h}rjhUSTM3260rh Nh"NjKh,Nh(}rjU+h.h/]Rrubjjj)r}r(hNjKhNhU-h}rjhUSTM3259rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM3258rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU GALTptspprhKGhLhMhNhNUC( STM3258 and STM3259 and STM3260 and STM2431 and STM2432 )rh(}rhPNubh)r}r(h UExchangerh }rh)r}r(hNhNhU D-Tagatoserh}r(UCHEBI]rU4249raUKEGG]rUC00795raUPUBCHEM]rU4053rauhUtag__D_erhUEh Kh!Gh"h#)r}r(hNh"UC6H12O6rh}rh(}rh*}r(UHK UCKUOKuhjubh,Ueh(}rh.h/]RrubGshNhUD Tagatose exchangerhEG@@hFGh}rhHh/]RrhU EX_tag__D_erhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jGh)r}r(hNhNhU D-Tagatoserh}r(UCHEBI]rU4249raUKEGG]rUC00795raUPUBCHEM]rU4053rauhUtag__D_prhUEh Kh!Gh"h#)r}r(hNh"UC6H12O6rh}rh(}rh*}r(UHK UCKUOKuhjubh,Uph(}rh.h/]RrubG?uhNhU>D Tagatose transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUTAGtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjmG?h)r}r(hNhNhUD-Tagatose-1-phosphaterh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU tag1p__D_crhUEh Jh!Gh"h#)r}r(hNh"UC6H11O9Prh}rh(}rh*}r(UHK UCKUOK UPKuhjubh,Uch(}r h.h/]Rr ubG?jGuhNhU.D Tagatose transport via PEPPyr PTS periplasm r hEG@@hFGh}r hHh/]r (j)r}r(hNjKhNhU-h}rjhUSTM3255rh Nh"NjKh,Nh(}rjU+h.h/]Rrubjj)r}r(hNjKhNhU-h}rjhUSTM3256rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUTAGptspprhKGhLhMhNhNU'( STM3255 and STM3256 and STM2432 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismr h }r!(j4G?jG?jGjGGjG?uhNhUD Tagatose 1 phosphate kinaser"hEG@@hFGh}r#hHh/]r$(jj)r%}r&(hNjKhNhU-h}r'jhUSTM3254r(h Nh"NjKh,Nh(}r)jU+h.h/]Rr*ubeRr+hUTAG1PKr,hKGhLhMhNhNU( STM1326 or STM3254)r-h(}r.hPNubh)r/}r0(h U&Inorganic Ion Transport and Metabolismr1h }r2(jC~GjGGjZGj/G?j4G?jG?jG?uhNhU+iron II transport via ABC system periplasm r3hEG@@hFGh}r4hHh/]r5(j)r6}r7(hNjKhNhUsitBr8h}r9jhUSTM2862r:h Nh"NjKh,Nh(}r;jU+h.h/]Rr<ubj)r=}r>(hNjKhNhUsitAr?h}r@jhUSTM2861rAh Nh"NjKh,Nh(}rBjU+h.h/]RrCubj)rD}rE(hNjKhNhUfeoBrFh}rGjhUSTM3506rHh Nh"NjKh,Nh(}rIjU+h.h/]RrJubj)rK}rL(hNjKhNhUsitDrMh}rNjhUSTM2864rOh Nh"NjKh,Nh(}rPjU+h.h/]RrQubj)rR}rS(hNjKhNhUsitCrTh}rUjhUSTM2863rVh Nh"NjKh,Nh(}rWjU+h.h/]RrXubeRrYhUFE2abcpprZhKGhLhMhNhNUD( STM3506 or ( STM2861 and STM2862 and STM2863 and STM2864 ))r[h(}r\hPNubh)r]}r^(h U&Inorganic Ion Transport and Metabolismr_h }r`(jGjGGjwG?jG?jZGj4G?jG?uhNhU1Manganese Mn2 transport via ABC system periplasm rahEG@@hFGh}rbhHh/]rc(j6jKjRj=eRrdhUMN2abcpprehKGhLhMhNhNU5( STM2861 and STM2862 and STM2863 and STM2864 )rfh(}rghPNubh)rh}ri(h UOxidative Phosphorylationrjh }rk(jFG@j5G?h)rl}rm(hNhNhU Tetrathionaternh}ro(UCHEBI]rpU 15226 16853rqaUKEGG]rrUC02084rsaUPUBCHEM]rtU5169ruauhUtet_prvhUEh Jh!Gh"h#)rw}rx(hNh"UO6S4ryh}rzh(}r{h*}r|(USKUOKuhjyubh,Uph(}r}h.h/]Rr~ubGjG@jS-GuhNhU5Tetrathionate Dehydrogenase menaquinone 8 periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUttrArh}rjhUSTM1383rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUttrBrh}rjhUSTM1385rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUttrCrh}rjhUSTM1384rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUTETDHpp1rhKGhLhMhNhNU'( STM1383 and STM1385 and STM1384 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jS-GjGjɗG?j5G?jFG?jG@jFGuhNhU3Thiosulfate Dehydrogenase menaquinone 8 periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUphsCrh}rjhUSTM2063rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUphsArh}rjhUSTM2065rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUphsBrh}rjhUSTM2064rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU TSULDHpp1rhKGhLhMhNhNU'( STM2065 and STM2064 and STM2063 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jC-GjFG@jG?jlGjG@uhNhU;Tetrathionate Dehydrogenase Demethylmenaquinol 8 periplasm rhEG@@hFGh}rhHh/]r(jjjeRrhUTETDHpp2rhKGhLhMhNhNU'( STM1383 and STM1385 and STM1384 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jC-GjFGjGjFG?jG?jG@jɗG?uhNhU:Thiosulfate Dehydrogenase Demethylmenaquinol 8 periplasm rhEG@@hFGh}rhHh/]r(jjjeRrhU TSULDHpp2rhKGhLhMhNhNU'( STM2065 and STM2064 and STM2063 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jO5G?jFG@jG@jb5GjlGuhNhU4Tetrathionate Dehydrogenase ubiquinone 8 periplasm rhEG@@hFGh}rhHh/]r(jjjeRrhUTETDHpp3rhKGhLhMhNhNU'( STM1383 and STM1385 and STM1384 )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jO5G?jɗG?jFG?jGjb5GjG@jFGuhNhU2Thiosulfate Dehydrogenase ubiquinone 8 periplasm rhEG@@hFGh}rhHh/]r(jjjeRrhU TSULDHpp3rhKGhLhMhNhNU'( STM2065 and STM2064 and STM2063 )rh(}rhPNubh)r}r(h UGlycerophospholipid Metabolismrh }r(j GjzFGjZG@jpGG?jGj G@uhNhUSulfite reductase rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUasrArh}rjhUSTM2548rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUasrBrh}rjhUSTM2549rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUasrCrh}rjhUSTM2550rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUSO3RrhKGhLhMhNhNU'( STM2548 and STM2549 and STM2550 )rh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismr h }r (j8GjuxG?j4G?jGGjZGjG?jG?uhNhU/Magnesium Mg2 ABC transporter ubtake periplasm r hEG@@hFGh}r hHh/]r (j)r}r(hNjKhNhUmgtBrh}rjhUSTM3763rh Nh"NjKh,Nh(}rjU+h.h/]RrubjeRrhU MG2uabcpprhKGhLhMhNhNU( STM4456 or STM3763 )rh(}rhPNubh)r}r(h U*Cofactor and Prosthetic Group Biosynthesisrh }r(jGjBG?jG@j~GuhNhU4uroporphyrinogen decarboxylase uroporphyrinogen III rhEG@@hFGh}rhHh/]rj)r }r!(hNjKhNhUhemEr"h}r#jhUSTM4167r$h Nh"NjKh,Nh(}r%jU+h.h/]Rr&ubaRr'hUUPPDC1r(hKGhLhMhNhNj$h(}r)hPNubh)r*}r+(h U"Purine and Pyrimidine Biosynthesisr,h }r-(jGGj'(G?j4G?jG?h)r.}r/(hNhNhUAminoimidazole-ribosider0h}r1(UCHEBI]r2U0aUKEGG]r3U phosphorylated version of C03373r4aUPUBCHEM]r5U0auhUairs_cr6hUEh Kh!Gh"h#)r7}r8(hNh"U C8H13N3O4r9h}r:h(}r;h*}r<(UHK UCKUOKUNKuhj9ubh,Uch(}r=h.h/]Rr>ubGuhNhUAminoimidazole riboside kinaser?hEG@@hFGh}r@hHh/]rAj)rB}rC(hNjKhNhU-h}rDjhUSTM4066rEh Nh"NjKh,Nh(}rFjU+h.h/]RrGubaRrHhUAIRSKrIhKGhLhMhNhNjEh(}rJhPNubh)rK}rL(h UExchangerMh }rNh)rO}rP(hNhNhUAminoimidazole-ribosiderQh}rR(UCHEBI]rSU0aUKEGG]rTU phosphorylated version of C03373rUaUPUBCHEM]rVU0auhUairs_erWhUEh Kh!Gh"h#)rX}rY(hNh"U C8H13N3O4rZh}r[h(}r\h*}r](UHK UCKUOKUNKuhjZubh,Ueh(}r^h.h/]Rr_ubGshNhU Aminoimidazole riboside exchanger`hEG@@hFGh}rahHh/]RrbhU EX_airs_erchKGhLhMhNhNUh(}rdhPNubh)re}rf(h UTransport Outer Membrane Porinrgh }rh(h)ri}rj(hNhNhUAminoimidazole-ribosiderkh}rl(UCHEBI]rmU0aUKEGG]rnU phosphorylated version of C03373roaUPUBCHEM]rpU0auhUairs_prqhUEh Kh!Gh"h#)rr}rs(hNh"U C8H13N3O4rth}ruh(}rvh*}rw(UHK UCKUOKUNKuhjtubh,Uph(}rxh.h/]RryubG?jOGuhNhUKAminoimidazole riboside transport via diffusion extracellular to periplasm rzhEG@@hFG@h}r{hHh/]r|(jjjjeRr}hUAIRStexr~hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jiGj.G?uhNhU8Aminoimidazole riboside facilitated transport periplasm rhEG@@hFG@h}rhHh/]RrhUAIRStpprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGh)r}r(hNhNhU$residual-atoms-of-reaction-DMBZIDSYNrh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU remnant1_crhUEh Kh!Gh"h#)r}r(hNh"UC4H2N2O3rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhUEresidual atoms of reaction DMBZIDSYN facilitated transport periplasm rhEG@@hFG@h}rhHh/]RrhU REMNANT1tpprhKGhLhMhNhNUh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jZ1Gj2G?jZGjlG?uhNhUArginine deiminaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhU-h}rjhUSTM4467rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUARGDArhKGhLhMhNhNjh(}rhPNubh)r}r(h UArginine and Proline Metabolismrh }r(j2G?jG?jG?j@Gj4GuhNhUornithine carbamoyltransferaserhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUargIrh}rjhUSTM4469rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM4465rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUOCBTrhKGhLhMhNhNU( STM4469 or STM4465 )rh(}rhPNubh)r}r(h U Unassignedrh }r(j4G?jGjGGj4G?jG@jlGuhNhUCarbamate kinaserhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhUarcCrh}rjhUSTM0532rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM4466rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUCBMKrrhKGhLhMhNhNU( STM0532 or STM4466 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jG?h)r}r(hNhNhU3-Phospho-D-glyceraterh}r(UCHEBI]rU17794raUKEGG]rUC00197raUPUBCHEM]rU3497rauhU3pg_prhUEh Jh!Gh"h#)r}r(hNh"UC3H4O7Prh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Uph(}rh.h/]RrubGjG?jGuhNhU53 Phospho D glycerate phosphate antiporter periplasm rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUpgtPrh}rjhUSTM2399rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU3PGt6pprhKGhLhMhNhNjh(}rhPNubh)r}r(h UTransport Inner Membraner h }r (h)r }r (hNhNhUD-Glycerate-2-phosphater h}r(UCHEBI]rU17835raUKEGG]rUC00631raUPUBCHEM]rU3904rauhU2pg_prhUEh Jh!Gh"h#)r}r(hNh"UC3H4O7Prh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Uph(}rh.h/]RrubGjGj_]G?jG?uhNhU7D Glycerate 2 phosphate phosphate antiporter periplasm rhEG@@hFGh}rhHh/]r jaRr!hU2PGt6ppr"hKGhLhMhNhNUSTM2399r#h(}r$hPNubh)r%}r&(h UTransport Inner Membraner'h }r((jGjG?jG?h)r)}r*(hNhNhUPhosphoenolpyruvater+h}r,(UCHEBI]r-U 18021 44897r.aUKEGG]r/UC00074r0aUPUBCHEM]r1U3374r2auhUpep_pr3hUEh Jh!Gh"h#)r4}r5(hNh"UC3H2O6Pr6h}r7h(}r8h*}r9(UHKUCKUOKUPKuhj6ubh,Uph(}r:h.h/]Rr;ubGuhNhU3Phosphoenolpyruvate phosphate antiporter periplasm r<hEG@@hFGh}r=hHh/]r>jaRr?hUPEPt6ppr@hKGhLhMhNhNUSTM2399rAh(}rBhPNubh)rC}rD(h UExchangerEh }rFh)rG}rH(hNhNhUPhosphoenolpyruvaterIh}rJ(UCHEBI]rKU 18021 44897rLaUKEGG]rMUC00074rNaUPUBCHEM]rOU3374rPauhUpep_erQhUEh Jh!Gh"h#)rR}rS(hNh"UC3H2O6PrTh}rUh(}rVh*}rW(UHKUCKUOKUPKuhjTubh,Ueh(}rXh.h/]RrYubGshNhUPhosphoenolpyruvate exchangerZhEG@@hFGh}r[hHh/]Rr\hUEX_pep_er]hKGhLhMhNhNUh(}r^hPNubh)r_}r`(h UTransport Outer Membrane Porinrah }rb(jGGj)G?uhNhUGPhosphoenolpyruvate transport via diffusion extracellular to periplasm rchEG@@hFG@h}rdhHh/]re(jjjjeRrfhUPEPtexrghKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rhh(}rihPNubh)rj}rk(h UExchangerlh }rmh)rn}ro(hNhNhUD-Glycerate-2-phosphaterph}rq(UCHEBI]rrU17835rsaUKEGG]rtUC00631ruaUPUBCHEM]rvU3904rwauhU2pg_erxhUEh Jh!Gh"h#)ry}rz(hNh"UC3H4O7Pr{h}r|h(}r}h*}r~(UHKUCKUOKUPKuhj{ubh,Ueh(}rh.h/]RrubGshNhU D Glycerate 2 phosphate exchangerhEG@@hFGh}rhHh/]RrhUEX_2pg_erhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(j G?jnGuhNhUKD Glycerate 2 phosphate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU2PGtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UExchangerh }rh)r}r(hNhNhU3-Phospho-D-glyceraterh}r(UCHEBI]rU17794raUKEGG]rUC00197raUPUBCHEM]rU3497rauhU3pg_erhUEh Jh!Gh"h#)r}r(hNh"UC3H4O7Prh}rh(}rh*}r(UHKUCKUOKUPKuhjubh,Ueh(}rh.h/]RrubGshNhU3 Phospho D glycerate exchangerhEG@@hFGh}rhHh/]RrhUEX_3pg_erhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jGjG?uhNhUI3 Phospho D glycerate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU3PGtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UGlycine and Serine Metabolismrh }r(jbxGjlG?jmG?uhNhUL serine deaminaserhEG@@hFGh}rhHh/]r(jj)r}r(hNjKhNhU-h}rjhUSTM2196rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj+j)r}r(hNjKhNhUtdcGrh}rjhUSTM3240rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUSERD_LrhKGhLhMhNhNU2( STM3240 or STM1826 or STM2971 or STM2196 )rh(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(j5G?jZG?h)r}r(hNhNhU L-tartraterh}r(UCHEBI]rU 15671 30924raUKEGG]rUC00898raUPUBCHEM]rU4154rauhU tartr__L_crhUEh Jh!Gh"h#)r}r(hNh"UC4H4O6rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubGuhNhUL tartrate dehydrataserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhU-h}rjhUSTM3355rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM3354rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUTARTDrhKGhLhMhNhNU( STM3355 and STM3354 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjG?uhNhU)Tartrate facilitated transport periplasm rhEG@@hFG@h}rhHh/]RrhUTARTRtpprhKGhLhMhNhNUh(}rhPNubh)r}r(h U&Inorganic Ion Transport and Metabolismrh }r(jG?jGuhNhU(nickel 2 transport in via permease no H rhEG@@hFGh}rhHh/]r (j)r }r (hNjKhNhUnixAr h}r jhUSTM2783rh Nh"NjKh,Nh(}rjU+h.h/]RrubjAeRrhUNI2tpprhKGhLhMhNhNU( STM3952 or STM2783 )rh(}rhPNubh)r}r(h U Unassignedrh }r(j GjYG?jZG@uhNhUcatalaserhEGhFGh}rhHh/]r(j)r}r(hNjKhNhUkatErh}rjhUSTM1318r h Nh"NjKh,Nh(}r!jU+h.h/]Rr"ubj)r#}r$(hNjKhNhU-h}r%jhUSTM1731r&h Nh"NjKh,Nh(}r'jU+h.h/]Rr(ubj)r)}r*(hNjKhNhUkatGr+h}r,jhUSTM4106r-h Nh"NjKh,Nh(}r.jU+h.h/]Rr/ubeRr0hUCATr1hKGhLhMhNhNU%( STM1318 or STM4106 or STM1731 )r2h(}r3hPNubh)r4}r5(h U0Tyrosine Tryptophan and Phenylalanine Metabolismr6h }r7(jG?j GuhNhUchorismate mutaser8hEG@@hFGh}r9hHh/]r:(j)r;}r<(hNjKhNhU-h}r=jhUSTM1269r>h Nh"NjKh,Nh(}r?jU+h.h/]Rr@ubjjeRrAhUCHORMrBhKGhLhMhNhNU%( STM2667 or STM2669 or STM1269 )rCh(}rDhPNubh)rE}rF(h UAlternate Carbon MetabolismrGh }rH(jmG?jGjZGjlG@uhNhU#2 3 diaminopropionate amonnia lyaserIhEG@@hFGh}rJhHh/]rKj)rL}rM(hNjKhNhU-h}rNjhUSTM1002rOh Nh"NjKh,Nh(}rPjU+h.h/]RrQubaRrRhUDAPALrShKGhLhMhNhNjOh(}rThPNubh)rU}rV(h UCell Envelope BiosynthesisrWh }rX(jwGh)rY}rZ(hNhNhUUDP-D-galacto-1-4-furanoser[h}r\(UCHEBI]r]U18251r^aUKEGG]r_UC03733r`aUPUBCHEM]raU6496rbauhU udpgalfur_crchUEh Jh!Gh"h#)rd}re(hNh"U C15H22N2O17P2rfh}rgh(}rhh*}ri(UHKUCKUPKUOKUNKuhjfubh,Uch(}rjh.h/]RrkubG?uhNhUUDPgalactopyranose mutaserlhEG@@hFGh}rmhHh/]rnj)ro}rp(hNjKhNhU-h}rqjhUSTM0719rrh Nh"NjKh,Nh(}rsjU+h.h/]RrtubaRruhUUDPGALMrvhKGhLhMhNhNjrh(}rwhPNubh)rx}ry(h UOxidative Phosphorylationrzh }r{(jO5GjG@jb5G?jGj+GuhNhU.hydrogenase ubiquinone 8 2 protons periplasm r|hEG@@hFGh}r}hHh/]r~(j)r}r(hNjKhNhU-h}rjhUSTM1788rh Nh"NjKh,Nh(}rjU+h.h/]RrubjHjAj]j)r}r(hNjKhNhU-h}rjhUSTM1787rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM1786rh Nh"NjKh,Nh(}rjU+h.h/]RrubjVj)r}r(hNjKhNhU-h}rjhUSTM1538rh Nh"NjKh,Nh(}rjU+h.h/]Rrubjkj)r}r(hNjKhNhUhypOrh}rjhUSTM3150rh Nh"NjKh,Nh(}rjU+h.h/]RrubjOj)r}r(hNjKhNhUhybCrh}rjhUSTM3147rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM1539rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUHYD1pprhKGhLhMhNhNU( ( STM1786 and STM1787 and STM1788 ) or ( STM3147 and STM3150 ) or ( STM2847 and STM2848 and STM2849 and STM2850 and STM2851 and STM2852 ) or ( STM1538 and STM1539 ) )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jG@j5GjS-G?jGj+GuhNhU.Hydrogenase menaquinone8 2 protons periplasm rhEG@@hFGh}rhHh/]r(jjjjjjjeRrhUHYD2pprhKGhLhMhNhNUe( ( STM1786 and STM1787 and STM1788 ) or ( STM3147 and STM3150 ) or ( STM1538 and STM1539 ) )rh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jC-G?jG@jGjGj+GuhNhU7Hydrogenase Demethylmenaquinone 8 2 protons periplasm rhEG@@hFGh}rhHh/]r(jjjjjjjeRrhUHYD3pprhKGhLhMhNhNUe( ( STM1786 and STM1787 and STM1788 ) or ( STM3147 and STM3150 ) or ( STM1538 and STM1539 ) )rh(}rhPNubh)r}r(h UExchangerh }rh)r}r(hNhNhU Tetrathionaterh}r(UCHEBI]rU 15226 16853raUKEGG]rUC02084raUPUBCHEM]rU5169rauhUtet_erhUEh Jh!Gh"h#)r}r(hNh"UO6S4rh}rh(}rh*}r(USKUOKuhjubh,Ueh(}rh.h/]RrubGshNhUTetrathionate exchangerhEG@@hFGh}rhHh/]RrhUEX_tet_erhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jGjlG?uhNhUATetrathionate transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhUTETtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UExchangerh }rh)r}r(hNhNhU Formamiderh}r(UCHEBI]rU16397raUKEGG]rUC00488raUPUBCHEM]rU3771rauhUfoam_erhUEh Kh!Gh"h#)r}r(hNh"UCH3NOrh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Ueh(}rh.h/]RrubGshNhUFormamide exchangerhEG@@hFGh}rhHh/]RrhU EX_foam_erhKGhLhMhNhNUh(}rhPNubh)r}r (h UTransport Outer Membrane Porinr h }r (h)r }r (hNhNhU Formamiderh}r(UCHEBI]rU16397raUKEGG]rUC00488raUPUBCHEM]rU3771rauhUfoam_prhUEh Kh!Gh"h#)r}r(hNh"UCH3NOrh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?jGuhNhU=Formamide transport via diffusion extracellular to periplasm rhEG@@hFG@h}r hHh/]r!(jjjjeRr"hUFOAMtexr#hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r$h(}r%hPNubh)r&}r'(h UExchanger(h }r)h)r*}r+(hNhNhU D-tartrater,h}r-(UCHEBI]r.U15672r/aUKEGG]r0UC02107r1aUPUBCHEM]r2U5189r3auhU tartr__D_er4hUEh Jh!Gh"h#)r5}r6(hNh"UC4H4O6r7h}r8h(}r9h*}r:(UHKUCKUOKuhj7ubh,Ueh(}r;h.h/]Rr<ubGshNhUD tartrate exchanger=hEG@@hFGh}r>hHh/]Rr?hU EX_tartr__D_er@hKGhLhMhNhNUh(}rAhPNubh)rB}rC(h UTransport Outer Membrane PorinrDh }rE(j*Gh)rF}rG(hNhNhU D-tartraterHh}rI(UCHEBI]rJU15672rKaUKEGG]rLUC02107rMaUPUBCHEM]rNU5189rOauhU tartr__D_prPhUEh Jh!Gh"h#)rQ}rR(hNh"UC4H4O6rSh}rTh(}rUh*}rV(UHKUCKUOKuhjSubh,Uph(}rWh.h/]RrXubG?uhNhU>D Tartrate transport via diffusion extracellular to periplasm rYhEG@@hFG@h}rZhHh/]r[(jjjjeRr\hU TARTRDtexr]hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r^h(}r_hPNubh)r`}ra(h UTransport Inner Membranerbh }rc(jFGh)rd}re(hNhNhU D-tartraterfh}rg(UCHEBI]rhU15672riaUKEGG]rjUC02107rkaUPUBCHEM]rlU5189rmauhU tartr__D_crnhUEh Jh!Gh"h#)ro}rp(hNh"UC4H4O6rqh}rrh(}rsh*}rt(UHKUCKUOKuhjqubh,Uch(}ruh.h/]RrvubG?uhNhU+D Tartrate facilitated transport periplasm rwhEG@@hFG@h}rxhHh/]ryj)rz}r{(hNjKhNhU-h}r|jhUSTM3356r}h Nh"NjKh,Nh(}r~jU+h.h/]RrubaRrhU TARTRDtpprhKGhLhMhNhNj}h(}rhPNubh)r}r(h UAlternate Carbon Metabolismrh }r(jZG?jҌG?jGuhNhUgalactarate dehydrataserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUgarDrh}rjhUSTM3250rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM3697rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUGALCTDrhKGhLhMhNhNU( STM3250 or STM3697 )rh(}rhPNubh)r}r(h UMethionine Metabolismrh }r(j5G?jHG?jG?j-GjGuhNhU&O succinylhomoserine lyase L cysteine rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhU-h}rjhUSTM3624Arh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUmetBrh}rjhUSTM4100rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUSHSL1rhKGhLhMhNhNU( STM4100 or STM3624A )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j#G?jGjG@j3GuhNhU7L asparate transport via proton symport 3 H periplasm rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhU-h}rjhUSTM3599rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUdcuBrh}rjhUSTM4301rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUdcuArh}rjhUSTM4325rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU ASPt2_3pprhKGhLhMhNhNU$( STM4325 or STM4301 or STM3599 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j=G?j5GjGj#G?uhNhU'succinatefumarate antiporter periplasm rhEG@@hFG@h}rhHh/]r(jjj)r}r(hNjKhNhUdcuCrh}rjhUSTM0627rh Nh"NjKh,Nh(}rjU+h.h/]RrubjeRrhU SUCFUMtpprhKGhLhMhNhNU0( STM4301 or STM0627 or STM4325 or STM3599 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGj5G?j=GjG@uhNhU7Succintate transport via proton symport 3 H periplasm rhEG@@hFGh}rhHh/]r(jjjeRrhU SUCCt2_3pprhKGhLhMhNhNU#( STM4301 or STM4325 or STM3599 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jGjGjG@j#G?uhNhU5Fumarate transport via proton symport 3 H periplasm rhEG@@hFGh}rhHh/]r(jjjjeRrhU FUMt2_3pprhKGhLhMhNhNU0( STM4325 or STM4301 or STM0627 or STM3599 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jG@jwG?jGjGuhNhU3Malate transport via proton symport 3 H periplasm rhEG@@hFGh}rhHh/]r(jjjeRrhU MALt2_3pprhKGhLhMhNhNU#( STM4301 or STM4325 or STM3599 )rh(}rhPNubh)r}r(h UMurein Recyclingrh }r(j(Gj)Gj9G@uhNhUD alanine D alanine dipeptidaser hEG@@hFGh}r hHh/]r j)r }r (hNjKhNhUpdgLrh}rjhUSTM1599rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUALAALADrhKGhLhMhNhNjh(}rhPNubh)r}r(h UOxidative Phosphorylationrh }r(jATGj5G?j)G?jS-GjrTG?uhNhU*Dimethyl sulfoxide reductase Menaquinol 8 rhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhU-h}rjhUSTM1497r h Nh"NjKh,Nh(}r!jU+h.h/]Rr"ubj)r#}r$(hNjKhNhU-h}r%jhUSTM4307r&h Nh"NjKh,Nh(}r'jU+h.h/]Rr(ubj)r)}r*(hNjKhNhU-h}r+jhUSTM4306r,h Nh"NjKh,Nh(}r-jU+h.h/]Rr.ubj)r/}r0(hNjKhNhU-h}r1jhUSTM2530r2h Nh"NjKh,Nh(}r3jU+h.h/]Rr4ubj)r5}r6(hNjKhNhUdmsCr7h}r8jhUSTM0966r9h Nh"NjKh,Nh(}r:jU+h.h/]Rr;ubj)r<}r=(hNjKhNhU-h}r>jhU STM4305.Sr?h Nh"NjKh,Nh(}r@jU+h.h/]RrAubj)rB}rC(hNjKhNhU-h}rDjhUSTM1496rEh Nh"NjKh,Nh(}rFjU+h.h/]RrGubj)rH}rI(hNjKhNhU-h}rJjhUSTM2529rKh Nh"NjKh,Nh(}rLjU+h.h/]RrMubj)rN}rO(hNjKhNhU-h}rPjhUSTM1499rQh Nh"NjKh,Nh(}rRjU+h.h/]RrSubj)rT}rU(hNjKhNhUdmsBrVh}rWjhUSTM0965rXh Nh"NjKh,Nh(}rYjU+h.h/]RrZubj)r[}r\(hNjKhNhU-h}r]jhUSTM1498r^h Nh"NjKh,Nh(}r_jU+h.h/]Rr`ubj)ra}rb(hNjKhNhU-h}rcjhUSTM2528rdh Nh"NjKh,Nh(}rejU+h.h/]Rrfubj)rg}rh(hNjKhNhUdmsArih}rjjhUSTM0964rkh Nh"NjKh,Nh(}rljU+h.h/]RrmubeRrnhUDMSOR1rohKGhLhMhNhNU( ( STM1499 and STM1498 and STM1497 and STM1496 ) or ( STM0964 and STM0965 and STM0966 ) or ( STM4305.S and STM4306 and STM4307 ) or ( STM2528 and STM2530 and STM2529 ) )rph(}rqhPNubh)rr}rs(h UOxidative Phosphorylationrth }ru(jC-Gj)G?jATGjG?jrTG?uhNhU2Dimethyl sulfoxide reductase Demethylmenaquinol 8 rvhEG@@hFGh}rwhHh/]rx(j5j#j)j/jaj<jgjTjHeRryhUDMSOR2rzhKGhLhMhNhNU( ( STM0964 and STM0965 and STM0966 ) or ( STM4305.S and STM4306 and STM4307 ) or ( STM2528 and STM2530 and STM2529 ) )r{h(}r|hPNubh)r}}r~(h U&Inorganic Ion Transport and Metabolismrh }r(jGj G?jG?jGuhNhU@sodium transport out via proton antiport cytoplasm to periplasm rhEG@@hFGh}rhHh/]r(j8jj)r}r(hNjKhNhU-h}rjhUSTM1556rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUNAt3pprhKGhLhMhNhNU%( STM0866 or STM1771 or STM1556 )rh(}rhPNubh)r}r(h UHistidine Metabolismrh }r(jZGh)r}r(hNhNhU4-Imidazolone-5-propanoaterh}r(UCHEBI]rU0aUKEGG]rUC03680raUPUBCHEM]rU6455rauhU4iz5pp_crhUEh Jh!Gh"h#)r}r(hNh"UC6H7N2O3rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhUN-Formimino-L-glutamaterh}r(UCHEBI]rU7274raUKEGG]rUC00439raUPUBCHEM]rU3728rauhUnflgln_crhUEh Jh!Gh"h#)r}r(hNh"UC6H9N2O4rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?uhNhU%4 Imidazolone 5 propanoate propionaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhutIrh}rjhUSTM0787rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU4IZ5PPHrhKGhLhMhNhNjh(}rhPNubh)r}r(h UHistidine Metabolismrh }r(jGjZGh)r}r(hNhNhU Formamiderh}r(UCHEBI]rU16397raUKEGG]rUC00488raUPUBCHEM]rU3771rauhUfoam_crhUEh Kh!Gh"h#)r}r(hNh"UCH3NOrh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jG?uhNhU*N Formimino L glutamate formiminohydrolaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUhutGrh}rjhUSTM0788rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUNFLGLNHrhKGhLhMhNhNjh(}rhPNubh)r}r(h UExchangerh }rh)r}r(hNhNhU4-Aminobenzoaterh}r(UCHEBI]rU30753raUKEGG]rUC00568raUPUBCHEM]rU3847rauhU4abz_erhUEh Jh!Gh"h#)r}r(hNh"UC7H6NO2rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Ueh(}rh.h/]RrubGshNhU4 Aminobenzoate exchangerhEG@@hFGh}rhHh/]RrhU EX_4abz_erhKGhLhMhNhNUh(}rhPNubh)r}r(h UExchangerh }r(j G?jGuhNhU)4 aminobenzoate extracellular to cytosol rhEG@@hFG@h}r hHh/]Rr hUABZtexr hKGhLhMhNhNUh(}r hPNubh)r }r(h UExchangerh }rh)r}r(hNhNhUFerrioxamine-Brh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU123851rauhUferoxB_erhUEh Kh!Gh"h#)r}r(hNh"U C25H48N6O8rh}rh(}rh*}r(UHK0UCKUOKUNKuhjubh,Ueh(}r h.h/]Rr!ubGshNhUFerrioxamine B exchanger"hEG@@hFGh}r#hHh/]Rr$hU EX_feroxB_er%hKGhLhMhNhNUh(}r&hPNubh)r'}r((h UExchanger)h }r*h)r+}r,(hNhNhUFerrioxamine-B-fer-h}r.(UCHEBI]r/U0aUKEGG]r0U0aUPUBCHEM]r1U123851r2auhU feroxBfe_er3hUEh Kh!Gh"h#)r4}r5(hNh"U C25H45FeN6O8r6h}r7h(}r8h*}r9(UHK-UCKUFeKUOKUNKuhj6ubh,Ueh(}r:h.h/]Rr;ubGshNhUFerrioxamine B fe exchanger<hEG@@hFGh}r=hHh/]Rr>hU EX_feroxBfe_er?hKGhLhMhNhNUh(}r@hPNubh)rA}rB(h UExchangerCh }rDh)rE}rF(hNhNhUFerrioxamine-ErGh}rH(UCHEBI]rIU0aUKEGG]rJU0aUPUBCHEM]rKU167864rLauhUferoxE_erMhUEh Kh!Gh"h#)rN}rO(hNh"U C27H48N6O9rPh}rQh(}rRh*}rS(UHK0UCKUOK UNKuhjPubh,Ueh(}rTh.h/]RrUubGshNhUFerrioxamine E exchangerVhEG@@hFGh}rWhHh/]RrXhU EX_feroxE_erYhKGhLhMhNhNUh(}rZhPNubh)r[}r\(h UExchanger]h }r^h)r_}r`(hNhNhUFerrioxamine-E-ferah}rb(UCHEBI]rcU0aUKEGG]rdU0aUPUBCHEM]reU167864rfauhU feroxEfe_erghUEh Kh!Gh"h#)rh}ri(hNh"U C27H45FeN6O9rjh}rkh(}rlh*}rm(UHK-UCKUFeKUOK UNKuhjjubh,Ueh(}rnh.h/]RroubGshNhUFerrioxamine E fe exchangerphEG@@hFGh}rqhHh/]RrrhU EX_feroxEfe_ershKGhLhMhNhNUh(}rthPNubh)ru}rv(h UExchangerwh }rxh)ry}rz(hNhNhUFerrioxamine-Gr{h}r|(UCHEBI]r}U0aUKEGG]r~U0aUPUBCHEM]rU0auhUferoxG_erhUEh Kh!Gh"h#)r}r(hNh"U C27H49N6O10rh}rh(}rh*}r(UHK1UCKUOK UNKuhjubh,Ueh(}rh.h/]RrubGshNhUFerrioxamine G exchangerhEG@@hFGh}rhHh/]RrhU EX_feroxG_erhKGhLhMhNhNUh(}rhPNubh)r}r(h UExchangerh }rh)r}r(hNhNhUFerrioxamine-G-ferh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU feroxGfe_erhUEh Kh!Gh"h#)r}r(hNh"U C27H46FeN6O10rh}rh(}rh*}r(UHK.UCKUFeKUOK UNKuhjubh,Ueh(}rh.h/]RrubGshNhUFerrioxamine G fe exchangerhEG@@hFGh}rhHh/]RrhU EX_feroxGfe_erhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUFerrioxamine-B-ferh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU123851rauhU feroxBfe_prhUEh Kh!Gh"h#)r}r(hNh"U C25H45FeN6O8rh}rh(}rh*}r(UHK-UCKUFeKUOKUNKuhjubh,Uph(}rh.h/]RrubGj4G?h)r}r(hNhNhUFerrioxamine-B-ferh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU123851rauhU feroxBfe_crhUEh Kh!Gh"h#)r}r(hNh"U C25H45FeN6O8rh}rh(}rh*}r(UHK-UCKUFeKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jZGjG?jGGjG?uhNhU5Ferrioxamine B fe transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j0j0j0eRrhU FEROXBFEabcpprhKGhLhMhNhNU'( STM0194 and STM0192 and STM0193 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUFerrioxamine-E-ferh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU167864rauhU feroxEfe_crhUEh Kh!Gh"h#)r}r(hNh"U C27H45FeN6O9rh}rh(}rh*}r(UHK-UCKUFeKUOK UNKuhjubh,Uch(}rh.h/]RrubG?jGGjZGjG?h)r}r(hNhNhUFerrioxamine-E-ferh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU167864rauhU feroxEfe_prhUEh Kh!Gh"h#)r}r(hNh"U C27H45FeN6O9rh}rh(}rh*}r(UHK-UCKUFeKUOK UNKuhjubh,Uph(}rh.h/]RrubGjG?j4G?uhNhU5Ferrioxamine E fe transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j0j0j0eRrhU FEROXEFEabcpprhKGhLhMhNhNU'( STM0194 and STM0192 and STM0193 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(j4G?jGGh)r}r(hNhNhUFerrioxamine-G-ferh}r(UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhU feroxGfe_pr hUEh Kh!Gh"h#)r }r(hNh"U C27H46FeN6O10rh}rh(}rh*}r(UHK.UCKUFeKUOK UNKuhjubh,Uph(}rh.h/]RrubGjZGh)r}r(hNhNhUFerrioxamine-G-ferh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhU feroxGfe_crhUEh Kh!Gh"h#)r}r(hNh"U C27H46FeN6O10rh}r h(}r!h*}r"(UHK.UCKUFeKUOK UNKuhjubh,Uch(}r#h.h/]Rr$ubG?jG?jG?uhNhU5Ferrioxamine G fe transport via ABC system periplasm r%hEG@@hFGh}r&hHh/]r'(j0j0j0eRr(hU FEROXGFEabcppr)hKGhLhMhNhNU'( STM0194 and STM0192 and STM0193 )r*h(}r+hPNubh)r,}r-(h UTransport Outer Membraner.h }r/(jGjG?jG?jGuhNhU4Ferrioxamine G fe transport via ton system extermal r0hEG@@hFGh}r1hHh/]r2(j"j"j"j)r3}r4(hNjKhNhUfoxAr5h}r6jhUSTM0364r7h Nh"NjKh,Nh(}r8jU+h.h/]Rr9ubeRr:hU FEROXGFEtonexr;hKGhLhMhNhNU9( STM0364 and ( STM1737 and STM3158 and STM3159 ) )r<h(}r=hPNubh)r>}r?(h UTransport Outer Membraner@h }rA(j+GjG?uhNhUEFerrioxamine B fe transport via diffusion extracellular to periplasm rBhEG@@hFG@h}rChHh/]rDj3aRrEhU FEROXBFEtexrFhKGhLhMhNhNUSTM0364rGh(}rHhPNubh)rI}rJ(h UTransport Outer MembranerKh }rL(j_GjG?uhNhUEFerrioxamine E fe transport via diffusion extracellular to periplasm rMhEG@@hFG@h}rNhHh/]rOj3aRrPhU FEROXEFEtexrQhKGhLhMhNhNUSTM0364rRh(}rShPNubh)rT}rU(h UTransport Outer Membrane PorinrVh }rW(h)rX}rY(hNhNhUFerrioxamine-GrZh}r[(UCHEBI]r\U0aUKEGG]r]U0aUPUBCHEM]r^U0auhUferoxG_pr_hUEh Kh!Gh"h#)r`}ra(hNh"U C27H49N6O10rbh}rch(}rdh*}re(UHK1UCKUOK UNKuhjbubh,Uph(}rfh.h/]RrgubG?jyGuhNhUBFerrioxamine G transport via diffusion extracellular to periplasm rhhEG@@hFG@h}rihHh/]rj(jjjjeRrkhU FEROXGtexrlhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rmh(}rnhPNubh)ro}rp(h UTransport Outer Membrane Porinrqh }rr(h)rs}rt(hNhNhUFerrioxamine-Eruh}rv(UCHEBI]rwU0aUKEGG]rxU0aUPUBCHEM]ryU167864rzauhUferoxE_pr{hUEh Kh!Gh"h#)r|}r}(hNh"U C27H48N6O9r~h}rh(}rh*}r(UHK0UCKUOK UNKuhj~ubh,Uph(}rh.h/]RrubG?jEGuhNhUBFerrioxamine E transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU FEROXEtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Outer Membrane Porinrh }r(jGh)r}r(hNhNhUFerrioxamine-Brh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU123851rauhUferoxB_prhUEh Kh!Gh"h#)r}r(hNh"U C25H48N6O8rh}rh(}rh*}r(UHK0UCKUOKUNKuhjubh,Uph(}rh.h/]RrubG?uhNhUBFerrioxamine B transport via diffusion extracellular to periplasm rhEG@@hFG@h}rhHh/]r(jjjjeRrhU FEROXBtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhUFerrioxamine-Brh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU123851rauhUferoxB_crhUEh Kh!Gh"h#)r}r(hNh"U C25H48N6O8rh}rh(}rh*}r(UHK0UCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jGuhNhU/Ferrioxamine B facilitated transport periplasm rhEG@@hFG@h}rhHh/]RrhU FEROXBtpprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jsGh)r}r(hNhNhUFerrioxamine-Erh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU167864rauhUferoxE_crhUEh Kh!Gh"h#)r}r(hNh"U C27H48N6O9rh}rh(}rh*}r(UHK0UCKUOK UNKuhjubh,Uch(}rh.h/]RrubG?uhNhU/Ferrioxamine E facilitated transport periplasm rhEG@@hFG@h}rhHh/]RrhU FEROXEtpprhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(jXGh)r}r(hNhNhUFerrioxamine-Grh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUferoxG_crhUEh Kh!Gh"h#)r}r(hNh"U C27H49N6O10rh}rh(}rh*}r(UHK1UCKUOK UNKuhjubh,Uch(}rh.h/]RrubG?uhNhU/Ferrioxamine G facilitated transport periplasm rhEG@@hFG@h}rhHh/]RrhU FEROXGtpprhKGhLhMhNhNUh(}rhPNubh)r}r(h UExchangerh }rh)r}r(hNhNhU2-Deoxy-D-riboserh}r(UCHEBI]rU28816raUKEGG]rUC01801raUPUBCHEM]rU4927rauhUdrib_erhUEh Kh!Gh"h#)r}r(hNh"UC5H10O4rh}rh(}rh*}r(UHK UCKUOKuhjubh,Ueh(}r h.h/]Rr ubGshNhUdeoxy D Ribose exchanger hEG@@hFGh}r hHh/]Rr hU EX_drib_erhKGhLhMhNhNUh(}rhPNubh)r}r(h UTransport Inner Membranerh }r(h)r}r(hNhNhU2-Deoxy-D-riboserh}r(UCHEBI]rU28816raUKEGG]rUC01801raUPUBCHEM]rU4927rauhUdrib_prhUEh Kh!Gh"h#)r}r (hNh"UC5H10O4r!h}r"h(}r#h*}r$(UHK UCKUOKuhj!ubh,Uph(}r%h.h/]Rr&ubGjGh)r'}r((hNhNhU2-Deoxy-D-riboser)h}r*(UCHEBI]r+U28816r,aUKEGG]r-UC01801r.aUPUBCHEM]r/U4927r0auhUdrib_cr1hUEh Kh!Gh"h#)r2}r3(hNh"UC5H10O4r4h}r5h(}r6h*}r7(UHK UCKUOKuhj4ubh,Uch(}r8h.h/]Rr9ubG?jG?uhNhU6deoxy D ribose transport via proton symport periplasm r:hEG@@hFG@h}r;hHh/]r<j)r=}r>(hNjKhNhU-h}r?jhUSTM3792r@h Nh"NjKh,Nh(}rAjU+h.h/]RrBubaRrChUDRIBtpprDhKGhLhMhNhNj@h(}rEhPNubh)rF}rG(h UAlternate Carbon MetabolismrHh }rI(j4G?j'GjGGjG?jUG?uhNhUdeoxyribokinaserJhEG@@hFGh}rKhHh/]rLj8aRrMhUDRBKrNhKGhLhMhNhNUSTM3793rOh(}rPhPNubh)rQ}rR(h UTransport Outer Membrane PorinrSh }rT(jGjG?uhNhU?deoxyribose transport via diffusion extracellular to periplasm rUhEG@@hFG@h}rVhHh/]rW(jjjjeRrXhUDRIBtexrYhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rZh(}r[hPNubh)r\}r](h Uh }r^(jCG?jzFG?j-G?j|GjG?h)r_}r`(hNhNhUslcys_crah}rb(UCHEBI]rcU0aUKEGG]rdUC05824reaUPUBCHEM]rfU8119rgauhUslcys_crhhUEh Jh!Gh"h#)ri}rj(hNh"Uh}rkh(}rlh*}rmhUubh,Uch(}rnh.h/]RroubGuhNhU!S-sulfo-L-cysteine sulfite lyase rphEG@@hFGh}rqhHh/]RrrhUSCYSSLrshKGhLhMhNhNUh(}rthPNubh)ru}rv(h Uh }rw(jFGjGjtG?j_G?uhNhUO-acetyl-L-serine sulfhydrylaserxhEG@@hFGh}ryhHh/]rzjGaRr{hUSLCYSSr|hKGhLhMhNhNUSTM2440r}h(}r~hPNubh)r}r(h Uh }r(j GjCG?jZG@j|GuhNhUglutathione peroxidaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUbtuErh}rjhUSTM1341rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUGSHPOrhKGhLhMhNhNjh(}rhPNubh)r}r(h Uh }r(h)r}r(hNhNhU2oh3d_crh}r(UCHEBI]rU1254raUKEGG]rUC03063raUPUBCHEM]rU5963rauhU2oh3d_crhUEh Jh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubG?jGuhNhU-2-hydroxyhepta-2,4-diene-1,7-dioate isomeraserhEG@@hFG@h}rhHh/]rjaRrhUHHDDIrhKGhLhMhNhNUSTM1101rh(}rhPNubh)r}r(h Uh }r(jB Gh)r}r(hNhNhU2ins_crh}r(UCHEBI]rU17811raUKEGG]rUC00691raUPUBCHEM]rU3959rauhU2ins_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubG?jU G?jGjG?uhNhUKetoinositol reductaserhEG@@hFG@h}rhHh/]r(j)r}r(hNjKhNhU-h}rjhUSTM4425rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhU-h}rjhUSTM4433rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUINOSRrhKGhLhMhNhNU(STM4433 or STM4425)rh(}rhPNubh)r}r(h Uh }r(j GjG?jGj G?h)r}r(hNhNhUmsa_crh}r(UCHEBI]rU17960raUKEGG]rUC00222raUPUBCHEM]rU3522rauhUmsa_crhUEh Jh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubGjG?uhNhU@methylmalonate-semialdehyde dehydrogenase (malonic semialdehyde)rhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhU-h}rjhUSTM4421rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUMMSAD3rhKGhLhMhNhNjh(}rhPNubh)r}r(h Uh }r(jZGh)r}r(hNhNhUchit6p_crh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU853844rauhUchit6p_crhUEh Jh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubGjG?jG?uhNhU chitobiose-6-phosphate hydrolaserhEGhFGh}rhHh/]r j)r }r (hNjKhNhUcelFr h}r jhUSTM1316rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUCHITPHrhKGhLhMhNhNjh(}rhPNubh)r}r(h Uh }r(h)r}r(hNhNhUd5kg_crh}r(UCHEBI]rU27972raUKEGG]rUC06892raUPUBCHEM]rU9109r auhUd5kg_cr!hUEh Jh!Gh"h#)r"}r#(hNh"Uh}r$h(}r%h*}r&hUubh,Uch(}r'h.h/]Rr(ubGj4G?h)r)}r*(hNhNhUd5kgp_cr+h}r,(UCHEBI]r-U0aUKEGG]r.UC06893r/aUPUBCHEM]r0U9110r1auhUd5kgp_cr2hUEh Jh!Gh"h#)r3}r4(hNh"Uh}r5h(}r6h*}r7hUubh,Uch(}r8h.h/]Rr9ubG?jGGjG?uhNhU!2-Deoxy-5-Keto-D-gluconate kinaser:hEG@@hFGh}r;hHh/]r<j)r=}r>(hNjKhNhU-h}r?jhUSTM4420r@h Nh"NjKh,Nh(}rAjU+h.h/]RrBubaRrChUD5KGKrDhKGhLhMhNhNj@h(}rEhPNubh)rF}rG(h Uh }rH(j|G?j)GjG?uhNhU/2-Deoxy-5-keto-D-gluconate 6-phosphate aldolaserIhEG@@hFGh}rJhHh/]RrKhUD5KGPArLhKGhLhMhNhNUh(}rMhPNubh)rN}rO(h Uh }rP(h)rQ}rR(hNhNhU 24dhhed_crSh}rT(UCHEBI]rUU0aUKEGG]rVUC06201rWaUPUBCHEM]rXU8451rYauhU 24dhhed_crZhUEh Jh!Gh"h#)r[}r\(hNh"Uh}r]h(}r^h*}r_hUubh,Uch(}r`h.h/]RraubGjmG?jG?uhNhU/2,4-dihydroxyhept-2-ene-1,7-dioic acid aldolaserbhEG@@hFGh}rchHh/]rd(j)re}rf(hNjKhNhU-h}rgjhUSTM2289rhh Nh"NjKh,Nh(}rijU+h.h/]RrjubjeRrkhUDHEDAArlhKGhLhMhNhNU(STM1106 and STM2289)rmh(}rnhPNubh)ro}rp(h Uh }rq(jZGjG?jG?h)rr}rs(hNhNhUdkdi_crth}ru(UCHEBI]rvU4077rwaUKEGG]rxUC06891ryaUPUBCHEM]rzU9108r{auhUdkdi_cr|hUEh Kh!Gh"h#)r}}r~(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubGuhNhU-D-2,3-Diketo 4-deoxy-epi-inositol dehydrataserhEG@@hFGh}rhHh/]RrhUDKDIDrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jZG?jrG?jGuhNhU2-Inosose dehydrataserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhU-h}rjhU STM4424.Srh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhU2INSDrhKGhLhMhNhNjh(}rhPNubh)r}r(h Uh }r(j5G?jdGjZG?uhNhUD-tartrate dehydrataserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUptpSrh}rjhUSTM2949rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUDTARTDrhKGhLhMhNhNjh(}rhPNubh)r}r(h Uh }r(j,qG?jiGh)r}r(hNhNhUrnam_erh}r(UCHEBI]rU15927raUKEGG]rUC03150raUPUBCHEM]rU6038rauhUrnam_erhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Ueh(}rh.h/]RrubG?jmoGuhNhUnmn hydrolysisrhEG@@hFGh}rhHh/]rjaRrhUNMNRrhKGhLhMhNhNUSTM2949rh(}rhPNubh)r}r(h Uh }r(jG?jGGh)r}r(hNhNhUrnam_crh}r(UCHEBI]rU15927raUKEGG]rUC03150raUPUBCHEM]rU6038rauhUrnam_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubGj4G?jG?uhNhUribosylnicotinamide kinaserhEG@@hFGh}rhHh/]rjѸaRrhURNMKrhKGhLhMhNhNU STM4580.Srh(}rhPNubh)r}r(h Uh }r(h)r}r(hNhNhUudcpo5_crh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUudcpo5_crhUEh Jh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubG?jG?jGh)r}r(hNhNhUudcpo4_crh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUudcpo4_crhUEh Jh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubGuhNhUO-antigen Acetyl-TransferaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUoafArh}rjhUSTM2232rh Nh"NjKh,Nh(}r jU+h.h/]Rr ubaRr hUOACTr hKGhLhMhNhNjh(}r hPNubh)r}r(h Uh }r(jG?jIG?jGjG?h)r}r(hNhNhU udcpgrm_crh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU23061145rauhU udcpgrm_crhUEh Jh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]Rr ubGuhNhUAbequosyl transferaser!hEG@@hFGh}r"hHh/]r#jaRr$hUUDCPATr%hKGhLhMhNhNUSTM2087r&h(}r'hPNubh)r(}r)(h Uh }r*(jG?jK!G?jG?joGh)r+}r,(hNhNhUudcpgr_cr-h}r.(UCHEBI]r/U0aUKEGG]r0U0aUPUBCHEM]r1U0auhUudcpgr_cr2hUEh Jh!Gh"h#)r3}r4(hNh"Uh}r5h(}r6h*}r7hUubh,Uch(}r8h.h/]Rr9ubGuhNhUmannosyl transferaser:hEG@@hFGh}r;hHh/]r<jaRr=hUUDCPMTr>hKGhLhMhNhNUSTM2086r?h(}r@hPNubh)rA}rB(h Uh }rC(h)rD}rE(hNhNhUudcpg_crFh}rG(UCHEBI]rHU16046rIaUKEGG]rJU0aUPUBCHEM]rKU7121rLauhUudcpg_crMhUEh Jh!Gh"h#)rN}rO(hNh"Uh}rPh(}rQh*}rRhUubh,Uch(}rSh.h/]RrTubGjGjG?j~WG?j+G?uhNhUrhamnosyl transferaserUhEG@@hFGh}rVhHh/]rWjcaRrXhUUDCPRTrYhKGhLhMhNhNUSTM2085rZh(}r[hPNubh)r\}r](h Uh }r^(jG?jwGjDG?j$GjGuhNhU2undecaprenol-phosphate galactosephosphotransferaser_hEG@@hFGh}r`hHh/]rajBaRrbhUUDCPGTrchKGhLhMhNhNUSTM2082rdh(}rehPNubh)rf}rg(h Uh }rh(jO5Gh)ri}rj(hNhNhUtricarballylaterkh}rl(UCHEBI]rmU62517rnaUKEGG]roUC19806rpaUPUBCHEM]rqU 135626273rrauhUtcb_crshUEh Jh!Gh"h#)rt}ru(hNh"UC6H5O6rvh}rwh(}rxh*}ry(UHKUCKUOKuhjvubh,Uch(}rzh.h/]Rr{ubGjG?jb5G?uhNhUTricarballylate oxidaser|hEG@@hFGh}r}hHh/]r~(j)r}r(hNjKhNhU-h}rjhUSTM0691rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUcitBrh}rjhUSTM0690rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUTCBOrhKGhLhMhNhNU(STM0690 and STM0691)rh(}rhPNubh)r}r(h Uh }r(jgGjG?uhNhU2betaine (glycine betaine) transport into periplasmrhEG@@hFG@h}rhHh/]RrhUGLYBt6exrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jGjGjG?jG?uhNhU=betaine (glycine betaine) transport in/out via proton symportrhEG@@hFG@h}rhHh/]rj9DaRrhUGLYBt6pprhKGhLhMhNhNUSTM4290rh(}rhPNubh)r}r(h Uh }r(j^Gh)r}r(hNhNhUchitob_prh}r(UCHEBI]rU0aUKEGG]rUC01674raUPUBCHEM]rU4818rauhUchitob_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubG?uhNhU#Chitobiose transport into periplasmrhEG@@hFGh}rhHh/]RrhUCHITOBexrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jmG?jG?jGjGuhNhUChitobiose transport via PTSrhEGhFGh}rhHh/]r(jj)r}r(hNjKhNhUcelCrh}rjhUSTM1314rh Nh"NjKh,Nh(}rjU+h.h/]Rrubjj)r}r(hNjKhNhUcelBrh}rjhUSTM1313rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj)r}r(hNjKhNhUcelArh}rjhUSTM1312rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU CHITOBptsrhKGhLhMhNhNUA(STM1314 and STM1312 and STM1313 and STM2431 and STM2432)rh(}rhPNubh)r}r(h Uh }r(jGh)r}r(hNhNhUrnam_prh}r(UCHEBI]rU15927raUKEGG]rUC03150raUPUBCHEM]rU6038rauhUrnam_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubG?uhNhU.Nicotinamide riboside transport into periplasmrhEG@@hFGh}rhHh/]RrhURNAMtexrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jG?jGuhNhUNicotinamide riboside transportrhEG@@hFGh}rhHh/]rjaRrhURNAMtpprhKGhLhMhNhNUSTM0757rh(}rhPNubh)r}r(h Uh }r(h)r}r(hNhNhUudcpo5_prh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUudcpo5_prhUEh Jh!Gh"h#)r }r (hNh"Uh}r h(}r h*}r hUubh,Uph(}rh.h/]RrubGh)r}r(hNhNhUudcpo5_erh}r(UCHEBI]rU0aUKEGG]rU0aUPUBCHEM]rU0auhUudcpo5_erhUEh Jh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Ueh(}rh.h/]RrubG?uhNhUO-antigen unit (O5) translocaserhEG@@hFGh}r hHh/]Rr!hUOAO5t3exr"hKGhLhMhNhNUh(}r#hPNubh)r$}r%(h Uh }r&(jGjGjG?jG?uhNhUO-antigen unit (O5) translocaser'hEG@@hFGh}r(hHh/]r)jc[aRr*hUOAO5t3ppr+hKGhLhMhNhNUSTM3926r,h(}r-hPNubh)r.}r/(h Uh }r0(h)r1}r2(hNhNhUtricarballylater3h}r4(UCHEBI]r5U62517r6aUKEGG]r7UC19806r8aUPUBCHEM]r9U 135626273r:auhUtcb_pr;hUEh Jh!Gh"h#)r<}r=(hNh"UC6H5O6r>h}r?h(}r@h*}rA(UHKUCKUOKuhj>ubh,Uph(}rBh.h/]RrCubGjGjiG?jG?uhNhU/tricarballylate transport in via proton symportrDhEG@@hFGh}rEhHh/]rFj3aRrGhUTCBt2pprHhKGhLhMhNhNUSTM0689rIh(}rJhPNubh)rK}rL(h Uh }rM(j1G?h)rN}rO(hNhNhUtricarballylaterPh}rQ(UCHEBI]rRU62517rSaUKEGG]rTUC19806rUaUPUBCHEM]rVU 135626273rWauhUtcb_erXhUEh Jh!Gh"h#)rY}rZ(hNh"UC6H5O6r[h}r\h(}r]h*}r^(UHKUCKUOKuhj[ubh,Ueh(}r_h.h/]Rr`ubGuhNhU(tricarballylate transport into periplasmrahEG@@hFGh}rbhHh/]RrchUTCBt2exrdhKGhLhMhNhNUh(}rehPNubh)rf}rg(h Uh }rh(h)ri}rj(hNhNhUtton_prkh}rl(UCHEBI]rmU15987rnaUKEGG]roUC01861rpaUPUBCHEM]rqU4976rrauhUtton_prshUEh Jh!Gh"h#)rt}ru(hNh"Uh}rvh(}rwh*}rxhUubh,Uph(}ryh.h/]RrzubGjFG?jS-Gj5G?jFG?jG@uhNhUTrithionate Reductaser{hEG@@hFGh}r|hHh/]r}(jjjeRr~hUTTONR1pprhKGhLhMhNhNU!(STM1383 and STM1384 and STM1385)rh(}rhPNubh)r}r(h Uh }r(jiG?h)r}r(hNhNhUtton_erh}r(UCHEBI]rU15987raUKEGG]rUC01861raUPUBCHEM]rU4976rauhUtton_erhUEh Jh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Ueh(}rh.h/]RrubGuhNhUTrithionate transportrhEG@@hFGh}rhHh/]RrhUTTONtexrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(j9uG?jO5G?jGjBsG?jb5GjG@uhNhUTrithionate ReductaserhEG@@hFGh}rhHh/]r(jjjeRrhUTTONR2pprhKGhLhMhNhNU!(STM1383 and STM1384 and STM1385)rh(}rhPNubh)r}r(h Uh }r(jxG?j Gj4GjG?uhNhU)L-leucine transport in via sodium symportrhEG@@hFG@h}rhHh/]rj\aRrhULEUt4rpprhKGhLhMhNhNUSTM0399rh(}rhPNubh)r}r(h Uh }r(jG?jG?j$GjPGuhNhU;Undecaprenyl phosphate 4-amino-4-deoxy L-arabinose synthaserhEG@@hFGh}rhHh/]rjpaRrhUUPLA4NTrhKGhLhMhNhNUSTM2298rh(}rhPNubh)r}r(h Uh }r(j"GjZG?j;XGjGh)r}r(hNhNhUpsd5p_crh}r(UCHEBI]rU18116raUKEGG]rUC01168raUPUBCHEM]rU4395rauhUpsd5p_crhUEh Jh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubG?uhNhUPseudouridylate synthaserhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUrluDrh}rjhUSTM2662rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUPSUDSrhKGhLhMhNhNjh(}rhPNubh)r}r(h Uh }r(jmGjG?jGjzGjG?jGjG?uhNhU"Pyruvate flavodoxin oxidoreductaserhEG@@hFGh}rhHh/]r(jj)r}r(hNjKhNhUnifJrh}rjhUSTM1651rh Nh"NjKh,Nh(}rjU+h.h/]RrubjeRrhUPFORrhKGhLhMhNhNU0((STM0694 and STM1651) or (STM3045 and STM1651))rh(}rhPNubh)r}r(h Uh }r(juGjG?jG?h)r}r(hNhNhU5-6-Dimethylbenzimidazolerh}r(UCHEBI]rU15890raUKEGG]rUC03114raUPUBCHEM]rU6009rauhUdmbzid_crhUEh Kh!Gh"h#)r}r(hNh"UC9H10N2rh}rh(}rh*}r(UHK UCK UNKuhjubh,Uch(}rh.h/]RrubGjG?uhNhUENicotinate-nucleotide-dimethylbenzimidazole phosphoribosyltransferaserhEG@@hFGh}rhHh/]r(j)r}r(hNjKhNhUcobTrh}r jhUSTM2016r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubj)r }r(hNjKhNhUcobBrh}rjhUSTM1221rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhUNNDMBRTrhKGhLhMhNhNU(STM2016 or STM1221)rh(}rhPNubh)r}r(h Uh }r(j .Gr6~ANj Gau"j*MG@=jG|1&yh)r}r(hNhNhUpa2_ST_prh}r(UCHEBI]rUNAr aUKEGG]r!UNAr"aUPUBCHEM]r#UNAr$auhUpa2_ST_pr%hUEh Kh!Gh"h#)r&}r'(hNh"Uh}r(h(}r)h*}r*hUubh,Uph(}r+h.h/]Rr,ubGj\LGè`ܹjZGJud0jG@M"*wjo(G*sqTj G 6C-j-G"[tj#GܜMjFEG\лnwh)r-}r.(hNhNhUpg2_ST_pr/h}r0(UCHEBI]r1UNAr2aUKEGG]r3UNAr4aUPUBCHEM]r5UNAr6auhUpg2_ST_pr7hUEh Kh!Gh"h#)r8}r9(hNh"Uh}r:h(}r;h*}r<hUubh,Uph(}r=h.h/]Rr>ubG;nCyj9G Hj%GQjbxGMjOvjxGè`ܹjG 6C-jGGMoXDjG*sqTh)r?}r@(hNhNhU peptido_ST_prAh}rB(UCHEBI]rCUNArDaUKEGG]rEUNArFaUPUBCHEM]rGUNArHauhU peptido_ST_prIhUEh Kh!Gh"h#)rJ}rK(hNh"Uh}rLh(}rMh*}rNhUubh,Uph(}rOh.h/]RrPubGK{(JjG@MzHj3Gs>jbGhtj~jOxG;yR5j/yG.YmjG?cz(j-Gh)rQ}rR(hNhNhU clpn2_ST_prSh}rT(UCHEBI]rUUNArVaUKEGG]rWUNArXaUPUBCHEM]rYUNArZauhU clpn2_ST_pr[hUEh Kh!Gh"h#)r\}r](hNh"Uh}r^h(}r_h*}r`hUubh,Uph(}rah.h/]RrbubG\1Y>_jB G! 8Cj yG6s gj7GR x)jZ1G7ޓjPGjU G:6C-jxGj G"%jGcADJjxG0H'ÓjGhh)rc}rd(hNhNhU 12dgr2_ST_preh}rf(UCHEBI]rgUNArhaUKEGG]riUNArjaUPUBCHEM]rkUNArlauhU 12dgr2_ST_prmhUEh Kh!Gh"h#)rn}ro(hNh"Uh}rph(}rqh*}rrhUubh,Uph(}rsh.h/]RrtubG(; 4jwG@=j{yGc `j)Gu}j*xG]J]#j Gɡ3*h)ru}rv(hNhNhUps2_ST_prwh}rx(UCHEBI]ryUNArzaUKEGG]r{UNAr|aUPUBCHEM]r}UNAr~auhUps2_ST_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubGjGPbMjxGnL jeGٺ`j4G@MzHh)r}r(hNhNhU colipaOA_erh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU colipaOA_erhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Ueh(}rh.h/]RrubGN -=j3EGBPh)r}r(hNhNhUpe2_ST_prh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhUpe2_ST_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubGYzuhNhUAbiomass equation from http://www.biomedcentral.com/1752-0509/3/38rhEG@@hFGh}rhHh/]RrhUbiomass_iRR1083rhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(j[Gj?G@uhNhUpeptido_ST formation reactionrhEG@@hFG@h}rhHh/]RrhU peptido_STrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jG,jG@jcGjGjhyGjwGSuhNhUbmembrane phosphatidylethanolamine composition based on http://www.biomedcentral.com/1752-0509/3/38rhEG@@hFG@h}rhHh/]RrhUpe2_STrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(j-G@j~?Gj=?GSj?Gj?Gj>G,uhNhU^membrane phosphatidylglycerol composition based on http://www.biomedcentral.com/1752-0509/3/38rhEG@@hFG@h}rhHh/]RrhUpg2_STrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(j+?GSjQG@j?Gj>G,j@Gj?GuhNhUUmembrane cardiolipin composition based on http://www.biomedcentral.com/1752-0509/3/38rhEG@@hFG@h}rhHh/]RrhUclpn2_STrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jk?Gj?GjG@j?Gj>G,jO?GSuhNhUWmembrane phosphatidate composition based on http://www.biomedcentral.com/1752-0509/3/38rhEG@@hFG@h}rhHh/]RrhUpa2_STrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jGjG,jGjjGjuG@jMGSuhNhU\membrane phosphatidylserine composition based on http://www.biomedcentral.com/1752-0509/3/38rhEG@@hFG@h}rhHh/]RrhUps2_STrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(hGjGhGSjSGjcG@hhG,uhNhU\membrane 1-2-diacylglycerol composition based on http://www.biomedcentral.com/1752-0509/3/38rhEG@@hFG@h}rhHh/]RrhU 12dgr2_STrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jAGjG?h)r}r(hNhNhUOA_ST_prh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhUOA_ST_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubGjG?jZG?uhNhUO-antigen ligaserhEG@@hFGh}rhHh/]rjZaRrhUOAL_STrhKGhLhMhNhNUSTM3713rh(}rhPNubh)r}r(h Uh }r(jG?jG@8h)r}r(hNhNhUudcpo4_pr h}r (UCHEBI]r U0aUKEGG]r U0aUPUBCHEM]r U0auhUudcpo4_prhUEh Jh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubG9jZG@8uhNhU&O-antigen 4 polymerase with long chainrhEGhFGh}rhHh/]r(jj)r}r(hNjKhNhUwzzBrh}rjhUSTM2079rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRr hUOA4L_STr!hKGhLhMhNhNU(STM1332 and STM2079)r"h(}r#hPNubh)r$}r%(h Uh }r&(jG9jG@8jG?jZG@8uhNhU&O-antigen 5 polymerase with long chainr'hEG@@hFGh}r(hHh/]r)(jjeRr*hUOA5L_STr+hKGhLhMhNhNU(STM1332 and STM2079)r,h(}r-hPNubh)r.}r/(h Uh }r0(jG@XjG?jGYjZG@XuhNhU+O-antigen 4 polymerase with very long chainr1hEGhFGh}r2hHh/]r3(jj)r4}r5(hNjKhNhUfepEr6h}r7jhUSTM0589r8h Nh"NjKh,Nh(}r9jU+h.h/]Rr:ubeRr;hUOA4VL_STr<hKGhLhMhNhNU(STM1332 and STM0589)r=h(}r>hPNubh)r?}r@(h Uh }rA(jGYjG@XjG?jZG@XuhNhU+O-antigen 5 polymerase with very long chainrBhEG@@hFGh}rChHh/]rD(jj4eRrEhUOA5VL_STrFhKGhLhMhNhNU(STM1332 and STM0589)rGh(}rHhPNubh)rI}rJ(h Uh }rK(jGjG?uhNhUO-antigen translocaserLhEGhFGh}rMhHh/]rNjc[aRrOhUOAO4t3pprPhKGhLhMhNhNUSTM3926rQh(}rRhPNubh)rS}rT(h Uh }rU(h)rV}rW(hNhNhUudcpo4_erXh}rY(UCHEBI]rZU0aUKEGG]r[U0aUPUBCHEM]r\U0auhUudcpo4_er]hUEh Jh!Gh"h#)r^}r_(hNh"Uh}r`h(}rah*}rbhUubh,Ueh(}rch.h/]RrdubG?jGuhNhUO-antigen translocaserehEGhFGh}rfhHh/]RrghUOAO4t3exrhhKGhLhMhNhNUh(}rihPNubh)rj}rk(h Uh }rl(j^Gh)rm}rn(hNhNhUpydx_proh}rp(UCHEBI]rqU17310rraUKEGG]rsUC00250rtaUPUBCHEM]ruU3549rvauhUpydx_prwhUEh Kh!Gh"h#)rx}ry(hNh"Uh}rzh(}r{h*}r|hUubh,Uph(}r}h.h/]Rr~ubG?uhNhUPyridoxal transportrhEG@@hFGh}rhHh/]RrhUPYDXtexrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jG?jmGuhNhUPyridoxal transportrhEG@@hFGh}rhHh/]RrhUPYDXtpprhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(h)r}r(hNhNhUpydxn_prh}r(UCHEBI]rU16709raUKEGG]rUC00314raUPUBCHEM]rU3608rauhUpydxn_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubG?j^GuhNhUPyrdoxine transportrhEG@@hFGh}rhHh/]RrhUPYDXNtexrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jG?jGuhNhUPyrdoxine transportrhEG@@hFGh}rhHh/]RrhUPYDXNtpprhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jGj{G?j|GjG?uhNhU>hexanoate transport via proton symport, reversible (periplasm)rhEG@@hFG@h}rhHh/]RrhUHEXt2rpprhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(h)r}r(hNhNhU4hthr_prh}r(UCHEBI]rU0aUKEGG]rUC06056raUPUBCHEM]rU8326rauhU4hthr_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubG?h)r}r(hNhNhU4hthr_erh}r(UCHEBI]rU0aUKEGG]rUC06056raUPUBCHEM]rU8326rauhU4hthr_erhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Ueh(}rh.h/]RrubGuhNhU4-hydroxy-L-threonine transportrhEG@@hFG@h}rhHh/]r(jjjjeRrhU4HTHRtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h Uh }r(jGjG?h)r}r(hNhNhU4-Hydroxy-L-threoninerh}r(UCHEBI]rU0aUKEGG]rUC06056raUPUBCHEM]rU8326rauhU4hthr_crhUEh Kh!Gh"h#)r}r(hNh"UC4H9NO4rh}rh(}rh*}r(UHK UCKUOKUNKuhjubh,Uch(}rh.h/]RrubG?jGuhNhU4-hydroxy-L-threonine transportrhEG@@hFG@h}rhHh/]rjkaRrhU 4HTHRtrpprhKGhLhMhNhNUSTM3243rh(}rhPNubh)r}r(h Uh }r(j4G?jGGjGjG?jG?uhNhU4-Hydroxy-L-threonine kinaserhEG@@hFGh}rhHh/]rjaRrhU4HTHRKrhKGhLhMhNhNUSTM0003rh(}rhPNubh)r}r (h Uh }r (jG?j!GjZGjG?uhNhU3,5-cAMP Phosphodiesteraser hEG@@hFGh}r hHh/]Rr hU35PDErhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(h)r}r(hNhNhU Urocanaterh}r(UCHEBI]rU30817raUKEGG]rUC00785raUPUBCHEM]rU4043rauhUurocan_crhUEh Jh!Gh"h#)r}r(hNh"UC6H5N2O2r h}r!h(}r"h*}r#(UHKUCKUOKUNKuhj ubh,Uch(}r$h.h/]Rr%ubGjZGjG?uhNhUurocanate hydrataser&hEGhFGh}r'hHh/]Rr(hUUROCANHr)hKGhLhMhNhNUh(}r*hPNubh)r+}r,(h Uh }r-(jGjP[G?jGj~WG?jG?uhNhU4-alpha-L-fucosyltransferaser.hEG@@hFGh}r/hHh/]r0j)r1}r2(hNjKhNhU-h}r3jhUSTM3927r4h Nh"NjKh,Nh(}r5jU+h.h/]Rr6ubaRr7hUAADDFTr8hKGhLhMhNhNj4h(}r9hPNubh)r:}r;(h Uh }r<(jGh)r=}r>(hNhNhU 23dhbzs3_pr?h}r@(UCHEBI]rAUNArBaUKEGG]rCUNArDaUPUBCHEM]rEUNArFauhU 23dhbzs3_prGhUEh Kh!Gh"h#)rH}rI(hNh"Uh}rJh(}rKh*}rLhUubh,Uph(}rMh.h/]RrNubG?jZGuhNhUenterobactin hydrolaserOhEG?6C-hFGh}rPhHh/]rQj)rR}rS(hNjKhNhUiroErTh}rUjhUSTM2776rVh Nh"NjKh,Nh(}rWjU+h.h/]RrXubaRrYhUENTERHpprZhKGhLhMhNhNjVh(}r[hPNubh)r\}r](h Uh }r^(jGj)Gh)r_}r`(hNhNhU salchs2_prah}rb(UCHEBI]rcUNArdaUKEGG]reUNArfaUPUBCHEM]rgUNArhauhU salchs2_prihUEh Kh!Gh"h#)rj}rk(hNh"Uh}rlh(}rmh*}rnhUubh,Uph(}roh.h/]RrpubG?uhNhUsalmochelin s4 hydrolaserqhEG?6C-hFGh}rrhHh/]rsjRaRrthU SALCHS4HppruhKGhLhMhNhNUSTM2776rvh(}rwhPNubh)rx}ry(h Uh }rz(jGj)Gh)r{}r|(hNhNhU salchs2fe_pr}h}r~(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU salchs2fe_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubG?uhNhUsalmochelin s4 fe3 hydrolaserhEG?6C-hFGh}rhHh/]rjRaRrhU SALCHS4FEHpprhKGhLhMhNhNUSTM2776rh(}rhPNubh)r}r(h Uh }r(j=Gh)r}r(hNhNhU 23dhbzs3_erh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU 23dhbzs3_erhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Ueh(}rh.h/]RrubG?uhNhU23dhbsz secretionrhEG@@hFGh}rhHh/]RrhU DHBSZ3texrhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jGj0Gh)r}r(hNhNhU fe3dhbzs3_erh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU fe3dhbzs3_erhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Ueh(}rh.h/]RrubG?uhNhU23dhbsz3 Fe III sequestrationrhEG@@hFGh}rhHh/]rjFaRrhU DHBSZ3FEexsrhKGhLhMhNhNUs0001rh(}rhPNubh)r}r(h Uh }r(jGjGh)r}r(hNhNhU fe3dhbzs3_prh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU fe3dhbzs3_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubG?jG?uhNhU23dhbsz3 Fe III importrhEG@@hFGh}rhHh/]r(j"j)r}r(hNjKhNhUiroNrh}rjhUSTM2777rh Nh"NjKh,Nh(}rjU+h.h/]Rrubj~j"jvj"eRrhU DHBSZ3FEtonexrhKGhLhMhNhNUE(STM2199 or STM0585 or STM2777) and (STM1737 and STM3159 and STM3158)rh(}rhPNubh)r}r(h Uh }r(j4G?jGjG?jZGh)r}r(hNhNhU fe3dhbzs3_crh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU fe3dhbzs3_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubG?jGGjG?uhNhU223dhbsz3 Fe III transport via ABC system periplasmrhEG@@hFGh}rhHh/]RrhU DHBSZ3FEabcpprhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r (jjGj/G@jG@jGjG?h)r }r (hNhNhU 23dhbzs3_cr h}r (UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU 23dhbzs3_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubG@uhNhU)fe3dhbzs3 Fe III reduction and offloadingrhEG@@hFGh}rhHh/]r(j)r}r (hNjKhNhUiroDr!h}r"jhUSTM2775r#h Nh"NjKh,Nh(}r$jU+h.h/]Rr%ubj)r&}r'(hNjKhNhUfesr(h}r)jhUSTM0586r*h Nh"NjKh,Nh(}r+jU+h.h/]Rr,ubeRr-hU FEDHBZS3R1r.hKGhLhMhNhNUSTM2775 or STM0586r/h(}r0hPNubh)r1}r2(h Uh }r3(j0G?j"0Gj/G@jGjG@j G@uhNhU)fe3dhbzs3 Fe III reduction and offloadingr4hEG@@hFGh}r5hHh/]r6(jj&eRr7hU FEDHBZS3R2r8hKGhLhMhNhNUSTM2775 or STM0586r9h(}r:hPNubh)r;}r<(h Uh }r=(jN0G?j/G@j G@j;0GjGjG@uhNhU)fe3dhbzs3 Fe III reduction and offloadingr>hEG@@hFGh}r?hHh/]r@(jj&eRrAhU FEDHBZS3R3rBhKGhLhMhNhNUSTM2775 or STM0586rCh(}rDhPNubh)rE}rF(h Uh }rG(j_Gh)rH}rI(hNhNhU salchs2_erJh}rK(UCHEBI]rLUNArMaUKEGG]rNUNArOaUPUBCHEM]rPUNArQauhU salchs2_erRhUEh Kh!Gh"h#)rS}rT(hNh"Uh}rUh(}rVh*}rWhUubh,Ueh(}rXh.h/]RrYubG?uhNhUSalmochelin s2 secretionrZhEG@@hFGh}r[hHh/]Rr\hU SALCHS2texr]hKGhLhMhNhNUh(}r^hPNubh)r_}r`(h Uh }ra(j0GjHGh)rb}rc(hNhNhU salchs2fe_erdh}re(UCHEBI]rfUNArgaUKEGG]rhUNAriaUPUBCHEM]rjUNArkauhU salchs2fe_erlhUEh Kh!Gh"h#)rm}rn(hNh"Uh}roh(}rph*}rqhUubh,Ueh(}rrh.h/]RrsubG?uhNhU#Salmochelin s2 Fe III sequestrationrthEG@@hFGh}ruhHh/]rvjFaRrwhU SALCHS2FEexsrxhKGhLhMhNhNUs0001ryh(}rzhPNubh)r{}r|(h Uh }r}(j{G?jGjbGjG?uhNhUSalmochelin s2 Fe III importr~hEG@@hFGh}rhHh/]rjaRrhUSALCHS2FEtonexrhKGhLhMhNhNUSTM2777rh(}rhPNubh)r}r(h Uh }r(jGGh)r}r(hNhNhU salchs2fe_crh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU salchs2fe_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubG?jZGj{GjG?j4G?jG?uhNhU8Salmochelin s2 Fe III transport via ABC system periplasmrhEG@@hFGh}rhHh/]r(j~j~j~j~eRrhUSALCHS2FEabcpprhKGhLhMhNhNU-(STM0594 and STM0590 and STM0592 and STM0591)rh(}rhPNubh)r}r(h Uh }r(jG?jGj/G@jjGjG@h)r}r(hNhNhU salchs2_crh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU salchs2_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubG@uhNhU.salmochelin s2 Fe III reduction and offloadingrhEG@@hFGh}rhHh/]rjaRrhU SALCHS2FER1rhKGhLhMhNhNUSTM2775rh(}rhPNubh)r}r(h Uh }r(j0G?j"0Gj/G@jGjG@jG@uhNhU.salmochelin s2 Fe III reduction and offloadingrhEG@@hFGh}rhHh/]rjaRrhU SALCHS2FER2rhKGhLhMhNhNUSTM2775rh(}rhPNubh)r}r(h Uh }r(j;0GjGj/G@jG@jN0G?jG@uhNhU.salmochelin s2 Fe III reduction and offloadingrhEG@@hFGh}rhHh/]rjaRrhU SALCHS2FER3rhKGhLhMhNhNUSTM2775rh(}rhPNubh)r}r(h Uh }r(jDG?h)r}r(hNhNhU salchs1_crh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU salchs1_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubG?jGjZGuhNhUSalmochelin s2 hydrolaserhEG@@hFGh}rhHh/]rjaRrhUSALCHS2HrhKGhLhMhNhNUSTM2775rh(}rhPNubh)r}r(h Uh }r(j}~G?jZGjDG?jGuhNhUSalmochelin s1 hydrolaserhEG@@hFGh}rhHh/]rjaRrhUSALCHS1HrhKGhLhMhNhNUSTM2775rh(}rhPNubh)r}r(h Uh }r(jZGj]Gj G?uhNhUenterobactin hydrolaserhEG@@hFGh}rhHh/]r(jj&eRrhUENTERHrhKGhLhMhNhNUSTM2775 or STM0586rh(}rhPNubh)r}r(h Uh }r(h)r}r(hNhNhU 23dhbzs2_crh}r(UCHEBI]rUNAr aUKEGG]r UNAr aUPUBCHEM]r UNAr auhU 23dhbzs2_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubG?j}~G?jZGj GuhNhU23DHBS polymer hydrolaserhEG@@hFGh}rhHh/]r(jj&eRrhUDHBZS3HrhKGhLhMhNhNUSTM2775 or STM0586rh(}rhPNubh)r}r(h Uh }r(jGjZGj}~G@uhNhU23DHBS polymer hydrolaser hEG@@hFGh}r!hHh/]r"(jj&eRr#hUDHBZS2Hr$hKGhLhMhNhNUSTM2775 or STM0586r%h(}r&hPNubh)r'}r((h Uh }r)(jbG?jG?jGjGuhNhUEnterobactin secretionr*hEG@@hFGh}r+hHh/]r,j)r-}r.(hNjKhNhUtolCr/h}r0jhUSTM3186r1h Nh"NjKh,Nh(}r2jU+h.h/]Rr3ubaRr4hUENTERtexr5hKGhLhMhNhNj1h(}r6hPNubh)r7}r8(h Uh }r9(j]GjG?jbGjG?h)r:}r;(hNhNhU entermg_cr<h}r=(UCHEBI]r>UNAr?aUKEGG]r@UNArAaUPUBCHEM]rBUNArCauhU entermg_crDhUEh Kh!Gh"h#)rE}rF(hNh"Uh}rGh(}rHh*}rIhUubh,Uch(}rJh.h/]RrKubG?uhNhUGlycosyl transferaserLhEG@@hFGh}rMhHh/]rNj)rO}rP(hNjKhNhUiroBrQh}rRjhUSTM2773rSh Nh"NjKh,Nh(}rTjU+h.h/]RrUubaRrVhU ENTERGLCT1rWhKGhLhMhNhNjSh(}rXhPNubh)rY}rZ(h Uh }r[(jbGjG?jG?jG?j:GuhNhUGlycosyl transferaser\hEG@@hFGh}r]hHh/]r^jOaRr_hU ENTERGLCT2r`hKGhLhMhNhNUSTM2773rah(}rbhPNubh)rc}rd(h Uh }re(jGjG@jG@jjGjG?j/G@uhNhU,Ferrioxamine Fe III reduction and offloadingrfhEG@@hFGh}rghHh/]rhj[|aRrihU FEROXBFER1rjhKGhLhMhNhNUSTM3979rkh(}rlhPNubh)rm}rn(h Uh }ro(j0G?j"0Gj/G@jG@jGjG@uhNhU,Ferrioxamine Fe III reduction and offloadingrphEG@@hFGh}rqhHh/]rrj[|aRrshU FEROXBFER2rthKGhLhMhNhNUSTM3979ruh(}rvhPNubh)rw}rx(h Uh }ry(jG@jGj/G@j;0GjN0G?jG@uhNhU,Ferrioxamine Fe III reduction and offloadingrzhEG@@hFGh}r{hHh/]r|j[|aRr}hU FEROXBFER3r~hKGhLhMhNhNUSTM3979rh(}rhPNubh)r}r(h Uh }r(jjGjG?j/G@jG@jGjG@uhNhU,Ferrioxamine Fe III reduction and offloadingrhEG@@hFGh}rhHh/]rj[|aRrhU FEROXEFER1rhKGhLhMhNhNUSTM3979rh(}rhPNubh)r}r(h Uh }r(jGj0G?jG@j"0Gj/G@jG@uhNhU,Ferrioxamine Fe III reduction and offloadingrhEG@@hFGh}rhHh/]rj[|aRrhU FEROXEFER2rhKGhLhMhNhNUSTM3979rh(}rhPNubh)r}r(h Uh }r(jGj;0GjN0G?j/G@jG@jG@uhNhU,Ferrioxamine Fe III reduction and offloadingrhEG@@hFGh}rhHh/]rj[|aRrhU FEROXEFER3rhKGhLhMhNhNUSTM3979rh(}rhPNubh)r}r(h Uh }r(jG?j/G@jG@jG@jjGjGuhNhU,Ferrioxamine Fe III reduction and offloadingrhEG@@hFGh}rhHh/]rj[|aRrhU FEROXGFER1rhKGhLhMhNhNUSTM3979rh(}rhPNubh)r}r(h Uh }r(j0G?jGj"0Gj/G@jG@jG@uhNhU,Ferrioxamine Fe III reduction and offloadingrhEG@@hFGh}rhHh/]rj[|aRrhU FEROXGFER2rhKGhLhMhNhNUSTM3979rh(}rhPNubh)r}r(h Uh }r(j;0GjN0G?j/G@jG@jGjG@uhNhU,Ferrioxamine Fe III reduction and offloadingrhEG@@hFGh}rhHh/]rj[|aRrhU FEROXGFER3rhKGhLhMhNhNUSTM3979rh(}rhPNubh)r}r(h Uh }r(h)r}r(hNhNhU guln__L_prh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU guln__L_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubG?h)r}r(hNhNhU guln__L_erh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU guln__L_erhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Ueh(}rh.h/]RrubGuhNhUL-gulonate transportrhEG@@hFG@h}rhHh/]r(jjjjeRrhUGULNLtexrhKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )rh(}rhPNubh)r}r(h Uh }r(jGjGjG?h)r}r(hNhNhU guln__L_crh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhU guln__L_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubG?uhNhUL-gulonate transportrhEG@@hFG@h}rhHh/]RrhUGULNLtpprhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(joG?j GjGj G@uhNhUL-gulonate reductaserhEG@@hFGh}r hHh/]Rr hUGULNLRr hKGhLhMhNhNUh(}r hPNubh)r }r(h Uh }r(h)r}r(hNhNhUdxyl_erh}r(UCHEBI]rU28354raUKEGG]rUC06257raUPUBCHEM]rU8496rauhUdxyl_erhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Ueh(}r h.h/]Rr!ubGh)r"}r#(hNhNhUdxyl_pr$h}r%(UCHEBI]r&U28354r'aUKEGG]r(UC06257r)aUPUBCHEM]r*U8496r+auhUdxyl_pr,hUEh Kh!Gh"h#)r-}r.(hNh"Uh}r/h(}r0h*}r1hUubh,Uph(}r2h.h/]Rr3ubG?uhNhU1-deoxy-d-xyluose transportr4hEG@@hFG@h}r5hHh/]r6(jjjjeRr7hU DXYLUDtexr8hKGhLhMhNhNU2( STM0320 or STM0999 or STM1473 or STM2267 )r9h(}r:hPNubh)r;}r<(h Uh }r=(j"GjGjG?jXG?uhNhU1-deoxy-d-xyluose transportr>hEG@@hFGh}r?hHh/]Rr@hU DXYLUDtpprAhKGhLhMhNhNUh(}rBhPNubh)rC}rD(h Uh }rE(j[Gj9G?h)rF}rG(hNhNhU lipoproteinrHh}rI(UCHEBI]rJU6495rKaUKEGG]rLUC01834rMaUPUBCHEM]rNU4953rOauhUlpp_prPhUEh Kh!Gh"h#)rQ}rR(hNh"U XC16H30O1rSh}rTh(}rUh*}rV(UXKUCKUOKUHKuhjSubh,Uph(}rWh.h/]RrXubGh)rY}rZ(hNhNhU murein_lpp_pr[h}r\(UCHEBI]r]UNAr^aUKEGG]r_UNAr`aUPUBCHEM]raUNArbauhU murein_lpp_prchUEh Kh!Gh"h#)rd}re(hNh"Uh}rfh(}rgh*}rhhUubh,Uph(}rih.h/]RrjubG?uhNhUL,D-transpeptidaserkhEG@@hFGh}rlhHh/]rm(j)rn}ro(hNjKhNhUycfSrph}rqjhUSTM1215rrh Nh"NjKh,Nh(}rsjU+h.h/]Rrtubj)ru}rv(hNjKhNhUynhGrwh}rxjhUSTM1375ryh Nh"NjKh,Nh(}rzjU+h.h/]Rr{ubj)r|}r}(hNjKhNhUybiSr~h}rjhUSTM0837rh Nh"NjKh,Nh(}rjU+h.h/]RrubeRrhU MUREINLPPTPrhKGhLhMhNhNU(STM0837 or STM1215 or STM1375)rh(}rhPNubh)r}r(h Uh }r(jZGh)r}r(hNhNhUdiglyceride_prolpp_crh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhUdiglyceride_prolpp_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubGh)r}r(hNhNhUapolpp_prh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhUapolpp_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubG?h)r}r(hNhNhUlpp_sp_prh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhUlpp_sp_prhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uph(}rh.h/]RrubG?uhNhUlpp signal peptidase - mureinrhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUlspArh}rjhUSTM0047rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUAPOLPPSrhKGhLhMhNhNjh(}rhPNubh)r}r(h Uh }r(j*GjG?h)r}r(hNhNhUglyceryl_prolpp_crh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhUglyceryl_prolpp_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubGjG?uhNhUO-acyl Transferase - mureinrhEG@@hFGh}rhHh/]RrhUPROLPPOATPE160rhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(jGjn G?jq GjG?uhNhUO-acyl Transferase - mureinrhEG@@hFGh}rhHh/]RrhUPROLPPOATPG160rhKGhLhMhNhNUh(}rhPNubh)r}r(h Uh }r(h)r}r(hNhNhUprolpp_crh}r(UCHEBI]rUNAraUKEGG]rUNAraUPUBCHEM]rUNArauhUprolpp_crhUEh Kh!Gh"h#)r}r(hNh"Uh}rh(}rh*}rhUubh,Uch(}rh.h/]RrubGjn G?jq GjG?uhNhUGlyceryl Transferase - mureinrhEG@@hFGh}rhHh/]rj)r}r(hNjKhNhUlgtr h}r jhUSTM3002r h Nh"NjKh,Nh(}r jU+h.h/]Rr ubaRrhU PROLPPGT160rhKGhLhMhNhNj h(}rhPNubh)r}r(h Uh }r(jN0GjG?uhNhU DMB synthaserhEG@@hFGh}rhHh/]rjaRrhUDMBZIDSrhKGhLhMhNhNUSTM2016rh(}rhPNubh)r}r(h Uh }r(jZGjGjQG?uhNhU2hh24dd hydrataserhEG@@hFGh}rhHh/]r jaRr!hU 2HH24DDH1r"hKGhLhMhNhNUSTM1105r#h(}r$hPNubh)r%}r&(h Uh }r'(jZG?j_GjNG?uhNhUgalactonate dehydrataser(hEG@@hFGh}r)hHh/]r*j)r+}r,(hNjKhNhUdgoAr-h}r.jhUSTM3828r/h Nh"NjKh,Nh(}r0jU+h.h/]Rr1ubaRr2hUGALCTNDr3hKGhLhMhNhNj/h(}r4hPNubh)r5}r6(h Uh }r7(jUG?jNGjmG?uhNhU/2-dehydro-3-deoxy-6-phosphogalactonate aldolaser8hEG@@hFG@h}r9hHh/]Rr:hUDDPGALAr;hKGhLhMhNhNUh(}r<hPNubh)r=}r>(h Uh }r?(jGj G?uhNhUFormamide transportr@hEG@@hFG@h}rAhHh/]RrBhUFOAMtrpprChKGhLhMhNhNUh(}rDhPNubh)rE}rF(h Uh }rG(j7GjjGjG?j/G@j]G@jG@uhNhU+Fe enterobactin reduction Fe III unloading rHhEG@@hFGh}rIhHh/]rJj&aRrKhU FEENTERR1rLhKGhLhMhNhNUSTM0586rMh(}rNhPNubh)rO}rP(h Uh }rQ(j7Gj0G?j]G@j"0Gj/G@jG@uhNhU+Fe enterobactin reduction Fe III unloading rRhEG@@hFGh}rShHh/]rTj&aRrUhU FEENTERR2rVhKGhLhMhNhNUSTM0586rWh(}rXhPNubh)rY}rZ(h Uh }r[(j7Gj;0GjN0G?j/G@j]G@jG@uhNhU+Fe enterobactin reduction Fe III unloading r\hEG@@hFGh}r]hHh/]r^j&aRr_hU FEENTERR3r`hKGhLhMhNhNUSTM0586rah(}rbhPNubh)rc}rd(h Uh }re(jG@jGjjGj/G@jG?jG@uhNhU1Salmochelin S4 Fe III reduction Fe III unloading rfhEG@@hFGh}rghHh/]rhjaRrihU SALCHS4FER1rjhKGhLhMhNhNUSTM2775rkh(}rlhPNubh)rm}rn(h Uh }ro(j0G?j"0Gj/G@jG@jG@jGuhNhU1Salmochelin S4 Fe III reduction Fe III unloading rphEG@@hFGh}rqhHh/]rrjaRrshU SALCHS4FER2rthKGhLhMhNhNUSTM2775ruh(}rvhPNubh)rw}rx(h Uh }ry(jGjN0G?j/G@j;0GjG@jG@uhNhU1Salmochelin S4 Fe III reduction Fe III unloading rzhEG@@hFGh}r{hHh/]r|jaRr}hU SALCHS4FER3r~hKGhLhMhNhNUSTM2775rh(}rhPNubh)r}r(h Uh }r(jG?jsGjGjG?uhNhU=Salmochelin S4 Fe III transport via ton system extracellular rhEG@@hFGh}rhHh/]r(jj~j"j"jvj"eRrhUSALCHS4FEtonexrhKGhLhMhNhNUS( ( STM0585 or STM2199 or STM2777 ) and ( STM1737 and STM3158 and STM3159 ) )rh(}rhPNubh)r}r(h Uh }r(jG?jxGjlG?uhNhUHistidine ammonia lyaserhEGhFGh}rhHh/]rj)r}r(hNjKhNhUhutHrh}rjhUSTM0791rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUHISNH4LrhKGhLhMhNhNjh(}rhPNubh)r}r(h Uh }r(h)r}r(hNhNhUArbutin-6-phosphaterh}r(UCHEBI]rU0aUKEGG]rUC06187raUPUBCHEM]rU8438rauhUarbt6p_crhUEh Jh!Gh"h#)r}r(hNh"U C12H15O10Prh}rh(}rh*}r(UHKUCK UOK UPKuhjubh,Uch(}rh.h/]RrubGh)r}r(hNhNhU Hydroquinonerh}r(UCHEBI]rU17594raUKEGG]rUC00530raUPUBCHEM]rU3812rauhUhqn_crhUEh Kh!Gh"h#)r}r(hNh"UC6H6O2rh}rh(}rh*}r(UHKUCKUOKuhjubh,Uch(}rh.h/]RrubG?j}G?jZGuhNhU"Arbutin 6 phosphate glucohydrolaserhEGhFGh}rhHh/]rj)r}r(hNjKhNhUbglArh}rjhUSTM3051rh Nh"NjKh,Nh(}rjU+h.h/]RrubaRrhUAB6PGHrhKGhLhMhNhNjh(}rhPNubh)r}r(h Uh }r(j-G?j G?jYGjZGh)r}r(hNhNhU Sarcosinerh}r(UCHEBI]rU15611raUKEGG]rUC00213raUPUBCHEM]rU3513rauhUsarcs_crhUEh Kh!Gh"h#)r}r(hNh"UC3H7NO2rh}rh(}rh*}r(UHKUCKUOKUNKuhjubh,Uch(}rh.h/]RrubGj|G?uhNhUsarcosine oxidaserhEGhFGh}rhHh/]rjvaRrhUSARCOXrhKGhLhMhNhNUSTM1160rh(}rhPNubh)r}r(h Uh }r(j4G?jGGjZGj~G?jZGjG?jG?uhNhU6ferric hydroxamate transport via ABC system periplasm rhEG@@hFGh}rhHh/]r(j0j0j0eRrhU FE3HOXabcpprhKGhLhMhNhNU'( STM0194 and STM0192 and STM0193 )rh(}rhPNubh)r}r(h Uh }r(jjGj€G@j/G@jG?jG@jۀGuhNhUferroxamine reductaserhEG@@hFGh}rhHh/]rj[|aRrhUFEOXAMR1rhKGhLhMhNhNUSTM3979rh(}r hPNubh)r }r (h Uh }r (j0G?j€G@j/G@jG@j"0GjۀGuhNhUferroxamine reductaser hEG@@hFGh}r hHh/]r j[|aRr hUFEOXAMR2r hKGhLhMhNhNUSTM3979r h(}r hPNubh)r }r (h Uh }r (jN0G?j€G@j/G@j;0GjG@jۀGuhNhUferroxamine reductaser hEG@@hFGh}r hHh/]r j[|aRr hUFEOXAMR3r hKGhLhMhNhNUSTM3979r h(}r hPNubh)r }r (h Uh }r (jbxG?j}~GjZGjG?jiPG?uhNhU$2 3 dihydroxybenzoylserine hydrolaser hEG@@hFGh}r hHh/]Rr hUDHBSHr hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r (jGjG?jFG?jwGuhNhUDapolipoprotein N acyltransferase phosphatidylethanolamine periplasm r hEG@@hFGh}r! hHh/]r" (j)r# }r$ (hNjKhNhUlppr% h}r& jhUSTM1377r' h Nh"NjKh,Nh(}r( jU+h.h/]Rr) ubj)r* }r+ (hNjKhNhUlntr, h}r- jhUSTM0666r. h Nh"NjKh,Nh(}r/ jU+h.h/]Rr0 ubeRr1 hU ALPATE160ppr2 hKGhLhMhNhNU( STM0666 and STM1377 )r3 h(}r4 hPNubh)r5 }r6 (h Uh }r7 (j~ G?jGj=?GjFG?uhNhU@apolipoprotein N acyltransferase phosphatidylglycerol periplasm r8 hEG@@hFGh}r9 hHh/]r: (j# j* eRr; hU ALPATG160ppr< hKGhLhMhNhNU( STM0666 and STM1377 )r= h(}r> hPNubh)r? }r@ (h Uh }rA (jmG?jpGG?jZGjlG?j-GuhNhUL-cysteine desulfhydraserB hEG@@hFGh}rC hHh/]RrD hUCYSLDSrE hKGhLhMhNhNUh(}rF hPNubh)rG }rH (h Uh }rI (jGjG?jG?jGuhNhUmyo-inositol transportrJ hEG@@hFGh}rK hHh/]RrL hUINOSTtpprM hKGhLhMhNhNUh(}rN hPNubh)rO }rP (h Uh }rQ (j=G?jG?j{GjGuhNhU*Hexadecanoate transport via proton symportrR hEG@@hFGh}rS hHh/]rT jMaRrU hUHDCAt2pprV hKGhLhMhNhNUSTM2391rW h(}rX hPNubh)rY }rZ (h Uh }r[ (jGj{GjG?jG?uhNhU*Octadecanoate transport via proton symportr\ hEG@@hFGh}r] hHh/]r^ j)r_ }r` (hNjKhNhUvacJra h}rb jhUSTM2392rc h Nh"NjKh,Nh(}rd jU+h.h/]Rre ubaRrf hU OCDCAt2pprg hKGhLhMhNhNjc h(}rh hPNubh)ri }rj (h Uh }rk (jG?jGjG?j{GuhNhU*Octadecenoate transport via proton symportrl hEG@@hFGh}rm hHh/]rn j_ aRro hU OCDCEAt2pprp hKGhLhMhNhNUSTM2392rq h(}rr hPNubh)rs }rt (h Uh }ru (jG?jGjG?jl{GuhNhU+Tetradecanoate transport via proton symportrv hEG@@hFGh}rw hHh/]rx j)ry }rz (hNjKhNhUyfdCr{ h}r| jhUSTM2393r} h Nh"NjKh,Nh(}r~ jU+h.h/]Rr ubaRr hU TTDCAt2ppr hKGhLhMhNhNj} h(}r hPNubh)r }r (h Uh }r (jMGjGjG?jG?uhNhU(Dodecanoate transport via proton symportr hEG@@hFGh}r hHh/]r jy aRr hUDDCAt2ppr hKGhLhMhNhNUSTM2393r h(}r hPNubh)r }r (h Uh }r (j Gau"j)Gu}jQG\1Y>_j G 6C-j?GK{(JjuxG+@jUj8GsgLf j7GR x)jwGiWjxGè`ܹjU G:6C-jxG-:ij*xG]J]#j-G;nCyj/G}.YjG?cz(jeGٺ`j4G@MzHj .Gr6~ANjZ1G7ޓjuGjOxG;yR5jbxGMjOvjZGJud0jGN -=j-GjGGMoXDjxGjGhj@GsgLf jcG(; 4jG*sqTj3EGBPjxG0H'ÓjFGiWj=xGƻAj\LGè`ܹjxGnL jFEG\лnwjG 6C-jG|1&yj3Gs>j%GQj9G HjPGjyGiWjwG@=jGPbMj/yG.YmjbGhtj~jGjByGiWj*MG@=j#GܜMj-G"[tjB G! 8CjGcADJj G"%jGYzjG@MzHj yG6s gj{yGc `j~AGiWjo(G*sqTjG@M"*wj Gɡ3*uhNhUpbiomass equation from http://www.biomedcentral.com/1752-0509/3/38 including metals from iAF1260 biomass functionr hEG@@hFGh}r hHh/]Rr hUbiomass_iRR1083_metalsr hKG?hLhMhNhNUh(}r hPNubh)r }r (h Uh }r jGshNhUdxyl_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hU EX_dxyl_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jbGshNhUsalchs2fe_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hUEX_salchs2fe_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jGshNhUrnam_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hU EX_rnam_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jGshNhUcolipaOA_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hU EX_colipaOA_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jVGshNhUudcpo4_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hU EX_udcpo4_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jNGshNhUtcb_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hUEX_tcb_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jGshNhUfe3dhbzs3_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hUEX_fe3dhbzs3_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jGshNhU23dhbzs3_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hU EX_23dhbzs3_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jGshNhUguln__L_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hU EX_guln__L_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jGshNhUudcpo5_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hU EX_udcpo5_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jGshNhU4hthr_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hU EX_4hthr_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jHGshNhUsalchs2_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hU EX_salchs2_er hKGhLhMhNhNUh(}r hPNubh)r }r (h Uh }r jGshNhUtton_e Boundary Reactionr hEG@@hFGh}r hHh/]Rr hU EX_tton_er hKGhLhMhNhNUh(}r hPNube}r U_dictr }r (jxMj6"KjҖMjMij&wMjMWj`MYjM[jnMjM{jNMjMs jMjMj K>j K=jxMOjkM@jMjMjhM"jvbMj*Mj;MjMVjpMpjS%Kj*KjM:j(MjjM5j.M3jh)KjکMjMjg K/jMjBMjMjyMjYMIjM"jqMvjMjEMjKjKjaMjMjvMjrMjMjMj M jMj6MjkM~jK,jK+jSM) j0M'jMjAMjMIMjBM[jM@jMj"Mj~Mj#KjFWM:jKjM>jBMj 6MLjMSjjM6jMjZMNjMjfMEj,`MjuMj5MHj+M jYMOjYMNjO*Kj,EMjaMjciM)jpMFj/MjM'jKjMTjuMjM\ jM jnMVj3 KAjhM%jkM?j}MjM2j}MjMj K-j{Mj M jyMjEMjPMjD Kj><Mxj*KjY<Myjw\Mpj\Mqj.MjM j(M<jvMsj M j?MjM`jKjMjXMjKjuMj_MjHMjsMjc&KjM}juM jMqjMjMj|M9jtMjMj5M#jhMXjHMDj K3jM jQMjQMjBMjH%KjV M jbMj0M&j$KjMjMj>YMGj#M1 jMjMj!Kj`Krj'MKj`Mijn%Kj%Kj1M-jMJjYMl jWjM2j~MjMjDMj MjKMj4MmjMjCMjKjMjMjNMjM4 jMR jMjKjKjzM> jf4M@j|Mj3zMj2M6jsMj_MjfMj ^M{j6MPj!KjKjrM{j@MjK_jCMj`MjXMEjKjM j M j<MjM$jM jbvMjLMjYMLjYMMjM_jMjg M jMjMj˲MjkMjM{ jtMj,MjMjKjMSjMjMjaMj]MjMjIMjMXjMjMjI[MfjM`jмMpjMjcdMjOMjmbMhKj3M9jrMjqCMjMpjMj&MjңMSj KjMjIMNjSMj.Mj&M*jMjM/ jaMNjiM*j)ML jIM jKajGMjKjMjM j M j[MjbMjM%jBwMj K?j~Mj0MjMjMjMjK j=-Mj܉MHj{6MOj$K jM7jMtjMjaMjMjKOMj|MjWM<j Mj3MjdMjIMjĕMj{MjOuMj)MdjFMejǒMj`MjgK%jRMjlMj MjiMjSM#jLMjMjMTj(M jMj KIj KJjRMjMj Mj>`Mj(MjϕMjMjMtjnMj]MWjPMj)MjMj7MXjKMjMj&4M>j4M=jsjM3j,M jMejMj$MnjMBjM jMjM;jM<jM=jM>j̡M?jסM@jMAj;aMj+M+jbMjTfM jCM jcMjMjyM<jKj>Mj@M2 jMvjtMj7bMjMMj]4M?jBMjQMjMjlMBjMajvM* j M jk~MjKtjMKjKj qMqjE!KjYMjMwj7MZjGMjeMjMjYMij2.MjTM&jaMj޻MajKjKjjM8jjM/jMj/DMjM<jȻM_j>Mk jM jM~jZKMjdMHjjM7jMjdEMjMI j^MjgMjoMkjpMjGMj1MjaMj~MjM jbMj_MjBMjaMjvMjM jKjDMjMjbMjM jMg jMj4Mj sMjEMjoMfj MjaMjMBjCMj#MjbMjsMj:MmjMjCMjՀMj"XM?jhKjM(jbKTjGdMjM5 jMjM$ j'MjMjMjbMj MjJMojMjNKj MjMjMGhJKjUM|jLM j{MjfM jVM jCMjNMjMjMjѭMjlMj#Mj[YMHjHMjMjMDjMj5`Mj.MujMFjlMc j&Kj&KjIMjBMjM<jîMjtsMjDMgjMjM j/MjMMj9Mej+MjoUM1j K2jM5j{Mj+&KjuMj$MCjkM9j|M[ j MYj/oM`j߆M1j9MjMajjMj MjMTjMjMj0M%j_Mj?Kj<MDjTM)jpMnjMjM4j-MjSMjYMFjNMjMjMjMjM)j!M*j+iM'jMjTM+jMjNMLj6NMjBMj#[MdjK`jSM$jYMPjMjYMQjaMjcMj[/MjTM*juMjlMjMmjM jMjhM#jM3jA8M]j^Mj(MjMj%MD jTMjzMjMjMjM_j1~MjM j/]Muj\Mrj\Msj]MtjMjqMyjOzMjEHMj~MjMIjM=jlM jvM&j1MjMjbMjeM jY]MvjWMj*KjM7 jYMF jKj~MPj}MjDMa jMj~`MjEMjMjgMjj}Mlj;MfjQMhjMbjMdjM^jӻM`jMVjMjnMZjMj.MjMH j9KbjTKcjMgjXM-jMBj#KjAMjmMTjM6j[MjNMX jMGjMjMNjuMjĵMjdWM;jM>jM" jMWj%MYjKj"M^j‹MXjMj[cMjAMjcMjzMj%1M*jSMjMjMjeMjMjMjMjMj̔MjMyjiKjM2jM~jM}jM|juM{jjMzj_MyjTMxj<MwjMtjMj}Mj)zMjbMjCMj)aMjfMj KDjtM j~M jjM jiM-jorM~jMjMjMjMjMjKoMaj*SMjMjTM.jMjeMtjZMsj M jKijMjUM3j>MjMjM jMjMj:MljMEj M jMcj;>Mj'KjM j?MGj_Mj\MjYMSjYMRjM jMjCMjfMjM?j0Mj!MpjEMj:Mj*M.j}MjM:MijMjr$Kj$KjMj{MajMhKjgMjMjMj~pMljHMjMjMjZM`jZMaj_MjM'jMjQMj:QMj3M jNM;jMojMV jMjiMsj#<Mwj <MvjMj!Kjb!KjMKjsMj M&j;MM jӐMj$MjrMjMjfM jMjoMjMjCMjMjMjIMjMjsMj#`Mj.dMjp-MjMnjM5j҉MGjˌMcjMjMjdMjM$jXMCjaMjLjMAj+Mj#MjMjM,jeMjKjM^ j*MjPMj VM5jVM4jxeMjbMjMjMjMjaMj,MjaMj:Mj MC jiM.j K#jMjMj8GMj`MjMT jMjLMb j%Mj jIMj<MjaMj mMMjJMj/JMj&Kj#'KjZMcjMRjMMjM} jYMEj"M jbMjzMj[MMjnM[jM jMj[@Mj"_Mj*MUj:MjjjM:j}]Mwj K0jsmMPjKljȄMjĴMjMj1Mh~KjKjKMvjMjSM4jM jMj"M jUM/jMjMjzaMjdMjMjM;jMjrMjgMj!KjDMjEM=j.MjMj+MjOMMjMIj`Mj%@MjM& jMjdMjjlMHjMU jMj<MqjKhMj.M jM"j;MjMajMjM j]M jxM^j`M jMjMjMjGKjgM]jMn j7M\j7M[jMjMaMj8M_jKjKjMjzMjK|jK}jK~jKj{KyjKzjK{je>MjjMyjMj!Kj=MjQMjLMjKjٸM@j(KjStMjuMzj6MTjM#jhM$j`Mj3uMjRMCjMjMjaMjMjSrM}j{Mj"MCj*KjM!jKUjMjMjgMjMVjM jpMjaMjPPM jMjMjMQ jBMjMjM j_Mj5M jMd jghM jWmMOjnMj Mj%bMjMj3|MjMUjkMOjIMjmnMYjaMjMjMMj_Mj.%KjDFMjbMjMjMjKvj+MjBqMsjMB u(jM%jM jHMjMjMjMj.MjgMjbMjMhjMijM j;jM1j KEj KFj1M/jcMjJMjM jhMj0Mj?ME j0MejhM!jMjRbMjMjbMjߊMRjM2jgMjMjOMj=Mj`Mj K1j]M3 jUMVjhM jMbjMS j;M j8MjaMFj/MjM j1M+jMbjMjKjMj{MjYM9jxM jMjM j0M(j4MCjM(jMjM)j5M/jVMj,Mj5Mj]M jMMj<M jM`jMj@MjM!jMj:MjM%jKjTM,jFMj6KkjZMjM< j^MjM jJMj|K jMj}MjqJMjJ)Kj9Mpj.MojWMjK&jMj3Kj&Mj'MujFMjMjsMtj~Muj M j.Mej@M j:Mj wMjuMPjZMWjZMVjZ+MjJLMjULMj{MjMjMcjsMjRM$jM6j73M8ji3M9jMjMj8M jMWjeMj^M~j;Mnj4LMj?LMjiM&j$KjM|jMM,jMjMjMjMjMjMbj_MjMjlMjMjKjQMjLM5j<M|jZMjZMjMjOMrjMjߋMYjHMjb`Mj{MjM{jM j(Mj@Mj=MKjM jM jMe j0,M jMj2 M jEzMjMj-Mj8MjGMj¶M$jͶM%j2MjcMm j7MYjMjM1j%=M~jւM jMj< K;jTMjQMjMjT'Kj'KjMj8K$jZM j%,M j,MjDKSjMjSM%j`MjЦMmjMjm KCj=Mj|MjНMjѓMj^MjM8 jMz jMjMjMjUMj>}MjMj}MjjG`MjMjAMj^qMtjM j%}MjM jK!jMj9Mdj Mfjc.Mj aMjMAjKjKjd2M3jޮMjKjWMrj^wMjMjaMjPM jM jMXjMj M jMIjM1j$M jcM jIKj(MjOMj*Kj'MfjbpMkjpfMjMf j|MjM jMjZMjMjMjMjpMjPMj+Mv jzqMujMjmMUjCMjwM1j1M)jZM jMFj7MUj&KRjMIjFMN jzMjzMj&qMrjZ{MjMdjM j SMj:MjXM-jdMjMjqQMjM j^KjMy jkMMj0 K4jSSM!j^SM"j|MhjM>jMjM_jqMjEMjM0jܖMjM jMQjKWjKVj"KjMjmKjM jÇM8jVMwjYMTj ZMUj-MjM j4MDjMj%KjO9MbjMj̓MjlMJjMjMjMjM9 jMjvcMjJMPjMLjMj6MQjv}Mj[MjRM jOMjTM-jMj:Mj@MBjMojKMjMqjOM jPM jG#KjMjMjMjWMjOMjMjYAMj MjKhjaMjMjpMj/M[jDaMjM j1M.j1M' jpzMjnM!jMjjߍMkjMjKMjJMjMjÚMjNMhjMJjMjSMjMjMj<M jNMjbKj=MjMjMrjC6MMj`9Mcj_MjMjc|MjMZjMjKjؾMj[bMj\MDjMjFvMjLMjMA jM j:MgjMj MjMjHMj7rM|jMlj*MjMjMSj_Mj+KwjMjM jM jMRj,MjezMjMej{Mj\MijUMjMp jMjLMjtMjϩMjMyjDMj`M}jMjMjKjjA$KjUMpj8M jM'jMjDMqj6MjMjMPjMOjMljJMjvMjMjMMjjMjE M jMvjMwjMjϿMjdM jMj&MjPM j4:Mhj M jgM7jqM8jMjPMj< M jM jMj<;Mpj;Moj~MjMjMjLMj)LMjKMj|Mj(Mj`Mj,Mj,M j,M j,M jLMfjM M jwMjMjMjKj?UM0j$KjMjsMG jM6 jMj< K.jSkM;j~#KjKjkM-j?Mj1M~jM}jMjMjəMj*KjMnj߫MjwMjHMjMjMxjMyjMjE(Kji(KjLMjGMjFMgjMjMjFM"jQM#j MjMj#MjɱMj4MDjKmjw<Mzj@MjM~jMjMjMJ jMjMjCMjMkjBMj+_MjKMjuM;jM jDMj MsjKjVM8j*KjMKjO_MjMjp M jMjnM]j(KjMwj@MjM\j1MjMUjM| jXMj$MjpMjMjdMjyM0j&IMjM&jdAMjM)jM(jM'jM` jDMj`Mj3M:jMjMjM jMjMjMjM j0M j:MjMjrMjEMj-K jMj?MjcMjpMj)MjM.j3Mj1Mvj@Mj-KjAJMj|MjBM+jMjHM jjMj%MjMj4Mj*7MVjkuMj~vMjMxj(Mj M j M jMj_aMjP KBjRMj!KjMj M6jJMjMq j*MjM jKjMjhMjMjM jM\jMjrMzjyMjrMjMjM, jMjzMjzMjMj/hMj0Mj*Kj<Mj·M9jMjcM.jMJjMjcKjsMjMkjM# j~+MjM0 jIMj9fM jeMjsMjM]jj K6jM K5jaMjFMj MjMj&Mjs_MjVMMjjM4j"Mu jM: jSM{jdMx jWM>j5nMWjVM7j˽Mj1)KjMjkMjM!j2M5j$M jȘMjKYjKXj`MjkM=j@MjXMDjM\jjMj{MjzMjMjMjMcjvMjMjMjMjM3j5MGj K@j5MIj5MJjIMjM*jnM\jJM{jMjMj$MjFpMjjMj4MjoM= jkMjnM-jM3jAMj(MjS1M,jMj M;j$KjuRMjKPjM joMejM jM j6MjM:jYMJjYMKjMjuMjKMjKMj McjMjXMjM% jxMjMjjMj(Kj5MjeMjM jQKjNMjM'jM5jMjǪMjMjM. jMxjM juMjʨMjiM+j#KpjMuj-M j"M j MLj_M^jMja~MjhaMjiM,jMjMjMjMjmMRjMr jnM^j4MBjM jI=MjMt jiGMj^MjKjM2j KjMjpMojM j]M%jKjMjSKj/Mzj!M jMjdM5jMjMj M j#Mj[MjPMjVM6jKOj >MjMjMjHSM jMUjMj7kM:jWMgjMjM.jǣMRj?MjMjk[Mgj0Mj9MfjIbMjMjMjvKj.bMjMmjMjIMjM$jBlMEj}M>jK jMvj%Kj$MZje?MjMj M jQnMXj`MjlZM^jwZM_jv;MrjY;MqjpMjM]jBM j8M j۱Mja_MjMj7tMj$Mjf@MjM"jM j:MkjM j3PM j~XMAjM j| KjmMSjlKNjoMjK*jTK)jiMjF_MjMj)M7jM=jMj@bMjXsMjMK jM jM jM j*MjMmjMj.MjKZM[j@ZMZjYMj Kj_MjUM2jEMjۜMj KjúMTj;M!jMjMAj6cMj;mMNj#MMj;Mtj;MsjeMj bMjlMjMjjMj~.MjMj~MjMjyMjMjM|jM?j=_Mjl"KjGRMjM j&Mgj6{Mj M jMjEMjMjMj1M0jӰMjgM jMM\jfMjMjQ|MjMjA{MjPMjfMjWM j`M j%MjtMjMjMjMj(TM'j`Mj1MLjJMjOKqj+MjvMHj?/MjMj%RMj%Mj=MjM j3gMj{^M}jgMj AMj`Mj~Muj/M j!MjM- j;M]jMKjUMXj=MjeM jM_ jMljMjaMjoMcjH"Kj M jKj7M*jbMjpKjKjVaMjKgjMjMjKjMu(jMo jMj Mi jM/j@M0jH5MFj5MKjKjrMjoM_jLMjMj|HMjMj>MEj&eMjqMjM jcMj`MjsMZ jMjdMjMjMQj(MAj\eMj{|MjMjAeMjM]jBM( jMj*ZMXj5ZMYj>Mj^DMjwMj M j M jWMjM j' KjMjMh jDMj0MjMj##KjOgMj&KjMj4_MjRcMjv~MjMj]MxjMj_MjaMj?M_jWM:j_Mjl Kj-K[jKZjM#j`MjGMjbMjMjpM j~M jtM jjM jjM.j`XM@jM/jMj 0M"jM[jұMjӳM jMjMjMj2M4jM0j-MjŧMzjMjtMjtM/jlMIjMjPMjMjqaMjMQjdVM6j-Mj8MjVZM\jaZM]j9FMjMjdMjKQjMjbMj3MjMj|MjMjMjHMw jMj=Mj$%KjHMj(Kj`MjX_MjMBjMjkMZj61M+j,MjMjM jrMkjMzjWM=jM je\Moj,\MmjJ\Mnj[Mkj\Mlj[Mij[Mjj[MhjzMjMjMj%?Mj`MjM4jM-j#MEj"KjiKxj 2M1jM jM jM jũMjcMjM jM@j.2M2jDMLjADMjq@MjM~ jMjdbMjotMjpMmj9MjMSj{KsjMjAM j3M;jM jMjMj^ KHjMoj3!KjDMW jM jKjMj RMj|OMjM@j(M8j<~MjmM j:KjzMljj_Mj.MOj.MjRMjהMjMj\MQj}Mj6MSjMjMjnMj`Mxj`Mj!KjMjGiM(jnM/jMjuMjkMAj_MjMBMjVBMjCMjDBMj7MZjM=jK^M|jMj߶M&jZMjokM<jCMhjfM\j1MjMQj8MajvMjϥMdjSMjK^j́MjXMBjZzMj_MjaMjk8M^jMjRMj|@MjM+jY`MjKnjM jvMjPMjOM,jMj!M(j*vMjըMjM? j K:j K9j`FMjMYjM jMjM jMHjM&j.MUjۏMjKojuM}jM@ j<M:j4M8jMj%KjMjM jMjpMhjhMjHMjcK]jHK\jcMjMjMKj^MzjMjMdjMjaMjKfj]MyjzlMGjvMNj>[MejP`MjMCjMjMJjqMwjmKjlMjM7j'KjMjcMfjMj)KjiDMjMjFMjzMjdM|jfMjMjMjMj&lMDjMjMjyMj6MjMIjMWjMjKjmMjgKjtMjQMO j؃MjM; jMsjM#j KjMjԆM0jMjMjcMjɳM jMjAMjyMjnMjwMjCMjFMjMjK"j5MFjMj3M7j3 KGj`M,jМMjŜMjP@MjyMj<MjMj9MjMJjMj;AMjwM jaMjMjfNMj^lMFjMjIM j×MjqMxjMjKMj2aMjM)j5MjKjjM0j_MjMZjFM jsMOj=M}j>Mj;MujEMjMusbU descriptionr USalmonella_consensus_build_1r Ugenesr h)r (jjjjjjjjjjj?jjj4 j j j j jjj~j jj`jgjnjuj|jjXjjj#jZjajsjjjjAjejjjFjjjjjjjjj_jjjjjjjjPjWj^jejjjj=jtjj{jjIjjjVjjjj%j\jcjjj jt j j j j!j=!j!j!j"j'"j."j@"jd"j"j"j"j"j"j"j"j#j?#jv#j#j$j9$jj$j$j$j$j$j$j%j%j[&j'j(j=(ja(j(j(j(j(j )j)j)j")j))j;)jB)j)j)j)j)j)jG*jk*jr*jy*j*j*j*j*j*j.+jR+jv+j+j+j+j,j,j,j,j5-jh-j-j-j-j-j-j-j.j.j.j/j7/j/j/j0j0j0j1j.1j1j1j1j1j2j&2j\2jm2jt2j{2j2j2j2j2j2j2j2j 3j/3jS3jZ3ja3j3j3j3j3j 4j4jU4jo4j4j5j 5j25j95j@5j5j5j6j;6jL6jS6jZ6ja6js6j6j6j6j"7j37j:7jA7jH7jO7jV7j]7jd7jk7j7j98j8jG9jX9j9j>:jE:j}:j:j:j:j:j;j<j<j<j<j<j=jA=jR=jY=j`=jg=jn=ju=j|=j=jA@jH@j@j@jAjAjBjBjCjiCjzCjCjDj Dj'Dj9DjDjDj\EjEjEjEjFjGjGjGjGjHj>HjtHjHjHj0Ij7Ij>IjEIj}IjIjIjIj9JjJjKjKjKj LjLjLjLjSMjMj.NjNjNjNjNjOjOjPjPjPjPjQj2QjiQjQjQjRj?RjRjRjSjSj Tj UjUj7UjUjUjUjUj\VjVjVjVjVjWjXjQXjXXjXjXjXjYj6YjxYjYjZj[jc[j[j[jo\j\j\j\j ]ju]j]j]j]j]jyjyjyj!zj=zjzjK{jR{j[|jl|js|j}j}j/}j6}jn}j}j}j}j}j~j ~j~j~j"~j)~jY~j~j~j~j~j~jojvjjAjHjOjVj]jdjkjjjjj j4j[jbjijpjjj#j@jjjjjjj?jvj}jjjjjjjjjąj˅j҅jمjKj\jjujjjjj4jxjˉjjjjj jjj׊j"jFjMjjjj3jWj{jjjjjjj&jtjjj׍j,jjjj؎jjj j'jKj\jmjjӏjjj"j3jZjjːjܐjRjjϑj֑jݑjjjj j2jjjj"j)jdjjɓjړjj-j>jEjujjxjjjjjj&j7jSjZjajhjjjjʖj4j;jj jLjjjjj$j5jFj}jjjj?jujjjjjjPjWjtjjjj@jȝjjjj j1jjjjj-j\jj؟jߟjjbjjȠjΠjՠj۠j j_jjjj@jQjuj|jjjjjǢj΢jբjjjj5jFjjjjj&jJjrjyjjjajcjjjjj j.j]jj j;jjjj(jMjnjuj|jjjjjjjjjj&jJj[jjjjjjjfjmj˰jݰjjmjj(jejljsjzjjijjjjjj%j,j3j:jAjqjjj.jvjj"j4jEjLjSjZjajhjojvj}jjjjj׶jjGjXj_jfjjjjɷjFjkjrjʸjѸjj-j\jjjʹjѹjعj߹jj jjj j'j.j5j<jNjkjjjjjMjjjj jjFjLjjjýjսjܽjjjFjMjTj[jjоj:jgjxjjjjؿj߿jYjjjqjjFjWjtj{jjjjjjjjj,j=jDjKjRjjjjjj,j=jDjKj]jdjj\jjjj.j5jZjwjjjjjjjjjj jOjjjjjj,jYjjjj j&jTjxjjjjj^jjjjjjojvjjjjjjjj&j-j4j;jBjjj j2j}jjj j1j8j\jjjjjjjjjjKjjjjjjj jDjJjPjbjijjjjjjj jjPjjjjj j@jkjrjjjjjOj~jjjjjEjjjjjjj jjNjUj\jcjuj|jjjjjjjj jjMj^jejkjjjjjjj$j+jHj~jjj jjj]jdjjjjjjj#jHjlj}jjje(jj-jgjnjojjjjQjbjjjjjj j1j8jJjjjjcjjjjjj/jpjjjjjjjjj&jj jjjTjjjjjjjjjjMjTj[jbjjjjj+j[jjjjjjjj$j+j2jbjsjjjjjjjj1jSjvjjjjj&jhjzjjjjj,j=j!jBjcjjjjjjjjjj<jCjUjj`jqjjjjjjjjjjj,jPj`jjjjjjjjjjj3jDjJjPjwj}jjjjjjjjjj%j6j=jDjKjRjjjjjjjjjjj jBjjjjjjjjjjj jj#j)j;jLjojjjjjjjjzjjjjjjjjj jj#j)j/j5j<jBjHjNjTj[jajgjjjj3j=jjjjj j=jejjjjjjjjjjjj jj4j1jRjjj&j-jOjnjuj|jjj+jjj# j* j_ jy e}r j }r (jMj$KmjMfj0M2j]MzjK*jIM.j\KjMEjTMjM<jMTjM!jeMj[MFjMjqMjM^j*Mj6Muj$MJjMjۊMj0MQj;M{jMjMjMjMjMjMcjyMj͓MjrMjCM>j`MWjQMHjMSjؠM`jEMjMjQMjKj;/KjOMjM"jE@M jMj!MjMjQMjMjM jM(jMjMYjMBjM)jMj!K\j'MjMzjIM/jMj^6Kje6Kj2Kj2KjMjUMWjޓMj2Kj>Mj`Mjn$KojMjMj}MjM0j2Kj<KjãMyjM.jfMj<Kj<KjMsj5MjMjMjM#jxMGjMjMj^K!j9KjbM^j_MjKMjMjM,jMPjMSjM}jMCjMjK@j~MCjMjMjs\Mqj\Mrj%zM~j9MujK$j\MtjMj"MjMj;UMVjM3jIMjDMjYMgj$KtjMTj@MVjK%jBIM,jIIM-j;IM+jMj=5KjMM<jMj ~Mj-~Mj-Mj ,KjyM{jM]jMjM7jMwjMjAM3jV{Mjw|MjMj[Mjp|Mj-Kj"KjMjMjMj܎MjMjGMjs4Kj3}MjMjϐMjÒMjMOjMjVM^jM=j5KjJM9jMjM5jۍMj%Kuj(M7jM6jZMkjaM6j MjMj|MjM_j7Mj MjMjMj8Mj#MljTMRjMj KjMjMj~Mj~Mj&~MjMjPMEjMNj~MjMij$Mj-KjM#jQMjMjMFjMDjK9jK8jGM#jK5jWM`jMjVMj]=MjV=Mjd=Mjk=MjMjMjMj4KjuMjuMj+MjMMjMj3Mj MjBMj9Mj MejQMjIK+jAMjMjMjK6jIM1jMj$Ksj$KqjK;jM{jhM7jJM jM;j MfjEMj]Mj?)Kj[MpjMdjKBjoMjUMUjҢMpjMjMjrMjMj|MjMLj M jM jMjMjM+jܿMjSMKj~Mj+"K^jM'jM jz+KjV+Kj2+KjӑMj.KjJMjM jsMj2M=jIMjMTj.KjYMXjMj9M>j.KjMSjz#KkjWMM;jIM0jM#jMvj#KijMj1MjMjM$jwM2jMjMjKj-KjMj$TMSjMj/Kj$MyjNM>jh"Kaj/Kj=8KjLM:jM~j9-KjMjhMjϰMjڑMjLMjMj*KjMjMIj65Kj}Mjr}MjMj}MjMwjoMj/MjvMjMxjvM}jM jMj (Kyj*MjMjMjMj`M|jMj$KpjMGjXM jF)Kj(Mjl-Kj¿MjM"jNMAj/M(jMj_|MjMzj`KPjVMj6KjMhjMjMkj+KjhMjMmjZ7Kj77KjGMtjh7Kj"4KjօMj\MsjMjMjMjυMj?M/j-Kj(MjkMjM[jMjMMuj@MjMDj^M?jHMjM;j]MujM jtM[jGMWjkMj2"K_j]~MjMHjPM2j8M.jDMjyMjMjMjMjHM(jHM)jP6Kjq2Kjx2KjQMKjW6Kj$MjIMjKM4jwMj^MjK jMj!1Kj# KTjMjMjiMjfM1jMj' MjMsj1KjK/j*MmjUXMbjfMjMjMXj]MRjMjMj8MojMjg[MnjǽMjMjSMjMjcMjMjK.j-Mj2Mj&MjMjbK>jTKMjcMcjMjiK?jeMjMUj[K=jMjOMCj`MjMjMjyMjMj`MjXMejDMj(K}j(K|j KjRMjMjMrjM+jMNjlMjOMjMj MjMjMdj̝MLj KjTMEj HM%j#KljMj8MjMj KGjMKHjJMjMjyMjMjUMYjMjMj,Kj,KjMj*M{jMj,KjMjrMjMj`VM[j7MsjGM"j:YMhjMjaMj+KjMjXMjMj Mj&MjzMjLM8j:Kj"KfjIMjL@M j)KOjMj6KjMjMj{M@jWM&jM jMj^M'jAMIjgKQjMj@M j MjMjMjMrjK-j^Mj`M9j6QMIjMjMjMj*KjM jMjNM|j*Kjv*Kj}*Kjo*Kj)Mj0MjMjMj M1jMj$Mj-KjMjMjMjMjMjOMjMjMjKEjxKDjKFj#Mj*MjMj_MjlMjMxj<KjMjMjw6KjjMjPMGjMjM[jSMjmMj_MjtMjfMj5KjE7Kj>7KjL7KjKSjMjVM]jKM5jM8j MjM\jS7Kja7Kj=DMjMjMj1Kj1Kj8MjMjոMjMjKIjzMjRMMj|Mj. MjB:KjI:KjPMFjM*j$Mtjy=Mj=MjmMjMje3KjMjMjM}jSMgj7MjMjM=jMajQMjMjMj|MYj0MjMjMj!K[jEMjMjMjzMjMjKjbMjNM?jD5KjMj@MjMjHM4jCMjKjKjpMjoMjK j<MjMjMQj} MjMUjyM|jHM*jzM}j*MWjOM+j3KjMjlM)jeM(jNM@jEMjMj"Kcj"KdjMjMj#MjMj:MjM*jMj4IM*jc MjzMj"KNj KWjMbjM]jߠMajҠM_jpMjMjMjΉMjMjjMkjMij8 K j Mj7KjM!jK*KjMjMjRMOj"KJj,MjKjwK#jKj KVjM,j݅MjFM j2Mjx KUjMjj?Mj K:j2KjZKKj'Kxj\MjMjMbjK)jM:j`Mj5M:jWM;j!}Mj1MjM8jyKjKjkKjrKjM4j3KjMj2KjM@j2Kj2Kj2KjMjM!jOM5jM%j2NM=j-)KjhMjaMjyMjMOjXMdjM0j*2Kj*KjM_jGM!jJMvj)KjM"jMj?6KjUMTjoMjEMjLMjWMjM/j`2KjKRjȅMj6KjCK jMjMjMjK2j MHj)Kj]MyjMjVM\jΖM-j$KrjCMjMPjMjcK4j[MmjgMj}M~jK0jMjMAjVM_jMBjMjXMXjMjC#KjjMj,Mj&MjWMj}MjA!KZjˠM^jCRMNjM-jMCjMjMjMjMjPMDj}MjMmjMnjMrjM`jM5jFMqjMjK3jMbjMkj1MnjMjMj*MAj2MjMjKLj\XMcjMjMjxMjMAjMj(K~j|YMijMjMpjMjMj%Kvj_&KwjMjMjMjNMjMjٽMj/M%j M$jKMjYMjM]jMjM?j Mj/MjMj+MjLM7jMljzMwjM|jMyjMxjkMjYMju(jMj3KjhMjMtjgMjMjMjMjMRjM6jsMjMjMjMjLM9jKM6j MJjMMj$MPjjMjܟMYj:KjMj]MxjMZjMjMj1MjMjMjMMjMjjKjOMjXMjY4KjMjAHM&jSMvj2Mj&MjMjOMjMRj`EMjy]Mvj KXjDMKj*Kj&7Kj$DMj+DMjMj~MjMZjMj*KjMVjMjMjUMZjMjM jnMjK9KjM j=$KnjMj4KjiK(j!K&jK7jMjAMj(Kj McjMEjMj MjMMjK1jMjLMjdKjMj*M$jM<jqMjMjιMjM:jMjDMjչMjܹMjCMj~CMjmCMj5Kj)KjrMjMjzMejM3jdMhjMjMjMjĢMnjD"K`jMj&MjlMBj0Mfj?MpjAKCj[Mlj4Mj!KYjMj0Kj0Kj0KjsMj^Mj=M jE=MjKjK jJM3jM`j$M1j Mj'K j:KjԾMjMj@M jĄMj_M j?MjMjˢMojgMjzMjMjMjM~j_M&jRMPjMjDMgjMj~MjMjO{MjQM j~MjKj 6KjM\j~Mj1KjMOj6Mj[MjMj,MjMjMj\9KjeK"j/KjMj1MVjMjUMXj#MjhMj4KjsMdj!M-j/M/j6M0j(M.j*Mj7Mj3KjtMjFMKjM je(K{jxHM'jMjMjxMjA(KzjMjDMj#Mj}MjMj5MzjXMajM&jθMj+KjMFjgMLjzM<jM@jMjM>jfM\jKjMGjMjMj MjMjoMjMjMjMjRMjKjMj$5Kj>Mj)Kj)KjM jdMZjJMjOMBj&)Kj)Kj"MjM'j:KjPMjAM)j1Mj:Kj33KjMjAzMjVM,jyMijMjW3Kj^3KjAMjVMjMjMIjMljMjMj21KjqMjMNj۶Mj:}MusbhUSalmonella_consensus_build_1r Umedia_compositionsr ccollections defaultdict r c__builtin__ dict r Rr (UM9r }r (U EX_cobalt2_er G@U EX_tungs_er G@UEX_h_er GYU EX_mobd_er G@UEX_mg2_er G@UEX_so4_er G@UEX_co2_er G@UEX_k_er G@UEX_fe3_er G@UEX_na1_er G@UEX_cl_er G@UEX_cu2_er G@UEX_nh4_eG@UEX_fe2_er G@U EX_cbl1_er GzG{UEX_pi_er G@UEX_mn2_er G@UEX_h2o_er GYU EX_glc__D_er GUEX_o2_er G2UEX_ca2_er G@UEX_zn2_er! G@uUHostr" }r# (U EX_dcyt_er$ GUEX_ins_er% Gj G$U EX_dmso_eG@U EX_acnam_eGU EX_melib_eGU EX_glcn_eGj GUEX_uri_er& GU EX_rib__D_eGU EX_ala__L_er' Gj G$U EX_malt_eGU EX_glu__L_er( GU EX_arab__L_eGU EX_galct__D_eGU EX_12ppd__S_eGj GYj G$U EX_glcr_eGj G$j G@j G@UEX_mnl_eGj G$j G$UEX_galctn__D_eGj G@UEX_crn_eGj G@U EX_sbt__D_eGU EX_arg__L_er) GU EX_pnto__R_er* GU EX_lys__L_er+ GU EX_fuc__L_eGUEX_thm_eGUEX_csn_eGUEX_gal_eGj GzG{U EX_thr__L_er, GUEX_adn_er- Gj G@U EX_glcur_eGU EX_thymd_er. Gj G$U EX_etha_eGU EX_galt_eGUEX_ura_er/ GU EX_dad__2_er0 GUEX_gsn_eGj GYU EX_hxan_er1 Gj G$UEX_no3_eG@U EX_his__L_er2 Gj G2U EX_asn__L_eGU EX_pro__L_er3 GU EX_acgam_eGUEX_so3_eG@U EX_cys__L_eGUEX_rmn_eGj G$U EX_val__L_er4 GUEX_man_eGj! G$U EX_leu__L_er5 GUEX_fru_eGj G$U EX_alltn_eGU EX_met__L_er6 GU EX_ile__L_er7 GuULBr8 }r9 (U EX_ser__L_eGj$ GUEX_hg2_eG@j% GUEX_cd2_eG@j GUEX_nac_eGj G@j( GU EX_trp__L_eGj GYj G@j4 Gj G@j G@j G@j G@j G@j G@j G@j5 Gj) Gj* Gj+ GU EX_cysi__L_eGj' Gj GzG{j, Gj- Gj G@j. Gj G@U EX_phe__L_eGj/ Gj0 Gj GYU EX_aso3_eG@j1 Gj G@j& Gj2 Gj G2j3 GU EX_asp__L_eGUEX_gly_eGj G@j G@j G@j! G@U EX_tyr__L_eGj6 Gj7 GuULPMr: }r; (UEX_pi_eGՑhr UEX_cit_eG@bMUEX_h_eJU EX_mobd_eGtzG{UEX_o2_eG2U EX_cobalt2_eGtzG{UEX_mg2_eGbMUEX_thm_eG_kUEX_so4_eGU EX_glyc_eGDUEX_co2_eG2UEX_ca2_eGtzG{UEX_k_eGUEX_cu2_eGtzG{UEX_cl_eGbMUEX_zn2_eGtzG{UEX_h2o_eJUEX_nh4_eG.UEX_mn2_eGtzG{UEX_fe3_eGtzG{uUMgMr< }r= (U EX_ser__L_eG-VU EX_cobalt2_eGzG{U EX_glu__L_eGlDU EX_glyc_eGCUEX_h_eJU EX_mobd_eGzG{U EX_val__L_eG333333UEX_so4_eG UEX_co2_eG2UEX_k_eGtUEX_fe3_eGzG{UEX_na1_eG0PlUEX_cl_eGZ_U EX_leu__L_eGbMU EX_arg__L_eGVuUEX_nh4_eGְ ěU EX_lys__L_eGěSU EX_ala__L_eG(\)U EX_thr__L_eGʰ ěUEX_pi_eGUEX_mn2_eGzG{U EX_phe__L_eGKƧUEX_h2o_eJUEX_mg2_eGTUU EX_his__L_eGEUEX_o2_eG2U EX_pro__L_eGnU EX_asp__L_eG$/UEX_gly_eGlCU EX_cys__L_eG-VUEX_cu2_eGzG{UEX_ca2_eG`e0U EX_tyr__L_eGl1&yUEX_zn2_eGzG{U EX_met__L_eGU EX_ile__L_eG+ Juuh(}r> U_cobra_versionr? X0.3.0b1.post20-g6db0d90r@ U_trimmed_reactionsrA NhNh}rB U legacy_formatrC UsolutionrD ccobra.core.Solution Solution rE )rF }rG (UstatusrH UNArI hNUx_dictrJ NUsolverrK Nh}rL UfNhNUy_dictrM NUyNUxNh(}rN ubU compartmentsrO }rP (UpU PeriplasmUcU CytoplasmUeU ExtracellularuU metabolitesrQ h)rR (j#j.jjj'jjmjYrj@jzjjjHwj*j)jjmj j7j:|jU*jz7j7jHqj4j,j.Tj[j"jjATj0jjjj.jx$jGjvjj.jjjW$j)jRjq[j=MjZJjCjSjUgjwjj-j jijejHj-jOj9jj}jj9j:jojjjjj4jjjj,lj3j\j4j0j3j}4j(j/jQ)j3j޾j0j(jjK(jj jjiij jPjLpjjl{jjxjUujj;XjmhjjvjjEjj\j+@jjjVjjujujjjbxjrjjOjtj- jjFjC-jʺj!tjFj9j$jjAhjjy9j9jAj%jBhjj,wj8j$jjTjnjuxj|RjMRjjj3jYkjj5ojlj;njjHjjUj_jwj[j*jfjK!j2jjȋj˴ji&jjjFjjj(j_Rjjj*j42j2jjgjDjjMjj@jDjj#8jOjejRjjjj׼j jwjjjj)jQj4jju5jj jjjYjj jjjjzsjjqjjdqjVj jJjejLjj MjjX}jdjjjTjjNjju/jJj'jjjΈjejWnjՇjjjsjjjgIjjjIjj j}>jjjUjj1ij_jZjjijjjZj!BjlBjjVj\Bj|&jdj^jj>jXjj|jEjj0jj sj^ j/j0j]j:jjsjjqj8jkjijj 9jVjcjj4jKjacjjjj6Vjj4jhjjwjjljjjqjj$jxjΪj֥jj=j?j#j%jdj(jjZjjPjlj"jurjyjjjjljGjSjbjjj!jjj<j jZfj{jjjajjj}jjNjjj+j{j*xj^jj;jjjVjpjjjhj;jj YjjGjBjjDYjjj j$jj=3jjjPjijjp3jijjj%jjj=rjjgjj{jjsjjjjjRjh`jjjIjnj>j~ejjm1jFj7 j2j)jZ1j|Vjj9ujFjjj9gjjcj=j};jj5j=j}jukj?jjj j jj jn'j*<j jw j{jljj[jj%jjvfjjZjjj@j>j5jjSjrjj.jjjjrjbejjj_jj^jR^jmj^jjqgjj)jjjjj!jAjyjjjkjQhj~j@jjrj j$Aj:j'j?jAjj|!j8j݂jdjojf9jjjjjjj!jjjjj}jjiPj/jjjB>j&jR>jjzj]jj1pjmj{j0jjhjjSQjjRGjjyhj0jj?GjjejKj=jjVj jjgjjj jj*jVCjŸjOjjj!kj!Ujj@jj jxj jjUjߙjj@Qj#j9jhjۀjjdjjjKj jjjmojjj$jj.jj'j4j)jj)#jjtju%jijjnj4j_jyj='jGj:j{j?jj jj=j4jGjbYjk?jPj+jmjGj 'j j+jtjcjjjOjEjj,jljjj#$jEjfjj}j8j jj jjwjIVjjj3jjҲjjצj^jdj2jjj&jFjjcj^j<jijjjnj3j<j<j jj1jkWjWjYjj'jWjJjjj&jj%j&jjj?jjwj['jBjSjjYjjVjNjjvjN"j yj1BjoLjjKj?fjjj/jjj Ej)jjgjCjjC;jj( jj`;j j|jjG8jjjjjW8j:jӁjT:jj jg:j`#jE<j jjj~j9jj֕j;j+jQjj,4jij/jjjjjjjj޴jTjjj6jZjMij+j+j jVj&mjMjaj],jjjojjByj-j[jjujj_jjFjj{yjYtjjjsjj1Sj%jjOjpjgj*j j?jVPj'j#j0vjbj1jjhjjBAjS-j9.j9j jsjj j0Cj jDjjjjjGDjjjejL.jkjjDjhjgjCjОj=jjjtjXjj5jsjj'jWjWjj]mj_j\jj/jjjU j3\jjjj=xjkjjjjjj#j_TjjrTjj\jEjjjjjE/jjxjjjj1jQj-jJjj8jjjjjTIjr8jGjvjj>j}jb/jj7jFj.juj"Fj|}jFjO5jEjj'jG$j!GjSjgFj~?jvUj~Wj jj+jujujy_jDjjdlj$>j9j7j\jCKjj?4j|jj4jK jͤjwj{jjjLvjj#jJ jjjjjk>j}jjjGj j jfje(j0j_Hjj&sjzjȫjgjjo,jljjLHjDjtjjFjXjwjpjjHljjjjj19j=kjjPjj+jhvjjjojj;j jQjqjNjSj.jOjTj?jjj}jXj j}~jtMjujMdjv-jgXjj.jOjvjj1*jij4jB jTj6jHj!OjjNjIj΄jUyjHjQj4Oj j*j:jyj'jjj zjjyjj jj{hhjhUjHjEUjj"jpj j .jqjQjpj2&jXUj5jljjj1je^j<1j/jJjZjjjj jgjj:jcj2jjčj-j;jjjRjCjidjW jjyjSj>jZjjjajDj&jAj~AjrjjQ\jkAjjϙj/Wj`<jj~<jWjMWj-jjRj(Xjjrjj%jjojHjjjj,qjjhyj(HjnjjFEjnjBj~jj1jujjFjLj:j j5jj jij -jNjDj jj5j1j]j/j jaKjwQjEjxJjtKjj)jji!jjJ,jgjn jj%jj~ jsjNjjjj^jj*jqjjjj:jjLj jT jkjbjjjj7j?jvj ^jj*[jfj&j]jjj=jajj]j?j=j}jejBjjdjMjwjjlj)jj4jjʮje j4jjWjo)j+jF2j=jjjjhj jpjj!j7jjj;jjnj jjQj'(j6jqjpj8jj8j'VjOxjfj"0jujDj<j8jxjTjijujTj`jϘjcj{jjj!rj'^j;jjjujj߃j/yj7^jj,ej8j(jrjj/j+?j(j3jJjYjjGejdwjjTjPjXj1j`+jjhpjej@jj+jjsj<+j+jMjM#jnjjaMjMjjSjj!/jjjzFjBsj Pj:Pj?jFjjPjxSjj cj|j˵jYjdj|j*jIj`j6jcjjjAmjjjhjQojhjjjjjwjsnjojxjjכj^sjjj8j5j[jvjgjj&j٣jFjjE}j5jYj3EjҌjojQjRjjEjjdj7jjtjpjjP[jZjj=j.jj:jMjZjɚjijNjjojjܚj)jAjjjsjjjjwjj mjVj7,jnjj_]j[jj{j1j$j j jqujjj5hjjTjo(jNj&;jutj1jjhjj'js jLjjjjjjjLjJjj̧jN0j;0jjfj jJjcj7jpDjj#jڳj2jjij6jpGj?j\jɗjkjKFj9jEjpj͒j%6j}Ejj ;jjjymj[jj+j8j'jjZ%jCjrj7jSj[j€j'jjjqjWjjjjXj:j"jjjKjRj֝jj: jjyjjojrjRjUjXjrj"jNj|jjxjjjjZj=tj/jMjjjE&jjVj jeSj`jS jC j]jj[j>jCjwjkj4%jLj|cj~jj 7j=?jjj~j!jq jjhjj7jLjjj$j(j TjGJj(j%jsjmj{jF]jGj~jj6]jijjjjjدjmjůjojjMjj+j: jSjVjYjj-jjj*Mjje}rS j }rT (j,Kj.Kj Kj[Mj1KjKjwKjcrKjJKjzK j$K jK jRwK j*K j)Kj KjmKj Kj8KjD|Kj_*Kj7Kj7KjX"Mj4Kj-Kj8TKjeKj+KjKjKTKj9KjK jK!jK"j/K#j$K$jQK%jvK&jq.K'jK(jK)j^$K*j)K+jTKj{[K-jGMK.j(M jCK0jSK1j_gK2jwK3j K4j)-K5jK6jiK7joK8jHK9jM,jOK;j9KjK?j :K@j':KAjoKBjKCjKDjtKEj>KFjKGjKHjKIj6lKJj#3KKj\KLj4KMj0KNj3KOj4KPj)KQj/KRj[)KSj3KTjKUj0KVj(KWjKXjU(KYjKZj*K[jK\jsiK]j K^jPK_jVpK`jKajv{KbjKcjKdjMjKfjEXKgjwhKhjKijvKjjMjEKljKmj]Knj5@KojKpjKqj`KrjKsj uKtjKujKvjKwjlxKxjrKyjKzjOK{j~K|j7 K}jK~jGKjJ-KjԺKj+tKjFKj9KjvMjKjAKhKjKj9Kj9KjAKj/KjBKhKjKj6wKjBKj.Kj%KjMj)nKjxKj'MjY5MjKjKj3KjckKju?MjMgj?oKjvKjEnKjKjRKjKjUKjiKjM&jwKjbKj4KjfKjU!Kj<KjKjҋKjմKjs&KjKj( MjPKjKj Kj2KjhRKjKjKj1Kj>2Kj3KjBMjKjnKjDKjKjTKjKj@KjDKjKj-8KjOKjeKjRKjKjKjKjKjKjwKjKjKjGMPjMjQKj>KjKj~5KjüKj KjjKjcKjKj KjKjKjKjsKjKj{KjKjnqKjVKj)Kj"JKjMjMKjKjMKj Kjb}KjdKj KjKjTKjKjXKjKj/KjRK,j'KjKj Kj؈KjeKjanKj߇KjKjMjzMjMjMjqIMjMjIMjMj M j>M jM jdJK/jUM jMj;iMjgMjZMjMjiMjMjMMjZMj(BMjsBMjtVMjcBMj&Mj?MjhMjMj>MjXM jM!jLM#jt0M$jM%jRqKjh M'j/M(j0M)j]M*jDM+j7K:j MjM.jqM/j9M0jkM1jiM2jM3jMjWM5jjM6jM7j=M8jKM9jjcM:jM;jM<jM=j@VM>jM?j>M@jhMAjMBjkMjMDjlMEjMAjMGjqMHjMIj+MJjxMKjتMLjߥMMjMNj=MOjKj#MQj%MRjdMSj&|MjMUjcMVjMWjWMXjuMYj"MZjrM[jM\j M]jM^jM_jMCjPMajSMbjbMcjMdjMej&!MfjMhj<Mij!MjjdfMkj {MljMmjMnjkMojMpjMqj~MjMsj"NMtjMujMvj+Mwj{Mxj4xMyj^MzjM{jxMFjjM}jVM~jpMjMjlMGjiMjEMjMj*YMjMjGMj0sMjMjNYMjMjMjMj$MjMjG3MjMjMjZMjsMjMjz3MjsMjMjMj%Mj(MjmM+jGrMjMjgMj"MjMj'MjMjsMj MjMjMjMj\Mjr`Mj MjxLMjnMj>MjeMjMjw1MjFMj@ Mj2MjMjd1MjMjdžMjCuMjFMjMjMjCgMjmMjM#j=Mj;MjMj?Mj=Mj }MjCMRj@Mj%Mj"Mj MjMj¥Mj Mju'Mj1<Mj Mj Mj{MjuMjMjeMjMj/jMjfMjMjcMjMjMjJMj>Mj"Mj]MjrMjMj8MjMjMjMj|MjleMjMjMjhMjMj^Mj\^MjwMj^MjMj{gMj Mj3MjMjMjMj Mj!MjKMjyMjĤMjMjuMj[hMjMj@MjMj|MjMj.AMj:Mj0Mj?M jAM jM j!M j?M jMjdMjyMjp9MjMjMjMjMjMjMj!MjMjMjMjMjMjsPMj6M jM!j M"jI>M#j'M$jY>M%jM&jM'j"]M(jM)jBMj:pM*jMj|M,j0M-j M.jM/hM0jM1j]QM2jM3j\GM4j%M5jyM6hM7j0M8jM9jIGM:jM;joM<jKM=jGM>jM?j]M@j MAjMBj'gMCjMDjMEjMFjMGj)*MHj]CMIj̟MJjVMKjMLjMMj+kMNj+UMOjMPj@MQjMRj MSjxMTj MUjMVjUMWjMXjMYjMj $M[j(9M\jhM]jM^jM_j"dM`jMajMbjUMcj MdjMejMfjwoMgjMhjMijMjMkj.MljMmj1Mnj>Moj)MpjMqj3#MrjMsjtMtj%MujsMvjǞMwjnMxj;MyjiMzj'yM{jG'M|jGM}jDM~j{Mj?MjMjjMjGMj<MjGMjlYMj_uKejWMj+Mj)MjQMj'MjKj+MjtMjcMjMjMjXMjEMjMj,MjlMj5MjMj-$MjMjfMjMj}MrjMjBMj MjMj Mj{M-jMjPVMjMjMj=MjMjܲMjMjަMjhMjdMj2MjMjMj&MjPMj}MjMjMj^Mj<MjrMjPMtj MjoMj=Mj<Mj<Mj Mj(Mj;MjuWMjWMjcMjMj1MjWMjJMjMjMj&MjMuj%Mj &MjMjmMjMj?MjMjwMje'Mj/MwjSMjMxjɂMjcMjMjMyjNMjMjvMjyMjMzjMj[M{jKMjHfMjMjMj8MjMjMjsMj2MjMjqMjpM+jL;Mj!Mj/ Mj&Mji;Mj Mj+rM-jMjN8MjtMjMjMuj^8Mj:Mj݁Mj^:MjMj Mjq:Mjj#MjL<Mj MjMjMj5MjWMj_Mjl5Mj;M j+M jQMjVMj64MjEMj9MjMj"MjMjMjMjMjMjTMjMjMj6MjaMjWiM j2M!j5M"jmMj`M$j/mM%jM<jkM'jf,M(jM)jM*jCMjM,jLyM-jMj[M/jM0juM1jM2j_M3jM4jPM5jyM7jctM8jM9jMj}M;jM<j.M>jM?jYM@jlMj@Mj1[Mj MDjnwMEj`PMFj1MGj#MHj:vMIjlMJj1MKjMLjoMMjMNjLAMOj\-MPjC.MQj~kMj MSj}MTjMUjMVj:CMWj& MXjDMYj4MjM[jtM\jQDM]jM^jM_jlM`jV.MajuMbj9M4jMcj DMdj6M+jqMfjCMgjڞMhj=MijMjjMkjtMljXMmjMnj5MojsMpjHM,j'MrjWMsjaMtjgmMvjiMwjMjMyj/MzjM{jM|j_ M}j=\M~jMjMjMjGxMjkMjMjMjMjMjMj#MjiTMjMj|TMjMj\MjOMjMjcM)jMjMjN/MjMjxMjMjMj"Mj1Mj&QMj7MjSMj"Mj8MjMjnMj+/M_jMj^IMj|8MjvMjMj?MjMjM>jMjAMjFMjMj$Kj,FMj}MjTKjVRKjEMjMjRKjN$Mj+GMjqFMj?MjUMj9M j MjMj5Mj|Mj0KjM jKMjMjnlMj.>MjCMjAMj\MjMKMjMjI4Mj(MTjMj>MjKjפMjMj){MjjMjVvMjMj#MjQ MjMjMjMj3Mjt>MjMjMjMjQMj# Mj MjfMjMj:MjiHMjMjzMu(jҫMjgMjMjy,MjlMjMjVHMjMMjtMjMjMkjXMjMjpMj(MjRlMjMjMj Mj.Mjj;9MjGkMjMjPMjeMjMjrvMjMj M jyM jM j;M jM jZMjqMjNMjSMj%.MjOMj^MjHMjMjMj}MjXMj|Mqj~MMj4MrjWdMj-MjqXM jM!jMj6M"jWM#jvM$jM%j;*M&jqM'j>M(jL M)j[M*j#hMejMqj+OM-jM.jOM/jIM0j؄M1j_yM2jHM3jQM4j>OM5jM6j4M7jDM8jyM9j1M:j M;jM<jzM=jl/MjjM?j M@jMAjMBhrMCjMDh_MEjRMFjOUMGjMHj,MIjpMJj MKj.MLjqMMjQMNjpMOj<&MPjbUMQj5MRjvMSjMTjMUj1MVjo^MWjF1MXj/MYjSMZjcM[j!M\jM]jM^jM_jhM`jMaj:MbjcMcj2MdjMejˍMfj6Mgj;MhjsMijYMjj'CMkjsdMljwMCjMnjyMoj\Mpj>MqjZMrjMsjMtjjMujNMvj&MwjAMxjAMyjM{jX\M|juAM}jyMj֙Mj9WMjj<MjMj<MjWMjWWMj-MjľMj\Mj2XMjMjrMj%Mj?MjMjyMjRMjMjMjMj6qMjMjSMj2HMjxMjMjPEMjxMjBMj~MjMj;MjMjMjPMjUMjCMj Mj5MjMjMSj MjsMj-MjXMjMMj Mj?Mj 5Mj;Mj]Mj9MjMjkKMjQMjMMjJMj~KMjMj0Mj Mjs!MjM:jT,Mj gMju MjMj/MjMj MjsMjNMjMjMjMjhMjMj*MjqMjMj MjCMjMjLMj Mj] MjkMjwMAjQMjMjMjgMBj?MjMj^MjMj4MCjfMj&Mj]MjMjMj=MjkMjMj]Mj|Mzj=MjMjMjIMjMjdMjWMjMjMjlMj3MjMj4MjMjѮMjn Mj4MjMjaMjv)Mj4MjP2MjFMjMjMjhMjMjpMjMj+M j7M jM jM j;M jMjnMj MjMjZMj1(Mj6Mj{MjpMj8Mj Mj8Mj.VMjYxMjoMjU Mj)0MjuMj` MmjNMjEM j8M!jxM"j]M#jrM$juM%jTM&jgM'j٘M(jM*jM+jM,j|Mj.^M.jEM/jM0jM1j'uM2jM3jM4j9yM5j>^M6jM7j5eM8jAM9j2M:jrM;jVM&j6M=j4?M>j/M?j=M@jSMAjcMBjMCjPeMDjFMEjMFj[MGjQMHjbMIj1MJjj+MKjMLjrpMMjeMNjJMOjMPj+MQjMRj|MSjF+MTj"+MUjMMVjW#MWjnMXjMYjkMMZjMM[jM\j]M]jM^jǏMjM`jMajFMbjLsMcjPMdjDPMejIMfjFMgjMhj&PMijSMjjPMj*cMlj|MmjcMojnMpj& MjuMjSMsjjMtj@MujcMvjMwjFMjMxjKmMyjMzjM{j M|hM}j[oM~jMhMjMjMjMjMjwMj}nMjM~jyMjMjMjhsMjĭMj)MjBMj%Mj[MjvMjqMjMj0MjMjPMjMjO}Mj?MjcMj=EMj܌MjoMj[MjRMjtEMjMjkMj7MjMj{MjzMjMjW[MjZMjMjDMj.MjMjDMjTMjdMjӚMjiMjUMjMj#oMjMjMj3MjKjMjMjsM&jյMnjMjMjsMjeKjmMjVMjA,MjxMjMji]Mj[MjMj{Mj:Mj.MjMjMjxuMjMjMj?hMjMj^Mjy(MjNMj/;MjtMj;MjMjrMj!Mj'Mj} MjLMjjMjtMjMjMjLMjTMjMjӧMjX0MjE0MjMjfMj MjTMjdMjAMjMjMj#MjMj9MjMjiMj?MjzGMj?Mj\MjӗMjkMjSFMjCMjEMjzMjגMj/6MjEMjMj;Mjz MjMjMjmMjKjMj3M j8M j'M jM ja%M jCMj|MjAMjZMj\Mj0MjMj;SM=jqMjWMjMjKkjMjYMjDMj,MjMjUM!jRM"jM#jM$jA M%jryMjM'jM(joM)j|M*jRM+j_M,j_M-jrM.j "M/jNM0jM1jM2jM3jM4jM5jM6jZM7jGtM8j/M9jWM:jFcM;jxM<jM=jM>jM~M?jM@jMFjfMxh;MBjvM`jFMDhMEjeMjEM|jMjMHj MIj|"MJj"MKj>MLj MMj"MNjoOMOjΛMPj̎MQjOMRjIMjMMTj!xMUj\OMVjMMWjJMXjMYjUMZjM[jwNM\jFNM]jM^jpM_jYNM`jMajtMbjMcj]Mdj#MejMfjMgjxMhjMijMjjMkj MljMmjˊMnjlMojMpjlMqjMrjY?MsjMjMj&MvjBMjM jVMj8BMjMj߭M|jM}j M~j;dMjɀMj nMjMjMjMjM jMjMjJMj-M.jPMjHMjìMjM6jMjHMjJMjMjMZjtMjBMj MjcMjgMjæMj-Mj^MjVMj֬Mj|MjiMj-fMj Mj}Mj\MjMjxMj5=MjzDMj,MjGMj@MjMjwMjMjMjMjMjMj@Mj#Mj6Mj MjJMj3Mj)MjhMjMj3RMjMj} MjMjMjfLMj4'MjsMjGMj>MjMjO&MjMj_Mj MjoSMjjMjZ MjJ MjgjMjdMjÑMj>MjMMjMjJQMZj;%MjVMjcMj~MjMj7MjF?MjMjMj~Mj!MjMj&MjhMjMjAMjVMj#MjMj$Mj(MjTMjQJMj(Mj %Mj|MjuMjMjM]MjQMjMjMj=]MjiMjMj|M"jMjMjMjmMjϯMjoMjMjVMjMj5MjC Mj]MjVMjcMjMj7MjMjMj4MMjMjM jMCMusbU_trimmed_genesrU NU_trimmedrV ub.cobrapy-0.4.0b6/cobra/test/data/salmonella.xml000066400000000000000000171221501263606473700212600ustar00rootroot00000000000000

FORMULA: C21H39N2O8PRS

PUBCHEM: 8050

CHARGE: -1

CHEBI: 0

KEGG: C05755

FORMULA: C4H7NO3

PUBCHEM: 6318

CHARGE: 0

CHEBI: 16944

KEGG: C03508

FORMULA: C2H2O6P

PUBCHEM: 4234

CHARGE: -3

CHEBI: 17150

KEGG: C00988

FORMULA: C6H9N2O6P

PUBCHEM: 7249

CHARGE: -2

CHEBI: 17805

KEGG: C04666

FORMULA: C6H9O4

PUBCHEM: 8279

CHARGE: -1

CHEBI: 27681 49256

KEGG: C06006

FORMULA: C25H46FeN6O8

PUBCHEM: 9799

CHARGE: 1

CHEBI: 0

KEGG: C07597

FORMULA: C3H3O3

PUBCHEM: 3324

CHARGE: -1

CHEBI: 32816

KEGG: C00022

FORMULA: C3H3O3

PUBCHEM: 3324

CHARGE: -1

CHEBI: 32816

KEGG: C00022

FORMULA: C3H3O3

PUBCHEM: 3324

CHARGE: -1

CHEBI: 32816

KEGG: C00022

FORMULA: C35H56N7O17P3S

PUBCHEM: 8959

CHARGE: -4

CHEBI: 0

KEGG: C06737

FORMULA: C54H98O11P

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C5H11NO2S

PUBCHEM: 3373

CHARGE: 0

CHEBI: 16643

KEGG: C00073

FORMULA: C10H12N4O6

PUBCHEM: 4895

CHARGE: 0

CHEBI: 18107

KEGG: C01762

FORMULA: C3H7NO2

PUBCHEM: 3343

CHARGE: 0

CHEBI: 16977

KEGG: C00041

FORMULA: C3H7NO2

PUBCHEM: 3343

CHARGE: 0

CHEBI: 16977

KEGG: C00041

FORMULA: C8H15O2

PUBCHEM: 8658

CHARGE: -1

CHEBI: 28837

KEGG: C06423

FORMULA: C5H11NO2S

PUBCHEM: 3373

CHARGE: 0

CHEBI: 16643

KEGG: C00073

FORMULA: C25H47N2O9PRS

PUBCHEM: 7269

CHARGE: -1

CHEBI: 0

KEGG: C04688

FORMULA: C5H11NO2S

PUBCHEM: 3373

CHARGE: 0

CHEBI: 16643

KEGG: C00073

FORMULA: C8H15O2

PUBCHEM: 8658

CHARGE: -1

CHEBI: 28837

KEGG: C06423

FORMULA: C3H7NO2

PUBCHEM: 3343

CHARGE: 0

CHEBI: 16977

KEGG: C00041

FORMULA: C3H7NO2

PUBCHEM: 3399

CHARGE: 0

CHEBI: 16958

KEGG: C00099

FORMULA: C3H7NO2

PUBCHEM: 3399

CHARGE: 0

CHEBI: 16958

KEGG: C00099

FORMULA: C9H16NO5

PUBCHEM: 4121

CHARGE: -1

CHEBI: 29032 46905 7916

KEGG: C00864

FORMULA: C3H7NO2

PUBCHEM: 3399

CHARGE: 0

CHEBI: 16958

KEGG: C00099

FORMULA: C9H17NO3

PUBCHEM: 4327

CHARGE: 0

CHEBI: 12266 15830

KEGG: C01092

FORMULA: C2H6OS

PUBCHEM: 13325

CHARGE: 0

CHEBI: 28262

KEGG: C11143

FORMULA: C9H16NO5

PUBCHEM: 4121

CHARGE: -1

CHEBI: 29032 46905 7916

KEGG: C00864

FORMULA: C23H48NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C6H9O7

PUBCHEM: 4301

CHARGE: -1

CHEBI: 17426

KEGG: C01062

FORMULA: C2H6OS

PUBCHEM: 13325

CHARGE: 0

CHEBI: 28262

KEGG: C11143

FORMULA: C34H61N1O10P1

PUBCHEM: 5698

CHARGE: -1

CHEBI: 0

KEGG: C02737

FORMULA: C12H15O10P

PUBCHEM: 8438

CHARGE: -2

CHEBI: 0

KEGG: C06187

FORMULA: C23H48NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C28H39N5O23P2

PUBCHEM: 3960

CHARGE: -4

CHEBI: 16970

KEGG: C00692

FORMULA: C28H41N7O19P3S

PUBCHEM: 4302

CHARGE: -5

CHEBI: 15504

KEGG: C01063

FORMULA: C19H29N2O12

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C10H12N5O13P3

PUBCHEM: 3304

CHARGE: -4

CHEBI: 15422

KEGG: C00002

FORMULA: C9H11N2O9P

PUBCHEM: 3405

CHARGE: -2

CHEBI: 16695

KEGG: C00105

FORMULA: C19H29N2O12

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C9H11N2O9P

PUBCHEM: 3405

CHARGE: -2

CHEBI: 16695

KEGG: C00105

FORMULA: C21H32N7O16P3S

PUBCHEM: 3312

CHARGE: -4

CHEBI: 15346

KEGG: C00010

FORMULA: C19H29N2O12

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C8H13N2O5

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C10H12N4O4

PUBCHEM: 7859

CHARGE: 0

CHEBI: 28997

KEGG: C05512

FORMULA: C25H38N7O18P3S

PUBCHEM: 4375

CHARGE: -4

CHEBI: 15453

KEGG: C01144

FORMULA: C9H11N2O14P3

PUBCHEM: 3744

CHARGE: -4

CHEBI: 17625

KEGG: C00460

FORMULA: C10H12N4O4

PUBCHEM: 7859

CHARGE: 0

CHEBI: 28997

KEGG: C05512

FORMULA: C28H46N8O18P3S

PUBCHEM: 605

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C10H12N4O4

PUBCHEM: 7859

CHARGE: 0

CHEBI: 28997

KEGG: C05512

FORMULA: C6H8O10P

PUBCHEM: 7759

CHARGE: -3

CHEBI: 28547

KEGG: C05385

FORMULA: C46H70O2

PUBCHEM: 8106

CHARGE: 0

CHEBI: 1233

KEGG: C05811

FORMULA: C10H12N5O14P3

PUBCHEM: 3346

CHARGE: -4

CHEBI: 15996

KEGG: C00044

FORMULA: C15H19N5O6S

PUBCHEM: 7057

CHARGE: 0

CHEBI: 16490

KEGG: C04425

FORMULA: C127H210O58P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C10H12N5O14P3

PUBCHEM: 3346

CHARGE: -4

CHEBI: 15996

KEGG: C00044

FORMULA: C10H12N5O14P3

PUBCHEM: 3346

CHARGE: -4

CHEBI: 15996

KEGG: C00044

FORMULA: C7H14N2O4S

PUBCHEM: 5347

CHARGE: 0

CHEBI: 17482

KEGG: C02291

FORMULA: C10H13N5O4

PUBCHEM: 3512

CHARGE: 0

CHEBI: 16335

KEGG: C00212

FORMULA: C6H9O3

PUBCHEM: 3940

CHARGE: -1

CHEBI: 15614

KEGG: C00671

FORMULA: C62H88CoN13O14P

PUBCHEM: 4110

CHARGE: -1

CHEBI: 15982

KEGG: C00853

FORMULA: C5H10NOR

PUBCHEM: 5555

CHARGE: 1

CHEBI: 29164

KEGG: C02554

FORMULA: NO2

PUBCHEM: 3388

CHARGE: -1

CHEBI: 16301

KEGG: C00088

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C62H88CoN13O14P

PUBCHEM: 4110

CHARGE: -1

CHEBI: 15982

KEGG: C00853

FORMULA: C62H88CoN13O14P

PUBCHEM: 4110

CHARGE: -1

CHEBI: 15982

KEGG: C00853

FORMULA: NO2

PUBCHEM: 3388

CHARGE: -1

CHEBI: 16301

KEGG: C00088

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: NO2

PUBCHEM: 3388

CHARGE: -1

CHEBI: 16301

KEGG: C00088

FORMULA: C5H10O9P2

PUBCHEM: 13625

CHARGE: -2

CHEBI: 18425

KEGG: C11453

FORMULA: C6H6N2O

PUBCHEM: 3453

CHARGE: 0

CHEBI: 17154

KEGG: C00153

FORMULA: C110H196N2O39P2

PUBCHEM: 8298

CHARGE: -6

CHEBI: 27963

KEGG: C06026

FORMULA: C47H72O3

PUBCHEM: 958 ??5650

CHARGE: 0

CHEBI: 17551

KEGG: 0

FORMULA: C110H196N2O39P2

PUBCHEM: 8298

CHARGE: -6

CHEBI: 27963

KEGG: C06026

FORMULA: C6H7O9P

PUBCHEM: 656479???3385

CHARGE: -2

CHEBI: 15946

KEGG: 0

FORMULA: C110H196N2O39P2

PUBCHEM: 8298

CHARGE: -6

CHEBI: 27963

KEGG: C06026

FORMULA: CH2NO5P

PUBCHEM: 3469

CHARGE: -2

CHEBI: 17672

KEGG: C00169

FORMULA: C22H33N4O13

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C4H8N2O3

PUBCHEM: 3452

CHARGE: 0

CHEBI: 17196

KEGG: C00152

FORMULA: C4H8N2O3

PUBCHEM: 3452

CHARGE: 0

CHEBI: 17196

KEGG: C00152

FORMULA: C6H12N2O3

PUBCHEM: 4239

CHARGE: 0

CHEBI: 16576

KEGG: C00993

FORMULA: C22H33N4O13

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C6H12N2O3

PUBCHEM: 4239

CHARGE: 0

CHEBI: 16576

KEGG: C00993

FORMULA: C4H8N2O3

PUBCHEM: 3452

CHARGE: 0

CHEBI: 17196

KEGG: C00152

FORMULA: C47H72O2

PUBCHEM: 8107

CHARGE: 0

CHEBI: 1235

KEGG: C05812

FORMULA: C22H33N4O13

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C6H12N2O3

PUBCHEM: 4239

CHARGE: 0

CHEBI: 16576

KEGG: C00993

FORMULA: H2O2

PUBCHEM: 3329

CHARGE: 0

CHEBI: 16240

KEGG: C00027

FORMULA: C9H11N3O9P

PUBCHEM: 7321

CHARGE: -3

CHEBI: 28413

KEGG: C04751

FORMULA: C45H49CoN4O16

PUBCHEM: 0

CHARGE: -7

CHEBI: 0

KEGG: C16244

FORMULA: H2O2

PUBCHEM: 3329

CHARGE: 0

CHEBI: 16240

KEGG: C00027

FORMULA: C6H9N2O4

PUBCHEM: 3728

CHARGE: -1

CHEBI: 7274

KEGG: C00439

FORMULA: H2O2

PUBCHEM: 3329

CHARGE: 0

CHEBI: 16240

KEGG: C00027

FORMULA: C23H43N2O9PRS

PUBCHEM: 8052

CHARGE: -1

CHEBI: 0

KEGG: C05757

FORMULA: C17H17N5O10P

PUBCHEM: 6734

CHARGE: -1

CHEBI: 0

KEGG: C04030

FORMULA: C8H15O2

PUBCHEM: 8658

CHARGE: -1

CHEBI: 28837

KEGG: C06423

FORMULA: C7H9NO5

PUBCHEM: 3897

CHARGE: -2

CHEBI: 17533 44337

KEGG: C00624

FORMULA: C14H27O2

PUBCHEM: 8659

CHARGE: -1

CHEBI: 28875 30807

KEGG: C06424

FORMULA: C43H41CoN4O16

PUBCHEM: 13706

CHARGE: -7

CHEBI: 0

KEGG: C11539

FORMULA: C23H41N2O8PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C14H27O2

PUBCHEM: 8659

CHARGE: -1

CHEBI: 28875 30807

KEGG: C06424

FORMULA: C14H27O2

PUBCHEM: 8659

CHARGE: -1

CHEBI: 28875 30807

KEGG: C06424

FORMULA: C4H4N2O2

PUBCHEM: 3406

CHARGE: 0

CHEBI: 17568

KEGG: C00106

FORMULA: C3H8O3

PUBCHEM: 3416

CHARGE: 0

CHEBI: 17754

KEGG: C00116

FORMULA: C3H8O3

PUBCHEM: 3416

CHARGE: 0

CHEBI: 17754

KEGG: C00116

FORMULA: C4H4N2O2

PUBCHEM: 3406

CHARGE: 0

CHEBI: 17568

KEGG: C00106

FORMULA: C11H18NO8

PUBCHEM: 5676

CHARGE: -1

CHEBI: 0

KEGG: C02713

FORMULA:

PUBCHEM: 0

CHARGE: 1

CHEBI: 29287

KEGG: 0

FORMULA: C4H4N2O2

PUBCHEM: 3406

CHARGE: 0

CHEBI: 17568

KEGG: C00106

FORMULA: C100H176N2O38P2

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C3H8O3

PUBCHEM: 3416

CHARGE: 0

CHEBI: 17754

KEGG: C00116

FORMULA:

PUBCHEM: 853844

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C12H22O11

PUBCHEM: 4320

CHARGE: 0

CHEBI: 16551

KEGG: C01083

FORMULA: C12H22O11

PUBCHEM: 4320

CHARGE: 0

CHEBI: 16551

KEGG: C01083

FORMULA: C15H23N3O16P2

PUBCHEM: 3784

CHARGE: -2

CHEBI: 0

KEGG: C00501

FORMULA: C12H22O11

PUBCHEM: 4320

CHARGE: 0

CHEBI: 16551

KEGG: C01083

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C3H7NO3

PUBCHEM: 3365

CHARGE: 0

CHEBI: 17115

KEGG: C00065

FORMULA: C2H3O2

PUBCHEM: 3335

CHARGE: -1

CHEBI: 15366

KEGG: C00033

FORMULA: C3H7NO3

PUBCHEM: 3365

CHARGE: 0

CHEBI: 17115

KEGG: C00065

FORMULA: C3H7NO3

PUBCHEM: 3365

CHARGE: 0

CHEBI: 17115

KEGG: C00065

FORMULA: C6H9N3O

PUBCHEM: 4498

CHARGE: 0

CHEBI: 16892

KEGG: C01279

FORMULA: C5H9O4

PUBCHEM: 6935

CHARGE: -1

CHEBI: 15684 49072

KEGG: C04272

FORMULA: C2H3O2

PUBCHEM: 3335

CHARGE: -1

CHEBI: 15366

KEGG: C00033

FORMULA: C2H3O2

PUBCHEM: 3335

CHARGE: -1

CHEBI: 15366

KEGG: C00033

FORMULA: C21H42O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: CNS

PUBCHEM: 4888

CHARGE: -1

CHEBI: 29200

KEGG: C01755

FORMULA: C50H72O2

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C32H39N7O20P3S

PUBCHEM: 6045

CHARGE: -5

CHEBI: 15509

KEGG: C03160

FORMULA: CNS

PUBCHEM: 4888

CHARGE: -1

CHEBI: 29200

KEGG: C01755

FORMULA: CNS

PUBCHEM: 4888

CHARGE: -1

CHEBI: 29200

KEGG: C01755

FORMULA: C48H72CoN11O8

PUBCHEM: 8069

CHARGE: 0

CHEBI: 28956

KEGG: C05774

FORMULA: C34H52N6O19

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C2H4O

PUBCHEM: 3384

CHARGE: 0

CHEBI: 15343

KEGG: C00084

FORMULA: C176H303N2O100P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C31H56O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: C2H4O

PUBCHEM: 3384

CHARGE: 0

CHEBI: 15343

KEGG: C00084

FORMULA: C48H72CoN11O8

PUBCHEM: 8069

CHARGE: 0

CHEBI: 28956

KEGG: C05774

FORMULA: C48H72CoN11O8

PUBCHEM: 8069

CHARGE: 0

CHEBI: 28956

KEGG: C05774

FORMULA: C176H303N2O100P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C2H4O

PUBCHEM: 3384

CHARGE: 0

CHEBI: 15343

KEGG: C00084

FORMULA: C176H303N2O100P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C31H56O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: C10H11N4O9P

PUBCHEM: 3925

CHARGE: -2

CHEBI: 15652

KEGG: C00655

FORMULA: C10H11N4O9P

PUBCHEM: 3925

CHARGE: -2

CHEBI: 15652

KEGG: C00655

FORMULA: Mg

PUBCHEM: 3599

CHARGE: 2

CHEBI: 18420

KEGG: C00305

FORMULA: C10H11N4O9P

PUBCHEM: 3925

CHARGE: -2

CHEBI: 15652

KEGG: C00655

FORMULA: C14H24O12

PUBCHEM: 5209

CHARGE: 0

CHEBI: 2411

KEGG: C02130

FORMULA: C9H12N5O7P

PUBCHEM: 8213

CHARGE: -2

CHEBI: 48954

KEGG: C05925

FORMULA: Mg

PUBCHEM: 3599

CHARGE: 2

CHEBI: 18420

KEGG: C00305

FORMULA: Mg

PUBCHEM: 3599

CHARGE: 2

CHEBI: 18420

KEGG: C00305

FORMULA: C7H9O6

PUBCHEM: 4196

CHARGE: -1

CHEBI: 17947 32364

KEGG: C00944

FORMULA: C5H8O4

PUBCHEM: 14000

CHARGE: 0

CHEBI: 0

KEGG: C11838

FORMULA: C60H100N1O7P1

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C6H6O24P6

PUBCHEM: 4428

CHARGE: -12

CHEBI: 17401

KEGG: C01204

FORMULA: H4N

PUBCHEM: 4547

CHARGE: 1

CHEBI: 28938

KEGG: C01342

FORMULA: C10H12N4O5

PUBCHEM: 3588

CHARGE: 0

CHEBI: 17596

KEGG: C00294

FORMULA: C60H100N1O7P1

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: H4N

PUBCHEM: 4547

CHARGE: 1

CHEBI: 28938

KEGG: C01342

FORMULA: H4N

PUBCHEM: 4547

CHARGE: 1

CHEBI: 28938

KEGG: C01342

FORMULA: C6H6O24P6

PUBCHEM: 4428

CHARGE: -12

CHEBI: 17401

KEGG: C01204

FORMULA: C6H11O7PS

PUBCHEM: 7183

CHARGE: -2

CHEBI: 28096

KEGG: C04582

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C5H9O7P

PUBCHEM: 3942

CHARGE: -2

CHEBI: 16132

KEGG: C00673

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C37H74N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C80H124N16O42

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C37H74N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C10H12N5O11P2

PUBCHEM: 3337

CHARGE: -3

CHEBI: 17552

KEGG: C00035

FORMULA: C10H12N5O11P2

PUBCHEM: 3337

CHARGE: -3

CHEBI: 17552

KEGG: C00035

FORMULA: C12H21O14P

PUBCHEM: 3958

CHARGE: -2

CHEBI: 18283

KEGG: C00689

FORMULA: C5H9NO3

PUBCHEM: 3719

CHARGE: 0

CHEBI: 17549

KEGG: C00430

FORMULA: C10H12N5O11P2

PUBCHEM: 3337

CHARGE: -3

CHEBI: 17552

KEGG: C00035

FORMULA: C11H15N5O3S

PUBCHEM: 3470

CHARGE: 0

CHEBI: 17509

KEGG: C00170

FORMULA: C17H33O7P1

PUBCHEM: 3950

CHARGE: -2

CHEBI: 16975

KEGG: C00681

FORMULA: C6H9O7

PUBCHEM: 4301

CHARGE: -1

CHEBI: 17426

KEGG: C01062

FORMULA: C7H10O5

PUBCHEM: 5516

CHARGE: -2

CHEBI: 1178 35128

KEGG: C02504

FORMULA: C33H54N7O17P3S

PUBCHEM: 4951

CHARGE: -4

CHEBI: 15521

KEGG: C01832

FORMULA: C3H8O2

PUBCHEM: 5840

CHARGE: 0

CHEBI: 29002

KEGG: C02917

FORMULA: C3H8O2

PUBCHEM: 5840

CHARGE: 0

CHEBI: 29002

KEGG: C02917

FORMULA: C17H33O7P1

PUBCHEM: 3950

CHARGE: -2

CHEBI: 16975

KEGG: C00681

FORMULA: C5H6O3

PUBCHEM: 4564493??3441

CHARGE: 0

CHEBI: 11851 16530

KEGG: 0

FORMULA: C3H8O2

PUBCHEM: 5840

CHARGE: 0

CHEBI: 29002

KEGG: C02917

FORMULA: C343H570O211P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C77H119N15O41

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: R

PUBCHEM: 4785

CHARGE: 0

CHEBI: 29171

KEGG: C01636

FORMULA: C4H6NO7P

PUBCHEM: 5980

CHARGE: -2

CHEBI: 15836

KEGG: C03082

FORMULA: C18H30N5O9

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C18H30N5O9

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C4H5N3O

PUBCHEM: 3670

CHARGE: 0

CHEBI: 16040

KEGG: C00380

FORMULA: C6H9O7

PUBCHEM: 4301

CHARGE: -1

CHEBI: 17426

KEGG: C01062

FORMULA: C415H690O262P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C6H13NO8P

PUBCHEM: 8412

CHARGE: -1

CHEBI: 27625

KEGG: C06156

FORMULA: C4H5N3O

PUBCHEM: 3670

CHARGE: 0

CHEBI: 16040

KEGG: C00380

FORMULA: C4H5N3O

PUBCHEM: 3670

CHARGE: 0

CHEBI: 16040

KEGG: C00380

FORMULA: C6H11O9P

PUBCHEM: 3734

CHARGE: -2

CHEBI: 17973

KEGG: C00446

FORMULA: C10H17N2O3

PUBCHEM: 5017

CHARGE: -1

CHEBI: 16691

KEGG: C01909

FORMULA: C5H7O3

PUBCHEM: 3441

CHARGE: -1

CHEBI: 11851 16530

KEGG: C00141

FORMULA: C6H11O9P

PUBCHEM: 3734

CHARGE: -2

CHEBI: 17973

KEGG: C00446

FORMULA: C9H14N5O8P

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C6H11O9P

PUBCHEM: 3734

CHARGE: -2

CHEBI: 17973

KEGG: C00446

FORMULA: C9H11N2O9P

PUBCHEM: 3405

CHARGE: -2

CHEBI: 16695

KEGG: C00105

FORMULA: C22H44O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C10H11N4O12P2

PUBCHEM: 4545

CHARGE: -3

CHEBI: 0

KEGG: C01337

FORMULA: R

PUBCHEM: 4791

CHARGE: 0

CHEBI: 29176

KEGG: C01642

FORMULA: C5H4N4O2

PUBCHEM: 3675

CHARGE: 0

CHEBI: 17712

KEGG: C00385

FORMULA: C7H8O6

PUBCHEM: 7924

CHARGE: -2

CHEBI: 0

KEGG: C05601

FORMULA: C5H4N4O2

PUBCHEM: 3675

CHARGE: 0

CHEBI: 17712

KEGG: C00385

FORMULA: C34H30FeN4O4

PUBCHEM: 3334

CHARGE: -2

CHEBI: 17627

KEGG: C00032

FORMULA: C16H20N1O11

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C7H9N5O2

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C5H4N4O2

PUBCHEM: 3675

CHARGE: 0

CHEBI: 17712

KEGG: C00385

FORMULA: C11H17NO11P

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C4H3NO4

PUBCHEM: 8133

CHARGE: -2

CHEBI: 0

KEGG: C05840

FORMULA: C10H11N4O10P2

PUBCHEM: 4549

CHARGE: -3

CHEBI: 0

KEGG: C01344

FORMULA: C22H42O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C5H4N4O

PUBCHEM: 3560

CHARGE: 0

CHEBI: 17368

KEGG: C00262

FORMULA: C5H4N4O

PUBCHEM: 3560

CHARGE: 0

CHEBI: 17368

KEGG: C00262

FORMULA: C42H47N3O25

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C22H42O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C5H4N4O

PUBCHEM: 3560

CHARGE: 0

CHEBI: 17368

KEGG: C00262

FORMULA: C3H5O2

PUBCHEM: 3463

CHARGE: -1

CHEBI: 30768

KEGG: C00163

FORMULA: C7H22N3

PUBCHEM: 3609

CHARGE: 3

CHEBI: 16610

KEGG: C00315

FORMULA: C7H22N3

PUBCHEM: 3609

CHARGE: 3

CHEBI: 16610

KEGG: C00315

FORMULA: C68H102N12O37

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C7H22N3

PUBCHEM: 3609

CHARGE: 3

CHEBI: 16610

KEGG: C00315

FORMULA: C3H5O2

PUBCHEM: 3463

CHARGE: -1

CHEBI: 30768

KEGG: C00163

FORMULA: C3H5O2

PUBCHEM: 3463

CHARGE: -1

CHEBI: 30768

KEGG: C00163

FORMULA: XH2

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C17H31N2O8PRS

PUBCHEM: 8044

CHARGE: -1

CHEBI: 0

KEGG: C05749

FORMULA: C9H12N3O7P

PUBCHEM: 3538

CHARGE: -2

CHEBI: 15918

KEGG: C00239

FORMULA: C6H12O6

PUBCHEM: 4738

CHARGE: 0

CHEBI: 28260

KEGG: C01582

FORMULA: C9H12N3O7P

PUBCHEM: 3538

CHARGE: -2

CHEBI: 15918

KEGG: C00239

FORMULA: C18H36O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C9H12N3O7P

PUBCHEM: 3538

CHARGE: -2

CHEBI: 15918

KEGG: C00239

FORMULA: C18H36O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H12O5

PUBCHEM: 4264

CHARGE: 0

CHEBI: 2181

KEGG: C01019

FORMULA: C6H12O5

PUBCHEM: 4264

CHARGE: 0

CHEBI: 2181

KEGG: C01019

FORMULA: C27H47N2O9PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: HO7P2

PUBCHEM: 3315

CHARGE: -3

CHEBI: 18361 29888

KEGG: C00013

FORMULA: C2H2NO3

PUBCHEM: 4622

CHARGE: -1

CHEBI: 18058

KEGG: C01444

FORMULA: C14H22N2O10PRS

PUBCHEM: 4431

CHARGE: -2

CHEBI: 0

KEGG: C01209

FORMULA: C6H12O5

PUBCHEM: 4264

CHARGE: 0

CHEBI: 2181

KEGG: C01019

FORMULA: C95H152N8O28P2

PUBCHEM: 8186

CHARGE: -4

CHEBI: 0

KEGG: C05898

FORMULA: C9H13N4O9P

PUBCHEM: 4487

CHARGE: -2

CHEBI: 18337

KEGG: C01268

FORMULA: C5H5N5O

PUBCHEM: 3541

CHARGE: 0

CHEBI: 16235

KEGG: C00242

FORMULA: C10H13N4O9P

PUBCHEM: 7305

CHARGE: -2

CHEBI: 18381

KEGG: C04734

FORMULA: C5H9NO3

PUBCHEM: 4392

CHARGE: 0

CHEBI: 17232

KEGG: C01165

FORMULA: C6H14NO2S

PUBCHEM: 6054

CHARGE: 1

CHEBI: 17728

KEGG: C03172

FORMULA: C6H12O6

PUBCHEM: 3424

CHARGE: 0

CHEBI: 4139

KEGG: C00124

FORMULA: C6H12O6

PUBCHEM: 3424

CHARGE: 0

CHEBI: 4139

KEGG: C00124

FORMULA: C6H14NO2S

PUBCHEM: 6054

CHARGE: 1

CHEBI: 17728

KEGG: C03172

FORMULA: C6H12O6

PUBCHEM: 3424

CHARGE: 0

CHEBI: 4139

KEGG: C00124

FORMULA: C7H14N2O8P

PUBCHEM: 6578

CHARGE: -1

CHEBI: 18349

KEGG: C03838

FORMULA: C6H8O10P

PUBCHEM: 7759

CHARGE: -3

CHEBI: 28547

KEGG: C05385

FORMULA: C42H47FeN3O25

PUBCHEM: 0

CHARGE: 3

CHEBI: 0

KEGG: 0

FORMULA: C9H13N3O5

PUBCHEM: 3758

CHARGE: 0

CHEBI: 17562

KEGG: C00475

FORMULA: C42H47FeN3O25

PUBCHEM: 0

CHARGE: 3

CHEBI: 0

KEGG: 0

FORMULA: C9H13N3O5

PUBCHEM: 3758

CHARGE: 0

CHEBI: 17562

KEGG: C00475

FORMULA: C55H89O4P

PUBCHEM: 3641

CHARGE: -2

CHEBI: 16141

KEGG: C00348

FORMULA: C42H47FeN3O25

PUBCHEM: 0

CHARGE: 3

CHEBI: 0

KEGG: 0

FORMULA: C9H13N3O5

PUBCHEM: 3758

CHARGE: 0

CHEBI: 17562

KEGG: C00475

FORMULA: C26H40N7O26P5S

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C42H82O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C57H108O17P2

PUBCHEM: 8259

CHARGE: -2

CHEBI: 0

KEGG: C05980

FORMULA: C27H45FeN6O9

PUBCHEM: 167864

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C5H5N5O

PUBCHEM: 3541

CHARGE: 0

CHEBI: 16235

KEGG: C00242

FORMULA: X

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C27H45FeN6O9

PUBCHEM: 167864

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C5H5N5O

PUBCHEM: 3541

CHARGE: 0

CHEBI: 16235

KEGG: C00242

FORMULA: C27H45FeN6O9

PUBCHEM: 167864

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C272H447N14O160P4

PUBCHEM: 0

CHARGE: -15

CHEBI: 0

KEGG: 0

FORMULA: C16H22N2O15P2

PUBCHEM: 3956

CHARGE: -2

CHEBI: 16128

KEGG: C00687

FORMULA: C126H226N2O40P2

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C15H23N3O14P2

PUBCHEM: 4916

CHARGE: -2

CHEBI: 16049

KEGG: C01788

FORMULA:

PUBCHEM: 4395

CHARGE: -2

CHEBI: 18116

KEGG: C01168

FORMULA: C272H447N14O160P4

PUBCHEM: 0

CHARGE: -15

CHEBI: 0

KEGG: 0

FORMULA: C35H52N6O13

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C35H52N6O13

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: X

PUBCHEM: 3636

CHARGE: 0

CHEBI: 18191

KEGG: C00343

FORMULA: C35H52N6O13

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C31H59O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C19H37O7P1

PUBCHEM: 3950

CHARGE: -2

CHEBI: 16975

KEGG: C00681

FORMULA: C16H23N5O15P2

PUBCHEM: 3781

CHARGE: -2

CHEBI: 15751

KEGG: C00498

FORMULA: C7H10NO4

PUBCHEM: 4470

CHARGE: -1

CHEBI: 16319 29123

KEGG: C01250

FORMULA: C31H59O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C5H11O7P

PUBCHEM: 13606

CHARGE: -2

CHEBI: 17764

KEGG: C11434

FORMULA: C12H21O14P

PUBCHEM: 5904

CHARGE: -2

CHEBI: 15703

KEGG: C02995

FORMULA: C10H16N3O6S

PUBCHEM: 3353

CHARGE: -1

CHEBI: 16856

KEGG: C00051

FORMULA: C74H114N14O40

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C22H33FeN4O13

PUBCHEM: 7887

CHARGE: 0

CHEBI: 18157

KEGG: C05554

FORMULA: C14H17N2O7P

PUBCHEM: 7342

CHARGE: -2

CHEBI: 16837

KEGG: C04778

FORMULA: C7H9O5

PUBCHEM: 3776

CHARGE: -1

CHEBI: 16119

KEGG: C00493

FORMULA: C10H13N5O4

PUBCHEM: 3512

CHARGE: 0

CHEBI: 16335

KEGG: C00212

FORMULA: C22H33FeN4O13

PUBCHEM: 7887

CHARGE: 0

CHEBI: 18157

KEGG: C05554

FORMULA: C22H33FeN4O13

PUBCHEM: 7887

CHARGE: 0

CHEBI: 18157

KEGG: C05554

FORMULA: C30H27N3O15

PUBCHEM: 8116

CHARGE: 0

CHEBI: 28855

KEGG: C05821

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C9H16NO5

PUBCHEM: 4121

CHARGE: -1

CHEBI: 29032 46905 7916

KEGG: C00864

FORMULA: C27H48N6O9

PUBCHEM: 167864

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: H

PUBCHEM: 3380

CHARGE: 1

CHEBI: 15378

KEGG: C00080

FORMULA: HO3P

PUBCHEM: 8926

CHARGE: -2

CHEBI: 0

KEGG: C06701

FORMULA: C5H16N2

PUBCHEM: 4816

CHARGE: 2

CHEBI: 18127

KEGG: C01672

FORMULA: C12H22O11

PUBCHEM: 3542

CHARGE: 0

CHEBI: 36219

KEGG: C00243

FORMULA: H

PUBCHEM: 3380

CHARGE: 1

CHEBI: 15378

KEGG: C00080

FORMULA: H

PUBCHEM: 3380

CHARGE: 1

CHEBI: 15378

KEGG: C00080

FORMULA: C5H16N2

PUBCHEM: 4816

CHARGE: 2

CHEBI: 18127

KEGG: C01672

FORMULA: C3H5NO3

PUBCHEM: 13986

CHARGE: 0

CHEBI: 37012

KEGG: C11822

FORMULA: C42H47N3O25

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C12H22O11

PUBCHEM: 3542

CHARGE: 0

CHEBI: 36219

KEGG: C00243

FORMULA: HO3P

PUBCHEM: 8926

CHARGE: -2

CHEBI: 0

KEGG: C06701

FORMULA: C5H16N2

PUBCHEM: 4816

CHARGE: 2

CHEBI: 18127

KEGG: C01672

FORMULA: C12H10FeO14

PUBCHEM: 8472

CHARGE: -3

CHEBI: 0

KEGG: C06229

FORMULA: C24H33N7O19P3S

PUBCHEM: 3383

CHARGE: -5

CHEBI: 15531

KEGG: C00083

FORMULA: XH2

PUBCHEM: 5705

CHARGE: 0

CHEBI: 0

KEGG: C02745

FORMULA:

PUBCHEM: 3959

CHARGE: 0

CHEBI: 17811

KEGG: C00691

FORMULA: C20H30N6O12S2

PUBCHEM: 3427

CHARGE: -2

CHEBI: 17858

KEGG: C00127

FORMULA: C16H22N2O15P2

PUBCHEM: 3957

CHARGE: -2

CHEBI: 15744

KEGG: C00688

FORMULA: C10H12N5O10P2

PUBCHEM: 3310

CHARGE: -3

CHEBI: 16761

KEGG: C00008

FORMULA: C20H30N6O12S2

PUBCHEM: 3427

CHARGE: -2

CHEBI: 17858

KEGG: C00127

FORMULA: C35H51N7O26P2

PUBCHEM: 7429

CHARGE: -4

CHEBI: 0

KEGG: C04877

FORMULA: Zn

PUBCHEM: 3340

CHARGE: 2

CHEBI: 29105

KEGG: C00038

FORMULA: C4H4O5

PUBCHEM: 3780

CHARGE: -2

CHEBI: 30796

KEGG: C00497

FORMULA: C4H4O5

PUBCHEM: 3780

CHARGE: -2

CHEBI: 30796

KEGG: C00497

FORMULA:

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C19H38NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C34H30FeN4O4

PUBCHEM: 3334

CHARGE: -2

CHEBI: 17627

KEGG: C00032

FORMULA: C25H45N2O8PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C151H250O75P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C34H30FeN4O4

PUBCHEM: 3334

CHARGE: -2

CHEBI: 17627

KEGG: C00032

FORMULA: C4H4O5

PUBCHEM: 3780

CHARGE: -2

CHEBI: 30796

KEGG: C00497

FORMULA: C17H36NO7P1

PUBCHEM: 7069

CHARGE: 0

CHEBI: 0

KEGG: C04438

FORMULA: C19H38NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C10H9O10P

PUBCHEM: 4488

CHARGE: -4

CHEBI: 16257

KEGG: C01269

FORMULA: C43H43CoN4O16

PUBCHEM: 0

CHARGE: -7

CHEBI: 0

KEGG: C16243

FORMULA: C4H2O4

PUBCHEM: 3422

CHARGE: -2

CHEBI: 18012

KEGG: C00122

FORMULA: C17H25N5O16P2

PUBCHEM: 8633

CHARGE: -2

CHEBI: 16693

KEGG: C06397

FORMULA: C4H2O4

PUBCHEM: 3422

CHARGE: -2

CHEBI: 18012

KEGG: C00122

FORMULA: C9H11N3O9P

PUBCHEM: 7321

CHARGE: -3

CHEBI: 28413

KEGG: C04751

FORMULA: C5H9O8P

PUBCHEM: 3417

CHARGE: -2

CHEBI: 17797

KEGG: C00117

FORMULA: C10H11N5O7P

PUBCHEM: 8444

CHARGE: -1

CHEBI: 0

KEGG: C06194

FORMULA: C4H2O4

PUBCHEM: 3422

CHARGE: -2

CHEBI: 18012

KEGG: C00122

FORMULA: C67H110O16P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C10H11N5O7P

PUBCHEM: 8444

CHARGE: -1

CHEBI: 0

KEGG: C06194

FORMULA: C5H9O8P

PUBCHEM: 3417

CHARGE: -2

CHEBI: 17797

KEGG: C00117

FORMULA: C5H9O8P

PUBCHEM: 3417

CHARGE: -2

CHEBI: 17797

KEGG: C00117

FORMULA: R

PUBCHEM: 4795

CHARGE: 0

CHEBI: 29185

KEGG: C01646

FORMULA: C38H73O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA: C30H27N3O15

PUBCHEM: 8116

CHARGE: 0

CHEBI: 28855

KEGG: C05821

FORMULA: C38H73O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA: O6S4

PUBCHEM: 5169

CHARGE: -2

CHEBI: 15226 16853

KEGG: C02084

FORMULA: RHO

PUBCHEM: 6463

CHARGE: 0

CHEBI: 0

KEGG: C03688

FORMULA: C5H9O7P2

PUBCHEM: 3534

CHARGE: -3

CHEBI: 16057

KEGG: C00235

FORMULA: C30H27N3O15

PUBCHEM: 8116

CHARGE: 0

CHEBI: 28855

KEGG: C05821

FORMULA: C10H11N4O15P3

PUBCHEM: 3968

CHARGE: -4

CHEBI: 0

KEGG: C00700

FORMULA: C5H5N5

PUBCHEM: 3447

CHARGE: 0

CHEBI: 16708

KEGG: C00147

FORMULA: C5H5N5

PUBCHEM: 3447

CHARGE: 0

CHEBI: 16708

KEGG: C00147

FORMULA: C42H47N3O25

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C6H14O6

PUBCHEM: 4837

CHARGE: 0

CHEBI: 16813

KEGG: C01697

FORMULA: C40H74O10P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C5H5N5

PUBCHEM: 3447

CHARGE: 0

CHEBI: 16708

KEGG: C00147

FORMULA: C6H14O6

PUBCHEM: 4837

CHARGE: 0

CHEBI: 16813

KEGG: C01697

FORMULA: C39H64N7O17P3S

PUBCHEM: 47205526

CHARGE: -4

CHEBI: 0

KEGG: C16218

FORMULA: C21H42O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA:

PUBCHEM: 8326

CHARGE: 0

CHEBI: 0

KEGG: C06056

FORMULA: C3H9NO

PUBCHEM: 6071

CHARGE: 0

CHEBI: 15675

KEGG: C03194

FORMULA: C3H9N2O2

PUBCHEM: 8629

CHARGE: 1

CHEBI: 18383

KEGG: C06393

FORMULA: C4H9NO4

PUBCHEM: 8326

CHARGE: 0

CHEBI: 0

KEGG: C06056

FORMULA: C34H32N4O4

PUBCHEM: 5261

CHARGE: -2

CHEBI: 15430

KEGG: C02191

FORMULA: C3H9N2O2

PUBCHEM: 8629

CHARGE: 1

CHEBI: 18383

KEGG: C06393

FORMULA: C6H8O9P

PUBCHEM: 4505

CHARGE: -3

CHEBI: 17860

KEGG: C01286

FORMULA:

PUBCHEM: 8326

CHARGE: 0

CHEBI: 0

KEGG: C06056

FORMULA: C3H9N2O2

PUBCHEM: 8629

CHARGE: 1

CHEBI: 18383

KEGG: C06393

FORMULA: C3H5N2O4

PUBCHEM: 3878

CHARGE: -1

CHEBI: 15412

KEGG: C00603

FORMULA: C18H35O2

PUBCHEM: 4692

CHARGE: -1

CHEBI: 25629

KEGG: C01530

FORMULA: C6H13NO2

PUBCHEM: 3697

CHARGE: 0

CHEBI: 17191

KEGG: C00407

FORMULA: C16H28N2O11

PUBCHEM: 4818

CHARGE: 0

CHEBI: 0

KEGG: C01674

FORMULA: C45H52CoN4O14

PUBCHEM: 8068

CHARGE: -6

CHEBI: 33907

KEGG: C05773

FORMULA: C17H25N3O17P2

PUBCHEM: 4397

CHARGE: -2

CHEBI: 16287

KEGG: C01170

FORMULA: C6H13NO2

PUBCHEM: 3697

CHARGE: 0

CHEBI: 17191

KEGG: C00407

FORMULA: C10H16N3O6S

PUBCHEM: 3353

CHARGE: -1

CHEBI: 16856

KEGG: C00051

FORMULA: C18H35O2

PUBCHEM: 4692

CHARGE: -1

CHEBI: 25629

KEGG: C01530

FORMULA: C18H35O2

PUBCHEM: 4692

CHARGE: -1

CHEBI: 25629

KEGG: C01530

FORMULA: C6H5N2O2

PUBCHEM: 4043

CHARGE: -1

CHEBI: 30817

KEGG: C00785

FORMULA: C10H16N3O6S

PUBCHEM: 3353

CHARGE: -1

CHEBI: 16856

KEGG: C00051

FORMULA: C6H13NO2

PUBCHEM: 3697

CHARGE: 0

CHEBI: 17191

KEGG: C00407

FORMULA:

PUBCHEM: 4818

CHARGE: 0

CHEBI: 0

KEGG: C01674

FORMULA: C3H5O3

PUBCHEM: 3555

CHARGE: -1

CHEBI: 42111

KEGG: C00256

FORMULA: C45H52CoN4O14

PUBCHEM: 13712

CHARGE: -6

CHEBI: 0

KEGG: C11545

FORMULA: O2S

PUBCHEM: 11497

CHARGE: 0

CHEBI: 18422

KEGG: C09306

FORMULA: C36H40N4O8

PUBCHEM: 6127

CHARGE: -4

CHEBI: 15439

KEGG: C03263

FORMULA: H2O3PSe

PUBCHEM: 7583

CHARGE: -1

CHEBI: 16144

KEGG: C05172

FORMULA: C3H5O3

PUBCHEM: 3555

CHARGE: -1

CHEBI: 42111

KEGG: C00256

FORMULA: C3H5O3

PUBCHEM: 3555

CHARGE: -1

CHEBI: 42111

KEGG: C00256

FORMULA: O2S

PUBCHEM: 11497

CHARGE: 0

CHEBI: 18422

KEGG: C09306

FORMULA: C47H69O3

PUBCHEM: 8104

CHARGE: -1

CHEBI: 1617 50116

KEGG: C05809

FORMULA: C26H39N5O14

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C6H8O6

PUBCHEM: 3372

CHARGE: 0

CHEBI: 29073 38290

KEGG: C00072

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C9H7O3

PUBCHEM: 3466

CHARGE: -1

CHEBI: 30851

KEGG: C00166

FORMULA: C20H24N7O6

PUBCHEM: 3729

CHARGE: -1

CHEBI: 15641

KEGG: C00440

FORMULA: C8H5O7

PUBCHEM: 6862

CHARGE: -3

CHEBI: 2040

KEGG: C04186

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C6H8O6

PUBCHEM: 3372

CHARGE: 0

CHEBI: 29073 38290

KEGG: C00072

FORMULA: C12H22O11

PUBCHEM: 7769

CHARGE: 0

CHEBI: 28053

KEGG: C05402

FORMULA: C4H14N2

PUBCHEM: 3434

CHARGE: 2

CHEBI: 17148

KEGG: C00134

FORMULA: C6H13O9P

PUBCHEM: 3917

CHARGE: -2

CHEBI: 16298

KEGG: C00644

FORMULA: C4H14N2

PUBCHEM: 3434

CHARGE: 2

CHEBI: 17148

KEGG: C00134

FORMULA: C12H22O11

PUBCHEM: 7769

CHARGE: 0

CHEBI: 28053

KEGG: C05402

FORMULA: C23H33N4O20P2

PUBCHEM: 4434

CHARGE: -3

CHEBI: 16932

KEGG: C01212

FORMULA: C4H14N2

PUBCHEM: 3434

CHARGE: 2

CHEBI: 17148

KEGG: C00134

FORMULA: C5H8NO4

PUBCHEM: 3327

CHARGE: -1

CHEBI: 16015

KEGG: C00025

FORMULA: C5H8NO4

PUBCHEM: 3327

CHARGE: -1

CHEBI: 16015

KEGG: C00025

FORMULA: R

PUBCHEM: 4801

CHARGE: 0

CHEBI: 29181

KEGG: C01652

FORMULA: C5H8NO4

PUBCHEM: 3327

CHARGE: -1

CHEBI: 16015

KEGG: C00025

FORMULA: C4H4O6

PUBCHEM: 4154

CHARGE: -2

CHEBI: 15671 30924

KEGG: C00898

FORMULA: C4H4O6

PUBCHEM: 4154

CHARGE: -2

CHEBI: 15671 30924

KEGG: C00898

FORMULA: C4H4O6

PUBCHEM: 4154

CHARGE: -2

CHEBI: 15671 30924

KEGG: C00898

FORMULA: C41H82N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C3H4O10P2

PUBCHEM: 3535

CHARGE: -4

CHEBI: 16001

KEGG: C00236

FORMULA: C5H9NO3

PUBCHEM: 6504

CHARGE: 0

CHEBI: 15757

KEGG: C03741

FORMULA: C12H16N4O4PS

PUBCHEM: 4319

CHARGE: -1

CHEBI: 9533

KEGG: C01081

FORMULA: Ag

PUBCHEM: 8935

CHARGE: 1

CHEBI: 9141

KEGG: C06710

FORMULA: C6H11O9P

PUBCHEM: 4332

CHARGE: -2

CHEBI: 4251

KEGG: C01097

FORMULA: C511H850O330P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C9H12N3O11P2

PUBCHEM: 3412

CHARGE: -3

CHEBI: 17239

KEGG: C00112

FORMULA: CH3O3S

PUBCHEM: 49991312

CHARGE: -1

CHEBI: 25224

KEGG: 0

FORMULA: C34H66O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C6H13NO8P

PUBCHEM: 3081457

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H13NO8P

PUBCHEM: 3081457

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H15N4O2

PUBCHEM: 3362

CHARGE: 1

CHEBI: 16467

KEGG: C00062

FORMULA: O3S2

PUBCHEM: 3614

CHARGE: -2

CHEBI: 16094

KEGG: C00320

FORMULA: C34H66O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C6H15N4O2

PUBCHEM: 3362

CHARGE: 1

CHEBI: 16467

KEGG: C00062

FORMULA: C3H2O6P

PUBCHEM: 3374

CHARGE: -3

CHEBI: 18021 44897

KEGG: C00074

FORMULA: C6H15N4O2

PUBCHEM: 3362

CHARGE: 1

CHEBI: 16467

KEGG: C00062

FORMULA: XH2

PUBCHEM: 3635

CHARGE: 0

CHEBI: 15967

KEGG: C00342

FORMULA: C6H13NO8P

PUBCHEM: 3081457

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: O3S2

PUBCHEM: 3614

CHARGE: -2

CHEBI: 16094

KEGG: C00320

FORMULA: O3S2

PUBCHEM: 3614

CHARGE: -2

CHEBI: 16094

KEGG: C00320

FORMULA: C9H11N2O11P2

PUBCHEM: 4551

CHARGE: -3

CHEBI: 28850

KEGG: C01346

FORMULA:

PUBCHEM: 3522

CHARGE: -1

CHEBI: 17960

KEGG: C00222

FORMULA: C6H8O8

PUBCHEM: 4076

CHARGE: -2

CHEBI: 16002

KEGG: C00818

FORMULA: C8H11NO3

PUBCHEM: 3608

CHARGE: 0

CHEBI: 16709

KEGG: C00314

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C6H5O7

PUBCHEM: 3458

CHARGE: -3

CHEBI: 30769

KEGG: C00158

FORMULA: C48H87N3O15P2

PUBCHEM: 3567

CHARGE: -2

CHEBI: 0

KEGG: C00269

FORMULA: C6H5O7

PUBCHEM: 3458

CHARGE: -3

CHEBI: 30769

KEGG: C00158

FORMULA: C6H8O8

PUBCHEM: 4076

CHARGE: -2

CHEBI: 16002

KEGG: C00818

FORMULA: C6H5O7

PUBCHEM: 3458

CHARGE: -3

CHEBI: 30769

KEGG: C00158

FORMULA: C6H10O12P2

PUBCHEM: 3647

CHARGE: -4

CHEBI: 16905

KEGG: C00354

FORMULA: C2H5O4S

PUBCHEM: 7545

CHARGE: -1

CHEBI: 0

KEGG: C05123

FORMULA: C42H78O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C25H36N7O18P3S

PUBCHEM: 3626

CHARGE: -4

CHEBI: 15345

KEGG: C00332

FORMULA: C2H5O4S

PUBCHEM: 7545

CHARGE: -1

CHEBI: 0

KEGG: C05123

FORMULA: C42H78O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C29H51N2O8PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C21H39O7P1

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C6H8N3O4P

PUBCHEM: 7161

CHARGE: -2

CHEBI: 18032

KEGG: C04556

FORMULA: C21H39O7P1

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C43H82N1O8P1

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C10H10NO5

PUBCHEM: 13530

CHARGE: -1

CHEBI: 18198 35181

KEGG: C11355

FORMULA: C27H51N2O9PRS

PUBCHEM: 7222

CHARGE: -1

CHEBI: 0

KEGG: C04633

FORMULA: C16H29O2

PUBCHEM: 3548

CHARGE: -1

CHEBI: 15756

KEGG: C00249

FORMULA: C42H81O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA: C6H9O7

PUBCHEM: 3627

CHARGE: -1

CHEBI: 0

KEGG: C00333

FORMULA: C16H29O2

PUBCHEM: 3548

CHARGE: -1

CHEBI: 15756

KEGG: C00249

FORMULA: C10H8O6

PUBCHEM: 3553

CHARGE: -2

CHEBI: 16666

KEGG: C00254

FORMULA: C16H29O2

PUBCHEM: 3548

CHARGE: -1

CHEBI: 15756

KEGG: C00249

FORMULA: C6H9O7

PUBCHEM: 3627

CHARGE: -1

CHEBI: 0

KEGG: C00333

FORMULA: C6H9O7

PUBCHEM: 3627

CHARGE: -1

CHEBI: 0

KEGG: C00333

FORMULA: C42H81O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA: C6H3O6

PUBCHEM: 3707

CHARGE: -3

CHEBI: 32805

KEGG: C00417

FORMULA: C5H10O5

PUBCHEM: 4676

CHARGE: 0

CHEBI: 28480

KEGG: C01508

FORMULA: C39H72O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: C6H3O6

PUBCHEM: 3707

CHARGE: -3

CHEBI: 32805

KEGG: C00417

FORMULA: C6H11O8P

PUBCHEM: 4362

CHARGE: -2

CHEBI: 17892

KEGG: C01131

FORMULA: C5H10O5

PUBCHEM: 4676

CHARGE: 0

CHEBI: 28480

KEGG: C01508

FORMULA: C39H72O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: C12H25N2O7

PUBCHEM: 0

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA: C6H3O6

PUBCHEM: 5390

CHARGE: -3

CHEBI: 32806

KEGG: C02341

FORMULA: C5H4N4O3

PUBCHEM: 3657

CHARGE: 0

CHEBI: 17775

KEGG: C00366

FORMULA: C12H25N2O7

PUBCHEM: 0

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA: C16H21N5O15P2

PUBCHEM: 16760491

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C9H18O11P

PUBCHEM: 4447

CHARGE: -1

CHEBI: 18321

KEGG: C01225

FORMULA: C9H18O11P

PUBCHEM: 4447

CHARGE: -1

CHEBI: 18321

KEGG: C01225

FORMULA: C9H18O11P

PUBCHEM: 4447

CHARGE: -1

CHEBI: 18321

KEGG: C01225

FORMULA: C487H810O313P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: 8119

CHARGE: -1

CHEBI: 0

KEGG: C05824

FORMULA: C48H86O11P

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C2H6O

PUBCHEM: 3752

CHARGE: 0

CHEBI: 16236

KEGG: C00469

FORMULA: C2H6O

PUBCHEM: 3752

CHARGE: 0

CHEBI: 16236

KEGG: C00469

FORMULA:

PUBCHEM: 3549

CHARGE: 0

CHEBI: 17310

KEGG: C00250

FORMULA: C8H9NO3

PUBCHEM: 3549

CHARGE: 0

CHEBI: 17310

KEGG: C00250

FORMULA: C8H9NO3

PUBCHEM: 3549

CHARGE: 0

CHEBI: 17310

KEGG: C00250

FORMULA: C6H9O7

PUBCHEM: 3491

CHARGE: -1

CHEBI: 4178 47952

KEGG: C00191

FORMULA: C6H9O7

PUBCHEM: 3491

CHARGE: -1

CHEBI: 4178 47952

KEGG: C00191

FORMULA: C6H11N3O4P

PUBCHEM: 4334

CHARGE: -1

CHEBI: 16996

KEGG: C01100

FORMULA: C7H9NO8P

PUBCHEM: 6819

CHARGE: -3

CHEBI: 16878

KEGG: C04133

FORMULA: C6H11O9P

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C3H6NOSeR

PUBCHEM: 0

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA: C6H9O7

PUBCHEM: 3491

CHARGE: -1

CHEBI: 4178 47952

KEGG: C00191

FORMULA: C15H23N6O5S

PUBCHEM: 3321

CHARGE: 1

CHEBI: 15414

KEGG: C00019

FORMULA: C8H14O7

PUBCHEM: 5628

CHARGE: 0

CHEBI: 17901

KEGG: C02655

FORMULA: C20H21N7O6

PUBCHEM: 3443

CHARGE: -2

CHEBI: 1989

KEGG: C00143

FORMULA: C43H75N3O20P2

PUBCHEM: 7239

CHARGE: -2

CHEBI: 17787

KEGG: C04652

FORMULA:

PUBCHEM: 5963

CHARGE: -2

CHEBI: 1254

KEGG: C03063

FORMULA: C3H5O4

PUBCHEM: 3557

CHARGE: -1

CHEBI: 32398

KEGG: C00258

FORMULA: C3H5O4

PUBCHEM: 3557

CHARGE: -1

CHEBI: 32398

KEGG: C00258

FORMULA: C3H5O4

PUBCHEM: 3557

CHARGE: -1

CHEBI: 32398

KEGG: C00258

FORMULA: C81H148O17P2

PUBCHEM: 8259

CHARGE: -2

CHEBI: 0

KEGG: C05980

FORMULA: C7H8O5

PUBCHEM: 6905

CHARGE: -2

CHEBI: 1467

KEGG: C04236

FORMULA: C7H13O10P

PUBCHEM: 10040

CHARGE: -2

CHEBI: 28137

KEGG: C07838

FORMULA: C11H10O6

PUBCHEM: 8112

CHARGE: -2

CHEBI: 1277

KEGG: C05817

FORMULA: C9H12N3O8P

PUBCHEM: 3357

CHARGE: -2

CHEBI: 17361

KEGG: C00055

FORMULA: C9H12N3O8P

PUBCHEM: 3357

CHARGE: -2

CHEBI: 17361

KEGG: C00055

FORMULA: C42H41N4O16

PUBCHEM: 5480

CHARGE: -7

CHEBI: 0

KEGG: C02463

FORMULA: C73H132O17P2

PUBCHEM: 8259

CHARGE: -2

CHEBI: 0

KEGG: C05980

FORMULA: C9H12N3O8P

PUBCHEM: 3357

CHARGE: -2

CHEBI: 17361

KEGG: C00055

FORMULA: C8H13O8

PUBCHEM: 4413

CHARGE: -1

CHEBI: 32817

KEGG: C01187

FORMULA: C10H11N4O14P3

PUBCHEM: 3381

CHARGE: -4

CHEBI: 16039

KEGG: C00081

FORMULA: C60H116O11P

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H9O7

PUBCHEM: 4160

CHARGE: -1

CHEBI: 4126

KEGG: C00905

FORMULA: C6H9O7

PUBCHEM: 4160

CHARGE: -1

CHEBI: 4126

KEGG: C00905

FORMULA: C6H9O7

PUBCHEM: 4160

CHARGE: -1

CHEBI: 4126

KEGG: C00905

FORMULA: HO10P3

PUBCHEM: 6138

CHARGE: -4

CHEBI: 18036

KEGG: C03279

FORMULA: C6H11O9P

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: C03812

FORMULA: C30H57N1O10P1

PUBCHEM: 5698

CHARGE: -1

CHEBI: 0

KEGG: C02737

FORMULA: R

PUBCHEM: 4794

CHARGE: 0

CHEBI: 29169

KEGG: C01645

FORMULA: C25H48N6O8

PUBCHEM: 123851

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA: C5H10NOSR

PUBCHEM: 5457

CHARGE: 1

CHEBI: 16635

KEGG: C02430

FORMULA: C25H48N6O8

PUBCHEM: 123851

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA: C10H11N5O6P

PUBCHEM: 3854

CHARGE: -1

CHEBI: 17489

KEGG: C00575

FORMULA: C25H48N6O8

PUBCHEM: 123851

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA:

PUBCHEM: 4976

CHARGE: -2

CHEBI: 15987

KEGG: C01861

FORMULA: C4H2N2O3

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C8H10NO6P

PUBCHEM: 3900

CHARGE: -2

CHEBI: 28803

KEGG: C00627

FORMULA: C4H2N2O3

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C4H2N2O3

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C7H5O4

PUBCHEM: 3496

CHARGE: -1

CHEBI: 18026

KEGG: C00196

FORMULA: C61H100O12P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C19H35O7P1

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C9H11N2O9P

PUBCHEM: 4567

CHARGE: -2

CHEBI: 28895

KEGG: C01368

FORMULA: C114H202N2O39P2

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C19H35O7P1

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C114H202N2O39P2

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C9H11N2O9P

PUBCHEM: 4567

CHARGE: -2

CHEBI: 28895

KEGG: C01368

FORMULA: X

PUBCHEM: 5805

CHARGE: 0

CHEBI: 0

KEGG: C02869

FORMULA: C114H202N2O39P2

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C18H33O2

PUBCHEM: 3978

CHARGE: -1

CHEBI: 16196

KEGG: 0

FORMULA: C18H33O2

PUBCHEM: 3978

CHARGE: -1

CHEBI: 16196

KEGG: 0

FORMULA: C12H22O11

PUBCHEM: 7769

CHARGE: 0

CHEBI: 28053

KEGG: C05402

FORMULA: C18H33O2

PUBCHEM: 3978

CHARGE: -1

CHEBI: 16196

KEGG: 0

FORMULA: C17H19N4O9P

PUBCHEM: 3361

CHARGE: -2

CHEBI: 17621

KEGG: C00061

FORMULA: C15H21N3O15P2

PUBCHEM: 4441

CHARGE: -2

CHEBI: 17494

KEGG: C01219

FORMULA: C4H8NO6P

PUBCHEM: 4336

CHARGE: -2

CHEBI: 15961

KEGG: C01102

FORMULA: C35H64O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: Fe

PUBCHEM: 0

CHARGE: 3

CHEBI: 14819

KEGG: 0

FORMULA: C40H65O7P2

PUBCHEM: 6831

CHARGE: -3

CHEBI: 16275

KEGG: C04146

FORMULA: C145H251N2O74P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: CNO

PUBCHEM: 4604

CHARGE: -1

CHEBI: 28024

KEGG: C01417

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: Fe

PUBCHEM: 0

CHARGE: 3

CHEBI: 14819

KEGG: 0

FORMULA: C35H64O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: Fe

PUBCHEM: 0

CHARGE: 3

CHEBI: 14819

KEGG: 0

FORMULA: C103H170O41P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: CNO

PUBCHEM: 4604

CHARGE: -1

CHEBI: 28024

KEGG: C01417

FORMULA: C7H14N2O4

PUBCHEM: 3949

CHARGE: 0

CHEBI: 16488 30308

KEGG: C00680

FORMULA: C6H11O7

PUBCHEM: 3556

CHARGE: -1

CHEBI: 33198

KEGG: C00257

FORMULA: C7H14N2O4

PUBCHEM: 3949

CHARGE: 0

CHEBI: 16488 30308

KEGG: C00680

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA:

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C6H11O7

PUBCHEM: 3556

CHARGE: -1

CHEBI: 33198

KEGG: C00257

FORMULA: C8H15NO6

PUBCHEM: 3440

CHARGE: 0

CHEBI: 17411

KEGG: C00140

FORMULA: C6H11O7

PUBCHEM: 3556

CHARGE: -1

CHEBI: 33198

KEGG: C00257

FORMULA: C7H14N2O4

PUBCHEM: 3949

CHARGE: 0

CHEBI: 16488 30308

KEGG: C00680

FORMULA:

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: R

PUBCHEM: 4784

CHARGE: 0

CHEBI: 29170

KEGG: C01635

FORMULA: C28H46N8O18P3S

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C8H7N

PUBCHEM: 3747

CHARGE: 0

CHEBI: 16881

KEGG: C00463

FORMULA: C29H51N2O9PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C39H64N7O18P3S

PUBCHEM: 47205524

CHARGE: -4

CHEBI: 0

KEGG: C16216

FORMULA: C8H7N

PUBCHEM: 3747

CHARGE: 0

CHEBI: 16881

KEGG: C00463

FORMULA: C6H7O7

PUBCHEM: 7176

CHARGE: -1

CHEBI: 15622

KEGG: C04575

FORMULA: C8H7N

PUBCHEM: 3747

CHARGE: 0

CHEBI: 16881

KEGG: C00463

FORMULA: Cl

PUBCHEM: 3415

CHARGE: -1

CHEBI: 17996

KEGG: C00115

FORMULA: C9H10NO7

PUBCHEM: 8219

CHARGE: -3

CHEBI: 48957

KEGG: C05931

FORMULA: C29H55N2O9PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H9N3O2

PUBCHEM: 3435

CHARGE: 0

CHEBI: 15971

KEGG: C00135

FORMULA: C6H8N3O7P2

PUBCHEM: 7322

CHARGE: -3

CHEBI: 16629

KEGG: C04752

FORMULA: C10H11N4O8P

PUBCHEM: 3430

CHARGE: -2

CHEBI: 17202

KEGG: C00130

FORMULA: XH2

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C131H230N2O63P4

PUBCHEM: 0

CHARGE: -10

CHEBI: 0

KEGG: 0

FORMULA: C6H11O9P

PUBCHEM: 5887

CHARGE: -2

CHEBI: 0

KEGG: C02976

FORMULA: C11H7O4

PUBCHEM: 6435

CHARGE: -1

CHEBI: 18094

KEGG: C03657

FORMULA: C10H11N4O8P

PUBCHEM: 3430

CHARGE: -2

CHEBI: 17202

KEGG: C00130

FORMULA: C6H15N2O2

PUBCHEM: 3349

CHARGE: 1

CHEBI: 18019

KEGG: C00047

FORMULA: C10H13N5O5

PUBCHEM: 3677

CHARGE: 0

CHEBI: 16750

KEGG: C00387

FORMULA: C25H46FeN6O8

PUBCHEM: 9799

CHARGE: 1

CHEBI: 0

KEGG: C07597

FORMULA: C23H46NO7P1

PUBCHEM: 7069

CHARGE: 0

CHEBI: 0

KEGG: C04438

FORMULA: C25H46FeN6O8

PUBCHEM: 9799

CHARGE: 1

CHEBI: 0

KEGG: C07597

FORMULA: C10H13N5O5

PUBCHEM: 3677

CHARGE: 0

CHEBI: 16750

KEGG: C00387

FORMULA: C29H50N3O18P2

PUBCHEM: 8294

CHARGE: -1

CHEBI: 27392

KEGG: C06022

FORMULA: C10H13N5O5

PUBCHEM: 3677

CHARGE: 0

CHEBI: 16750

KEGG: C00387

FORMULA: C23H39N2O8PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C19H35N2O9PRS

PUBCHEM: 7210

CHARGE: -1

CHEBI: 0

KEGG: C04620

FORMULA: C5H11NO7P

PUBCHEM: 5988

CHARGE: -1

CHEBI: 37737

KEGG: C03090

FORMULA: C11H14N2O8P

PUBCHEM: 3741

CHARGE: -1

CHEBI: 16171

KEGG: C00455

FORMULA: C11H14N2O8P

PUBCHEM: 3741

CHARGE: -1

CHEBI: 16171

KEGG: C00455

FORMULA: C8H7O4

PUBCHEM: 4388

CHARGE: -1

CHEBI: 17612

KEGG: C01161

FORMULA: C55H89O4P

PUBCHEM: 3641

CHARGE: -2

CHEBI: 16141

KEGG: C00348

FORMULA: C11H14N2O8P

PUBCHEM: 3741

CHARGE: -1

CHEBI: 16171

KEGG: C00455

FORMULA: C7H6NO2

PUBCHEM: 3408

CHARGE: -1

CHEBI: 30754

KEGG: C00108

FORMULA: C6H12O6

PUBCHEM: 4053

CHARGE: 0

CHEBI: 4249

KEGG: C00795

FORMULA: C17H22N3O18P2

PUBCHEM: 8481

CHARGE: -3

CHEBI: 28581

KEGG: C06240

FORMULA: C3H10N

PUBCHEM: 3844

CHARGE: 1

CHEBI: 18139

KEGG: C00565

FORMULA: C8H12N2O5P

PUBCHEM: 3919

CHARGE: -1

CHEBI: 18335

KEGG: C00647

FORMULA: C8H12NO6

PUBCHEM: 4349

CHARGE: -1

CHEBI: 16160

KEGG: C01118

FORMULA: C5H8O14P3

PUBCHEM: 3419

CHARGE: -5

CHEBI: 17111

KEGG: C00119

FORMULA: C6H12O6

PUBCHEM: 4053

CHARGE: 0

CHEBI: 4249

KEGG: C00795

FORMULA: C3H10N

PUBCHEM: 3844

CHARGE: 1

CHEBI: 18139

KEGG: C00565

FORMULA: C17H25N5O16P2

PUBCHEM: 8634

CHARGE: -2

CHEBI: 15915

KEGG: C06398

FORMULA: R

PUBCHEM: 4800

CHARGE: 0

CHEBI: 29180

KEGG: C01651

FORMULA: C11H12NO6P

PUBCHEM: 6317

CHARGE: -2

CHEBI: 18299

KEGG: C03506

FORMULA:

PUBCHEM: 8475

CHARGE: -2

CHEBI: 36264

KEGG: C06232

FORMULA: C29H53N2O9PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C5H9O8P

PUBCHEM: 6148

CHARGE: -2

CHEBI: 16593

KEGG: C03291

FORMULA:

PUBCHEM: 8475

CHARGE: -2

CHEBI: 36264

KEGG: C06232

FORMULA: C39H75O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C3H7NO2S

PUBCHEM: 4051

CHARGE: 0

CHEBI: 16375

KEGG: C00793

FORMULA: C4H5O3

PUBCHEM: 3409

CHARGE: -1

CHEBI: 30831

KEGG: C00109

FORMULA: C16H31O2

PUBCHEM: 3548

CHARGE: -1

CHEBI: 15756

KEGG: C00249

FORMULA: C39H75O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA:

PUBCHEM: 8475

CHARGE: -2

CHEBI: 36264

KEGG: C06232

FORMULA: C16H31O2

PUBCHEM: 3548

CHARGE: -1

CHEBI: 15756

KEGG: C00249

FORMULA: C16H31O2

PUBCHEM: 3548

CHARGE: -1

CHEBI: 15756

KEGG: C00249

FORMULA: C5H11NO3S

PUBCHEM: 847

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C3H7NO2S

PUBCHEM: 4051

CHARGE: 0

CHEBI: 16375

KEGG: C00793

FORMULA: C4H6O8P

PUBCHEM: 6224

CHARGE: -3

CHEBI: 49003

KEGG: C03393

FORMULA: C35H63O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C14H22N3O15P2

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H12O6

PUBCHEM: 4657

CHARGE: 0

CHEBI: 4093

KEGG: C01487

FORMULA: C5H11NO3S

PUBCHEM: 847

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C3H9NO

PUBCHEM: 4338

CHARGE: 0

CHEBI: 15724

KEGG: C01104

FORMULA: C35H63O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C21H26N7O14P2

PUBCHEM: 3305

CHARGE: -1

CHEBI: 15846

KEGG: C00003

FORMULA: C6H12O6

PUBCHEM: 4657

CHARGE: 0

CHEBI: 4093

KEGG: C01487

FORMULA: C3H9NO

PUBCHEM: 4338

CHARGE: 0

CHEBI: 15724

KEGG: C01104

FORMULA: C27H42N9O12

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C27H42N9O12

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C25H35N7O19P3S

PUBCHEM: 3952

CHARGE: -5

CHEBI: 15466

KEGG: C00683

FORMULA: C30H52O26

PUBCHEM: 124005??3611

CHARGE: 0

CHEBI: 28057

KEGG: 0

FORMULA:

PUBCHEM: 0

CHARGE: 1

CHEBI: 29287

KEGG: 0

FORMULA: C27H42N9O12

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C30H52O26

PUBCHEM: 124005??3611

CHARGE: 0

CHEBI: 28057

KEGG: 0

FORMULA: C30H52O26

PUBCHEM: 124005??3611

CHARGE: 0

CHEBI: 28057

KEGG: 0

FORMULA: C3H8O2

PUBCHEM: 5836

CHARGE: 0

CHEBI: 28972

KEGG: C02912

FORMULA: C19H40NO7P1

PUBCHEM: 7069

CHARGE: 0

CHEBI: 0

KEGG: C04438

FORMULA: C6H13NO8P

PUBCHEM: 3645

CHARGE: -1

CHEBI: 15873

KEGG: C00352

FORMULA: C27H48N6O9

PUBCHEM: 167864

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C6H13NO8P

PUBCHEM: 3645

CHARGE: -1

CHEBI: 15873

KEGG: C00352

FORMULA: C27H48N6O9

PUBCHEM: 167864

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C25H36N7O17P3S

PUBCHEM: 4133

CHARGE: -4

CHEBI: 0

KEGG: C00877

FORMULA: C6H13NO8P

PUBCHEM: 3645

CHARGE: -1

CHEBI: 15873

KEGG: C00352

FORMULA: C10H8O6

PUBCHEM: 3550

CHARGE: -2

CHEBI: 17333

KEGG: C00251

FORMULA: C7H6NO2

PUBCHEM: 3847

CHARGE: -1

CHEBI: 30753

KEGG: C00568

FORMULA: C7H6NO2

PUBCHEM: 3847

CHARGE: -1

CHEBI: 30753

KEGG: C00568

FORMULA: C72H99CoN18O20P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: phosphorylated version of C00194

FORMULA: C35H56N7O17P3S

PUBCHEM: 7660

CHARGE: -4

CHEBI: 27721

KEGG: C05273

FORMULA: XH2

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C25H45N2O9PRS

PUBCHEM: 8054

CHARGE: -1

CHEBI: 0

KEGG: C05759

FORMULA: C33H66N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C8H15NO6

PUBCHEM: 3918

CHARGE: 0

CHEBI: 17122

KEGG: C00645

FORMULA: C8H15NO6

PUBCHEM: 3918

CHARGE: 0

CHEBI: 17122

KEGG: C00645

FORMULA: C25H35N7O19P3S

PUBCHEM: 4435

CHARGE: -5

CHEBI: 15465

KEGG: C01213

FORMULA: C33H66N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C20H38O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C8H15NO6

PUBCHEM: 3918

CHARGE: 0

CHEBI: 17122

KEGG: C00645

FORMULA: C12H25N2O7

PUBCHEM: 47205784

CHARGE: 1

CHEBI: 0

KEGG: C16488

FORMULA: C4H7NO3

PUBCHEM: 3730

CHARGE: 0

CHEBI: 13086 18051

KEGG: C00441

FORMULA: C463H770O296P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C11H16N3O7S

PUBCHEM: 4274

CHARGE: -1

CHEBI: 16225

KEGG: C01031

FORMULA: C17H31O7P1

PUBCHEM: 3950

CHARGE: -2

CHEBI: 16975

KEGG: C00681

FORMULA: C17H31O7P1

PUBCHEM: 3950

CHARGE: -2

CHEBI: 16975

KEGG: C00681

FORMULA:

PUBCHEM: 3608

CHARGE: 0

CHEBI: 16709

KEGG: C00314

FORMULA: C41H82N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C8H11NO3

PUBCHEM: 3608

CHARGE: 0

CHEBI: 16709

KEGG: C00314

FORMULA: C5H14NO

PUBCHEM: 3414

CHARGE: 1

CHEBI: 15354

KEGG: C00114

FORMULA: C21H37N2O9PRS

PUBCHEM: 8048

CHARGE: -1

CHEBI: 0

KEGG: C05753

FORMULA: C14H18N2O16P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: Na

PUBCHEM: 4541

CHARGE: 1

CHEBI: 29101

KEGG: C01330

FORMULA: Na

PUBCHEM: 4541

CHARGE: 1

CHEBI: 29101

KEGG: C01330

FORMULA: C3H8NO

PUBCHEM: 5001

CHARGE: 1

CHEBI: 17906

KEGG: C01888

FORMULA: C5H14NO

PUBCHEM: 3414

CHARGE: 1

CHEBI: 15354

KEGG: C00114

FORMULA: C5H14NO

PUBCHEM: 3414

CHARGE: 1

CHEBI: 15354

KEGG: C00114

FORMULA: Na

PUBCHEM: 4541

CHARGE: 1

CHEBI: 29101

KEGG: C01330

FORMULA: C41H61N9O28P2

PUBCHEM: 7434

CHARGE: -4

CHEBI: 0

KEGG: C04882

FORMULA: C21H24N6O15P2

PUBCHEM: 4114

CHARGE: -2

CHEBI: 18304

KEGG: C00857

FORMULA: C10H13N2O8P

PUBCHEM: 3655

CHARGE: -2

CHEBI: 17013

KEGG: C00364

FORMULA: C10H13N2O8P

PUBCHEM: 3655

CHARGE: -2

CHEBI: 17013

KEGG: C00364

FORMULA: C33H52N7O17P3S

PUBCHEM: 6094

CHARGE: -4

CHEBI: 15471

KEGG: C03221

FORMULA: C5H10O4

PUBCHEM: 4927

CHARGE: 0

CHEBI: 28816

KEGG: C01801

FORMULA: C5H10O4

PUBCHEM: 4927

CHARGE: 0

CHEBI: 28816

KEGG: C01801

FORMULA: C10H13N2O8P

PUBCHEM: 3655

CHARGE: -2

CHEBI: 17013

KEGG: C00364

FORMULA: C10H12N5O9P2

PUBCHEM: 3506

CHARGE: -3

CHEBI: 16174

KEGG: C00206

FORMULA: C71H107N13O38

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C5H10O4

PUBCHEM: 4927

CHARGE: 0

CHEBI: 28816

KEGG: C01801

FORMULA: C5H16N4

PUBCHEM: 3479

CHARGE: 2

CHEBI: 17431

KEGG: C00179

FORMULA: C27H49N2O9PRS

PUBCHEM: 8057

CHARGE: -1

CHEBI: 0

KEGG: C05762

FORMULA: C5H16N4

PUBCHEM: 3479

CHARGE: 2

CHEBI: 17431

KEGG: C00179

FORMULA: C5H16N4

PUBCHEM: 3479

CHARGE: 2

CHEBI: 17431

KEGG: C00179

FORMULA: C117H208N2O45P2

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C5H10O5

PUBCHEM: 3606

CHARGE: 0

CHEBI: 17399

KEGG: C00312

FORMULA: C39H71O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C5H10O5

PUBCHEM: 3606

CHARGE: 0

CHEBI: 17399

KEGG: C00312

FORMULA: C5H10O5

PUBCHEM: 3606

CHARGE: 0

CHEBI: 17399

KEGG: C00312

FORMULA: C39H71O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C35H52N6O13Fe

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C5H9O7P2

PUBCHEM: 3429

CHARGE: -3

CHEBI: 16584

KEGG: C00129

FORMULA: C12H25N2O7

PUBCHEM: 47205784

CHARGE: 1

CHEBI: 0

KEGG: C16488

FORMULA: C9H10NO2R

PUBCHEM: 5781

CHARGE: 1

CHEBI: 29161

KEGG: C02839

FORMULA: C5H11NO2

PUBCHEM: 3483

CHARGE: 0

CHEBI: 16414

KEGG: C00183

FORMULA: X

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C4H7O7P

PUBCHEM: 3574

CHARGE: -2

CHEBI: 48153

KEGG: C00279

FORMULA: C23H41N2O9PRS

PUBCHEM: 8051

CHARGE: -1

CHEBI: 0

KEGG: C05756

FORMULA: C5H11NO2

PUBCHEM: 3483

CHARGE: 0

CHEBI: 16414

KEGG: C00183

FORMULA: C10H13N5O4

PUBCHEM: 3512

CHARGE: 0

CHEBI: 16335

KEGG: C00212

FORMULA: C5H11NO2

PUBCHEM: 3483

CHARGE: 0

CHEBI: 16414

KEGG: C00183

FORMULA: C35H52N6O13Fe

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C10H11N4O13P3

PUBCHEM: 4550

CHARGE: -4

CHEBI: 0

KEGG: C01345

FORMULA: C35H56N7O18P3S

PUBCHEM: 7648

CHARGE: -4

CHEBI: 28726

KEGG: C05261

FORMULA: C7H14N2O4

PUBCHEM: 3935

CHARGE: 0

CHEBI: 16026

KEGG: C00666

FORMULA: C6H11O7

PUBCHEM: 47205248

CHARGE: -1

CHEBI: 0

KEGG: C15930

FORMULA: C7H7O7

PUBCHEM: 7191

CHARGE: -3

CHEBI: 15607

KEGG: C04593

FORMULA: C23H34N7O17P3S

PUBCHEM: 3326

CHARGE: -4

CHEBI: 15351

KEGG: C00024

FORMULA: C6H11O7

PUBCHEM: 47205248

CHARGE: -1

CHEBI: 0

KEGG: C15930

FORMULA: CHO3

PUBCHEM: 3583

CHARGE: -1

CHEBI: 17544

KEGG: C00288

FORMULA: O2

PUBCHEM: 3971

CHARGE: -1

CHEBI: 18421

KEGG: C00704

FORMULA: C7H13NO2

PUBCHEM: 6803

CHARGE: 0

CHEBI: 1774

KEGG: C04114

FORMULA:

PUBCHEM: 9110

CHARGE: -3

CHEBI: 0

KEGG: C06893

FORMULA: C3H2O7P

PUBCHEM: 6103

CHARGE: -3

CHEBI: 30933

KEGG: C03232

FORMULA: O2

PUBCHEM: 3971

CHARGE: -1

CHEBI: 18421

KEGG: C00704

FORMULA: C7H13NO2

PUBCHEM: 6803

CHARGE: 0

CHEBI: 1774

KEGG: C04114

FORMULA: C9H15N2O5

PUBCHEM: 6244

CHARGE: -1

CHEBI: 27574

KEGG: C03415

FORMULA: C44H79N3O15P2

PUBCHEM: 3567

CHARGE: -2

CHEBI: 0

KEGG: C00269

FORMULA: C6H12O5

PUBCHEM: 4118

CHARGE: 0

CHEBI: 17897

KEGG: C00861

FORMULA: C20H40O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C17H34O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C44H75N3O15P2

PUBCHEM: 3567

CHARGE: -2

CHEBI: 0

KEGG: C00269

FORMULA: C20H40O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C11H18N3O7S

PUBCHEM: 1082

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C11H18NO9

PUBCHEM: 3568

CHARGE: -1

CHEBI: 17012

KEGG: C00270

FORMULA: C4H9O3S

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C27H33N9O15P2

PUBCHEM: 4556

CHARGE: -2

CHEBI: 17877

KEGG: C01352

FORMULA: C11H18NO9

PUBCHEM: 3568

CHARGE: -1

CHEBI: 17012

KEGG: C00270

FORMULA: C3H3O4

PUBCHEM: 3468

CHARGE: -1

CHEBI: 30841

KEGG: C00168

FORMULA: C4H9O3S

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: Cd

PUBCHEM: 4601

CHARGE: 2

CHEBI: 48775

KEGG: C01413

FORMULA: C6H9NO2SR

PUBCHEM: 6151

CHARGE: 0

CHEBI: 17119

KEGG: C03294

FORMULA: Cd

PUBCHEM: 4601

CHARGE: 2

CHEBI: 48775

KEGG: C01413

FORMULA: C45H56CoN6O12

PUBCHEM: 8735

CHARGE: -4

CHEBI: 27937

KEGG: C06504

FORMULA: C24H48O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: Cd

PUBCHEM: 4601

CHARGE: 2

CHEBI: 48775

KEGG: C01413

FORMULA: C10H11N5O13P2S

PUBCHEM: 3355

CHARGE: -4

CHEBI: 17980

KEGG: C00053

FORMULA: C44H82O10P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C24H48O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C19H36O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C68H104N12O38

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C40H36N4O16

PUBCHEM: 4293

CHARGE: -8

CHEBI: 15437

KEGG: C01051

FORMULA: C58H84CoN16O11

PUBCHEM: 8739

CHARGE: 1

CHEBI: 2480

KEGG: C06508

FORMULA: C19H36O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C17H36N6O5S

PUBCHEM: 8032

CHARGE: 2

CHEBI: 16613

KEGG: C05730

FORMULA: C39H74N1O8P1

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C3H6O2

PUBCHEM: 7630

CHARGE: 0

CHEBI: 27957

KEGG: C05235

FORMULA: C2H4O2

PUBCHEM: 3564

CHARGE: 0

CHEBI: 17071

KEGG: C00266

FORMULA: CH3O3S

PUBCHEM: 49991312

CHARGE: -1

CHEBI: 25224

KEGG: 0

FORMULA: C10H17O10PR2

PUBCHEM: 4786

CHARGE: 0

CHEBI: 29172

KEGG: C01637

FORMULA:

PUBCHEM: 4976

CHARGE: -2

CHEBI: 15987

KEGG: C01861

FORMULA: C33H62N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C21H42NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C9H10NOR

PUBCHEM: 6321

CHARGE: 1

CHEBI: 29153

KEGG: C03511

FORMULA: C21H42NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C33H62N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C31H50N7O17P3S

PUBCHEM: 7661

CHARGE: -4

CHEBI: 28493

KEGG: C05274

FORMULA: C6H9N3O2

PUBCHEM: 3435

CHARGE: 0

CHEBI: 15971

KEGG: C00135

FORMULA: C16H21N5O15P2

PUBCHEM: 4444

CHARGE: -2

CHEBI: 16955

KEGG: C01222

FORMULA: C6H12O4S

PUBCHEM: 5987

CHARGE: 0

CHEBI: 16895

KEGG: C03089

FORMULA: C7H8O2

PUBCHEM: 125??3480

CHARGE: 0

CHEBI: 30746

KEGG: 0

FORMULA: C7H8O4

PUBCHEM: 5611

CHARGE: -2

CHEBI: 17275

KEGG: C02631

FORMULA: C5H10O5

PUBCHEM: 3604

CHARGE: 0

CHEBI: 17140

KEGG: C00310

FORMULA: R

PUBCHEM: 4787

CHARGE: 0

CHEBI: 29186

KEGG: C01638

FORMULA: C199H330O109P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: H2

PUBCHEM: 3577

CHARGE: 0

CHEBI: 18276

KEGG: C00282

FORMULA:

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: H2

PUBCHEM: 3577

CHARGE: 0

CHEBI: 18276

KEGG: C00282

FORMULA: C6H8O8

PUBCHEM: 4076

CHARGE: -2

CHEBI: 16002

KEGG: C00818

FORMULA: C4H8NO2R

PUBCHEM: 5901

CHARGE: 1

CHEBI: 29163

KEGG: C02992

FORMULA: C24H42O21

PUBCHEM: 5141

CHARGE: 0

CHEBI: 0

KEGG: C02052

FORMULA: C38H73N1O10P1

PUBCHEM: 5698

CHARGE: -1

CHEBI: 0

KEGG: C02737

FORMULA: Zn

PUBCHEM: 3340

CHARGE: 2

CHEBI: 29105

KEGG: C00038

FORMULA: C24H42O21

PUBCHEM: 5141

CHARGE: 0

CHEBI: 0

KEGG: C02052

FORMULA: C319H530O194P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: H2

PUBCHEM: 3577

CHARGE: 0

CHEBI: 18276

KEGG: C00282

FORMULA: O2

PUBCHEM: 3971

CHARGE: -1

CHEBI: 18421

KEGG: C00704

FORMULA: C24H42O21

PUBCHEM: 5141

CHARGE: 0

CHEBI: 0

KEGG: C02052

FORMULA: Zn

PUBCHEM: 3340

CHARGE: 2

CHEBI: 29105

KEGG: C00038

FORMULA: C3H7NO2S

PUBCHEM: 3397

CHARGE: 0

CHEBI: 17561

KEGG: C00097

FORMULA: C103H162N6O37P2

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C7H12O13P2

PUBCHEM: 13642

CHARGE: -4

CHEBI: 0

KEGG: C11472

FORMULA: O4W1

PUBCHEM: 26697048

CHARGE: -2

CHEBI: 46502

KEGG: 0

FORMULA: C4H9NO3

PUBCHEM: 3488

CHARGE: 0

CHEBI: 16857

KEGG: C00188

FORMULA: C9H9O3

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: O4W1

PUBCHEM: 26697048

CHARGE: -2

CHEBI: 46502

KEGG: 0

FORMULA: C3H4O2

PUBCHEM: 3827

CHARGE: 0

CHEBI: 17158

KEGG: C00546

FORMULA:

PUBCHEM: 23061145

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C4H9NO3

PUBCHEM: 3488

CHARGE: 0

CHEBI: 16857

KEGG: C00188

FORMULA: C4H9NO3

PUBCHEM: 3488

CHARGE: 0

CHEBI: 16857

KEGG: C00188

FORMULA: O4W1

PUBCHEM: 26697048

CHARGE: -2

CHEBI: 46502

KEGG: 0

FORMULA: C9H9O3

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C4H9NO2

PUBCHEM: 3628

CHARGE: 0

CHEBI: 16865

KEGG: C00334

FORMULA: C4H9NO2

PUBCHEM: 3628

CHARGE: 0

CHEBI: 16865

KEGG: C00334

FORMULA: C6H7O7

PUBCHEM: 5731

CHARGE: -1

CHEBI: 18281

KEGG: C02780

FORMULA: C17H36NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C5H10N2O3

PUBCHEM: 3364

CHARGE: 0

CHEBI: 18050

KEGG: C00064

FORMULA: C4H9NO2

PUBCHEM: 3628

CHARGE: 0

CHEBI: 16865

KEGG: C00334

FORMULA: C74H114N14O40

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C5H10N2O3

PUBCHEM: 3364

CHARGE: 0

CHEBI: 18050

KEGG: C00064

FORMULA: C6H7N2O5P

PUBCHEM: 4486

CHARGE: -2

CHEBI: 16426

KEGG: C01267

FORMULA: C5H10N2O3

PUBCHEM: 3364

CHARGE: 0

CHEBI: 18050

KEGG: C00064

FORMULA: C38H69O13P2

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C7H7O4

PUBCHEM: 6852

CHARGE: -1

CHEBI: 15941

KEGG: C04171

FORMULA: C15H22N2O17P2

PUBCHEM: 3331

CHARGE: -2

CHEBI: 18066

KEGG: C00029

FORMULA: C14H14N5O11P

PUBCHEM: 6543

CHARGE: -4

CHEBI: 15919

KEGG: C03794

FORMULA: C15H22N2O17P2

PUBCHEM: 3331

CHARGE: -2

CHEBI: 18066

KEGG: C00029

FORMULA: C15H22N2O17P2

PUBCHEM: 3331

CHARGE: -2

CHEBI: 18066

KEGG: C00029

FORMULA: CO2

PUBCHEM: 3313

CHARGE: 0

CHEBI: 16526

KEGG: C00011

FORMULA: C34H64NO12P

PUBCHEM: 7385

CHARGE: -2

CHEBI: 16942

KEGG: C04824

FORMULA: C439H730O279P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: CO2

PUBCHEM: 3313

CHARGE: 0

CHEBI: 16526

KEGG: C00011

FORMULA: CO2

PUBCHEM: 3313

CHARGE: 0

CHEBI: 16526

KEGG: C00011

FORMULA: C51H74O2

PUBCHEM: 8114

CHARGE: 0

CHEBI: 0

KEGG: C05819

FORMULA: C10H12N5O7P

PUBCHEM: 3322

CHARGE: -2

CHEBI: 16027

KEGG: C00020

FORMULA: C27H40N7O18P3S

PUBCHEM: 7656

CHARGE: -4

CHEBI: 27648

KEGG: C05269

FORMULA: C6H9O7

PUBCHEM: 3902

CHARGE: -1

CHEBI: 16808

KEGG: C00629

FORMULA: C2H1O3

PUBCHEM: 3350

CHARGE: -1

CHEBI: 16891

KEGG: C00048

FORMULA: C7H6O5

PUBCHEM: 7923

CHARGE: -2

CHEBI: 0

KEGG: C05600

FORMULA: C17H34O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C7H15NO3

PUBCHEM: 3612

CHARGE: 0

CHEBI: 16347

KEGG: C00318

FORMULA: C10H12N5O7P

PUBCHEM: 4566

CHARGE: -2

CHEBI: 28931

KEGG: C01367

FORMULA: C7H15NO3

PUBCHEM: 3612

CHARGE: 0

CHEBI: 16347

KEGG: C00318

FORMULA: C76H137N2O30P2

PUBCHEM: 8296

CHARGE: -5

CHEBI: 0

KEGG: C06024

FORMULA: C34H65O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA: C10H12N5O7P

PUBCHEM: 4566

CHARGE: -2

CHEBI: 28931

KEGG: C01367

FORMULA: C7H15NO3

PUBCHEM: 3612

CHARGE: 0

CHEBI: 16347

KEGG: C00318

FORMULA: C34H65O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA: C9H10N2

PUBCHEM: 6009

CHARGE: 0

CHEBI: 15890

KEGG: C03114

FORMULA: XH2

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C10H12N5O7P

PUBCHEM: 3322

CHARGE: -2

CHEBI: 16027

KEGG: C00020

FORMULA: C8H20NO6P

PUBCHEM: 3939

CHARGE: 0

CHEBI: 16870

KEGG: C00670

FORMULA: C15H21N5O15P2

PUBCHEM: 7447

CHARGE: -4

CHEBI: 18302

KEGG: C04896

FORMULA: C7H15NO3

PUBCHEM: 3770

CHARGE: 0

CHEBI: 3424

KEGG: C00487

FORMULA: C3H7O6P

PUBCHEM: 5889

CHARGE: -2

CHEBI: 17270

KEGG: C02979

FORMULA: C3H3N2O4

PUBCHEM: 4060

CHARGE: -1

CHEBI: 16582

KEGG: C00802

FORMULA: C7H15NO3

PUBCHEM: 3770

CHARGE: 0

CHEBI: 3424

KEGG: C00487

FORMULA: C12H13NO9P

PUBCHEM: 4520

CHARGE: -3

CHEBI: 29112

KEGG: C01302

FORMULA: C4H4O4

PUBCHEM: 3344

CHARGE: -2

CHEBI: 15741

KEGG: C00042

FORMULA: C34H61O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C5H6N2O2

PUBCHEM: 3478

CHARGE: 0

CHEBI: 17821

KEGG: C00178

FORMULA: C9H11N2O8P

PUBCHEM: 3656

CHARGE: -2

CHEBI: 17622

KEGG: C00365

FORMULA: C34H61O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA: C4H4O4

PUBCHEM: 3344

CHARGE: -2

CHEBI: 15741

KEGG: C00042

FORMULA: C4H4O4

PUBCHEM: 3344

CHARGE: -2

CHEBI: 15741

KEGG: C00042

FORMULA: R

PUBCHEM: 4789

CHARGE: 0

CHEBI: 29168

KEGG: C01640

FORMULA: C14H20N6O5S

PUBCHEM: 3323

CHARGE: 0

CHEBI: 16680

KEGG: C00021

FORMULA: C9H11N2O8P

PUBCHEM: 3656

CHARGE: -2

CHEBI: 17622

KEGG: C00365

FORMULA: C29H44N7O18P3S

PUBCHEM: 7654

CHARGE: -4

CHEBI: 28264

KEGG: C05267

FORMULA: C11H18NO9

PUBCHEM: 3568

CHARGE: -1

CHEBI: 17012

KEGG: C00270

FORMULA: C6H12O6

PUBCHEM: 3459

CHARGE: 0

CHEBI: 4208

KEGG: C00159

FORMULA: C6H8N3OR

PUBCHEM: 5897

CHARGE: 1

CHEBI: 29155

KEGG: C02988

FORMULA: C6H12O6

PUBCHEM: 3459

CHARGE: 0

CHEBI: 4208

KEGG: C00159

FORMULA: C6H12O6

PUBCHEM: 3459

CHARGE: 0

CHEBI: 4208

KEGG: C00159

FORMULA: C5H10O5

PUBCHEM: 3791

CHARGE: 0

CHEBI: 16880

KEGG: C00508

FORMULA: C42H81N1O10P1

PUBCHEM: 5698

CHARGE: -1

CHEBI: 0

KEGG: C02737

FORMULA: C39H64N7O17P3S

PUBCHEM: 47205526

CHARGE: -4

CHEBI: 0

KEGG: C16218

FORMULA: C21H26N7O17P3

PUBCHEM: 3307

CHARGE: -4

CHEBI: 16474

KEGG: C00005

FORMULA: C37H62N7O18P3S

PUBCHEM: 7645

CHARGE: -4

CHEBI: 27402

KEGG: C05258

FORMULA: K

PUBCHEM: 3537

CHARGE: 1

CHEBI: 29103

KEGG: C00238

FORMULA: C8H8O2

PUBCHEM: 6521

CHARGE: 0

CHEBI: 15621

KEGG: C03765

FORMULA: C27H42N7O17P3S

PUBCHEM: 7657

CHARGE: -4

CHEBI: 27540

KEGG: C05270

FORMULA: K

PUBCHEM: 3537

CHARGE: 1

CHEBI: 29103

KEGG: C00238

FORMULA: K

PUBCHEM: 3537

CHARGE: 1

CHEBI: 29103

KEGG: C00238

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C8H8O2

PUBCHEM: 6521

CHARGE: 0

CHEBI: 15621

KEGG: C03765

FORMULA: C10H13N5O3

PUBCHEM: 7603

CHARGE: 0

CHEBI: 17319

KEGG: C05198

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: NO3

PUBCHEM: 3543

CHARGE: -1

CHEBI: 48107

KEGG: C00244

FORMULA: C9H13N4O8P

PUBCHEM: 7258

CHARGE: -2

CHEBI: 18406

KEGG: C04677

FORMULA: C2H6S

PUBCHEM: 3859

CHARGE: 0

CHEBI: 17437

KEGG: C00580

FORMULA: NO3

PUBCHEM: 3543

CHARGE: -1

CHEBI: 48107

KEGG: C00244

FORMULA: C2H6S

PUBCHEM: 3859

CHARGE: 0

CHEBI: 17437

KEGG: C00580

FORMULA: R

PUBCHEM: 4802

CHARGE: 0

CHEBI: 29183

KEGG: C01653

FORMULA: C35H58N7O18P3S

PUBCHEM: 7647

CHARGE: -4

CHEBI: 27466

KEGG: C05260

FORMULA: C8H6O6

PUBCHEM: 7231

CHARGE: -2

CHEBI: 17142

KEGG: C04642

FORMULA: C3H4O7P

PUBCHEM: 3497

CHARGE: -3

CHEBI: 17794

KEGG: C00197

FORMULA: C3H4O7P

PUBCHEM: 3497

CHARGE: -3

CHEBI: 17794

KEGG: C00197

FORMULA: C9H10N2O8P

PUBCHEM: 5402

CHARGE: -1

CHEBI: 0

KEGG: C02355

FORMULA: C3H4O7P

PUBCHEM: 3497

CHARGE: -3

CHEBI: 17794

KEGG: C00197

FORMULA: C20H24N10O22P5

PUBCHEM: 6757

CHARGE: -5

CHEBI: 0

KEGG: C04058

FORMULA: C9H10N2O8P

PUBCHEM: 5402

CHARGE: -1

CHEBI: 0

KEGG: C02355

FORMULA: C10H13N2O14P3

PUBCHEM: 3743

CHARGE: -4

CHEBI: 18077

KEGG: C00459

FORMULA: C124H220N2O51P2

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C5H7O4

PUBCHEM: 8282

CHARGE: -1

CHEBI: 18409

KEGG: C06010

FORMULA: C3H6NO2R

PUBCHEM: 5554

CHARGE: 1

CHEBI: 29162

KEGG: C02553

FORMULA: C10H17N4O6

PUBCHEM: 6235

CHARGE: -1

CHEBI: 15682

KEGG: C03406

FORMULA: C14H13N6O3

PUBCHEM: 4175

CHARGE: -1

CHEBI: 4581

KEGG: C00921

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C63H103NO12P2

PUBCHEM: 4508

CHARGE: -2

CHEBI: 0

KEGG: C01289

FORMULA: R

PUBCHEM: 4793

CHARGE: 0

CHEBI: 29174

KEGG: C01644

FORMULA: C4H7O2

PUBCHEM: 3545

CHARGE: -1

CHEBI: 30772

KEGG: C00246

FORMULA: C15H21N3O16P2

PUBCHEM: 17756768

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C9H12N2O6

PUBCHEM: 3593

CHARGE: 0

CHEBI: 16704

KEGG: C00299

FORMULA: C5H8NO4

PUBCHEM: 3517

CHARGE: -1

CHEBI: 15966

KEGG: C00217

FORMULA: C44H44CoN4O16

PUBCHEM: 13707

CHARGE: -6

CHEBI: 0

KEGG: C11540

FORMULA: C9H12N2O6

PUBCHEM: 3593

CHARGE: 0

CHEBI: 16704

KEGG: C00299

FORMULA: C4H7O2

PUBCHEM: 3545

CHARGE: -1

CHEBI: 30772

KEGG: C00246

FORMULA: C3H5O3

PUBCHEM: 3486

CHARGE: -1

CHEBI: 422

KEGG: C00186

FORMULA: C9H12N2O6

PUBCHEM: 3593

CHARGE: 0

CHEBI: 16704

KEGG: C00299

FORMULA: C42H39CoN4O16

PUBCHEM: 13705

CHARGE: -7

CHEBI: 0

KEGG: C11538

FORMULA: C65H116O17P2

PUBCHEM: 8259

CHARGE: -2

CHEBI: 0

KEGG: C05980

FORMULA: C9H7O4

PUBCHEM: 4406

CHARGE: -1

CHEBI: 15999

KEGG: C01179

FORMULA: C9H15N4O9P

PUBCHEM: 7081

CHARGE: -2

CHEBI: 18247

KEGG: C04454

FORMULA: C17H29N2O9PRS

PUBCHEM: 8041

CHARGE: -1

CHEBI: 0

KEGG: C05746

FORMULA: C17H25N3O17P2

PUBCHEM: 3345

CHARGE: -2

CHEBI: 16264

KEGG: C00043

FORMULA: Cu

PUBCHEM: 3370

CHARGE: 2

CHEBI: 28694

KEGG: C00070

FORMULA: C9H7O3

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C17H25N3O17P2

PUBCHEM: 3345

CHARGE: -2

CHEBI: 16264

KEGG: C00043

FORMULA: Cu

PUBCHEM: 3370

CHARGE: 2

CHEBI: 28694

KEGG: C00070

FORMULA: C6H11O8P

PUBCHEM: 4333

CHARGE: -2

CHEBI: 6220

KEGG: C01099

FORMULA: CHN

PUBCHEM: 4537

CHARGE: 0

CHEBI: 18407

KEGG: C01326

FORMULA: C49H74O4

PUBCHEM: 3689

CHARGE: 0

CHEBI: 16389

KEGG: C00399

FORMULA: Cu

PUBCHEM: 3370

CHARGE: 2

CHEBI: 28694

KEGG: C00070

FORMULA: C17H25N3O17P2

PUBCHEM: 3345

CHARGE: -2

CHEBI: 16264

KEGG: C00043

FORMULA: C9H17NO6S

PUBCHEM: 6343

CHARGE: 0

CHEBI: 0

KEGG: C03539

FORMULA: C34H52N6O19

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: CHN

PUBCHEM: 4537

CHARGE: 0

CHEBI: 18407

KEGG: C01326

FORMULA: C10H17O7P2

PUBCHEM: 3634

CHARGE: -3

CHEBI: 17211

KEGG: C00341

FORMULA: CHN

PUBCHEM: 4537

CHARGE: 0

CHEBI: 18407

KEGG: C01326

FORMULA: C38H70O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C21H33N7O13P2S

PUBCHEM: 4138

CHARGE: -2

CHEBI: 15468

KEGG: C00882

FORMULA: C10H13N2O11P2

PUBCHEM: 3654

CHARGE: -3

CHEBI: 18075

KEGG: C00363

FORMULA: C38H70O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C27H51N2O8PRS

PUBCHEM: 8059

CHARGE: -1

CHEBI: 0

KEGG: C05764

FORMULA: C10H12N4O5

PUBCHEM: 3588

CHARGE: 0

CHEBI: 17596

KEGG: C00294

FORMULA: C223H370O126P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C11H12NO9P

PUBCHEM: 4411

CHARGE: -2

CHEBI: 15763

KEGG: C01185

FORMULA: C9H7O3

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C16H20N1O11

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C16H20N1O11

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C5H10O5

PUBCHEM: 4676

CHARGE: 0

CHEBI: 28480

KEGG: C01508

FORMULA: C6H3O6

PUBCHEM: 3707

CHARGE: -3

CHEBI: 32805

KEGG: C00417

FORMULA: C3H7NO2

PUBCHEM: 3433

CHARGE: 0

CHEBI: 15570

KEGG: C00133

FORMULA: C3H3O3S

PUBCHEM: 4208

CHARGE: -1

CHEBI: 16208

KEGG: C00957

FORMULA: C96H170N2O38P2

PUBCHEM: 8490

CHARGE: -6

CHEBI: 0

KEGG: C06251

FORMULA: C3H7NO2

PUBCHEM: 3433

CHARGE: 0

CHEBI: 15570

KEGG: C00133

FORMULA: C3H7NO2

PUBCHEM: 3433

CHARGE: 0

CHEBI: 15570

KEGG: C00133

FORMULA: C14H23N2O12PR2

PUBCHEM: 6232

CHARGE: 1

CHEBI: 29265

KEGG: C03402

FORMULA: C6H11O2

PUBCHEM: 4740

CHARGE: -1

CHEBI: 30776

KEGG: C01585

FORMULA: C15H22N2O17P2

PUBCHEM: 3354

CHARGE: -2

CHEBI: 18307

KEGG: C00052

FORMULA: C10H11N5O10P2

PUBCHEM: 3356

CHARGE: -4

CHEBI: 17985

KEGG: C00054

FORMULA: C10H12N4O5

PUBCHEM: 3588

CHARGE: 0

CHEBI: 17596

KEGG: C00294

FORMULA: C68H127N2O20P

PUBCHEM: 7476

CHARGE: -2

CHEBI: 18380

KEGG: C04932

FORMULA: C15H22N2O17P2

PUBCHEM: 3354

CHARGE: -2

CHEBI: 18307

KEGG: C00052

FORMULA: C6H11O2

PUBCHEM: 4740

CHARGE: -1

CHEBI: 30776

KEGG: C01585

FORMULA: C6H11O2

PUBCHEM: 4740

CHARGE: -1

CHEBI: 30776

KEGG: C01585

FORMULA: C15H22N2O17P2

PUBCHEM: 3354

CHARGE: -2

CHEBI: 18307

KEGG: C00052

FORMULA: C4H5O3

PUBCHEM: 3464

CHARGE: -1

CHEBI: 0

KEGG: C00164

FORMULA: C15H21N5O14P2

PUBCHEM: 3595

CHARGE: -2

CHEBI: 16960

KEGG: C00301

FORMULA: C25H43N2O8PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C55H76CoN15O11

PUBCHEM: 8738

CHARGE: 0

CHEBI: 2483

KEGG: C06507

FORMULA: C4H5O3

PUBCHEM: 3464

CHARGE: -1

CHEBI: 0

KEGG: C00164

FORMULA: C68H126N2O23P2

PUBCHEM: 7476

CHARGE: -4

CHEBI: 18380

KEGG: C04932

FORMULA: C5H9NO4

PUBCHEM: 4228

CHARGE: 0

CHEBI: 17981

KEGG: C00979

FORMULA: C30H58O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C5H9NO4

PUBCHEM: 4228

CHARGE: 0

CHEBI: 17981

KEGG: C00979

FORMULA: C6H8O8

PUBCHEM: 4135

CHARGE: -2

CHEBI: 0

KEGG: C00879

FORMULA: C3H2O6P

PUBCHEM: 3374

CHARGE: -3

CHEBI: 18021 44897

KEGG: C00074

FORMULA: C3H2O6P

PUBCHEM: 3374

CHARGE: -3

CHEBI: 18021 44897

KEGG: C00074

FORMULA: C30H58O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C27H49N2O9PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H8O8

PUBCHEM: 4135

CHARGE: -2

CHEBI: 0

KEGG: C00879

FORMULA: C6H8O8

PUBCHEM: 4135

CHARGE: -2

CHEBI: 0

KEGG: C00879

FORMULA: C10H11N5O17P4

PUBCHEM: 4450

CHARGE: -6

CHEBI: 17633

KEGG: C01228

FORMULA: R

PUBCHEM: 4788

CHARGE: 0

CHEBI: 29167

KEGG: C01639

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: O2S

PUBCHEM: 11497

CHARGE: 0

CHEBI: 18422

KEGG: C09306

FORMULA: C37H60N7O17P3S

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C12H22O11

PUBCHEM: 3508

CHARGE: 0

CHEBI: 17306

KEGG: C00208

FORMULA: C3H6O3

PUBCHEM: 3856

CHARGE: 0

CHEBI: 17378

KEGG: C00577

FORMULA: C3H6O3

PUBCHEM: 3856

CHARGE: 0

CHEBI: 17378

KEGG: C00577

FORMULA: C12H22O11

PUBCHEM: 3508

CHARGE: 0

CHEBI: 17306

KEGG: C00208

FORMULA: C12H22O11

PUBCHEM: 3508

CHARGE: 0

CHEBI: 17306

KEGG: C00208

FORMULA: C3H6O3

PUBCHEM: 3856

CHARGE: 0

CHEBI: 17378

KEGG: C00577

FORMULA: C3H6NOSR

PUBCHEM: 6018

CHARGE: 1

CHEBI: 29152

KEGG: C03125

FORMULA:

PUBCHEM: 7121

CHARGE: -2

CHEBI: 16046

KEGG: 0

FORMULA: C2H7NO3S

PUBCHEM: 3544

CHARGE: 0

CHEBI: 15891

KEGG: C00245

FORMULA: C8H12N

PUBCHEM: 7711

CHARGE: 1

CHEBI: 18397

KEGG: C05332

FORMULA: C4H4O6

PUBCHEM: 5189

CHARGE: -2

CHEBI: 15672

KEGG: C02107

FORMULA: C5H9O7P

PUBCHEM: 13609

CHARGE: -2

CHEBI: 16493

KEGG: C11437

FORMULA: C7H13O10P

PUBCHEM: 3576

CHARGE: -2

CHEBI: 15721

KEGG: C00281

FORMULA: C8H12N

PUBCHEM: 7711

CHARGE: 1

CHEBI: 18397

KEGG: C05332

FORMULA: C2H7NO3S

PUBCHEM: 3544

CHARGE: 0

CHEBI: 15891

KEGG: C00245

FORMULA: C6H15N2O2

PUBCHEM: 3349

CHARGE: 1

CHEBI: 18019

KEGG: C00047

FORMULA: C21H40O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C5H11NO3S

PUBCHEM: 847

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C54H104O11P

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H12O6

PUBCHEM: 3437

CHARGE: 0

CHEBI: 17268

KEGG: C00137

FORMULA: C6H15N2O2

PUBCHEM: 3349

CHARGE: 1

CHEBI: 18019

KEGG: C00047

FORMULA: C6H12O6

PUBCHEM: 3437

CHARGE: 0

CHEBI: 17268

KEGG: C00137

FORMULA: C6H12O6

PUBCHEM: 3437

CHARGE: 0

CHEBI: 17268

KEGG: C00137

FORMULA: C7H7NO4

PUBCHEM: 6692

CHARGE: -2

CHEBI: 864

KEGG: C03972

FORMULA: C79H130O24P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C4H10NO

PUBCHEM: 3835

CHARGE: 1

CHEBI: 17769

KEGG: C00555

FORMULA: C15H19N2O18P2

PUBCHEM: 3467

CHARGE: -3

CHEBI: 17200

KEGG: C00167

FORMULA: C15H19N2O18P2

PUBCHEM: 3467

CHARGE: -3

CHEBI: 17200

KEGG: C00167

FORMULA: C9H8NO3

PUBCHEM: 8568

CHARGE: -1

CHEBI: 16803

KEGG: C06332

FORMULA: C3H8O2

PUBCHEM: 5836

CHARGE: 0

CHEBI: 28972

KEGG: C02912

FORMULA: C3H8O2

PUBCHEM: 5836

CHARGE: 0

CHEBI: 28972

KEGG: C02912

FORMULA: C14H22N3O17P3

PUBCHEM: 13608

CHARGE: -4

CHEBI: 16840

KEGG: C11436

FORMULA: C15H19N2O18P2

PUBCHEM: 3467

CHARGE: -3

CHEBI: 17200

KEGG: C00167

FORMULA: C23H46NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C7H12N2O3

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C7H10O10P

PUBCHEM: 7271

CHARGE: -3

CHEBI: 18150

KEGG: C04691

FORMULA: C5H9O8P2

PUBCHEM: 13975

CHARGE: -3

CHEBI: 15664

KEGG: C11811

FORMULA: C7H12N2O3

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C6H11O4

PUBCHEM: 8280

CHARGE: -1

CHEBI: 27512 49258

KEGG: C06007

FORMULA: C16H23N5O15P2

PUBCHEM: 3619

CHARGE: -2

CHEBI: 17009

KEGG: C00325

FORMULA: C23H46NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C124H219N2O54P3

PUBCHEM: 0

CHARGE: -8

CHEBI: 0

KEGG: 0

FORMULA: C7H12N2O3

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: CH1O2

PUBCHEM: 3358

CHARGE: -1

CHEBI: 30751

KEGG: C00058

FORMULA: C9H12N2O5

PUBCHEM: 3809

CHARGE: 0

CHEBI: 16450

KEGG: C00526

FORMULA: C25H45N2O8PRS

PUBCHEM: 8055

CHARGE: -1

CHEBI: 0

KEGG: C05760

FORMULA: C10H10NO6

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: C04204

FORMULA: C9H12N2O5

PUBCHEM: 3809

CHARGE: 0

CHEBI: 16450

KEGG: C00526

FORMULA: C9H10NO6P

PUBCHEM: 8732

CHARGE: -2

CHEBI: 0

KEGG: C06501

FORMULA: CH1O2

PUBCHEM: 3358

CHARGE: -1

CHEBI: 30751

KEGG: C00058

FORMULA: CH1O2

PUBCHEM: 3358

CHARGE: -1

CHEBI: 30751

KEGG: C00058

FORMULA: C9H12N2O5

PUBCHEM: 3809

CHARGE: 0

CHEBI: 16450

KEGG: C00526

FORMULA: C17H25N3O17P2

PUBCHEM: 3503

CHARGE: -2

CHEBI: 16650

KEGG: C00203

FORMULA: C8H13N3O4

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: phosphorylated version of C03373

FORMULA: C8H13N3O4

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: phosphorylated version of C03373

FORMULA: C17H25N3O17P2

PUBCHEM: 3503

CHARGE: -2

CHEBI: 16650

KEGG: C00203

FORMULA: C7H13O10P

PUBCHEM: 10038

CHARGE: -2

CHEBI: 28723

KEGG: C07836

FORMULA: C3H6NOR

PUBCHEM: 4142

CHARGE: 1

CHEBI: 17732

KEGG: C00886

FORMULA: C8H13N3O4

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: phosphorylated version of C03373

FORMULA: C45H56CoN6O12

PUBCHEM: 8736

CHARGE: -5

CHEBI: 28531

KEGG: C06505

FORMULA: C21H25N7O17P3

PUBCHEM: 3308

CHARGE: -3

CHEBI: 18009

KEGG: C00006

FORMULA: C61H99N1O8P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C10H17N4O5

PUBCHEM: 6152

CHARGE: -1

CHEBI: 17705

KEGG: C03296

FORMULA: C6H12N2O4S2

PUBCHEM: 3774

CHARGE: 0

CHEBI: 16283

KEGG: C00491

FORMULA: C10H12N5O7P

PUBCHEM: 3653

CHARGE: -2

CHEBI: 16192

KEGG: C00362

FORMULA: C13H18N4O6

PUBCHEM: 6983

CHARGE: 0

CHEBI: 17601

KEGG: C04332

FORMULA: C10H12N5O7P

PUBCHEM: 3653

CHARGE: -2

CHEBI: 16192

KEGG: C00362

FORMULA: C6H12N2O4S2

PUBCHEM: 3774

CHARGE: 0

CHEBI: 16283

KEGG: C00491

FORMULA: C3H7O6P

PUBCHEM: 5889

CHARGE: -2

CHEBI: 17270

KEGG: C02979

FORMULA: C12H16N4O7P2S

PUBCHEM: 3368

CHARGE: -2

CHEBI: 9532

KEGG: C00068

FORMULA: C6H12N2O4S2

PUBCHEM: 3774

CHARGE: 0

CHEBI: 16283

KEGG: C00491

FORMULA: C5H5N2O4

PUBCHEM: 3630

CHARGE: -1

CHEBI: 17025

KEGG: C00337

FORMULA: C10H12N5O7P

PUBCHEM: 3653

CHARGE: -2

CHEBI: 16192

KEGG: C00362

FORMULA: CH3NO

PUBCHEM: 3771

CHARGE: 0

CHEBI: 16397

KEGG: C00488

FORMULA: C8H12O11P

PUBCHEM: 7098

CHARGE: -3

CHEBI: 18069

KEGG: C04478

FORMULA: C4H9NO3

PUBCHEM: 3561

CHARGE: 0

CHEBI: 15699

KEGG: C00263

FORMULA: C6H11O9P

PUBCHEM: 3385

CHARGE: -2

CHEBI: 15946

KEGG: C00085

FORMULA: C4H9NO3

PUBCHEM: 3561

CHARGE: 0

CHEBI: 15699

KEGG: C00263

FORMULA: C38H56N8O27P2

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: CH3NO

PUBCHEM: 3771

CHARGE: 0

CHEBI: 16397

KEGG: C00488

FORMULA: C6H11O9P

PUBCHEM: 3385

CHARGE: -2

CHEBI: 15946

KEGG: C00085

FORMULA: CH3NO

PUBCHEM: 3771

CHARGE: 0

CHEBI: 16397

KEGG: C00488

FORMULA: C4H9NO3

PUBCHEM: 3561

CHARGE: 0

CHEBI: 15699

KEGG: C00263

FORMULA: C21H27N7O14P2

PUBCHEM: 3306

CHARGE: -2

CHEBI: 16908

KEGG: C00004

FORMULA: C19H35N2O8PRS

PUBCHEM: 8047

CHARGE: -1

CHEBI: 0

KEGG: C05752

FORMULA: C6H11O9P

PUBCHEM: 4404

CHARGE: -2

CHEBI: 18297

KEGG: C01177

FORMULA: C31H60O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: R

PUBCHEM: 4790

CHARGE: 0

CHEBI: 29175

KEGG: C01641

FORMULA: C31H60O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: C6H11O4

PUBCHEM: 3805

CHARGE: -1

CHEBI: 14737 15980

KEGG: C00522

FORMULA: C8H12NO2

PUBCHEM: 6517

CHARGE: 1

CHEBI: 18243

KEGG: C03758

FORMULA: C15H29O7P1

PUBCHEM: 3950

CHARGE: -2

CHEBI: 16975

KEGG: C00681

FORMULA: C4H2O5

PUBCHEM: 3338

CHARGE: -2

CHEBI: 30744

KEGG: C00036

FORMULA: C5H3N2O4

PUBCHEM: 3589

CHARGE: -1

CHEBI: 16742

KEGG: C00295

FORMULA: C29H53N2O8PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C5H9NO2

PUBCHEM: 3448

CHARGE: 0

CHEBI: 17203

KEGG: C00148

FORMULA: C5H9NO2

PUBCHEM: 3448

CHARGE: 0

CHEBI: 17203

KEGG: C00148

FORMULA: C5H3N2O4

PUBCHEM: 3589

CHARGE: -1

CHEBI: 16742

KEGG: C00295

FORMULA: C4H2O5

PUBCHEM: 3338

CHARGE: -2

CHEBI: 30744

KEGG: C00036

FORMULA: C15H29O7P1

PUBCHEM: 3950

CHARGE: -2

CHEBI: 16975

KEGG: C00681

FORMULA: C8H12NO2

PUBCHEM: 6517

CHARGE: 1

CHEBI: 18243

KEGG: C03758

FORMULA: C4H2O5

PUBCHEM: 3338

CHARGE: -2

CHEBI: 30744

KEGG: C00036

FORMULA: C5H9NO2

PUBCHEM: 3448

CHARGE: 0

CHEBI: 17203

KEGG: C00148

FORMULA: C5H3N2O4

PUBCHEM: 3589

CHARGE: -1

CHEBI: 16742

KEGG: C00295

FORMULA: C4H4O8P

PUBCHEM: 8324

CHARGE: -3

CHEBI: 27951

KEGG: C06054

FORMULA: C5H10O5

PUBCHEM: 3558

CHARGE: 0

CHEBI: 17535

KEGG: C00259

FORMULA: C2H6O

PUBCHEM: 3752

CHARGE: 0

CHEBI: 16236

KEGG: C00469

FORMULA: C5H10O5

PUBCHEM: 3558

CHARGE: 0

CHEBI: 17535

KEGG: C00259

FORMULA: C5H10O5

PUBCHEM: 3558

CHARGE: 0

CHEBI: 17535

KEGG: C00259

FORMULA: C21H42NO7P1

PUBCHEM: 7069

CHARGE: 0

CHEBI: 0

KEGG: C04438

FORMULA: C9H18O6N3Fe

PUBCHEM: 8470

CHARGE: 0

CHEBI: 0

KEGG: C06227

FORMULA:

PUBCHEM: 9109

CHARGE: -1

CHEBI: 27972

KEGG: C06892

FORMULA: C7H8O8P

PUBCHEM: 6057

CHARGE: -3

CHEBI: 17052

KEGG: C03175

FORMULA: C367H610O228P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C13H23N2O8PRS

PUBCHEM: 6663

CHARGE: -1

CHEBI: 0

KEGG: C03939

FORMULA: C5H11NO2

PUBCHEM: 3985

CHARGE: 0

CHEBI: 17750

KEGG: C00719

FORMULA: C5H11NO2

PUBCHEM: 3985

CHARGE: 0

CHEBI: 17750

KEGG: C00719

FORMULA: C36H63N3O15P2

PUBCHEM: 3567

CHARGE: -2

CHEBI: 0

KEGG: C00269

FORMULA: C9H18O6N3Fe

PUBCHEM: 8470

CHARGE: 0

CHEBI: 0

KEGG: C06227

FORMULA: C6H13N3O3

PUBCHEM: 3621

CHARGE: 0

CHEBI: 16349

KEGG: C00327

FORMULA: C5H11NO2

PUBCHEM: 3985

CHARGE: 0

CHEBI: 17750

KEGG: C00719

FORMULA: C169H291N2O94P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C21H44NO7P1

PUBCHEM: 7069

CHARGE: 0

CHEBI: 0

KEGG: C04438

FORMULA: C48H83N3O15P2

PUBCHEM: 3567

CHARGE: -2

CHEBI: 0

KEGG: C00269

FORMULA: C15H25N2O9PRS

PUBCHEM: 8039

CHARGE: -1

CHEBI: 0

KEGG: C05744

FORMULA: C151H261N2O79P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C28H46N8O17P3S

PUBCHEM: 726??6196

CHARGE: -3

CHEBI: 28684

KEGG: 0

FORMULA: C6H12O6

PUBCHEM: 3395

CHARGE: 0

CHEBI: 15824

KEGG: C00095

FORMULA: C10H12N5O8P

PUBCHEM: 8443

CHARGE: -2

CHEBI: 0

KEGG: C06193

FORMULA: C20H20N7O6

PUBCHEM: 3733

CHARGE: -1

CHEBI: 15638

KEGG: C00445

FORMULA: C6H12O6

PUBCHEM: 3395

CHARGE: 0

CHEBI: 15824

KEGG: C00095

FORMULA: C68H95CoN21O21P2

PUBCHEM: 8741

CHARGE: -1

CHEBI: 0

KEGG: C06510

FORMULA: C31H55O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C151H234N12O67P2

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C6H12O6

PUBCHEM: 3395

CHARGE: 0

CHEBI: 15824

KEGG: C00095

FORMULA: C10H12N5O8P

PUBCHEM: 8443

CHARGE: -2

CHEBI: 0

KEGG: C06193

FORMULA: C44H45CoN4O16

PUBCHEM: 13709

CHARGE: -7

CHEBI: 0

KEGG: C11542

FORMULA: C5H9O8P

PUBCHEM: 4344

CHARGE: -2

CHEBI: 16241

KEGG: C01112

FORMULA: C31H55O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: Co

PUBCHEM: 3475

CHARGE: 2

CHEBI: 27638

KEGG: C00175

FORMULA: Co

PUBCHEM: 3475

CHARGE: 2

CHEBI: 27638

KEGG: C00175

FORMULA:

PUBCHEM: 9108

CHARGE: 0

CHEBI: 4077

KEGG: C06891

FORMULA: C37H62N7O17P3S

PUBCHEM: 3454

CHARGE: -4

CHEBI: 15525

KEGG: C00154

FORMULA: C39H66N7O18P3S

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: Co

PUBCHEM: 3475

CHARGE: 2

CHEBI: 27638

KEGG: C00175

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C131H231N2O60P3

PUBCHEM: 0

CHARGE: -8

CHEBI: 0

KEGG: 0

FORMULA: C3H7NO3

PUBCHEM: 4003

CHARGE: 0

CHEBI: 16523

KEGG: C00740

FORMULA: C5H10N2O3S

PUBCHEM: 4606

CHARGE: 0

CHEBI: 4047

KEGG: C01419

FORMULA: C11H21N2O7PS

PUBCHEM: 4365

CHARGE: -2

CHEBI: 16858

KEGG: C01134

FORMULA: C5H10N2O3S

PUBCHEM: 4606

CHARGE: 0

CHEBI: 4047

KEGG: C01419

FORMULA: C3H7NO3

PUBCHEM: 4003

CHARGE: 0

CHEBI: 16523

KEGG: C00740

FORMULA: C3H7NO3

PUBCHEM: 4003

CHARGE: 0

CHEBI: 16523

KEGG: C00740

FORMULA: C5H10N2O3S

PUBCHEM: 4606

CHARGE: 0

CHEBI: 4047

KEGG: C01419

FORMULA: C4H8NO7P

PUBCHEM: 8325

CHARGE: -2

CHEBI: 18336

KEGG: C06055

FORMULA: C55H68CoN11O15

PUBCHEM: 8737

CHARGE: -4

CHEBI: 2482

KEGG: C06506

FORMULA: C5H9O7P

PUBCHEM: 3941

CHARGE: -2

CHEBI: 28542

KEGG: C00672

FORMULA: C6H9O7

PUBCHEM: 3838

CHARGE: -1

CHEBI: 17886

KEGG: C00558

FORMULA: C6H14O6

PUBCHEM: 4052

CHARGE: 0

CHEBI: 17924

KEGG: C00794

FORMULA: C45H46CoN4O16

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: C16242

FORMULA: CH4N2O

PUBCHEM: 3386

CHARGE: 0

CHEBI: 16199

KEGG: C00086

FORMULA: HO4P

PUBCHEM: 3311

CHARGE: -2

CHEBI: 18367

KEGG: C00009

FORMULA: C16H23N5O16P2

PUBCHEM: 3396

CHARGE: -2

CHEBI: 15820

KEGG: C00096

FORMULA: C5H8NOR

PUBCHEM: 5665

CHARGE: 1

CHEBI: 29154

KEGG: C02702

FORMULA: C111H167N21O58

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C6H14O6

PUBCHEM: 4052

CHARGE: 0

CHEBI: 17924

KEGG: C00794

FORMULA: HO4P

PUBCHEM: 3311

CHARGE: -2

CHEBI: 18367

KEGG: C00009

FORMULA: HO4P

PUBCHEM: 3311

CHARGE: -2

CHEBI: 18367

KEGG: C00009

FORMULA: C18H36O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C37H70N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C4H9NO2S

PUBCHEM: 3455

CHARGE: 0

CHEBI: 17588

KEGG: C00155

FORMULA: C37H70N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C3H3O4

PUBCHEM: 4376

CHARGE: -1

CHEBI: 16992

KEGG: C01146

FORMULA: C9H12N3O14P3

PUBCHEM: 3363

CHARGE: -4

CHEBI: 17677

KEGG: C00063

FORMULA: C29H58N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C34H38N4O4

PUBCHEM: 4317

CHARGE: -2

CHEBI: 15435

KEGG: C01079

FORMULA: C9H18O6N3Fe

PUBCHEM: 8470

CHARGE: 0

CHEBI: 0

KEGG: C06227

FORMULA: C29H58N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C5H9O8P

PUBCHEM: 3499

CHARGE: -2

CHEBI: 17363

KEGG: C00199

FORMULA: C31H48N7O18P3S

PUBCHEM: 7652

CHARGE: -4

CHEBI: 28528

KEGG: C05265

FORMULA: C9H16N4O6

PUBCHEM: 7303

CHARGE: 0

CHEBI: 15934

KEGG: C04732

FORMULA: C5H9O8P

PUBCHEM: 4335

CHARGE: -2

CHEBI: 17666

KEGG: C01101

FORMULA: C17H32O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C17H32O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C8H8O3

PUBCHEM: 6744

CHARGE: 0

CHEBI: 0

KEGG: C04043

FORMULA: C51H72O2

PUBCHEM: 4086

CHARGE: 0

CHEBI: 0

KEGG: C00828

FORMULA: C29H44N7O17P3S

PUBCHEM: 7663

CHARGE: -4

CHEBI: 27537

KEGG: C05276

FORMULA: C8H8O3

PUBCHEM: 6744

CHARGE: 0

CHEBI: 0

KEGG: C04043

FORMULA: C6H5O6

PUBCHEM: 135626273

CHARGE: -3

CHEBI: 62517

KEGG: C19806

FORMULA: C9H21N2O2

PUBCHEM: 4280

CHARGE: 1

CHEBI: 2247

KEGG: C01037

FORMULA: C6H5O6

PUBCHEM: 135626273

CHARGE: -3

CHEBI: 62517

KEGG: C19806

i

FORMULA: C17H29N2O8PRS

PUBCHEM: 8043

CHARGE: -1

CHEBI: 0

KEGG: C05748

FORMULA: C23H41N2O8PRS

PUBCHEM: 8053

CHARGE: -1

CHEBI: 0

KEGG: C05758

FORMULA: C5H10O4

PUBCHEM: 3449

CHARGE: 0

CHEBI: 30797

KEGG: 0

FORMULA: C5H6N2O5

PUBCHEM: 3727

CHARGE: -2

CHEBI: 15859

KEGG: C00438

FORMULA: C6H5O6

PUBCHEM: 135626273

CHARGE: -3

CHEBI: 62517

KEGG: C19806

FORMULA: C13H19N6O9P

PUBCHEM: 8115

CHARGE: 0

CHEBI: 0

KEGG: C05820

FORMULA: C9H23N3O

PUBCHEM: 3886

CHARGE: 2

CHEBI: 17927

KEGG: C00612

FORMULA: C22H42O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C10H12N5O6P

PUBCHEM: 3651

CHARGE: -2

CHEBI: 17713

KEGG: C00360

FORMULA: C9H13N5O4

PUBCHEM: 7426

CHARGE: 0

CHEBI: 17001

KEGG: C04874

FORMULA: C5H9O8P

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: C00442

FORMULA: C10H12N5O6P

PUBCHEM: 3651

CHARGE: -2

CHEBI: 17713

KEGG: C00360

FORMULA: C10H12N5O6P

PUBCHEM: 3651

CHARGE: -2

CHEBI: 17713

KEGG: C00360

FORMULA: C2H4NOR

PUBCHEM: 5445

CHARGE: 1

CHEBI: 29156

KEGG: C02412

FORMULA: C18H30N5O9

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H12O6

PUBCHEM: 3333

CHARGE: 0

CHEBI: 4167

KEGG: C00031

FORMULA: C10H11N4O11P2

PUBCHEM: 3404

CHARGE: -3

CHEBI: 17808

KEGG: C00104

FORMULA: C6H14N2OR

PUBCHEM: 5037

CHARGE: 2

CHEBI: 16047

KEGG: C01931

FORMULA: C6H12O6

PUBCHEM: 3333

CHARGE: 0

CHEBI: 4167

KEGG: C00031

FORMULA: C6H12O6

PUBCHEM: 3333

CHARGE: 0

CHEBI: 4167

KEGG: C00031

FORMULA: C22H44O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C2H2O5S

PUBCHEM: 7846991

CHARGE: -2

CHEBI: 0

KEGG: C14179

FORMULA: C15H25O7P2

PUBCHEM: 3736

CHARGE: -3

CHEBI: 17407

KEGG: C00448

FORMULA: C23H39N2O9PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C22H44O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C2H2O5S

PUBCHEM: 7846991

CHARGE: -2

CHEBI: 0

KEGG: C14179

FORMULA: C6H9O6

PUBCHEM: 4438

CHARGE: -1

CHEBI: 17028

KEGG: C01216

FORMULA: C6H12NOR

PUBCHEM: 5136

CHARGE: 1

CHEBI: 16624

KEGG: C02047

FORMULA: HSe

PUBCHEM: 4690

CHARGE: -1

CHEBI: 16503

KEGG: C01528

FORMULA: C2H3O5P

PUBCHEM: 3527

CHARGE: -2

CHEBI: 15350

KEGG: C00227

FORMULA: C3H6O

PUBCHEM: 3762

CHARGE: 0

CHEBI: 17153

KEGG: C00479

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C3H6O

PUBCHEM: 3762

CHARGE: 0

CHEBI: 17153

KEGG: C00479

FORMULA: C3H6O

PUBCHEM: 3762

CHARGE: 0

CHEBI: 17153

KEGG: C00479

FORMULA: C9H15NO8P

PUBCHEM: 6304

CHARGE: -3

CHEBI: 15905

KEGG: C03492

FORMULA: C27H46FeN6O10

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C10H12N4O6

PUBCHEM: 4895

CHARGE: 0

CHEBI: 18107

KEGG: C01762

FORMULA: C3H5O5P

PUBCHEM: 5809

CHARGE: -2

CHEBI: 0

KEGG: C02876

FORMULA: C25H43N2O9PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C4H7O6P

PUBCHEM: 17396548

CHARGE: -2

CHEBI: 0

KEGG: C15556

FORMULA: C6H9O7

PUBCHEM: 3458

CHARGE: -1

CHEBI: 30769

KEGG: 0

FORMULA: C34H62O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C3H5O3

PUBCHEM: 3486

CHARGE: -1

CHEBI: 422

KEGG: C00186

FORMULA: C8H15N3O8P

PUBCHEM: 7229

CHARGE: -1

CHEBI: 18413

KEGG: C04640

FORMULA: C74H112N14O39

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C39H66N7O17P3S

PUBCHEM: 3702

CHARGE: -4

CHEBI: 15541

KEGG: C00412

FORMULA: C535H890O347P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C17H36NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C34H62O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C3H5O3

PUBCHEM: 3486

CHARGE: -1

CHEBI: 422

KEGG: C00186

FORMULA: C2H8NO

PUBCHEM: 3489

CHARGE: 1

CHEBI: 16000

KEGG: C00189

FORMULA: C27H46FeN6O10

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C127H198N9O52P2

PUBCHEM: 0

CHARGE: -5

CHEBI: 0

KEGG: 0

FORMULA: C6H14NO5

PUBCHEM: 3623

CHARGE: 1

CHEBI: 47977

KEGG: C00329

FORMULA: C19H37O7P1

PUBCHEM: 3950

CHARGE: -2

CHEBI: 16975

KEGG: C00681

FORMULA: C2H8NO

PUBCHEM: 3489

CHARGE: 1

CHEBI: 16000

KEGG: C00189

FORMULA: C6H11O9P

PUBCHEM: 3392

CHARGE: -2

CHEBI: 4170

KEGG: C00092

FORMULA: C6H5O7

PUBCHEM: 3605

CHARGE: -3

CHEBI: 30887

KEGG: C00311

FORMULA: C6H5O7

PUBCHEM: 3605

CHARGE: -3

CHEBI: 30887

KEGG: C00311

FORMULA: C6H14NO5

PUBCHEM: 3623

CHARGE: 1

CHEBI: 47977

KEGG: C00329

FORMULA: C15H19N5O14P2

PUBCHEM: 5701

CHARGE: -4

CHEBI: 0

KEGG: C02741

FORMULA: C2H8NO

PUBCHEM: 3489

CHARGE: 1

CHEBI: 16000

KEGG: C00189

FORMULA: C42H82O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C6H5O7

PUBCHEM: 3605

CHARGE: -3

CHEBI: 30887

KEGG: C00311

FORMULA: C6H11O9P

PUBCHEM: 3392

CHARGE: -2

CHEBI: 4170

KEGG: C00092

FORMULA: C6H11O9P

PUBCHEM: 3392

CHARGE: -2

CHEBI: 4170

KEGG: C00092

FORMULA: C157H271N2O84P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C27H46FeN6O10

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C6H11O9P

PUBCHEM: 3403

CHARGE: -2

CHEBI: 16077 29042

KEGG: C00103

FORMULA: C6H11O9P

PUBCHEM: 3403

CHARGE: -2

CHEBI: 16077 29042

KEGG: C00103

FORMULA: C4H4O5

PUBCHEM: 3449

CHARGE: -2

CHEBI: 30797

KEGG: C00149

FORMULA: C11H21N2O7PRS

PUBCHEM: 3528

CHARGE: -1

CHEBI: 0

KEGG: C00229

FORMULA: C4H4O5

PUBCHEM: 3449

CHARGE: -2

CHEBI: 30797

KEGG: C00149

FORMULA: C6H11O9P

PUBCHEM: 3403

CHARGE: -2

CHEBI: 16077 29042

KEGG: C00103

FORMULA: C4H4O5

PUBCHEM: 3449

CHARGE: -2

CHEBI: 30797

KEGG: C00149

FORMULA: AsO3

PUBCHEM: 8922

CHARGE: -3

CHEBI: 29866

KEGG: C06697

FORMULA: C48H74O3

PUBCHEM: 8109

CHARGE: 0

CHEBI: 28636

KEGG: C05814

FORMULA: C111H169N21O59

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C27H49N2O8PRS

PUBCHEM: 8058

CHARGE: -1

CHEBI: 0

KEGG: C05763

FORMULA: AsO3

PUBCHEM: 8922

CHARGE: -3

CHEBI: 29866

KEGG: C06697

FORMULA: C114H172N22O59

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C25H38N7O17P3S

PUBCHEM: 3436

CHARGE: -4

CHEBI: 15517

KEGG: C00136

FORMULA: C8H13N2O5

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C9H11N3O7P

PUBCHEM: 5401

CHARGE: -1

CHEBI: 0

KEGG: C02354

FORMULA: C6H14N4OR

PUBCHEM: 5239

CHARGE: 2

CHEBI: 18366

KEGG: C02163

FORMULA: C9H11N3O7P

PUBCHEM: 5401

CHARGE: -1

CHEBI: 0

KEGG: C02354

FORMULA: C29H46N7O17P3S

PUBCHEM: 5048

CHARGE: -4

CHEBI: 15533

KEGG: C01944

FORMULA: C10H12N5O8P

PUBCHEM: 3444

CHARGE: -2

CHEBI: 17345

KEGG: C00144

FORMULA: C8H8O

PUBCHEM: 3876

CHARGE: 0

CHEBI: 16424

KEGG: C00601

FORMULA: C10H12N5O8P

PUBCHEM: 3444

CHARGE: -2

CHEBI: 17345

KEGG: C00144

FORMULA: C10H12N5O8P

PUBCHEM: 3444

CHARGE: -2

CHEBI: 17345

KEGG: C00144

FORMULA: C8H8O

PUBCHEM: 3876

CHARGE: 0

CHEBI: 16424

KEGG: C00601

FORMULA: C18H27N3O15P2

PUBCHEM: 8290

CHARGE: -2

CHEBI: 28294

KEGG: 0

FORMULA: C8H8O

PUBCHEM: 3876

CHARGE: 0

CHEBI: 16424

KEGG: C00601

FORMULA: C10H15N2O3S

PUBCHEM: 3420

CHARGE: -1

CHEBI: 15956

KEGG: C00120

FORMULA: C6H7N2O3

PUBCHEM: 6455

CHARGE: -1

CHEBI: 0

KEGG: C03680

FORMULA: N2O

PUBCHEM: 4143

CHARGE: 0

CHEBI: 17045

KEGG: C00887

FORMULA: C14H23N3O14P2

PUBCHEM: 13607

CHARGE: -2

CHEBI: 16578

KEGG: C11435

FORMULA: N2O

PUBCHEM: 4143

CHARGE: 0

CHEBI: 17045

KEGG: C00887

FORMULA: N2O

PUBCHEM: 4143

CHARGE: 0

CHEBI: 17045

KEGG: C00887

FORMULA: C21H37N2O8PRS

PUBCHEM: 8049

CHARGE: -1

CHEBI: 0

KEGG: C05754

FORMULA: C20H28N3O19P2

PUBCHEM: 4292

CHARGE: -3

CHEBI: 17882

KEGG: C01050

FORMULA:

PUBCHEM: 8451

CHARGE: -2

CHEBI: 0

KEGG: C06201

FORMULA: C8H12N3O7P

PUBCHEM: 6208

CHARGE: -2

CHEBI: 28843

KEGG: C03373

FORMULA: C4H9NO3

PUBCHEM: 7864

CHARGE: 0

CHEBI: 28718

KEGG: C05519

FORMULA: C2H3O4P1

PUBCHEM: 6050

CHARGE: -2

CHEBI: 18124

KEGG: C03167

FORMULA: C9H11NO2

PUBCHEM: 3379

CHARGE: 0

CHEBI: 17295

KEGG: C00079

FORMULA: Ca

PUBCHEM: 3376

CHARGE: 2

CHEBI: 29108

KEGG: C00076

FORMULA: C9H11NO3

PUBCHEM: 3382

CHARGE: 0

CHEBI: 17895

KEGG: C00082

FORMULA: Ca

PUBCHEM: 3376

CHARGE: 2

CHEBI: 29108

KEGG: C00076

FORMULA: X

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C9H11NO2

PUBCHEM: 3379

CHARGE: 0

CHEBI: 17295

KEGG: C00079

FORMULA: C19H40NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C17H21N4O9P

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C9H11NO3

PUBCHEM: 3382

CHARGE: 0

CHEBI: 17895

KEGG: C00082

FORMULA: C9H11NO2

PUBCHEM: 3379

CHARGE: 0

CHEBI: 17295

KEGG: C00079

FORMULA: C6H11O7PS

PUBCHEM: 6864

CHARGE: -2

CHEBI: 0

KEGG: C04188

FORMULA: Ca

PUBCHEM: 3376

CHARGE: 2

CHEBI: 29108

KEGG: C00076

FORMULA: C9H11NO3

PUBCHEM: 3382

CHARGE: 0

CHEBI: 17895

KEGG: C00082

FORMULA: C19H40NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C19H38O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C8H12NO

PUBCHEM: 3766

CHARGE: 1

CHEBI: 15760

KEGG: C00483

FORMULA: C9H12N5O13P3

PUBCHEM: 7446

CHARGE: -4

CHEBI: 18372

KEGG: C04895

FORMULA: C71H109N13O39

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C37H60N7O18P3S

PUBCHEM: 7646

CHARGE: -4

CHEBI: 15491

KEGG: C05259

FORMULA: C6H11O9P

PUBCHEM: 3385

CHARGE: -2

CHEBI: 15946

KEGG: C00085

FORMULA: C19H38O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C8H12NO

PUBCHEM: 3766

CHARGE: 1

CHEBI: 15760

KEGG: C00483

FORMULA: C3H6NO6P

PUBCHEM: 4251

CHARGE: -2

CHEBI: 15811

KEGG: C01005

FORMULA: C3H6NO6P

PUBCHEM: 4251

CHARGE: -2

CHEBI: 15811

KEGG: C01005

FORMULA: C2H5O3S

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C11H12N2O2

PUBCHEM: 3378

CHARGE: 0

CHEBI: 16828

KEGG: C00078

FORMULA: C8H14NO9P

PUBCHEM: 6921

CHARGE: -2

CHEBI: 7125

KEGG: C04256

FORMULA: C3H6NO6P

PUBCHEM: 4251

CHARGE: -2

CHEBI: 15811

KEGG: C01005

FORMULA: C11H12N2O2

PUBCHEM: 3378

CHARGE: 0

CHEBI: 16828

KEGG: C00078

FORMULA: C8H14NO9P

PUBCHEM: 6921

CHARGE: -2

CHEBI: 7125

KEGG: C04256

FORMULA: C8H14NO9P

PUBCHEM: 6921

CHARGE: -2

CHEBI: 7125

KEGG: C04256

FORMULA: C11H12N2O2

PUBCHEM: 3378

CHARGE: 0

CHEBI: 16828

KEGG: C00078

FORMULA: C2H5O3S

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H12O5

PUBCHEM: 3790

CHARGE: 0

CHEBI: 16055

KEGG: C00507

FORMULA: C5H14NO6P

PUBCHEM: 4454

CHARGE: 0

CHEBI: 0

KEGG: C01233

FORMULA: C6H14O8P

PUBCHEM: 6135

CHARGE: -1

CHEBI: 0

KEGG: C03274

FORMULA: C31H48N7O17P3S

PUBCHEM: 7662

CHARGE: -4

CHEBI: 10723

KEGG: C05275

FORMULA: C6H12O5

PUBCHEM: 3790

CHARGE: 0

CHEBI: 16055

KEGG: C00507

FORMULA: C5H14NO6P

PUBCHEM: 4454

CHARGE: 0

CHEBI: 0

KEGG: C01233

FORMULA: C38H69O13P2

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C73H140O17P2

PUBCHEM: 8259

CHARGE: -2

CHEBI: 0

KEGG: C05980

FORMULA: C8H14NO9P

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C5H10O5

PUBCHEM: 3481

CHARGE: 0

CHEBI: 15936

KEGG: C00181

FORMULA: C6H14O8P

PUBCHEM: 6135

CHARGE: -1

CHEBI: 0

KEGG: C03274

FORMULA: C6H12O5

PUBCHEM: 3790

CHARGE: 0

CHEBI: 16055

KEGG: C00507

FORMULA: C5H14NO6P

PUBCHEM: 4454

CHARGE: 0

CHEBI: 0

KEGG: C01233

FORMULA: C6H14O8P

PUBCHEM: 6135

CHARGE: -1

CHEBI: 0

KEGG: C03274

FORMULA: C5H10O5

PUBCHEM: 3481

CHARGE: 0

CHEBI: 15936

KEGG: C00181

FORMULA: C5H10O5

PUBCHEM: 3481

CHARGE: 0

CHEBI: 15936

KEGG: C00181

FORMULA: C8H14NO9P

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C19H19N7O6

PUBCHEM: 3705

CHARGE: -2

CHEBI: 15633

KEGG: C00415

FORMULA: C8H20NO6P

PUBCHEM: 3939

CHARGE: 0

CHEBI: 16870

KEGG: C00670

FORMULA: C5H13N2O2

PUBCHEM: 4756

CHARGE: 1

CHEBI: 18257

KEGG: C01602

FORMULA: C4H6N4O3

PUBCHEM: 4709

CHARGE: 0

CHEBI: 15676

KEGG: C01551

FORMULA: C30H57O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA: C5H13N2O2

PUBCHEM: 4756

CHARGE: 1

CHEBI: 18257

KEGG: C01602

FORMULA: C8H20NO6P

PUBCHEM: 3939

CHARGE: 0

CHEBI: 16870

KEGG: C00670

FORMULA: C5H13N2O2

PUBCHEM: 4756

CHARGE: 1

CHEBI: 18257

KEGG: C01602

FORMULA: C10H12N5O7P

PUBCHEM: 3322

CHARGE: -2

CHEBI: 16027

KEGG: C00020

FORMULA: C4H6N4O3

PUBCHEM: 4709

CHARGE: 0

CHEBI: 15676

KEGG: C01551

FORMULA: C29H55N2O8PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C30H57O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA: C4H6N4O3

PUBCHEM: 4709

CHARGE: 0

CHEBI: 15676

KEGG: C01551

FORMULA: C4H7N4O4

PUBCHEM: 3782

CHARGE: -1

CHEBI: 30837

KEGG: C00499

FORMULA: C9H13N3O4

PUBCHEM: 4137

CHARGE: 0

CHEBI: 15698

KEGG: C00881

FORMULA: C10H12N5O10PS

PUBCHEM: 3524

CHARGE: -2

CHEBI: 17709

KEGG: C00224

FORMULA: C6H14O6

PUBCHEM: 3682

CHARGE: 0

CHEBI: 16899

KEGG: C00392

FORMULA: C10H11N5O6P

PUBCHEM: 5400

CHARGE: -1

CHEBI: 0

KEGG: C02353

FORMULA: C9H13N3O4

PUBCHEM: 4137

CHARGE: 0

CHEBI: 15698

KEGG: C00881

FORMULA: C9H13N3O4

PUBCHEM: 4137

CHARGE: 0

CHEBI: 15698

KEGG: C00881

FORMULA: C10H11N5O6P

PUBCHEM: 5400

CHARGE: -1

CHEBI: 0

KEGG: C02353

FORMULA: C6H14O6

PUBCHEM: 3682

CHARGE: 0

CHEBI: 16899

KEGG: C00392

FORMULA:

PUBCHEM: 6038

CHARGE: 1

CHEBI: 15927

KEGG: C03150

FORMULA: C20H24N10O19P4

PUBCHEM: 4479

CHARGE: -4

CHEBI: 17422

KEGG: C01260

FORMULA:

PUBCHEM: 6038

CHARGE: 1

CHEBI: 15927

KEGG: C03150

FORMULA:

PUBCHEM: 6038

CHARGE: 1

CHEBI: 15927

KEGG: C03150

FORMULA: O3S

PUBCHEM: 3394

CHARGE: -2

CHEBI: 48854

KEGG: C00094

FORMULA: O3S

PUBCHEM: 3394

CHARGE: -2

CHEBI: 48854

KEGG: C00094

FORMULA: C3H6O3

PUBCHEM: 3484

CHARGE: 0

CHEBI: 16016

KEGG: C00184

FORMULA: C3H6O3

PUBCHEM: 3484

CHARGE: 0

CHEBI: 16016

KEGG: C00184

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: O3S

PUBCHEM: 3394

CHARGE: -2

CHEBI: 48854

KEGG: C00094

FORMULA: C33H52N7O18P3S

PUBCHEM: 7650

CHARGE: -4

CHEBI: 27868

KEGG: C05263

FORMULA: C3H6O3

PUBCHEM: 3484

CHARGE: 0

CHEBI: 16016

KEGG: C00184

FORMULA: C6H9O6PS

PUBCHEM: 17396640

CHARGE: -2

CHEBI: 0

KEGG: C15650

FORMULA: C9H10NO6P

PUBCHEM: 8732

CHARGE: -2

CHEBI: 0

KEGG: C06501

FORMULA: CH2O

PUBCHEM: 3367

CHARGE: 0

CHEBI: 16842

KEGG: C00067

FORMULA: CH2O

PUBCHEM: 3367

CHARGE: 0

CHEBI: 16842

KEGG: C00067

FORMULA: C6H4NO2

PUBCHEM: 3552

CHARGE: -1

CHEBI: 15940

KEGG: C00253

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C4H4O6

PUBCHEM: 5189

CHARGE: -2

CHEBI: 15672

KEGG: C02107

FORMULA: CH2O

PUBCHEM: 3367

CHARGE: 0

CHEBI: 16842

KEGG: C00067

FORMULA: C4H4O6

PUBCHEM: 5189

CHARGE: -2

CHEBI: 15672

KEGG: C02107

FORMULA: C6H11O9P

PUBCHEM: 3572

CHARGE: -2

CHEBI: 17369

KEGG: C00275

FORMULA: C12H14N2O2

PUBCHEM: 5892

CHARGE: 0

CHEBI: 15334

KEGG: C02983

FORMULA: R

PUBCHEM: 4798

CHARGE: 0

CHEBI: 29177

KEGG: C01649

FORMULA: C27H42FeN9O12

PUBCHEM: 8471

CHARGE: 0

CHEBI: 0

KEGG: C06228

FORMULA: C27H42FeN9O12

PUBCHEM: 8471

CHARGE: 0

CHEBI: 0

KEGG: C06228

FORMULA: C6H11O9P

PUBCHEM: 3572

CHARGE: -2

CHEBI: 17369

KEGG: C00275

FORMULA: C6H11O9P

PUBCHEM: 3572

CHARGE: -2

CHEBI: 17369

KEGG: C00275

FORMULA: C10H11N5O20P5

PUBCHEM: 7111

CHARGE: -7

CHEBI: 0

KEGG: C04494

FORMULA: C27H31N9O15P2

PUBCHEM: 3318

CHARGE: -2

CHEBI: 16238

KEGG: C00016

FORMULA: C27H42FeN9O12

PUBCHEM: 8471

CHARGE: 0

CHEBI: 0

KEGG: C06228

FORMULA: C35H68O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: Ni

PUBCHEM: 3585

CHARGE: 2

CHEBI: 28112

KEGG: C00291

FORMULA: Ni

PUBCHEM: 3585

CHARGE: 2

CHEBI: 28112

KEGG: C00291

FORMULA: C35H68O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: Ni

PUBCHEM: 3585

CHARGE: 2

CHEBI: 28112

KEGG: C00291

FORMULA: O4S

PUBCHEM: 3359

CHARGE: -2

CHEBI: 16189

KEGG: C00059

FORMULA: CH4N2O

PUBCHEM: 3386

CHARGE: 0

CHEBI: 16199

KEGG: C00086

FORMULA: C17H24N3O15P

PUBCHEM: 6808

CHARGE: -2

CHEBI: 0

KEGG: C04121

FORMULA: Mn

PUBCHEM: 3336

CHARGE: 2

CHEBI: 18291

KEGG: C00034

FORMULA: Mn

PUBCHEM: 3336

CHARGE: 2

CHEBI: 18291

KEGG: C00034

FORMULA: C8H15NO6

PUBCHEM: 4363

CHARGE: 0

CHEBI: 28037

KEGG: C01132

FORMULA: O4S

PUBCHEM: 3359

CHARGE: -2

CHEBI: 16189

KEGG: C00059

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C40H38N4O17

PUBCHEM: 4269

CHARGE: -8

CHEBI: 16645

KEGG: C01024

FORMULA: O4S

PUBCHEM: 3359

CHARGE: -2

CHEBI: 16189

KEGG: C00059

FORMULA: C120H186N24O63

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: Mn

PUBCHEM: 3336

CHARGE: 2

CHEBI: 18291

KEGG: C00034

FORMULA: C8H15NO6

PUBCHEM: 4363

CHARGE: 0

CHEBI: 28037

KEGG: C01132

FORMULA: C8H13N2O5S

PUBCHEM: 3938

CHARGE: -1

CHEBI: 17515

KEGG: C00669

FORMULA: C31H50N7O18P3S

PUBCHEM: 7651

CHARGE: -4

CHEBI: 28325

KEGG: C05264

FORMULA: CH4N2O

PUBCHEM: 3386

CHARGE: 0

CHEBI: 16199

KEGG: C00086

FORMULA: C6H9NOS

PUBCHEM: 6954

CHARGE: 0

CHEBI: 17957

KEGG: C04294

FORMULA: C29H53N2O8PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C15H21N3O14P2

PUBCHEM: 6956

CHARGE: -2

CHEBI: 17817

KEGG: C04297

FORMULA: C6H9O3

PUBCHEM: 3532

CHARGE: -1

CHEBI: 48430

KEGG: C00233

FORMULA: XC16H30O1

PUBCHEM: 4953

CHARGE: 0

CHEBI: 6495

KEGG: C01834

FORMULA: C3H7NO2

PUBCHEM: 3513

CHARGE: 0

CHEBI: 15611

KEGG: C00213

FORMULA: C6H12O5

PUBCHEM: 4858

CHARGE: 0

CHEBI: 17617

KEGG: C01721

FORMULA: C5H8NO7P

PUBCHEM: 6144

CHARGE: -2

CHEBI: 17798

KEGG: C03287

FORMULA: O2

PUBCHEM: 3309

CHARGE: 0

CHEBI: 15379

KEGG: C00007

FORMULA: C9H11N2O15P3

PUBCHEM: 3375

CHARGE: -4

CHEBI: 15713

KEGG: C00075

FORMULA: C6H6O7

PUBCHEM: 3948

CHARGE: -2

CHEBI: 42819

KEGG: C00679

FORMULA: O2

PUBCHEM: 3309

CHARGE: 0

CHEBI: 15379

KEGG: C00007

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C7H7O5

PUBCHEM: 5617

CHARGE: -1

CHEBI: 30918

KEGG: C02637

FORMULA: O2

PUBCHEM: 3309

CHARGE: 0

CHEBI: 15379

KEGG: C00007

FORMULA: C11H11N2OR

PUBCHEM: 6322

CHARGE: 1

CHEBI: 29159

KEGG: C03512

FORMULA: C181H314N3O103P4

PUBCHEM: 0

CHARGE: -9

CHEBI: 0

KEGG: 0

FORMULA: C10H15N2O4S

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C15H30O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C181H314N3O103P4

PUBCHEM: 0

CHARGE: -9

CHEBI: 0

KEGG: 0

FORMULA: C31H51N3O19P2

PUBCHEM: 7309

CHARGE: -2

CHEBI: 28131

KEGG: C04738

FORMULA: C15H30O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C79H126N3O22P2

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C79H126N3O22P2

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C271H450O160P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C15H25N4O8

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C12H13NO9P

PUBCHEM: 6961

CHARGE: -3

CHEBI: 7091

KEGG: C04302

FORMULA: C15H25N4O8

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H13O9P

PUBCHEM: 8547

CHARGE: -2

CHEBI: 28663

KEGG: C06311

FORMULA: C15H25N4O8

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: H2O

PUBCHEM: 3303

CHARGE: 0

CHEBI: 15377

KEGG: C00001

FORMULA: Hg

PUBCHEM: 3970

CHARGE: 2

CHEBI: 16793

KEGG: C00703

FORMULA: H2O

PUBCHEM: 3303

CHARGE: 0

CHEBI: 15377

KEGG: C00001

FORMULA: R

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C41H78N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C6H4NO2

PUBCHEM: 3552

CHARGE: -1

CHEBI: 15940

KEGG: C00253

FORMULA: C6H4NO2

PUBCHEM: 3552

CHARGE: -1

CHEBI: 15940

KEGG: C00253

FORMULA: Hg

PUBCHEM: 3970

CHARGE: 2

CHEBI: 16793

KEGG: C00703

FORMULA: H2O

PUBCHEM: 3303

CHARGE: 0

CHEBI: 15377

KEGG: C00001

FORMULA: Hg

PUBCHEM: 3970

CHARGE: 2

CHEBI: 16793

KEGG: C00703

FORMULA: C41H78N1O8P1

PUBCHEM: 3643

CHARGE: 0

CHEBI: 16038

KEGG: C00350

FORMULA: C15H21N5O15P2

PUBCHEM: 7464

CHARGE: -4

CHEBI: 27735

KEGG: C04916

FORMULA: C38H69N1O10P1

PUBCHEM: 5698

CHARGE: -1

CHEBI: 0

KEGG: C02737

FORMULA: C42H77O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA: C18H32O16

PUBCHEM: 4954

CHARGE: 0

CHEBI: 27931

KEGG: C01835

FORMULA: C42H77O13P2

PUBCHEM: 6624

CHARGE: -3

CHEBI: 0

KEGG: C03892

FORMULA: C18H32O16

PUBCHEM: 4954

CHARGE: 0

CHEBI: 27931

KEGG: C01835

FORMULA: XH2

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C18H32O16

PUBCHEM: 4954

CHARGE: 0

CHEBI: 27931

KEGG: C01835

FORMULA: C3H4O7P

PUBCHEM: 3904

CHARGE: -3

CHEBI: 17835

KEGG: C00631

FORMULA: C39H76O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: C3H4O7P

PUBCHEM: 3904

CHARGE: -3

CHEBI: 17835

KEGG: C00631

FORMULA: C27H42N7O18P3S

PUBCHEM: 7655

CHARGE: -4

CHEBI: 28276

KEGG: C05268

FORMULA: C163H281N2O89P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C14H25O2

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C87H139N7O23P2

PUBCHEM: 8185

CHARGE: -4

CHEBI: 0

KEGG: C05897

FORMULA: C39H76O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: C3H4O7P

PUBCHEM: 3904

CHARGE: -3

CHEBI: 17835

KEGG: C00631

FORMULA: C6H10O5

PUBCHEM: 3482

CHARGE: 0

CHEBI: 28087

KEGG: C00182

FORMULA: C14H25O2

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C14H25O2

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C3H7O6P

PUBCHEM: 3393

CHARGE: -2

CHEBI: 15978

KEGG: C00093

FORMULA: C3H7O6P

PUBCHEM: 3393

CHARGE: -2

CHEBI: 15978

KEGG: C00093

FORMULA: C4H8NO6P

PUBCHEM: 14294

CHARGE: -2

CHEBI: 37525

KEGG: C12147

FORMULA: C6H8NO4PS

PUBCHEM: 6980

CHARGE: -2

CHEBI: 17857

KEGG: C04327

FORMULA: C25H35N7O19P3S

PUBCHEM: 3391

CHARGE: -5

CHEBI: 15380

KEGG: C00091

FORMULA: C6H8O9P

PUBCHEM: 7071

CHARGE: -3

CHEBI: 15925

KEGG: C04442

FORMULA: C40H67N3O15P2

PUBCHEM: 3567

CHARGE: -2

CHEBI: 0

KEGG: C00269

FORMULA: C4H8NO6P

PUBCHEM: 14294

CHARGE: -2

CHEBI: 37525

KEGG: C12147

FORMULA: C3H7O6P

PUBCHEM: 3393

CHARGE: -2

CHEBI: 15978

KEGG: C00093

FORMULA: C4H8NO6P

PUBCHEM: 14294

CHARGE: -2

CHEBI: 37525

KEGG: C12147

FORMULA: C7H9O5

PUBCHEM: 3776

CHARGE: -1

CHEBI: 16119

KEGG: C00493

FORMULA: C5H6NO2

PUBCHEM: 6642

CHARGE: -1

CHEBI: 371

KEGG: C03912

FORMULA: C20H21N7O7

PUBCHEM: 3533

CHARGE: -2

CHEBI: 15637

KEGG: C00234

FORMULA: C6H11O7

PUBCHEM: 4032

CHARGE: -1

CHEBI: 17796

KEGG: C00770

FORMULA: C10H19O2

PUBCHEM: 4728

CHARGE: -1

CHEBI: 30813

KEGG: C01571

FORMULA: C6H11O7

PUBCHEM: 4032

CHARGE: -1

CHEBI: 17796

KEGG: C00770

FORMULA: C5H9O8P

PUBCHEM: 3530

CHARGE: -2

CHEBI: 16332

KEGG: C00231

FORMULA: C19H33N2O9PRS

PUBCHEM: 8045

CHARGE: -1

CHEBI: 0

KEGG: C05750

FORMULA: C6H13O9P

PUBCHEM: 4331

CHARGE: -2

CHEBI: 17044

KEGG: C01096

FORMULA: C10H19O2

PUBCHEM: 4728

CHARGE: -1

CHEBI: 30813

KEGG: C01571

FORMULA: C6H11O7

PUBCHEM: 4032

CHARGE: -1

CHEBI: 17796

KEGG: C00770

FORMULA: C10H19O2

PUBCHEM: 4728

CHARGE: -1

CHEBI: 30813

KEGG: C01571

FORMULA: C48H92O11P

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C17H20N4O6

PUBCHEM: 3554

CHARGE: 0

CHEBI: 17015

KEGG: C00255

FORMULA: C17H22N4O6

PUBCHEM: 4252

CHARGE: 0

CHEBI: 8798

KEGG: C01007

FORMULA: C6H12O6

PUBCHEM: 4738

CHARGE: 0

CHEBI: 28260

KEGG: C01582

FORMULA: C7H15NO2

PUBCHEM: 4408

CHARGE: 0

CHEBI: 1941

KEGG: C01181

FORMULA: C27H47N2O8PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C30H27FeN3O15

PUBCHEM: 8473

CHARGE: 3

CHEBI: 28199

KEGG: C06230

FORMULA: C30H27FeN3O15

PUBCHEM: 8473

CHARGE: 3

CHEBI: 28199

KEGG: C06230

FORMULA: C30H27FeN3O15

PUBCHEM: 8473

CHARGE: 3

CHEBI: 28199

KEGG: C06230

FORMULA: C7H15NO2

PUBCHEM: 4408

CHARGE: 0

CHEBI: 1941

KEGG: C01181

FORMULA: C16H24N2O15P2

PUBCHEM: 6171

CHARGE: -2

CHEBI: 15774

KEGG: C03319

FORMULA: C13H15N4O12P

PUBCHEM: 7384

CHARGE: -4

CHEBI: 18319

KEGG: C04823

FORMULA: C139H241N2O70P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C391H650O245P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C20H26N3O19P2

PUBCHEM: 7220

CHARGE: -3

CHEBI: 16435

KEGG: C04631

FORMULA: H2S

PUBCHEM: 3578

CHARGE: 0

CHEBI: 16136

KEGG: C00283

FORMULA: C84H148N2O37P2

PUBCHEM: 8297

CHARGE: -6

CHEBI: 0

KEGG: C06025

FORMULA: H2S

PUBCHEM: 3578

CHARGE: 0

CHEBI: 16136

KEGG: C00283

FORMULA: C81H156O17P2

PUBCHEM: 8259

CHARGE: -2

CHEBI: 0

KEGG: C05980

FORMULA: C84H148N2O37P2

PUBCHEM: 8297

CHARGE: -6

CHEBI: 0

KEGG: C06025

FORMULA: H2S

PUBCHEM: 3578

CHARGE: 0

CHEBI: 16136

KEGG: C00283

FORMULA: C84H148N2O37P2

PUBCHEM: 8297

CHARGE: -6

CHEBI: 0

KEGG: C06025

FORMULA: Cu

PUBCHEM: 0

CHARGE: 1

CHEBI: 49552

KEGG: 0

FORMULA: C42H39N4O16

PUBCHEM: 8073

CHARGE: -7

CHEBI: 18023

KEGG: C05778

FORMULA: Cu

PUBCHEM: 0

CHARGE: 1

CHEBI: 49552

KEGG: 0

FORMULA: C16H26N3O14P2

PUBCHEM: 6932

CHARGE: -1

CHEBI: 15952

KEGG: C04268

FORMULA: C13H20N3O8S

PUBCHEM: 6272

CHARGE: -1

CHEBI: 15694

KEGG: C03451

FORMULA: C4H5NO3R

PUBCHEM: 5893

CHARGE: 0

CHEBI: 29158

KEGG: C02984

FORMULA: Cu

PUBCHEM: 0

CHARGE: 1

CHEBI: 49552

KEGG: 0

FORMULA: C25H47N2O8PRS

PUBCHEM: 8056

CHARGE: -1

CHEBI: 0

KEGG: C05761

FORMULA: C40H71N3O15P2

PUBCHEM: 3567

CHARGE: -2

CHEBI: 0

KEGG: C00269

FORMULA: C25H45FeN6O8

PUBCHEM: 123851

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA: C6H11O7

PUBCHEM: 3797

CHARGE: -1

CHEBI: 17767 33076

KEGG: C00514

FORMULA: C9H15O9

PUBCHEM: 13711

CHARGE: -1

CHEBI: 15847

KEGG: C11544

FORMULA: C29H46N7O18P3S

PUBCHEM: 7653

CHARGE: -4

CHEBI: 28632

KEGG: C05266

FORMULA: C34H65N1O10P1

PUBCHEM: 5698

CHARGE: -1

CHEBI: 0

KEGG: C02737

FORMULA: C25H45FeN6O8

PUBCHEM: 123851

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA: S

PUBCHEM: 3387

CHARGE: 0

CHEBI: 17909

KEGG: C00087

FORMULA: C19H21N7O6

PUBCHEM: 3401

CHARGE: -2

CHEBI: 15635

KEGG: C00101

FORMULA: C25H45FeN6O8

PUBCHEM: 123851

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA: C11H16NO7

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C28H44N8O17P3S

PUBCHEM: 591??6196

CHARGE: -3

CHEBI: 28684

KEGG: 0

FORMULA: C9H15O9

PUBCHEM: 13711

CHARGE: -1

CHEBI: 15847

KEGG: C11544

FORMULA: C10H12N4O6

PUBCHEM: 4895

CHARGE: 0

CHEBI: 18107

KEGG: C01762

FORMULA: C60H110O11P

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C33H54N7O18P3S

PUBCHEM: 7649

CHARGE: -4

CHEBI: 27668

KEGG: C05262

FORMULA: C25H46N6O8

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C15H27N2O9PRS

PUBCHEM: 4490

CHARGE: -1

CHEBI: 0

KEGG: C01271

FORMULA: C11H18NO8

PUBCHEM: 5676

CHARGE: -1

CHEBI: 0

KEGG: C02713

FORMULA: C9H9O2

PUBCHEM: 7943

CHARGE: -1

CHEBI: 28631

KEGG: C05629

FORMULA: C9H9O2

PUBCHEM: 7943

CHARGE: -1

CHEBI: 28631

KEGG: C05629

FORMULA: C9H11N2O8P

PUBCHEM: 3656

CHARGE: -2

CHEBI: 17622

KEGG: C00365

FORMULA: C9H9O2

PUBCHEM: 7943

CHARGE: -1

CHEBI: 28631

KEGG: C05629

FORMULA: C27H49N2O8PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA:

PUBCHEM: 8496

CHARGE: 0

CHEBI: 28354

KEGG: C06257

FORMULA: C5H10O4

PUBCHEM: 8496

CHARGE: 0

CHEBI: 28354

KEGG: C06257

FORMULA: C11H16N2O7

PUBCHEM: 7053

CHARGE: -2

CHEBI: 17279

KEGG: C04421

FORMULA:

PUBCHEM: 8496

CHARGE: 0

CHEBI: 28354

KEGG: C06257

FORMULA: C5H6N2O2

PUBCHEM: 3478

CHARGE: 0

CHEBI: 17821

KEGG: C00178

FORMULA: C8H15NO6

PUBCHEM: 3440

CHARGE: 0

CHEBI: 17411

KEGG: C00140

FORMULA: C8H14NO9P

PUBCHEM: 6922

CHARGE: -2

CHEBI: 28273

KEGG: C04257

FORMULA: C10H11N4O7P

PUBCHEM: 8446

CHARGE: -2

CHEBI: 28806

KEGG: C06196

FORMULA: C10H8O6

PUBCHEM: 4141

CHARGE: -2

CHEBI: 17582 29780

KEGG: C00885

FORMULA: NO

PUBCHEM: 3815

CHARGE: 0

CHEBI: 16480

KEGG: C00533

FORMULA: C25H45N2O9PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C27H49N6O10

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C27H49N6O10

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C5H10O5

PUBCHEM: 3421

CHARGE: 0

CHEBI: 47013

KEGG: C00121

FORMULA: NO

PUBCHEM: 3815

CHARGE: 0

CHEBI: 16480

KEGG: C00533

FORMULA: C10H11N4O7P

PUBCHEM: 8446

CHARGE: -2

CHEBI: 28806

KEGG: C06196

FORMULA: C10H11N4O7P

PUBCHEM: 8446

CHARGE: -2

CHEBI: 28806

KEGG: C06196

FORMULA: NO

PUBCHEM: 3815

CHARGE: 0

CHEBI: 16480

KEGG: C00533

FORMULA: C27H49N6O10

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C5H10O5

PUBCHEM: 3421

CHARGE: 0

CHEBI: 47013

KEGG: C00121

FORMULA: C5H10O5

PUBCHEM: 3421

CHARGE: 0

CHEBI: 47013

KEGG: C00121

FORMULA: C10H12N5O10P2

PUBCHEM: 3652

CHARGE: -3

CHEBI: 28862

KEGG: C00361

FORMULA: C3H6NO2R

PUBCHEM: 0

CHARGE: 1

CHEBI: 13170

KEGG: 0

FORMULA: R

PUBCHEM: 4796

CHARGE: 0

CHEBI: 29173

KEGG: C01647

FORMULA: C58H83CoN16O14P

PUBCHEM: 8740

CHARGE: -1

CHEBI: 2481

KEGG: C06509

FORMULA: C5H6N2O2

PUBCHEM: 3478

CHARGE: 0

CHEBI: 17821

KEGG: C00178

FORMULA: C46H70O

PUBCHEM: 8105

CHARGE: 0

CHEBI: 40407

KEGG: C05810

FORMULA: C12H17N4OS

PUBCHEM: 3668

CHARGE: 1

CHEBI: 18385

KEGG: C00378

FORMULA: C55H89O7P2

PUBCHEM: 6347

CHARGE: -3

CHEBI: 17047

KEGG: C03543

FORMULA: C12H17N4OS

PUBCHEM: 3668

CHARGE: 1

CHEBI: 18385

KEGG: C00378

FORMULA: Fe

PUBCHEM: 3325

CHARGE: 2

CHEBI: 18248

KEGG: C00023

FORMULA: R

PUBCHEM: 4792

CHARGE: 0

CHEBI: 29178

KEGG: C01643

FORMULA: Fe

PUBCHEM: 3325

CHARGE: 2

CHEBI: 18248

KEGG: C00023

FORMULA: C55H89O7P2

PUBCHEM: 6347

CHARGE: -3

CHEBI: 17047

KEGG: C03543

FORMULA: C12H17N4OS

PUBCHEM: 3668

CHARGE: 1

CHEBI: 18385

KEGG: C00378

FORMULA: C71H113N2O18P2

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: Fe

PUBCHEM: 3325

CHARGE: 2

CHEBI: 18248

KEGG: C00023

FORMULA:

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: O6S4

PUBCHEM: 5169

CHARGE: -2

CHEBI: 15226 16853

KEGG: C02084

FORMULA: C27H52O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA:

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C175H290O92P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C27H52O5

PUBCHEM: 3914

CHARGE: 0

CHEBI: 17815

KEGG: C00641

FORMULA: C6H13NO2

PUBCHEM: 3423

CHARGE: 0

CHEBI: 15603

KEGG: C00123

FORMULA: C6H13NO2

PUBCHEM: 3423

CHARGE: 0

CHEBI: 15603

KEGG: C00123

FORMULA: C21H40O7P1

PUBCHEM: 6693

CHARGE: -1

CHEBI: 0

KEGG: C03974

FORMULA: C24H46O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C72H100CoN18O17P

PUBCHEM: 3494

CHARGE: 0

CHEBI: 18408

KEGG: C00194

FORMULA: C72H100CoN18O17P

PUBCHEM: 3494

CHARGE: 0

CHEBI: 18408

KEGG: C00194

FORMULA: C6H13NO2

PUBCHEM: 3423

CHARGE: 0

CHEBI: 15603

KEGG: C00123

FORMULA: C24H46O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C72H100CoN18O17P

PUBCHEM: 3494

CHARGE: 0

CHEBI: 18408

KEGG: C00194

FORMULA: C10H13N5O4

PUBCHEM: 3624

CHARGE: 0

CHEBI: 17172

KEGG: C00330

FORMULA: C10H13N2O4

PUBCHEM: 4184

CHARGE: -1

CHEBI: 17381

KEGG: C00931

FORMULA: C5H9N2O2R

PUBCHEM: 5339

CHARGE: 1

CHEBI: 29166

KEGG: C02282

FORMULA: C10H13N5O4

PUBCHEM: 3624

CHARGE: 0

CHEBI: 17172

KEGG: C00330

FORMULA: C12H23O2

PUBCHEM: 5649

CHARGE: -1

CHEBI: 30805

KEGG: C02679

FORMULA: C12H23O2

PUBCHEM: 5649

CHARGE: -1

CHEBI: 30805

KEGG: C02679

FORMULA: C42H36FeN4O16

PUBCHEM: 4010

CHARGE: -8

CHEBI: 28599

KEGG: C00748

FORMULA: C10H13N5O4

PUBCHEM: 3624

CHARGE: 0

CHEBI: 17172

KEGG: C00330

FORMULA: C12H23O2

PUBCHEM: 5649

CHARGE: -1

CHEBI: 30805

KEGG: C02679

FORMULA: C10H13N5O3

PUBCHEM: 3839

CHARGE: 0

CHEBI: 17256

KEGG: C00559

FORMULA: C6H12N3O

PUBCHEM: 4117

CHARGE: 1

CHEBI: 16255

KEGG: C00860

FORMULA: C3H5O6P

PUBCHEM: 3930

CHARGE: -2

CHEBI: 17138

KEGG: C00661

FORMULA: C7H9O5

PUBCHEM: 3776

CHARGE: -1

CHEBI: 16119

KEGG: C00493

FORMULA: C6H9O6

PUBCHEM: 3504

CHARGE: -1

CHEBI: 17032

KEGG: C00204

FORMULA: C6H9O6

PUBCHEM: 3504

CHARGE: -1

CHEBI: 17032

KEGG: C00204

FORMULA: C6H6O2

PUBCHEM: 3812

CHARGE: 0

CHEBI: 17594

KEGG: C00530

FORMULA: C23H48NO7P1

PUBCHEM: 7069

CHARGE: 0

CHEBI: 0

KEGG: C04438

FORMULA: C6H9O6

PUBCHEM: 3504

CHARGE: -1

CHEBI: 17032

KEGG: C00204

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C10H14N2O5

PUBCHEM: 3514

CHARGE: 0

CHEBI: 17748

KEGG: C00214

FORMULA: C10H14N2O5

PUBCHEM: 3514

CHARGE: 0

CHEBI: 17748

KEGG: C00214

FORMULA: X

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C10H14N2O5

PUBCHEM: 3514

CHARGE: 0

CHEBI: 17748

KEGG: C00214

FORMULA: C8H7O3

PUBCHEM: 3915

CHARGE: -1

CHEBI: 18101

KEGG: C00642

FORMULA: C5H7NO3R

PUBCHEM: 5896

CHARGE: 0

CHEBI: 29157

KEGG: C02987

FORMULA: C73H120O21P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C8H7O3

PUBCHEM: 3915

CHARGE: -1

CHEBI: 18101

KEGG: C00642

FORMULA: C9H11N2O12P2

PUBCHEM: 3317

CHARGE: -3

CHEBI: 17659

KEGG: C00015

FORMULA: C8H7O3

PUBCHEM: 3915

CHARGE: -1

CHEBI: 18101

KEGG: C00642

FORMULA: C15H27N2O8PRS

PUBCHEM: 8040

CHARGE: -1

CHEBI: 0

KEGG: C05745

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C8H13N2O9P

PUBCHEM: 7017

CHARGE: -2

CHEBI: 18272

KEGG: C04376

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA: C36H62O31

PUBCHEM: 5041

CHARGE: 0

CHEBI: 0

KEGG: C01936

FORMULA: C36H62O31

PUBCHEM: 5041

CHARGE: 0

CHEBI: 0

KEGG: C01936

FORMULA: C35H67O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C7H3NO4

PUBCHEM: 6487

CHARGE: -2

CHEBI: 16675

KEGG: C03722

FORMULA: C36H62O31

PUBCHEM: 5041

CHARGE: 0

CHEBI: 0

KEGG: C01936

FORMULA: C35H67O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C24H48O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C295H490O177P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C5H11NO3S

PUBCHEM: 5898

CHARGE: 0

CHEBI: 17016

KEGG: C02989

FORMULA: C25H46N6O8

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C10H10N2O11P

PUBCHEM: 4337

CHARGE: -3

CHEBI: 15842

KEGG: C01103

FORMULA: C74H112N14O39

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C16H21N4O10P2S

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: C05816

FORMULA: C5H11NO3S

PUBCHEM: 5898

CHARGE: 0

CHEBI: 17016

KEGG: C02989

FORMULA: C25H46N6O8

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C35H52N6O13Fe

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C5H11NO3S

PUBCHEM: 5898

CHARGE: 0

CHEBI: 17016

KEGG: C02989

FORMULA: C15H25N2O8PRS

PUBCHEM: 6911

CHARGE: -1

CHEBI: 0

KEGG: C04246

FORMULA: C35H58N7O17P3S

PUBCHEM: 5585

CHARGE: -4

CHEBI: 15532

KEGG: C02593

FORMULA: C8H15NO6

PUBCHEM: 3440

CHARGE: 0

CHEBI: 17411

KEGG: C00140

FORMULA: C49H76O4

PUBCHEM: 3680

CHARGE: 0

CHEBI: 17976

KEGG: C00390

FORMULA: C19H38NO7P1

PUBCHEM: 7069

CHARGE: 0

CHEBI: 0

KEGG: C04438

FORMULA: C6H10O5

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C9H12N3O10P2

PUBCHEM: 3972

CHARGE: -3

CHEBI: 0

KEGG: C00705

FORMULA: R

PUBCHEM: 4797

CHARGE: 0

CHEBI: 29184

KEGG: C01648

FORMULA: C7H5NO4

PUBCHEM: 6183

CHARGE: -2

CHEBI: 18042

KEGG: C03340

FORMULA: C3H7NO2S

PUBCHEM: 3397

CHARGE: 0

CHEBI: 17561

KEGG: C00097

FORMULA: C7H7O7

PUBCHEM: 5290

CHARGE: -3

CHEBI: 10860 30836

KEGG: C02225

FORMULA: C7H15NO2

PUBCHEM: 4408

CHARGE: 0

CHEBI: 1941

KEGG: C01181

FORMULA: C3H7NO2S

PUBCHEM: 3397

CHARGE: 0

CHEBI: 17561

KEGG: C00097

FORMULA: C10H13N5O3

PUBCHEM: 3839

CHARGE: 0

CHEBI: 17256

KEGG: C00559

FORMULA: C24H36N7O17P3S

PUBCHEM: 3400

CHARGE: -4

CHEBI: 15539

KEGG: C00100

FORMULA: C9H18O6N3

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C6H9O9P

PUBCHEM: 4457

CHARGE: -2

CHEBI: 16938

KEGG: C01236

FORMULA: C2H5NO2

PUBCHEM: 3339

CHARGE: 0

CHEBI: 15428

KEGG: C00037

FORMULA: C9H18O6N3

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C9H18O6N3

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C2H5NO2

PUBCHEM: 3339

CHARGE: 0

CHEBI: 15428

KEGG: C00037

FORMULA: C20H40O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C2H5NO2

PUBCHEM: 3339

CHARGE: 0

CHEBI: 15428

KEGG: C00037

FORMULA: C3H6O2

PUBCHEM: 4189

CHARGE: 0

CHEBI: 17167

KEGG: C00937

FORMULA: C6H11O7

PUBCHEM: 4136

CHARGE: -1

CHEBI: 12931 16534

KEGG: C00880

FORMULA: C7H5O6

PUBCHEM: 6896

CHARGE: -3

CHEBI: 16717

KEGG: C04225

FORMULA: C3H5O6P

PUBCHEM: 3411

CHARGE: -2

CHEBI: 16108

KEGG: C00111

FORMULA: C6H11O7

PUBCHEM: 4136

CHARGE: -1

CHEBI: 12931 16534

KEGG: C00880

FORMULA: C6H11O7

PUBCHEM: 4136

CHARGE: -1

CHEBI: 12931 16534

KEGG: C00880

FORMULA: C23H41N2O9PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C3H6O2

PUBCHEM: 3714

CHARGE: 0

CHEBI: 18041

KEGG: C00424

FORMULA: C6H10O10P

PUBCHEM: 3638

CHARGE: -3

CHEBI: 48928

KEGG: C00345

FORMULA: C4H5O3

PUBCHEM: 3531

CHARGE: -1

CHEBI: 16265

KEGG: C00232

FORMULA: C77H117N15O40

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C7H5O3

PUBCHEM: 3456

CHARGE: -1

CHEBI: 30763

KEGG: C00156

FORMULA: C42H72O36

PUBCHEM: 3037125??8462

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C21H37N2O8PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: Cl

PUBCHEM: 3415

CHARGE: -1

CHEBI: 17996

KEGG: C00115

FORMULA: C6H9O4

PUBCHEM: 4217

CHARGE: -1

CHEBI: 11561 17094

KEGG: C00966

FORMULA: C10H12N5O13P3

PUBCHEM: 3581

CHARGE: -4

CHEBI: 16497

KEGG: C00286

FORMULA: C79H130O24P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C3H9NO4P

PUBCHEM: 6809

CHARGE: -1

CHEBI: 28390

KEGG: C04122

FORMULA: C656H1103N2O440P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C42H77N1O10P1

PUBCHEM: 5698

CHARGE: -1

CHEBI: 0

KEGG: C02737

FORMULA: C656H1103N2O440P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: Cl

PUBCHEM: 3415

CHARGE: -1

CHEBI: 17996

KEGG: C00115

FORMULA: C4H6NO4

PUBCHEM: 3351

CHARGE: -1

CHEBI: 17053

KEGG: C00049

FORMULA: C4H6NO4

PUBCHEM: 3351

CHARGE: -1

CHEBI: 17053

KEGG: C00049

FORMULA: C6H10O12P2

PUBCHEM: 6535

CHARGE: -4

CHEBI: 4250

KEGG: C03785

FORMULA: C24H46O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C4H6NO4

PUBCHEM: 3351

CHARGE: -1

CHEBI: 17053

KEGG: C00049

FORMULA: C8H8NO6P

PUBCHEM: 3320

CHARGE: -2

CHEBI: 18405

KEGG: C00018

FORMULA: C11H12NO8

PUBCHEM: 7087

CHARGE: -3

CHEBI: 35266

KEGG: C04462

FORMULA: C12H20N2O9PS

PUBCHEM: 7001

CHARGE: -3

CHEBI: 15769

KEGG: C04352

FORMULA: C7H8N5O8P2

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C49H56FeN4O5

PUBCHEM: 47204998

CHARGE: -2

CHEBI: 0

KEGG: C15672

FORMULA: C21H39N2O9PRS

PUBCHEM: 7209

CHARGE: -1

CHEBI: 0

KEGG: C04619

FORMULA: C21H41O7P1

PUBCHEM: 3950

CHARGE: -2

CHEBI: 16975

KEGG: C00681

FORMULA: C12H22O11

PUBCHEM: 3389

CHARGE: 0

CHEBI: 17992

KEGG: C00089

FORMULA: C10H12N5O12P3

PUBCHEM: 3431

CHARGE: -4

CHEBI: 16284

KEGG: C00131

FORMULA: C21H41O7P1

PUBCHEM: 3950

CHARGE: -2

CHEBI: 16975

KEGG: C00681

FORMULA: C12H22O11

PUBCHEM: 3389

CHARGE: 0

CHEBI: 17992

KEGG: C00089

FORMULA: C3H5NO4S

PUBCHEM: 3881

CHARGE: -2

CHEBI: 16345

KEGG: C00606

FORMULA: C27H51O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C6H8O10P

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: C14899

FORMULA: C27H51O8P1

PUBCHEM: 3706

CHARGE: -2

CHEBI: 16337

KEGG: C00416

FORMULA: C6H9O7

PUBCHEM: 3892

CHARGE: -1

CHEBI: 16142

KEGG: C00618

FORMULA: C17H31N2O9PRS

PUBCHEM: 8042

CHARGE: -1

CHEBI: 0

KEGG: C05747

FORMULA: C29H53N2O9PRS

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C5H7O3S

PUBCHEM: 5611

CHARGE: -1

CHEBI: 17275

KEGG: C01180

FORMULA: C16H24N2O16P2

PUBCHEM: 4099

CHARGE: -2

CHEBI: 15700

KEGG: C00842

FORMULA: C20H38O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C20H38O9P1

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H9N3O2

PUBCHEM: 3435

CHARGE: 0

CHEBI: 15971

KEGG: C00135

FORMULA: C23H43N2O8PRS

PUBCHEM: 7620

CHARGE: -1

CHEBI: 0

KEGG: C05223

FORMULA: C65H124O17P2

PUBCHEM: 8259

CHARGE: -2

CHEBI: 0

KEGG: C05980

FORMULA: C20H30N6O12S2

PUBCHEM: 3427

CHARGE: -2

CHEBI: 17858

KEGG: C00127

FORMULA: C8H13N2O2

PUBCHEM: 3816

CHARGE: 1

CHEBI: 16410

KEGG: C00534

FORMULA: C10H11N4O8P

PUBCHEM: 3430

CHARGE: -2

CHEBI: 17202

KEGG: C00130

FORMULA: C29H44N6O15

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C3H8O1

PUBCHEM: 8258

CHARGE: 0

CHEBI: 28831

KEGG: C05979

FORMULA: C10H10NO6Fe

PUBCHEM: 0

CHARGE: 2

CHEBI: 0

KEGG: 0

FORMULA: C10H10NO6Fe

PUBCHEM: 0

CHARGE: 2

CHEBI: 0

KEGG: 0

FORMULA: C21H44NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C15H19N5O20P4

PUBCHEM: 5699

CHARGE: -6

CHEBI: 18263

KEGG: C02739

FORMULA: C38H74O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C27H40N7O17P3S

PUBCHEM: 7658

CHARGE: -4

CHEBI: 28706

KEGG: C05271

FORMULA: C21H44NO7P1

PUBCHEM: 8253

CHARGE: 0

CHEBI: 0

KEGG: C05973

FORMULA: C10H10NO6Fe

PUBCHEM: 0

CHARGE: 2

CHEBI: 0

KEGG: 0

FORMULA: C14H24N6O3S

PUBCHEM: 4368

CHARGE: 2

CHEBI: 15625

KEGG: C01137

FORMULA: C38H74O10P1

PUBCHEM: 3637

CHARGE: -1

CHEBI: 0

KEGG: C00344

FORMULA: C2H3O3

PUBCHEM: 3460

CHARGE: -1

CHEBI: 17497

KEGG: C00160

FORMULA: C2H3O3

PUBCHEM: 3460

CHARGE: -1

CHEBI: 17497

KEGG: C00160

FORMULA: C2H7N1O3P1

PUBCHEM: 6353

CHARGE: -1

CHEBI: 15573

KEGG: C03557

FORMULA: C2H7N1O3P1

PUBCHEM: 6353

CHARGE: -1

CHEBI: 15573

KEGG: C03557

FORMULA: C2H3O3

PUBCHEM: 3460

CHARGE: -1

CHEBI: 17497

KEGG: C00160

FORMULA: C2H7N1O3P1

PUBCHEM: 6353

CHARGE: -1

CHEBI: 15573

KEGG: C03557

FORMULA: C5H4O5

PUBCHEM: 3328

CHARGE: -2

CHEBI: 30915

KEGG: C00026

FORMULA: C37H57N7O20

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C5H4O5

PUBCHEM: 3328

CHARGE: -2

CHEBI: 30915

KEGG: C00026

FORMULA: C48H74O4

PUBCHEM: 8110

CHARGE: 0

CHEBI: 27688

KEGG: C05815

FORMULA: C10H13N5O3

PUBCHEM: 3839

CHARGE: 0

CHEBI: 17256

KEGG: C00559

FORMULA: C5H4O5

PUBCHEM: 3328

CHARGE: -2

CHEBI: 30915

KEGG: C00026

FORMULA: C37H57N7O20

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C19H33N2O8PRS

PUBCHEM: 8046

CHARGE: -1

CHEBI: 0

KEGG: C05751

FORMULA: C36H62O31

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: C00912

FORMULA: C7H10O5

PUBCHEM: 7045

CHARGE: -2

CHEBI: 35121

KEGG: C04411

FORMULA: C112H202N3O42P3

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: R

PUBCHEM: 4045

CHARGE: 0

CHEBI: 29182

KEGG: C00787

FORMULA: C36H62O31

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: C00912

FORMULA: C36H62O31

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: C00912

FORMULA: C112H202N3O42P3

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C192H333N2O101P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C247H410O143P2

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C11H8O5

PUBCHEM: 5692

CHARGE: -2

CHEBI: 18325

KEGG: C02730

FORMULA: C42H80O11P

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C8H14NO9P

PUBCHEM: 3650

CHARGE: -2

CHEBI: 15784

KEGG: C00357

FORMULA: C5H10NO2S

PUBCHEM: 4112

CHARGE: 0

CHEBI: 16867

KEGG: C00855

FORMULA: C5H10NO2S

PUBCHEM: 4112

CHARGE: 0

CHEBI: 16867

KEGG: C00855

FORMULA: C5H10NO2S

PUBCHEM: 4112

CHARGE: 0

CHEBI: 16867

KEGG: C00855

FORMULA: NO3

PUBCHEM: 3543

CHARGE: -1

CHEBI: 48107

KEGG: C00244

FORMULA: C6H12NOR

PUBCHEM: 6020

CHARGE: 1

CHEBI: 29160

KEGG: C03127

FORMULA: C9H12N3O8P

PUBCHEM: 8117

CHARGE: -2

CHEBI: 0

KEGG: C05822

FORMULA: C8H5O7

PUBCHEM: 6753

CHARGE: -3

CHEBI: 15924

KEGG: C04052

FORMULA: R

PUBCHEM: 4799

CHARGE: 0

CHEBI: 29179

KEGG: C01650

FORMULA: C9H12N3O8P

PUBCHEM: 8117

CHARGE: -2

CHEBI: 0

KEGG: C05822

FORMULA: C9H23N3O

PUBCHEM: 4273

CHARGE: 2

CHEBI: 27911

KEGG: C01029

FORMULA: X

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C15H22N2O17P2

PUBCHEM: 6496

CHARGE: -2

CHEBI: 18251

KEGG: C03733

FORMULA: C9H11NO6

PUBCHEM: 8220

CHARGE: -2

CHEBI: 27657

KEGG: C05932

FORMULA: C7H14N2O3

PUBCHEM: 3726

CHARGE: 0

CHEBI: 16543

KEGG: C00437

FORMULA: C44H47CoN4O16

PUBCHEM: 13710

CHARGE: -7

CHEBI: 0

KEGG: C11543

FORMULA: C50H70O2

PUBCHEM: 8113

CHARGE: 0

CHEBI: 28192

KEGG: C05818

FORMULA: C9H12N3O13P3

PUBCHEM: 3742

CHARGE: -4

CHEBI: 16311

KEGG: C00458

FORMULA: C5H9NO4

PUBCHEM: 4228

CHARGE: 0

CHEBI: 17981

KEGG: C00979

FORMULA: C37H60N7O17P3S

PUBCHEM: 7659

CHARGE: -4

CHEBI: 28935

KEGG: C05272

FORMULA: C7H8O2

PUBCHEM: 125??3480

CHARGE: 0

CHEBI: 30746

KEGG: 0

FORMULA: C5H10O4

PUBCHEM: 3449

CHARGE: 0

CHEBI: 30797

KEGG: 0

FORMULA: C5H6O3

PUBCHEM: 4564493??3441

CHARGE: 0

CHEBI: 11851 16530

KEGG: 0

FORMULA: C2H2NO3

PUBCHEM: 4622

CHARGE: -1

CHEBI: 18058

KEGG: C01444

FORMULA: C16H28N2O11

PUBCHEM: 4818

CHARGE: 0

CHEBI: 0

KEGG: C01674

FORMULA: C8H11NO3

PUBCHEM: 3608

CHARGE: 0

CHEBI: 16709

KEGG: C00314

FORMULA: C8H9NO3

PUBCHEM: 3549

CHARGE: 0

CHEBI: 17310

KEGG: C00250

FORMULA: C3H8O2

PUBCHEM: 5836

CHARGE: 0

CHEBI: 28972

KEGG: C02912

FORMULA: C3H8O2

PUBCHEM: 5840

CHARGE: 0

CHEBI: 29002

KEGG: C02917

FORMULA: C36H62O31

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: C00912

FORMULA: C5H16N2

PUBCHEM: 4816

CHARGE: 2

CHEBI: 18127

KEGG: C01672

FORMULA: C10H11N5O6P

PUBCHEM: 5400

CHARGE: -1

CHEBI: 0

KEGG: C02353

FORMULA: C9H11N3O7P

PUBCHEM: 5401

CHARGE: -1

CHEBI: 0

KEGG: C02354

FORMULA: C10H11N5O7P

PUBCHEM: 8444

CHARGE: -1

CHEBI: 0

KEGG: C06194

FORMULA: C9H10N2O8P

PUBCHEM: 5402

CHARGE: -1

CHEBI: 0

KEGG: C02355

FORMULA: C3H9N2O2

PUBCHEM: 8629

CHARGE: 1

CHEBI: 18383

KEGG: C06393

FORMULA: C7H14N2O4

PUBCHEM: 3949

CHARGE: 0

CHEBI: 16488 30308

KEGG: C00680

FORMULA: C6H9O6

PUBCHEM: 3504

CHARGE: -1

CHEBI: 17032

KEGG: C00204

FORMULA: C8H8O3

PUBCHEM: 6744

CHARGE: 0

CHEBI: 0

KEGG: C04043

FORMULA: C10H12N5O7P

PUBCHEM: 4566

CHARGE: -2

CHEBI: 28931

KEGG: C01367

FORMULA: C9H12N3O8P

PUBCHEM: 8117

CHARGE: -2

CHEBI: 0

KEGG: C05822

FORMULA: C10H12N5O8P

PUBCHEM: 8443

CHARGE: -2

CHEBI: 0

KEGG: C06193

FORMULA: C9H7O3

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C9H9O3

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C9H11N2O9P

PUBCHEM: 4567

CHARGE: -2

CHEBI: 28895

KEGG: C01368

FORMULA: C4H9NO2

PUBCHEM: 3628

CHARGE: 0

CHEBI: 16865

KEGG: C00334

FORMULA: C8H8O2

PUBCHEM: 6521

CHARGE: 0

CHEBI: 15621

KEGG: C03765

FORMULA: C6H9O7

PUBCHEM: 4301

CHARGE: -1

CHEBI: 17426

KEGG: C01062

FORMULA: C18H30N5O9

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C15H25N4O8

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C2H3O2

PUBCHEM: 3335

CHARGE: -1

CHEBI: 15366

KEGG: C00033

FORMULA: C4H5O3

PUBCHEM: 3464

CHARGE: -1

CHEBI: 0

KEGG: C00164

FORMULA: C2H4O

PUBCHEM: 3384

CHARGE: 0

CHEBI: 15343

KEGG: C00084

FORMULA: C8H14NO9P

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C8H15NO6

PUBCHEM: 4363

CHARGE: 0

CHEBI: 28037

KEGG: C01132

FORMULA: C8H14NO9P

PUBCHEM: 6921

CHARGE: -2

CHEBI: 7125

KEGG: C04256

FORMULA: C8H15NO6

PUBCHEM: 3440

CHARGE: 0

CHEBI: 17411

KEGG: C00140

FORMULA: C8H15NO6

PUBCHEM: 3918

CHARGE: 0

CHEBI: 17122

KEGG: C00645

FORMULA: C11H18NO8

PUBCHEM: 5676

CHARGE: -1

CHEBI: 0

KEGG: C02713

FORMULA: C11H18NO9

PUBCHEM: 3568

CHARGE: -1

CHEBI: 17012

KEGG: C00270

FORMULA: C181H314N3O103P4

PUBCHEM: 0

CHARGE: -9

CHEBI: 0

KEGG: 0

FORMULA: C5H9NO4

PUBCHEM: 4228

CHARGE: 0

CHEBI: 17981

KEGG: C00979

FORMULA: C5H5N5

PUBCHEM: 3447

CHARGE: 0

CHEBI: 16708

KEGG: C00147

FORMULA: C10H13N5O4

PUBCHEM: 3512

CHARGE: 0

CHEBI: 16335

KEGG: C00212

FORMULA: C72H100CoN18O17P

PUBCHEM: 3494

CHARGE: 0

CHEBI: 18408

KEGG: C00194

FORMULA: Ag

PUBCHEM: 8935

CHARGE: 1

CHEBI: 9141

KEGG: C06710

FORMULA: C5H16N4

PUBCHEM: 3479

CHARGE: 2

CHEBI: 17431

KEGG: C00179

FORMULA: C5H4O5

PUBCHEM: 3328

CHARGE: -2

CHEBI: 30915

KEGG: C00026

FORMULA: C3H7NO2

PUBCHEM: 3399

CHARGE: 0

CHEBI: 16958

KEGG: C00099

FORMULA: C3H7NO2

PUBCHEM: 3433

CHARGE: 0

CHEBI: 15570

KEGG: C00133

FORMULA: C3H7NO2

PUBCHEM: 3343

CHARGE: 0

CHEBI: 16977

KEGG: C00041

FORMULA: C6H12N2O3

PUBCHEM: 4239

CHARGE: 0

CHEBI: 16576

KEGG: C00993

FORMULA: C6H12O6

PUBCHEM: 4657

CHARGE: 0

CHEBI: 4093

KEGG: C01487

FORMULA: C4H6N4O3

PUBCHEM: 4709

CHARGE: 0

CHEBI: 15676

KEGG: C01551

FORMULA: C10H12N5O7P

PUBCHEM: 3322

CHARGE: -2

CHEBI: 16027

KEGG: C00020

FORMULA: C19H29N2O12

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C5H10O5

PUBCHEM: 3558

CHARGE: 0

CHEBI: 17535

KEGG: C00259

FORMULA: C22H33N4O13

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C22H33FeN4O13

PUBCHEM: 7887

CHARGE: 0

CHEBI: 18157

KEGG: C05554

FORMULA: C6H15N4O2

PUBCHEM: 3362

CHARGE: 1

CHEBI: 16467

KEGG: C00062

FORMULA: C6H8O6

PUBCHEM: 3372

CHARGE: 0

CHEBI: 29073 38290

KEGG: C00072

FORMULA: C4H8N2O3

PUBCHEM: 3452

CHARGE: 0

CHEBI: 17196

KEGG: C00152

FORMULA: AsO3

PUBCHEM: 8922

CHARGE: -3

CHEBI: 29866

KEGG: C06697

FORMULA: C4H6NO4

PUBCHEM: 3351

CHARGE: -1

CHEBI: 17053

KEGG: C00049

FORMULA: C4H7O2

PUBCHEM: 3545

CHARGE: -1

CHEBI: 30772

KEGG: C00246

FORMULA: C4H9O3S

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: Ca

PUBCHEM: 3376

CHARGE: 2

CHEBI: 29108

KEGG: C00076

FORMULA: C48H72CoN11O8

PUBCHEM: 8069

CHARGE: 0

CHEBI: 28956

KEGG: C05774

FORMULA: C62H88CoN13O14P

PUBCHEM: 4110

CHARGE: -1

CHEBI: 15982

KEGG: C00853

FORMULA: Cd

PUBCHEM: 4601

CHARGE: 2

CHEBI: 48775

KEGG: C01413

FORMULA: C5H10N2O3S

PUBCHEM: 4606

CHARGE: 0

CHEBI: 4047

KEGG: C01419

FORMULA: C5H14NO

PUBCHEM: 3414

CHARGE: 1

CHEBI: 15354

KEGG: C00114

FORMULA: C6H5O7

PUBCHEM: 3458

CHARGE: -3

CHEBI: 30769

KEGG: C00158

FORMULA: C6H5O7

PUBCHEM: 3605

CHARGE: -3

CHEBI: 30887

KEGG: C00311

FORMULA: C6H3O6

PUBCHEM: 3707

CHARGE: -3

CHEBI: 32805

KEGG: C00417

FORMULA: Cl

PUBCHEM: 3415

CHARGE: -1

CHEBI: 17996

KEGG: C00115

FORMULA: C9H12N3O8P

PUBCHEM: 3357

CHARGE: -2

CHEBI: 17361

KEGG: C00055

FORMULA: CO2

PUBCHEM: 3313

CHARGE: 0

CHEBI: 16526

KEGG: C00011

FORMULA: Co

PUBCHEM: 3475

CHARGE: 2

CHEBI: 27638

KEGG: C00175

FORMULA: C176H303N2O100P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C35H52N6O13Fe

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C35H52N6O13

PUBCHEM: 0

CHARGE: -4

CHEBI: 0

KEGG: 0

FORMULA: C7H15NO3

PUBCHEM: 3612

CHARGE: 0

CHEBI: 16347

KEGG: C00318

FORMULA: C4H5N3O

PUBCHEM: 3670

CHARGE: 0

CHEBI: 16040

KEGG: C00380

FORMULA: Cu

PUBCHEM: 3370

CHARGE: 2

CHEBI: 28694

KEGG: C00070

FORMULA: Cu

PUBCHEM: 0

CHARGE: 1

CHEBI: 49552

KEGG: 0

FORMULA: CHN

PUBCHEM: 4537

CHARGE: 0

CHEBI: 18407

KEGG: C01326

FORMULA: CNO

PUBCHEM: 4604

CHARGE: -1

CHEBI: 28024

KEGG: C01417

FORMULA: C3H7NO2S

PUBCHEM: 4051

CHARGE: 0

CHEBI: 16375

KEGG: C00793

FORMULA: C3H7NO2S

PUBCHEM: 3397

CHARGE: 0

CHEBI: 17561

KEGG: C00097

FORMULA: C6H12N2O4S2

PUBCHEM: 3774

CHARGE: 0

CHEBI: 16283

KEGG: C00491

FORMULA: C9H13N3O5

PUBCHEM: 3758

CHARGE: 0

CHEBI: 17562

KEGG: C00475

FORMULA: C10H13N5O3

PUBCHEM: 3839

CHARGE: 0

CHEBI: 17256

KEGG: C00559

FORMULA: C10H12N5O6P

PUBCHEM: 3651

CHARGE: -2

CHEBI: 17713

KEGG: C00360

FORMULA: C10H19O2

PUBCHEM: 4728

CHARGE: -1

CHEBI: 30813

KEGG: C01571

FORMULA: C9H12N3O7P

PUBCHEM: 3538

CHARGE: -2

CHEBI: 15918

KEGG: C00239

FORMULA: C9H13N3O4

PUBCHEM: 4137

CHARGE: 0

CHEBI: 15698

KEGG: C00881

FORMULA: C12H23O2

PUBCHEM: 5649

CHARGE: -1

CHEBI: 30805

KEGG: C02679

FORMULA: C10H12N5O7P

PUBCHEM: 3653

CHARGE: -2

CHEBI: 16192

KEGG: C00362

FORMULA: C10H13N5O4

PUBCHEM: 3624

CHARGE: 0

CHEBI: 17172

KEGG: C00330

FORMULA: C3H6O3

PUBCHEM: 3484

CHARGE: 0

CHEBI: 16016

KEGG: C00184

FORMULA: C10H11N4O7P

PUBCHEM: 8446

CHARGE: -2

CHEBI: 28806

KEGG: C06196

FORMULA: C10H12N4O4

PUBCHEM: 7859

CHARGE: 0

CHEBI: 28997

KEGG: C05512

FORMULA: C2H6S

PUBCHEM: 3859

CHARGE: 0

CHEBI: 17437

KEGG: C00580

FORMULA: C2H6OS

PUBCHEM: 13325

CHARGE: 0

CHEBI: 28262

KEGG: C11143

FORMULA: C8H12NO2

PUBCHEM: 6517

CHARGE: 1

CHEBI: 18243

KEGG: C03758

FORMULA: C10H13N2O8P

PUBCHEM: 3655

CHARGE: -2

CHEBI: 17013

KEGG: C00364

FORMULA: C9H11N2O8P

PUBCHEM: 3656

CHARGE: -2

CHEBI: 17622

KEGG: C00365

FORMULA: C9H12N2O5

PUBCHEM: 3809

CHARGE: 0

CHEBI: 16450

KEGG: C00526

FORMULA: C272H447N14O160P4

PUBCHEM: 0

CHARGE: -15

CHEBI: 0

KEGG: 0

FORMULA: C112H202N3O42P3

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C30H27N3O15

PUBCHEM: 8116

CHARGE: 0

CHEBI: 28855

KEGG: C05821

FORMULA: C2H8NO

PUBCHEM: 3489

CHARGE: 1

CHEBI: 16000

KEGG: C00189

FORMULA: C2H5O3S

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C2H6O

PUBCHEM: 3752

CHARGE: 0

CHEBI: 16236

KEGG: C00469

FORMULA: C6H11O9P

PUBCHEM: 3385

CHARGE: -2

CHEBI: 15946

KEGG: C00085

FORMULA: CH2O

PUBCHEM: 3367

CHARGE: 0

CHEBI: 16842

KEGG: C00067

FORMULA: Fe

PUBCHEM: 3325

CHARGE: 2

CHEBI: 18248

KEGG: C00023

FORMULA: Fe

PUBCHEM: 0

CHARGE: 3

CHEBI: 14819

KEGG: 0

FORMULA: C12H10FeO14

PUBCHEM: 8472

CHARGE: -3

CHEBI: 0

KEGG: C06229

FORMULA: C10H10NO6Fe

PUBCHEM: 0

CHARGE: 2

CHEBI: 0

KEGG: 0

FORMULA: C9H18O6N3Fe

PUBCHEM: 8470

CHARGE: 0

CHEBI: 0

KEGG: C06227

FORMULA: C9H18O6N3

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C27H42FeN9O12

PUBCHEM: 8471

CHARGE: 0

CHEBI: 0

KEGG: C06228

FORMULA: C27H42N9O12

PUBCHEM: 0

CHARGE: -3

CHEBI: 0

KEGG: 0

FORMULA: C30H27FeN3O15

PUBCHEM: 8473

CHARGE: 3

CHEBI: 28199

KEGG: C06230

FORMULA: C25H46FeN6O8

PUBCHEM: 9799

CHARGE: 1

CHEBI: 0

KEGG: C07597

FORMULA: C25H46N6O8

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: CH1O2

PUBCHEM: 3358

CHARGE: -1

CHEBI: 30751

KEGG: C00058

FORMULA: C6H12O6

PUBCHEM: 3395

CHARGE: 0

CHEBI: 15824

KEGG: C00095

FORMULA: C12H25N2O7

PUBCHEM: 47205784

CHARGE: 1

CHEBI: 0

KEGG: C16488

FORMULA: C6H9O7

PUBCHEM: 4160

CHARGE: -1

CHEBI: 4126

KEGG: C00905

FORMULA: C6H12O5

PUBCHEM: 4264

CHARGE: 0

CHEBI: 2181

KEGG: C01019

FORMULA: C4H2O4

PUBCHEM: 3422

CHARGE: -2

CHEBI: 18012

KEGG: C00122

FORMULA: C6H11O9P

PUBCHEM: 3403

CHARGE: -2

CHEBI: 16077 29042

KEGG: C00103

FORMULA: C8H20NO6P

PUBCHEM: 3939

CHARGE: 0

CHEBI: 16870

KEGG: C00670

FORMULA: C5H14NO6P

PUBCHEM: 4454

CHARGE: 0

CHEBI: 0

KEGG: C01233

FORMULA: C6H14O8P

PUBCHEM: 6135

CHARGE: -1

CHEBI: 0

KEGG: C03274

FORMULA: C9H18O11P

PUBCHEM: 4447

CHARGE: -1

CHEBI: 18321

KEGG: C01225

FORMULA: C6H13NO8P

PUBCHEM: 3081457

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H11O9P

PUBCHEM: 3392

CHARGE: -2

CHEBI: 4170

KEGG: C00092

FORMULA: C6H11O9P

PUBCHEM: 3734

CHARGE: -2

CHEBI: 17973

KEGG: C00446

FORMULA: C6H12O6

PUBCHEM: 4738

CHARGE: 0

CHEBI: 28260

KEGG: C01582

FORMULA: C6H12O6

PUBCHEM: 3424

CHARGE: 0

CHEBI: 4139

KEGG: C00124

FORMULA: C6H8O8

PUBCHEM: 4135

CHARGE: -2

CHEBI: 0

KEGG: C00879

FORMULA: C6H11O7

PUBCHEM: 4136

CHARGE: -1

CHEBI: 12931 16534

KEGG: C00880

FORMULA: C6H11O7

PUBCHEM: 47205248

CHARGE: -1

CHEBI: 0

KEGG: C15930

FORMULA: C6H14O6

PUBCHEM: 4837

CHARGE: 0

CHEBI: 16813

KEGG: C01697

FORMULA: C6H9O7

PUBCHEM: 3627

CHARGE: -1

CHEBI: 0

KEGG: C00333

FORMULA: C6H13NO8P

PUBCHEM: 3645

CHARGE: -1

CHEBI: 15873

KEGG: C00352

FORMULA: C6H14NO5

PUBCHEM: 3623

CHARGE: 1

CHEBI: 47977

KEGG: C00329

FORMULA: C7H15NO2

PUBCHEM: 4408

CHARGE: 0

CHEBI: 1941

KEGG: C01181

FORMULA: C10H12N5O11P2

PUBCHEM: 3337

CHARGE: -3

CHEBI: 17552

KEGG: C00035

FORMULA: C6H12O6

PUBCHEM: 3333

CHARGE: 0

CHEBI: 4167

KEGG: C00031

FORMULA: C6H11O7

PUBCHEM: 3556

CHARGE: -1

CHEBI: 33198

KEGG: C00257

FORMULA: C6H8O8

PUBCHEM: 4076

CHARGE: -2

CHEBI: 16002

KEGG: C00818

FORMULA: C6H8O10P

PUBCHEM: 7759

CHARGE: -3

CHEBI: 28547

KEGG: C05385

FORMULA: C6H9O7

PUBCHEM: 3491

CHARGE: -1

CHEBI: 4178 47952

KEGG: C00191

FORMULA: C5H10N2O3

PUBCHEM: 3364

CHARGE: 0

CHEBI: 18050

KEGG: C00064

FORMULA: C5H8NO4

PUBCHEM: 3327

CHARGE: -1

CHEBI: 16015

KEGG: C00025

FORMULA: C2H5NO2

PUBCHEM: 3339

CHARGE: 0

CHEBI: 15428

KEGG: C00037

FORMULA: C3H6O3

PUBCHEM: 3856

CHARGE: 0

CHEBI: 17378

KEGG: C00577

FORMULA: C5H11NO2

PUBCHEM: 3985

CHARGE: 0

CHEBI: 17750

KEGG: C00719

FORMULA: C3H7O6P

PUBCHEM: 5889

CHARGE: -2

CHEBI: 17270

KEGG: C02979

FORMULA: C3H7O6P

PUBCHEM: 3393

CHARGE: -2

CHEBI: 15978

KEGG: C00093

FORMULA: C3H5O4

PUBCHEM: 3557

CHARGE: -1

CHEBI: 32398

KEGG: C00258

FORMULA: C3H8O3

PUBCHEM: 3416

CHARGE: 0

CHEBI: 17754

KEGG: C00116

FORMULA: C2H3O3

PUBCHEM: 3460

CHARGE: -1

CHEBI: 17497

KEGG: C00160

FORMULA: C10H12N5O8P

PUBCHEM: 3444

CHARGE: -2

CHEBI: 17345

KEGG: C00144

FORMULA: C10H13N5O5

PUBCHEM: 3677

CHARGE: 0

CHEBI: 16750

KEGG: C00387

FORMULA: C20H30N6O12S2

PUBCHEM: 3427

CHARGE: -2

CHEBI: 17858

KEGG: C00127

FORMULA: C10H16N3O6S

PUBCHEM: 3353

CHARGE: -1

CHEBI: 16856

KEGG: C00051

FORMULA: C10H12N5O14P3

PUBCHEM: 3346

CHARGE: -4

CHEBI: 15996

KEGG: C00044

FORMULA: C5H5N5O

PUBCHEM: 3541

CHARGE: 0

CHEBI: 16235

KEGG: C00242

FORMULA: H2

PUBCHEM: 3577

CHARGE: 0

CHEBI: 18276

KEGG: C00282

FORMULA: H2O2

PUBCHEM: 3329

CHARGE: 0

CHEBI: 16240

KEGG: C00027

FORMULA: H2O

PUBCHEM: 3303

CHARGE: 0

CHEBI: 15377

KEGG: C00001

FORMULA: H2S

PUBCHEM: 3578

CHARGE: 0

CHEBI: 16136

KEGG: C00283

FORMULA: H

PUBCHEM: 3380

CHARGE: 1

CHEBI: 15378

KEGG: C00080

FORMULA: C192H333N2O101P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C126H226N2O40P2

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C16H31O2

PUBCHEM: 3548

CHARGE: -1

CHEBI: 15756

KEGG: C00249

FORMULA: C16H29O2

PUBCHEM: 3548

CHARGE: -1

CHEBI: 15756

KEGG: C00249

FORMULA: Hg

PUBCHEM: 3970

CHARGE: 2

CHEBI: 16793

KEGG: C00703

FORMULA: C6H9N3O2

PUBCHEM: 3435

CHARGE: 0

CHEBI: 15971

KEGG: C00135

FORMULA: C4H9NO3

PUBCHEM: 3561

CHARGE: 0

CHEBI: 15699

KEGG: C00263

FORMULA: C6H11O2

PUBCHEM: 4740

CHARGE: -1

CHEBI: 30776

KEGG: C01585

FORMULA: C5H4N4O

PUBCHEM: 3560

CHARGE: 0

CHEBI: 17368

KEGG: C00262

FORMULA: C6H11O7

PUBCHEM: 4032

CHARGE: -1

CHEBI: 17796

KEGG: C00770

FORMULA: C6H13NO2

PUBCHEM: 3697

CHARGE: 0

CHEBI: 17191

KEGG: C00407

FORMULA: C10H11N4O8P

PUBCHEM: 3430

CHARGE: -2

CHEBI: 17202

KEGG: C00130

FORMULA: C8H7N

PUBCHEM: 3747

CHARGE: 0

CHEBI: 16881

KEGG: C00463

FORMULA: C6H12O6

PUBCHEM: 3437

CHARGE: 0

CHEBI: 17268

KEGG: C00137

FORMULA: C10H12N4O5

PUBCHEM: 3588

CHARGE: 0

CHEBI: 17596

KEGG: C00294

FORMULA: C2H5O4S

PUBCHEM: 7545

CHARGE: -1

CHEBI: 0

KEGG: C05123

FORMULA: K

PUBCHEM: 3537

CHARGE: 1

CHEBI: 29103

KEGG: C00238

FORMULA: C84H148N2O37P2

PUBCHEM: 8297

CHARGE: -6

CHEBI: 0

KEGG: C06025

FORMULA: C3H5O3

PUBCHEM: 3555

CHARGE: -1

CHEBI: 42111

KEGG: C00256

FORMULA: C3H5O3

PUBCHEM: 3486

CHARGE: -1

CHEBI: 422

KEGG: C00186

FORMULA: C12H22O11

PUBCHEM: 3542

CHARGE: 0

CHEBI: 36219

KEGG: C00243

FORMULA: C6H13NO2

PUBCHEM: 3423

CHARGE: 0

CHEBI: 15603

KEGG: C00123

FORMULA: C114H202N2O39P2

PUBCHEM: 0

CHARGE: -6

CHEBI: 0

KEGG: 0

FORMULA: C110H196N2O39P2

PUBCHEM: 8298

CHARGE: -6

CHEBI: 27963

KEGG: C06026

FORMULA: C6H15N2O2

PUBCHEM: 3349

CHARGE: 1

CHEBI: 18019

KEGG: C00047

FORMULA: C5H10O5

PUBCHEM: 4676

CHARGE: 0

CHEBI: 28480

KEGG: C01508

FORMULA: C4H4O5

PUBCHEM: 3780

CHARGE: -2

CHEBI: 30796

KEGG: C00497

FORMULA: C4H4O5

PUBCHEM: 3449

CHARGE: -2

CHEBI: 30797

KEGG: C00149

FORMULA: C12H22O11

PUBCHEM: 3508

CHARGE: 0

CHEBI: 17306

KEGG: C00208

FORMULA: C36H62O31

PUBCHEM: 5041

CHARGE: 0

CHEBI: 0

KEGG: C01936

FORMULA: C30H52O26

PUBCHEM: 124005??3611

CHARGE: 0

CHEBI: 28057

KEGG: 0

FORMULA: C18H32O16

PUBCHEM: 4954

CHARGE: 0

CHEBI: 27931

KEGG: C01835

FORMULA: C24H42O21

PUBCHEM: 5141

CHARGE: 0

CHEBI: 0

KEGG: C02052

FORMULA: C6H11O9P

PUBCHEM: 3572

CHARGE: -2

CHEBI: 17369

KEGG: C00275

FORMULA: C6H12O6

PUBCHEM: 3459

CHARGE: 0

CHEBI: 4208

KEGG: C00159

FORMULA: C9H15O9

PUBCHEM: 13711

CHARGE: -1

CHEBI: 15847

KEGG: C11544

FORMULA: C12H22O11

PUBCHEM: 7769

CHARGE: 0

CHEBI: 28053

KEGG: C05402

FORMULA: C5H10NO2S

PUBCHEM: 4112

CHARGE: 0

CHEBI: 16867

KEGG: C00855

FORMULA: C5H11NO2S

PUBCHEM: 3373

CHARGE: 0

CHEBI: 16643

KEGG: C00073

FORMULA: C5H11NO3S

PUBCHEM: 847

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C5H11NO3S

PUBCHEM: 5898

CHARGE: 0

CHEBI: 17016

KEGG: C02989

FORMULA: Mg

PUBCHEM: 3599

CHARGE: 2

CHEBI: 18420

KEGG: C00305

FORMULA: C6H6O24P6

PUBCHEM: 4428

CHARGE: -12

CHEBI: 17401

KEGG: C01204

FORMULA: C6H14NO2S

PUBCHEM: 6054

CHARGE: 1

CHEBI: 17728

KEGG: C03172

FORMULA: Mn

PUBCHEM: 3336

CHARGE: 2

CHEBI: 18291

KEGG: C00034

FORMULA: C6H14O6

PUBCHEM: 3682

CHARGE: 0

CHEBI: 16899

KEGG: C00392

FORMULA:

PUBCHEM: 8475

CHARGE: -2

CHEBI: 36264

KEGG: C06232

FORMULA: CH3O3S

PUBCHEM: 49991312

CHARGE: -1

CHEBI: 25224

KEGG: 0

FORMULA: N2O

PUBCHEM: 4143

CHARGE: 0

CHEBI: 17045

KEGG: C00887

FORMULA: Na

PUBCHEM: 4541

CHARGE: 1

CHEBI: 29101

KEGG: C01330

FORMULA: C6H4NO2

PUBCHEM: 3552

CHARGE: -1

CHEBI: 15940

KEGG: C00253

FORMULA: H4N

PUBCHEM: 4547

CHARGE: 1

CHEBI: 28938

KEGG: C01342

FORMULA: Ni

PUBCHEM: 3585

CHARGE: 2

CHEBI: 28112

KEGG: C00291

FORMULA: C11H14N2O8P

PUBCHEM: 3741

CHARGE: -1

CHEBI: 16171

KEGG: C00455

FORMULA: NO2

PUBCHEM: 3388

CHARGE: -1

CHEBI: 16301

KEGG: C00088

FORMULA: NO3

PUBCHEM: 3543

CHARGE: -1

CHEBI: 48107

KEGG: C00244

FORMULA: NO

PUBCHEM: 3815

CHARGE: 0

CHEBI: 16480

KEGG: C00533

FORMULA: O2

PUBCHEM: 3309

CHARGE: 0

CHEBI: 15379

KEGG: C00007

FORMULA: O2

PUBCHEM: 3971

CHARGE: -1

CHEBI: 18421

KEGG: C00704

FORMULA: C18H35O2

PUBCHEM: 4692

CHARGE: -1

CHEBI: 25629

KEGG: C01530

FORMULA: C18H33O2

PUBCHEM: 3978

CHARGE: -1

CHEBI: 16196

KEGG: 0

FORMULA: C8H15O2

PUBCHEM: 8658

CHARGE: -1

CHEBI: 28837

KEGG: C06423

FORMULA: C5H13N2O2

PUBCHEM: 4756

CHARGE: 1

CHEBI: 18257

KEGG: C01602

FORMULA: C5H3N2O4

PUBCHEM: 3589

CHARGE: -1

CHEBI: 16742

KEGG: C00295

FORMULA: C4H2O5

PUBCHEM: 3338

CHARGE: -2

CHEBI: 30744

KEGG: C00036

FORMULA: C8H8O

PUBCHEM: 3876

CHARGE: 0

CHEBI: 16424

KEGG: C00601

FORMULA: C8H12N

PUBCHEM: 7711

CHARGE: 1

CHEBI: 18397

KEGG: C05332

FORMULA: C9H11NO2

PUBCHEM: 3379

CHARGE: 0

CHEBI: 17295

KEGG: C00079

FORMULA: C34H30FeN4O4

PUBCHEM: 3334

CHARGE: -2

CHEBI: 17627

KEGG: C00032

FORMULA: HO4P

PUBCHEM: 3311

CHARGE: -2

CHEBI: 18367

KEGG: C00009

FORMULA: C9H16NO5

PUBCHEM: 4121

CHARGE: -1

CHEBI: 29032 46905 7916

KEGG: C00864

FORMULA: C3H5O2

PUBCHEM: 3463

CHARGE: -1

CHEBI: 30768

KEGG: C00163

FORMULA: C3H6O

PUBCHEM: 3762

CHARGE: 0

CHEBI: 17153

KEGG: C00479

FORMULA: C9H9O2

PUBCHEM: 7943

CHARGE: -1

CHEBI: 28631

KEGG: C05629

FORMULA: HO3P

PUBCHEM: 8926

CHARGE: -2

CHEBI: 0

KEGG: C06701

FORMULA: C5H9NO2

PUBCHEM: 3448

CHARGE: 0

CHEBI: 17203

KEGG: C00148

FORMULA: C7H12N2O3

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C12H25N2O7

PUBCHEM: 0

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA: C3H6NO6P

PUBCHEM: 4251

CHARGE: -2

CHEBI: 15811

KEGG: C01005

FORMULA: C4H14N2

PUBCHEM: 3434

CHARGE: 2

CHEBI: 17148

KEGG: C00134

FORMULA: C3H3O3

PUBCHEM: 3324

CHARGE: -1

CHEBI: 32816

KEGG: C00022

FORMULA: C5H9O8P

PUBCHEM: 3417

CHARGE: -2

CHEBI: 17797

KEGG: C00117

FORMULA: C5H10O5

PUBCHEM: 3421

CHARGE: 0

CHEBI: 47013

KEGG: C00121

FORMULA: C6H12O5

PUBCHEM: 3790

CHARGE: 0

CHEBI: 16055

KEGG: C00507

FORMULA: C6H14O6

PUBCHEM: 4052

CHARGE: 0

CHEBI: 17924

KEGG: C00794

FORMULA: C3H7NO3

PUBCHEM: 4003

CHARGE: 0

CHEBI: 16523

KEGG: C00740

FORMULA: C3H7NO3

PUBCHEM: 3365

CHARGE: 0

CHEBI: 17115

KEGG: C00065

FORMULA: C7H9O5

PUBCHEM: 3776

CHARGE: -1

CHEBI: 16119

KEGG: C00493

FORMULA: O2S

PUBCHEM: 11497

CHARGE: 0

CHEBI: 18422

KEGG: C09306

FORMULA: O3S

PUBCHEM: 3394

CHARGE: -2

CHEBI: 48854

KEGG: C00094

FORMULA: O4S

PUBCHEM: 3359

CHARGE: -2

CHEBI: 16189

KEGG: C00059

FORMULA: C7H22N3

PUBCHEM: 3609

CHARGE: 3

CHEBI: 16610

KEGG: C00315

FORMULA: C4H4O4

PUBCHEM: 3344

CHARGE: -2

CHEBI: 15741

KEGG: C00042

FORMULA: C12H22O11

PUBCHEM: 3389

CHARGE: 0

CHEBI: 17992

KEGG: C00089

FORMULA: C2H2O5S

PUBCHEM: 7846991

CHARGE: -2

CHEBI: 0

KEGG: C14179

FORMULA: C4H4O6

PUBCHEM: 4154

CHARGE: -2

CHEBI: 15671 30924

KEGG: C00898

FORMULA: C2H7NO3S

PUBCHEM: 3544

CHARGE: 0

CHEBI: 15891

KEGG: C00245

FORMULA: CNS

PUBCHEM: 4888

CHARGE: -1

CHEBI: 29200

KEGG: C01755

FORMULA: C12H17N4OS

PUBCHEM: 3668

CHARGE: 1

CHEBI: 18385

KEGG: C00378

FORMULA: C4H9NO3

PUBCHEM: 3488

CHARGE: 0

CHEBI: 16857

KEGG: C00188

FORMULA: C4H8NO6P

PUBCHEM: 14294

CHARGE: -2

CHEBI: 37525

KEGG: C12147

FORMULA: C5H6N2O2

PUBCHEM: 3478

CHARGE: 0

CHEBI: 17821

KEGG: C00178

FORMULA: C10H14N2O5

PUBCHEM: 3514

CHARGE: 0

CHEBI: 17748

KEGG: C00214

FORMULA: C3H10N

PUBCHEM: 3844

CHARGE: 1

CHEBI: 18139

KEGG: C00565

FORMULA: C3H9NO

PUBCHEM: 4338

CHARGE: 0

CHEBI: 15724

KEGG: C01104

FORMULA: C12H22O11

PUBCHEM: 4320

CHARGE: 0

CHEBI: 16551

KEGG: C01083

FORMULA: C11H12N2O2

PUBCHEM: 3378

CHARGE: 0

CHEBI: 16828

KEGG: C00078

FORMULA: O3S2

PUBCHEM: 3614

CHARGE: -2

CHEBI: 16094

KEGG: C00320

FORMULA: C14H27O2

PUBCHEM: 8659

CHARGE: -1

CHEBI: 28875 30807

KEGG: C06424

FORMULA: C14H25O2

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: O4W1

PUBCHEM: 26697048

CHARGE: -2

CHEBI: 46502

KEGG: 0

FORMULA: C8H12NO

PUBCHEM: 3766

CHARGE: 1

CHEBI: 15760

KEGG: C00483

FORMULA: C9H11NO3

PUBCHEM: 3382

CHARGE: 0

CHEBI: 17895

KEGG: C00082

FORMULA: C9H10NO6P

PUBCHEM: 8732

CHARGE: -2

CHEBI: 0

KEGG: C06501

FORMULA: C17H25N3O17P2

PUBCHEM: 3345

CHARGE: -2

CHEBI: 16264

KEGG: C00043

FORMULA: C17H25N3O17P2

PUBCHEM: 3503

CHARGE: -2

CHEBI: 16650

KEGG: C00203

FORMULA: C15H22N2O17P2

PUBCHEM: 3331

CHARGE: -2

CHEBI: 18066

KEGG: C00029

FORMULA: C15H22N2O17P2

PUBCHEM: 3354

CHARGE: -2

CHEBI: 18307

KEGG: C00052

FORMULA: C15H19N2O18P2

PUBCHEM: 3467

CHARGE: -3

CHEBI: 17200

KEGG: C00167

FORMULA: C9H11N2O9P

PUBCHEM: 3405

CHARGE: -2

CHEBI: 16695

KEGG: C00105

FORMULA: C4H4N2O2

PUBCHEM: 3406

CHARGE: 0

CHEBI: 17568

KEGG: C00106

FORMULA: CH4N2O

PUBCHEM: 3386

CHARGE: 0

CHEBI: 16199

KEGG: C00086

FORMULA: C9H12N2O6

PUBCHEM: 3593

CHARGE: 0

CHEBI: 16704

KEGG: C00299

FORMULA: C5H11NO2

PUBCHEM: 3483

CHARGE: 0

CHEBI: 16414

KEGG: C00183

FORMULA: C5H4N4O2

PUBCHEM: 3675

CHARGE: 0

CHEBI: 17712

KEGG: C00385

FORMULA: C10H11N4O9P

PUBCHEM: 3925

CHARGE: -2

CHEBI: 15652

KEGG: C00655

FORMULA: C10H12N4O6

PUBCHEM: 4895

CHARGE: 0

CHEBI: 18107

KEGG: C01762

FORMULA: C5H10O5

PUBCHEM: 3481

CHARGE: 0

CHEBI: 15936

KEGG: C00181

FORMULA: C5H10O5

PUBCHEM: 3606

CHARGE: 0

CHEBI: 17399

KEGG: C00312

FORMULA: Zn

PUBCHEM: 3340

CHARGE: 2

CHEBI: 29105

KEGG: C00038

FORMULA: C2H7N1O3P1

PUBCHEM: 6353

CHARGE: -1

CHEBI: 15573

KEGG: C03557

FORMULA: C8H7O3

PUBCHEM: 3915

CHARGE: -1

CHEBI: 18101

KEGG: C00642

FORMULA: C4H2N2O3

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C656H1103N2O440P4

PUBCHEM: 0

CHARGE: -11

CHEBI: 0

KEGG: 0

FORMULA: C42H47N3O25

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C42H47FeN3O25

PUBCHEM: 0

CHARGE: 3

CHEBI: 0

KEGG: 0

FORMULA: C16H20N1O11

PUBCHEM: 0

CHARGE: -1

CHEBI: 0

KEGG: 0

FORMULA: C6H12O6

PUBCHEM: 4053

CHARGE: 0

CHEBI: 4249

KEGG: C00795

FORMULA: C8H13N3O4

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: phosphorylated version of C03373

FORMULA: C3H2O6P

PUBCHEM: 3374

CHARGE: -3

CHEBI: 18021 44897

KEGG: C00074

FORMULA: C3H4O7P

PUBCHEM: 3904

CHARGE: -3

CHEBI: 17835

KEGG: C00631

FORMULA: C3H4O7P

PUBCHEM: 3497

CHARGE: -3

CHEBI: 17794

KEGG: C00197

FORMULA: O6S4

PUBCHEM: 5169

CHARGE: -2

CHEBI: 15226 16853

KEGG: C02084

FORMULA: CH3NO

PUBCHEM: 3771

CHARGE: 0

CHEBI: 16397

KEGG: C00488

FORMULA: C4H4O6

PUBCHEM: 5189

CHARGE: -2

CHEBI: 15672

KEGG: C02107

FORMULA: C7H6NO2

PUBCHEM: 3847

CHARGE: -1

CHEBI: 30753

KEGG: C00568

FORMULA: C25H48N6O8

PUBCHEM: 123851

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA: C25H45FeN6O8

PUBCHEM: 123851

CHARGE: 1

CHEBI: 0

KEGG: 0

FORMULA: C27H48N6O9

PUBCHEM: 167864

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C27H45FeN6O9

PUBCHEM: 167864

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C27H49N6O10

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C27H46FeN6O10

PUBCHEM: 0

CHARGE: 0

CHEBI: 0

KEGG: 0

FORMULA: C5H10O4

PUBCHEM: 4927

CHARGE: 0

CHEBI: 28816

KEGG: C01801

FORMULA:

PUBCHEM: 8496

CHARGE: 0

CHEBI: 28354

KEGG: C06257

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: 6038

CHARGE: 1

CHEBI: 15927

KEGG: C03150

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA: C6H5O6

PUBCHEM: 135626273

CHARGE: -3

CHEBI: 62517

KEGG: C19806

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: 0

CHARGE: -2

CHEBI: 0

KEGG: 0

FORMULA:

PUBCHEM: 8326

CHARGE: 0

CHEBI: 0

KEGG: C06056

FORMULA:

PUBCHEM: NA

CHARGE: nan

CHEBI: NA

KEGG: NA

FORMULA:

PUBCHEM: 4976

CHARGE: -2

CHEBI: 15987

KEGG: C01861

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2037

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2037

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4229 and STM4228 and STM4227 and STM4230 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4231

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4403

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM4403

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM4403

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM4403

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3009

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3010

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3646

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3646

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3646

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3646

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0457 or STM1235 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM1473 or STM2267 or STM0999 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM1067 or STM0227 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1067 or STM0227 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0227 or STM1067 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1067 or STM0227 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1067 or STM0227 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1067 or STM0227 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0227 or STM1067 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1067 or STM0227 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0227 or STM1067 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1067 or STM0227 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1067 or STM0227 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1067 or STM0227 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3674

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4403

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4403 or STM2927 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4403 or STM2927 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM4403

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1195

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2378 or STM1197 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2378 or STM1197 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2378

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2378 or STM1197 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2378

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2378 or STM1197 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2378

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1197 or STM2378 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1197

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2378 or STM1197 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2378 or STM1197 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1679 and STM1745 and STM1744 and STM1743 and STM1742 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1800

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM1746.S and STM1745 and STM1744 and STM1743 and STM1742 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4483

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4482

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM1473 or STM0999 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0207

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2838.S or STM3315 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3010 and STM1196 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3010 and STM1196 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3010 and STM1196 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3010 and STM1196 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3010 and STM1196 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3010 and STM1196 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3010 and STM1196 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3010 and STM1196 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3010 and STM1196 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Methylglyoxal Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1963

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3664

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2792

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1597

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2793

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM1749 or STM2463 )

SUBSYSTEM: Pyruvate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2018

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0232 and STM2366 and STM3379 and STM3380 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0371 or STM4275 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1220

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3918

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM2433 and STM1203 and STM2431 and STM2432 ) or ( STM0685 and STM2431 and STM2432 ) )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4122

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2992

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3795 and STM3796 ) or ( STM3901 and STM3902 )

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3242 or STM2337 or STM1883 )

SUBSYSTEM: Pyruvate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3795 and STM3796 ) or ( STM3901 and STM3902 )

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3929

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1830 and STM1831 and STM1832 and STM2431 and STM2432 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM2267 or STM0320 or STM0999 or STM1473 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3338

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0999 or STM2267 )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3339

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0309

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0309

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0309

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0309

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0309

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0309

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0309

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0309

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1196 and STM1193 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4120

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: ( STM0158 or STM1712 )

SUBSYSTEM: Citric Acid Cycle

FLUX_VALUE

GENE_ASSOCIATION: ( STM0158 or STM1712 )

SUBSYSTEM: Citric Acid Cycle

FLUX_VALUE

GENE_ASSOCIATION: ( STM3468 or STM1303 )

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2577 or STM3583 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4275

SUBSYSTEM: Pyruvate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM2645 or STM1517 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4273

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1463

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM1198

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3469 and STM1824 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3747

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0488

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0488

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0488

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0165

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3939

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0488

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0051

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3113 or STM2409 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2421

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0413

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM1340 and STM1342 and STM0206 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4130 and ( STM1737 and STM3158 and STM3159 ) )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3185

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0483

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM2933

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1232

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1232

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4366

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0683

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0146

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM4358 or STM2450 or STM2991 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1209

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0444

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0146

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM2991 or STM4358 or STM2450 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1800

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1209

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0444

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1209

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3710

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3078

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0444

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3173

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3173

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3173

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3173

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3173

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3173

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3173

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4121

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0207

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4176

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0533

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0534

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0154 and STM0736 and STM0737 )

SUBSYSTEM: Citric Acid Cycle

FLUX_VALUE

GENE_ASSOCIATION: STM2654

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3630 and STM3629 and STM3628 and STM3627 and STM3626 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0380 or STM0130 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1681

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM4247 or STM1802 )

SUBSYSTEM: Alanine and Aspartate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2555 or STM0934 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Alanine and Aspartate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0934 or STM2555 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2827

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM3560 and STM3561 and STM3563 and STM3567 and STM3562 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4398

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0006

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3680

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3680

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0527

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0523

SUBSYSTEM: Nitrogen Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0522

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3165 or STM0255 or STM1288 )

SUBSYSTEM: Methylglyoxal Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4108

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0146

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0146

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1800

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3513

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3513

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3513

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3513

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3337

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3336

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0793

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3970

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4164

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2009

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM1057 or STM0316 or STM4477 or STM2536 )

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2536 or STM4477 or STM0316 or STM1057 )

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0999 or STM1473 or STM2267 or STM0320 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1446

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1724

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1724 and STM1723 )

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0795

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0088

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0088

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0416

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0102

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0194 and STM0192 and STM0193 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3016

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM1522

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4294

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4296 or STM3086 )

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3086

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1477

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4123

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3290.S

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1909

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM2355 and STM2352 and STM2351 and STM2353 ) or ( STM0890 and STM0887 and STM0888 and STM0891 and STM0889 ) )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3066

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3539

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4382

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2431 and STM2432 and STM4385 and STM4384 and STM4383.S )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM1294 or STM0847 or STM3598 )

SUBSYSTEM: Alanine and Aspartate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3106

SUBSYSTEM: Alanine and Aspartate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0680

SUBSYSTEM: Alanine and Aspartate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3877

SUBSYSTEM: Alanine and Aspartate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1000

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM1584

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0180

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM4459 and STM4460 )

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0002 or STM4101 or STM4220 )

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2641

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2641

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2641

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2641

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4326

SUBSYSTEM: Alanine and Aspartate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0998

SUBSYSTEM: Alanine and Aspartate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1901

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM0665 and STM0664 and STM0663 and STM0662 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3614

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4283

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1304

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1511

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: STM2071

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( ( STM3869 and STM3870 and STM3871 ) and ( STM3864 and STM3865 and STM3866 and STM3867 and STM3868 ) ) or ( ( STM3869 and STM3870 and STM3871 ) and ( STM3864 and STM3865 and STM3866 and STM3867 and STM3868 ) and STM3872 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM4398

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3644

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3644

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0794

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1771

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2558

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3314

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1718

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM4130 and ( STM1737 and STM3158 and STM3159 ) )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM1340 and STM1342 and STM0206 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM1340 and STM1342 and STM0206 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4130 and ( STM1737 and STM3158 and STM3159 ) )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0066 and STM0067 )

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3576

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0758 or STM4061 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3190

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4064

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4064

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4064

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4064

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4064

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4064

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4064

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1779

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1427

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1427

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1427

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1427

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3630 and STM3629 and STM3628 and STM3627 and STM3626 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM2162 and STM2163 and STM2164 and STM2165 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2384

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4233

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( ( ( STM0621 and STM0622 and STM0623 ) or ( STM0059 and STM0060 and STM0061 ) ) and STM0620 )

SUBSYSTEM: Citric Acid Cycle

FLUX_VALUE

GENE_ASSOCIATION: STM0618

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1739 or STM0812 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1739 or STM0812 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1739 or STM0812 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1739 or STM0812 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1739 or STM0812 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1739 or STM0812 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1739 or STM0812 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0203 or STM1490 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3576

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4061 or STM0758 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3190 or STM3952 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0194 and STM0192 and STM0193 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1204 and ( STM1737 and STM3158 and STM3159 ) )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2451

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4004

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0072

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM0071

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM0070

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM0072

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM0070

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM0071

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2809 and STM2810 and STM2811 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4290

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM2809 and STM2810 and STM2811 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4290

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0074

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0074

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0730

SUBSYSTEM: Citric Acid Cycle

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0071

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2809 and STM2810 and STM2811 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4290

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2953

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0168

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0498

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0353

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3576

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2267 or STM0320 or STM0999 or STM1473 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3190

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3525

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: STM1686

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3161

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM2430 or STM2440 )

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2984

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3161 or STM1557 )

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0537

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM0956 and STM0957 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM2645 or STM1517 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0440 and STM0441 and STM0442 and STM0443 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM2183

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0661 or STM0051 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2122

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM3113 or STM2409 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2421

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0980

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0980

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM1803

SUBSYSTEM: Alanine and Aspartate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1463

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0488

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2409 or STM3113 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0413

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4236

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4236

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4236

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4236

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4236

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4236

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4236

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4398

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3013

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3947

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1954

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0222

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0222

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0222

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0222

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0222

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0222

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0222

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM3195

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0797 or STM1489 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2121

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM2183

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM3113 or STM2409 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0413

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2391

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3829

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3612

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2670 or STM0760 or STM1347 )

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3740

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3113

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3904

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3904

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0598

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0596

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0064

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2489

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0087

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2365

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4090

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3206

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1058

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1058

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1163

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0416

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3295

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3486

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1358

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3113

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3165 or STM0255 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3646

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3646

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0423

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0049

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2276

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1900 or STM0137 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3668

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0140

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4567

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3997 and STM1807 )

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: ( STM3997 and STM1807 )

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: STM3043

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM4323 and STM3915 ) or ( STM4323 and STM2649 ) )

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: STM0607

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: STM1511

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4398

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1200

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1750

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4568 or STM4570 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2409 or STM3113 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0413

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3731

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0220

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0422

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3660

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3692

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3070

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1700

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3713

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM3928 and STM3919 )

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM3928 and STM3919 )

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM3928 and STM3919 )

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3926

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2388 or STM3983 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1884

SUBSYSTEM: Pentose Phosphate Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM1885

SUBSYSTEM: Pentose Phosphate Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM1155

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1889

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2401

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1889

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2952

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM0584

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2457 and STM2458 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2460

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: STM4109

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0840 or STM0842 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3787

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0403

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0403

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0403

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0403

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0403

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0403

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0403

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0464

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0464

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0464

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0464

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0464

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0464

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0464

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0464

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0464

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0464

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1818 or STM1350 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1350 or STM1818 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1818 or STM1350 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1350 or STM1818 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1350 or STM1818 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1818 or STM1350 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1818 or STM1350 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1818 or STM1350 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1818 or STM1350 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1818 or STM1350 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2947 and STM2948 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2141 or STM3068 )

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM4085 or STM4415 )

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM2976

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2977

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2974 or STM2916 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0489

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM4035 and STM4036 and STM4037 ) or ( STM1570 and STM1569 and STM1568 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1570 and STM1569 and STM1568 ) or ( STM4035 and STM4036 and STM4037 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM2408

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3190

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0594 and STM0590 and STM0592 and STM0591 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2199 and ( STM1737 and STM3158 and STM3159 ) )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0191 and ( STM1737 and STM3158 and STM3159 ) )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0194 and STM0192 and STM0193 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0191 and ( STM1737 and STM3158 and STM3159 ) )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0594 and STM0590 and STM0592 and STM0591 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0585 and ( STM1737 and STM3158 and STM3159 ) )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0593

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0194 and STM0192 and STM0193 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0191 and ( STM1737 and STM3158 and STM3159 ) )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0168

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4285 and ( STM2847 and STM2848 and STM2849 and STM2850 and STM2851 and STM2852 ) )

SUBSYSTEM: Pyruvate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM0694 and STM4084 ) or ( STM3045 and STM4084 ) )

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM2947 and STM2948 ) or STM3979 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3407

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: STM0045

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM2947 and STM2948 ) or STM3979 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0974

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0974

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4340 and STM4341 and STM4342 and STM4343 )

SUBSYSTEM: Citric Acid Cycle

FLUX_VALUE

GENE_ASSOCIATION: ( STM4340 and STM4341 and STM4342 and STM4343 )

SUBSYSTEM: Citric Acid Cycle

FLUX_VALUE

GENE_ASSOCIATION: STM2205

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM1830 and STM1831 and STM1832 and STM2431 and STM2432 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM2204 and STM2206 and STM2431 and STM2432 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1756

SUBSYSTEM: Folate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM1468 or STM4300 or STM1469 or ( STM0761 and STM0762 ) )

SUBSYSTEM: Citric Acid Cycle

FLUX_VALUE

GENE_ASSOCIATION: STM3614

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3862

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1117

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3923 or STM2095 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0202

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4249

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4235

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4235

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4235

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4235

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4235

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4235

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4235

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3556 and STM3557 and STM3554 and STM3555 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3700

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM2284 and STM2285 and STM2286 ) or STM3526 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2284 and STM2285 and STM2286 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2284 and STM2285 and STM2286 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM3556 and STM3557 and STM3554 and STM3555 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3556 and STM3557 and STM3554 and STM3555 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3556 and STM3557 and STM3554 and STM3555 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3556 and STM3557 and STM3554 and STM3555 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0840 or STM0842 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0322

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0684

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1886

SUBSYSTEM: Pentose Phosphate Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0840 or STM0842 )

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM3787

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1117

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM2267 or STM1473 or STM0999 or STM0320 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3827

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2962

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0774 or STM2101 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0773

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4298

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3719

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3134

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM1752 and STM2098 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2189 and STM2190 and STM2188 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3091

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3787

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM1830 and STM1831 and STM1832 and STM2431 and STM2432 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1290

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM2500

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1883

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2108

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2956 or STM3742 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2107

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2477

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM1473 or STM2267 or STM0999 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3861

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2555

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3740

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM3538

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM0472

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0169 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM3512 or STM4482 or STM3541 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3534 or STM3514 )

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3514 or STM3534 )

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM3249

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2960 or STM2961 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2962

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3535

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM3722

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3718

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3717

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3134 or STM0161 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM2189 and STM2190 and STM2188 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM2433 and STM1203 and STM2431 and STM2432 ) or ( STM1830 and STM1831 and STM1832 and STM2431 and STM2432 ) or ( STM2433 and STM2431 and STM2432 ) )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3091

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4231

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3537

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM3536

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM4007

SUBSYSTEM: Glutamate metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0686

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM0830 and STM0829 and STM0828 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0999 or STM1473 or STM2267 or STM0320 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0321

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2818

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1299

SUBSYSTEM: Glutamate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1525

SUBSYSTEM: Glutamate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3106

SUBSYSTEM: Glutamate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2362

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4131

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3330 and STM3331 )

SUBSYSTEM: Glutamate metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1777

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2415

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0665 and STM0664 and STM0663 and STM0662 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4283

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3746

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0517

SUBSYSTEM: Glyoxylate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4087

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3709

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2162 and STM2163 and STM2164 and STM2165 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3556 and STM3557 and STM3554 and STM3555 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2283

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2962

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM4108 or STM3529 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2959 or STM2492 or STM3247 or STM0525 )

SUBSYSTEM: Glyoxylate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3247

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3054 and STM3053 and STM3055 and STM0154 )

SUBSYSTEM: Folate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3646 or STM1135 )

SUBSYSTEM: Glyoxylate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3646 or STM1135 )

SUBSYSTEM: Glyoxylate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3692

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4273

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1620

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1620

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1620

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( s0001 or STM4087 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4086

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0261

SUBSYSTEM: Methylglyoxal Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Methylglyoxal Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3655 and STM3656 )

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: STM4398

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2109

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3200

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3200

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0248

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0141

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2510

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2081

SUBSYSTEM: Pentose Phosphate Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4485 or STM3542 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2108

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3553

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2282

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3553

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2282

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3553

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2282

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3553

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2282

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3553

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2282

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0423

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3702 or STM0872 or STM1433 or STM1165 )

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: STM0491

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM3113

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3139

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3139

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3597

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3551

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0956 and STM0957 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0848 and STM0849 and STM0850 and STM0851 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3095

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2193

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1711

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3913

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2956

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0317 or STM0170 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM3747

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0413

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM1473 or STM0999 or STM2267 or STM0320 or s0001 or STM4016 )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2388 or STM3983 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3983 or STM2388 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4234

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0171

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: STM2391

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2391

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3983

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0439

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3721

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3716

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3712

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3711

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3723

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3714

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2147

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2403

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0393

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3576

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2072

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2074

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2522

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM2354 and STM2352 and STM2351 and STM2353 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0150

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3938

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2146 or STM2435 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0832 or STM3960 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0183

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0518

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1135 or STM3646 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3646 or STM1135 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4101 or STM0002 )

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0003

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4182

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2073

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0317 or STM0170 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0999 or STM1473 or STM2267 or STM0320 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1238

SUBSYSTEM: Citric Acid Cycle

FLUX_VALUE

GENE_ASSOCIATION: STM2310

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0595 or STM2310 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0597

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4184

SUBSYSTEM: Anaplerotic Reactions

FLUX_VALUE

GENE_ASSOCIATION: STM4484

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4484

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4482

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM2075 and STM2077 )

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2074

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1725

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3903

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0046

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM3560 and STM3561 and STM3563 and STM3567 and STM3562 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0399

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4176

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2511

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3390 and STM3391 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3279

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0051

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0491

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3113

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2421

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0413

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3039

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0049

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0112

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM0110 and STM0111 ) or ( STM0329 and STM0330 ) )

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0110 and STM0111 ) or ( STM0329 and STM0330 )

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0113

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3909

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3909

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2378 or STM1197 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1193

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2389 or STM3982 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3982 or STM2389 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2389 or STM3982 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2389 or STM3982 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2389 or STM3982 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3982 or STM2389 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3982 or STM2389 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3982 or STM2389 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0988

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3316

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1772

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM4386 or STM3675 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0706 and STM0705 and STM0704 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3880 or ( STM1695 and STM3409 and STM3986 ) )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3457 or STM0086 or STM1771 or STM0866 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2301

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1680

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM4108

SUBSYSTEM: Methylglyoxal Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0316

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Methylglyoxal Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2973

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM2167 or STM1647 )

SUBSYSTEM: Pyruvate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2167

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM3903 or STM4248 )

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0648

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM3560 and STM3561 and STM3563 and STM3567 and STM3562 ) or ( STM3560 and STM3561 and STM3563 and STM3564 and STM3562 ) )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0399

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM1435 or STM0235 )

SUBSYSTEM: Methylglyoxal Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0229

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0506

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3961

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1511

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0234 or STM2559 )

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3040

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM2355 and STM2352 and STM2351 and STM2353 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2200

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3066

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4046

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4050

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3694

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM3694

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM3692

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3686

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2378

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3614

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM1473 or STM0999 or STM2267 or STM0320 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4183

SUBSYSTEM: Anaplerotic Reactions

FLUX_VALUE

GENE_ASSOCIATION: STM0472

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4229 and STM4228 and STM4227 and STM4230 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4231

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4229 and STM4228 and STM4227 and STM4230 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4231

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4229 and STM4228 and STM4227 and STM4230 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4231

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4229 and STM4228 and STM4227 and STM4230 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4231

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4229 and STM4228 and STM4227 and STM4230 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM2433 and STM2431 and STM2432 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4231

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3614

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1467

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3787

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM1830 and STM1831 and STM1832 and STM2431 and STM2432 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0370

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0368

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0369

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1196 and STM1194 )

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2533

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0122 or STM0640 or STM0190 or STM3493 )

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0190 or STM3493 )

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0122 or STM0640 or STM3493 or STM0190 )

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0637 or STM3300 or STM0863 or STM2062 )

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0637 or STM3300 or STM0863 or STM2062 )

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0637 or STM3300 or STM0863 or STM2062 )

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0637 or STM3300 or STM0863 or STM2062 )

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0637 or STM3300 or STM0863 or STM2062 )

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3300 or STM2383 or STM2168 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM3300 or STM2383 or STM2168 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM3300 or STM2383 or STM2168 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM3300 or STM2383 or STM2168 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3359

SUBSYSTEM: Citric Acid Cycle

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1566

SUBSYSTEM: Anaplerotic Reactions

FLUX_VALUE

GENE_ASSOCIATION: STM2472

SUBSYSTEM: Anaplerotic Reactions

FLUX_VALUE

GENE_ASSOCIATION: STM2523

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2929

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4299

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM1522

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2930

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3090

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0246 and STM0247 and STM0245 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM1473 or STM2267 or STM0320 or STM0999 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4188.S or STM3965 )

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM4408 and STM2649 ) or ( STM4408 and STM3915 ) )

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1291 and STM2649 ) or ( STM1291 and STM3915 ) )

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2155

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM0246 and STM0247 and STM0245 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3952

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1076

SUBSYSTEM: Methylglyoxal Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2546

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0158

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0401

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0401

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0401

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0401

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0401

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4582 or STM2988 or STM2831 or STM1799 or STM3112 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM4582 or STM2988 or STM2831 or STM1799 or STM3112 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM4582 or STM2988 or STM2831 or STM1799 or STM3112 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM4582 or STM2988 or STM2831 or STM1799 or STM3112 )

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3514

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3514

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3514

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM4061 or STM0758 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3190

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0840 or STM0842 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3685 and STM2431 and STM2432 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2408

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3724

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3724

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3715

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM2441 and STM2444 and STM2443 and STM2442 ) or ( STM0781 and STM0782 and STM0783 ) or ( STM2441 and STM2443 and STM2442 and STM4063 ) )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0182

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2531 or STM0190 or STM3493 )

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0190 or STM2531 or STM3493 )

SUBSYSTEM: Murein Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0207

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0542

SUBSYSTEM: Folate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0542

SUBSYSTEM: Folate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4105

SUBSYSTEM: Folate Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1160

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4120

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM2427 or STM4166 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1211

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2316.S and STM2317 and STM2318 and STM2319 and STM2320 and STM2321 and STM2322 and STM2323.S and STM2324 and STM2325 and STM2326 and STM2327 and STM2328 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2316.S and STM2317 and STM2318 and STM2319 and STM2320 and STM2321 and STM2322 and STM2323.S and STM2324 and STM2325 and STM2326 and STM2327 and STM2328 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2316.S and STM2317 and STM2318 and STM2319 and STM2320 and STM2321 and STM2322 and STM2323.S and STM2324 and STM2325 and STM2326 and STM2327 and STM2328 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM1211

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM1211

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM2683

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3179

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM3179

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM3179

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1310

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM4126 or ( STM1480 and STM1479 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM1004

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1806

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0039

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0488 or STM2526 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0488 or STM2526 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0488 or STM2526 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2526 or STM0488 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2526 or STM0488 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0488 or STM2526 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2526 or STM0488 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2526 or STM0488 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( s0001 or STM0463 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2840 and STM2841 )

SUBSYSTEM: Nitrogen Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3576

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4061 or STM0758 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0645 or STM4580.S )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0757

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1293

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0645

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0145

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1765 or STM3476 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM2256 and STM2259 and STM2255 and STM2258 and STM2257 )

SUBSYSTEM: Nitrogen Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1580 and STM1579 and STM1578 and STM1577 ) or ( STM1764 and STM1763 and STM1762 and STM1761 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2255 and STM2256 and STM2259 and STM2260 )

SUBSYSTEM: Nitrogen Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1580 and STM1579 and STM1578 and STM1577 ) or ( STM1764 and STM1763 and STM1762 and STM1761 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM1765 or STM1576 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM2267 or STM1473 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2556

SUBSYSTEM: Nitrogen Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2556

SUBSYSTEM: Nitrogen Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2307

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2332 or STM2927 or STM4559.S )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM2927

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0494 or STM4249 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM2927

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4249 or STM0494 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2332 or STM2927 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0494 or STM4249 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0494 or STM4249 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4559.S or STM2927 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4249 or STM0494 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2927 or STM2332 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0494 or STM4249 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM2927

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4249 or STM0494 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2332 or STM2927 or STM4559.S )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0494 or STM4249 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2332 or STM2927 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4249 or STM0494 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM2927

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0494 or STM4249 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2332 or STM2927 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0494 or STM4249 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM2927

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4249 or STM0494 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0659 or STM4349 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4584 or STM4349 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM4584

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM4584

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM4349

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM4349

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2954 or STM0137 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM3103

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM3103

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0137 or STM2954 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2954 or STM2295 or STM1301 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2954 or STM1301 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2954 or STM1900 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM2954

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2295 or STM2954 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM2954

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM3103

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0208

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0208

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM3474 and STM3475 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM4277 and STM4278.S and STM4279 and STM4280 )

SUBSYSTEM: Nitrogen Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4277 and STM4278.S and STM4279 and STM4280 )

SUBSYSTEM: Nitrogen Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1884

SUBSYSTEM: Pyruvate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( ( STM0970 and STM0973 ) and STM2646 ) or ( STM0970 and STM0973 ) or ( STM0970 and STM3241 ) )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2391

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2391

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3305

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3983

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0977

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2276

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3970

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0112

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0671

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1707

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3057

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3978 or STM2356 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3972

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3114 or STM0701 )

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2355 and STM2352 and STM2351 and STM2353 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3614

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3614

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM1473 or STM0999 or STM0320 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM1473 or STM0999 or STM0320 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3733

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: STM2309

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0386

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0181

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1710

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0125

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM2946 and STM2649 ) or ( STM2946 and STM3915 ) )

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM2946 and STM0872 ) or ( STM2946 and STM1165 ) or ( STM2946 and STM1433 ) or ( STM2946 and STM3702 ) )

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0152 and STM0153 and STM0154 )

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1448

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM0091 or STM0163 ) and STM2578 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2370

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3635

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3635

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM4062 or STM1326 )

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM4062 or STM3257 or STM1326 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM0970 and STM0973 ) or ( STM0970 and STM3241 ) or ( STM4114 and STM4115 ) or ( STM0843 and STM0844 ))

SUBSYSTEM: Pyruvate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3294

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3062

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4221

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM3069

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM0785

SUBSYSTEM: Pentose Phosphate Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM3482

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3704 or STM4585 or STM0772 )

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0698 or STM2820 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0984

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0420 or STM1710 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1710 or STM0420 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0420 or STM1710 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1710 or STM0420 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0420 or STM1710 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0420 or STM1710 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0420 or STM1710 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0420 or STM1710 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0420 or STM1710 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1710 or STM0420 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0420 or STM1710 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1710 or STM0420 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1710 or STM0420 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0420 or STM1710 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1945

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1945

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1945

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1945

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1945

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1945

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1945

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2254 and STM2253 and STM2252 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM3903 or STM0998 or STM4248 )

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1338 and STM1337 )

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM0568 or STM0150 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3589

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3855 and STM3854 and STM3856 and STM3857 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3957

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2146

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4139

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3382

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0935

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM4414 or STM2502 or STM2927 )

SUBSYSTEM: Anaplerotic Reactions

FLUX_VALUE

GENE_ASSOCIATION: ( STM2927 or STM2502 )

SUBSYSTEM: Anaplerotic Reactions

FLUX_VALUE

GENE_ASSOCIATION: ( STM3242 or STM2057 or STM2337 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM1125

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM1473 or STM0999 or STM2267 or STM0320 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0372

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4119

SUBSYSTEM: Anaplerotic Reactions

FLUX_VALUE

GENE_ASSOCIATION: STM3730

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3500

SUBSYSTEM: Anaplerotic Reactions

FLUX_VALUE

GENE_ASSOCIATION: STM3742

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2501

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM2501

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM4569

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4569

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3730

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2669

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2667

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3987

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3987

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2554

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1349

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4175

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2499.S

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1725

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2078

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2487

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2078

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2565

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2076

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3630 and STM3629 and STM3628 and STM3627 and STM3626 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0242

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM2809 and STM2810 and STM2811 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM1125

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1780

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2267 or STM1473 or STM0320 or STM0999 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0978

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4348

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4348

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4348

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4348

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4348

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4348

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4348

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0977

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4578

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4249

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2652

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2652

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2652

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2652

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2652

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2652

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2652

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2338 ) or ( STM2047 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2338 or STM2466 )

SUBSYSTEM: Pyruvate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4249

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3725

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0700

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3218

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM0877 and STM0878 and STM0879 and STM0880 ) or ( STM1226 and STM1225 and STM1223 and STM1222 ) )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0700

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4570

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM4570

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4570 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4570 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4570 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM4570 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM1448

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2435

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2435 or STM1450 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2435

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1888 or STM1378 )

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM3968

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3180

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM3180

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM0756

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0840 or STM0842 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4249

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0045

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1426

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0417

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3885 or STM3793 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0103

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0101 or STM4388 or STM3677 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3720

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2817

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3882 and STM3884 and STM3883 and STM3881 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4046

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4047

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4050

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4045

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2277 and STM2278 ) or ( STM2807 and STM2808 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1433 and ( STM2807 and STM2808 ) ) or ( STM0872 and ( STM2807 and STM2808 ) ) or ( STM1165 and ( STM2807 and STM2808 ) ) or ( STM3702 and ( STM2807 and STM2808 ) ) )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2277 and STM2278 ) or ( STM2807 and STM2808 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM3702 and ( STM2807 and STM2808 ) ) or ( STM1165 and ( STM2807 and STM2808 ) ) or ( STM1433 and ( STM2807 and STM2808 ) ) or ( STM0872 and ( STM2807 and STM2808 ) ) )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2277 and STM2278 ) or ( STM2807 and STM2808 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1433 and ( STM2807 and STM2808 ) ) or ( STM1165 and ( STM2807 and STM2808 ) ) or ( STM0872 and ( STM2807 and STM2808 ) ) or ( STM3702 and ( STM2807 and STM2808 ) ) )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM2277 and STM2278 ) or ( STM2807 and STM2808 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1165 and ( STM2807 and STM2808 ) ) or ( STM3702 and ( STM2807 and STM2808 ) ) or ( STM1433 and ( STM2807 and STM2808 ) ) or ( STM0872 and ( STM2807 and STM2808 ) ) )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM3045 and STM4084 and STM4452 and STM4451 ) or ( STM3045 and STM4452 ) or ( STM0694 and STM4452 ) or ( STM0694 and STM4084 and STM4452 and STM4451 ) )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM0694 and STM4452 ) or ( STM3045 and STM4452 ) or ( STM3045 and STM4084 and STM4452 and STM4451 ) or ( STM0694 and STM4084 and STM4452 and STM4451 ) )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM3045 and STM4452 ) or ( STM0694 and STM4084 and STM4452 and STM4451 ) or ( STM0694 and STM4452 ) or ( STM3045 and STM4084 and STM4452 and STM4451 ) )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM0694 and STM4084 and STM4452 and STM4451 ) or ( STM3045 and STM4452 ) or ( STM0694 and STM4452 ) or ( STM3045 and STM4084 and STM4452 and STM4451 ) )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM3483 or STM4080 or STM1617 )

SUBSYSTEM: Pentose Phosphate Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM3063 or STM1933 )

SUBSYSTEM: Pentose Phosphate Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0310

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1306

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2934 and STM2935 )

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2835

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2431 and STM2432 and STM2832 and STM2834 and STM2833 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2483

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3468

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3683

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: STM1297

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: STM0588

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3699

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3802

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0963

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: STM0963

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM2970 or STM3243 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3225

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2194

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM1307

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1305

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2309

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3477

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3477

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1359 or STM3401 or STM3859 )

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3487 or STM0388 )

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1473 or STM2267 or STM0320 or STM0999 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1303

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1502

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1502

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1226 and STM1225 and STM1223 and STM1222 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0166

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4055 or STM1431 )

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: ( STM1440 or STM1044 )

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2791

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2305

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2306

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3614

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0732 and STM0733 and STM0734 and STM0735 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM0738 and STM0739 )

SUBSYSTEM: Citric Acid Cycle

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM2947 and STM2948 )

SUBSYSTEM: Cysteine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM2441 and STM2443 and STM2442 and STM4063 ) or ( STM0781 and STM0782 and STM0783 ) or ( STM2441 and STM2444 and STM2443 and STM2442 ) )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1067

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2473 or STM0007 )

SUBSYSTEM: Pentose Phosphate Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3983

SUBSYSTEM: Membrane Lipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1235

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3924

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3925

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2094

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2096

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2097 or STM3922 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0985

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM3043 and STM4323 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4323 and STM0607 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM1480 and STM1479 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM0213

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( ( STM0609 and STM0608 ) or ( STM0609 and STM0402) ) and ( STM2649 or STM3915 ) )

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: ( STM3113 or STM2409 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2421

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0108 and STM0107 and STM0106 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM2555 or STM0934 )

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2555 or STM0934 )

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3708

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3244 or STM1826 or STM2971 or STM3905 )

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0004

SUBSYSTEM: Threonine and Lysine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1333

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM3560 and STM3561 and STM3563 and STM3567 and STM3562 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0832 or STM3959 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3243

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3225

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM1473 or STM2267 or STM0320 or STM0999 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3076 or STM2474 or STM2341 or STM2340 )

SUBSYSTEM: Pentose Phosphate Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM3076 or STM2474 or STM2341 or STM2340 )

SUBSYSTEM: Pentose Phosphate Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM3823 and STM3822 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM3823 and STM3822 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1750

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM4568

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM3001

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM1208

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0419

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4163

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4081

SUBSYSTEM: GlycolysisGluconeogenesis

FLUX_VALUE

GENE_ASSOCIATION: STM0619

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM3915 and ( STM0958 and STM0958 ) ) or STM2649 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM4453

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1929

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1928

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3603

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1796

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2433 and STM2431 and STM2432 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM1727 and STM1726 )

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1727 and STM1726 )

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1727 and STM1726 )

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3481

SUBSYSTEM: tRNA Charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM0150 or STM3279 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0519 or STM3248 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM2441 and STM2444 and STM2443 and STM2442 ) or ( STM2441 and STM2443 and STM2442 and STM4063 ) )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2391

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2391

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0781 and STM0782 and STM0783 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2267 or STM1473 or STM0320 or STM0999 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4249

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM4248 or STM0998 )

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1449

SUBSYSTEM: tRNA charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM1937 or STM0150 or STM0568 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0226

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0123

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0494

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0494

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3921

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3920

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1196 and STM0228 )

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3307

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3862

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0128

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0126

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0129

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4137

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1710 or STM0865 or STM3205 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0221

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM0865 or STM1710 or STM3205 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0776

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0494

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2080

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2299

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0494

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM2297

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0494

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0775

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0515

SUBSYSTEM: Nitrogen Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0124

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0134

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2299

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM4416

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1800

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM4416

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM0980 or STM0218 )

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0999 or STM1473 or STM2267 or STM0320 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4248

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2298

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM3936 or STM3477 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM3937

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2498

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM2497

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0528

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM4087

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: STM0218

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM0661 or STM0051 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2122

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: ( STM3113 or STM2409 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2421

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0413

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0535

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3903

SUBSYSTEM: Valine Leucine and Isoleucine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4475

SUBSYSTEM: tRNA charging

FLUX_VALUE

GENE_ASSOCIATION: ( STM3560 and STM3561 and STM3563 and STM3567 and STM3562 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0399

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3665

SUBSYSTEM: Alanine and Aspartate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4387

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3747

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0317

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM0051

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM2421

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3661

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3661

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3660 or STM0103 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0103 or STM3674 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3671 and STM3672 and STM3673 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM0042

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3576

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0758 or STM4061 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3190

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1891 and STM1893 and STM1892.S )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Folate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2543 and STM4162 and ( STM4159 and STM4160 ) and STM0425 and STM4161 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0426 and STM0427 and STM0429 and STM0428 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0431

SUBSYSTEM: aminophosphonate metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0432

SUBSYSTEM: aminophosphonate metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM1107

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM1098

SUBSYSTEM: 4 hydroxyphenylacetate catabolism

FLUX_VALUE

GENE_ASSOCIATION: (STM1098 or STM1099)

SUBSYSTEM: 4 hydroxyphenylacetate catabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1099

SUBSYSTEM: 4 hydroxyphenylacetate catabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1103

SUBSYSTEM: 4 hydroxyphenylacetate catabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1102

SUBSYSTEM: 4 hydroxyphenylacetate catabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1104

SUBSYSTEM: 4 hydroxyphenylacetate catabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1101

SUBSYSTEM: 4 hydroxyphenylacetate catabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1105

SUBSYSTEM: 4 hydroxyphenylacetate catabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1106

SUBSYSTEM: 4 hydroxyphenylacetate catabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2037

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM2040 and STM2041 and STM2042 and STM2043 and STM2044)

SUBSYSTEM: 1 2 Propanediol Catabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2040 and STM2041 and STM2042 and STM2043 and STM2044)

SUBSYSTEM: 1 2 Propanediol Catabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2052

SUBSYSTEM: 1 2 Propanediol Catabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2051

SUBSYSTEM: 1 2 Propanediol Catabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2025 or STM3477 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2023 and STM2022 and STM2021 and STM2020 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2023 and STM2022 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2024

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2027

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2029

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2028

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2032

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2026

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2031

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2030

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2033

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2035

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2050 or STM1718 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2467

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2019

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2058

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0644

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2034

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2017

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0643

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2018 or STM1208 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM1718 or STM2050 or STM2467 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM3713

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2088

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2082

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2085

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2086

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2087

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM2105.S or STM2084 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2104 or STM2083 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM1332

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM2092

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2091

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM2090 and STM2093 )

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM2089

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0594 and STM0590 and STM0592 and STM0591 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM2774

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2774

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3333

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3334

SUBSYSTEM: Nucleotide Salvage Pathway

FLUX_VALUE

GENE_ASSOCIATION: STM1627

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1627 or STM1567 or STM1749 or STM2461 )

SUBSYSTEM: Pyruvate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1627

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( STM3909 or STM0434 or STM2573 )

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM0628

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: STM0628

SUBSYSTEM: Lipopolysaccharide Biosynthesis Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( STM1792 and STM1793 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1792 and STM1793 ) or ( STM0740 and STM0741 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: STM1582

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3261

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3257 and STM3253 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3137

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3137

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3135

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM3136

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM0054 and STM0055 and STM0056 ) or ( STM3351 and STM3352 and STM3353 ))

SUBSYSTEM: Pyruvate Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0057

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0161

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0689

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM2786 and STM2787 and STM2788 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM2786 and STM2787 and STM2788 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM2786 and STM2787 and STM2788 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4456 or ( STM1255 and STM1256 and STM1257 and STM1258 and STM1259 ) )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3258 and STM3259 and STM3260 and STM2431 and STM2432 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3255 and STM3256 and STM2432 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM1326 or STM3254)

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3506 or ( STM2861 and STM2862 and STM2863 and STM2864 ))

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM2861 and STM2862 and STM2863 and STM2864 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1383 and STM1385 and STM1384 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2065 and STM2064 and STM2063 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM1383 and STM1385 and STM1384 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2065 and STM2064 and STM2063 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM1383 and STM1385 and STM1384 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2065 and STM2064 and STM2063 )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM2548 and STM2549 and STM2550 )

SUBSYSTEM: Glycerophospholipid Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4456 or STM3763 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM4167

SUBSYSTEM: Cofactor and Prosthetic Group Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: STM4066

SUBSYSTEM: Purine and Pyrimidine Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM4467

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4469 or STM4465 )

SUBSYSTEM: Arginine and Proline Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0532 or STM4466 )

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: STM2399

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2399

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM2399

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM3240 or STM1826 or STM2971 or STM2196 )

SUBSYSTEM: Glycine and Serine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM3355 and STM3354 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM3952 or STM2783 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM1318 or STM4106 or STM1731 )

SUBSYSTEM: Unassigned

FLUX_VALUE

GENE_ASSOCIATION: ( STM2667 or STM2669 or STM1269 )

SUBSYSTEM: Tyrosine Tryptophan and Phenylalanine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM1002

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0719

SUBSYSTEM: Cell Envelope Biosynthesis

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1786 and STM1787 and STM1788 ) or ( STM3147 and STM3150 ) or ( STM2847 and STM2848 and STM2849 and STM2850 and STM2851 and STM2852 ) or ( STM1538 and STM1539 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1786 and STM1787 and STM1788 ) or ( STM3147 and STM3150 ) or ( STM1538 and STM1539 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1786 and STM1787 and STM1788 ) or ( STM3147 and STM3150 ) or ( STM1538 and STM1539 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: STM3356

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM3250 or STM3697 )

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4100 or STM3624A )

SUBSYSTEM: Methionine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM4325 or STM4301 or STM3599 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4301 or STM0627 or STM4325 or STM3599 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4301 or STM4325 or STM3599 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4325 or STM4301 or STM0627 or STM3599 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM4301 or STM4325 or STM3599 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM1599

SUBSYSTEM: Murein Recycling

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM1499 and STM1498 and STM1497 and STM1496 ) or ( STM0964 and STM0965 and STM0966 ) or ( STM4305.S and STM4306 and STM4307 ) or ( STM2528 and STM2530 and STM2529 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM0964 and STM0965 and STM0966 ) or ( STM4305.S and STM4306 and STM4307 ) or ( STM2528 and STM2530 and STM2529 ) )

SUBSYSTEM: Oxidative Phosphorylation

FLUX_VALUE

GENE_ASSOCIATION: ( STM0866 or STM1771 or STM1556 )

SUBSYSTEM: Inorganic Ion Transport and Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0787

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION: STM0788

SUBSYSTEM: Histidine Metabolism

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: ( STM0194 and STM0192 and STM0193 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0194 and STM0192 and STM0193 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0194 and STM0192 and STM0193 )

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0364 and ( STM1737 and STM3158 and STM3159 ) )

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0364

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM0364

SUBSYSTEM: Transport Outer Membrane

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM: Exchange

FLUX_VALUE

GENE_ASSOCIATION: STM3792

SUBSYSTEM: Transport Inner Membrane

FLUX_VALUE

GENE_ASSOCIATION: STM3793

SUBSYSTEM: Alternate Carbon Metabolism

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM: Transport Outer Membrane Porin

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2440

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM1341

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM1101

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM4433 or STM4425)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM4421

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM1316

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM4420

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM1106 and STM2289)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM4424.S

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2949

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2949

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM4580.S

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2232

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2087

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2086

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2085

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2082

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM0690 and STM0691)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM4290

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM1314 and STM1312 and STM1313 and STM2431 and STM2432)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM0757

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3926

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM0689

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM1383 and STM1384 and STM1385)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM1383 and STM1384 and STM1385)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM0399

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2298

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2662

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: ((STM0694 and STM1651) or (STM3045 and STM1651))

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM2016 or STM1221)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3713

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM1332 and STM2079)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM1332 and STM2079)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM1332 and STM0589)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM1332 and STM0589)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3926

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3243

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM0003

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3927

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2776

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2776

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2776

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM2199 or STM0585 or STM2777) and (STM1737 and STM3159 and STM3158)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775 or STM0586

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775 or STM0586

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775 or STM0586

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: s0001

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2777

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM0594 and STM0590 and STM0592 and STM0591)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775 or STM0586

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775 or STM0586

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775 or STM0586

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3186

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2773

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2773

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: ( STM0320 or STM0999 or STM1473 or STM2267 )

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: (STM0837 or STM1215 or STM1375)

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM0047

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3002

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2016

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM1105

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3828

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM0586

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM0586

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM0586

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2775

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: ( ( STM0585 or STM2199 or STM2777 ) and ( STM1737 and STM3158 and STM3159 ) )

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM0791

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3051

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM1160

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: ( STM0194 and STM0192 and STM0193 )

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM3979

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: ( STM0666 and STM1377 )

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: ( STM0666 and STM1377 )

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2391

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2392

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2392

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2393

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION: STM2393

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE

GENE_ASSOCIATION:

SUBSYSTEM:

FLUX_VALUE
cobrapy-0.4.0b6/cobra/test/data/textbook.xml.gz000066400000000000000000000407721263606473700214100ustar00rootroot00000000000000qVtextbook.xml}ks8;3qeAv k۶tmޮ%Ҕ,.ϯ_z$eZJX")L pd"?׏^`8_?ւ~+lwOg/?ۢ[Z|ǃϏOQzA$?ȇZ/! Ͽ|T E}XaZ0POIw썂KszϣaZ3?ǟj{_Ak#%߯_>ZLuX8-?:-?/sZϽɏLMR|ϳSno?uht\R=0x|춺ϜŨ泗7ChF?G;d!i0T>h6B+|6c3}*>9_?IHqtroÓm?xoGś}/3Pgy? ^>z+|7nO_bPG¢2Gaoe= ~VMz͡ٷ MGג k_N"HNTɬB9{/z+:ٯ;^cxOcFGW|2Mnɰ,X}dݧ}T88J [/9h =tN.>} G>Her):}<.N?!L$=f/1 D;<Āq4G#)989;>'G0 rZv49|Y(矏 ipye fмE5%шdUzt_xzЂt t $x  X|Ap5T1">OD/(V4zMTS``b3lBP4MP|nM0d|l5.Aи>\6EJ}_*x? G2 d"lKaə rDlc 3$ bp>,I3υ V!PJ1xj-9HqI$Q7#2Z9Jx pq% Px Д ީ$|A pEρO(0t(J C'J>3 @voUa4zޫnUW*]E;zR{gwe3po@C+Ik)sx7=ñHƸ;brw.>H抙|܊7m7_7qn%n[bq>>9Hb#!b^V g ` ` Ao _({(̓S}D$)B>;{wHwJy`O3@Dl{8y::D r;趟HfeL01㛤&1*>OD g*)I1&P *lBVhY[BPg:+Y uVBPg:+t +kkǡvyikuǢeuT"k_BYCC'Mcސ.CX@ԛA i!CLP ur%3P$6P0Cye~x %p 1PCq 1P 1VLP^zIx'6+KeײeZTSSq |NPxIKLY"t0!<Υ 2?#F 9ˣlDl$Rrj}.WL =N3Zֱ` 'K.ꎼZ79q;.び98Gij=yde-Æ I$Nݰ2s q8oX'ɔTLp&w"“ؓ{)P3,1& تЯĀ`@R4RJ*Ax7p!L۫R\ Lm˦RmچԠ PaMk{GJKibBՑI)D&- q^& yZa#>^y"6?ԐQBH89g>IO1Ȁ;4 *|6}3 Pd 0CreMAЬ-/ nKīzqSo4m3`un^.K ;6zvW?zw|s|wĴ) rť#BgXI 4YC|[M [ C+aδHGS1֧̄ iR_qj3I# [ $Hf6xD2K ʱJK Ku,ձTRKu,ձTRK5RW(a[!(U?jhKQEC)B)"VR|qh$|C'Z@ dHT"% p2<7@<|CH%uf; י%dHA@ ZĈ%țe&[0&K&2@"z:l6B&]UJ4K[u%RثAm,/M/d?i)Vf5gD)VY 9&D>`αBr95s؀0#3u~~S"Đ\j&f[ 羙cib0y e1ouKb~@7"2V>Jh-_:JOpV.%E #*H' "l2` zvH mӨ4Ђ9K 2o`DpÞ.#3]`jkb1@5vL>up ش*D.@j$̄(6Q t6c+ nS3%F A!Y1>$exNۨ!u駓Qm3$FͧwۗS LG}0R*}O5]=i B'dwEB5&^sdj`ɱ8!T"K2m:1q؂}@;FA/Pnn^J8㻎:㻎:[=ҷ$ ~yjiڻMR|AIܵT׵ԂKOTR{5ׄ?'Th﬎Q, H u3`Id *Đ Fqq|J˸3 GAyjvf]Hj;Ng*:vwqS=Xi=ACKeP;"m$Gs ]Dr :'t'1ғ|l#piF7 S>HA,Ԟ!Sqy<6;Kv64a/Ef7lC.D6R6jh ~UyX9/%Ex˨E)}[1U'cL>?$,CLs^:^pF#<^$#Jn2"H8 ӥ*Rr`/ ^cfjjuֱZjuֱZj>ԉ$&gov..0+NԧSRi ~zr ~z@KwÄr#G2[#*9|g: MmqrGjNR /Dp^ 4٥hsA XU;U;ʧV-E 1iVg:)&Wm t}O(OT%}AMN`÷*O#lb1JNW'͡tްiCRgdBM'π^ǯWP0=Rs0eSG<+pI5|;@J[7_>"V06C(6lϐVFOVayM{J;MZk*={Z{ONV˓H0Xw=L&F+?t|kN#>7 c:e˔ (xnL58pLg+0&cu-Md,bJtDEb_bfF,t r,KLre@.ra*90o"q H>ʙu`Q@b6kGߎ(B`NZhʹYEP<Oqvz)vb)vb)vb)vb)vb)vb)vb)vb)vb)vb+=+rN\-uap>M~ U40{`ap3!cJ $`ńoQ2•4TeQ)d`~%& xz2!ׇITqjuRu5:d NHk,`afÔ nfc`ƕ4cabFǞKzxL_/ Ȅg/Y|׌ j4$"+Cf0lee4i4R]ItPMDk*0$20y~) l܇b8 88qp2fOktԻ,YKNH V疡bN*&Qm~%=!p28ANrp >  Jkq$p8p}^n+wY[ )t=a$|Aĵc !t^* /b֮Sgpe᤭k`k!HThJ ?)>o@Dÿ< Ö@ 3%0(|Q b\E(F2p 5 U T=5COwk^m'Kkp>%PIPF ^dO(3wLT{UVLQ8a2ij)CbZ,b̴oaZN8tSbcc%>5i @VT7uOZØJ+ho|>cLnl S|7C,XߌP= uL}ŹdJ$f a@.ǒ)cuWYKF%Ȕ)t^W)jlp =ȐȊ& Obt[= Md*2 wZg `=H*ؖ%2H BA)cL!Ȑ\lV!IAY`S@~w2*7lԦ]fG$Qm+Tܹp ;N_*SI{ ,߀Ln@0 W(| |!z- Kp'3R){ %G"9HN8dxO]s;E21 ͘ɕatfКh-nJ"9HӸ>(c܄? 301SQPd9Fyn'l6] Cv;6]c)pn'vrn'vrn'vrn'vrn'vrn'vrn'vrn'vrnN!Y;ɪi˺('TnVl'J;Bʩڻ_|<H1RO2hK$Jd[)x9Q2Z %Kf@Oo[(2LHT2Co)3a(܄ H]3aPbo1W N4 yIPhr~HI g8&0q3La g8Ġalhf+;nڴ(AtBm4ݗ/pϮ^,?2(=F Hq)06 e^&jnq.$a%xإx2>1<_3M_a |L]Ȍ}G uss0:|0;91Ȟʳةo$**eؐ[wt-i$|à/=5w$4D2j:#6!=m_/n_8SC>\!mJ<1C܀LUC7h+&MuFN2y/ LA<\ow}w 'wW3 _sԧ€u,}/0đd Nd1i#LC@i) )&2QL)"37 Rl$ Sizù" 5Q̐s'l`< ?T5 ^u`^yyyyyyyyF/Õ` kpq5SGɄTs2tTa=U#y/2f u(ffŸ 1WB&F* a7ġ@i* ^P rq(ǡrqPK7ׇn?Jlx愩 2LHY>r]>||whd`?d )‡ SCRtީw}GA{P#Un?JCV48ĺ~{d!Gyb(' N0"a0 D\S`G (2@BoW e]y\DS l6T+# $RKPIo9Y>ʒ,f$e: (9;IE[R, 6h`0G!m2JJ48Ի=;_5^V Ӹ.oG[ϕ|茀I2Mh*Nx Hȥ0qLLCA@r̍w|`j_ݾNfl̾cٌT[Gc#_ON10KydH ^h!p/@`<x /Onōxi#z;1SM0Oj1J1FZ&L}SkI^YD3fUz\ 찉t:޴bD:pDiGvDiGvDЉt}/=$54-kTRF1W[^a)mWR1UGoŤvյUWf5Dz5.6pqj5&7X1Un5aj`qIuŕO%e=WҲWj{j$[I1Um`!Ξ!߆m ,KItQ+SQI븴,%5Y%0&kye*ӸQ UMq\rI W{QIu25\*2T91T@3j\_H%eV#V㱾$ηpEdV#V㩾T{5*KVȬFjFQmM,Y~f5jFWx5R,m8OՈ-\ښZZef5Jm5QZeʬF/jTFUmH8ĐeN j|ێcjbjԽH~^j&Dر4l5>FC(rye! GW>%],%ڻ AϗW lH?\\T%wTVAzT9ϧV`)2]/})l8p͒DZHUR1-e R.ݲ rZ 3 G9"Җf66So[s`&=ʩd RHWfp]) Wʪ̵Z^yj6|rmz =>ɬFƓ+fdQMV]3&tvdᔥҲdFdVU YxtQ{{}+^"^B{d 's.̾9}ҝ`[fbzLsI@;A;B&*DNZ\jes?|їW磖 ̉}f>foQNJ>5evgGp$T#]NG*u$R;m^^[}- 6 :=(#sZw~.̫JLʞQik|qe,d,,d5JYXnLnUĤ Q;ԥl5;iOnT5kIKV#'ryeO$m- +g\k W5Ƶrlc\1U/ڔۑD]XH,\6ޑgҷ"f!+^6 =iqe&NG0ſS\LZ|=oye!SWN~ ΜVv3R.ke(2;, J=2 M壒Cd!2meK)"SY$SBq)]Le*igॿ"W\\Y*;] SCO“2$=H֯eeKu]z(3F?eY&븴,4YK˒YRU~M,R;fKuUx潸&무,E4YǘYR_ߋfދjJQ%tkvqeViq)}2(?kqruq$Җ vkgpc}5R Wc0"Ll>?p2E{u*|VZ-eu2qZMr fОQ%)p$GKgSliye.w\ZޫW^vBZ8ذt.lTv, S|3&봬cd|/錪S7*KT-Id'V)ݰ"ݶ*^i$EH&>ʖ :M]\)A@LRՒ"Y%M,/r*\Wf-`@TէҮH֧2CM/깅WSoG TWam}/鮔w`rZ讔vW"[Ґ/sz?>ia?*w%,FӪŕYݩɸlfSϚ^)SV6A>DpfW׫,,Vx0'=.cJ{̨25e ݑ27XX\IH; tBj\PMR,)?N2!4iƧtH^XXTN$[[pfcm-RQI?#Z;ϷpN¾%DeVV㩾ҕv$8CUqvqe!Kc8 s;%h9Mߎu5hw.2FKUWfbLu{Ѹx8?V<Ŝ<]=6GRzlFZ7'ǗC"q8~^G@:/0ſ?}"W soS8G?‡a<6'a65w>v2:`vrz7y4Z`t<à jhķ͗_>\7[ъoEaՉ=_~o W)MV@6+ugSvhZo ֞^]Rg3^b9%rm.7Ŋ㦖Rj^mlQu=>TPlfʻ2(}pZQdksj.|?`#^mut&i& QSH),COې,*CY2{6*9.ؠ7MDx*dȢYIdEEMOjT4kM|~&ޱbTu~:v=nK`4/ONɏ5^+==3 w>GrY 2DNG`-Dci?|Ec&7>Be5ָnkn'aHJ-$R6W S e;7UY)o/kVݏ!;{5nA t$1Q1~PnzHDžA/j^<{@d]$B? 3}'Zq`!AҜroxZlitVOΔq-a~^eݖn;RK]LO6GV؋PL ͵ÿHA?gwܩ_r<٣.>S'G̫йhZ_ir+ZI'9: R~oꣿ U XTm>|H$d+/KFj/sIdQeJkX. 3A~DDnfnGm^x/I6b_y}JA![_ImWe9>O}11\Kf|'uU2+IIWTdz*Lt@H DMէNnX Q jn^2Ƙ[? ?(0 _yb"IivtXVgC-m&'~jd~:џIvhTГXRNߊ$uD7qd8EJnq=dmu>9e\d֋w-nb@#g:q>"l:\{ t$l`]aWɍR+ήDֈMJw[T9#z}k g;Jilk,,nX%\E5*lv'W<@{Eõs8|^Bg==8 oh~ 8݀5G{p*d֪lM7{Wޚ 66b*!cwC,ِ[P~YgO;ֽ8 oh~->ʻ8xomsx6^5DtoɼUx ٚ~>2n KcX_3{4i{qكs niΦ»0pa~t\BgC7bsF31wxv*׷7=؃~Nv~O=*t:%HɍUHO5\'j3p`A,|wV6ggԿoi؝%/;tMrZD: dr 9{_QUئHb_v7!q ù}og!pܵ[{C8X9n^&cO7BZ<7UF.K 79y^J>YųdgYܧ&G 7Eu4m5/Z{W_,RSZ) za:=V !r2s}r n -UXD|Z?/D4;UV;bTv"3L6XmŻp|WGA|v葈_h;xz'SmNpM{tx#M.7&\4N/ֵ}2<8i7 XBc@9 |7ͽA{GQl0SS}NLqt5GKp"!pSe^wgAi|\Je/Ojs:9,ivZBXD͟Ej1_O_J Nj>>m=APSiւ[͠'b.p'񓿯%|fWY3b uumصnG8M"޾ 1O9utrmqRځ+r]sǵ'dn* jMVVD)y7֧؍bxT;BSCdAXF6GIӋbɌMGs٩2*Fo-"1b16 ^jA/ӀTBcMM ;|  )빌~uFނ bq_6ψXi`*`@0A lX=w}k<5:sR(<8gSa,bk ~pOdt:>wȞU ėϑ͋D-ś?+n1WRl\-%[<˶xv]zN3=/.8YHp$Sm ZA~E6n D>om D闄t<`ka\-CR؟HrEOO?~{Q gKd*E|ŷ♗[$ိ٩0ůo-dP-$r./xC^?F6 4!lBiodYKu.7vGϲ-p6>z%a~+N䪕hjVw"KK|+;>Kgo|†%;E4>_ sn y ~YmtcšR<>~TlltnD&j^*X89MmY%OxS[-VQŇ"MN5} &;v$ ;6-EVԥq f T;tnw+d7aچY{@(":W˜oq0R_Zqge1CuBī78W'ījC╽H^gS_[)UTPyok$9iܗW:[/t+zYP~qB嗊 nuZ[j͓)S; hD"R>?^z:S9={2Foqy ,Z랪rGƽ_7DC킕͔T2{^2 Q{FkHqH[;I!,nWyc5%>f+g=%S]驲u4FKj6/Lʸ _ˤ89G~O1w>b'-rndm!jXG >JC|<0cs@~#L4ΊAj}QP+9 lVi"R,ųSaP_ZHNtݏɎ [O0vQe-iDBRm8m~lV܈ڼp#C n7Ѥ抩934Z*-;b-طAۜ*ǻiOέ7QNOfjF;9>\I+LJto[zw-TZGp5%:*hrP{+W'χ^eeYų[ l=}]?-eNK; !8ǧ /?j Ū jx.\DGXϺLW,6*Bu]b1 C=S! +Mn$(-`;l[9&6暴..N]ּZK_Tso<7Uݡ`ȷr3dZ:@dDwBï8Kʓ)/ TY/hff "N ]EQybEehPe^E]RqԵû uK8/qܡ[Qw]x؍0^Is))w6`;A5;֍jԔEW(Y//$/[cobrapy-0.4.0b6/cobra/test/data/textbook_fva.json000066400000000000000000000107501263606473700217670ustar00rootroot00000000000000{"ACALD": {"minimum": 0.0, "maximum": 0.0}, "ACALDt": {"minimum": 0.0, "maximum": -0.0}, "ACKr": {"minimum": 0.0, "maximum": -0.0}, "ACONTa": {"minimum": 6.00725, "maximum": 6.00725}, "ACONTb": {"minimum": 6.00725, "maximum": 6.00725}, "ACt2r": {"minimum": 0.0, "maximum": 0.0}, "ADK1": {"minimum": 0.0, "maximum": -0.0}, "AKGDH": {"minimum": 5.06438, "maximum": 5.06438}, "AKGt2r": {"minimum": 0.0, "maximum": 0.0}, "ALCD2x": {"minimum": 0.0, "maximum": 0.0}, "ATPM": {"minimum": 8.39, "maximum": 8.39}, "ATPS4r": {"minimum": 45.51401, "maximum": 45.51401}, "Biomass_Ecoli_core": {"minimum": 0.87392, "maximum": 0.87392}, "CO2t": {"minimum": -22.80983, "maximum": -22.80983}, "CS": {"minimum": 6.00725, "maximum": 6.00725}, "CYTBD": {"minimum": 43.59899, "maximum": 43.59899}, "D_LACt2": {"minimum": 0.0, "maximum": 0.0}, "ENO": {"minimum": 14.71614, "maximum": 14.71614}, "ETOHt2r": {"minimum": 0.0, "maximum": 0.0}, "EX_ac_e": {"minimum": 0.0, "maximum": -0.0}, "EX_acald_e": {"minimum": 0.0, "maximum": -0.0}, "EX_akg_e": {"minimum": 0.0, "maximum": -0.0}, "EX_co2_e": {"minimum": 22.80983, "maximum": 22.80983}, "EX_etoh_e": {"minimum": 0.0, "maximum": -0.0}, "EX_for_e": {"minimum": 0.0, "maximum": -0.0}, "EX_fru_e": {"minimum": 0.0, "maximum": -0.0}, "EX_fum_e": {"minimum": 0.0, "maximum": 0.0}, "EX_glc__D_e": {"minimum": -10.0, "maximum": -10.0}, "EX_gln__L_e": {"minimum": 0.0, "maximum": 0.0}, "EX_glu__L_e": {"minimum": 0.0, "maximum": -0.0}, "EX_h2o_e": {"minimum": 29.17583, "maximum": 29.17583}, "EX_h_e": {"minimum": 17.53087, "maximum": 17.53087}, "EX_lac__D_e": {"minimum": 0.0, "maximum": -0.0}, "EX_mal__L_e": {"minimum": 0.0, "maximum": -0.0}, "EX_nh4_e": {"minimum": -4.76532, "maximum": -4.76532}, "EX_o2_e": {"minimum": -21.79949, "maximum": -21.79949}, "EX_pi_e": {"minimum": -3.2149, "maximum": -3.2149}, "EX_pyr_e": {"minimum": 0.0, "maximum": -0.0}, "EX_succ_e": {"minimum": 0.0, "maximum": -0.0}, "FBA": {"minimum": 7.47738, "maximum": 7.47738}, "FBP": {"minimum": 0.0, "maximum": -0.0}, "FORt2": {"minimum": 0.0, "maximum": -0.0}, "FORti": {"minimum": 0.0, "maximum": -0.0}, "FRD7": {"minimum": 0.0, "maximum": 994.93562}, "FRUpts2": {"minimum": 0.0, "maximum": 0.0}, "FUM": {"minimum": 5.06438, "maximum": 5.06438}, "FUMt2_2": {"minimum": 0.0, "maximum": 0.0}, "G6PDH2r": {"minimum": 4.95998, "maximum": 4.95998}, "GAPD": {"minimum": 16.02353, "maximum": 16.02353}, "GLCpts": {"minimum": 10.0, "maximum": 10.0}, "GLNS": {"minimum": 0.22346, "maximum": 0.22346}, "GLNabc": {"minimum": 0.0, "maximum": 0.0}, "GLUDy": {"minimum": -4.54186, "maximum": -4.54186}, "GLUN": {"minimum": 0.0, "maximum": -0.0}, "GLUSy": {"minimum": 0.0, "maximum": -0.0}, "GLUt2r": {"minimum": 0.0, "maximum": -0.0}, "GND": {"minimum": 4.95998, "maximum": 4.95998}, "H2Ot": {"minimum": -29.17583, "maximum": -29.17583}, "ICDHyr": {"minimum": 6.00725, "maximum": 6.00725}, "ICL": {"minimum": 0.0, "maximum": -0.0}, "LDH_D": {"minimum": 0.0, "maximum": 0.0}, "MALS": {"minimum": 0.0, "maximum": -0.0}, "MALt2_2": {"minimum": 0.0, "maximum": -0.0}, "MDH": {"minimum": 5.06438, "maximum": 5.06438}, "ME1": {"minimum": 0.0, "maximum": -0.0}, "ME2": {"minimum": 0.0, "maximum": -0.0}, "NADH16": {"minimum": 38.53461, "maximum": 38.53461}, "NADTRHD": {"minimum": 0.0, "maximum": -0.0}, "NH4t": {"minimum": 4.76532, "maximum": 4.76532}, "O2t": {"minimum": 21.79949, "maximum": 21.79949}, "PDH": {"minimum": 9.28253, "maximum": 9.28253}, "PFK": {"minimum": 7.47738, "maximum": 7.47738}, "PFL": {"minimum": 0.0, "maximum": -0.0}, "PGI": {"minimum": 4.86086, "maximum": 4.86086}, "PGK": {"minimum": -16.02353, "maximum": -16.02353}, "PGL": {"minimum": 4.95998, "maximum": 4.95998}, "PGM": {"minimum": -14.71614, "maximum": -14.71614}, "PIt2r": {"minimum": 3.2149, "maximum": 3.2149}, "PPC": {"minimum": 2.50431, "maximum": 2.50431}, "PPCK": {"minimum": 0.0, "maximum": -0.0}, "PPS": {"minimum": 0.0, "maximum": -0.0}, "PTAr": {"minimum": -0.0, "maximum": -0.0}, "PYK": {"minimum": 1.75818, "maximum": 1.75818}, "PYRt2": {"minimum": 0.0, "maximum": -0.0}, "RPE": {"minimum": 2.67848, "maximum": 2.67848}, "RPI": {"minimum": -2.2815, "maximum": -2.2815}, "SUCCt2_2": {"minimum": 0.0, "maximum": -0.0}, "SUCCt3": {"minimum": 0.0, "maximum": -0.0}, "SUCDi": {"minimum": 5.06438, "maximum": 1000.0}, "SUCOAS": {"minimum": -5.06438, "maximum": -5.06438}, "TALA": {"minimum": 1.49698, "maximum": 1.49698}, "THD2": {"minimum": 0.0, "maximum": -0.0}, "TKT1": {"minimum": 1.49698, "maximum": 1.49698}, "TKT2": {"minimum": 1.1815, "maximum": 1.1815}, "TPI": {"minimum": 7.47738, "maximum": 7.47738}}cobrapy-0.4.0b6/cobra/test/data/update_pickles.py000077500000000000000000000062541263606473700217560ustar00rootroot00000000000000#!/usr/bin/env python # This script regenerates pickles of cobra Models. Should be # performed after updating core classes to prevent subtle bugs. try: from cPickle import load, dump except: from pickle import load, dump from json import dump as json_dump from collections import OrderedDict import cobra from cobra.version import get_version from cobra.io import read_sbml_model, write_sbml_model, save_matlab_model, \ save_json_model from cobra.io.sbml3 import write_sbml2 # ecoli ecoli_model = read_sbml_model("iJO1366.xml") with open("iJO1366.pickle", "wb") as outfile: dump(ecoli_model, outfile, protocol=2) # salmonella salmonella = read_sbml_model("salmonella.xml") with open("salmonella.genes", "rb") as infile: gene_names = load(infile) for gene in salmonella.genes: gene.name = gene_names[gene.id] with open("salmonella.media", "rb") as infile: salmonella.media_compositions = load(infile) with open("salmonella.pickle", "wb") as outfile: dump(salmonella, outfile, protocol=2) # create mini model from textbook textbook = read_sbml_model("textbook.xml.gz") mini = cobra.Model("mini_textbook") mini.compartments = textbook.compartments for r in textbook.reactions: if r.id in ("GLCpts", "PGI", "PFK", "FBA", "TPI", "GAPD", "PGK", "PGM", "ENO", "PYK", "EX_glc__D_e", "EX_h_e", "H2Ot", "ATPM", "PIt2r"): mini.add_reaction(r.copy()) mini.reactions.ATPM.upper_bound = mini.reactions.PGI.upper_bound mini.change_objective("ATPM") # No biomass # add in some information from iJO1366 mini.add_reaction(ecoli_model.reactions.LDH_D.copy()) mini.add_reaction(ecoli_model.reactions.EX_lac__D_e.copy()) r = cobra.Reaction("D_LACt2") mini.add_reaction(r) r.gene_reaction_rule = ecoli_model.reactions.D__LACt2pp.gene_reaction_rule r.reaction = ecoli_model.reactions.D__LACt2pp.reaction.replace("_p", "_e") mini.reactions.GLCpts.gene_reaction_rule = \ ecoli_model.reactions.GLCptspp.gene_reaction_rule # adjust bounds for i in ["ATPM", "D_LACt2", "EX_lac__D_e", "LDH_D"]: mini.reactions.get_by_id(i).upper_bound = mini.reactions.PGI.upper_bound for i in ["D_LACt2", "LDH_D"]: mini.reactions.get_by_id(i).lower_bound = mini.reactions.PGI.lower_bound # set names and annotation for g in mini.genes: try: tg = textbook.genes.get_by_id(g.id) except KeyError: continue g.name = tg.name g.annotation = tg.annotation mini.reactions.sort() mini.genes.sort() mini.metabolites.sort() # output to various formats with open("mini.pickle", "wb") as outfile: dump(mini, outfile, protocol=2) save_matlab_model(mini, "mini.mat") save_json_model(mini, "mini.json", pretty=True) write_sbml_model(mini, "mini_fbc2.xml") write_sbml_model(mini, "mini_fbc2.xml.bz2") write_sbml_model(mini, "mini_fbc2.xml.gz") write_sbml2(mini, "mini_fbc1.xml", use_fbc_package=True) write_sbml_model(mini, "mini_cobra.xml", use_fbc_package=False) # fva results fva_result = cobra.flux_analysis.flux_variability_analysis(textbook) clean_result = OrderedDict() for key in sorted(fva_result): clean_result[key] = {k: round(v, 5) for k, v in fva_result[key].items()} with open("textbook_fva.json", "w") as outfile: json_dump(clean_result, outfile) cobrapy-0.4.0b6/cobra/test/design.py000066400000000000000000000065351263606473700173210ustar00rootroot00000000000000from unittest import TestCase, TestLoader, TextTestRunner, skipIf import sys if __name__ == "__main__": sys.path.insert(0, "../..") from cobra.test import create_test_model, data_directory from cobra.design import * from cobra.design.design_algorithms import _add_decision_variable from cobra.solvers import get_solver_name sys.path.pop(0) else: from . import create_test_model, data_directory from ..design import * from ..design.design_algorithms import _add_decision_variable from ..solvers import get_solver_name try: solver = get_solver_name(mip=True) except: no_mip_solver = True else: no_mip_solver = False class TestDesignAlgorithms(TestCase): """Test functions in cobra.design""" def test_dual(self): model = create_test_model("textbook") self.assertAlmostEqual(model.optimize("maximize").f, 0.874, places=3) dual = dual_problem(model) self.assertAlmostEqual(dual.optimize("minimize").f, 0.874, places=3) def test_dual_integer_vars_as_lp(self): model = create_test_model("textbook") var = _add_decision_variable(model, "AKGDH") self.assertAlmostEqual(model.optimize("maximize").f, 0.874, places=3) # as lp: make integer continuous, set to 1 dual = dual_problem(model, "maximize", [var.id], copy=True) r = dual.reactions.get_by_id(var.id) r.variable_kind = "continuous" r.lower_bound = r.upper_bound = 1 self.assertAlmostEqual(dual.optimize("minimize").f, 0.874, places=3) r.lower_bound = r.upper_bound = 0 self.assertAlmostEqual(dual.optimize("minimize").f, 0.858, places=3) @skipIf(no_mip_solver, "no MILP solver found") def test_dual_integer_vars_as_mip(self): # mip model = create_test_model("textbook") var = _add_decision_variable(model, "AKGDH") dual = dual_problem(model, "maximize", [var.id], copy=True) var_in_dual = dual.reactions.get_by_id(var.id) # minimization, so the optimal value state is to turn off AKGDH self.assertAlmostEqual(dual.optimize("minimize").f, 0.858, places=3) # turn off AKGDH in dual var_in_dual.lower_bound = var_in_dual.upper_bound = 1 self.assertAlmostEqual(dual.optimize("minimize").f, 0.874, places=3) # turn on AKGDH in dual var_in_dual.lower_bound = var_in_dual.upper_bound = 0 self.assertAlmostEqual(dual.optimize("minimize").f, 0.858, places=3) @skipIf(no_mip_solver, "no MILP solver found") def test_optknock(self): model = create_test_model("textbook") model.reactions.get_by_id("EX_o2_e").lower_bound = 0 knockable_reactions = ["ACKr", "AKGDH", "ACALD", "LDH_D"] optknock_problem = set_up_optknock(model, "EX_lac__D_e", knockable_reactions, n_knockouts=2, copy=False) solution = run_optknock(optknock_problem, tolerance_integer=1e-9) self.assertIn("ACKr", solution.knockouts) self.assertIn("ACALD", solution.knockouts) self.assertAlmostEqual(solution.f, 17.891, places=3) # make a test suite to run all of the tests loader = TestLoader() suite = loader.loadTestsFromModule(sys.modules[__name__]) def test_all(): TextTestRunner(verbosity=2).run(suite) if __name__ == "__main__": test_all() cobrapy-0.4.0b6/cobra/test/flux_analysis.py000066400000000000000000000251251263606473700207250ustar00rootroot00000000000000from unittest import TestCase, TestLoader, TextTestRunner, skipIf from warnings import warn import sys from os.path import join from json import load from six import iteritems try: import numpy except: numpy = None try: import matplotlib except: matplotlib = None if __name__ == "__main__": sys.path.insert(0, "../..") from cobra.test import create_test_model, data_directory from cobra import Model, Reaction, Metabolite from cobra.manipulation import initialize_growth_medium from cobra.solvers import solver_dict, get_solver_name from cobra.flux_analysis import * sys.path.pop(0) else: from . import create_test_model, data_directory from .. import Model, Reaction, Metabolite from ..manipulation import initialize_growth_medium from ..solvers import solver_dict, get_solver_name from ..flux_analysis import * class TestCobraFluxAnalysis(TestCase): """Test the simulation functions in cobra.flux_analysis""" def setUp(self): pass def test_pFBA(self): model = create_test_model("textbook") for solver in solver_dict: optimize_minimal_flux(model, solver=solver) abs_x = [abs(i) for i in model.solution.x] self.assertEqual(model.solution.status, "optimal") self.assertAlmostEqual(model.solution.f, 0.8739, places=3) self.assertAlmostEqual(sum(abs_x), 518.4221, places=3) def test_single_gene_deletion(self): cobra_model = create_test_model("textbook") # expected knockouts for textbook model growth_dict = {"fba": {"b0008": 0.87, "b0114": 0.80, "b0116": 0.78, "b2276": 0.21, "b1779": 0.00}, "moma": {"b0008": 0.87, "b0114": 0.71, "b0116": 0.56, "b2276": 0.11, "b1779": 0.00}, } # MOMA requires cplex or gurobi try: get_solver_name(qp=True) except: growth_dict.pop('moma') for method, expected in growth_dict.items(): rates, statuses = single_gene_deletion(cobra_model, gene_list=expected.keys(), method=method) for gene, expected_value in iteritems(expected): self.assertEqual(statuses[gene], 'optimal') self.assertAlmostEqual(rates[gene], expected_value, places=2) def test_single_reaction_deletion(self): cobra_model = create_test_model("textbook") expected_results = {'FBA': 0.70404, 'FBP': 0.87392, 'CS': 0, 'FUM': 0.81430, 'GAPD': 0, 'GLUDy': 0.85139} results, status = single_reaction_deletion( cobra_model, reaction_list=expected_results.keys()) self.assertEqual(len(results), 6) self.assertEqual(len(status), 6) for status_value in status.values(): self.assertEqual(status_value, "optimal") for reaction, value in results.items(): self.assertAlmostEqual(value, expected_results[reaction], 5) def compare_matrices(self, matrix1, matrix2, places=3): nrows = len(matrix1) ncols = len(matrix1[0]) self.assertEqual(nrows, len(matrix2)) self.assertEqual(ncols, len(matrix2[0])) for i in range(nrows): for j in range(ncols): self.assertAlmostEqual(matrix1[i][j], matrix2[i][j], places=places) @skipIf(numpy is None, "double deletions require numpy") def test_double_gene_deletion(self): cobra_model = create_test_model("textbook") genes = ["b0726", "b4025", "b0724", "b0720", "b2935", "b2935", "b1276", "b1241"] growth_list = [ [0.858, 0.857, 0.814, 0.000, 0.858, 0.858, 0.858, 0.858], [0.857, 0.863, 0.739, 0.000, 0.863, 0.863, 0.863, 0.863], [0.814, 0.739, 0.814, 0.000, 0.814, 0.814, 0.814, 0.814], [0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000], [0.858, 0.863, 0.814, 0.000, 0.874, 0.874, 0.874, 0.874], [0.858, 0.863, 0.814, 0.000, 0.874, 0.874, 0.874, 0.874], [0.858, 0.863, 0.814, 0.000, 0.874, 0.874, 0.874, 0.874], [0.858, 0.863, 0.814, 0.000, 0.874, 0.874, 0.874, 0.874]] solution = double_gene_deletion(cobra_model, gene_list1=genes) self.assertEqual(solution["x"], genes) self.assertEqual(solution["y"], genes) self.compare_matrices(growth_list, solution["data"]) # test when lists differ slightly solution = double_gene_deletion(cobra_model, gene_list1=genes[:-1], gene_list2=genes, number_of_processes=1) self.assertEqual(solution["x"], genes[:-1]) self.assertEqual(solution["y"], genes) self.compare_matrices(growth_list[:-1], solution["data"]) @skipIf(numpy is None, "double deletions require numpy") def test_double_reaction_deletion(self): cobra_model = create_test_model("textbook") reactions = ['FBA', 'ATPS4r', 'ENO', 'FRUpts2'] growth_list = [[0.704, 0.135, 0.000, 0.704], [0.135, 0.374, 0.000, 0.374], [0.000, 0.000, 0.000, 0.000], [0.704, 0.374, 0.000, 0.874]] solution = double_reaction_deletion(cobra_model, reaction_list1=reactions, number_of_processes=1) self.assertEqual(solution["x"], reactions) self.assertEqual(solution["y"], reactions) self.compare_matrices(growth_list, solution["data"]) def test_flux_variability(self): with open(join(data_directory, "textbook_fva.json"), "r") as infile: fva_results = load(infile) infeasible_model = create_test_model("textbook") infeasible_model.reactions.get_by_id("EX_glc__D_e").lower_bound = 0 for solver in solver_dict: # esolver is really slow if solver == "esolver": continue cobra_model = create_test_model("textbook") fva_out = flux_variability_analysis( cobra_model, solver=solver, reaction_list=cobra_model.reactions[1::3]) for name, result in iteritems(fva_out): for k, v in iteritems(result): self.assertAlmostEqual(fva_results[name][k], v, places=5) # ensure that an infeasible model does not run FVA self.assertRaises(ValueError, flux_variability_analysis, infeasible_model, solver=solver) def test_find_blocked_reactions(self): m = create_test_model("textbook") result = find_blocked_reactions(m, m.reactions[40:46]) self.assertEqual(result, ['FRUpts2']) result = find_blocked_reactions(m, m.reactions[42:48]) self.assertEqual(set(result), {'FUMt2_2', 'FRUpts2'}) result = find_blocked_reactions(m, m.reactions[30:50], open_exchanges=True) self.assertEqual(result, []) def test_loopless(self): try: solver = get_solver_name(mip=True) except: self.skip("no MILP solver found") test_model = Model() test_model.add_metabolites(Metabolite("A")) test_model.add_metabolites(Metabolite("B")) test_model.add_metabolites(Metabolite("C")) EX_A = Reaction("EX_A") EX_A.add_metabolites({test_model.metabolites.A: 1}) DM_C = Reaction("DM_C") DM_C.add_metabolites({test_model.metabolites.C: -1}) v1 = Reaction("v1") v1.add_metabolites({test_model.metabolites.A: -1, test_model.metabolites.B: 1}) v2 = Reaction("v2") v2.add_metabolites({test_model.metabolites.B: -1, test_model.metabolites.C: 1}) v3 = Reaction("v3") v3.add_metabolites({test_model.metabolites.C: -1, test_model.metabolites.A: 1}) DM_C.objective_coefficient = 1 test_model.add_reactions([EX_A, DM_C, v1, v2, v3]) feasible_sol = construct_loopless_model(test_model).optimize() v3.lower_bound = 1 infeasible_sol = construct_loopless_model(test_model).optimize() self.assertEqual(feasible_sol.status, "optimal") self.assertEqual(infeasible_sol.status, "infeasible") def test_gapfilling(self): try: solver = get_solver_name(mip=True) except: self.skip("no MILP solver found") m = Model() m.add_metabolites(map(Metabolite, ["a", "b", "c"])) r = Reaction("EX_A") m.add_reaction(r) r.add_metabolites({m.metabolites.a: 1}) r = Reaction("r1") m.add_reaction(r) r.add_metabolites({m.metabolites.b: -1, m.metabolites.c: 1}) r = Reaction("DM_C") m.add_reaction(r) r.add_metabolites({m.metabolites.c: -1}) r.objective_coefficient = 1 U = Model() r = Reaction("a2b") U.add_reaction(r) r.build_reaction_from_string("a --> b", verbose=False) r = Reaction("a2d") U.add_reaction(r) r.build_reaction_from_string("a --> d", verbose=False) result = gapfilling.growMatch(m, U)[0] self.assertEqual(len(result), 1) self.assertEqual(result[0].id, "a2b") # 2 rounds with exchange reactions result = gapfilling.growMatch(m, None, ex_rxns=True, iterations=2) self.assertEqual(len(result), 2) self.assertEqual(len(result[0]), 1) self.assertEqual(len(result[1]), 1) self.assertEqual({i[0].id for i in result}, {"SMILEY_EX_b", "SMILEY_EX_c"}) @skipIf(numpy is None, "phase plane requires numpy") def test_phenotype_phase_plane(self): model = create_test_model("textbook") data = calculate_phenotype_phase_plane( model, "EX_glc__D_e", "EX_o2_e", reaction1_npoints=20, reaction2_npoints=20) self.assertEqual(data.growth_rates.shape, (20, 20)) self.assertAlmostEqual(data.growth_rates.max(), 1.20898, places=4) self.assertAlmostEqual(abs(data.growth_rates[0, :]).max(), 0, places=4) if matplotlib is None: self.skip("can't test plots without matplotlib") data.plot() # make a test suite to run all of the tests loader = TestLoader() suite = loader.loadTestsFromModule(sys.modules[__name__]) def test_all(): TextTestRunner(verbosity=2).run(suite) if __name__ == "__main__": test_all() cobrapy-0.4.0b6/cobra/test/io_tests.py000066400000000000000000000221471263606473700176760ustar00rootroot00000000000000from warnings import catch_warnings, warn from tempfile import gettempdir from os import unlink from os.path import join, split from unittest import TestCase, TestLoader, TextTestRunner, skipIf, \ expectedFailure from functools import partial from pickle import load, dump import sys if __name__ == "__main__": from cobra import io from cobra.test import data_directory else: from .. import io from . import data_directory libraries = ["scipy", "libsbml", "cPickle", "jsonschema"] for library in libraries: try: exec("import %s" % library) except ImportError: exec("%s = None" % library) with open(join(data_directory, "mini.pickle"), "rb") as infile: mini_model = load(infile) class TestCobraIO(object): def compare_models(self, model1, model2): self.assertEqual(len(model1.reactions), len(model2.reactions)) self.assertEqual(len(model1.metabolites), len(model2.metabolites)) for attr in ("id", "name", "lower_bound", "upper_bound", "objective_coefficient", "gene_reaction_rule"): self.assertEqual(getattr(model1.reactions[0], attr), getattr(model2.reactions[0], attr)) self.assertEqual(getattr(model1.reactions[10], attr), getattr(model2.reactions[10], attr)) self.assertEqual(getattr(model1.reactions[-1], attr), getattr(model2.reactions[-1], attr)) for attr in ("id", "name", "compartment", "formula", "charge"): self.assertEqual(getattr(model1.metabolites[0], attr), getattr(model2.metabolites[0], attr)) self.assertEqual(getattr(model1.metabolites[10], attr), getattr(model2.metabolites[10], attr)) self.assertEqual(getattr(model1.metabolites[-1], attr), getattr(model2.metabolites[-1], attr)) self.assertEqual(len(model1.reactions[0].metabolites), len(model2.reactions[0].metabolites)) self.assertEqual(len(model1.reactions[14].metabolites), len(model2.reactions[14].metabolites)) self.assertEqual(len(model1.reactions[-1].metabolites), len(model2.reactions[-1].metabolites)) self.assertEqual(len(model1.genes), len(model2.genes)) # ensure they have the same solution max model1.optimize() model2.optimize() self.assertAlmostEqual(model1.solution.f, model2.solution.f, places=3) self.extra_comparisons(model1, model2) def extra_comparisons(self, model1, model2): # Overriding this prevents these extra comparisons. For example, mat # will need to skip this. self.assertEqual(model1.compartments, model2.compartments) self.assertEqual(model1.metabolites[4].annotation, model2.metabolites[4].annotation) self.assertEqual(model1.reactions[4].annotation, model2.reactions[4].annotation) self.assertEqual(model1.genes[4].annotation, model2.genes[4].annotation) for attr in ("id", "name"): self.assertEqual(getattr(model1.genes[0], attr), getattr(model2.genes[0], attr)) self.assertEqual(getattr(model1.genes[10], attr), getattr(model2.genes[10], attr)) self.assertEqual(getattr(model1.genes[-1], attr), getattr(model2.genes[-1], attr)) return def test_read(self): read_model = self.read_function(self.test_file) self.compare_models(self.test_model, read_model) def test_read_nonexistent(self): # make sure that an error is raised when given a nonexistent file self.assertRaises(IOError, self.read_function, "fake_file") def test_write(self): test_output_filename = join(gettempdir(), split(self.test_file)[-1]) self.write_function(self.test_model, test_output_filename) reread_model = self.read_function(test_output_filename) self.compare_models(self.test_model, reread_model) self.validate(test_output_filename) unlink(test_output_filename) def test_write_empty(self): test_output_filename = join(gettempdir(), split(self.test_file)[-1]) m = self.test_model.copy() m.metabolites[0].charge = None m.remove_reactions(list(m.reactions)) self.write_function(m, test_output_filename) reread_model = self.read_function(test_output_filename) self.assertEqual(len(reread_model.reactions), 0) self.assertEqual(len(reread_model.metabolites), len(m.metabolites)) # ensure empty metabolite charge is read as None self.assertIs(reread_model.metabolites[0].charge, None) unlink(test_output_filename) def validate(self, filename): # overload if a validator exists None class TestCobraIOSBMLfbc2(TestCase, TestCobraIO): def setUp(self): self.test_model = mini_model self.test_file = join(data_directory, "mini_fbc2.xml") self.read_function = io.read_sbml_model self.write_function = io.write_sbml_model def validate(self, filename): io.sbml3.validate_sbml_model(filename) class TestCobraIOSBMLfbc2Gz(TestCobraIOSBMLfbc2): def setUp(self): self.test_model = mini_model self.test_file = join(data_directory, "mini_fbc2.xml.gz") self.read_function = io.read_sbml_model self.write_function = io.write_sbml_model class TestCobraIOSBMLfbc2Bz2(TestCobraIOSBMLfbc2): def setUp(self): self.test_model = mini_model self.test_file = join(data_directory, "mini_fbc2.xml.bz2") self.read_function = io.read_sbml_model self.write_function = io.write_sbml_model class TestCobraSBMLValidation(TestCase): def test_bad_valiation(self): for i in range(3): filename = join(data_directory, "invalid%d.xml" % i) m, errors = io.sbml3.validate_sbml_model(filename) self.assertTrue(len(errors) >= 1) @skipIf(not libsbml, "libsbml required") class TestCobraIOSBMLfbc1(TestCase, TestCobraIO): def setUp(self): self.test_model = mini_model self.test_file = join(data_directory, "mini_fbc1.xml") self.read_function = io.read_sbml_model self.write_function = partial(io.write_legacy_sbml, use_fbc_package=True) def extra_comparisons(self, model1, model2): None @expectedFailure def test_read(self): TestCobraIO.test_read(self) @expectedFailure def test_write(self): TestCobraIO.test_write(self) @skipIf(not libsbml, "libsbml required") class TestCobraIOSBMLcobra(TestCase, TestCobraIO): def setUp(self): self.test_model = mini_model self.test_file = join(data_directory, "mini_cobra.xml") self.read_function = io.read_sbml_model self.write_function = partial(io.write_sbml_model, use_fbc_package=False) def extra_comparisons(self, model1, model2): None @skipIf(not scipy, "scipy required") class TestCobraIOmat(TestCase, TestCobraIO): def setUp(self): self.test_model = mini_model self.test_file = join(data_directory, "mini.mat") self.read_function = io.load_matlab_model self.write_function = io.save_matlab_model def extra_comparisons(self, model1, model2): # MAT does not store gene names None class TestCobraIOjson(TestCase, TestCobraIO): def setUp(self): self.test_model = mini_model self.test_file = join(data_directory, "mini.json") self.read_function = io.load_json_model self.write_function = io.save_json_model def validate(self, filename): with open(filename, "r") as infile: loaded = io.json.json.load(infile) if jsonschema is None: warn("jsonschema not installed") return jsonschema.validate(loaded, io.json.json_schema) class TestCobraIOPickle(TestCase, TestCobraIO): def setUp(self): self.test_model = mini_model self.test_file = join(data_directory, "mini.pickle") self.load = load self.dump = dump def read_function(filename): with open(filename, "rb") as infile: return self.load(infile) def write_function(model, filename): with open(filename, "wb") as outfile: self.dump(model, outfile) self.read_function = read_function self.write_function = write_function @skipIf(not cPickle, "cPickle required") class TestCobraIOcPickle(TestCobraIOPickle): def setUp(self): TestCobraIOPickle.setUp(self) self.load = cPickle.load self.dump = cPickle.dump # make a test suite to run all of the tests loader = TestLoader() suite = loader.loadTestsFromModule(sys.modules[__name__]) def test_all(): TextTestRunner(verbosity=2).run(suite) if __name__ == "__main__": test_all() cobrapy-0.4.0b6/cobra/test/manipulation.py000066400000000000000000000264371263606473700205530ustar00rootroot00000000000000from unittest import TestCase, TestLoader, TextTestRunner import sys if __name__ == "__main__": sys.path.insert(0, "../..") from cobra.test import create_test_model, data_directory from cobra.core import Metabolite, Model, Reaction from cobra.manipulation import * sys.path.pop(0) else: from . import create_test_model, data_directory from ..core import Metabolite, Model, Reaction from ..manipulation import * class TestManipulation(TestCase): """Test functions in cobra.manipulation""" def test_canonical_form(self): model = create_test_model("textbook") # add G constraint to test g_constr = Metabolite("SUCCt2_2__test_G_constraint") g_constr._constraint_sense = "G" g_constr._bound = 5.0 model.reactions.get_by_id("SUCCt2_2").add_metabolites({g_constr: 1}) self.assertAlmostEqual(model.optimize("maximize").f, 0.855, places=3) # convert to canonical form model = canonical_form(model) self.assertAlmostEqual(model.optimize("maximize").f, 0.855, places=3) def test_canonical_form_minimize(self): model = create_test_model("textbook") # make a minimization problem model.reactions.get_by_id("Biomass_Ecoli_core").lower_bound = 0.5 for reaction in model.reactions: reaction.objective_coefficient = reaction.id == "GAPD" self.assertAlmostEqual(model.optimize("minimize").f, 6.27, places=3) # convert to canonical form. Convert minimize to maximize model = canonical_form(model, objective_sense="minimize") self.assertAlmostEqual(model.optimize("maximize").f, -6.27, places=3) # lower bounds should now be <= constraints self.assertEqual( model.reactions.get_by_id("Biomass_Ecoli_core").lower_bound, 0.0) def test_modify_reversible(self): model1 = create_test_model("textbook") model1.optimize() model2 = create_test_model("textbook") convert_to_irreversible(model2) model2.optimize() self.assertAlmostEqual(model1.solution.f, model2.solution.f, places=3) revert_to_reversible(model2) model2.optimize() self.assertAlmostEqual(model1.solution.f, model2.solution.f, places=3) # Ensure revert_to_reversible is robust to solutions generated both # before and after reversibility conversion, or not solved at all. model3 = create_test_model("textbook") model3.optimize() convert_to_irreversible(model3) revert_to_reversible(model3) self.assertAlmostEqual(model1.solution.f, model3.solution.f, places=3) # test reaction where both bounds are negative model4 = create_test_model("textbook") glc = model4.reactions.get_by_id("EX_glc__D_e") glc.upper_bound = -1 convert_to_irreversible(model4) model4.optimize() self.assertAlmostEqual(model1.solution.f, model4.solution.f, places=3) glc_rev = model4.reactions.get_by_id(glc.notes["reflection"]) self.assertEqual(glc_rev.lower_bound, 1) self.assertEqual(glc.upper_bound, 0) revert_to_reversible(model4) self.assertEqual(glc.upper_bound, -1) def test_escape_ids(self): model = create_test_model('textbook') model.reactions.PGI.gene_reaction_rule = "a.b or c" self.assertIn("a.b", model.genes) escape_ID(model) self.assertNotIn("a.b", model.genes) def test_gene_knockout_computation(self): cobra_model = create_test_model() def find_gene_knockout_reactions_fast(cobra_model, gene_list): compiled_rules = get_compiled_gene_reaction_rules( cobra_model) return find_gene_knockout_reactions( cobra_model, gene_list, compiled_gene_reaction_rules=compiled_rules) def get_removed(m): return {x.id for x in m._trimmed_reactions} def test_computation(m, gene_ids, expected_reaction_ids): genes = [m.genes.get_by_id(i) for i in gene_ids] expected_reactions = {m.reactions.get_by_id(i) for i in expected_reaction_ids} removed1 = set(find_gene_knockout_reactions(m, genes)) removed2 = set(find_gene_knockout_reactions_fast(m, genes)) self.assertEqual(removed1, expected_reactions) self.assertEqual(removed2, expected_reactions) delete_model_genes(m, gene_ids, cumulative_deletions=False) self.assertEqual(get_removed(m), expected_reaction_ids) undelete_model_genes(m) gene_list = ['STM1067', 'STM0227'] dependent_reactions = {'3HAD121', '3HAD160', '3HAD80', '3HAD140', '3HAD180', '3HAD100', '3HAD181', '3HAD120', '3HAD60', '3HAD141', '3HAD161', 'T2DECAI', '3HAD40'} test_computation(cobra_model, gene_list, dependent_reactions) test_computation(cobra_model, ['STM4221'], {'PGI'}) test_computation(cobra_model, ['STM1746.S'], {'4PEPTabcpp'}) # test cumulative behavior delete_model_genes(cobra_model, gene_list[:1]) delete_model_genes(cobra_model, gene_list[1:], cumulative_deletions=True) delete_model_genes(cobra_model, ["STM4221"], cumulative_deletions=True) dependent_reactions.add('PGI') self.assertEqual(get_removed(cobra_model), dependent_reactions) # non-cumulative following cumulative delete_model_genes(cobra_model, ["STM4221"], cumulative_deletions=False) self.assertEqual(get_removed(cobra_model), {'PGI'}) # make sure on reset that the bounds are correct reset_bound = cobra_model.reactions.get_by_id("T2DECAI").upper_bound self.assertEqual(reset_bound, 1000.) # test computation when gene name is a subset of another test_model = Model() test_reaction_1 = Reaction("test1") test_reaction_1.gene_reaction_rule = "eggs or (spam and eggspam)" test_model.add_reaction(test_reaction_1) test_computation(test_model, ["eggs"], set()) test_computation(test_model, ["eggs", "spam"], {'test1'}) # test computation with nested boolean expression test_reaction_1.gene_reaction_rule = \ "g1 and g2 and (g3 or g4 or (g5 and g6))" test_computation(test_model, ["g3"], set()) test_computation(test_model, ["g1"], {'test1'}) test_computation(test_model, ["g5"], set()) test_computation(test_model, ["g3", "g4", "g5"], {'test1'}) # test computation when gene names are python expressions test_reaction_1.gene_reaction_rule = "g1 and (for or in)" test_computation(test_model, ["for", "in"], {'test1'}) test_computation(test_model, ["for"], set()) test_reaction_1.gene_reaction_rule = "g1 and g2 and g2.conjugate" test_computation(test_model, ["g2"], {"test1"}) test_computation(test_model, ["g2.conjugate"], {"test1"}) test_reaction_1.gene_reaction_rule = "g1 and (try:' or 'except:1)" test_computation(test_model, ["try:'"], set()) test_computation(test_model, ["try:'", "'except:1"], {"test1"}) def test_remove_genes(self): m = Model("test") m.add_reactions([Reaction("r" + str(i + 1)) for i in range(8)]) self.assertEqual(len(m.reactions), 8) rxns = m.reactions rxns.r1.gene_reaction_rule = "(a and b) or (c and a)" rxns.r2.gene_reaction_rule = "(a and b and d and e)" rxns.r3.gene_reaction_rule = "(a and b) or (b and c)" rxns.r4.gene_reaction_rule = "(f and b) or (b and c)" rxns.r5.gene_reaction_rule = "x" rxns.r6.gene_reaction_rule = "y" rxns.r7.gene_reaction_rule = "x or z" rxns.r8.gene_reaction_rule = "" self.assertIn("a", m.genes) self.assertIn("x", m.genes) remove_genes(m, ["a"], remove_reactions=False) self.assertNotIn("a", m.genes) self.assertIn("x", m.genes) self.assertEqual(rxns.r1.gene_reaction_rule, "") self.assertEqual(rxns.r2.gene_reaction_rule, "") self.assertEqual(rxns.r3.gene_reaction_rule, "b and c") self.assertEqual(rxns.r4.gene_reaction_rule, "(f and b) or (b and c)") self.assertEqual(rxns.r5.gene_reaction_rule, "x") self.assertEqual(rxns.r6.gene_reaction_rule, "y") self.assertEqual(rxns.r7.genes, {m.genes.x, m.genes.z}) self.assertEqual(rxns.r8.gene_reaction_rule, "") remove_genes(m, ["x"], remove_reactions=True) self.assertEqual(len(m.reactions), 7) self.assertNotIn("r5", m.reactions) self.assertNotIn("x", m.genes) self.assertEqual(rxns.r1.gene_reaction_rule, "") self.assertEqual(rxns.r2.gene_reaction_rule, "") self.assertEqual(rxns.r3.gene_reaction_rule, "b and c") self.assertEqual(rxns.r4.gene_reaction_rule, "(f and b) or (b and c)") self.assertEqual(rxns.r6.gene_reaction_rule, "y") self.assertEqual(rxns.r7.gene_reaction_rule, "z") self.assertEqual(rxns.r7.genes, {m.genes.z}) self.assertEqual(rxns.r8.gene_reaction_rule, "") def test_SBO_annotation(self): model = create_test_model("textbook") rxns = model.reactions rxns.EX_o2_e.annotation.clear() fake_DM = Reaction("DM_h_c") model.add_reaction(fake_DM) fake_DM.add_metabolites({model.metabolites.get_by_id("h_c"): -1}) # this exchange will be set wrong. The function should not overwrite # an existing SBO annotation rxns.get_by_id("EX_h_e").annotation["SBO"] = "SBO:0000628" add_SBO(model) self.assertEqual(rxns.EX_o2_e.annotation["SBO"], "SBO:0000627") self.assertEqual(rxns.DM_h_c.annotation["SBO"], "SBO:0000628") self.assertEqual(rxns.EX_h_e.annotation["SBO"], "SBO:0000628") def test_validate_reaction_bounds(self): model = create_test_model("textbook") model.reactions[0].lower_bound = float("-inf") model.reactions[1].lower_bound = float("nan") model.reactions[0].upper_bound = float("inf") model.reactions[1].upper_bound = float("nan") errors = check_reaction_bounds(model) self.assertEqual(len(errors), 4) def test_validate_formula_compartment(self): model = create_test_model("textbook") model.metabolites[1].compartment = "fake" model.metabolites[1].formula = "(a*.bcde)" errors = check_metabolite_compartment_formula(model) self.assertEqual(len(errors), 2) def test_validate_mass_balance(self): model = create_test_model("textbook") self.assertEqual(len(check_mass_balance(model)), 0) # if we remove the SBO term which marks the reaction as # mass balanced, then the reaction should be detected as # no longer mass balanced EX_rxn = model.reactions.query("EX")[0] EX_rxn.annotation.pop("SBO") balance = check_mass_balance(model) self.assertEqual(len(balance), 1) self.assertIn(EX_rxn, balance) # make a test suite to run all of the tests loader = TestLoader() suite = loader.loadTestsFromModule(sys.modules[__name__]) def test_all(): TextTestRunner(verbosity=2).run(suite) if __name__ == "__main__": test_all() cobrapy-0.4.0b6/cobra/test/solvers.py000066400000000000000000000300531263606473700175350ustar00rootroot00000000000000from unittest import TestCase, TestLoader, TextTestRunner, skipIf import sys # deal with absolute imports by adding the appropriate directory to the path if __name__ == "__main__": sys.path.insert(0, "../..") from cobra.test import create_test_model from cobra import Model, Reaction, Metabolite from cobra import solvers sys.path.pop(0) # remove the added directory to the path else: from . import create_test_model from .. import Model, Reaction, Metabolite from .. import solvers try: import scipy except: scipy = None class TestCobraSolver(object): def setUp(self): self.solver = solvers.solver_dict[self.solver_name] self.model = create_test_model("textbook") self.old_solution = 0.8739215 self.infeasible_model = Model() metabolite_1 = Metabolite("met1") reaction_1 = Reaction("rxn1") reaction_2 = Reaction("rxn2") reaction_1.add_metabolites({metabolite_1: 1}) reaction_2.add_metabolites({metabolite_1: 1}) reaction_1.lower_bound = 1 reaction_2.upper_bound = 2 self.infeasible_model.add_reactions([reaction_1, reaction_2]) def test_attributes(self): solver = self.solver self.assertTrue(hasattr(solver, "create_problem")) self.assertTrue(hasattr(solver, "solve_problem")) self.assertTrue(hasattr(solver, "get_status")) self.assertTrue(hasattr(solver, "get_objective_value")) self.assertTrue(hasattr(solver, "format_solution")) self.assertTrue(hasattr(solver, "change_variable_bounds")) self.assertTrue(hasattr(solver, "change_variable_objective")) self.assertTrue(hasattr(solver, "solve")) self.assertTrue(hasattr(solver, "set_parameter")) # self.assertTrue(hasattr(solver, "update_problem")) def test_creation(self): solver = self.solver solver.create_problem(self.model) def test_solve_feasible(self): solver = self.solver solution = solver.solve(self.model) self.assertEqual(solution.status, "optimal") self.assertAlmostEqual(self.old_solution, solution.f, places=4) def test_solve_minimize(self): solver = self.solver solution = solver.solve(self.model, objective_sense='minimize') self.assertEqual(solution.status, "optimal") self.assertAlmostEqual(0, solution.f, places=4) def test_low_level_control(self): solver = self.solver lp = solver.create_problem(self.infeasible_model) solver.solve_problem(lp) self.assertEqual(solver.get_status(lp), "infeasible") # going to make feasible solver.change_variable_bounds(lp, 0, -2., 2.) solver.change_variable_bounds(lp, 1, -2., 2.) solver.solve_problem(lp) # should now be feasible, but obj = 0 self.assertEqual(solver.get_status(lp), "optimal") self.assertAlmostEqual(solver.get_objective_value(lp), 0, places=4) # should now have obj = 2 (maximize should be the default) solver.change_variable_objective(lp, 0, 1.) solver.solve_problem(lp) self.assertAlmostEqual(solver.get_objective_value(lp), 2, places=4) # should now solve with obj = -2 solver.solve_problem(lp, objective_sense="minimize") self.assertAlmostEqual(solver.get_objective_value(lp), -2, places=4) # should now have obj = 4 solver.change_variable_objective(lp, 0, 2.) solver.solve_problem(lp, objective_sense="maximize") self.assertAlmostEqual(solver.get_objective_value(lp), 4, places=4) # make sure the solution looks good still solution = solver.format_solution(lp, self.infeasible_model) self.assertAlmostEqual(solution.x[0], 2, places=4) self.assertAlmostEqual(solution.x[1], -2, places=4) self.assertAlmostEqual(solution.x_dict["rxn1"], 2, places=4) self.assertAlmostEqual(solution.x_dict["rxn2"], -2, places=4) def test_set_objective_sense(self): solver = self.solver maximize = solver.create_problem(self.model, objective_sense="maximize") minimize = solver.create_problem(self.model, objective_sense="minimize") solver.solve_problem(maximize) solver.solve_problem(minimize) max_solution = solver.format_solution(maximize, self.model) min_solution = solver.format_solution(minimize, self.model) self.assertAlmostEqual(0, min_solution.f, places=4) self.assertEqual(min_solution.status, "optimal") self.assertAlmostEqual(self.old_solution, max_solution.f, places=4) self.assertEqual(max_solution.status, "optimal") # if we set minimize at creation, can we override it at solve solver.solve_problem(minimize, objective_sense="maximize") override_minimize = solver.format_solution(minimize, self.model) self.assertAlmostEqual(max_solution.f, override_minimize.f, places=4) def test_solve_mip(self): solver = self.solver if not hasattr(solver, "_SUPPORTS_MILP") or not solver._SUPPORTS_MILP: self.skipTest("no milp support") cobra_model = Model('MILP_implementation_test') constraint = Metabolite("constraint") constraint._bound = 2.5 x = Reaction("x") x.lower_bound = 0. x.objective_coefficient = 1. x.add_metabolites({constraint: 2.5}) y = Reaction("y") y.lower_bound = 0. y.objective_coefficient = 1. y.add_metabolites({constraint: 1.}) cobra_model.add_reactions([x, y]) float_sol = solver.solve(cobra_model) # add an integer constraint y.variable_kind = "integer" int_sol = solver.solve(cobra_model) self.assertAlmostEqual(float_sol.f, 2.5) self.assertAlmostEqual(float_sol.x_dict["y"], 2.5) self.assertEqual(int_sol.status, "optimal") self.assertAlmostEqual(int_sol.f, 2.2) self.assertAlmostEqual(int_sol.x_dict["y"], 2.0) def test_solve_infeasible(self): solver = self.solver solution = solver.solve(self.infeasible_model) self.assertEqual(solution.status, "infeasible") def test_independent_creation(self): solver = self.solver feasible_lp = solver.create_problem(self.model) infeasible_lp = solver.create_problem(self.infeasible_model) solver.solve_problem(feasible_lp) solver.solve_problem(infeasible_lp) feasible_solution = solver.format_solution(feasible_lp, self.model) infeasible_solution = solver.format_solution(infeasible_lp, self.infeasible_model) self.assertEqual(feasible_solution.status, "optimal") self.assertAlmostEqual(self.old_solution, feasible_solution.f, places=4) self.assertEqual(infeasible_solution.status, "infeasible") def test_change_coefficient(self): solver = self.solver c = Metabolite("c") c._bound = 6 x = Reaction("x") x.lower_bound = 1. y = Reaction("y") y.lower_bound = 0. x.add_metabolites({c: 1}) z = Reaction("z") z.add_metabolites({c: 1}) z.objective_coefficient = 1 m = Model("test_model") m.add_reactions([x, y, z]) # change an existing coefficient lp = solver.create_problem(m) solver.solve_problem(lp) sol1 = solver.format_solution(lp, m) self.assertEqual(sol1.status, "optimal") solver.change_coefficient(lp, 0, 0, 2) solver.solve_problem(lp) sol2 = solver.format_solution(lp, m) self.assertEqual(sol2.status, "optimal") self.assertAlmostEqual(sol1.f, 5.0) self.assertAlmostEqual(sol2.f, 4.0) # change a new coefficient z.objective_coefficient = 0. y.objective_coefficient = 1. lp = solver.create_problem(m) solver.change_coefficient(lp, 0, 1, 2) solver.solve_problem(lp) solution = solver.format_solution(lp, m) self.assertEqual(solution.status, "optimal") self.assertAlmostEqual(solution.x_dict["y"], 2.5) def test_inequality(self): # The space enclosed by the constraints is a 2D triangle with # vertexes as (3, 0), (1, 2), and (0, 1) solver = self.solver # c1 encodes y - x > 1 ==> y > x - 1 # c2 encodes y + x < 3 ==> y < 3 - x c1 = Metabolite("c1") c2 = Metabolite("c2") x = Reaction("x") x.lower_bound = 0 y = Reaction("y") y.lower_bound = 0 x.add_metabolites({c1: -1, c2: 1}) y.add_metabolites({c1: 1, c2: 1}) c1._bound = 1 c1._constraint_sense = "G" c2._bound = 3 c2._constraint_sense = "L" m = Model() m.add_reactions([x, y]) # test that optimal values are at the vertices m.objective = "x" self.assertAlmostEqual(solver.solve(m).f, 1.0) self.assertAlmostEqual(solver.solve(m).x_dict["y"], 2.0) m.objective = "y" self.assertAlmostEqual(solver.solve(m).f, 3.0) self.assertAlmostEqual(solver.solve(m, objective_sense="minimize").f, 1.0) @skipIf(scipy is None, "scipy required for quadratic objectives") def test_quadratic(self): solver = self.solver if not hasattr(solver, "set_quadratic_objective"): self.skipTest("no qp support") c = Metabolite("c") c._bound = 2 x = Reaction("x") x.objective_coefficient = -0.5 x.lower_bound = 0. y = Reaction("y") y.objective_coefficient = -0.5 y.lower_bound = 0. x.add_metabolites({c: 1}) y.add_metabolites({c: 1}) m = Model() m.add_reactions([x, y]) lp = self.solver.create_problem(m) quadratic_obj = scipy.sparse.eye(2) * 2 solver.set_quadratic_objective(lp, quadratic_obj) solver.solve_problem(lp, objective_sense="minimize") solution = solver.format_solution(lp, m) self.assertEqual(solution.status, "optimal") # Respecting linear objectives also makes the objective value 1. self.assertAlmostEqual(solution.f, 1.) self.assertAlmostEqual(solution.x_dict["y"], 1.) self.assertAlmostEqual(solution.x_dict["y"], 1.) # When the linear objectives are removed the objective value is 2. solver.change_variable_objective(lp, 0, 0.) solver.change_variable_objective(lp, 1, 0.) solver.solve_problem(lp, objective_sense="minimize") solution = solver.format_solution(lp, m) self.assertEqual(solution.status, "optimal") self.assertAlmostEqual(solution.f, 2.) # test quadratic from solve function solution = solver.solve(m, quadratic_component=quadratic_obj, objective_sense="minimize") self.assertEqual(solution.status, "optimal") self.assertAlmostEqual(solution.f, 1.) c._bound = 6 z = Reaction("z") x.objective_coefficient = 0. y.objective_coefficient = 0. z.lower_bound = 0. z.add_metabolites({c: 1}) m.add_reaction(z) solution = solver.solve(m, quadratic_component=scipy.sparse.eye(3), objective_sense="minimize") # should be 12 not 24 because 1/2 (V^T Q V) self.assertEqual(solution.status, "optimal") self.assertAlmostEqual(solution.f, 6) self.assertAlmostEqual(solution.x_dict["x"], 2, places=6) self.assertAlmostEqual(solution.x_dict["y"], 2, places=6) self.assertAlmostEqual(solution.x_dict["z"], 2, places=6) for solver_name in solvers.solver_dict: exec('class %sTester(TestCobraSolver, TestCase): None' % solver_name) exec('%sTester.solver_name = "%s"' % (solver_name, solver_name)) # make a test suite to run all of the tests loader = TestLoader() suite = loader.loadTestsFromModule(sys.modules[__name__]) def test_all(): TextTestRunner(verbosity=2).run(suite) if __name__ == "__main__": test_all() cobrapy-0.4.0b6/cobra/test/unit_tests.py000066400000000000000000000734031263606473700202470ustar00rootroot00000000000000import sys from unittest import TestCase, TestLoader, TextTestRunner, skipIf from copy import copy, deepcopy from pickle import loads, dumps, HIGHEST_PROTOCOL import warnings import re if __name__ == "__main__": sys.path.insert(0, "../..") from cobra.test import create_test_model from cobra import Object, Model, Metabolite, Reaction, DictList sys.path.pop(0) else: from . import create_test_model from .. import Object, Model, Metabolite, Reaction, DictList # libraries which may or may not be installed libraries = ["scipy"] for library in libraries: try: exec("import %s" % library) except ImportError: exec("%s = None" % library) class TestDictList(TestCase): def setUp(self): self.obj = Object("test1") self.list = DictList() self.list.append(self.obj) def testContains(self): self.assertIn(self.obj, self.list) self.assertIn(self.obj.id, self.list) self.assertNotIn(Object("not_in"), self.list) self.assertNotIn('not_in', self.list) def testIndex(self): self.assertEqual(self.list.index("test1"), 0) self.assertEqual(self.list.index(self.obj), 0) self.assertRaises(ValueError, self.list.index, "f") self.assertRaises(ValueError, self.list.index, Object("f")) # ensure trying to index with an object that is a different object # also raises an error self.assertRaises(ValueError, self.list.index, Object("test1")) def testIndependent(self): a = DictList([Object("o1"), Object("o2")]) b = DictList() self.assertIn("o1", a) self.assertNotIn("o1", b) b.append(Object("o3")) self.assertNotIn("o3", a) self.assertIn("o3", b) def testAppend(self): obj2 = Object("test2") self.list.append(obj2) self.assertRaises(ValueError, self.list.append, Object("test1")) self.assertEqual(self.list.index(obj2), 1) self.assertEqual(self.list[1], obj2) self.assertIs(self.list.get_by_id("test2"), obj2) self.assertEqual(len(self.list), 2) def testInsert(self): obj2 = Object("a") self.list.insert(0, obj2) self.assertEqual(self.list.index(obj2), 0) self.assertEqual(self.list.index("test1"), 1) self.assertIs(self.list.get_by_id("a"), obj2) self.assertEqual(len(self.list), 2) self.assertRaises(ValueError, self.list.append, obj2) def testExtend(self): obj_list = [Object("test%d" % (i)) for i in range(2, 10)] self.list.extend(obj_list) self.assertEqual(self.list[1].id, "test2") self.assertEqual(self.list.get_by_id("test2"), obj_list[0]) self.assertEqual(self.list[8].id, "test9") self.assertEqual(len(self.list), 9) self.assertRaises(ValueError, self.list.extend, [Object("test1")]) # Even if the object is unique, if it is present twice in the new # list, it should still raise an exception self.assertRaises(ValueError, self.list.extend, [Object("testd"), Object("testd")]) def testIadd(self): obj_list = [Object("test%d" % (i)) for i in range(2, 10)] self.list += obj_list self.assertEqual(self.list[1].id, "test2") self.assertEqual(self.list.get_by_id("test2"), obj_list[0]) self.assertEqual(self.list[8].id, "test9") self.assertEqual(len(self.list), 9) def testAdd(self): obj_list = [Object("test%d" % (i)) for i in range(2, 10)] sum = self.list + obj_list self.assertIsNot(sum, self.list) self.assertIsNot(sum, obj_list) self.assertEqual(self.list[0].id, "test1") self.assertEqual(sum[1].id, "test2") self.assertEqual(sum.get_by_id("test2"), obj_list[0]) self.assertEqual(sum[8].id, "test9") self.assertEqual(len(self.list), 1) self.assertEqual(len(sum), 9) def testInitCopy(self): self.list.append(Object("test2")) copied = DictList(self.list) self.assertIsNot(self.list, copied) self.assertIsInstance(copied, self.list.__class__) self.assertEqual(len(self.list), len(copied)) for i, v in enumerate(self.list): self.assertEqual(self.list[i].id, copied[i].id) self.assertEqual(i, copied.index(v.id)) self.assertIs(self.list[i], copied[i]) self.assertIs(v, copied.get_by_id(v.id)) def testSlice(self): self.list.append(Object("test2")) self.list.append(Object("test3")) sliced = self.list[:-1] self.assertIsNot(self.list, sliced) self.assertIsInstance(sliced, self.list.__class__) self.assertEqual(len(self.list), len(sliced) + 1) for i, v in enumerate(sliced): self.assertEqual(self.list[i].id, sliced[i].id) self.assertEqual(i, sliced.index(v.id)) self.assertIs(self.list[i], sliced[i]) self.assertIs(self.list[i], sliced.get_by_id(v.id)) def testCopy(self): self.list.append(Object("test2")) copied = copy(self.list) self.assertIsNot(self.list, copied) self.assertIsInstance(copied, self.list.__class__) self.assertEqual(len(self.list), len(copied)) for i, v in enumerate(self.list): self.assertEqual(self.list[i].id, copied[i].id) self.assertEqual(i, copied.index(v.id)) self.assertIs(self.list[i], copied[i]) self.assertIs(v, copied.get_by_id(v.id)) def testDeepcopy(self): self.list.append(Object("test2")) copied = deepcopy(self.list) self.assertIsNot(self.list, copied) self.assertIsInstance(copied, self.list.__class__) self.assertEqual(len(self.list), len(copied)) for i, v in enumerate(self.list): self.assertEqual(self.list[i].id, copied[i].id) self.assertEqual(i, copied.index(v.id)) self.assertIsNot(self.list[i], copied[i]) self.assertIsNot(v, copied.get_by_id(v.id)) def testPickle(self): self.list.append(Object("test2")) for protocol in range(HIGHEST_PROTOCOL): pickle_str = dumps(self.list, protocol=protocol) copied = loads(pickle_str) self.assertIsNot(self.list, copied) self.assertIsInstance(copied, self.list.__class__) self.assertEqual(len(self.list), len(copied)) for i, v in enumerate(self.list): self.assertEqual(self.list[i].id, copied[i].id) self.assertEqual(i, copied.index(v.id)) self.assertIsNot(self.list[i], copied[i]) self.assertIsNot(v, copied.get_by_id(v.id)) def testQuery(self): obj2 = Object("test2") obj2.name = "foobar1" self.list.append(obj2) result = self.list.query("test1") # matches only test1 self.assertEqual(len(result), 1) self.assertEqual(result[0], self.obj) result = self.list.query("foo", "name") # matches only test2 self.assertEqual(len(result), 1) self.assertEqual(result[0], obj2) result = self.list.query("test") # matches test1 and test2 self.assertEqual(len(result), 2) # test with a regular expression result = self.list.query(re.compile("test[0-9]")) self.assertEqual(len(result), 2) result = self.list.query(re.compile("test[29]")) self.assertEqual(len(result), 1) # test query of name result = self.list.query(re.compile("foobar."), "name") self.assertEqual(len(result), 1) def testRemoval(self): obj_list = DictList(Object("test%d" % (i)) for i in range(2, 10)) del obj_list[3] self.assertNotIn("test5", obj_list) self.assertEqual(obj_list.index(obj_list[-1]), len(obj_list) - 1) self.assertEqual(len(obj_list), 7) del obj_list[3:5] self.assertNotIn("test6", obj_list) self.assertNotIn("test7", obj_list) self.assertEqual(obj_list.index(obj_list[-1]), len(obj_list) - 1) self.assertEqual(len(obj_list), 5) removed = obj_list.pop(1) self.assertEqual(obj_list.index(obj_list[-1]), len(obj_list) - 1) self.assertEqual(removed.id, "test3") self.assertNotIn("test3", obj_list) self.assertEqual(len(obj_list), 4) removed = obj_list.pop() self.assertEqual(removed.id, "test9") self.assertNotIn(removed.id, obj_list) self.assertEqual(len(obj_list), 3) def testSet(self): obj_list = DictList(Object("test%d" % (i)) for i in range(10)) obj_list[4] = Object("testa") self.assertEqual(obj_list.index("testa"), 4) self.assertEqual(obj_list[4].id, "testa") obj_list[5:7] = [Object("testb"), Object("testc")] self.assertEqual(obj_list.index("testb"), 5) self.assertEqual(obj_list[5].id, "testb") self.assertEqual(obj_list.index("testc"), 6) self.assertEqual(obj_list[6].id, "testc") # Even if the object is unique, if it is present twice in the new # list, it should still raise an exception self.assertRaises(ValueError, obj_list.__setitem__, slice(5, 7), [Object("testd"), Object("testd")]) def testSortandReverse(self): dl = DictList(Object("test%d" % (i)) for i in reversed(range(10))) self.assertEqual(dl[0].id, "test9") dl.sort() self.assertEqual(len(dl), 10) self.assertEqual(dl[0].id, "test0") self.assertEqual(dl.index("test0"), 0) dl.reverse() self.assertEqual(dl[0].id, "test9") self.assertEqual(dl.index("test0"), 9) def testDir(self): """makes sure tab complete will work""" attrs = dir(self.list) self.assertIn("test1", attrs) self.assertIn("_dict", attrs) # attribute of DictList def testUnion(self): self.list.union([Object("test1"), Object("test2")]) # should only add 1 element self.assertEqual(len(self.list), 2) self.assertEqual(self.list.index("test2"), 1) class CobraTestCase(TestCase): def setUp(self): self.model = create_test_model("textbook") self.model_class = Model class TestReactions(CobraTestCase): def testGPR(self): model = self.model_class() reaction = Reaction("test") # set a gpr to reaction not in a model reaction.gene_reaction_rule = "(g1 or g2) and g3" self.assertEqual(reaction.gene_reaction_rule, "(g1 or g2) and g3") self.assertEqual(len(reaction.genes), 3) # adding reaction with a GPR propagates to the model model.add_reaction(reaction) self.assertEqual(len(model.genes), 3) # ensure the gene objects are the same in the model and reaction reaction_gene = list(reaction.genes)[0] model_gene = model.genes.get_by_id(reaction_gene.id) self.assertIs(reaction_gene, model_gene) def testGPR_modification(self): model = self.model reaction = model.reactions.get_by_id("PGI") old_gene = list(reaction.genes)[0] old_gene_reaction_rule = reaction.gene_reaction_rule new_gene = model.genes.get_by_id("s0001") # add an existing 'gene' to the gpr reaction.gene_reaction_rule = 's0001' self.assertIn(new_gene, reaction.genes) self.assertIn(reaction, new_gene.reactions) # removed old gene correctly self.assertNotIn(old_gene, reaction.genes) self.assertNotIn(reaction, old_gene.reactions) # add a new 'gene' to the gpr reaction.gene_reaction_rule = 'fake_gene' self.assertTrue(model.genes.has_id("fake_gene")) fake_gene = model.genes.get_by_id("fake_gene") self.assertIn(fake_gene, reaction.genes) self.assertIn(reaction, fake_gene.reactions) fake_gene.name = "foo_gene" self.assertEqual(reaction.gene_name_reaction_rule, fake_gene.name) def test_add_metabolite(self): """adding a metabolite to a reaction in a model""" model = self.model reaction = model.reactions.get_by_id("PGI") reaction.add_metabolites({model.metabolites[0]: 1}) self.assertIn(model.metabolites[0], reaction.metabolites) fake_metabolite = Metabolite("fake") reaction.add_metabolites({fake_metabolite: 1}) self.assertIn(fake_metabolite, reaction.metabolites) self.assertTrue(model.metabolites.has_id("fake")) self.assertIs(model.metabolites.get_by_id("fake"), fake_metabolite) def test_subtract_metabolite(self): model = self.model reaction = model.reactions.get_by_id("PGI") reaction.subtract_metabolites(reaction.metabolites) self.assertEqual(len(reaction.metabolites), 0) def test_mass_balance(self): model = self.model reaction = model.reactions.get_by_id("PGI") # should be balanced now self.assertEqual(len(reaction.check_mass_balance()), 0) # should not be balanced after adding a hydrogen reaction.add_metabolites({model.metabolites.get_by_id("h_c"): 1}) imbalance = reaction.check_mass_balance() self.assertIn("H", imbalance) self.assertEqual(imbalance["H"], 1) def test_build_from_string(self): model = self.model m = len(model.metabolites) pgi = model.reactions.get_by_id("PGI") pgi.reaction = "g6p_c --> f6p_c" self.assertEqual(pgi.lower_bound, 0) pgi.reaction = "g6p_c <== f6p_c" self.assertEqual(pgi.upper_bound, 0) self.assertEqual(pgi.reaction.strip(), "g6p_c <-- f6p_c") pgi.reaction = "g6p_c --> f6p_c + h2o_c" self.assertIn(model.metabolites.h2o_c, pgi._metabolites) pgi.build_reaction_from_string("g6p_c --> f6p_c + foo", verbose=False) self.assertNotIn(model.metabolites.h2o_c, pgi._metabolites) self.assertIn("foo", model.metabolites) self.assertIn(model.metabolites.foo, pgi._metabolites) self.assertEqual(len(model.metabolites), m + 1) class TestCobraMetabolites(CobraTestCase): def test_metabolite_formula(self): met = Metabolite("water") met.formula = "H2O" self.assertEqual(met.elements, {"H": 2, "O": 1}) self.assertEqual(met.formula_weight, 18.01528) class TestCobraModel(CobraTestCase): """test core cobra functions""" def test_add_reaction(self): old_reaction_count = len(self.model.reactions) old_metabolite_count = len(self.model.metabolites) dummy_metabolite_1 = Metabolite("test_foo_1") dummy_metabolite_2 = Metabolite("test_foo_2") actual_metabolite = self.model.metabolites[0] copy_metabolite = self.model.metabolites[1].copy() dummy_reaction = Reaction("test_foo_reaction") dummy_reaction.add_metabolites({dummy_metabolite_1: -1, dummy_metabolite_2: 1, copy_metabolite: -2, actual_metabolite: 1}) self.model.add_reaction(dummy_reaction) self.assertEqual(self.model.reactions.get_by_id(dummy_reaction.id), dummy_reaction) for x in [dummy_metabolite_1, dummy_metabolite_2]: self.assertEqual(self.model.metabolites.get_by_id(x.id), x) # should have added 1 reaction and 2 metabolites self.assertEqual(len(self.model.reactions), old_reaction_count + 1) self.assertEqual(len(self.model.metabolites), old_metabolite_count + 2) # tests on theadded reaction reaction_in_model = self.model.reactions.get_by_id(dummy_reaction.id) self.assertIs(type(reaction_in_model), Reaction) self.assertIs(reaction_in_model, dummy_reaction) self.assertEqual(len(reaction_in_model._metabolites), 4) for i in reaction_in_model._metabolites: self.assertEqual(type(i), Metabolite) # tests on the added metabolites met1_in_model = self.model.metabolites.get_by_id(dummy_metabolite_1.id) self.assertIs(met1_in_model, dummy_metabolite_1) copy_in_model = self.model.metabolites.get_by_id(copy_metabolite.id) self.assertIsNot(copy_metabolite, copy_in_model) self.assertIs(type(copy_in_model), Metabolite) self.assertTrue(dummy_reaction in actual_metabolite._reaction) # test adding a different metabolite with the same name as an # existing one uses the metabolite in the model r2 = Reaction("test_foo_reaction2") self.model.add_reaction(r2) r2.add_metabolites({Metabolite(self.model.metabolites[0].id): 1}) self.assertIs(self.model.metabolites[0], list(r2._metabolites)[0]) def test_add_reaction_from_other_model(self): model = self.model other = model.copy() for i in other.reactions: i.id += "_other" other.repair() model.add_reactions(other.reactions) def test_model_remove_reaction(self): old_reaction_count = len(self.model.reactions) self.model.remove_reactions(["PGI"]) self.assertEqual(len(self.model.reactions), old_reaction_count - 1) with self.assertRaises(KeyError): self.model.reactions.get_by_id("PGI") self.model.remove_reactions(self.model.reactions[:1]) self.assertEqual(len(self.model.reactions), old_reaction_count - 2) tmp_metabolite = Metabolite("testing") self.model.reactions[0].add_metabolites({tmp_metabolite: 1}) self.assertIn(tmp_metabolite, self.model.metabolites) self.model.remove_reactions(self.model.reactions[:1], remove_orphans=True) self.assertNotIn(tmp_metabolite, self.model.metabolites) def test_reaction_remove(self): model = self.model old_reaction_count = len(model.reactions) tmp_metabolite = Metabolite("testing") # Delete without removing orphan model.reactions[0].add_metabolites({tmp_metabolite: 1}) self.assertEqual(len(tmp_metabolite.reactions), 1) # esnsure the stoichiometry is still the same using different objects removed_reaction = model.reactions[0] original_stoich = {i.id: value for i, value in removed_reaction._metabolites.items()} model.reactions[0].remove_from_model(remove_orphans=False) self.assertEqual(len(original_stoich), len(removed_reaction._metabolites)) for met in removed_reaction._metabolites: self.assertEqual(original_stoich[met.id], removed_reaction._metabolites[met]) self.assertIsNot(met, model.metabolites) # make sure it's still in the model self.assertIn(tmp_metabolite, model.metabolites) self.assertEqual(len(tmp_metabolite.reactions), 0) self.assertEqual(len(self.model.reactions), old_reaction_count - 1) # Now try it with removing orphans model.reactions[0].add_metabolites({tmp_metabolite: 1}) self.assertEqual(len(tmp_metabolite.reactions), 1) model.reactions[0].remove_from_model(remove_orphans=True) self.assertNotIn(tmp_metabolite, model.metabolites) self.assertEqual(len(tmp_metabolite.reactions), 0) self.assertEqual(len(self.model.reactions), old_reaction_count - 2) # It shouldn't remove orphans if it's in 2 reactions however model.reactions[0].add_metabolites({tmp_metabolite: 1}) model.reactions[1].add_metabolites({tmp_metabolite: 1}) self.assertEqual(len(tmp_metabolite.reactions), 2) model.reactions[0].remove_from_model(remove_orphans=False) self.assertIn(tmp_metabolite, model.metabolites) self.assertEqual(len(tmp_metabolite.reactions), 1) self.assertEqual(len(self.model.reactions), old_reaction_count - 3) def test_reaction_delete(self): model = self.model old_reaction_count = len(model.reactions) tmp_metabolite = Metabolite("testing") # Delete without removing orphan model.reactions[0].add_metabolites({tmp_metabolite: 1}) self.assertEqual(len(tmp_metabolite.reactions), 1) model.reactions[0].delete(remove_orphans=False) # make sure it's still in the model self.assertIn(tmp_metabolite, model.metabolites) self.assertEqual(len(tmp_metabolite.reactions), 0) self.assertEqual(len(self.model.reactions), old_reaction_count - 1) # Now try it with removing orphans model.reactions[0].add_metabolites({tmp_metabolite: 1}) self.assertEqual(len(tmp_metabolite.reactions), 1) model.reactions[0].delete(remove_orphans=True) self.assertNotIn(tmp_metabolite, model.metabolites) self.assertEqual(len(tmp_metabolite.reactions), 0) self.assertEqual(len(self.model.reactions), old_reaction_count - 2) # It shouldn't remove orphans if it's in 2 reactions however model.reactions[0].add_metabolites({tmp_metabolite: 1}) model.reactions[1].add_metabolites({tmp_metabolite: 1}) self.assertEqual(len(tmp_metabolite.reactions), 2) model.reactions[0].delete(remove_orphans=False) self.assertIn(tmp_metabolite, model.metabolites) self.assertEqual(len(tmp_metabolite.reactions), 1) self.assertEqual(len(self.model.reactions), old_reaction_count - 3) def test_remove_gene(self): target_gene = self.model.genes[0] gene_reactions = list(target_gene.reactions) with warnings.catch_warnings(): warnings.simplefilter("ignore") target_gene.remove_from_model() self.assertEqual(target_gene.model, None) # make sure the reaction was removed from the model self.assertNotIn(target_gene, self.model.genes) # ensure the old reactions no longer have a record of the gene for reaction in gene_reactions: self.assertNotIn(target_gene, reaction.genes) def test_copy(self): """modifying copy should not modify the original""" # test that deleting reactions in the copy does not change the # number of reactions in the original model model_copy = self.model.copy() old_reaction_count = len(self.model.reactions) self.assertEqual(len(self.model.reactions), len(model_copy.reactions)) self.assertEqual(len(self.model.metabolites), len(model_copy.metabolites)) model_copy.remove_reactions(model_copy.reactions[0:5]) self.assertEqual(old_reaction_count, len(self.model.reactions)) self.assertNotEqual(len(self.model.reactions), len(model_copy.reactions)) def test_deepcopy(self): """Reference structures are maintained when deepcopying""" model_copy = deepcopy(self.model) for gene, gene_copy in zip(self.model.genes, model_copy.genes): self.assertEqual(gene.id, gene_copy.id) reactions = sorted(i.id for i in gene.reactions) reactions_copy = sorted(i.id for i in gene_copy.reactions) self.assertEqual(reactions, reactions_copy) for reaction, reaction_copy in zip(self.model.reactions, model_copy.reactions): self.assertEqual(reaction.id, reaction_copy.id) metabolites = sorted(i.id for i in reaction._metabolites) metabolites_copy = sorted(i.id for i in reaction_copy._metabolites) self.assertEqual(metabolites, metabolites_copy) def test_add_reaction_orphans(self): """test reaction addition Need to verify that no orphan genes or metabolites are contained in reactions after adding them to the model. """ _model = self.model_class('test') _model.add_reactions([x.copy() for x in self.model.reactions]) _genes = [] _metabolites = [] for x in _model.reactions: _genes.extend(x.genes) _metabolites.extend(x.metabolites) orphan_genes = [x for x in _genes if x.model is not _model] orphan_metabolites = [x for x in _metabolites if x.model is not _model] self.assertEqual(len(orphan_genes), 0, msg='It looks like there are dangling genes when ' 'running Model.add_reactions') self.assertEqual(len(orphan_metabolites), 0, msg='It looks like there are dangling metabolites ' 'when running Model.add_reactions') def test_change_objective(self): biomass = self.model.reactions.get_by_id("Biomass_Ecoli_core") atpm = self.model.reactions.get_by_id("ATPM") self.model.objective = atpm.id self.assertEqual(atpm.objective_coefficient, 1.) self.assertEqual(biomass.objective_coefficient, 0.) self.assertEqual(self.model.objective, {atpm: 1.}) # change it back using object itself self.model.objective = biomass self.assertEqual(atpm.objective_coefficient, 0.) self.assertEqual(biomass.objective_coefficient, 1.) # set both to 1 with a list self.model.objective = [atpm, biomass] self.assertEqual(atpm.objective_coefficient, 1.) self.assertEqual(biomass.objective_coefficient, 1.) # set both using a dict self.model.objective = {atpm: 0.2, biomass: 0.3} self.assertEqual(atpm.objective_coefficient, 0.2) self.assertEqual(biomass.objective_coefficient, 0.3) # test setting by index self.model.objective = self.model.reactions.index(atpm) self.assertEqual(self.model.objective, {atpm: 1.}) # test by setting list of indexes self.model.objective = map(self.model.reactions.index, [atpm, biomass]) self.assertEqual(self.model.objective, {atpm: 1., biomass: 1.}) @skipIf(scipy is None, "scipy required for ArrayBasedModel") class TestCobraArrayModel(TestCobraModel): def setUp(self): model = create_test_model("textbook").to_array_based_model() self.model_class = model.__class__ self.model = model def test_array_based_model(self): m = len(self.model.metabolites) n = len(self.model.reactions) assertEqual = self.assertEqual # alias for matrix_type in ["scipy.dok_matrix", "scipy.lil_matrix"]: model = create_test_model("textbook").\ to_array_based_model(matrix_type=matrix_type) assertEqual(model.S[7, 0], -1) assertEqual(model.S[43, 0], 0) model.S[43, 0] = 1 assertEqual(model.S[43, 0], 1) assertEqual( model.reactions[0].metabolites[model.metabolites[43]], 1) model.S[43, 0] = 0 assertEqual(model.lower_bounds[0], model.reactions[0].lower_bound) assertEqual(model.lower_bounds[5], model.reactions[5].lower_bound) assertEqual(model.upper_bounds[0], model.reactions[0].upper_bound) assertEqual(model.upper_bounds[5], model.reactions[5].upper_bound) model.lower_bounds[6] = 2 self.assertEqual(model.lower_bounds[6], 2) self.assertEqual(model.reactions[6].lower_bound, 2) # this should fail because it is the wrong size with self.assertRaises(Exception): model.upper_bounds = [0, 1] model.upper_bounds = [0] * len(model.reactions) self.assertEqual(max(model.upper_bounds), 0) # test something for all the attributes model.lower_bounds[2] = -1 assertEqual(model.reactions[2].lower_bound, -1) assertEqual(model.lower_bounds[2], -1) model.objective_coefficients[2] = 1 assertEqual(model.reactions[2].objective_coefficient, 1) assertEqual(model.objective_coefficients[2], 1) model.b[2] = 1 assertEqual(model.metabolites[2]._bound, 1) assertEqual(model.b[2], 1) model.constraint_sense[2] = "L" assertEqual(model.metabolites[2]._constraint_sense, "L") assertEqual(model.constraint_sense[2], "L") # test resize matrix on reaction removal m, n = model.S.shape model.remove_reactions([model.reactions[2]], remove_orphans=False) self.assertEqual(len(model.metabolites), model.S.shape[0]) self.assertEqual(len(model.reactions), model.S.shape[1]) self.assertEqual(model.S.shape, (m, n - 1)) def test_array_based_model_add(self): m = len(self.model.metabolites) n = len(self.model.reactions) for matrix_type in ["scipy.dok_matrix", "scipy.lil_matrix"]: model = create_test_model("textbook").\ to_array_based_model(matrix_type=matrix_type) test_reaction = Reaction("test") test_reaction.add_metabolites({model.metabolites[0]: 4}) test_reaction.lower_bound = -3.14 model.add_reaction(test_reaction) self.assertEqual(len(model.reactions), n + 1) self.assertEqual(model.S.shape, (m, n + 1)) self.assertEqual(len(model.lower_bounds), n + 1) self.assertEqual(len(model.upper_bounds), n + 1) self.assertEqual(model.S[0, n], 4) self.assertEqual(model.S[7, 0], -1) self.assertEqual(model.lower_bounds[n], -3.14) def test_array_based_select(self): model = self.model atpm_select = model.reactions[model.lower_bounds > 0] self.assertEqual(len(atpm_select), 1) self.assertEqual(atpm_select[0].id, "ATPM") self.assertEqual(len(model.reactions[model.lower_bounds <= 0]), len(model.reactions) - 1) # mismatched dimensions should give an error with self.assertRaises(TypeError): model.reactions[[True, False]] # make a test suite to run all of the tests loader = TestLoader() suite = loader.loadTestsFromModule(sys.modules[__name__]) def test_all(): TextTestRunner(verbosity=2).run(suite) if __name__ == "__main__": test_all() cobrapy-0.4.0b6/cobra/topology/000077500000000000000000000000001263606473700163625ustar00rootroot00000000000000cobrapy-0.4.0b6/cobra/topology/__init__.py000066400000000000000000000003701263606473700204730ustar00rootroot00000000000000from os import name as __name from sys import modules as __modules from warnings import warn if __name == 'java': warn("%s is not yet supported on jython"%__modules[__name__]) else: from reporter_metabolites import * del __name, __modules cobrapy-0.4.0b6/cobra/topology/reporter_metabolites.py000066400000000000000000000150741263606473700231750ustar00rootroot00000000000000#cobra.topology.reporter_metabolites.py: Module for topological analysis of cobra_models #Based on Patil et al 2005 PNAS 102:2685-9 #TODO: Validate cobra.core compliance from __future__ import print_function from copy import deepcopy from numpy import array, corrcoef, mean, std, tril, where, unique, zeros from scipy.stats import norm, randint from collections import defaultdict from six import iteritems def identify_reporter_metabolites(cobra_model, reaction_scores_dict, number_of_randomizations=1000, number_of_layers=1, scoring_metric='default', score_type='p', entire_network=False, background_correction=True, ignore_external_boundary_reactions=False): """Calculate the aggregate Z-score for the metabolites in the model. Ignore reactions that are solely spontaneous or orphan. Allow the scores to have multiple columns / experiments. This will change the way the output is represented. cobra_model: A cobra.Model object TODO: CHANGE TO USING DICTIONARIES for the_reactions: the_scores reaction_scores_dict: A dictionary where the keys are reactions in cobra_model.reactions and the values are the scores. Currently, only supports a single numeric value as the value; however, this will be updated to allow for lists number_of_randomizations: Integer. Number of random shuffles of the scores to assess which are significant. number_of_layers: 1 is the only option supported scoring_metric: default means divide by k**0.5 score_type: 'p' Is the only option at the moment and indicates p-value. entire_network: Boolean. Currently, only compares scores calculated from the_reactions background_correction: Boolean. If True apply background correction to the aggreagate Z-score ignore_external_boundary_reactions: Not yet implemented. Boolean. If True do not count exchange reactions when calculating the score. """ #Add in a function to calculate based on correlation coefficients and to #deal with other multidimensional data. the_reactions = reaction_scores_dict.keys() the_scores = reaction_scores_dict.values() if score_type == 'p' and not hasattr(the_scores[0], '__iter__'): #minimum and maximum p-values are used to prevent numerical problems. #haven't decided whether an arbitrary min / max 1e-15 is preferred to #blunting the ends based on the values closest to 0 or 1. the_reactions = reaction_scores_dict.keys() the_scores = array(reaction_scores_dict.values()) minimum_p = min(the_scores[the_scores.nonzero()[0]]) maximum_p = max(the_scores[where(the_scores < 1)[0]]) the_scores[where(the_scores < minimum_p)] = minimum_p the_scores[where(the_scores > maximum_p)] = maximum_p the_scores = -norm.ppf(the_scores) #update the dictionary with the new scores reaction_scores_dict = dict(zip(the_reactions, the_scores)) elif hasattr(the_scores[0], '__iter__'): #In the case that the_scores is a list of lists, assume that each list is #the score for each reaction in the_reactions across all reactions. Then #for each metabolite, calculate the invnorm(|Pearson Correlation #Coefficient| for each reaction pair that it links. raise Exception("This isn't implemented yet") #Get the connectivity for each metabolite the_metabolites = set() [the_metabolites.update(x._metabolites) for x in reaction_scores_dict]; metabolite_scores = {} metabolite_connections = {} #Calculate the score for each metabolite for the_metabolite in the_metabolites: nonspontaneous_connections = [x for x in the_metabolite._reaction if x.gene_reaction_rule.lower() not in ['s0001', '']] tmp_score = 0 number_of_connections = len(nonspontaneous_connections) for the_reaction in nonspontaneous_connections: if the_reaction not in reaction_scores_dict: if not entire_network: number_of_connections -= 1 continue else: tmp_score += reaction_scores_dict[the_reaction] metabolite_scores[the_metabolite] = tmp_score metabolite_connections[the_metabolite] = number_of_connections #NOTE: Doing the corrections based only on the significantly perturbed scores #is probably going to underestimate the significance. if background_correction: correction_dict = {} for i in set(metabolite_connections.values()): #if entire_network # add in a section to deal with the situation where #the entire network structure is considered by only have p-values for #a limited subset. # #Basically, what we're doing here is that for each i we select i #scores number_of_randomizations times the_random_indices = randint.rvs(0,len(the_scores), size=(number_of_randomizations, i)) random_score_distribution = array([sum(the_scores[x]) for x in list(the_random_indices)]) /i**0.5 correction_dict[i] = [mean(random_score_distribution), std(random_score_distribution,ddof=1)] for the_metabolite, the_score in iteritems(metabolite_scores): number_of_connections = metabolite_connections[the_metabolite] if number_of_connections > 0: #Correct based on background distribution if background_correction: #if the list of scores is only for significant perturbations then the #background correction shouldn't be applied because the current sampling #method only takes into account the_scores not the entire network. #It'd be more accurate to assign unscored reactions a default score. the_score = ((the_score / number_of_connections**.5) - correction_dict[number_of_connections][0]) / \ correction_dict[number_of_connections][1] else: the_score = the_score / number_of_connections**.5 #Update the score metabolite_scores[the_metabolite] = the_score return_dictionary = {'scores': metabolite_scores, 'connections': metabolite_connections} if background_correction: return_dictionary['corrections'] = correction_dict return(return_dictionary) cobrapy-0.4.0b6/cobra/version.py000066400000000000000000000107511263606473700165510ustar00rootroot00000000000000#!/usr/bin/env python """Get version identification from git See the documentation of get_version for more information """ from __future__ import print_function from subprocess import check_output, CalledProcessError from os import path, name, devnull, environ, listdir __all__ = ("get_version",) CURRENT_DIRECTORY = path.dirname(path.abspath(__file__)) VERSION_FILE = path.join(CURRENT_DIRECTORY, "VERSION") GIT_COMMAND = "git" if name == "nt": def find_git_on_windows(): """find the path to the git executable on windows""" # first see if git is in the path try: check_output(["where", "/Q", "git"]) # if this command succeeded, git is in the path return "git" # catch the exception thrown if git was not found except CalledProcessError: pass # There are several locations git.exe may be hiding possible_locations = [] # look in program files for msysgit if "PROGRAMFILES(X86)" in environ: possible_locations.append("%s/Git/cmd/git.exe" % environ["PROGRAMFILES(X86)"]) if "PROGRAMFILES" in environ: possible_locations.append("%s/Git/cmd/git.exe" % environ["PROGRAMFILES"]) # look for the github version of git if "LOCALAPPDATA" in environ: github_dir = "%s/GitHub" % environ["LOCALAPPDATA"] if path.isdir(github_dir): for subdir in listdir(github_dir): if not subdir.startswith("PortableGit"): continue possible_locations.append("%s/%s/bin/git.exe" % (github_dir, subdir)) for possible_location in possible_locations: if path.isfile(possible_location): return possible_location # git was not found return "git" GIT_COMMAND = find_git_on_windows() def call_git_describe(abbrev=7): """return the string output of git desribe""" try: with open(devnull, "w") as fnull: arguments = [GIT_COMMAND, "describe", "--tags", "--abbrev=%d" % abbrev] return check_output(arguments, cwd=CURRENT_DIRECTORY, stderr=fnull).decode("ascii").strip() except (OSError, CalledProcessError): return None def format_git_describe(git_str, pep440=False): """format the result of calling 'git describe' as a python version""" if git_str is None: return None if "-" not in git_str: # currently at a tag return git_str else: # formatted as version-N-githash # want to convert to version.postN-githash git_str = git_str.replace("-", ".post", 1) if pep440: # does not allow git hash afterwards return git_str.split("-")[0] else: return git_str.replace("-g", "+git") def read_release_version(): """Read version information from VERSION file""" try: with open(VERSION_FILE, "r") as infile: version = str(infile.read().strip()) if len(version) == 0: version = None return version except IOError: return None def update_release_version(): """Update VERSION file""" version = get_version(pep440=True) with open(VERSION_FILE, "w") as outfile: outfile.write(version) outfile.write("\n") def get_version(pep440=False): """Tracks the version number. pep440: bool When True, this function returns a version string suitable for a release as defined by PEP 440. When False, the githash (if available) will be appended to the version string. The file VERSION holds the version information. If this is not a git repository, then it is reasonable to assume that the version is not being incremented and the version returned will be the release version as read from the file. However, if the script is located within an active git repository, git-describe is used to get the version information. The file VERSION will need to be changed by manually. This should be done before running git tag (set to the same as the version in the tag). """ git_version = format_git_describe(call_git_describe(), pep440=pep440) if git_version is None: # not a git repository return read_release_version() return git_version if __name__ == "__main__": print(get_version()) cobrapy-0.4.0b6/documentation_builder/000077500000000000000000000000001263606473700177775ustar00rootroot00000000000000cobrapy-0.4.0b6/documentation_builder/Makefile000066400000000000000000000127021263606473700214410ustar00rootroot00000000000000# Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = ../documentation # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @echo " dirhtml to make HTML files named index.html in directories" @echo " singlehtml to make a single large HTML file" @echo " pickle to make pickle files" @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" @echo " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" @echo " text to make text files" @echo " man to make manual pages" @echo " texinfo to make Texinfo files" @echo " info to make Texinfo files and run them through makeinfo" @echo " gettext to make PO message catalogs" @echo " changes to make an overview of all changed/added/deprecated items" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" clean: -rm -rf $(BUILDDIR)/* html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle @echo @echo "Build finished; now you can process the pickle files." json: $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json @echo @echo "Build finished; now you can process the JSON files." htmlhelp: $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." qthelp: $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp @echo @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/cobra.qhcp" @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/cobra.qhc" devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @echo "To view the help file:" @echo "# mkdir -p $$HOME/.local/share/devhelp/cobra" @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/cobra" @echo "# devhelp" epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." latex: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." latexpdf: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." $(MAKE) -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." man: $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." texinfo: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." @echo "Run \`make' in that directory to run these through makeinfo" \ "(use \`make info' here to do that automatically)." info: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo "Running Texinfo files through makeinfo..." make -C $(BUILDDIR)/texinfo info @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." gettext: $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale @echo @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." changes: $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes @echo @echo "The overview file is in $(BUILDDIR)/changes." linkcheck: $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." cobrapy-0.4.0b6/documentation_builder/autodoc.sh000077500000000000000000000003701263606473700217740ustar00rootroot00000000000000rm cobra.rst cobra.*.rst sphinx-apidoc -o . ../cobra ../cobra/oven ../cobra/external \ ../cobra/test ../cobra/solvers/ ../cobra/test_all.py \ ../cobra/version.py ../cobra/solvers/legacy.py rm modules.rst ipython nbconvert --to=rst *.ipynb cobrapy-0.4.0b6/documentation_builder/building_model.ipynb000066400000000000000000000176301263606473700240260ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Building a Model\n", "\n", "This simple example demonstrates how to create a model, create a reaction, and then add the reaction to the model.\n", "\n", "We'll use the '3OAS140' reaction from the STM_1.0 model:\n", "\n", "1.0 malACP[c] + 1.0 h[c] + 1.0 ddcaACP[c] $\\rightarrow$ 1.0 co2[c] + 1.0 ACP[c] + 1.0 3omrsACP[c]\n", "\n", "First, create the model and reaction." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from cobra import Model, Reaction, Metabolite\n", "# Best practise: SBML compliant IDs\n", "cobra_model = Model('example_cobra_model')\n", "\n", "reaction = Reaction('3OAS140')\n", "reaction.name = '3 oxoacyl acyl carrier protein synthase n C140 '\n", "reaction.subsystem = 'Cell Envelope Biosynthesis'\n", "reaction.lower_bound = 0. # This is the default\n", "reaction.upper_bound = 1000. # This is the default\n", "reaction.objective_coefficient = 0. # this is the default" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to create metabolites as well. If we were using an existing model, we could use get_by_id to get the apporpriate Metabolite objects instead." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "ACP_c = Metabolite('ACP_c',\n", " formula='C11H21N2O7PRS',\n", " name='acyl-carrier-protein',\n", " compartment='c')\n", "omrsACP_c = Metabolite('3omrsACP_c',\n", " formula='C25H45N2O9PRS',\n", " name='3-Oxotetradecanoyl-acyl-carrier-protein',\n", " compartment='c')\n", "co2_c = Metabolite('co2_c',\n", " formula='CO2',\n", " name='CO2',\n", " compartment='c')\n", "malACP_c = Metabolite('malACP_c',\n", " formula='C14H22N2O10PRS',\n", " name='Malonyl-acyl-carrier-protein',\n", " compartment='c')\n", "h_c = Metabolite('h_c',\n", " formula='H',\n", " name='H',\n", " compartment='c')\n", "ddcaACP_c = Metabolite('ddcaACP_c',\n", " formula='C23H43N2O8PRS',\n", " name='Dodecanoyl-ACP-n-C120ACP',\n", " compartment='c')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Adding metabolites to a reaction requires using a dictionary of the metabolites and their stoichiometric coefficients. A group of metabolites can be added all at once, or they can be added one at a time." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'malACP_c + h_c + ddcaACP_c --> 3omrsACP_c + ACP_c + co2_c'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "reaction.add_metabolites({malACP_c: -1.0,\n", " h_c: -1.0,\n", " ddcaACP_c: -1.0,\n", " co2_c: 1.0,\n", " ACP_c: 1.0,\n", " omrsACP_c: 1.0})\n", "\n", "\n", "reaction.reaction # This gives a string representation of the reaction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The gene_reaction_rule is a boolean representation of the gene requirements for this reaction to be active as described in [Schellenberger et al 2011 Nature Protocols 6(9):1290-307](http://dx.doi.org/doi:10.1038/nprot.2011.308). We will assign the gene reaction rule string, which will automatically create the corresponding gene objects." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "frozenset({, })" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "reaction.gene_reaction_rule = '( STM2378 or STM1197 )'\n", "reaction.genes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At this point in time, the model is still empty" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 reactions in initial model\n", "0 metabolites in initial model\n", "0 genes in initial model\n" ] } ], "source": [ "print('%i reactions in initial model' % len(cobra_model.reactions))\n", "print('%i metabolites in initial model' % len(cobra_model.metabolites))\n", "print('%i genes in initial model' % len(cobra_model.genes))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will add the reaction to the model, which will also add all associated metabolites and genes" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 reaction in model\n", "6 metabolites in model\n", "2 genes in model\n" ] } ], "source": [ "cobra_model.add_reaction(reaction)\n", "\n", "# Now there are things in the model\n", "print('%i reaction in model' % len(cobra_model.reactions))\n", "print('%i metabolites in model' % len(cobra_model.metabolites))\n", "print('%i genes in model' % len(cobra_model.genes))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can iterate through the model objects to observe the contents" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactions\n", "---------\n", "3OAS140 : malACP_c + h_c + ddcaACP_c --> 3omrsACP_c + ACP_c + co2_c\n", "Metabolites\n", "-----------\n", "3omrsACP_c : C25H45N2O9PRS\n", "ACP_c : C11H21N2O7PRS\n", "co2_c : CO2\n", "malACP_c : C14H22N2O10PRS\n", "h_c : H\n", "ddcaACP_c : C23H43N2O8PRS\n", "Genes\n", "-----\n", "STM2378 is associated with reactions: {3OAS140}\n", "STM1197 is associated with reactions: {3OAS140}\n" ] } ], "source": [ "# Iterate through the the objects in the model\n", "print(\"Reactions\")\n", "print(\"---------\")\n", "for x in cobra_model.reactions:\n", " print(\"%s : %s\" % (x.id, x.reaction))\n", "print(\"Metabolites\")\n", "print(\"-----------\")\n", "for x in cobra_model.metabolites:\n", " print('%s : %s' % (x.id, x.formula))\n", "print(\"Genes\")\n", "print(\"-----\")\n", "for x in cobra_model.genes:\n", " reactions_list_str = \"{\" + \", \".join((i.id for i in x.reactions)) + \"}\"\n", " print(\"%s is associated with reactions: %s\" % (x.id, reactions_list_str))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/building_model.rst000066400000000000000000000121511263606473700235060ustar00rootroot00000000000000 Building a Model ================ This simple example demonstrates how to create a model, create a reaction, and then add the reaction to the model. We'll use the '3OAS140' reaction from the STM\_1.0 model: 1.0 malACP[c] + 1.0 h[c] + 1.0 ddcaACP[c] :math:`\rightarrow` 1.0 co2[c] + 1.0 ACP[c] + 1.0 3omrsACP[c] First, create the model and reaction. .. code:: python from cobra import Model, Reaction, Metabolite # Best practise: SBML compliant IDs cobra_model = Model('example_cobra_model') reaction = Reaction('3OAS140') reaction.name = '3 oxoacyl acyl carrier protein synthase n C140 ' reaction.subsystem = 'Cell Envelope Biosynthesis' reaction.lower_bound = 0. # This is the default reaction.upper_bound = 1000. # This is the default reaction.objective_coefficient = 0. # this is the default We need to create metabolites as well. If we were using an existing model, we could use get\_by\_id to get the apporpriate Metabolite objects instead. .. code:: python ACP_c = Metabolite('ACP_c', formula='C11H21N2O7PRS', name='acyl-carrier-protein', compartment='c') omrsACP_c = Metabolite('3omrsACP_c', formula='C25H45N2O9PRS', name='3-Oxotetradecanoyl-acyl-carrier-protein', compartment='c') co2_c = Metabolite('co2_c', formula='CO2', name='CO2', compartment='c') malACP_c = Metabolite('malACP_c', formula='C14H22N2O10PRS', name='Malonyl-acyl-carrier-protein', compartment='c') h_c = Metabolite('h_c', formula='H', name='H', compartment='c') ddcaACP_c = Metabolite('ddcaACP_c', formula='C23H43N2O8PRS', name='Dodecanoyl-ACP-n-C120ACP', compartment='c') Adding metabolites to a reaction requires using a dictionary of the metabolites and their stoichiometric coefficients. A group of metabolites can be added all at once, or they can be added one at a time. .. code:: python reaction.add_metabolites({malACP_c: -1.0, h_c: -1.0, ddcaACP_c: -1.0, co2_c: 1.0, ACP_c: 1.0, omrsACP_c: 1.0}) reaction.reaction # This gives a string representation of the reaction .. parsed-literal:: 'malACP_c + h_c + ddcaACP_c --> 3omrsACP_c + ACP_c + co2_c' The gene\_reaction\_rule is a boolean representation of the gene requirements for this reaction to be active as described in `Schellenberger et al 2011 Nature Protocols 6(9):1290-307 `__. We will assign the gene reaction rule string, which will automatically create the corresponding gene objects. .. code:: python reaction.gene_reaction_rule = '( STM2378 or STM1197 )' reaction.genes .. parsed-literal:: frozenset({, }) At this point in time, the model is still empty .. code:: python print('%i reactions in initial model' % len(cobra_model.reactions)) print('%i metabolites in initial model' % len(cobra_model.metabolites)) print('%i genes in initial model' % len(cobra_model.genes)) .. parsed-literal:: 0 reactions in initial model 0 metabolites in initial model 0 genes in initial model We will add the reaction to the model, which will also add all associated metabolites and genes .. code:: python cobra_model.add_reaction(reaction) # Now there are things in the model print('%i reaction in model' % len(cobra_model.reactions)) print('%i metabolites in model' % len(cobra_model.metabolites)) print('%i genes in model' % len(cobra_model.genes)) .. parsed-literal:: 1 reaction in model 6 metabolites in model 2 genes in model We can iterate through the model objects to observe the contents .. code:: python # Iterate through the the objects in the model print("Reactions") print("---------") for x in cobra_model.reactions: print("%s : %s" % (x.id, x.reaction)) print("Metabolites") print("-----------") for x in cobra_model.metabolites: print('%s : %s' % (x.id, x.formula)) print("Genes") print("-----") for x in cobra_model.genes: reactions_list_str = "{" + ", ".join((i.id for i in x.reactions)) + "}" print("%s is associated with reactions: %s" % (x.id, reactions_list_str)) .. parsed-literal:: Reactions --------- 3OAS140 : malACP_c + h_c + ddcaACP_c --> 3omrsACP_c + ACP_c + co2_c Metabolites ----------- 3omrsACP_c : C25H45N2O9PRS ACP_c : C11H21N2O7PRS co2_c : CO2 malACP_c : C14H22N2O10PRS h_c : H ddcaACP_c : C23H43N2O8PRS Genes ----- STM2378 is associated with reactions: {3OAS140} STM1197 is associated with reactions: {3OAS140} cobrapy-0.4.0b6/documentation_builder/cobra.core.rst000066400000000000000000000032001263606473700225410ustar00rootroot00000000000000cobra.core package ================== Submodules ---------- cobra.core.ArrayBasedModel module --------------------------------- .. automodule:: cobra.core.ArrayBasedModel :members: :undoc-members: :show-inheritance: cobra.core.DictList module -------------------------- .. automodule:: cobra.core.DictList :members: :undoc-members: :show-inheritance: cobra.core.Formula module ------------------------- .. automodule:: cobra.core.Formula :members: :undoc-members: :show-inheritance: cobra.core.Gene module ---------------------- .. automodule:: cobra.core.Gene :members: :undoc-members: :show-inheritance: cobra.core.Metabolite module ---------------------------- .. automodule:: cobra.core.Metabolite :members: :undoc-members: :show-inheritance: cobra.core.Model module ----------------------- .. automodule:: cobra.core.Model :members: :undoc-members: :show-inheritance: cobra.core.Object module ------------------------ .. automodule:: cobra.core.Object :members: :undoc-members: :show-inheritance: cobra.core.Reaction module -------------------------- .. automodule:: cobra.core.Reaction :members: :undoc-members: :show-inheritance: cobra.core.Solution module -------------------------- .. automodule:: cobra.core.Solution :members: :undoc-members: :show-inheritance: cobra.core.Species module ------------------------- .. automodule:: cobra.core.Species :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: cobra.core :members: :undoc-members: :show-inheritance: cobrapy-0.4.0b6/documentation_builder/cobra.flux_analysis.rst000066400000000000000000000043401263606473700245000ustar00rootroot00000000000000cobra.flux_analysis package =========================== Submodules ---------- cobra.flux_analysis.deletion_worker module ------------------------------------------ .. automodule:: cobra.flux_analysis.deletion_worker :members: :undoc-members: :show-inheritance: cobra.flux_analysis.double_deletion module ------------------------------------------ .. automodule:: cobra.flux_analysis.double_deletion :members: :undoc-members: :show-inheritance: cobra.flux_analysis.essentiality module --------------------------------------- .. automodule:: cobra.flux_analysis.essentiality :members: :undoc-members: :show-inheritance: cobra.flux_analysis.gapfilling module ------------------------------------- .. automodule:: cobra.flux_analysis.gapfilling :members: :undoc-members: :show-inheritance: cobra.flux_analysis.loopless module ----------------------------------- .. automodule:: cobra.flux_analysis.loopless :members: :undoc-members: :show-inheritance: cobra.flux_analysis.moma module ------------------------------- .. automodule:: cobra.flux_analysis.moma :members: :undoc-members: :show-inheritance: cobra.flux_analysis.parsimonious module --------------------------------------- .. automodule:: cobra.flux_analysis.parsimonious :members: :undoc-members: :show-inheritance: cobra.flux_analysis.phenotype_phase_plane module ------------------------------------------------ .. automodule:: cobra.flux_analysis.phenotype_phase_plane :members: :undoc-members: :show-inheritance: cobra.flux_analysis.reaction module ----------------------------------- .. automodule:: cobra.flux_analysis.reaction :members: :undoc-members: :show-inheritance: cobra.flux_analysis.single_deletion module ------------------------------------------ .. automodule:: cobra.flux_analysis.single_deletion :members: :undoc-members: :show-inheritance: cobra.flux_analysis.variability module -------------------------------------- .. automodule:: cobra.flux_analysis.variability :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: cobra.flux_analysis :members: :undoc-members: :show-inheritance: cobrapy-0.4.0b6/documentation_builder/cobra.io.rst000066400000000000000000000012721263606473700222270ustar00rootroot00000000000000cobra.io package ================ Submodules ---------- cobra.io.json module -------------------- .. automodule:: cobra.io.json :members: :undoc-members: :show-inheritance: cobra.io.mat module ------------------- .. automodule:: cobra.io.mat :members: :undoc-members: :show-inheritance: cobra.io.sbml module -------------------- .. automodule:: cobra.io.sbml :members: :undoc-members: :show-inheritance: cobra.io.sbml3 module --------------------- .. automodule:: cobra.io.sbml3 :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: cobra.io :members: :undoc-members: :show-inheritance: cobrapy-0.4.0b6/documentation_builder/cobra.manipulation.rst000066400000000000000000000010321263606473700243120ustar00rootroot00000000000000cobra.manipulation package ========================== Submodules ---------- cobra.manipulation.delete module -------------------------------- .. automodule:: cobra.manipulation.delete :members: :undoc-members: :show-inheritance: cobra.manipulation.modify module -------------------------------- .. automodule:: cobra.manipulation.modify :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: cobra.manipulation :members: :undoc-members: :show-inheritance: cobrapy-0.4.0b6/documentation_builder/cobra.rst000066400000000000000000000004231263606473700216160ustar00rootroot00000000000000cobra package ============= Subpackages ----------- .. toctree:: cobra.core cobra.flux_analysis cobra.io cobra.manipulation cobra.topology Module contents --------------- .. automodule:: cobra :members: :undoc-members: :show-inheritance: cobrapy-0.4.0b6/documentation_builder/cobra.topology.rst000066400000000000000000000006051263606473700234730ustar00rootroot00000000000000cobra.topology package ====================== Submodules ---------- cobra.topology.reporter_metabolites module ------------------------------------------ .. automodule:: cobra.topology.reporter_metabolites :members: :undoc-members: :show-inheritance: Module contents --------------- .. automodule:: cobra.topology :members: :undoc-members: :show-inheritance: cobrapy-0.4.0b6/documentation_builder/conf.py000066400000000000000000000220421263606473700212760ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # cobra documentation build configuration file, created by # sphinx-quickstart on Wed Jun 13 19:17:34 2012. # # This file is execfile()d with the current directory set to its containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import sys import os # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. #sys.path.insert(0, os.path.abspath('.')) sys.path.insert(0, os.path.abspath('..')) # In order to build documentation that requires libraries to import class Mock(object): def __init__(self, *args, **kwargs): return def __call__(self, *args, **kwargs): return Mock() @classmethod def __getattr__(cls, name): if name in ('__file__', '__path__'): return '/dev/null' else: return Mock() MOCK_MODULES = ['numpy', 'scipy', 'scipy.sparse', 'scipy.io', 'scipy.stats', 'glpk', 'gurobipy', 'gurobipy.GRB', 'cplex', 'pp', 'libsbml', 'cplex.exceptions'] for mod_name in MOCK_MODULES: sys.modules[mod_name] = Mock() # -- General configuration ----------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. #needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinx.ext.mathjax', 'sphinx.ext.viewcode', 'sphinx.ext.napoleon', 'sphinx.ext.mathjax'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' # The encoding of source files. #source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' # General information about the project. project = u'cobra' copyright = u'2015, Daniel Robert Hyduke and Ali Ebrahim' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. from cobra.version import get_version, read_release_version version = read_release_version() # The full version, including alpha/beta/rc tags. release = get_version() # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. #language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: #today = '' # Else, today_fmt is used as the format for a strftime call. #today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = ['_build', 'version.py'] # The reST default role (used for this markup: `text`) to use for all documents. #default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. #add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). #add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. #show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. #modindex_common_prefix = [] # -- Options for HTML output --------------------------------------------------- mathjax_path = 'https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. #html_theme = 'alabaster' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. #html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. #html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". #html_title = None # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. #html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. #html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". #html_static_path = ['_static'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. #html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. #html_use_smartypants = True # Custom sidebar templates, maps document names to template names. #html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. #html_additional_pages = {} # If false, no module index is generated. #html_domain_indices = True # If false, no index is generated. #html_use_index = True # If true, the index is split into individual pages for each letter. #html_split_index = False # If true, links to the reST sources are added to the pages. #html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. #html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. #html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. #html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). #html_file_suffix = None # Output file base name for HTML help builder. htmlhelp_basename = 'cobradoc' # -- Options for LaTeX output -------------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). 'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). #'pointsize': '10pt', # Additional stuff for the LaTeX preamble. 'preamble': r'\usepackage{amsmath,amssymb}', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ ('index', 'cobra.tex', u'cobra Documentation', u'Daniel Robert Hyduke and Ali Ebrahim', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. #latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. #latex_use_parts = False # If true, show page references after internal links. #latex_show_pagerefs = False # If true, show URL addresses after external links. #latex_show_urls = False # Documents to append as an appendix to all manuals. #latex_appendices = [] # If false, no module index is generated. #latex_domain_indices = True # -- Options for manual page output -------------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ('index', 'cobra', u'cobra Documentation', [u'Daniel Robert Hyduke and Ali Ebrahim'], 1) ] # If true, show URL addresses after external links. #man_show_urls = False # -- Options for Texinfo output ------------------------------------------------ # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ('index', 'cobra', u'cobra Documentation', u'Daniel Robert Hyduke and Ali Ebrahim', 'cobra', 'A package for constraints-based modeling of biological networks', 'Miscellaneous'), ] # Documents to append as an appendix to all manuals. #texinfo_appendices = [] # If false, no module index is generated. #texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. #texinfo_show_urls = 'footnote' # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = {"http://docs.python.org/": None, "http://docs.scipy.org/doc/numpy/": None, "http://docs.scipy.org/doc/scipy/reference": None} intersphinx_cache_limit = 10 # days to keep the cached inventories cobrapy-0.4.0b6/documentation_builder/deletions.ipynb000066400000000000000000000646021263606473700230400ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Simulating Deletions" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import pandas\n", "from time import time\n", "\n", "import cobra.test\n", "\n", "cobra_model = cobra.test.create_test_model(\"textbook\")\n", "ecoli_model = cobra.test.create_test_model(\"ecoli\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Single Deletions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Perform all single gene deletions on a model" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "growth_rates, statuses = cobra.flux_analysis.single_gene_deletion(cobra_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These can also be done for only a subset of genes" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
growth_ratesstatus
b01160.782351optimal
b01180.873922optimal
b03510.873922optimal
b03560.873922optimal
b04740.873922optimal
b07260.858307optimal
b07270.858307optimal
b12410.873922optimal
b12760.873922optimal
b14780.873922optimal
b18490.873922optimal
b22960.873922optimal
b25870.873922optimal
b31150.873922optimal
b37340.374230optimal
b37350.374230optimal
b37360.374230optimal
b37370.374230optimal
b37380.374230optimal
s00010.211141optimal
\n", "
" ], "text/plain": [ " growth_rates status\n", "b0116 0.782351 optimal\n", "b0118 0.873922 optimal\n", "b0351 0.873922 optimal\n", "b0356 0.873922 optimal\n", "b0474 0.873922 optimal\n", "b0726 0.858307 optimal\n", "b0727 0.858307 optimal\n", "b1241 0.873922 optimal\n", "b1276 0.873922 optimal\n", "b1478 0.873922 optimal\n", "b1849 0.873922 optimal\n", "b2296 0.873922 optimal\n", "b2587 0.873922 optimal\n", "b3115 0.873922 optimal\n", "b3734 0.374230 optimal\n", "b3735 0.374230 optimal\n", "b3736 0.374230 optimal\n", "b3737 0.374230 optimal\n", "b3738 0.374230 optimal\n", "s0001 0.211141 optimal" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "growth_rates, statuses = cobra.flux_analysis.single_gene_deletion(cobra_model, cobra_model.genes[:20])\n", "pandas.DataFrame.from_dict({\"growth_rates\": growth_rates, \"status\": statuses})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This can also be done for reactions" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
growth_ratesstatus
ACALD8.739215e-01optimal
ACALDt8.739215e-01optimal
ACKr8.739215e-01optimal
ACONTa-3.963237e-27optimal
ACONTb6.162976e-33optimal
ACt2r8.739215e-01optimal
ADK18.739215e-01optimal
AKGDH8.583074e-01optimal
AKGt2r8.739215e-01optimal
ALCD2x8.739215e-01optimal
ATPM9.166475e-01optimal
ATPS4r3.742299e-01optimal
Biomass_Ecoli_core0.000000e+00optimal
CO2t4.616696e-01optimal
CS-5.916457e-30optimal
CYTBD2.116629e-01optimal
D_LACt28.739215e-01optimal
ENO-3.266892e-18optimal
ETOHt2r8.739215e-01optimal
EX_ac_e8.739215e-01optimal
\n", "
" ], "text/plain": [ " growth_rates status\n", "ACALD 8.739215e-01 optimal\n", "ACALDt 8.739215e-01 optimal\n", "ACKr 8.739215e-01 optimal\n", "ACONTa -3.963237e-27 optimal\n", "ACONTb 6.162976e-33 optimal\n", "ACt2r 8.739215e-01 optimal\n", "ADK1 8.739215e-01 optimal\n", "AKGDH 8.583074e-01 optimal\n", "AKGt2r 8.739215e-01 optimal\n", "ALCD2x 8.739215e-01 optimal\n", "ATPM 9.166475e-01 optimal\n", "ATPS4r 3.742299e-01 optimal\n", "Biomass_Ecoli_core 0.000000e+00 optimal\n", "CO2t 4.616696e-01 optimal\n", "CS -5.916457e-30 optimal\n", "CYTBD 2.116629e-01 optimal\n", "D_LACt2 8.739215e-01 optimal\n", "ENO -3.266892e-18 optimal\n", "ETOHt2r 8.739215e-01 optimal\n", "EX_ac_e 8.739215e-01 optimal" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "growth_rates, statuses = cobra.flux_analysis.single_reaction_deletion(cobra_model, cobra_model.reactions[:20])\n", "pandas.DataFrame.from_dict({\"growth_rates\": growth_rates, \"status\": statuses})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Double Deletions\n", "\n", "Double deletions run in a similar way. Passing in return_frame=True will cause them to format the results as a pandas Dataframe" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
b0724b0723b0721b0729b0728b2464b0008b2935b2465b3919
b07240.8142980.8142980.8142980.8142980.8142980.8142980.8142980.8142980.8142980.704037
b07230.8142980.8142980.8142980.8142980.8142980.8142980.8142980.8142980.8142980.704037
b07210.8142980.8142980.8142980.8142980.8142980.8142980.8142980.8142980.8142980.704037
b07290.8142980.8142980.8142980.8583070.8583070.8583070.8583070.8583070.8583070.704037
b07280.8142980.8142980.8142980.8583070.8583070.8583070.8583070.8583070.8583070.704037
b24640.8142980.8142980.8142980.8583070.8583070.8739220.8647590.8739220.8739220.704037
b00080.8142980.8142980.8142980.8583070.8583070.8647590.8739220.8739220.8739220.704037
b29350.8142980.8142980.8142980.8583070.8583070.8739220.8739220.8739220.0000000.704037
b24650.8142980.8142980.8142980.8583070.8583070.8739220.8739220.0000000.8739220.704037
b39190.7040370.7040370.7040370.7040370.7040370.7040370.7040370.7040370.7040370.704037
\n", "
" ], "text/plain": [ " b0724 b0723 b0721 b0729 b0728 b2464 b0008 \\\n", "b0724 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 \n", "b0723 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 \n", "b0721 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 \n", "b0729 0.814298 0.814298 0.814298 0.858307 0.858307 0.858307 0.858307 \n", "b0728 0.814298 0.814298 0.814298 0.858307 0.858307 0.858307 0.858307 \n", "b2464 0.814298 0.814298 0.814298 0.858307 0.858307 0.873922 0.864759 \n", "b0008 0.814298 0.814298 0.814298 0.858307 0.858307 0.864759 0.873922 \n", "b2935 0.814298 0.814298 0.814298 0.858307 0.858307 0.873922 0.873922 \n", "b2465 0.814298 0.814298 0.814298 0.858307 0.858307 0.873922 0.873922 \n", "b3919 0.704037 0.704037 0.704037 0.704037 0.704037 0.704037 0.704037 \n", "\n", " b2935 b2465 b3919 \n", "b0724 0.814298 0.814298 0.704037 \n", "b0723 0.814298 0.814298 0.704037 \n", "b0721 0.814298 0.814298 0.704037 \n", "b0729 0.858307 0.858307 0.704037 \n", "b0728 0.858307 0.858307 0.704037 \n", "b2464 0.873922 0.873922 0.704037 \n", "b0008 0.873922 0.873922 0.704037 \n", "b2935 0.873922 0.000000 0.704037 \n", "b2465 0.000000 0.873922 0.704037 \n", "b3919 0.704037 0.704037 0.704037 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cobra.flux_analysis.double_gene_deletion(cobra_model, cobra_model.genes[-10:], return_frame=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default, the double deletion function will automatically use multiprocessing, splitting the task over up to 4 cores if they are available. The number of cores can be manually sepcified as well. Setting use of a single core will disable use of the multiprocessing library, which often aids debuggging." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Double gene deletions for 100 genes completed in 1.69 sec with 2 cores\n", "Double gene deletions for 100 genes completed in 2.02 sec with 1 core\n", "Speedup of 1.20x\n" ] } ], "source": [ "start = time() # start timer()\n", "cobra.flux_analysis.double_gene_deletion(ecoli_model, ecoli_model.genes[:100], number_of_processes=2)\n", "t1 = time() - start\n", "print(\"Double gene deletions for 100 genes completed in %.2f sec with 2 cores\" % t1)\n", "\n", "start = time() # start timer()\n", "cobra.flux_analysis.double_gene_deletion(ecoli_model, ecoli_model.genes[:100], number_of_processes=1)\n", "t2 = time() - start\n", "print(\"Double gene deletions for 100 genes completed in %.2f sec with 1 core\" % t2)\n", "\n", "print(\"Speedup of %.2fx\" % (t2/t1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Double deletions can also be run for reactions" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ACALDACALDtACKrACONTaACONTbACt2rADK1AKGDHAKGt2rALCD2x
ACALD0.8739220.8739220.873922000.8739220.8739220.8583070.8739220.873922
ACALDt0.8739220.8739220.873922000.8739220.8739220.8583070.8739220.873922
ACKr0.8739220.8739220.873922000.8739220.8739220.8583070.8739220.873922
ACONTa0.0000000.0000000.000000000.0000000.0000000.0000000.0000000.000000
ACONTb0.0000000.0000000.000000000.0000000.0000000.0000000.0000000.000000
ACt2r0.8739220.8739220.873922000.8739220.8739220.8583070.8739220.873922
ADK10.8739220.8739220.873922000.8739220.8739220.8583070.8739220.873922
AKGDH0.8583070.8583070.858307000.8583070.8583070.8583070.8583070.858307
AKGt2r0.8739220.8739220.873922000.8739220.8739220.8583070.8739220.873922
ALCD2x0.8739220.8739220.873922000.8739220.8739220.8583070.8739220.873922
\n", "
" ], "text/plain": [ " ACALD ACALDt ACKr ACONTa ACONTb ACt2r ADK1 \\\n", "ACALD 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 \n", "ACALDt 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 \n", "ACKr 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 \n", "ACONTa 0.000000 0.000000 0.000000 0 0 0.000000 0.000000 \n", "ACONTb 0.000000 0.000000 0.000000 0 0 0.000000 0.000000 \n", "ACt2r 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 \n", "ADK1 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 \n", "AKGDH 0.858307 0.858307 0.858307 0 0 0.858307 0.858307 \n", "AKGt2r 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 \n", "ALCD2x 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 \n", "\n", " AKGDH AKGt2r ALCD2x \n", "ACALD 0.858307 0.873922 0.873922 \n", "ACALDt 0.858307 0.873922 0.873922 \n", "ACKr 0.858307 0.873922 0.873922 \n", "ACONTa 0.000000 0.000000 0.000000 \n", "ACONTb 0.000000 0.000000 0.000000 \n", "ACt2r 0.858307 0.873922 0.873922 \n", "ADK1 0.858307 0.873922 0.873922 \n", "AKGDH 0.858307 0.858307 0.858307 \n", "AKGt2r 0.858307 0.873922 0.873922 \n", "ALCD2x 0.858307 0.873922 0.873922 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cobra.flux_analysis.double_reaction_deletion(cobra_model, cobra_model.reactions[:10], return_frame=True)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/deletions.rst000066400000000000000000000350661263606473700225310ustar00rootroot00000000000000 Simulating Deletions ==================== .. code:: python import pandas from time import time import cobra.test cobra_model = cobra.test.create_test_model("textbook") ecoli_model = cobra.test.create_test_model("ecoli") Single Deletions ---------------- Perform all single gene deletions on a model .. code:: python growth_rates, statuses = cobra.flux_analysis.single_gene_deletion(cobra_model) These can also be done for only a subset of genes .. code:: python growth_rates, statuses = cobra.flux_analysis.single_gene_deletion(cobra_model, cobra_model.genes[:20]) pandas.DataFrame.from_dict({"growth_rates": growth_rates, "status": statuses}) .. raw:: html
growth_rates status
b0116 0.782351 optimal
b0118 0.873922 optimal
b0351 0.873922 optimal
b0356 0.873922 optimal
b0474 0.873922 optimal
b0726 0.858307 optimal
b0727 0.858307 optimal
b1241 0.873922 optimal
b1276 0.873922 optimal
b1478 0.873922 optimal
b1849 0.873922 optimal
b2296 0.873922 optimal
b2587 0.873922 optimal
b3115 0.873922 optimal
b3734 0.374230 optimal
b3735 0.374230 optimal
b3736 0.374230 optimal
b3737 0.374230 optimal
b3738 0.374230 optimal
s0001 0.211141 optimal
This can also be done for reactions .. code:: python growth_rates, statuses = cobra.flux_analysis.single_reaction_deletion(cobra_model, cobra_model.reactions[:20]) pandas.DataFrame.from_dict({"growth_rates": growth_rates, "status": statuses}) .. raw:: html
growth_rates status
ACALD 8.739215e-01 optimal
ACALDt 8.739215e-01 optimal
ACKr 8.739215e-01 optimal
ACONTa -3.963237e-27 optimal
ACONTb 6.162976e-33 optimal
ACt2r 8.739215e-01 optimal
ADK1 8.739215e-01 optimal
AKGDH 8.583074e-01 optimal
AKGt2r 8.739215e-01 optimal
ALCD2x 8.739215e-01 optimal
ATPM 9.166475e-01 optimal
ATPS4r 3.742299e-01 optimal
Biomass_Ecoli_core 0.000000e+00 optimal
CO2t 4.616696e-01 optimal
CS -5.916457e-30 optimal
CYTBD 2.116629e-01 optimal
D_LACt2 8.739215e-01 optimal
ENO -3.266892e-18 optimal
ETOHt2r 8.739215e-01 optimal
EX_ac_e 8.739215e-01 optimal
Double Deletions ---------------- Double deletions run in a similar way. Passing in return\_frame=True will cause them to format the results as a pandas Dataframe .. code:: python cobra.flux_analysis.double_gene_deletion(cobra_model, cobra_model.genes[-10:], return_frame=True) .. raw:: html
b0724 b0723 b0721 b0729 b0728 b2464 b0008 b2935 b2465 b3919
b0724 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.704037
b0723 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.704037
b0721 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.814298 0.704037
b0729 0.814298 0.814298 0.814298 0.858307 0.858307 0.858307 0.858307 0.858307 0.858307 0.704037
b0728 0.814298 0.814298 0.814298 0.858307 0.858307 0.858307 0.858307 0.858307 0.858307 0.704037
b2464 0.814298 0.814298 0.814298 0.858307 0.858307 0.873922 0.864759 0.873922 0.873922 0.704037
b0008 0.814298 0.814298 0.814298 0.858307 0.858307 0.864759 0.873922 0.873922 0.873922 0.704037
b2935 0.814298 0.814298 0.814298 0.858307 0.858307 0.873922 0.873922 0.873922 0.000000 0.704037
b2465 0.814298 0.814298 0.814298 0.858307 0.858307 0.873922 0.873922 0.000000 0.873922 0.704037
b3919 0.704037 0.704037 0.704037 0.704037 0.704037 0.704037 0.704037 0.704037 0.704037 0.704037
By default, the double deletion function will automatically use multiprocessing, splitting the task over up to 4 cores if they are available. The number of cores can be manually sepcified as well. Setting use of a single core will disable use of the multiprocessing library, which often aids debuggging. .. code:: python start = time() # start timer() cobra.flux_analysis.double_gene_deletion(ecoli_model, ecoli_model.genes[:100], number_of_processes=2) t1 = time() - start print("Double gene deletions for 100 genes completed in %.2f sec with 2 cores" % t1) start = time() # start timer() cobra.flux_analysis.double_gene_deletion(ecoli_model, ecoli_model.genes[:100], number_of_processes=1) t2 = time() - start print("Double gene deletions for 100 genes completed in %.2f sec with 1 core" % t2) print("Speedup of %.2fx" % (t2/t1)) .. parsed-literal:: Double gene deletions for 100 genes completed in 1.69 sec with 2 cores Double gene deletions for 100 genes completed in 2.02 sec with 1 core Speedup of 1.20x Double deletions can also be run for reactions .. code:: python cobra.flux_analysis.double_reaction_deletion(cobra_model, cobra_model.reactions[:10], return_frame=True) .. raw:: html
ACALD ACALDt ACKr ACONTa ACONTb ACt2r ADK1 AKGDH AKGt2r ALCD2x
ACALD 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 0.858307 0.873922 0.873922
ACALDt 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 0.858307 0.873922 0.873922
ACKr 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 0.858307 0.873922 0.873922
ACONTa 0.000000 0.000000 0.000000 0 0 0.000000 0.000000 0.000000 0.000000 0.000000
ACONTb 0.000000 0.000000 0.000000 0 0 0.000000 0.000000 0.000000 0.000000 0.000000
ACt2r 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 0.858307 0.873922 0.873922
ADK1 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 0.858307 0.873922 0.873922
AKGDH 0.858307 0.858307 0.858307 0 0 0.858307 0.858307 0.858307 0.858307 0.858307
AKGt2r 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 0.858307 0.873922 0.873922
ALCD2x 0.873922 0.873922 0.873922 0 0 0.873922 0.873922 0.858307 0.873922 0.873922
cobrapy-0.4.0b6/documentation_builder/faq.ipynb000066400000000000000000000175711263606473700216240ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# FAQ" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This document will address frequently asked questions not addressed in other pages of the documentation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### How do I install cobrapy?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Please see the [INSTALL.md](https://github.com/opencobra/cobrapy/blob/master/INSTALL.md) file." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### How do I cite cobrapy?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Please cite the 2013 publication: [10.1186/1752-0509-7-74](http://dx.doi.org/doi:10.1186/1752-0509-7-74)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### How do I rename reactions or metabolites?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "TL;DR Use Model.repair afterwards\n", "\n", "When renaming metabolites or reactions, there are issues because cobra indexes based off of ID's, which can cause errors. For example:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "KeyError('test_dcaACP_c',)\n" ] } ], "source": [ "from __future__ import print_function\n", "import cobra.test\n", "model = cobra.test.create_test_model()\n", "\n", "for metabolite in model.metabolites:\n", " metabolite.id = \"test_\" + metabolite.id\n", "\n", "try:\n", " model.metabolites.get_by_id(model.metabolites[0].id)\n", "except KeyError as e:\n", " print(repr(e))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Model.repair function will rebuild the necessary indexes" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.repair()\n", "model.metabolites.get_by_id(model.metabolites[0].id)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### How do I delete a gene?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That depends on what precisely you mean by delete a gene.\n", "\n", "If you want to simulate the model with a gene knockout, use the cobra.maniupulation.delete_model_genes function. The effects of this function are reversed by cobra.manipulation.undelete_model_genes." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "bounds before knockout: (-1000.0, 1000.0)\n", "bounds after knockouts (0.0, 0.0)\n" ] } ], "source": [ "model = cobra.test.create_test_model()\n", "PGI = model.reactions.get_by_id(\"PGI\")\n", "print(\"bounds before knockout:\", (PGI.lower_bound, PGI.upper_bound))\n", "cobra.manipulation.delete_model_genes(model, [\"STM4221\"])\n", "print(\"bounds after knockouts\", (PGI.lower_bound, PGI.upper_bound))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you want to actually remove all traces of a gene from a model, this is more difficult because this will require changing all the gene_reaction_rule strings for reactions involving the gene." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### How do I change the reversibility of a Reaction?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reaction.reversibility is a property in cobra which is computed when it is requested from the lower and upper bounds." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = cobra.test.create_test_model()\n", "model.reactions.get_by_id(\"PGI\").reversibility" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Trying to set it directly will result in an error: " ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "AttributeError(\"can't set attribute\",)\n" ] } ], "source": [ "try:\n", " model.reactions.get_by_id(\"PGI\").reversibility = False\n", "except Exception as e:\n", " print(repr(e))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The way to change the reversibility is to change the bounds to make the reaction irreversible." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.reactions.get_by_id(\"PGI\").lower_bound = 10\n", "model.reactions.get_by_id(\"PGI\").reversibility" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### How do I generate an LP file from a COBRA model?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While the cobrapy does not include python code to support this feature directly, many of the bundled solvers have this capability. Create the problem with one of these solvers, and use its appropriate function.\n", "\n", "Please note that unlike the LP file format, the MPS file format does not specify objective direction and is always a minimzation. Some (but not all) solvers will rewrite the maximization as a minimzation." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "model = cobra.test.create_test_model()\n", "# glpk through cglpk\n", "glp = cobra.solvers.cglpk.create_problem(model)\n", "glp.write(\"test.lp\")\n", "glp.write(\"test.mps\") # will not rewrite objective\n", "# gurobi\n", "gurobi_problem = cobra.solvers.gurobi_solver.create_problem(model)\n", "gurobi_problem.write(\"test.lp\")\n", "gurobi_problem.write(\"test.mps\") # rewrites objective\n", "# cplex\n", "cplex_problem = cobra.solvers.cplex_solver.create_problem(model)\n", "cplex_problem.write(\"test.lp\")\n", "cplex_problem.write(\"test.mps\") # rewrites objective" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### How do I visualize my flux solutions?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "cobrapy works well with the [escher](https://escher.github.io/) package, which is well suited to this purpose. Consult the [escher documentation](https://escher.readthedocs.org/en/latest/) for examples." ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/faq.rst000066400000000000000000000106171263606473700213050ustar00rootroot00000000000000 FAQ === This document will address frequently asked questions not addressed in other pages of the documentation. How do I install cobrapy? ~~~~~~~~~~~~~~~~~~~~~~~~~ Please see the `INSTALL.md `__ file. How do I cite cobrapy? ~~~~~~~~~~~~~~~~~~~~~~ Please cite the 2013 publication: `10.1186/1752-0509-7-74 `__ How do I rename reactions or metabolites? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TL;DR Use Model.repair afterwards When renaming metabolites or reactions, there are issues because cobra indexes based off of ID's, which can cause errors. For example: .. code:: python from __future__ import print_function import cobra.test model = cobra.test.create_test_model() for metabolite in model.metabolites: metabolite.id = "test_" + metabolite.id try: model.metabolites.get_by_id(model.metabolites[0].id) except KeyError as e: print(repr(e)) .. parsed-literal:: KeyError('test_dcaACP_c',) The Model.repair function will rebuild the necessary indexes .. code:: python model.repair() model.metabolites.get_by_id(model.metabolites[0].id) .. parsed-literal:: How do I delete a gene? ~~~~~~~~~~~~~~~~~~~~~~~ That depends on what precisely you mean by delete a gene. If you want to simulate the model with a gene knockout, use the cobra.maniupulation.delete\_model\_genes function. The effects of this function are reversed by cobra.manipulation.undelete\_model\_genes. .. code:: python model = cobra.test.create_test_model() PGI = model.reactions.get_by_id("PGI") print("bounds before knockout:", (PGI.lower_bound, PGI.upper_bound)) cobra.manipulation.delete_model_genes(model, ["STM4221"]) print("bounds after knockouts", (PGI.lower_bound, PGI.upper_bound)) .. parsed-literal:: bounds before knockout: (-1000.0, 1000.0) bounds after knockouts (0.0, 0.0) If you want to actually remove all traces of a gene from a model, this is more difficult because this will require changing all the gene\_reaction\_rule strings for reactions involving the gene. How do I change the reversibility of a Reaction? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Reaction.reversibility is a property in cobra which is computed when it is requested from the lower and upper bounds. .. code:: python model = cobra.test.create_test_model() model.reactions.get_by_id("PGI").reversibility .. parsed-literal:: True Trying to set it directly will result in an error: .. code:: python try: model.reactions.get_by_id("PGI").reversibility = False except Exception as e: print(repr(e)) .. parsed-literal:: AttributeError("can't set attribute",) The way to change the reversibility is to change the bounds to make the reaction irreversible. .. code:: python model.reactions.get_by_id("PGI").lower_bound = 10 model.reactions.get_by_id("PGI").reversibility .. parsed-literal:: False How do I generate an LP file from a COBRA model? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ While the cobrapy does not include python code to support this feature directly, many of the bundled solvers have this capability. Create the problem with one of these solvers, and use its appropriate function. Please note that unlike the LP file format, the MPS file format does not specify objective direction and is always a minimzation. Some (but not all) solvers will rewrite the maximization as a minimzation. .. code:: python model = cobra.test.create_test_model() # glpk through cglpk glp = cobra.solvers.cglpk.create_problem(model) glp.write("test.lp") glp.write("test.mps") # will not rewrite objective # gurobi gurobi_problem = cobra.solvers.gurobi_solver.create_problem(model) gurobi_problem.write("test.lp") gurobi_problem.write("test.mps") # rewrites objective # cplex cplex_problem = cobra.solvers.cplex_solver.create_problem(model) cplex_problem.write("test.lp") cplex_problem.write("test.mps") # rewrites objective How do I visualize my flux solutions? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cobrapy works well with the `escher `__ package, which is well suited to this purpose. Consult the `escher documentation `__ for examples. cobrapy-0.4.0b6/documentation_builder/gapfilling.ipynb000066400000000000000000000104641263606473700231630ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Gapfillling\n", "\n", "GrowMatch and SMILEY are gap-filling algorithms, which try to to make the minimal number of changes to a model and allow it to simulate growth. For more information, see [Kumar et al.](http://dx.doi.org/10.1371/journal.pcbi.1000308). Please note that these algorithms are Mixed-Integer Linear Programs, which need solvers such as gurobi or cplex to function correctly." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import cobra.test\n", "\n", "model = cobra.test.create_test_model(\"salmonella\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this model D-Fructose-6-phosphate is an essential metabolite. We will remove all the reactions using it, and at them to a separate model." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# remove some reactions and add them to the universal reactions\n", "Universal = cobra.Model(\"Universal_Reactions\")\n", "for i in [i.id for i in model.metabolites.f6p_c.reactions]:\n", " reaction = model.reactions.get_by_id(i)\n", " Universal.add_reaction(reaction.copy())\n", " reaction.remove_from_model()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, because of these gaps, the model won't grow." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "3.067723590211908e-08" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.optimize().f" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will use GrowMatch to add back the minimal number of reactions from this set of \"universal\" reactions (in this case just the ones we removed) to allow it to grow." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[[,\n", " ,\n", " ,\n", " ,\n", " ]]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cobra.flux_analysis.growMatch(model, Universal)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can obtain multiple possible reaction sets by having the algorithm go through multiple iterations." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "---- Run 1 ----\n", "FBP\n", "GF6PTA\n", "MAN6PI_reverse\n", "PGI_reverse\n", "TKT2_reverse\n", "---- Run 2 ----\n", "TALA\n", "F6PP\n", "GF6PTA\n", "MAN6PI_reverse\n", "F6PA_reverse\n", "---- Run 3 ----\n", "F6PP\n", "GF6PTA\n", "MAN6PI_reverse\n", "F6PA_reverse\n", "TKT2_reverse\n", "---- Run 4 ----\n", "TALA\n", "FBP\n", "GF6PTA\n", "MAN6PI_reverse\n", "PGI_reverse\n" ] } ], "source": [ "result = cobra.flux_analysis.growMatch(model, Universal, iterations=4)\n", "for i, entries in enumerate(result):\n", " print(\"---- Run %d ----\" % (i + 1))\n", " for e in entries:\n", " print(e.id)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/gapfilling.rst000066400000000000000000000044401263606473700226470ustar00rootroot00000000000000 Gapfillling =========== GrowMatch and SMILEY are gap-filling algorithms, which try to to make the minimal number of changes to a model and allow it to simulate growth. For more information, see `Kumar et al. `__. Please note that these algorithms are Mixed-Integer Linear Programs, which need solvers such as gurobi or cplex to function correctly. .. code:: python import cobra.test model = cobra.test.create_test_model("salmonella") In this model D-Fructose-6-phosphate is an essential metabolite. We will remove all the reactions using it, and at them to a separate model. .. code:: python # remove some reactions and add them to the universal reactions Universal = cobra.Model("Universal_Reactions") for i in [i.id for i in model.metabolites.f6p_c.reactions]: reaction = model.reactions.get_by_id(i) Universal.add_reaction(reaction.copy()) reaction.remove_from_model() Now, because of these gaps, the model won't grow. .. code:: python model.optimize().f .. parsed-literal:: 3.067723590211908e-08 We will use GrowMatch to add back the minimal number of reactions from this set of "universal" reactions (in this case just the ones we removed) to allow it to grow. .. code:: python cobra.flux_analysis.growMatch(model, Universal) .. parsed-literal:: [[, , , , ]] We can obtain multiple possible reaction sets by having the algorithm go through multiple iterations. .. code:: python result = cobra.flux_analysis.growMatch(model, Universal, iterations=4) for i, entries in enumerate(result): print("---- Run %d ----" % (i + 1)) for e in entries: print(e.id) .. parsed-literal:: ---- Run 1 ---- FBP GF6PTA MAN6PI_reverse PGI_reverse TKT2_reverse ---- Run 2 ---- TALA F6PP GF6PTA MAN6PI_reverse F6PA_reverse ---- Run 3 ---- F6PP GF6PTA MAN6PI_reverse F6PA_reverse TKT2_reverse ---- Run 4 ---- TALA FBP GF6PTA MAN6PI_reverse PGI_reverse cobrapy-0.4.0b6/documentation_builder/getting_started.ipynb000066400000000000000000000430161263606473700242350ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Getting Started\n", "\n", "To begin with, cobrapy comes with bundled models for _Salmonella_ and _E. coli_, as well as a \"textbook\" model of _E. coli_ core metabolism. To load a test model, type" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from __future__ import print_function\n", "import cobra.test\n", "\n", "model = cobra.test.create_test_model(\"textbook\") # \"ecoli\" and \"salmonella\" are also valid arguments" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The reactions, metabolites, and genes attributes of the cobrapy model are a special type of list called a DictList, and each one is made up of Reaction, Metabolite and Gene objects respectively." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "95\n", "72\n", "137\n" ] } ], "source": [ "print(len(model.reactions))\n", "print(len(model.metabolites))\n", "print(len(model.genes))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Just like a regular list, objects in the DictList can be retrived by index. For example, to get the 30th reaction in the model (at index 29 because of [0-indexing](https://en.wikipedia.org/wiki/Z ero-based_numbering)):" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.reactions[29]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Addictionally, items can be retrived by their id using the get_by_id() function. For example, to get the cytosolic atp metabolite object (the id is \"atp_c\"), we can do the following:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.metabolites.get_by_id(\"atp_c\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As an added bonus, users with an interactive shell such as IPython will be able to tab-complete to list elements inside a list. While this is not recommended behavior for most code because of the possibility for characters like \"-\" inside ids, this is very useful while in an interactive prompt:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "-10.0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.reactions.EX_glc__D_e.lower_bound" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Reactions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will consider the reaction glucose 6-phosphate isomerase, which interconverts glucose 6-phosphate and fructose 6-phosphate. The reaction id for this reaction in our test model is PGI." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pgi = model.reactions.get_by_id(\"PGI\")\n", "pgi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can view the full name and reaction catalyzed as strings" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "glucose-6-phosphate isomerase\n", "g6p_c <=> f6p_c\n" ] } ], "source": [ "print(pgi.name)\n", "print(pgi.reaction)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also view reaction upper and lower bounds. Because the pgi.lower_bound < 0, and pgi.upper_bound > 0, pgi is reversible" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-1000.0 < pgi < 1000.0\n", "True\n" ] } ], "source": [ "print(pgi.lower_bound, \"< pgi <\", pgi.upper_bound)\n", "print(pgi.reversibility)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also ensure the reaction is mass balanced. This function will return elements which violate mass balance. If it comes back empty, then the reaction is mass balanced." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{}" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pgi.check_mass_balance()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to add a metabolite, we pass in a dict with the metabolite object and its coefficient" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'g6p_c + h_c <=> f6p_c'" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pgi.add_metabolites({model.metabolites.get_by_id(\"h_c\"): -1})\n", "pgi.reaction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The reaction is no longer mass balanced" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{'H': -1.0}" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pgi.check_mass_balance()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can remove the metabolite, and the reaction will be balanced once again." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "g6p_c <=> f6p_c\n", "{}\n" ] } ], "source": [ "pgi.pop(model.metabolites.get_by_id(\"h_c\"))\n", "print(pgi.reaction)\n", "print(pgi.check_mass_balance())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is also possible to build the reaction from a string. However, care must be taken when doing this to ensure reaction id's match those in the model. The direction of the arrow is also used to update the upper and lower bounds." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "unknown metabolite 'green_eggs' created\n", "unknown metabolite 'ham' created\n" ] } ], "source": [ "pgi.reaction = \"g6p_c --> f6p_c + h_c + green_eggs + ham\"" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'g6p_c --> green_eggs + ham + h_c + f6p_c'" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pgi.reaction" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'g6p_c <=> f6p_c'" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pgi.reaction = \"g6p_c <=> f6p_c\"\n", "pgi.reaction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Metabolites" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will consider cytosolic atp as our metabolite, which has the id atp_c in our test model." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "atp = model.metabolites.get_by_id(\"atp_c\")\n", "atp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can print out the metabolite name and compartment (cytosol in this case)." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ATP\n", "c\n" ] } ], "source": [ "print(atp.name)\n", "print(atp.compartment)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see that ATP is a charged molecule in our model." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "-4" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "atp.charge" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see the chemical formula for the metabolite as well." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "C10H12N5O13P3\n" ] } ], "source": [ "print(atp.formula)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The reactions attribute gives a frozenset of all reactions using the given metabolite. We can use this to count the number of reactions which use atp." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "13" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(atp.reactions)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A metabolite like glucose 6-phosphate will participate in fewer reactions." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "frozenset({,\n", " ,\n", " ,\n", " })" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.metabolites.get_by_id(\"g6p_c\").reactions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Genes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The gene_reaction_rule is a boolean representation of the gene requirements for this reaction to be active as described in [Schellenberger et al 2011 Nature Protocols 6(9):1290-307](http://dx.doi.org/doi:10.1038/nprot.2011.308).\n", "\n", "The GPR is stored as the gene_reaction_rule for a Reaction object as a string." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'b4025'" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gpr = pgi.gene_reaction_rule\n", "gpr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Corresponding gene objects also exist. These objects are tracked by the reactions itself, as well as by the model" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "frozenset({})" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pgi.genes" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pgi_gene = model.genes.get_by_id(\"b4025\")\n", "pgi_gene" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each gene keeps track of the reactions it catalyzes" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "frozenset({})" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pgi_gene.reactions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Altering the gene_reaction_rule will create new gene objects if necessary and update all relationships." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "frozenset({, })" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pgi.gene_reaction_rule = \"(spam or eggs)\"\n", "pgi.genes" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "frozenset()" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pgi_gene.reactions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Newly created genes are also added to the model" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.genes.get_by_id(\"spam\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The delete_model_genes function will evaluate the gpr and set the upper and lower bounds to 0 if the reaction is knocked out. This function can preserve existing deletions or reset them using the cumulative_deletions flag." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-1000 < pgi < 1000\n", "0.0 < pgi < 0.0\n" ] } ], "source": [ "cobra.manipulation.delete_model_genes(model, [\"spam\"], cumulative_deletions=True)\n", "print(pgi.lower_bound, \"< pgi <\", pgi.upper_bound)\n", "cobra.manipulation.delete_model_genes(model, [\"eggs\"], cumulative_deletions=True)\n", "print(pgi.lower_bound, \"< pgi <\", pgi.upper_bound)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The undelete_model_genes can be used to reset a gene deletion" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-1000 < pgi < 1000\n" ] } ], "source": [ "cobra.manipulation.undelete_model_genes(model)\n", "print(pgi.lower_bound, \"< pgi <\", pgi.upper_bound)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/getting_started.rst000066400000000000000000000172541263606473700237310ustar00rootroot00000000000000 Getting Started =============== To begin with, cobrapy comes with bundled models for *Salmonella* and *E. coli*, as well as a "textbook" model of *E. coli* core metabolism. To load a test model, type .. code:: python from __future__ import print_function import cobra.test model = cobra.test.create_test_model("textbook") # "ecoli" and "salmonella" are also valid arguments The reactions, metabolites, and genes attributes of the cobrapy model are a special type of list called a DictList, and each one is made up of Reaction, Metabolite and Gene objects respectively. .. code:: python print(len(model.reactions)) print(len(model.metabolites)) print(len(model.genes)) .. parsed-literal:: 95 72 137 Just like a regular list, objects in the DictList can be retrived by index. For example, to get the 30th reaction in the model (at index 29 because of `0-indexing `__): .. code:: python model.reactions[29] .. parsed-literal:: Addictionally, items can be retrived by their id using the get\_by\_id() function. For example, to get the cytosolic atp metabolite object (the id is "atp\_c"), we can do the following: .. code:: python model.metabolites.get_by_id("atp_c") .. parsed-literal:: As an added bonus, users with an interactive shell such as IPython will be able to tab-complete to list elements inside a list. While this is not recommended behavior for most code because of the possibility for characters like "-" inside ids, this is very useful while in an interactive prompt: .. code:: python model.reactions.EX_glc__D_e.lower_bound .. parsed-literal:: -10.0 Reactions --------- We will consider the reaction glucose 6-phosphate isomerase, which interconverts glucose 6-phosphate and fructose 6-phosphate. The reaction id for this reaction in our test model is PGI. .. code:: python pgi = model.reactions.get_by_id("PGI") pgi .. parsed-literal:: We can view the full name and reaction catalyzed as strings .. code:: python print(pgi.name) print(pgi.reaction) .. parsed-literal:: glucose-6-phosphate isomerase g6p_c <=> f6p_c We can also view reaction upper and lower bounds. Because the pgi.lower\_bound < 0, and pgi.upper\_bound > 0, pgi is reversible .. code:: python print(pgi.lower_bound, "< pgi <", pgi.upper_bound) print(pgi.reversibility) .. parsed-literal:: -1000.0 < pgi < 1000.0 True We can also ensure the reaction is mass balanced. This function will return elements which violate mass balance. If it comes back empty, then the reaction is mass balanced. .. code:: python pgi.check_mass_balance() .. parsed-literal:: {} In order to add a metabolite, we pass in a dict with the metabolite object and its coefficient .. code:: python pgi.add_metabolites({model.metabolites.get_by_id("h_c"): -1}) pgi.reaction .. parsed-literal:: 'g6p_c + h_c <=> f6p_c' The reaction is no longer mass balanced .. code:: python pgi.check_mass_balance() .. parsed-literal:: {'H': -1.0} We can remove the metabolite, and the reaction will be balanced once again. .. code:: python pgi.pop(model.metabolites.get_by_id("h_c")) print(pgi.reaction) print(pgi.check_mass_balance()) .. parsed-literal:: g6p_c <=> f6p_c {} It is also possible to build the reaction from a string. However, care must be taken when doing this to ensure reaction id's match those in the model. The direction of the arrow is also used to update the upper and lower bounds. .. code:: python pgi.reaction = "g6p_c --> f6p_c + h_c + green_eggs + ham" .. parsed-literal:: unknown metabolite 'green_eggs' created unknown metabolite 'ham' created .. code:: python pgi.reaction .. parsed-literal:: 'g6p_c --> green_eggs + ham + h_c + f6p_c' .. code:: python pgi.reaction = "g6p_c <=> f6p_c" pgi.reaction .. parsed-literal:: 'g6p_c <=> f6p_c' Metabolites ----------- We will consider cytosolic atp as our metabolite, which has the id atp\_c in our test model. .. code:: python atp = model.metabolites.get_by_id("atp_c") atp .. parsed-literal:: We can print out the metabolite name and compartment (cytosol in this case). .. code:: python print(atp.name) print(atp.compartment) .. parsed-literal:: ATP c We can see that ATP is a charged molecule in our model. .. code:: python atp.charge .. parsed-literal:: -4 We can see the chemical formula for the metabolite as well. .. code:: python print(atp.formula) .. parsed-literal:: C10H12N5O13P3 The reactions attribute gives a frozenset of all reactions using the given metabolite. We can use this to count the number of reactions which use atp. .. code:: python len(atp.reactions) .. parsed-literal:: 13 A metabolite like glucose 6-phosphate will participate in fewer reactions. .. code:: python model.metabolites.get_by_id("g6p_c").reactions .. parsed-literal:: frozenset({, , , }) Genes ----- The gene\_reaction\_rule is a boolean representation of the gene requirements for this reaction to be active as described in `Schellenberger et al 2011 Nature Protocols 6(9):1290-307 `__. The GPR is stored as the gene\_reaction\_rule for a Reaction object as a string. .. code:: python gpr = pgi.gene_reaction_rule gpr .. parsed-literal:: 'b4025' Corresponding gene objects also exist. These objects are tracked by the reactions itself, as well as by the model .. code:: python pgi.genes .. parsed-literal:: frozenset({}) .. code:: python pgi_gene = model.genes.get_by_id("b4025") pgi_gene .. parsed-literal:: Each gene keeps track of the reactions it catalyzes .. code:: python pgi_gene.reactions .. parsed-literal:: frozenset({}) Altering the gene\_reaction\_rule will create new gene objects if necessary and update all relationships. .. code:: python pgi.gene_reaction_rule = "(spam or eggs)" pgi.genes .. parsed-literal:: frozenset({, }) .. code:: python pgi_gene.reactions .. parsed-literal:: frozenset() Newly created genes are also added to the model .. code:: python model.genes.get_by_id("spam") .. parsed-literal:: The delete\_model\_genes function will evaluate the gpr and set the upper and lower bounds to 0 if the reaction is knocked out. This function can preserve existing deletions or reset them using the cumulative\_deletions flag. .. code:: python cobra.manipulation.delete_model_genes(model, ["spam"], cumulative_deletions=True) print(pgi.lower_bound, "< pgi <", pgi.upper_bound) cobra.manipulation.delete_model_genes(model, ["eggs"], cumulative_deletions=True) print(pgi.lower_bound, "< pgi <", pgi.upper_bound) .. parsed-literal:: -1000 < pgi < 1000 0.0 < pgi < 0.0 The undelete\_model\_genes can be used to reset a gene deletion .. code:: python cobra.manipulation.undelete_model_genes(model) print(pgi.lower_bound, "< pgi <", pgi.upper_bound) .. parsed-literal:: -1000 < pgi < 1000 cobrapy-0.4.0b6/documentation_builder/index.rst000066400000000000000000000012641263606473700216430ustar00rootroot00000000000000Documentation for COBRApy ========================= For installation instructions, please see `INSTALL.md `_. Many of the examples below are viewable as IPython notebooks, which can be viewed at `nbviewer `_. .. toctree:: :numbered: :maxdepth: 2 getting_started building_model io simulating deletions phenotype_phase_plane milp qp loopless gapfilling solvers pymatbridge faq cobra Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` cobrapy-0.4.0b6/documentation_builder/io.ipynb000066400000000000000000000173121263606473700214550ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Reading and Writing Models\n", "\n", "Cobrapy supports reading and writing models in SBML (with and without FBC), JSON, MAT, and pickle formats. Generally, SBML with FBC version 2 is the preferred format for general use. The JSON format may be more useful for cobrapy-specific functionality.\n", "\n", "The package also ships with test models in various formats for testing purposes." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mini test files: \n", "mini.mat, mini_cobra.xml, mini.json, mini_fbc2.xml.gz, mini_fbc2.xml.bz2, mini_fbc2.xml, mini_fbc1.xml, mini.pickle\n" ] } ], "source": [ "import cobra.test\n", "import os\n", "\n", "print(\"mini test files: \")\n", "print(\", \".join([i for i in os.listdir(cobra.test.data_directory) if i.startswith(\"mini\")]))\n", "\n", "textbook_model = cobra.test.create_test_model(\"textbook\")\n", "ecoli_model = cobra.test.create_test_model(\"ecoli\")\n", "salmonella_model = cobra.test.create_test_model(\"salmonella\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SBML" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [Systems Biology Markup Language](http://sbml.org) is an XML-based standard format for distributing models which has support for COBRA models through the [FBC extension](http://sbml.org/Documents/Specifications/SBML_Level_3/Packages/Flux_Balance_Constraints_%28flux%29) version 2.\n", "\n", "Cobrapy has native support for reading and writing SBML with FBCv2. Please note that all id's in the model must conform to the SBML SID requirements in order to generate a valid SBML file." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cobra.io.read_sbml_model(os.path.join(cobra.test.data_directory, \"mini_fbc2.xml\"))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "cobra.io.write_sbml_model(textbook_model, \"test_fbc2.xml\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are other dialects of SBML prior to FBC 2 which have previously been use to encode COBRA models. The primary ones is the \"COBRA\" dialect which used the \"notes\" fields in SBML files.\n", "\n", "Cobrapy can use [libsbml](http://sbml.org/Software/libSBML), which must be installed separately (see installation instructions) to read and write these files. When reading in a model, it will automatically detect whether fbc was used or not. When writing a model, the use_fbc_package flag can be used can be used." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cobra.io.read_sbml_model(os.path.join(cobra.test.data_directory, \"mini_cobra.xml\"))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "cobra.io.write_sbml_model(textbook_model, \"test_cobra.xml\", use_fbc_package=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## JSON\n", "\n", "cobrapy models have a [JSON](https://en.wikipedia.org/wiki/JSON) (JavaScript Object Notation) representation. This format was crated for interoperability with [escher](https://escher.github.io)." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cobra.io.load_json_model(os.path.join(cobra.test.data_directory, \"mini.json\"))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "cobra.io.save_json_model(textbook_model, \"test.json\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## MATLAB" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Often, models may be imported and exported soley for the purposes of working with the same models in cobrapy and the [MATLAB cobra toolbox](http://opencobra.github.io/cobratoolbox/). MATLAB has its own \".mat\" format for storing variables. Reading and writing to these mat files from python requires scipy.\n", "\n", "A mat file can contain multiple MATLAB variables. Therefore, the variable name of the model in the MATLAB file can be passed into the reading function:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cobra.io.load_matlab_model(os.path.join(cobra.test.data_directory, \"mini.mat\"),\n", " variable_name=\"mini_textbook\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the mat file contains only a single model, cobra can figure out which variable to read from, and the variable_name paramter is unnecessary." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cobra.io.load_matlab_model(os.path.join(cobra.test.data_directory, \"mini.mat\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Saving models to mat files is also relatively straightforward" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "cobra.io.save_matlab_model(textbook_model, \"test.mat\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pickle" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cobra models can be serialized using the python serialization format, [pickle](https://docs.python.org/2/library/pickle.html).\n", "\n", "Please note that use of the pickle format is generally not recommended for most use cases. JSON, SBML, and MAT are generally the preferred formats." ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/io.rst000066400000000000000000000104741263606473700211460ustar00rootroot00000000000000 Reading and Writing Models ========================== Cobrapy supports reading and writing models in SBML (with and without FBC), JSON, MAT, and pickle formats. Generally, SBML with FBC version 2 is the preferred format for general use. The JSON format may be more useful for cobrapy-specific functionality. The package also ships with test models in various formats for testing purposes. .. code:: python import cobra.test import os print("mini test files: ") print(", ".join([i for i in os.listdir(cobra.test.data_directory) if i.startswith("mini")])) textbook_model = cobra.test.create_test_model("textbook") ecoli_model = cobra.test.create_test_model("ecoli") salmonella_model = cobra.test.create_test_model("salmonella") .. parsed-literal:: mini test files: mini.mat, mini_cobra.xml, mini.json, mini_fbc2.xml.gz, mini_fbc2.xml.bz2, mini_fbc2.xml, mini_fbc1.xml, mini.pickle SBML ---- The `Systems Biology Markup Language `__ is an XML-based standard format for distributing models which has support for COBRA models through the `FBC extension `__ version 2. Cobrapy has native support for reading and writing SBML with FBCv2. Please note that all id's in the model must conform to the SBML SID requirements in order to generate a valid SBML file. .. code:: python cobra.io.read_sbml_model(os.path.join(cobra.test.data_directory, "mini_fbc2.xml")) .. parsed-literal:: .. code:: python cobra.io.write_sbml_model(textbook_model, "test_fbc2.xml") There are other dialects of SBML prior to FBC 2 which have previously been use to encode COBRA models. The primary ones is the "COBRA" dialect which used the "notes" fields in SBML files. Cobrapy can use `libsbml `__, which must be installed separately (see installation instructions) to read and write these files. When reading in a model, it will automatically detect whether fbc was used or not. When writing a model, the use\_fbc\_package flag can be used can be used. .. code:: python cobra.io.read_sbml_model(os.path.join(cobra.test.data_directory, "mini_cobra.xml")) .. parsed-literal:: .. code:: python cobra.io.write_sbml_model(textbook_model, "test_cobra.xml", use_fbc_package=False) JSON ---- cobrapy models have a `JSON `__ (JavaScript Object Notation) representation. This format was crated for interoperability with `escher `__. .. code:: python cobra.io.load_json_model(os.path.join(cobra.test.data_directory, "mini.json")) .. parsed-literal:: .. code:: python cobra.io.save_json_model(textbook_model, "test.json") MATLAB ------ Often, models may be imported and exported soley for the purposes of working with the same models in cobrapy and the `MATLAB cobra toolbox `__. MATLAB has its own ".mat" format for storing variables. Reading and writing to these mat files from python requires scipy. A mat file can contain multiple MATLAB variables. Therefore, the variable name of the model in the MATLAB file can be passed into the reading function: .. code:: python cobra.io.load_matlab_model(os.path.join(cobra.test.data_directory, "mini.mat"), variable_name="mini_textbook") .. parsed-literal:: If the mat file contains only a single model, cobra can figure out which variable to read from, and the variable\_name paramter is unnecessary. .. code:: python cobra.io.load_matlab_model(os.path.join(cobra.test.data_directory, "mini.mat")) .. parsed-literal:: Saving models to mat files is also relatively straightforward .. code:: python cobra.io.save_matlab_model(textbook_model, "test.mat") Pickle ------ Cobra models can be serialized using the python serialization format, `pickle `__. Please note that use of the pickle format is generally not recommended for most use cases. JSON, SBML, and MAT are generally the preferred formats. cobrapy-0.4.0b6/documentation_builder/loopless.ipynb000066400000000000000000000545121263606473700227110ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Loopless FBA\n", "\n", "The goal of this procedure is identification of a thermodynamically consistent flux state without loops, as implied by the name.\n", "\n", "Usually, the model has the following constraints.\n", "$$ S \\cdot v = 0 $$\n", "$$ lb \\le v \\le ub $$\n", "\n", "However, this will allow for thermodynamically infeasible loops (referred to as type 3 loops) to occur, where flux flows around a cycle without any net change of metabolites. For most cases, this is not a major issue, as solutions with these loops can usually be converted to equivalent solutions without them. However, if a flux state is desired which does not exhibit any of these loops, loopless FBA can be used. The formulation used here is modified from [Schellenberger et al.](http://dx.doi.org/10.1016/j.bpj.2010.12.3707)\n", "\n", "We can make the model irreversible, so that all reactions will satisfy\n", "$$ 0 \\le lb \\le v \\le ub \\le \\max(ub) $$\n", "\n", "We will add in boolean indicators as well, such that\n", "$$ \\max(ub) \\cdot i \\ge v $$\n", "$$ i \\in \\{0, 1\\} $$\n", "\n", "We also want to ensure that an entry in the row space of S also exists with negative values wherever v is nonzero. In this expression, $1-i$ acts as a not to indicate inactivity of a reaction.\n", "\n", "$$ S^\\mathsf T x - (1 - i) (\\max(ub) + 1) \\le -1 $$\n", "\n", "We will construct an LP integrating both constraints.\n", "\n", "$$ \\left(\n", "\\begin{matrix}\n", "S & 0 & 0\\\\\n", "-I & \\max(ub)I & 0 \\\\\n", "0 & (\\max(ub) + 1)I & S^\\mathsf T\n", "\\end{matrix}\n", "\\right)\n", "\\cdot\n", "\\left(\n", "\\begin{matrix}\n", "v \\\\\n", "i \\\\\n", "x\n", "\\end{matrix}\n", "\\right)\n", "\\begin{matrix}\n", "&=& 0 \\\\\n", "&\\ge& 0 \\\\\n", "&\\le& \\max(ub)\n", "\\end{matrix}$$\n", "\n", "Note that these extra constraints are not applied to boundary reactions which bring metabolites in and out of the system." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from matplotlib.pylab import *\n", "%matplotlib inline\n", "\n", "import cobra.test\n", "from cobra import Reaction, Metabolite, Model\n", "from cobra.flux_analysis.loopless import construct_loopless_model\n", "from cobra.solvers import get_solver_name" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will demonstrate with a toy model which has a simple loop cycling A -> B -> C -> A, with A allowed to enter the system and C allowed to leave. A graphical view of the system is drawn below:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnIAAAEcCAYAAABDOFkiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xe4JFWd//H3dzJpQJAMC6K4iLCoKEmMgLoSBBVBJaNr\nIKzgT8UsioHFrKMrCijiKmYxYQDMzM6CCREVBFQERIkyAxO/vz/qNHO53Hy7u7q636/nuU/d6lvd\n9R3o8Olz6pwTmYkkSZKaZ0bdBUiSJGlqDHKSJEkNZZCTJElqKIOcJElSQxnkJEmSGsogJ0mS1FAG\nOUmSpIYyyEmSJDWUQU6SJKmhDHKSJEkNZZCTJElqKIOcJElSQxnkJEmSGsogJ0mS1FAGOUmSpIYy\nyEmSJDWUQU6SJKmhDHKSJEkNZZCTJElqKIOcJElSQxnkJEmSGsogJ0mS1FAGOUmSpIYyyEmSJDWU\nQU6SJKmhDHKSJEkNZZCTJElqKIOcJElSQxnkJEmSGsogJ0mS1FAGOUmSpIYyyEmSJDWUQU6SJKmh\nDHKSJEkNZZCTJElqKIOcJElSQxnkJEmSGsogJ0mS1FAGOUmSpIYyyEmSJDWUQU6SJKmhDHKSJEkN\nZZCT1Lci4i0RsWqUnyURcXVEfDIidq+7VkmaCoOcpEFx85CfW4BZwEOBI4CfRsSba6xNkqbEICdp\nEGRmbjbkZxNgLrAncHk55s22zElqGoOcpIGUlZ8BBw65+Vl11SNJU2GQkzTQMvOvwG1ld606a5Gk\nyTLISRpoEbE5sH7Z/X2dtUjSZBnkJA2kiJhZron7Srnpb8C5NZYkSZM2q+4CJKkLIiJuHrI/g6oV\nbgZwF3Ae8PrMvKuO4iRpqgxykgbFhiPclsCawHrAJsBfulqRJE2TXauSBkFm5syhP8AawGOATwH7\nAT+KCEetSmoUg5ykgZSZyzLzV5n5Yqrr5OYCn4yIdWouTZImzCAnSfDxsl0XeGadhUjSZBjkJAn+\nPOT3resqQpImyyAnSbDFkN8X11aFJE2SQU6S4AVlm8BldRYiSZPh9COSBlZEbAIcDxxRblqYmQtr\nLEmSJsUgJ2kQDJ8QGGAeMH/I/q+B53SvJEmaPoOcpH6WQ7bDJwReDtwE/Ar4InBuZq7oYm2SNG2R\nmeMfJUmSpJ7jYAdJkqSGsmtV0sBYtGDhPOCpwMblpr8BF+9y3G731leVJE2dXauS+t6iBQu3AU4E\njgVWsbo3ovX7WcAHdzlut2vrqVCSpsYgJ6mvLVqw8FCqoDYLmDPKYcuAFcAxuxy32/ndqk2Spssg\nJ6lvDQlxa07wLkswzElqEIOcpL5UulOvYOIhrmUJsKPdrJKawFGrkvrViUxtQNcs4IQ21yJJHWGL\nnKS+s2jBwjWAW4C1p/gQdwMbOppVUq+zRU5SP3oK1YjUqVpFNU2JJPU0g5ykfrQx03t/mwFs1KZa\nJKljDHKSJEkNZZCT1I/+xvS7Vm9pUy2S1DEGOUn96GKm8f72hxv+MOuqP191SRvrkaSOcNSqpL60\naMHC9wMvY/TVHEZ09z13L9vrVfvMAc7PzEM7UpwktYktcpL61Qeplt2alLXXWHvFputvegZwSEQ8\nqv1lSVL7GOQk9Z2I2GbX43c/5Q3nvPE8qpUaJmoJcMyNt9746rL/i4iYyqTCktQVBjlJfSMidomI\nbwJXAsd87/LvXwccQxXQlo1x12XlmKOHrLP64LK9sFP1StJ0GeQkNVpEzIiI/SPicuAS4N+BecBM\nYO0SzHYEPkK1YsNdZTv0949Qra/6+dbjZuatVNfY7RURe3bxnyRJE+ZgB0mNFBHzgMOBNwHrMfJy\nXB/KzBNbO4sWLJxHtWJDa7LfW4CLx1qKKyKWU62/Ojczx2rVk6SuM8hJapSIeBBwPPBKSqvbGId/\nKjOPmub55gN3Ar/KTAc/SOopdq1KaoSI2Doi/hv4K/BaYF3GDnEA86d73sy8C3g+sFNEPGO6jydJ\n7WSLnKSeFhE7A28G9qFqgZs9ibt/LzOf1qY6bgI2AdbMzHva8ZiSNF22yEnqOVF5ZkQsAn4E7Es1\ngGEyIQ7Gb7GbjIeW7dVtfExJmhaDnKRetAVwLLAzMJepv1et2a6CMnMJVaDcPCKe167HlaTpsGtV\nUs+KiO2Bd1J1q86h6lqdjGsyc9s213QFsAMwPzP/2c7HlqTJMshJ6nkR8Qjg7VRzxM1m4oHur5m5\nRZtrmQvcCyzNzHntfGxJmiy7ViX1vMy8KjOfDTwK+ApwD7ByAndte9DKzKXAE4G5EfHidj++JE2G\nLXKSGicitgX+UHZXUE3YO5K7M3OdDtVwCfBkYIPMvK0T55Ck8dgiJ6mJDi/bfYEvUHV1rhjhuLkd\nrGGfsr21g+eQpDEZ5CQ1SkRsCbwROCczv5WZLwC2Bz5LFeiWDzl8VkR05H0uM1dQjaolIl7diXNI\n0njsWpXUGBERwKqyOzMzVw37+1bAqcAhVAMiZgLrlKlDOlXTF4DnAptl5k2dOo8kjcQWOUlNckbZ\nbjs8xAFk5p/K2qoPB86lGhCxVodrOqRsbyxBU5K6xiAnqREiYmvglcCCzLxmrGMz8y+Z+SJgG2Bx\nJ+sqgfIRZfcdnTyXJA1n16qknjesS3VG9uAbV0R8FHgpsE1mXld3PZIGgy1ykprgw2X7kF4MccXL\ny/Zau1gldYtBTlJPK3PGvRw4IzOvr7mcUZWAuXXZPbPGUiQNELtWJfWsMnVIawWHnuxSHS4iTgNe\nD2yfmVfVXY+k/maQk9SzIuIc4Chgy8y8oeZyJmTY9XyzMnMiS4lJ0pTYtSqpJ0XE9lQh7q1NCXFw\nXxfrJmX3i3XWIqn/2SInqec0sUt1uIg4GXgP8LjMvKzueiT1J4OcpJ4TEZ8HDgY2zcyb665nqiKi\n9QY7uyzpJUltZdeqpJ4SETtRhbjXNjnEFeuX7cW1ViGpb9kiJ6lnRMRMYAVAZvbFXGwRcQxwFvCU\nzPxBzeVI6jMGOUk9IyK+DuwHbJSZf6+7nnaJiLup1nydl5lL665HUv+wa1VST4iIx1KFuFf0U4gr\nWqNYf1lrFZL6ji1ykmoXEbOA5dA/XarDRcRzqKYj2T8zv1F3PZL6g0FOUu0i4iLgqcAGmXlb3fV0\nSkRcD2wFrJ2Zi2suR1IfsGtVUq0iYg+qEPfSfg5xxXZle32dRUjqH7bISapNRMwGllEtiDAQXywj\n4mnAd4DDMvMzddcjqdkMcpJqExGXArsB62XmnXXX0y0RcRmwMwP275bUfgPxDVhS74mIp1CFuCMH\nMMzsUba311qFpMYzyEnquoiYS7XaweLMPLfuerotM5dRhbmIiOPqrkdSc9m1KqnrIuLXwI7A/Mz8\nZ9311CUiLgSeDmyYmf+oux5JzWOLnKSuioinU4W4Qwc5xBX7lm2/TYAsqUsMcpK6JiLmARcCf8/M\n8+uup26ZuRLYCSAiXl9zOZIayK5VSV0TEX8EtsEJce8nIs4DXghskZl/rbseSc1hi5ykroiIA6hC\n3EGGuAc4omxviIi+XKJMUmcY5KQeFBEbRcTyiFgVEfuPc+xby3FXd6u+yYqINYGvAX/KzK/WXU+v\nycxVwMPL7nu6ff5+e75Jg8QgJ/WgzLyF6loygMNHO6603hxWdnt5Go9ryvYRtVbRwzLzauCDwEkR\n8dAun7vfnm/SwDDISb2r9UG5X0SsO8oxjwe2BlYBn+5GUZMVEQcDmwLPzMx76q6nx72ibK+JiG6/\nP/fF800aNAY5qXddANwJzAOeN8oxrdaTn2bm9d0oajIiYm3g88BVmfntuuvpdVmNPtuy7J7T5dM3\n/vkmDSKDnNSjMnMp8IWy+4DurrI6QusDt1dbR1ojMB9daxUNkpk3AG8BjoiIHbt43n54vkkDxyAn\n9bZWd9ceEbH1sL/tB6wL3EPV6tVTIuIwYD6wdwkJmqDMPLX8+uuImNnFUzf2+SYNKoOc1MMy8yfA\ndVSv1cOG/bnVavL1zLyrq4WNIyLmU7XaXJaZF9VdT0NtVLYXdOuETX2+SYPMICf1vlY31n3dXRGx\nAfDMYX/vJa11Qx9faxUNlpl/B04EnhkRu3Xx1E18vkkDyyAn9b7WB+fDImLX8vshwCzgFmDEQQQR\nsXNELIqILbpQ49DzvgiYDTwhM5d189z9JjM/VH69NCJmd+m0k3q+RcTciDglIt4XEd+IiIsiwgAv\ndYlBTupxmflH4FIgWN1K0tp+tkwme5+IeE5EnAMcBzyWLr7OI+JBwMeBH5VuOk3femXblf+ek32+\nAa8rt5+UmfsBXwYu7nIrojSwDHJSM7QuQn9eRDwS2BVIRpiUNTO/lJlHA5/qYn0tt5XtXjWcuy9l\n5p1US3jtEhF7d+m0E3q+lWshXw0c3botMxcAtwKv7U6p0mAzyEnNcD6wDHgwq+cX+21m/mKM+3R1\nzc6IOKH8umtmrujmuftdZn4auB34XkTM68IpJ/p8WwHcRDX33FB/Bh7W0QolAQY5qREy8w7gG2X3\nsWXbMxedR8SDqZaXujAzF9VdT59qTRT8206faKLPt8xckpnbZOYpw/70EOCPHSxRUmGQk5qj1a2V\nwErgvBprGe7vZbtfrVX0scxcDDwLeEhEHNSFU07p+RYR/w6sD7ytQ3VJGmJW3QVImpjMvIAe/PIV\nEa8qvz4mM1fWWkyfy8wLIuIPwJcjYp3MvLuT52KSz7fS7XsG8NrM/L+OFCbpfnruQ0FSc0TExsB/\nAV8a53o9tc9OZfvXMY+qx0eAT2Tmu+suRBoUBjlJ03Fz2R5SaxUDJDPvpRoVPD8ijqq5nPtExOuA\nizLz/WX/oTWXJA0Eg5ykKYmIN5dfd7BLtbsy82Kqud7OiYj1xju+0yLiCODqzPzMkJuPqqkcaaB4\njZzUv1pf1Nq+6HpEbA68Bfh0Zl7Z7sfXhDyJaoqQ2+nyVDNDRcQzqea5+15EtEavzmT1RMaSOigy\ns+4aJLVRROwD/AfVJK6bA9cAvwBOb8d1bBERQGt2/5kjzPSvLomIXYD/BU5qdWl2+fwbANcDa3L/\nMJnAa7xWTuo8g5ykSYmId1DN2r9dZv6+7noGXUR8DTgA2Dgzb6m7HkndZZCTNGERsRVVC8yZmfmS\nmssREBEzqVZYAJiRvqlLA8XBDpImpHSpXl92X1pjKRqiDDTZoeyeWmctkrrPICdpolrXYD3UVp/e\nUgacnA28MSL+pe56JHWPXauSxlXmBLsGeH9mnlR3PXqgYYNQ7GKVBoQtcpLGVALCNWX35Dpr0ehK\ncNum7H6ozlokdY9BTtJ4Pla2W9nK09sy8zqqtU6Pi4h/rbseSZ1n16qkUUXEdsBVwDsy8/V116Px\nOc+fNFgMcpJGFBEzgNbSW15z1SARsRnwV+D8zDy07nokdY5dq5JGc27Zbm6Ia5bMvJFq0uZDIuJR\nddcjqXNskZP0ABGxA3AF8MbMPK3uejQ1EdF6g5+dmSvGPFhSIxnkJN3P0JUCMrO2xdg1fWUt1H8A\nF2Xm3nXXI6n97FqVNNwXy3bjWqvQtGXmrVSrcOwVEXvWXY+k9rNFTtJ9IuIxwOXAqzLz3XXXo/aI\niOXALGBuZi6rux5J7WOQkwRARMwCloNdqv0mIuYDdwK/ykwHP0h9xK5VSS3fLNsH11qF2i4z7wKe\nD+wUEc+oux5J7WOLnCQiYjfgUuD4zFxQdz3qjIi4CdgEWDMz76m7HknTZ5CTBlxEzAaWgV2q/S4i\n1gQWA3/NzC3qrkfS9Nm1Kunisn1QrVWo4zJzCbAvsHlEPK/ueiRNny1y0gCLiCcCPwSOzcyz665H\n3RERVwA7APMz85911yNp6gxy0oCKiDnAUmBZZs6tux51T0TMBe4FlmbmvLrrkTR1dq1Kg+vSst2w\n1irUdZm5FHgiMDciXlx3PZKmziAnDaCI2Bt4DHBYmZpCAyYzfwxcApwZEevXXY+kqbFrVRowQ7rV\n7shMBzgMMCeBlprPFjlp8PyybLestQrVLjNXADsDRMSray5H0hQY5KQBEhH7AtsBz83Mu+uuR/XL\nzJ8DXwROj4hN665H0uTYtSoNiIhYA1gC3JiZm9ddj3pHRMwAVpbdGekHg9QYtshJg+N3ZbttrVWo\n52TmKuARZfcdddYiaXIMctIAiIiDgH8BDiiz+0v3k5m/A/4bOCUitq63GkkTZdeq1OciYi3gbuCa\nzLQ1TqOKiABWlV27WKUGsEVO6n9/Ktsda61CPa8Et63L7pk1liJpggxyUh+LiOcDGwBPz8x7665H\nvS8z/wS8HXhRRGxfdz2SxmbXqtSnImId4C7gV5n5qLrrUXMM62KdWQZDSOpBtshJ/evmst2l1irU\nOKWLdZOy+8U6a5E0NoOc1Ici4ihgTeDJmbms5nLUQJn5N+CVwEER8di665E0MrtWpT4TEesBtwOX\nZuYeddejZouI1ofE7LKkl6QeYouc1H9uL9sn1VqF+sX6ZXtJrVVIGpFBboIi4i0RsWqiP0Put1tE\nrCi3nzDOOXaMiKXl2Nd34N9w+pAaz2v346t+EfGy8usembm81mLUFzLzduBYYM+IGPgvB2N8FtwV\nETdExM8i4sMR8ZyImD3G42w97P7fnsC5Dx52nze3918HEfGQiDg1In4cETeWz6R/RsTVEfG5iHhB\nWe5PPcKu1QmKiLcAbyq7N49xKACZudmQ+74TeA3VOpePysxrRnj8OcAi4N/Kdo92jhSLiFnAX4CN\ny033Aptm5p3tOofqFRHrA7cCF2Xm3nXXo/4SEXcDawHzMnNp3fXUZYzPgjWAdbh/A8mtwBsy82Mj\nPM7WwLVDbloFbJWZfx3j3N8Gnj7kprdk5lsnUf6oSug8AzgOmFluTuBOYDbVNbdRbr8ZeFFmfqsd\n59b02CI3eZmZm433M+w+bwaupHohfKoM7R/uzVQh7h7gyA4M99+XKsTdSRXo5gEvaPM5VK9by/YZ\ntVahftUaxfrLWqvoHcM/Cx5EFXj+jWqQyHVUczh+dAI9INdTfR4fMdoBEbE58DRgMfCPNtQ/9LHn\nAN8FTix1fJvqfWStzFw/M9cBNgQOAX5A9VmyTztr0NQZ5LqgjBo8ElgB7A78v6F/j4hdqVrsAN6Y\nmb/vQBnHlu3/AGcPu00NFxEnlV8f5wXp6oTMvBt4LrBdROxfdz29KCu/ycz3ATsAnyt/ekFEnDLa\n3YBPld+PGuPhj6RqEfs8VZhrpw9QXVObwMmZuW9mfnfoJOKZeVtmfiEznwo8G7itzTVoigxyXZKZ\nPwfeUXbf2poxvVxr8Cmq/xc/ycz3tvvcEbEp8EyqF+nZwDnlT4+OiH9r9/nUXRGxIfBe4OuZeVnd\n9ah/ZeaXqFqPLoiINWsup6dl5j1U4esX5aZTIuJBoxz+Q6oWvG0jYs9RjjmK6j38k6zu4py28ln0\nkrJ7dmZ+YLz7ZObXgNPaVYOmxyDXXadRdUvMpepinQm8C3g41aLmR3XovEdS/b++IjMvz8w/A9+j\nejOwVa75binbg2qtQoPiEWV7fZ1FNEEZcNT6Aj8fOHC0Q6kCGsDRw/8YEU8AHgb8MTN/3OYyjyvb\nFcCEr7dLL7DvGQa5LipdXkcCy4CdqWZMb41kfU1mXjvafafpmLI9a8htnyjbF5brI9RAEfG68utO\nmbmy1mI0EEp329OBDSPihXXX0wAXsnq5s9FG/baCXALPjYi1hv299R5+Du23V9n+IjP/0oHHV4cZ\n5CYvIuLmcX7eP9qdM/MK4NSy+6yy/X5mfrRDxT6R6pvcUmDoBbdfpbo4fn1G/5aoHla6zN8OnJ+Z\nv667Hg2OzPwucDlwXkSsW3c9vSwzF7N6dOo2Yxz3F+AiqpGvB7duj4i1y/5KVl9L1xZlNoOHl91f\njHWsepdBbmo2HOdn/jj3P5OqGRuqb2Av70yZwOqu06+V+aCqk1ZN/ucNO0YNUUY+31h2HX2sOrRW\nDbmj1iqaoTUwYP0xj1o9EG1o9+rzqGY8+F5m3vjAu0zL0HocvNBQBrnJy8ycOc7PMeM8xnuAWeX3\nAF7ciUIjYj7VKLPk/t2qLa3bnhoRW3aiBnVM61qW7TswVY00rjIafw+AiOjkl9F+MNHBCV+hmiLq\nCRHx0HJbJ7tV1QcMcl1Whu235gr6Ztm+skxB0m6HUk1S+Rfg+8P/mJm/AS6jmvzxARfYqjeV0P0G\nqhFmV9VdjwZXZl4KfAdYEBEPrrueHtYarXrrWAeViZb/p+weHRHbUoXl26guh2m3oa1wG3Tg8dUF\nBrkuiogNqLpVAb4AHAD8lOr/wzkRMbfNp2x1mf4LsHKUpcQeW44xyDVA6VL9c9l9UZ21SMW+Zfv3\nWqvoUeUat9a1cX+cwF1aLW9HsPo1/j+dWHKvDMBrzVv66HY/vrrDINddC6hmxP4b8LIyfPtoqqW7\ntgPe1q4TRcQOwOPKbo7zA7BVRLisU+97d9lu6/B/9YIyWnongIh4Q83l9KJnsPqz9gfjHVzmgrwS\n2AL4z3JzJ7tVLyrbR0fEv3TwPOoQg1yXRMTBVBetJvDSzLwNoKy72ppC4uSI2K1Np2y1xl1ONQpq\ntJ/5rG6yH+/aPtUoIh4CnAwsGGm9XqkuZdT0ecDbylJS4r6lr1rv73cw8e7R1qCHOcCvMrOTI0o/\nQvW5NJPVa8iOa5SlJlUDg1wXRMRGVC8WgM+UWbHvk5kfBH5Mm7pYy5vHYWX385m5ZIyfxcD55diD\nxph5XDUqb5qtKQxOGOtYqSZHlu0Nk/mQH2HOtL5QVu35JPCoctM7M/OuCd7901SD4t4NjLa0V1tk\n5m+Bj5fdYyLiP8c6HiAiDqS6Tlc9wCDXHR+jupD0Rkb/EG51sf4r01/65FnlfEm1Lt94vg7cS7Xi\nhBN89qYFZfsQu1TVi8ro6dacZOMuNRgRO0TEN5nEagK9LiJmlH/XyVTdo4eWP52bmWdM9HEy8x+Z\n+arMfHVmfqcjxd7fiVSNCQDvi4hvRsTTShgFICLWj4iDI+Ji4MusHsChmhnkJm8iEwLfFBG7l4MP\nowpWCbw4M+8c6UHLqg6tb14nte4/Rfd1q2bmn8Y7ODOXAN8qu3av9pgycu1lwBmZeX3N5Uijysyr\ngQ8Crxgyfcb9DAlwi4B/p/oS2UTDPwtuB5YDv6ZqSduaagDISzLzqLEep+OVjqNMJbM31RfGFVT/\nXy4EFkfEHRFxN/APqt6bJ1PNhPDteqrVcAa5icsh2/EmBN4ImB0RmwEfKPc5JzPHfOJn5oepFk8O\n4OypdLGWqSn2ZuKtcS2tY3eKiEeNeaS6JiJmAH8ou6+psxZpgl5RtteU5y/wgAD3DKqpkZKqJ6JJ\nRvoseDDV5+mNwKVUl9I8B9g8Mz8+0oOM8HiTraGtLfOZuTwzT2B1r9BPgZuBeVRLjF0NfBY4BHhY\nZn6vnefX1IW9NFLviohzgKOALTPzhprLkSYkIragarU5FzgDOB14CtXlG0MbEJYBr83McbtiJY1s\n1viHSKpDRGxPFeLeaohTk2TmDeVLyNHA86lGRI7UA7QSuKebtUn9xq5VqQeVLqkry+5baixFmpQh\nXaiHUnX/zWb0zxqDnDRNtshJvelzZbupo1TVBGUS8tG6UEezCoOcNC0GuR4WEXtQDfOejJ9m5nM6\nUY+6IyJ2Ag4GTsnMm+uuRxrLFANcSxMHO/QcPysGm0Gut82mGgE7mRYZ5/ZpsIiYCfwSIDNPr7kc\naVTTDHBD2SI3fX5WDDCDXA/LzB/idYyDprXqx0a1ViGNb2tgE6Y/DYZBbpr8rBhs/o+XekREPA7Y\nF3hFZv697nqksWTmNzJzZ+BJwDeoJvZdPsmHCQxy0rQ4j5zUAyJiFuVDMDNrn+ldmqyI2Ap4NdWU\nI1BN+DuefwK7ZuZVHStM6nO2yGlgRcT+EdEr14l8t2w3aPcDR8TsiHhBux9XGioz/5SZxwGbUa2f\nehtw9zh3m4EtcuohEbFWRDw7IhrzhdoWOQ2siPgW1bqBpwHvy8yOfaAsWrBwHvBUYONy09+Ai3c5\nbrd7I+LxwE+Al2bmx9p1zvJG9Fzg/cDambluux5bGk9EzAGeB7yZ6lq6tYcfM2PGjOULTvjwkY/Z\n9tFf2eW43Zq65qr6SESsD9xKNY/n8Zn5g3orGp9BTgMrIr4L7EM1/cFS4BTg7Mxc0a5zLFqwcBvg\nROBYqjmzWq3gq4AZS5ctPeeJJz/5BGhvl2pE7AV8GNgSWAtYnJkP+CCVOq18oXjKvDnz3rli5YrH\nrFq1ataqXAXArJmz+O7pF9611ry1ZgBnAR/c5bjdrq2zXg22EuRuAuZQfTZcDpyYmb+stbAx2LUq\nwZpUQ/HfC1zXrmb1RQsWHgpcAbyMqjViftne9/tLP/Dy4wHOf+Pnjh7tcSYjIh4TET8DLgC2owpx\nUm0yM//3w5du9MP3XrLDp0/5VO69897MmTWH2bNms3LlSubOntt6XbwMuGLRgoWH1Fyy1GrhWhPY\nE/hZRHwlIrapsaZRGeSk1dYCtqBa6PuKiHjyVB+ohLizqN4I5ox0zGV/uJzf/um38abD3sDWG2+1\nYDofYBHxsIi4gKqLdrdyXql2Q18L22y6zey3HXUqX33rlzn0yYew7trrMmvmfbNgzaF63p5tmFMP\nCaqBO/sBV0bEmRHRU9ND2bWqgTWka3U0U2pWL92pVzBGmFq2fBlPOOlJzJszjx++95Kh59txMl1L\nEbEJ1TV+L6SaF3K0uSHtWlXXjfdauHfZvcybM2+kP036tSC1Q+lavZFqkuuRLANWUF17/K7M/Ge3\nahuNLXLS6KbarH4i40y2fdQZxwDwrXd8Y+jNs4ATJnKCiJgfEe8CrgUOB+aNd06pBmO+FkYJcTCJ\n14LUZa2W45OAGyLiFRExWujrCoOcNLahzeq/Ga9ZfdGChWtQDWwYsTsVYOFvF/LHG//IaUe/jbXm\n3e8StjnAi8oI15GLiZgbEa8EbqD6kFxjrHNJdZnIa2EM474WpJqtQXWt82nAnyPisIioJVN17Rt8\nk+Zk0cCYzHOy1W15JPDCiBitWf0pVCNSR7R0+VL+8yMnsd7a67HPznuPdMgqqmlKvnW/Qqs1WA8H\n/ovq2+CdbB+IAAAJYUlEQVRkBzGEr0G1S07smpwxXwsTMOJrYTQ+v9Umk30erVV+PgqcGhEnAN+e\n4GukLbrZFTOdF7TUK+aUn1OAYyNiz8y8ZsjfN2aMlu7PXvw5AL566pdHO2QGw9ZZjYg1gW8DT5xy\n1VX48zWodvgP4OMTOG7M18IEPOC1MI73UHV3SXVozUjwTeDciDg6M7vyntvNIPfILp5LmohPALtP\n8j5Jtabk94GTh4W4cR2xz+Hsv/v+rDF3IqsXlRNmLomIZwGvB46jet3Onsx5qWbPf+wk7yON5Ka6\nCxjF6VSvaWk61gMuZvTBDqNprTV8KrCgWyEOuhjkMvO33TqXNBERMd7yQcMtBn4NnJCZl49yzN8Y\no+VrxowZbDB//bHOsQq4ZfiNmXkH8KqIeB/wDqoZ8+cAMydWOqt8DarLxnwtTMCIr4XRZObfyjml\nKSujVidjGbAS+CDwzsy8s/1Vjc3BDtL4FgO/B56VmXuMEeKg+iY33e6ki0f7Y2bemJlHAY8CLqRq\naXMOIfWijr4WpJqtpGqF+wywTWaeUkeIA4OcNJbFVN1IxwDbZ+ZF492hrBd5FtW3tMlaBnxiImtO\nZuYfMnM/4EnA/5VapZ7RrdeC1GVJ9QX6W8COmXlMZt5cZ0EGOemBlgB3AK8CtsrMz0/yeocPUk0Y\nOVkrgA9N5g6Z+X9UKzk8G7gamGx3sdRJXXstSF2wGFgIPCEzD5jsNdKdYpCTVltK9UI9HdgiMz+a\nmcsn+yBlNvpjqALhRC0BjpnKTPZZ+S7V2qovBm7GFjr1gG6/FqQOaV1ec+AELq/pOpfo0sAaskTX\ncqoWgE8Ap2bmre14/LJe5NlUg4rm3LXkLvZ7/f4sW1Flwy+86Xy23HDL1nIvR+9y3G6fb8d5I2IO\n8BLgbVQDItbAJbpUo6GvhZWrVs655JeX8JPf/JTfXHclt999O/cuu5e111ibLTfcctWMiK/96tpf\nvzEzr6y7bg2eYUt0LQbuAl4BfLGbI1EnwyCngRUR3wH2Br4AvDoz/9zuc5S1Jk8AXvS5S86f9f4v\nf+C+meoP2+uFy44/8LiPAB/qROtDRKxN1T38KmBlZq7T7nNIE7VowcJtvv/zi97+31//2CE3/OOG\nAAiCmTNnsubcNfOfS/6Zq3LV0MlYvww8fyqt4tJUlSB3K9XlNa8DPtHrz0GDnAZWRLwU+HE3vvkv\nWrBw3l6v2ufKu++5+yHrrrXuDXcuvnMLqoEUW3b6W15EbAi8PDNP7eR5pLFExP5UX5rmzJ45+67d\ntt/1Owc+/lmX7bnDnlcCF+96/O5LqUZjHwQcD6wLPCgz76qvag2aiJhP9eX7/ZnZiEtUDHJSF0TE\nY4DLqLpRHwn8nGpZlwMy8xt11iZ1WkRsS/X8Xwe4Enh6Zt44xvHrUV3qcIxBThqbgx2k7ji2bL+T\nmVcD55f9Y2qqR+qm06hC3D3AQWOFOKgmwM7M5xripPEZ5KQOi4h5wAvK7lnDtvtGxGTWk5QaJSI2\nBp5bdj/TK1M2SP3CICd13nOorve5Bfg6QGZeClxFtWbqEfWVJnXcU4DWIIav1FmI1I8MclLntbpV\nP52ZK4fc3mqVs3tV/eyRZZvAL+osROpHBjmpgyJiG+DJVB9iZw3786epBj/8a0Ts3uXSpG7ZYMjv\nt9VWhdSnDHJSZx1dtgsz83dD/5CZfwcuoOp2Onb4HTU5EbFRRCyPiFVlqouxjn1rOe7qbtUnSZ1g\nkJM6JCJmAEeV3XNGOezssj04ItbqeFF9LDNvAS4su4ePdlxEBHBY2T2303WJfwz5fYNRj5I0JQY5\nqXOeDmxefj+ztADd7wdozSG3DvC8WqrsL61gtl9ErDvKMY8HtgZWUXVvq7NaE24H8Og6C5H6kUFO\n6pyh3aU5xs9Ix2tqLgDuBOYxejButdb9NDOv70ZRA+4SqtAM1aoNktrIICd1QFkW64Cy+xyqFrfR\nfnYpx+0eEQ/vcql9JTOXUi0DBSN0r0bEXFYHPFvjuqB0eX+p7L6grPIgqU0MclJnHA7Molp4+euZ\nuWSMn8uA3+Ggh3Zpda/uERFbD/vbflRz+t0DfL6LNQ26NwB3A2sAX46IzcY6OCIeFBFfGqN7XFJh\nkJM6oxXIvpaZKyZwfKsV6YiImNmhmgZCZv4EuI7q/e2wYX9utdJ93eWfuqcsS3c4sIxqXrlfRsSr\nI+KhrWMiYmZEPDoi3gpcCxzI/S89kDQCg5zUZhGxG/CIsvuFsY4donXcxsC+bS9q8LS6Te/rXo2I\nDYBnDvu7uiQzvwY8FbgGeDDwLuDqiFgaEbdShbzLqVrv1gE+CyypqVypMSLTLzxSO0XEmcCLqLpV\nN5pgixwRcSWwHVVr0YEdLLHvlZaeq6ladPbIzP+NiJcDH6ZaKm2zzFw15Pg1qOb825hq2bQdgQ9n\n5ne6XnyfK9PyHEzVzb0LsBFVl+udVJcY/JBqFRTn+JMmwCAnqS9FxE+B3YGPZObxEXEpsCvwgcw8\nadixHwAeCzwpM1dExHOpWoSeUrpqJakn2bUqqV+1Bj08LyIeSRXikpEnAV4BbEbVGgfV3GczqYKg\nJPUsW+Qk9aWIWA+4GZgDXEbV4nZlZu44gfvuRzUn3ZMz80cdLVSSpsEWOUl9KTPvYPXKGY8t23EH\nOZQlvF5B1QVriJPU02yRk9S3IuIA4KtUXaqrgK0y88Yxjn851UCHOcDxmXlPVwqVpCkyyEnSMBFx\nInASsE9mXlN3PZI0GoOcJA1TpiO5A/hJZu5Vdz2SNBqvkZM00CJik4i4MSLe1LqtdKneSjXSVZJ6\nlkFO0qDbGNgEWK91Q1km7UFUS0VJUs8yyEkadL8Gvgt8dMhtB1ANeHhDLRVJ0gR5jZykgVfmnHsd\n1VJRs4Ctgfdm5vfqrEuSxmOQkyRJaii7ViVJkhrKICdJktRQBjlJkqSGMshJkiQ1lEFOkiSpoQxy\nkiRJDWWQkyRJaiiDnCRJUkMZ5CRJkhrKICdJktRQBjlJkqSGMshJkiQ1lEFOkiSpoQxykiRJDWWQ\nkyRJaiiDnCRJUkMZ5CRJkhrKICdJktRQBjlJkqSGMshJkiQ1lEFOkiSpoQxykiRJDWWQkyRJaiiD\nnCRJUkMZ5CRJkhrKICdJktRQBjlJkqSGMshJkiQ1lEFOkiSpoQxykiRJDWWQkyRJaiiDnCRJUkMZ\n5CRJkhrKICdJktRQBjlJkqSG+v9noEDI+gBGOAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure(figsize=(10.5, 4.5), frameon=False)\n", "gca().axis(\"off\")\n", "xlim(0.5, 3.5)\n", "ylim(0.7, 2.2)\n", "arrow_params = {\"head_length\": 0.08, \"head_width\": 0.1, \"ec\": \"k\", \"fc\": \"k\"}\n", "text_params = {\"fontsize\": 25, \"horizontalalignment\": \"center\", \"verticalalignment\": \"center\"}\n", "arrow(0.5, 1, 0.85, 0, **arrow_params) # EX_A\n", "arrow(1.5, 1, 0.425, 0.736, **arrow_params) # v1\n", "arrow(2.04, 1.82, 0.42, -0.72, **arrow_params) # v2\n", "arrow(2.4, 1, -0.75, 0, **arrow_params) # v3\n", "arrow(2.6, 1, 0.75, 0, **arrow_params)\n", "# reaction labels\n", "text(0.9, 1.15, \"EX_A\", **text_params)\n", "text(1.6, 1.5, r\"v$_1$\", **text_params)\n", "text(2.4, 1.5, r\"v$_2$\", **text_params)\n", "text(2, 0.85, r\"v$_3$\", **text_params)\n", "text(2.9, 1.15, \"DM_C\", **text_params)\n", "# metabolite labels\n", "scatter(1.5, 1, s=250, color='#c994c7')\n", "text(1.5, 0.9, \"A\", **text_params)\n", "scatter(2, 1.84, s=250, color='#c994c7')\n", "text(2, 1.95, \"B\", **text_params)\n", "scatter(2.5, 1, s=250, color='#c994c7')\n", "text(2.5, 0.9, \"C\", **text_params);" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "test_model = Model()\n", "test_model.add_metabolites(Metabolite(\"A\"))\n", "test_model.add_metabolites(Metabolite(\"B\"))\n", "test_model.add_metabolites(Metabolite(\"C\"))\n", "EX_A = Reaction(\"EX_A\")\n", "EX_A.add_metabolites({test_model.metabolites.A: 1})\n", "DM_C = Reaction(\"DM_C\")\n", "DM_C.add_metabolites({test_model.metabolites.C: -1})\n", "v1 = Reaction(\"v1\")\n", "v1.add_metabolites({test_model.metabolites.A: -1, test_model.metabolites.B: 1})\n", "v2 = Reaction(\"v2\")\n", "v2.add_metabolites({test_model.metabolites.B: -1, test_model.metabolites.C: 1})\n", "v3 = Reaction(\"v3\")\n", "v3.add_metabolites({test_model.metabolites.C: -1, test_model.metabolites.A: 1})\n", "DM_C.objective_coefficient = 1\n", "test_model.add_reactions([EX_A, DM_C, v1, v2, v3])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While this model contains a loop, a flux state exists which has no flux through reaction v3, and is identified by loopless FBA." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "construct_loopless_model(test_model).optimize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, if flux is forced through v3, then there is no longer a feasible loopless solution." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v3.lower_bound = 1\n", "construct_loopless_model(test_model).optimize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Loopless FBA is also possible on genome scale models, but it requires a capable MILP solver." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "salmonella = cobra.test.create_test_model(\"salmonella\")\n", "construct_loopless_model(salmonella).optimize(solver=get_solver_name(mip=True))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ecoli = cobra.test.create_test_model(\"ecoli\")\n", "construct_loopless_model(ecoli).optimize(solver=get_solver_name(mip=True))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/loopless.rst000066400000000000000000000121211263606473700223660ustar00rootroot00000000000000 Loopless FBA ============ The goal of this procedure is identification of a thermodynamically consistent flux state without loops, as implied by the name. Usually, the model has the following constraints. .. math:: S \cdot v = 0 .. math:: lb \le v \le ub However, this will allow for thermodynamically infeasible loops (referred to as type 3 loops) to occur, where flux flows around a cycle without any net change of metabolites. For most cases, this is not a major issue, as solutions with these loops can usually be converted to equivalent solutions without them. However, if a flux state is desired which does not exhibit any of these loops, loopless FBA can be used. The formulation used here is modified from `Schellenberger et al. `__ We can make the model irreversible, so that all reactions will satisfy .. math:: 0 \le lb \le v \le ub \le \max(ub) We will add in boolean indicators as well, such that .. math:: \max(ub) \cdot i \ge v .. math:: i \in \{0, 1\} We also want to ensure that an entry in the row space of S also exists with negative values wherever v is nonzero. In this expression, :math:`1-i` acts as a not to indicate inactivity of a reaction. .. math:: S^\mathsf T x - (1 - i) (\max(ub) + 1) \le -1 We will construct an LP integrating both constraints. .. math:: \left( \begin{matrix} S & 0 & 0\\ -I & \max(ub)I & 0 \\ 0 & (\max(ub) + 1)I & S^\mathsf T \end{matrix} \right) \cdot \left( \begin{matrix} v \\ i \\ x \end{matrix} \right) \begin{matrix} &=& 0 \\ &\ge& 0 \\ &\le& \max(ub) \end{matrix} Note that these extra constraints are not applied to boundary reactions which bring metabolites in and out of the system. .. code:: python from matplotlib.pylab import * %matplotlib inline import cobra.test from cobra import Reaction, Metabolite, Model from cobra.flux_analysis.loopless import construct_loopless_model from cobra.solvers import get_solver_name We will demonstrate with a toy model which has a simple loop cycling A -> B -> C -> A, with A allowed to enter the system and C allowed to leave. A graphical view of the system is drawn below: .. code:: python figure(figsize=(10.5, 4.5), frameon=False) gca().axis("off") xlim(0.5, 3.5) ylim(0.7, 2.2) arrow_params = {"head_length": 0.08, "head_width": 0.1, "ec": "k", "fc": "k"} text_params = {"fontsize": 25, "horizontalalignment": "center", "verticalalignment": "center"} arrow(0.5, 1, 0.85, 0, **arrow_params) # EX_A arrow(1.5, 1, 0.425, 0.736, **arrow_params) # v1 arrow(2.04, 1.82, 0.42, -0.72, **arrow_params) # v2 arrow(2.4, 1, -0.75, 0, **arrow_params) # v3 arrow(2.6, 1, 0.75, 0, **arrow_params) # reaction labels text(0.9, 1.15, "EX_A", **text_params) text(1.6, 1.5, r"v$_1$", **text_params) text(2.4, 1.5, r"v$_2$", **text_params) text(2, 0.85, r"v$_3$", **text_params) text(2.9, 1.15, "DM_C", **text_params) # metabolite labels scatter(1.5, 1, s=250, color='#c994c7') text(1.5, 0.9, "A", **text_params) scatter(2, 1.84, s=250, color='#c994c7') text(2, 1.95, "B", **text_params) scatter(2.5, 1, s=250, color='#c994c7') text(2.5, 0.9, "C", **text_params); .. image:: loopless_files/loopless_3_0.png .. code:: python test_model = Model() test_model.add_metabolites(Metabolite("A")) test_model.add_metabolites(Metabolite("B")) test_model.add_metabolites(Metabolite("C")) EX_A = Reaction("EX_A") EX_A.add_metabolites({test_model.metabolites.A: 1}) DM_C = Reaction("DM_C") DM_C.add_metabolites({test_model.metabolites.C: -1}) v1 = Reaction("v1") v1.add_metabolites({test_model.metabolites.A: -1, test_model.metabolites.B: 1}) v2 = Reaction("v2") v2.add_metabolites({test_model.metabolites.B: -1, test_model.metabolites.C: 1}) v3 = Reaction("v3") v3.add_metabolites({test_model.metabolites.C: -1, test_model.metabolites.A: 1}) DM_C.objective_coefficient = 1 test_model.add_reactions([EX_A, DM_C, v1, v2, v3]) While this model contains a loop, a flux state exists which has no flux through reaction v3, and is identified by loopless FBA. .. code:: python construct_loopless_model(test_model).optimize() .. parsed-literal:: However, if flux is forced through v3, then there is no longer a feasible loopless solution. .. code:: python v3.lower_bound = 1 construct_loopless_model(test_model).optimize() .. parsed-literal:: Loopless FBA is also possible on genome scale models, but it requires a capable MILP solver. .. code:: python salmonella = cobra.test.create_test_model("salmonella") construct_loopless_model(salmonella).optimize(solver=get_solver_name(mip=True)) .. parsed-literal:: .. code:: python ecoli = cobra.test.create_test_model("ecoli") construct_loopless_model(ecoli).optimize(solver=get_solver_name(mip=True)) .. parsed-literal:: cobrapy-0.4.0b6/documentation_builder/loopless_files/000077500000000000000000000000001263606473700230215ustar00rootroot00000000000000cobrapy-0.4.0b6/documentation_builder/loopless_files/loopless_3_0.png000066400000000000000000000247131263606473700260370ustar00rootroot00000000000000PNG  IHDRrC8Y"sBIT|d pHYs  ~ IDATxw$Uw2i@ (IA%k O,Ŭ+ (*f1a΂ TD2?4s|߯O[s$IgFH$ij r$I e$Ij($IRC$I 'IP9I2I$5AN$ r$I e$Ij($IRC$I 'IP9I2I$5AN$ r$I e$Ij($IRC$I 'IP9I2I$5AN$ r$I e$Ij($IRC$I 'IP9I2I$5AN$ r$I e$Ij($IRC$I 'IP9I2I$5AN$ r$I eԷ"-j%quD|2"vVI Aq[YC#FěkM 'idfn6g`.'py9ͶIjYu#ISa42mew:k2Ih9~}Hd$ YJo5$I6$ ""n?npp̼$i rņ#ܖz&_Z$M]Af̡?cO?GJj2Wbuj.M& 'I]xfHd$ <*B& 'IŐV$MANeeu"I#VDlQnZ k,I& 'i `0t$I>~C'^ "pnfbm4m%I`IkUX`<妿rnW$M]ޢ NV7Yw9nkP '-ZP6 3aˀ1ݪM 'o qkN.K0IjTS`!e ݬQՉLm@,6"Iah5[w:URENR?z ՈԩZE5M$4~1{lԦZ$c r$I eԏVoiS-19Ib0?_uI둤pԪh/cFt=w/UC;R$-rݚX{ŦozpHDBb]e;PfT{v$I`IÁ71r\[;,GbCk[Z+"S:73jՓ3IjxpSDK9|VDt}.3WP%"^݉sHxZ;33W V!T"f딩C:UeM:$9IMrFn;<dڪΥVk:lo,AS '"bk̼fc3/"``q'*e<$ gת7KuFWD|x)Mf^Ww=-re^ qZX%uANRO+sƽ8#3Qu=R$ V%2uHkR."N^lW]fԳ"(`̼r&d|2s"KIҔص*'ET!M qp_&eu""'4Ku8x̼z$'6̛g";,%Imeת;Q69ŵV!o"'gDL`@f\lq pAH39I=#"lv|KGRkURORWS+ZXYk-rj?]Es#?3Qw=ANR""y[tJD\lk.GRkUR"b~qve{}EHIMDQ-0_,#iw23u# rjeu-q3~ XRP#0QZ3I꺈K۲7& "ԣ2s):BW[GZ#0]k 7ox~xI 'Vw CS"0`>w <눘S7& *2'uTÆj̼#"S\]OCmTtM}I 'V7}]a%uC_k NuM|I '"b!,`AsD,-P x0mfbtuΈ8kf]f~^D)'|[D5P %92ee3Gă03]OjMNhϷ\d),QRaխJke_U\ < xHDԅSNCuIbVH̼*>&3WZL "#b̼bϷ{&~zCARsD_z=Ne1GOd.D9IqsRk$3V[2:NIgתQEvU;2uף9ϟ4X rF3[^s Wfuףfև첤bn/'Ze{IUHAn"-j?C[D(09vwpk~b2vX`ψ/c|7D"񜈘=l=ߞv7_85"~7ϤFxAYO=® o*7q(ِx :kFx9"vvY_Mf:euףwk2sieς5uɭ2c#䦷d['QJ<8YnNN`65QnxQf~"7y3>oz!| T! ߗ*I/h9T[V~Z? DxjuTs8~t= S}194`16?N,u|}d\?36~@YO;k亠<X]Zޘ@ǖgM '_̼x.]D_w=(+;+zAD2݀OߏᏤjR`_8~}FV .p9p^D[w=,3zt6c"nJV_Ke6_uzAnj6g8?o`/LӯVM ;F QF>Xv}:V *50`1Z=mhf<^fLzP̜91<{Y^܉B#b>(ݪ-۞[vuLZ;0U42~0 _" r['U r]V fپLAnRMR.ت7fW]Wf^ |XzXRۨ.ipt. U91ͧlu r[15@Rs}QHžeZQֵq]Z-oG5?Xr k[v? ] f2|h֮EnUDS{wn2Zz'xCg\悼rs'U/*GGĿt<\DT&̼ ښBحMl]N5 jn>(" ,i^.eyRR⾥Zw0֠92#J?B4kȎk&U\DFT/ϔY~LX˛aed؃Ƙy\5*o) NX&G aδPV$r;3 T W[doc"?: "NW= FFnu+_Y|I.xK|eTՋ֜d.5;D7j."fTݣ?gLq2|uf~#߉T oFJ "֏#bˬ&o" V 83A˪o^'?Euf;83*v2rey}H̫2} pD? njIۚjK2㕎L%7T_.Gq7ޛ'S̈́zp!&(9'3|g懩Ot)fq-cwGy&"f(i^Qה/ 'IF,x0T<<3?>҃x-<3O`uOyTK] |8xXf~ԅ4Rs-3ˑ&$"j988x Cqb%lHCDlOjSd KFDIƮU.+[j,E!]Ruf4MIseTeѺPG 4-{P 󞌟fs:Q#"vN̛G\K;?+Aͦ;i  3OiT pC"7}~V 0\uFV!ok`? AnlzDD<xEfzd72sgI7&]>ɇ rҴ8"bC03k] x5Ք#PM;fU+Lsi`E+׉|l7hGxAW*3Qzp8w-r!VD<;"9 պ̎},ZpT`r߀w9n{#OfuF\ڙn[ODZ3cƌ N_ݚHDJ5z+AN+" C5R\Ѯs,ZpDX9ZીK-='?hojD|X X :|xʼ9޹bǬZj֪\޵ּfgݮ^ nP}6\1ص*TC \׮fE  \5b~K?q&#"?. qRm23×n^çOT̙5ٳfrJΞz] bт\jZYD|%"QZxTteo`:`񰈸vr^vC_ lu*_}9ɇ2k}`͡zޞmS ;WFęSCٵ5ku4SjV/ݩW0FZ|O8I̛3q2]K 5~/r!ZU׍Zwٽ̛3o?M CZj,VP]{gj-rڬ~"L}w|cͳ&rwNcF q0ׂe㓀"1Z 4Y}тkP l;`oiG9בn\csIuka Aui#Ⰸ%Su|dsmy$ˆY)T#RGtR#'{t*iJuB5Xl aIDATd1AKN욜1_ 0ka4>&}U~> 'ߞk-3+攟Sc#b̼f7f^9zG;dY5oOrU5v8n<0PuwIuhHM܈8:3 .KOO>Iq1w"f.gzΞyf$#䦺 Tii:.fi5|*[!2:41A-~ rkƌl0α eyx3'V:| |-Ld9)+V'c ̼U{&7GcfޘG.jis!j MfRG4THgEݡyշZ|b"kNf2s?IZѭׂeI[yLf\gA9遖wOzRM9Y+MT+9<lwI]{-H]XAVDq7/Zp^ʻ!뮵 w.s [v[^Dl<3OyDT_̞9ݶ;>YÞWzKFc <(3絛j OوKT rRDc˨Q jY2u&uZDlK_xzf8Q]pAN8lWcjGӨB=Ac8&y YöFd֓%"6[v?+S6H 'us:@f^ \Ef&uS Yԏ rR絺U?+j{Ue/,DG9"bTbg ?kDҤn`Vԧ rRg] 3wC.v:v59QD,Ue}k9n'I`:$"fGsF9=8"xQ},3o.,v\DpX=u }Q4%9sl^~?h!Z/`_D;1VQuoZn: AN꜡ݥ9Hkj.1z0n43FQ ժ 'u@Y뀲~v)r}%3R-#tF\V<[㺠ty쾠 M rRg̢Zx뙹dˀ᠇viu[~Ts|5 7wk_:8"_{\Ra:Ⱦ+&p|鈈١Bfan}基,Kw8j^_Fī#⡭c"bfD<:" \ /=4fum/jM^ g$3<x0.XR˩Z> ,\1"/` where ^ is one of echo. html to make standalone HTML files echo. dirhtml to make HTML files named index.html in directories echo. singlehtml to make a single large HTML file echo. pickle to make pickle files echo. json to make JSON files echo. htmlhelp to make HTML files and a HTML help project echo. qthelp to make HTML files and a qthelp project echo. devhelp to make HTML files and a Devhelp project echo. epub to make an epub echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter echo. text to make text files echo. man to make manual pages echo. texinfo to make Texinfo files echo. gettext to make PO message catalogs echo. changes to make an overview over all changed/added/deprecated items echo. linkcheck to check all external links for integrity echo. doctest to run all doctests embedded in the documentation if enabled goto end ) if "%1" == "clean" ( for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i del /q /s %BUILDDIR%\* goto end ) if "%1" == "html" ( %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/html. goto end ) if "%1" == "dirhtml" ( %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. goto end ) if "%1" == "singlehtml" ( %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. goto end ) if "%1" == "pickle" ( %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the pickle files. goto end ) if "%1" == "json" ( %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the JSON files. goto end ) if "%1" == "htmlhelp" ( %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run HTML Help Workshop with the ^ .hhp project file in %BUILDDIR%/htmlhelp. goto end ) if "%1" == "qthelp" ( %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run "qcollectiongenerator" with the ^ .qhcp project file in %BUILDDIR%/qthelp, like this: echo.^> qcollectiongenerator %BUILDDIR%\qthelp\cobra.qhcp echo.To view the help file: echo.^> assistant -collectionFile %BUILDDIR%\qthelp\cobra.ghc goto end ) if "%1" == "devhelp" ( %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp if errorlevel 1 exit /b 1 echo. echo.Build finished. goto end ) if "%1" == "epub" ( %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub if errorlevel 1 exit /b 1 echo. echo.Build finished. The epub file is in %BUILDDIR%/epub. goto end ) if "%1" == "latex" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex if errorlevel 1 exit /b 1 echo. echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. goto end ) if "%1" == "text" ( %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text if errorlevel 1 exit /b 1 echo. echo.Build finished. The text files are in %BUILDDIR%/text. goto end ) if "%1" == "man" ( %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man if errorlevel 1 exit /b 1 echo. echo.Build finished. The manual pages are in %BUILDDIR%/man. goto end ) if "%1" == "texinfo" ( %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo if errorlevel 1 exit /b 1 echo. echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. goto end ) if "%1" == "gettext" ( %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale if errorlevel 1 exit /b 1 echo. echo.Build finished. The message catalogs are in %BUILDDIR%/locale. goto end ) if "%1" == "changes" ( %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes if errorlevel 1 exit /b 1 echo. echo.The overview file is in %BUILDDIR%/changes. goto end ) if "%1" == "linkcheck" ( %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck if errorlevel 1 exit /b 1 echo. echo.Link check complete; look for any errors in the above output ^ or in %BUILDDIR%/linkcheck/output.txt. goto end ) if "%1" == "doctest" ( %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest if errorlevel 1 exit /b 1 echo. echo.Testing of doctests in the sources finished, look at the ^ results in %BUILDDIR%/doctest/output.txt. goto end ) :end cobrapy-0.4.0b6/documentation_builder/milp.ipynb000066400000000000000000000261531263606473700220120ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Mixed-Integer Linear Programming\n", "\n", "## Ice Cream\n", "\n", "This example was originally contributed by Joshua Lerman.\n", "\n", "An ice cream stand sells cones and popsicles. It wants to maximize its profit, but is subject to a budget.\n", "\n", "We can write this problem as a linear program:\n", "\n", "> **max** cone $\\cdot$ cone_margin + popsicle $\\cdot$ popsicle margin\n", "\n", "> *subject to*\n", "\n", "> cone $\\cdot$ cone_cost + popsicle $\\cdot$ popsicle_cost $\\le$ budget" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "cone_selling_price = 7.\n", "cone_production_cost = 3.\n", "popsicle_selling_price = 2.\n", "popsicle_production_cost = 1.\n", "starting_budget = 100." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This problem can be written as a cobra.Model" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{'cone': 33.333333333333336, 'popsicle': 0.0}" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from cobra import Model, Metabolite, Reaction\n", "\n", "cone = Reaction(\"cone\")\n", "popsicle = Reaction(\"popsicle\")\n", "\n", "# constrainted to a budget\n", "budget = Metabolite(\"budget\")\n", "budget._constraint_sense = \"L\"\n", "budget._bound = starting_budget\n", "cone.add_metabolites({budget: cone_production_cost})\n", "popsicle.add_metabolites({budget: popsicle_production_cost})\n", "\n", "# objective coefficient is the profit to be made from each unit\n", "cone.objective_coefficient = cone_selling_price - cone_production_cost\n", "popsicle.objective_coefficient = popsicle_selling_price - \\\n", " popsicle_production_cost\n", "\n", "m = Model(\"lerman_ice_cream_co\")\n", "m.add_reactions((cone, popsicle))\n", "\n", "m.optimize().x_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In reality, cones and popsicles can only be sold in integer amounts. We can use the variable kind attribute of a cobra.Reaction to enforce this." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{'cone': 33.0, 'popsicle': 1.0}" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cone.variable_kind = \"integer\"\n", "popsicle.variable_kind = \"integer\"\n", "m.optimize().x_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the model makes both popsicles and cones." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Restaurant Order\n", "\n", "To tackle the less immediately obvious problem from the following [XKCD comic](http://xkcd.com/287/):" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "Image(url=r\"http://imgs.xkcd.com/comics/np_complete.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want a solution satisfying the following constraints:\n", "\n", "$\\left(\\begin{matrix}2.15&2.75&3.35&3.55&4.20&5.80\\end{matrix}\\right) \\cdot \\vec v = 15.05$\n", "\n", "$\\vec v_i \\ge 0$\n", "\n", "$\\vec v_i \\in \\mathbb{Z}$\n", "\n", "This problem can be written as a COBRA model as well." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{'french_fries': 0.0,\n", " 'hot_wings': 2.0,\n", " 'mixed_fruit': 1.0,\n", " 'mozarella_sticks': 0.0,\n", " 'sampler_plate': 1.0,\n", " 'side_salad': 0.0}" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "total_cost = Metabolite(\"constraint\")\n", "total_cost._bound = 15.05\n", "\n", "costs = {\"mixed_fruit\": 2.15, \"french_fries\": 2.75, \"side_salad\": 3.35,\n", " \"hot_wings\": 3.55, \"mozarella_sticks\": 4.20, \"sampler_plate\": 5.80}\n", "\n", "m = Model(\"appetizers\")\n", "\n", "for item, cost in costs.items():\n", " r = Reaction(item)\n", " r.add_metabolites({total_cost: cost})\n", " r.variable_kind = \"integer\"\n", " m.add_reaction(r)\n", "\n", "# To add to the problem, suppose we don't want to eat all mixed fruit.\n", "m.reactions.mixed_fruit.objective_coefficient = 1\n", " \n", "m.optimize(objective_sense=\"minimize\").x_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is another solution to this problem, which would have been obtained if we had maximized for mixed fruit instead of minimizing." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{'french_fries': 0.0,\n", " 'hot_wings': 0.0,\n", " 'mixed_fruit': 7.0,\n", " 'mozarella_sticks': 0.0,\n", " 'sampler_plate': 0.0,\n", " 'side_salad': 0.0}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m.optimize(objective_sense=\"maximize\").x_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Boolean Indicators\n", "\n", "To give a COBRA-related example, we can create boolean variables as integers, which can serve as indicators for a reaction being active in a model. For a reaction flux $v$ with lower bound -1000 and upper bound 1000, we can create a binary variable $b$ with the following constraints:\n", "\n", "$b \\in \\{0, 1\\}$\n", "\n", "$-1000 \\cdot b \\le v \\le 1000 \\cdot b$\n", "\n", "To introduce the above constraints into a cobra model, we can rewrite them as follows\n", "\n", "$v \\le b \\cdot 1000 \\Rightarrow v- 1000\\cdot b \\le 0$\n", "\n", "$-1000 \\cdot b \\le v \\Rightarrow v + 1000\\cdot b \\ge 0$" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import cobra.test\n", "model = cobra.test.create_test_model(\"textbook\")\n", "\n", "# an indicator for pgi\n", "pgi = model.reactions.get_by_id(\"PGI\")\n", "# make a boolean variable\n", "pgi_indicator = Reaction(\"indicator_PGI\")\n", "pgi_indicator.lower_bound = 0\n", "pgi_indicator.upper_bound = 1\n", "pgi_indicator.variable_kind = \"integer\"\n", "# create constraint for v - 1000 b <= 0\n", "pgi_plus = Metabolite(\"PGI_plus\")\n", "pgi_plus._constraint_sense = \"L\"\n", "# create constraint for v + 1000 b >= 0\n", "pgi_minus = Metabolite(\"PGI_minus\")\n", "pgi_minus._constraint_sense = \"G\"\n", "\n", "pgi_indicator.add_metabolites({pgi_plus: -1000, pgi_minus: 1000})\n", "pgi.add_metabolites({pgi_plus: 1, pgi_minus: 1})\n", "model.add_reaction(pgi_indicator)\n", "\n", "\n", "# an indicator for zwf\n", "zwf = model.reactions.get_by_id(\"G6PDH2r\")\n", "zwf_indicator = Reaction(\"indicator_ZWF\")\n", "zwf_indicator.lower_bound = 0\n", "zwf_indicator.upper_bound = 1\n", "zwf_indicator.variable_kind = \"integer\"\n", "# create constraint for v - 1000 b <= 0\n", "zwf_plus = Metabolite(\"ZWF_plus\")\n", "zwf_plus._constraint_sense = \"L\"\n", "# create constraint for v + 1000 b >= 0\n", "zwf_minus = Metabolite(\"ZWF_minus\")\n", "zwf_minus._constraint_sense = \"G\"\n", "\n", "zwf_indicator.add_metabolites({zwf_plus: -1000, zwf_minus: 1000})\n", "zwf.add_metabolites({zwf_plus: 1, zwf_minus: 1})\n", "\n", "# add the indicator reactions to the model\n", "model.add_reaction(zwf_indicator)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In a model with both these reactions active, the indicators will also be active" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PGI indicator = 1\n", "ZWF indicator = 1\n", "PGI flux = 4.86\n", "ZWF flux = 4.96\n" ] } ], "source": [ "solution = model.optimize()\n", "print(\"PGI indicator = %d\" % solution.x_dict[\"indicator_PGI\"])\n", "print(\"ZWF indicator = %d\" % solution.x_dict[\"indicator_ZWF\"])\n", "print(\"PGI flux = %.2f\" % solution.x_dict[\"PGI\"])\n", "print(\"ZWF flux = %.2f\" % solution.x_dict[\"G6PDH2r\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because these boolean indicators are in the model, additional constraints can be applied on them. For example, we can prevent both reactions from being active at the same time by adding the following constraint:\n", "\n", "$b_\\text{pgi} + b_\\text{zwf} = 1$" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PGI indicator = 1\n", "ZWF indicator = 0\n", "PGI flux = 9.82\n", "ZWF flux = 0.00\n" ] } ], "source": [ "or_constraint = Metabolite(\"or\")\n", "or_constraint._bound = 1\n", "zwf_indicator.add_metabolites({or_constraint: 1})\n", "pgi_indicator.add_metabolites({or_constraint: 1})\n", "\n", "solution = model.optimize()\n", "print(\"PGI indicator = %d\" % solution.x_dict[\"indicator_PGI\"])\n", "print(\"ZWF indicator = %d\" % solution.x_dict[\"indicator_ZWF\"])\n", "print(\"PGI flux = %.2f\" % solution.x_dict[\"PGI\"])\n", "print(\"ZWF flux = %.2f\" % solution.x_dict[\"G6PDH2r\"])" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/milp.rst000066400000000000000000000160411263606473700214740ustar00rootroot00000000000000 Mixed-Integer Linear Programming ================================ Ice Cream --------- This example was originally contributed by Joshua Lerman. An ice cream stand sells cones and popsicles. It wants to maximize its profit, but is subject to a budget. We can write this problem as a linear program: **max** cone :math:`\cdot` cone\_margin + popsicle :math:`\cdot` popsicle margin *subject to* cone :math:`\cdot` cone\_cost + popsicle :math:`\cdot` popsicle\_cost :math:`\le` budget .. code:: python cone_selling_price = 7. cone_production_cost = 3. popsicle_selling_price = 2. popsicle_production_cost = 1. starting_budget = 100. This problem can be written as a cobra.Model .. code:: python from cobra import Model, Metabolite, Reaction cone = Reaction("cone") popsicle = Reaction("popsicle") # constrainted to a budget budget = Metabolite("budget") budget._constraint_sense = "L" budget._bound = starting_budget cone.add_metabolites({budget: cone_production_cost}) popsicle.add_metabolites({budget: popsicle_production_cost}) # objective coefficient is the profit to be made from each unit cone.objective_coefficient = cone_selling_price - cone_production_cost popsicle.objective_coefficient = popsicle_selling_price - \ popsicle_production_cost m = Model("lerman_ice_cream_co") m.add_reactions((cone, popsicle)) m.optimize().x_dict .. parsed-literal:: {'cone': 33.333333333333336, 'popsicle': 0.0} In reality, cones and popsicles can only be sold in integer amounts. We can use the variable kind attribute of a cobra.Reaction to enforce this. .. code:: python cone.variable_kind = "integer" popsicle.variable_kind = "integer" m.optimize().x_dict .. parsed-literal:: {'cone': 33.0, 'popsicle': 1.0} Now the model makes both popsicles and cones. Restaurant Order ---------------- To tackle the less immediately obvious problem from the following `XKCD comic `__: .. code:: python from IPython.display import Image Image(url=r"http://imgs.xkcd.com/comics/np_complete.png") .. raw:: html We want a solution satisfying the following constraints: :math:`\left(\begin{matrix}2.15&2.75&3.35&3.55&4.20&5.80\end{matrix}\right) \cdot \vec v = 15.05` :math:`\vec v_i \ge 0` :math:`\vec v_i \in \mathbb{Z}` This problem can be written as a COBRA model as well. .. code:: python total_cost = Metabolite("constraint") total_cost._bound = 15.05 costs = {"mixed_fruit": 2.15, "french_fries": 2.75, "side_salad": 3.35, "hot_wings": 3.55, "mozarella_sticks": 4.20, "sampler_plate": 5.80} m = Model("appetizers") for item, cost in costs.items(): r = Reaction(item) r.add_metabolites({total_cost: cost}) r.variable_kind = "integer" m.add_reaction(r) # To add to the problem, suppose we don't want to eat all mixed fruit. m.reactions.mixed_fruit.objective_coefficient = 1 m.optimize(objective_sense="minimize").x_dict .. parsed-literal:: {'french_fries': 0.0, 'hot_wings': 2.0, 'mixed_fruit': 1.0, 'mozarella_sticks': 0.0, 'sampler_plate': 1.0, 'side_salad': 0.0} There is another solution to this problem, which would have been obtained if we had maximized for mixed fruit instead of minimizing. .. code:: python m.optimize(objective_sense="maximize").x_dict .. parsed-literal:: {'french_fries': 0.0, 'hot_wings': 0.0, 'mixed_fruit': 7.0, 'mozarella_sticks': 0.0, 'sampler_plate': 0.0, 'side_salad': 0.0} Boolean Indicators ------------------ To give a COBRA-related example, we can create boolean variables as integers, which can serve as indicators for a reaction being active in a model. For a reaction flux :math:`v` with lower bound -1000 and upper bound 1000, we can create a binary variable :math:`b` with the following constraints: :math:`b \in \{0, 1\}` :math:`-1000 \cdot b \le v \le 1000 \cdot b` To introduce the above constraints into a cobra model, we can rewrite them as follows :math:`v \le b \cdot 1000 \Rightarrow v- 1000\cdot b \le 0` :math:`-1000 \cdot b \le v \Rightarrow v + 1000\cdot b \ge 0` .. code:: python import cobra.test model = cobra.test.create_test_model("textbook") # an indicator for pgi pgi = model.reactions.get_by_id("PGI") # make a boolean variable pgi_indicator = Reaction("indicator_PGI") pgi_indicator.lower_bound = 0 pgi_indicator.upper_bound = 1 pgi_indicator.variable_kind = "integer" # create constraint for v - 1000 b <= 0 pgi_plus = Metabolite("PGI_plus") pgi_plus._constraint_sense = "L" # create constraint for v + 1000 b >= 0 pgi_minus = Metabolite("PGI_minus") pgi_minus._constraint_sense = "G" pgi_indicator.add_metabolites({pgi_plus: -1000, pgi_minus: 1000}) pgi.add_metabolites({pgi_plus: 1, pgi_minus: 1}) model.add_reaction(pgi_indicator) # an indicator for zwf zwf = model.reactions.get_by_id("G6PDH2r") zwf_indicator = Reaction("indicator_ZWF") zwf_indicator.lower_bound = 0 zwf_indicator.upper_bound = 1 zwf_indicator.variable_kind = "integer" # create constraint for v - 1000 b <= 0 zwf_plus = Metabolite("ZWF_plus") zwf_plus._constraint_sense = "L" # create constraint for v + 1000 b >= 0 zwf_minus = Metabolite("ZWF_minus") zwf_minus._constraint_sense = "G" zwf_indicator.add_metabolites({zwf_plus: -1000, zwf_minus: 1000}) zwf.add_metabolites({zwf_plus: 1, zwf_minus: 1}) # add the indicator reactions to the model model.add_reaction(zwf_indicator) In a model with both these reactions active, the indicators will also be active .. code:: python solution = model.optimize() print("PGI indicator = %d" % solution.x_dict["indicator_PGI"]) print("ZWF indicator = %d" % solution.x_dict["indicator_ZWF"]) print("PGI flux = %.2f" % solution.x_dict["PGI"]) print("ZWF flux = %.2f" % solution.x_dict["G6PDH2r"]) .. parsed-literal:: PGI indicator = 1 ZWF indicator = 1 PGI flux = 4.86 ZWF flux = 4.96 Because these boolean indicators are in the model, additional constraints can be applied on them. For example, we can prevent both reactions from being active at the same time by adding the following constraint: :math:`b_\text{pgi} + b_\text{zwf} = 1` .. code:: python or_constraint = Metabolite("or") or_constraint._bound = 1 zwf_indicator.add_metabolites({or_constraint: 1}) pgi_indicator.add_metabolites({or_constraint: 1}) solution = model.optimize() print("PGI indicator = %d" % solution.x_dict["indicator_PGI"]) print("ZWF indicator = %d" % solution.x_dict["indicator_ZWF"]) print("PGI flux = %.2f" % solution.x_dict["PGI"]) print("ZWF flux = %.2f" % solution.x_dict["G6PDH2r"]) .. parsed-literal:: PGI indicator = 1 ZWF indicator = 0 PGI flux = 9.82 ZWF flux = 0.00 cobrapy-0.4.0b6/documentation_builder/phenotype_phase_plane.ipynb000066400000000000000000016471221263606473700254310ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Phenotype Phase Plane\n", "\n", "Phenotype phase planes will show distinct phases of optimal growth with different use of two different substrates. For more information, see [Edwards et al.](http://dx.doi.org/10.1002/bit.10047)\n", "\n", "Cobrapy supports calculating and plotting (using [matplotlib](http://matplotlib.org)) these phenotype phase planes. Here, we will make one for the \"textbook\" _E. coli_ core model." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "from time import time\n", "\n", "import cobra.test\n", "from cobra.flux_analysis import calculate_phenotype_phase_plane\n", "\n", "model = cobra.test.create_test_model(\"textbook\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want to make a phenotype phase plane to evaluate uptakes of Glucose and Oxygen." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nvwOF9wNpxVUAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data = calculate_phenotype_phase_plane(model, \"EX_glc__D_e\", \"EX_o2_e\")\n", "data.plot_matplotlib();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If [palettable](https://github.com/jiffyclub/palettable) is installed, other color schemes can be used as well" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nJnQZDAZjEvkfhNJkKggt1vUAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data.plot_matplotlib(\"Pastel1\")\n", "data.plot_matplotlib(\"Dark2\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The number of points which are plotted in each dimension can also be changed" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "calculate_phenotype_phase_plane(model, \"EX_glc__D_e\", \"EX_o2_e\",\n", " reaction1_npoints=20,\n", " reaction2_npoints=20).plot_matplotlib();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The code can also use multiple processes to speed up calculations" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "took 0.41 seconds with 1 process\n", "took 0.29 seconds with 4 process\n" ] } ], "source": [ "start_time = time()\n", "calculate_phenotype_phase_plane(model, \"EX_glc__D_e\", \"EX_o2_e\", n_processes=1,\n", " reaction1_npoints=100, reaction2_npoints=100)\n", "print(\"took %.2f seconds with 1 process\" % (time() - start_time))\n", "start_time = time()\n", "calculate_phenotype_phase_plane(model, \"EX_glc__D_e\", \"EX_o2_e\", n_processes=4,\n", " reaction1_npoints=100, reaction2_npoints=100)\n", "print(\"took %.2f seconds with 4 process\" % (time() - start_time))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/phenotype_phase_plane.rst000066400000000000000000000044651263606473700251140ustar00rootroot00000000000000 Phenotype Phase Plane ===================== Phenotype phase planes will show distinct phases of optimal growth with different use of two different substrates. For more information, see `Edwards et al. `__ Cobrapy supports calculating and plotting (using `matplotlib `__) these phenotype phase planes. Here, we will make one for the "textbook" *E. coli* core model. .. code:: python %matplotlib inline from time import time import cobra.test from cobra.flux_analysis import calculate_phenotype_phase_plane model = cobra.test.create_test_model("textbook") We want to make a phenotype phase plane to evaluate uptakes of Glucose and Oxygen. .. code:: python data = calculate_phenotype_phase_plane(model, "EX_glc__D_e", "EX_o2_e") data.plot_matplotlib(); .. image:: phenotype_phase_plane_files/phenotype_phase_plane_3_0.png If `palettable `__ is installed, other color schemes can be used as well .. code:: python data.plot_matplotlib("Pastel1") data.plot_matplotlib("Dark2"); .. image:: phenotype_phase_plane_files/phenotype_phase_plane_5_0.png .. image:: phenotype_phase_plane_files/phenotype_phase_plane_5_1.png The number of points which are plotted in each dimension can also be changed .. code:: python calculate_phenotype_phase_plane(model, "EX_glc__D_e", "EX_o2_e", reaction1_npoints=20, reaction2_npoints=20).plot_matplotlib(); .. image:: phenotype_phase_plane_files/phenotype_phase_plane_7_0.png The code can also use multiple processes to speed up calculations .. code:: python start_time = time() calculate_phenotype_phase_plane(model, "EX_glc__D_e", "EX_o2_e", n_processes=1, reaction1_npoints=100, reaction2_npoints=100) print("took %.2f seconds with 1 process" % (time() - start_time)) start_time = time() calculate_phenotype_phase_plane(model, "EX_glc__D_e", "EX_o2_e", n_processes=4, reaction1_npoints=100, reaction2_npoints=100) print("took %.2f seconds with 4 process" % (time() - start_time)) .. parsed-literal:: took 0.41 seconds with 1 process took 0.29 seconds with 4 process cobrapy-0.4.0b6/documentation_builder/phenotype_phase_plane_files/000077500000000000000000000000001263606473700255335ustar00rootroot00000000000000cobrapy-0.4.0b6/documentation_builder/phenotype_phase_plane_files/phenotype_phase_plane_3_0.png000066400000000000000000002574651263606473700332770ustar00rootroot00000000000000PNG  IHDR]5vsBIT|d pHYs  ~ IDATxwuz4ӓ :!!XA,`Y ]Pnoյzw ,9g$DP,4MAh "$p7wKLZ;v:լ:mAEg)0 Z@;ju.B;wUpd t1jUut]Ƕv Ėe!IiYUUJ$a (J;ྎKWw!&.sDj֥3?iZo,x$ AV8}>_;(N0 Ei'"mz]e.x5ۙwuLӤjլh];UA@edYn}m4$N¥ݠeFm`7^ͺjxjvE׋mwMӨX~_EQ?UOT.rnLZ@T>['Uvt0t ]NYAA3h)nfkƫ`7\[%SWw9A)Vi|[}u˸V<(|T;̮ 6MQg$=A7v_M`f֭D8S2 j_Rn9 ]eBAˤt77 ǪY6V!",jTis "e}IC7ܥttЩf;plnֽv eLضMV4M*m!:t7ttYU%]Jz7|qϙ(iZTUdY>1P6ݠ5c*j֭Ouլ[ZNw7`WnZ cU _AkV;K/rrx5Ÿ> xx<>Mh6m":?\mO _Af7ȎWԧn;׸?*㙌D}>_۬=sU}]|vuii1.0strOc kKUhVkNw%IL{Y_'Be%f+v]o]Il:GHlxs9mvYA0Atx:;Kx&tSF,wU _&RV*SL)>˲h4im7{KyW;$ӋU~/]U|XEPUEG5U$մ[s=ƍOx|Sy~3=]?pMz:'wM?ݜ4r15Tr' ڳZ>x1~1S9|Uك dʼ"H([&*.x^/G"J%Im/PxDlCO9xK!$ Z-t]' ;_]׿d3Ϊ'6H2]0%]t', w1οb Ԕ&kbTo<&wi4T* t];=}tU8 iEqo/;c:s_κnm+}2Yޔ$tn#0p۴!I *1`"u}2N'tn%,3@VV#yUrLf \QBxOuįq#|,C/)LwMDLgNdLz:[t="]{&Sh4Ǩj MkO䵳q*Z9[8Ҥ$0XQ1[}[HQj:AYK<jXܘSy4m0>ll̦Eϵ Fb5-̆EjKuYl/^|JS.|_R;ɦ&x"&iH`'*xRD0iZu"%Lg9bD{VD 4lwU0VݱEU_vfb[վ+NUNV;"TUi+nYF27' RJ7& QcY u}Aj>(ыN)ClWň8d f#1BcȃYI(ˣ2C&Wr:CQ2l)R5Y=0QdR^u׷N,ˢX,uNŤ+Jw K1{OOLhUKcIyw!/Ri 6[\&̣BZykZݽ}KzƉ ;z{jv&_l<&S-jZ9%p5MzЋOfT AR 3^ L[Sؖh%Eҭ/WFy449Sy$mN ^FʹzuFaVM̦Ee>O V")JpU97F$\hmOn㢋.:\EBЬwoZc* f&x2&T8||u.'~vV~t'x<4i=]Vx9gƐblK/F G:--q+ 8)ۤ?Nɘm9a,"eܲ1,h `;Edu+\Nl}COΩ iE@Uf:T}2PeQ.QUfr"5{*O'C Nw Ӂt+ ;wRxGE>ɽGnKX槼J}8g=UO:)3SF'6D`I9*Fl}ђE(ˢ1& W~QfV "ImmF$&@u y9~zoNb6-Lck6+VP(RzqEtOۅevt>h YTgg?/ہHQYQcd'ѝsk+qQ)[lJW/ T{||ueYNu@6lo|c\n%,S|)x e(M*vU||/ݎY*"p9a*-8mSYuj?} W1&F "76|c~㯃|u;fbhL_VnOv;לJVo}??gڵ_4L̉/NN9a:i4ܺU/b6M=J+:9f&=T?3PA>>/C M)|,X`? y2:oǏz?>;'xwxfsY2fy'y'y'Xt)<Ph΂L'tݜ[ >`st}]nz<=|d_*8Ok}@`VVGDֆȽT7ߋQ6-m{9x$4LE^@87cz qe%DUDREZ.co%"8$9,=ls5oJ:ɫc4h.QS#qUpơ&sE"6SFhu*IewSpq۶)W!9ΡgS/YȜjMd̖Émj Y===iϪ}rqo6,N{n5kk}׍SI/t 4v q h+n n] rflR 0H f$yM aU1:-X|c'5Z9QWĦ4Z qUcxU ɫFZ5o:7H8NK# ǨwWmZ yM h#raAWDΊs *J-8O0M12*ы$.uy^#7F-P>'61sfS}7 FY)TUZVlp8|Ɩbڕ G?b>4M:~??O}׽+y' Gg= _追׊?G$hɘ[%=7;&]0s]!{glH^1Qg0e Jp3غMt];{i~(ղ Ou&s,UߥɾǿHejY ?a"X6Ïd(U›RXYGP2 [5S T?S=U$D>fâSI*ο{T?DeEq uJeO 9 #$/QSE(2~RC@Km΂Np-c-}46zGp(/}ZCIF[44ukoA>sP(tjtLM12OpѠhiڌ3Agփ}rO=pmyXR^H-W;vTsty,M$)ju֟eRئNm « xͤ$ B{F(('>Q7]GI\,Ks俆s,f G}AzovJFu' :cGs"?GTDr/8#=I{=#x p, ~F,yx =U8a1PA^/y*#MOc6%G3b7XM7S fܔ !(ΛϿy%3p7E嶾sw.qk5Mk1>5_p뭷0Jfv'g㝏e*M$CCCjzE H2`%1Q9гU)܋yA:J\!6kĔIPIH]"Z۰i[G%{ܮMAύ I?6mZ#=7%)Yd,Gy߫0hOQǩT>2`u㧛i-2Fci«w_E+ ?&D/aj#e^nК$0H؆e!S9NeO%:JTƿφ+=W9 X'{&&KfJ+^뮻xWr,Xj;)L _C c: C ~" ^6 (D /T_!\ ޤ1rۊ-٩.A~GR)A!8%q[T)[›bTcCR-W4}.2Zx<~iq2 U? > àVsg~Jf 7{:t&kZ{S5qx^~?Աضͼ+KGl^"K&f3k~L|ݴ|Hs| T6_Ix/VMhe5^Inb(^gm}G7'Ef 87sp2w~nJDD"ȲiJ%2FLδ;PF>3_ED}Ngddcx&ssKuNLGu.mt/-?EAu xz.;_ur|> փ'0d`н%oJL +d_SLMmNZ`c$6ň QzaE|T#evM駲 WI]9tL|'-iIzߚÎC鿽,~$Y1}nATEF͠={P Odi=zPdQ1ߜ$Gp=`M :Ƞ ^t䨌32FYGxM1&gu,e5E+!zE@uVQ*4I+( >F@;ōh ;ְQ2zI(UeD^НM+hhc6+ie5E((aZ %" ۨA/tsV#܇mؖ曮!>dq]ŀY銛.9YMp3RD G(9u^ﴭJTs`W_Ahm`^0Jb>u ~L}[.ocG E[񯼌^&mMZ9bQ̦Eϵ "kChߤ1*+/bVM3׉^8YM4GZ scL ~A`o'sT>2۽^c;|)(1jE{wd_#$׋QcNy؝>3pl=EpyƠS`k6=7%i1t_f'.ޗF//ì ݟш\4~Z#gO?9>9u恧3w:}&J9L6saqNW$htRVuLT|gy7;} c%zS߻ #QIf={AVh ~JP ^ܶH%"DB)#dgԹ ua*xb Q1mS~JfӢ5$B*co Um+I(ԈP[#R"Dֆhi}@7Jid]bl[J31g`涂/ (pF!mDY~%(\#V@(WA4G[ 1qZA!Ԩ~RCTaޔ59}dD #;f;8uZAg=k0w}7`kτp*q9nΧ\Ρqo> .P"2GEBaVD?Lhzu,^AH?3FigRyw"J"mQ/[+Qxu)Te,_bj ?xomcoئ픑-i zaw[йv^2>AtmXM1Gt45 }$K/<}A ]/Oj^׫Wa?J@_uCqoۂo\v rIhNubCg]\>ծNI:[mnKβ /|Gggy0~0 k@,,λ[42 ]JR~aB IeS`/$t-N@#^>ꟾNx7~C bLc(aJP.A 1~Iu 5/QW'umVZQ gCFݤNйAԈm c YAӠ\vA`b/ix yv u#%bd#G$l l&qeW 6Q6HmSxp׭='(}Pm{ls}uKrߒ@jvW PFFՠJl]2%>qIesw{a'˖-:\8:&+jWt .& Q, 3^y'{oomP(??qLZ?9W]u^{-?g3 64MیU+ϰ&`Vr/ߢ 2Pb4:!rUOw?OA=+ ,(0`-./2@"J?Ƒ&Ъ*C JT >?m44)}PH%raAmj*jQz'&AhEDޔ؆0Եq |NNWo,e3P۲1I`#2@-&9,1t_5"We>r\"tnk`+D, ,s]Qȼ0i|Th$^dͅk!Lur]qg╻ẍ=oիD"㨧~4Ux{|{u 'sn!t~3c4!bDȾvyI\%b;yQ o"%"mecqfzLNg'dWS9҅V6mK/mK.appcMΤ_R4iZ'=Lr6Ox . |]Tw>IA'm/f%OclѢ7~l{âoMC#(ExVBX JI0r|FYl䐄葐"m!ELXxކdDXهxe̫i!$(`6-< Hx1@ǿa"**"Dd^6@/"m5ǫxA -|$+%α>#OkXhHdmGy듄 z(c ܘ$zA&һמ{ /pƯ%\U͙(X3=x z#\>_'|ͭ[_P(4M v\,Mt~^X?M?[r0QCT7n!ޢW, o"phكߋ(:ebC R7|'R9ڣU<36$$B}GئMt3uB\@/9^VķGdVx{=fx4CswG/_"t:_b=x wWOW *!H}pLpr/;DQbcYl&zQUqX`5-Bz`4FĿPla“8C̚mA_d,r@DӉ^F%TRZFCT%}eQ>s,˚7vu*wNp8g3d쥗^xצx& zd`˲fs藘\ lh=M`f+/j? fߊ؂DSsWhzhxWC"zT|koqOQeT7:.c!A T>!zED}*g yZ3'd g9$)T>1`Q^|}* O0^K|2-3մݚ$|^3Q^+&N|Cn04w. : ?п ^d໽`9>,{1a8^JŸC +vWmIuԔix( w/Q?`Qli Q;p1,A_ 3gWd78_ÎjVVgūx';ĩ0GAqWbS~^gL(ɺg7S,CVcXZu݃'9!}Tw=CPz_y,e/Ǭ)z/jTHl:Po܀oZAG{O3*D{ʹN8ŷK^Cu:FiW39%>ثE«ئYbvPUE F %P̙4Rhu4%, )}PApun&b"~fpo.;}u;:Mڧ+3)غHNSK?Oy衇Xp!رㄯ u)Ǟɺ_}hǛ<[Yuȑ^"}EA p;F%Gm .mS>&'ЬPx2 /+َaV_miz4P{Y&{(}wmLȽGnMZĨ uRY&JDf2Ϫ>C̿oK}}`ü8ZNDW2(R2y~(Cm_AN}*G*>E%>Lx@Ob۽x{C@ǓZDȇzQ "z|W]Au׳xK|H8-?Eyڞm@`&"oG`lS˄*\O:< 3&U|Aj* vF5gpbS yAl&umE1ԉUG}^-znJ8ؤab R'0J7W2߁e~jDׅ$2gW~2롕PD/~:0O"qe yl lzm/bY6/Տ/R]EɄVȾGpr~bdQZwq%oaĈ S?p 9{uYEtv{t-^lطoI?onpݟDyzQAa N^(>WOj!Fa滑cTw=Cߠ,&JlCǬYY+Qz7#q M{}o\O`&f3<=e>B`֩F#Xޠa 9*8 8>0^!r/d'DׅI?$0#etRW-P" j{Dׇ ,9şש~R#*@pK;9 UB@}5<= CH~&+aB K@tSa]&\Df<#f^#Ed1I ;#/TtbQ!":ͺCi֝ʈegV-)$Yz6$9nNd,G;Yq~b?GuA`ٲezb)9N-;FqP 7#cwJ)TM (b/ IDAT:j^ӿ,B̒D/ӄI!#C5]#pͧ^p@)Tbw0OԋuzwLC-Yf* SBKl1LX,h760~vylvGVf_M7sz|r*70Թi2u?k6اv|y̿W?N `=qWb1Z:rkƺ43[D(wA}C")P7TMM#ܞ^u\ +vTj\v$U¨VIM2W $c^Ց-&$ #TdMzEG6˂keI"#i2YZZM1*YFR$d^0+,= (V j i +xL0*KBR$5 ^xΊMA+TUdIh8I/k9^L^ $( ȣaf0"vOKPtƨC|? :qh#f_3>v~ߙLɊ2w8׿Δ)SwH̛7%K0jԨ:u/32'DBkP5Y^8E.}#v -/Rڇ}uoub[tL83r@qͼspmP'|ajF5։ʯ]EFE#7"ifGP;ۊǑ-b@5ыYl}ǤP^2; S+5 7aJRA rA'vy7)b,c: Ǥ0kxb'֑3mn/PRL-[bP)Q*![n["BtKJB0R>40)5a`@H[UA)p SEJ 9fN-)Ί=% Vr"%rNjXKXZ͔rpILf9uxOèd汶+1YNpQASYZ ŞQ6li-) \)"{%rF!B_L 6k4/jj&6K͵L>U(Ψ>O/RP*ΌŋyG7o+yǹ/"0:K.eݺuL>g};^h"cOHӌ;~0|ěl!\l (*MKƺ]:DŽ3>bPMI5zTݱ̽sH%o#jFOG~*]Mjbn,fGFReZ bm| DSIn-Wq|MIDfACt W+bd rG#&ߐ$񞀌DOY@u(ׄk"w,O\cDߋkMĻd\jF2?wp 8;hZ&bd zgP%H̠y4Z:Uq7q~'Fc 7Uq:Epfqgmڑ=EpkD\ X8ށyqQеYDEF%Iy$Qihh2;vۙ5k~'[oax駙jb vI3'+_^乣#oQ : G5v6Q;F=9f&S&5+ȪJËk#-)={1%)T_ jTVm)b&8Wlc 0 I!*^I̢y5"lR#I9nR;fJ" W Cl** Y"|x~+}ݔKpOq7kzI' f?#J1f(se?P8-Ƿ![x{ploc a3 S(қ:z&OvrѼM|I5ٹP^3DIoyk)BR4Lq]~;Q'Sϣu]$0)oia ;3XZh;$K` h׌bSZ4Bw If3hXԈsZNsBF6χw@Jt |EkiQ"nt[KAM!~8gdTz=lhJ3žHHRIUcZF 8/qP+Y?C-[dM@rnnk؀6 2T{15oqQW9ORD8&|#}k{{jر?3L9ٮwu4)Cؾ;u{m$pHH zQ>n^uL&bh4J4塇b…g=OtEVgF ?/<-Lo M;-CvfUk~܏2 ecT+$lìhbH[Nsk>JDzwN0]&;Ռw ,S꫐ڕAfQ*U ii\l7C͘H[W"2؆Z2}/>†%h>P9V[{Jvg ̉ʔ+d4]A+ڳ2*V 9fIdĽ&ps=~@9ﴓ=}& msD{qD!īw 5Y$ޛEȔ#e`n~P Ćנ]_1ǹ;WZ% q:e<޽{Ypg]~cg>Ψ0&]6sGsxW'?z"^kOK&֏Nn*To3l }Ëlٱ$Z yE#/G*$![n&Nv;mDqP>j۱_rBز쯢t:jrͣQi;$K!5E-Uz?FK#dfjg{y3u\9i3HtM\+ÿ!A6hnaj#{@S;)Kt|rB!4^i bZ!Tk4- :ULմ%ۆX-; wmF1ﶟ1Y&d1;$wfLl*>:)ZU^RX[:$wf05(vT"SM0dIA؆Z\q Cy2s"hIzN䝄Ҁ$KM\K d[R\z٥o p? teR`پpعe%lSNeԩyl?Lnmm?fOO}nO6݋UJjuDOrװw mb7=#)wO~-o'A 1y$csFjP=A&f& :zI7P/P,zZ6Nc|Z产05\a>z>E2I9R4%X[Eshvjl15T($0LVͧQꯈ "ak )y̨kulì(V_TulC,vç!jOCu"!6\*6mŮ d0y5Ti@a4) `iKZWE*" ~wR_d'V &b_4i.|W1 Dpw\ ^5 :ۋЇ[M2 N$rgsDduӿ7MeA"+t= HZ3uI0;^?YBc’A; /pj]'7O}ކ?/c]Pk:]]]tv{TEOxbn݊|ԕv1T/}g-Ǯ._ڂg6sW!_1a>z@|ϑ$ sXtz&uT㯥#ik܇ P CRTLC=x}c:zVp?$OK$9^WzLw=&9ibw lì VtW#DW14< %Qm :/;4 M_v$1c+:\/Nt?{ֻg`aeطک&!NsW FoXBˣyM4bn4 [DI- ތѽCeQL^ك9|=dmLc#L)R!UKN0t],J4栙y>As/xαvz'Ƈrơ潏 [o6V+ўmGr_f.\঻c_L&b{ Ow\`+V`ȑvz Z`…ǥBl z1\̎; 8=eǺCvʨmnBuq^~h'œ@Q#TDpϺUD_$E7aTw# I5Q/|sp2[_&gQ71vajzKu rզ`P H&q\TkCe {T*lJBckT5*Fjx,^dF5^CTUʡH^fP/()+gSfk" JJ5]WtL>JB%^Сp=p_UAC_bpJD|{#a64B!NJ4ވc d'';K<nj/HnKڨ!^ &>С0]Y W|*eQ #"B;CtuZ>_ D'3/o|*,X,,˙jz;(U_v>Qǹ~mFRᥗ^W7oF/Tmßfi1RsoJ<&a LI=:j垃7=G-GdgЫEܳ@Md(?Q$s y_lP*3˫==ID$689(G7d$!AlCIoNajhn4[%?2':Haj4QUk8ȓ OLq9#Mٲ':ɟ.ߘq 1v**uI.A&54&HnMck1"_W [dr*3_9֎Pī$1LoČ<ȯ0/+3~)LJz^)Q_ [CtO}S*H=c1 Z!5{dw,pxlhp|/,lFsiG{9J-nd=EsmGL }/c4 ׉+"Fs!죬4DVd[4#GhYTZhFh89}1& +i.zOPy ݢ^ӳ$D^|g„ '?k;o}RN\l㹘O[徾>==1bBI9b :4asZع0~:N%֗῿ޓQͣZA="]n22rבx w߼j>  GR%~׌QA^%GW?HԒ2d/Wpb""l{nRx/wܑ1ƎR 2JPͫ"!I=W* (IQ3(i4}F042ӳ$cԎ (E{4). ^&AP+Fq**EBpBjN-[iQeQ$Mp@ӢR;3ЏB,".;u*&a1FzAL> &.sbjxȟ,ޛ3ͅk'}K#ߌ/@tMa0M]L~M ~-D"$8$E8,l%.I3"]Yc[ Sngo_f.|]_硇t^՝/~ d2E?kNW--C+GM:ΚgMdXpL+ѫh+xf߇eDR[ph#Iu>m\Z*busG*XG9&j0wEkB%r s(bVp|z.Ajs >Ԋ5z_k}CQrG8FhdsEsƪ6Sd'n;RB~%4jFsb7ӃQ3{E@i\?DVIbb &ܚ&nR̘kBsd- X~07<0F}5F5=`D"D'zU2ns}U7""~ @xET, -5UG$j%L6cu]7CtUš`d]&KHlDVűZ(qq&NJJ<4MzWF*rTax>D5Q:ېQV?|/ " XGi\h4Jgg'{~~ӟ~,bUoo/?я~D{{ t=hq.8pKzhN Q79xj*se$ UA%>zN1yܵo{ܾ`踦.:bbߢhM#qNY@D2 r Ja@5%Ij䛰F~;b:‘͘ébabH^k'(@4Ī(IlK}7~1lCmOb,r\2ЛQ [fyt &x4&F-[ia#yR{_qAZFtCP+k}fw KH RT뒸'90ٗ5Af_L14&aE82F]'xc16R2%E,m 8)ՁH = dbÔe4S/M%^Es4&}KU4^ ,KXL%vas]7bt.WW33t/h//<vn&|AΝ *6l_fݺuڵףiVz q!iq>I]rw:cOWq׷؞nRL䅟['d)-N?dY5kh&FŨڈu4lcf?bwA-w5H2徣f;/c3y$ٝo߻f d&-d$F3*/I`E& 07pMp;Zpg kա9#}0Fd!Q1ƆbٟC˸;04:HlJ!̉{xS@5pW.ƒ9hB6Iqc [=h=#ل} Y+=\@8/q dMn}JNU?c4qNpлdдPX~Qy'.7PV{-LtmŪy gD*4\CJW(+R8]`3UlA%Q^"w ݂HTSUA娐™L(L5_CAu Cc Y3ՅL 7b4l`ǚ3梾8JP^S(0 o ?.o~ڵk>|8cǎE$N<ŋ3f̟\?^#Ÿ Bj5o}ks?~Eb z- $[&B3qxuxÀWo Rt=2ӇCDz̻k|5q%V%?}n?jj@/\3@zV ٜ@ImxEЋYTw#tU"md{rA,ç~z9GgZ6RdD0yC5Czkh*&$Q ^5h^Ԁl]"BX/RK֨E25 "RR3$wEMY@i3B**ˣVEc5")з4": &EgK:8ƉBg IN|<$H"!V10.BhZpDZNt}ȠXJ uц=`Q* &V YW&6A'֟E^H]Ц{}Y;fd޼ytttĶoȑ#:t(/fҥtٻw/ D~m_dAaXL}}}I~3.[Op`)f4M:r¾'ѫٿ-|vVa =|Ng!IJ'ߧI%Kr>#Ms=xӄꯑ?Y{@l~$ /cjud_FF$#C؆ZmLr=HNwޛv;Mtka63aׄ6#٪]!2Ɖ_tdZ bi6$j$ 桻3t==p⠨pH߫wF* } ˯}qGc7Z- ᷅WdZƃ;qNf- 9ozW|h2 XV 9;#F T-i#mTUR;2.bO *^_d :T0nFu*&:͓;}ShmljYodev H kFInK_(6E(ZB(\9oL92L F+ҴjfL>sΎ)7e˖￟o͛)7c7n۶#_#pB6__Cwn0pirC ~i v[Wg#>y~KZ?_%n+K~ }E=מ\Oz17}dp`- -0Ԧ%RwZ‘ͤ7?n>zdEE'PA$2hi$ATW#o_3L-cqθɨƺ̤]E :KXOP P*AtIм2tbwzYd)SUdMeJ}eL~ȱMc]%BihPE[Rgա,α ]%$E:KTJe"\TS5fʡ2Ş2_bnrSt]he#mW<&?f3 }. ϜQ<':y!D+a=xk7"UQ6>@'B*} ͣZ!%vo| A?BlM1?pwz_Be]Aa FuZ#:U{R4BTg5vilP(|&ZOOv{ٹ^> W Sس.i׎eOW. S61횱L~iI쭟a c9'֭N0t*܀۩#j8 ubH ph DI^Cտ p væͩ]Zq;;=8p+,Y/4p+UtXCu(? yz_#)gJF/4}jFd6&pjگ9nm k6M^{{sGb)A]j~<\T[]'"}S@{^ ߔD6t,4¯|d",JH%VE)4@tmBDž2+ܤdI`nYkRDR06|&mD׊4elf37y>LL- Fpϒ~_pn.vy!ӆQ#ʩ_tT:lA6/pek}Ẍ́qxÑ [}2n7]5\em۶yfƌf;s>7vwwٲe w#6lGaڴiA`Wy>>NqyXϭqSR9ߛf!=ߙǞqjb֓\:h`ܴa'A J25 36$ b kܜBjh4[#Q3 d ׄ zIG/(VY;թb l bkQ<4ڀkB+FA3 NG/ ܀DBD&pMt ?!6ػP zYoi,X\ߌ侲0cLw[@ uMfw,[`iR_0+,`αG([R d 9ӟ?ӭjlڴ-[Q{eJ7x#SL6mǎӴ /dɒ|رcYz5g&sȑ ?1t/u{XXsh`9{wl8ʨ:ҶctMXl|Љ; _ۧIٺ?w^]=g1J5օl5#*ᜲː(}ߡ8x=lq mHd&-z!MnJciGD_'TWC2C-Ehh8}> A=AlV]7z=8ϳͫsA9&`3)(Zc}>%JE HD&rɡ{:T] !H=3]55z o^ӏgξ~죭<08:6*U,7 [d5h~N؆[u יP:q, 9ݫт~l#,4>*,c z Z~Ŧ>$LClVt'nZӜ>TEBW{QɶzW]X⥜y3wĩZFAX~M29.ps8'r*_֡F `_G"խX BV%p;a4˔)ST*?/ы><>Iqp3ldS`P l[s`WSanv|tG_`ZE<۸p~~;_=IJf{cȰq|8?0 O_}ju QsHZ ,Nd%un {0ؽ(ZrܕX̧R*okH$8sdBr<~,Xk<8F?ĿK@AD'pMs}TkaeryuC/U :<5DB$ϥGR58ڈN[-F?Y``3EB_3Ku2~QRL[bG b38$Krxf;cmRNMDMF)VB/# F".eH]Lcc9Ɏd2ۣXY]@VdTouAT-B)t: $Ϧ|š +2ד&R-l#mdeZ楘(ӽ&wĉf E&=Ȥ[3 L5c -k:ŀVmO, ٳ~/---Y;K>Nƍ|;aڵC_4ۿǧ=z4˗/' !>(&C fL `,}d^C6ܜ'db}4b$ҟ@5)K L&ރVgL=բru/ P轌oB쓖R)t]u3]NnBh8ݍu\* ~*d`j3WQHqs@ }WMZm*,?BK;OS)c#k,&-BT K`BQ&v<(FBÓʇ6`DX~=(ҀA5\׃BE E.{'Djx+ }hA6ך{l q6EpsXL"L"?j׏sC "؋o u93X,F8=BRI*LPCkPL5*YN2m9ҭ3X-LdgI]HckbmC!מ#u1ѯ@qpϼ9ShX@u o| r}kB6A1^~{b8Sez=G2H4>Q$CR%<] ߓ(#I5?W`4lsbhk X@\wo*>JFr˼BGϚ~bGC5A[Az ~{tXM;`Hp[~I&f^hu};fL&f@uu5Ν/T[ŋ[7[zٕL3BH>2m=Y)U X=W=#CiYeԾV}zg,5Y]̼c,}4獤RcjX"^mo<|*Y@EN1dĵi*?@B< Nbjg1Tho?c 6#$K {|݃OԈ"Z(Su_$o sd#%BK=e;/lVF2Y:_6k:M։ .RRjAD؜JQ/`k=Tr)PMxw\kFӴ SN\;׍i,Fvo8E~,kS7OOOvEʈ &sWn6ۚ#|5bnH iV.+hS)慌n H Yz[QΓk; !vȠصL-#}c  (^n(SNQ!A.rd,VHM*>#Hf & 3 mY|߈d1כPll)e vF"1$VP*>!;SF$:x f* qaqN0!q.c T'PUm`f*dZgmKO0:RDJA K]C1d x-/6KIZ }E^1NJ\HvBi.Es늡"ZF$) HFik `t*U2WH&[EP m 35k(ݫ?2O(Ep ^/?.]&]Dh4Jkk+۶m7S|Z[[Gz)&N8䈻4CB|E/vk)\<ֆA1ڸrZYC$r"EF6ȲE;JZʥ2HiGs|%&٪rrO+qpy,v3[_v vS o8g?~,)PǑk=ZB1x܇0Տ#quf;;`>|9 vlˈd/>MIy9ʠ xȁ8c $;ߍ{ m0H8, !%ԀN-+8 uT ?@@͊f gv/Ωv҄wGApNK=G$\o^?TwBTQV@*ѷqbԭ `2&'liND(%KQR/qmĉ$9.ӀoQ V-_`5‰$s)$9R}BH߻BlހHI"ۙb*$D@ȁ8:Wc0H^JHhxR3m;8 q$죭T#}-Kh[cQclC-(;=_o3<./HرĠηH} f!d`bl] |fZ,+VwF7_%W^  V*bͼرWvZdY>mQl ķs3L?F/7j1L]8~__Ʃ}hԅXt\C+k4y9%FUsD\gRHĿj\|`6y9kv}=(cI߀{W`Du2!VdJ>ҧ 0hwWM6R'}z @31R1hY0*bŨ"}N1VAM9)cD]!SNrF%_A(˔e$EBKk*SJ15I b@/V(%(%˪ W T`7PJrP-g˔Se 6ZN`XNkF/V@QFcaJXz?у!{޵!_/0m?\k Ȫn| KY$=Yլ0A{0Z't҇sؑynry7 _!z0JE!~"Da(`CrJR*S1ךPFLU =ϥ6qpa0ɠ(#SJ5uhU^dU9NZe-);z?vP}kp.f?aSg!:s*#ݻַET{_}{{qjok bwe2Ov)'1w~WMgpzlĺo.΋&IFrhtLbnc峋~{ǛN l:ˣq'[VKUmoE\)*0w=9 *= JcҔo"DuT9:j|ӠqZI)Aq sLa$I=]%K)Y~J2q6$t6cV{ (S) VGjPFS 숈GU;ӖhȲ`zf9)EKpLS̋^}'DDU<1N|s-?THIct(SXL.eU&S~+ (Gi+XLekmķCp[@SrV-т{D3E9Y1, f}A{HR) ^T"u9C)V>Fr?M"]ta#-V%u^$4fF|Wm.S2])<o[d\k ]Q< YWhkR*$KiHԡ8"c?xi؍9.0xq_W^?Fˋ$ϥYrL㓵 toH!o} C|E:Ahrh5,f pQ}S~oU0q.I9ɎD/L^gSԮ mǿC~b'xfeEq['&JY!D\}>dQE&ލ8F3>};lwY z(NH85A-K`\'@p5 K;[Y-'j?-^JTbɒ%R)o3|z7}ݏ L6˗waφ8\V|.n>Ĺ#z oΫAzT9[+y??@Q 9p7s8;#r#.0mhBI~r?ˌ 2羻L*?f\AMlH߈eY@+S8M)ME+QJ)If܋A/{ * Bz&^̑C5$rBxf9v9Nh`jY0=D0U0>" u)xIH <'E+@ď%ЖvGpNSNk6rFN1PK]̀/ tzO%q"wԕعp8\g*`=jd@I0W 26L*_%ۙ#v4}|7AB c3D-*ciJӳ6"L~ =kE?4ԋk,=o#)2H3G}M%j}$;!C mPNk TJ:NgREϷ-ai0S/`1! |u^q)F Ѝs`GANCU؆[~ԥR+T]OzpMqPho?ɽ5j/|6[tA.^H:H$B?-bŊCr)J d2zsT8}6TSɧpyS(Jn$ISDSG1xJ1w(^䱊FJI* vHboR2 H} `RixJK-&z݄b 8~-fUhyn_En| mPeLk8;ZL`򫘼bh4Q\ӜDQFwxQ ]d3Lӂ}ggML:I6k~wz{tz)z_x7ĉsj*^|š#GoSrH$p8U'~W9A&i!fC=X|3C,^92qM;QSP?Gnl~0K0KȲİ~f,KM9!xZmmjV`:̹#o~wȜނ{ H 2#V:f@d˿$zwQܵ?f@ RdUZU*H}nY1֎u5A{xqrBFxW,j IDAT(+UK} ^ J&Q<L1t_G˧Iz -6nRSZ@e = #Z?Ma=y04?_OxOn/֑=؆YɴY@h6J@rܨ#MaW{؆[[ zW'ó{0yU " OԐ^\SĎ$ppRqrѣ sSHNai6 K*S)bҐL~#Fx v|7H~zׅk0UZc jVpSNy8)l["v"b1(.d(5| FX&۝G/&jw}_%q:/ɳ)B["9Naf- u[+!>TD$Ήv`ddrB2Ɏs]5NP;MHMkC?t?NPСCX,.]J"ҥK~ӓ77,\ ZO*.R>C1eXj q ^NS{0np/!j җhR(B*O!W\=ZqX%zXB6g [2\U鷍aΓ\F&g#͏88f sy?H2Z*}XGKGxJ!sM%~ԩ15NysdqL@asjG3x '%^* }u4 ~Lbp*4TmlWu!urL[AJ:}a3SPY&7FhMjL~ŴHH yQwm?N jhGA  ?Z38< 6yF VaUOj(aywwMcV5:j\Wtk03y>i'kDUkŨm8"5a4RB(TP\+j +|-V"s#'P+@CYt+T-Js '-a EFT,NJ}`${ ܅X, & ^|Eq8\v~G~m [ sY]Qxx;gT p{ǮO0cXGz'J=Gh:Iv\wލ!th|rJo&3Y.BhK|Ap+d,Gi{ B{E &ђK"XքRvPɯ@YNP WۏтH~R;pXw7g.r .JXd|ԩSukz'Or.@8tO.E<&GfcL]8d4CG%`;S`RɧI^GQw 6/3M '``1ךHOS*VX kLHL1Z:̌2-BѡE)`$s=dŀN%1ɩU1Xd&Se6Sl2P0ש TtTH5XdLUek?!ti!Kߺ :0HXzdPC?9NsP%"R G%<B[#t+'dh:t#4Szѳ.G&3N@գL^V HȐ+ Հ6bi4E qNRhx]M{Gb0˭F <{^隆 >!#%z ?k}Gʹ\U VÐ*beC(~ c9D"lܸq=׮]͂Iwqvi"̽k7cڢBIB=1|t;T,;b&!iS{[5pXU_oU\=ͯbqxBI2ƨɍ, %l'q~.j))G"ido-1c Sa!#s):ȴQhǿmB1Q*rR'!+a &~ $z,1.tĉ/ $l|\WwBbRB(vOHUz? S֩Z1FxoygǫI(vj@e7ѽsB_eu!S.\k3KòN!\-$y6M!4-`3cP$:6XDoFPus(k',5A;B`Ri~U&z(N Oz-/6;&J OԐg{"%`7e>n4Z)+#pRlU-!% 6}ĩ$5+EY&L3]ȑ#Ȳeݐn^:( B yˏ"2_K![= :*~v8kQ7ϵs=_q|eNFl3r|gv3󎱄zbDIzb{6fœt]_:сIu ?&<]OyGw\$|_K j#fLO ]]=znj\C2h˰E)KlP)ZEs~2g H XvePR$%* lX-V5" Ȓ,I/ IH#+k:UtЄ=W: bE# bE8t@Q_5&B3ٌu(-s御AY߻d" @ x2ж񃉾2=DA'jk!CEӝX[,o W@ BUwG n )3.g ̵&RL3u؇c02VR:9ԛ1ט(DqL[A%dk޷CL4>]lIOz?'k0L$/ztvtb7puX,Ca |L& ;5H/<&jFS'GK/ėe!nd'N`Ū{xٶ\{;mqzlXl&.yL(EY0 j\3l*O6gƒpNNm MeBuC@S{P,dV6~j.dS{Z_W|K^Kq"jXbf$!9d썓oDeAMb߫(U-l-RJh?\LxO葄]`e[3EHA* 16 և(>0 $.eU0יK+Ura\ᑺ&VEoe, fjuŠ*ؿ=Bj]bI6;cdڲ |D$v汏ƿC@ȁF(Q ?@r4߈Ѩ]U% uVct*EH]`4_5%|Мx84̡R#1O>P@.ӀosRZ&z܋wPJPHY"v: +=aL !֩)_%޲9$8TUF'ЎY6v|=}(J#bSf??ӦMaGH&5SD~uQo#0}tΝ$I?[P9z-ш$I\<grdj2~{3=LgF:x8ECK%•S=,[=h Ψ]a~\6n\ 3L/lK'Ȳ̅7d9.9~4o47f]ST^k^Q>תoau+.0j+l9Tz3TR6I1O_8z&;I]؍fCcR#Tj }NZ'eL WdCL Ia7c(8:bƨF=GRJ#2acĥ$PKC!R\9Îy u: 2=4R̻JI^MSJ802a(ד8p̰ai6:4Hbī/{?W{ LfvPqiCtSKͣhb7ݕ!ўzu  c`b&'ʠ"v:A1YnI\Lb<CEM#SPJO_C$ LuF :'d6u؅$PB{2ׄ1F֗gh{79pt:yO"ڵkrzGFfN|#'?>o6WG"fϞ__~ iLQNUll*졫ly,z{B4O f3 vOAQI "6ϙ^F_9#^l$}@%0yJvDH):)e Ϋ(FI5{Ȯ>,cM4|F8 ~yMC|WePdل:AOv;g}k4~QEX罨MjjG4 ߪʱv8fX~B |̎DQT?Q ~SdJov8x)T?\Ap_*Ѷ8W0(RD#@1Ue(*xRdsL* drDb x;QiUHZuj{Io! LF9|yTXG-@ _DOx8Ѻ mΐQ}HX˨*ҝ8 |4*LF;3GԵ\.O>ĨU\?OgգsV3ni!8 Ȼֶ1mbCώ4Үk\ޠ|ulyu?'M白|<םdqx'g%b0jYtEL]Dn6sPlEV\M4V*ءWQU&Ɂu]$l#}8r&cc*FS <"cZ !i9ى&C?G>PITIlSn 1&"1TUG5hm5ّMc%鮌pH9` v:L֟#|XsG* @zۤŔ *U?R՘ǘЗpͳ3-}Dtu.-ik޷}i@P:Q L7\FQ 2a*r;2M go{sZ :Qi059; {9uhm{c4a=6o}܃wa|ʠ;gf͚Vf׌5 hU';'?a͚58q?}.*j$f8s @I-qIx6Hl:ab;'v]Ɓg= =C<Shu F( WNuПfX&qB?:ڦr#Oy huj=O.-'V#^1Z'7[?x8źSxR`_8{9 /*F N }tZKț'.E&~}"Mj̍x׾:fbb֐bA>⸗:qs7}aK5x,$O +Ie2EwiA ,&# QJ*pPJi֑shlB}{$e.̘ n{?}[=(BPޗ~N"zJHy%k7I&[xѹEdz:uĥ$ι6$Id\h8#~loOtz/I  C1vzٸq#{ĉ,GAp lo|+Y9g=b뫭ԷTb49S4qU*\zF^?ڊ(*l\ЏѬeZ4c0N;3@6iJ;:cɦ\;ǣ]ŅԌ.ᱰc,g=!4-8"hֳVb歚sl6L+kP`hJEțHR*?H-Rbp  r.E)#s$qͧ: IDAT11k^8PU m RELV{*D!\$ۗųI-OGKh bi|8f傌oS.cBf;JpEg)D x2Hh jgx:OߓqF QfW HaW^dZVE>4ʈL\G3CLc|*- uj{Iшm(Ppx,cJAzo!.𑋟Oq/rb69پ,TI$+&hĝMY$~1I`Ή:o>V[G* 'L$P%y83:SK/KTs ,(s$8A:~狀ʡ!ox<#Ώ~Icݏ ~mmmBIZ7Vf.m&I1ihz+cXg[`ǛPdFpzYw~oGqsl/&1P4P_BĂ&?)붧I]Gp#;CJ8 XB7FO㕨4B0>ʠ `i2cm6kOw9b]?F*5@V44=Q֪4ʈApo0O>^Ľĉk0pXc>fA:!{06y/ ]Gho2P4} 7LgF.zt]bIh$ёar${ƪF~N΀\s**h, Ɏ4cc>Ê!^ĵЁ{ᇱ}t#1<,C F;z0: y_ذa/"\luOw(`m۶j{?T*JHC/>iʌ- IDҌVϖ0|od\k!@٬2's}iv Ec9,V"zm7d#)u~my%t%o'_ܰP'H*r먭bGaiH]9Ҍ8LxEQP"P,-dh3G aS2b>D-g09N-u GK< *D)d?K "ǣTo$v*N9_1FQ̽AJI+Y$6q)Y,,nHw1>8&" TK#!#Z0 $e\ǘ021~A3m<ᰠzUJ5jعUcn0)s&YQкY/V2Nڧ6pη͢(kQ#$,4iRJJZWH^Kq.3t=Pc'{>6xǛwz4#GhZ-;A |@ۿ0ogBI}`6c%~@3=|kg{Eej"jl:ߘMgxbvq3Q&ޠ 8}*ZFIo"N \}Bm?G0ˌ;A.6ZP2qBte$Nm6o HݎSk74ZT:co} #jP[x׊nC #t0gLDHn!(FкTYʨE aKSc@_G^T+I cdD +% QX%jC0LJ zC&gK8qα kpSK׆q뇈S)[B_÷1@';8\J7N3 <\/$ a#r"H!Ve:r(sh%J)QY( ";Z ^a^v9&&PP%e}vpw^eeƯ D#v>A!TťWP(bt{kUTT'~?n\.u~FA~jמ"e5%Jr|pQ-((D 6Z_bܬFZ]`¬F⑴rVb.<;n ct WVfB";;{㫰،G sVNdϺ̸ o-%HnjW/ LJI~i=OxP*pb\k4i9 ȩJ1SO!<@&LWHSH%,/zI([5 4f*n ͉ʠ5}eC0j"!Ўb !,$M`mdhKtoBƪj:Ƭ&,Ph%q_aj%|$c| 巻 >C$&@9' v 6Z5yѣskOFWQqCc V`e>B[>^ĽЁkC6^vZ ]7w2G`OA%a3:B؏@7K央f{u<;#1-(Жwz_v-&T 9+$˥LI0tN-P|yp =Lw(B,cʔ)<̟?%K|wpwcl_|O|~] Iv}u! |g_:’{c8,k^ƦP?VCf=\f 0%44Z5bhlyBA`}9w6:7~9+'  ?>fq@&TcJ+w<1goWA\&8~ ]x"E)U52qᣤ/%%v. >Vm ̐͟j=+~,F*7y{"Dj{ʉ_L9#v6VQX%TbLwGWŶ{p ]Q z<]GG 9]KY"u-M!Z@RbjrNP'q1E1^Ƭ<ʈSH]KS&Y9{j S.$DpoX>V(6d}L;fmAcاڨ k0(]O&~.IDb["z:4Pة8%NrCy2Y46 êB /y*зicnt: jRD6%!oOE!ɌT*՟Z񑊴ϧd.Lݛt:M:Fet:f+u8pt"KNmgq tȦ\+[:hS8WifyA$1d]SܕI2ŌH]s_0ی,c2&T#I c+~x;$s\ƞu'QkT\FJT*#-ҺP_xă#oϨXb_GWՂq,$%DA)LŽ$NmƵx@7M?Feb_qKEeBH!R:ބƪlF%Id9̣ <:L,ZSx<@ƛIlFcUco-R3j$@(#:S[G7ΣX/<-*p/vbn0Ry$)TnU3xp-S} O֒YtjZLmPyo9~46 CmT󒗁 CD" 3q7ObkdpsL_PkF rCyO2Ty\ᠷd292>(5~x۷BHE;9yh0(JZnR,6W{TԻ8w~oyNme.l"̎4NmezjKDžם`=*q};+xFua"-\;GL?+&ƿd7e8"™CWѸHxy Zo8tfb_捅,r6E&$ʧHI J.}5)Dv=C/eڝh&J*":It5f PVBcS#$v5>dE@UkPʖH:@{ͯ=%$Ft*5~Ʀ*%Bb8;hꊐ)ۧZMrWSaĚGWcpIZ2YoVO3!¤"r*F1Zl['oR:>Qt]K|RI&o ai#rTZG2mڴ?qf{3y^ yZ7n?1;.>w#ёTo ݓv "bt>{1ˑdF}G''#gZݾ};ƍL:)SpBΟ?[~ ̜97g?#ƞ={g XÉWl<%FOĞvf-O"B))̻u j*j̿}}} j[T6QdogEQ;L[D$;?G4b:Bq}L|u*-Μ  'iL= Fט|<=W|E1k8Coqh9b'Ԑ< C4tP/ у ۟mox?(&B;8*D\ғ\\Q[#!K t P$JQ[9 gE DQ(eL)+){Q.EҋInIf(!I`3cΟ'\\ kb'5k*к,'TM#Xƚ~KpǪhx4/zySQVsW}i$OVY !V~c F\DOĉ$ӝ:B.'ٞ*QPDOujPoԡ6q̴RK$SاZ01YX/F0| |g%[^miR-*;^?V?FԺkE:7u<__kXtTvyJ@t/ ]))((dSy&-bD BTֻuqb_;w~i}׆|h6b|'4g? ܸ''I_9DߍRav;1Y»bˤo{SBgQP*[/pJ!@ŝ ӟEcP`9ZБ㢫^yKPS6Ppͳ9R@efPT?Xέ%t4Jh Iwcm1hOI2Dr7,-t-dʻPJyn}fA>vG-D:-QՋ8}q3HrHhl5#9s:M!p8 DYl?͔>ȣ[4OCpuYf;?"hL;P4.6El9j_ʅ#)=w~s"Ifb[zc;/ueIk ul+Bcu?жGWٌuj$IVF12H_kP? GBmSD5r _܀ʰ4 {*l9'3OO16hz *jPRcVSDzʻ=XYȇ ,,eK]߽T=!0yQTF}n؏Idwɇs82- f{#*rp834,ZBڢ(Jh]R7Yub9ǎ!RWSpaeTod!ŵp} jx' â I2̍&)ktuVG;]2=Xw0{ljRnhlfV >ài^} /pȑO( R0~V#֊ 0wwOCN{r4$Hg\9 HOPh 70یwS,s2G_ލn}lPi4T RWFOd1pj>:kCELe;' EVxy W1ZLY׏1{r`~{H\+\ż['q$?ЁiR Dv?JC)qP]Gt bjYRjR:F8\!r<ʀR[44@_ co"u=MJ [Kr K`89`DNї눞I@Ql?3D!^$ai1L|cz"dIAҢdy4 tib8ڱNG]9+3%HjA6ӕXo_Fgג0JVO3~.lFhm"z*N!\ln'ݝ+ zB*["~!жιv"ckEPya,iPQL֮6v EX$ˍ7eyoY4pyz)o>RF#:g9;88ȕ=" -}^9+>ظJД2*[\fv;c[Ům*mx*[i~ދe}~f=/?[A$RV`6B8L8,MSH'?[Nnܕh 3-MWarb-8c#s81k،l{(>2g O^FhBKZCP9Fxs*F\lxl\0CWb7z 6} }?-˃mRVf`ggX)_ t?E_)jDGu G?O[>\<; yF5_?) "9v,6 sRD* 2ΏeСy2}npX ]J'х,ˬdz7[^i%ϐ8:c&F We5f.m!-NJ~,v# -9tɵLYЄj.$l$xz 1OVIŹ)4VZg5ϣ%$TD \fۈK/RJɤ:R8I\J:4HQCB-uA֢u 1kH^MSqγ?@ҢJ'qε$OĂ"XZLb޶vc1T: }4 [v$yR7H:7j ԬTg@ZBT>Պ";mqfT*L?jG+Ev~"Nϋ^@1F%}ًΥC.}Z's)3hj|83ENIX URi,-fR]iWRX&)Fh,jm>L}}=|NdB+VE|c*,] '!?Hoۀxmkk}u:\Nnnj_W ײwMZ@ו$mEӓKخ`UnWLrQf*6>KF%cIDR]bS96LS$.u෗qDu.|,*5*vmcΪ 4Oa7WpL T5x'0X(rTBw~BW STƾ]N.[兄qnǗ V˿XD'vαc;cɖJ%vP $vID! >&`)Ƕf{wP#Ui}ۅDv'>ܡcuV/rsu8YB=,I1G?NK[swpej :HAKX~4)W3b$r~;֌R^#IЍ2KeDbl@P) 1 }H6(XhfhL$K7uiA|gT#hƨI $܈"7HHd∘ AaSI _'5D;b.Д1@kIF#EH$SnyƛhGI8Pϖ#7tx JJTH$~< N}/võyfbۉD"hߙHq/͑$O;Gs)r, H&ܼԈ@qf3JD, zX$ЄJd˼5\Fe~<=]ZhrbWI&R̽kog ѥl:zZA l4HiڊKЍߓK^`a p1aX}яb]l0R J iwFhhp" KaTNś Se{n@#(r4=o dqb'@.1ǹN vt!DZֆDnP r*Vb]\瘏;D ӴmOR0߄TUTB'sHkе[_ի<=܀?\ J?xֆ jdO>/ا<ȤIX, nÏCÉ>e~ L>gs1m ^77.5 X~#W|$U}sP1i.`/1 ijE.R7^? :$Hx&Vԇ\.eru&w:S82UeMNͳh9߉T&fm〒g;XztBl?bg{MqMZcϨqNz,X?./Ҏz-|UxBGYOjH\#v3&a uL7 ^IJuaZ4C( 6'TI#<>RvZd;'ǹq-1pr1VRʼnLP{;EÅiho Q0$' \2tY(}ȉy~q w+~MaBҁ,CǼC|'ؖ[4d)CtRc/Q8ĻD[chFQôpsKЍբɄ3D2y PP䄮F$.㑴U |Atc8ZяՒqyn6R[[0|j#8T*GX7̆_H$#_|=q%%%4\L&7fZpz˓rNrBf}Zq7 =O|t*ɅXq β`do 2cxMo./EclXF:[)* @ZcTd#|=J.`( *(8F3 hhȄxQ:m" >SySI.˜f(ۆD7a2Ah"w&H#օ&ecͲo PȽ8sOh#/BW<0wd3L[2X$bs8 SWQ3m?9gsb70Ȼ?;eՄ|1$D<@Sz`\]#iw̽k"\gR.lecE;YRq I|By_pSJpfW7i8K6Nc#sc|U,Ugaf'd(i:qCEw )XEA'pr %q*Q*ycI? kC'ju ieM2zuY3FEVC|X(c?Cwʒ4B;.*H4Ovy3 ovt{_H%=:LK Iw = v _ҩø{rLG?3؇L&gWr!{:)a\9s[7HLj4ZΟz356]D"P`ݭ XFjVqL3A͑.ٕ|r+ex $?:/MA>2wd)BQph9zn%'v]FkPS=}QL7]EH29DIc7XnwX,8V,s>?_|/wڵ$n_%@6Y~zol& ? 2a d9| b$Nrx-j\uRC)J.69IDuqmi#yB7!(%x1Lmr*0A]"˓Ob]bwND-ChƨIW[vƐJ 6R4@R!/kQd:1EBa5] xuL PxuCYqY7NuЕ~T*R1#K=8 Z*:ЉZDڰ<ܜ?PkT <Ҽ?'j|#Gpi.\ܹsGMS=pgrl':c9SIJM1/1ɲrwM"`/6z62Ζ~Gi>A4'؉ɪG.r|e?0C]'B;~!2s'ɧHvQD$taXTO3kljA[L#@Ik*T *VˊҪ@P x{JTJgC$8V<uJi`ŲЌҡ$΋Yfz( 6~ҁ48юҠ&..)D=ю8^Q~4)l#1kmWY%r qFQB``@06ԥ*\{E^MyqQވvƈ܌an C" Aϊ^"%$A]B[AP D[c`9s7n4g*n1ebnwنJ#2f tۭ-htb0'B:o4鉆B\ jh(Hi8z=׮PG8J1Ylt\EIIXE,6zof1xH%DDȣѫ0z|.bۋJd ~j ݭw 9a殙L&y{"&/`A& KzOV,Ɍh΄a^'J? MӁv|*L¥K~k*++yxwL0DB&!Ns~E E$Mn\ H$^/nT-& \NۍLduP }{o6*h(Pmf[!:h("a9ex/`;4g ">WI3zz|DCqzt2ösH0_ H pbe*&ᦧŤ9\9F4:dH%TN*L+.45bjn]CR6#ש]PE63Vwk\%x.+jk1lzj6Vbr%5Y2Ar ~ȵcǴIw-TϮI.´Ir Nڟ`e\#Thkt=bzT*BMaTbLq(8WZXHyR{1&e):ck&! afAAJ>SmG '5:+bDZtȍ,bӥtۯcK"+n$ޝ"= k 2M< }EARF1Dr0E7A&4i $2yL/Eђ dVjp7}.Zh4zJ%\X,F"ea/֟?Ͼ}8{,>o;ŋy)--f}YjjjqyB=7=znP8j }m8ʑP`! `qih"3͹MZTRY@WLVr8qNI&bW f2\+=Sg1qBw|7G{@) 8<9IRrcv frȕR,Q9VtFa/1Ym me󇙿n *|1y $6L坟fLvt[ ] Խv3G3yn%Fuc^|h'.'8 iw'覬"?* Gn:Qn"k'1׍TM'uY"<J `5;SXOBJ3OtpIBnHbn8E. H%s#m6E?AޏiW9X7I( $)ut(MF!~;A>Ew+"Qw qn%ҿm@ "s5>1bd0}@E*b \C vdY<̌3>D> ߠn:;;wÊ+>'v k.q@;\.7L4={p-*++ٻw/f*Rd p %؊J(* wRꉸ P*)?w$beiښ/N*d9dn\jx3Qku\;qj/FI\ s>@]"o۠HRץ{tx69%їD3JzH32(VA& E_ Urb= $R NJʓ&!(T#B7zO~kxp6o@ژ={6VnMw;~l,_Gvr>l޼{R97whjj! r[X4•\9} LewD•49 S.Gp1a|,"Z.)穜41cir 㨜8Rżִdc/O$9yn(S {QͩWvf<{H%3|뙽hjP{xvɉy >6r(BgCbs;i ]k)ώA er ?_Bҝ=J?CF;r=+`e8]稟{V9cTB-WQN;"f#fb:/H|6Of ۪g}8pӔxaVCvǛfgA"UII( q07Qe,0!pnxE!'j 8 oһU\].mcxy( #`>:_EVXh}֧AjѐJFm2xGx뭷tb1ۇj/֟>Qmz#^r%+WuVlBYY<UUU_fyw٫oppLSZQͥ#9Dz,MEz.8H>|dmW/r\.KJ~lJ1Z,fg&qsA[[Л X$ z=̻C}\==[K ¼PΙMTOL!)zZ~v.K&Vs/|i9[YLv|&3jsG{SfXnu}c^ů|>O}4WQ\>ʏ݋Z.?[(KjN\DU+>Tk$t~7=?Dİ!AJ^$hF*TEJ)c^rzɡ4 UT%r* DH%HRJ"9 HRԅJ*)$ qqA"Oa%fgAJ߶AD$Yky}Eha$1M="_xm O=^dJ %"t܇FGZQ.ºL%D. A;ktDڢDnFVI d48Gqq1htN5,}kأJFv^uN<ɪU~@EEGzFaӦMngtGw]A_k/dl@uu5ǏؓZW^套^~I*dS(퟼ɽ),+gicGKXn!y0Y_s/RwEk02kZEe{v*S.bTRfge9KF1xG?"kFX wsXiƈAsFzn%g^` レ|pL_gWp T` lAo 8U|7,8?;ʤht*Ȭ%"Yz>;_/q M^N&"pueIB֣qNPI.o.Kpn*!9$co8]!gPpe!џd`2n#(wsdcbtn^I1\+qcH{x+a̤Cl+,.%&X"DZڊL!Ҿ4DR :"7{y~"џX+(%_Cq?"%%[rxomwbx5ݔO%(}]~ ;|r4xZ?RxywZ|eʕR{R6L&øq8|0EEE̚5x~ T*Ů]xWf<ì]A>*9s _ppJY+S8j 'vmJ˨1S{| A*eŒy\#u?M.rT毽\?J2L&붏gR*5w~z[is摹IOMQUl_YIGK]7Y2kWGD ҪXC.ȤM]Kd.$*@.waښŔl&O D\B}F^1O=vԣTFp'ގ5 5"ho Iw LH$<}ΈrB&;T c`A.xCIb0)^*iAlځ4}]PxZ$fWk140}:>(&LO:R2?{;ߦ*&Lf~K'L)Ǣ`v'g% `/)eȦӜ>Fhq|6{X'qb6[[P5z A.fw^ ݭ-\>ukRJ*l\kX%Kg2T@,-u ʑJ^aS xjK~xt#͹CH,X7e`x@򕕴7rt;O{;^|! G[hoCNeHDSuJ=^^S6%clT:8"}a C}vE~EǔUo"Z~}VlO@&C6 ՚H bZ8RK.=M(ch b7!C7yW ^ =|Bʓf`LUm#33Dʓ&b[nA?Q!1D J V@a Cȍ27;en{ׅD%[ UR9z JݐK)D%ڻ S$8ЍaA%EiXk#ޓQj l T:/I:⽢;4!/ ZF9~tljRzj:HCmߵ>,0Io>|M{16n 4ߵ0۶m7b裏hѢ4]>y :z(\<~ʉ.XNz_h SX^+Cd3v'3!xhx NekP4MC3u e4׍\d껹\1'3qBFU;3ΰl ,'w_/KhjjVĸQq Z*'L[~O~n>i\nP«ʹsX~=?8eeeɧT!uM^z%;yG(--OءPopwC*≃S).hrQ~/\q(*\=]yVS9q]7q2ȲY qLD9wz;gVb\k | Qf,hѱõ<AVl/gJe#Zon^=UT:YZ@$ #Hr`Zrg/ )M^Ir|:qfE&c/? KMYE?@y@&pE=Cd"Y2 Mf^#(9u6}I\edcY 凁C39ҡ t·PkL8K߻|ǃ>Hww7Gf۶mL?ud2x lٲ 6P(>B:455'vnrcjpR#n$Li\t\\B*R=}xPTS)jfC*x LF2`f_h J(DǵZ9 r};Y0tL=F$}n^W˧Zﯖps؊L*gpS"=_Z]weKC,4\JgFCVm_rb e㜼ac~֖TJiG@"AU:yμuB"v !Ί~NLYxFqO\-hG:᛺TEfמ!y.4]#I)` ?y-=@A)%Lc_m"bՋm5Z2,IW z+Ka N[N.gp e(`GUsG)q36+ 0O勁nb]q 7iUǟ3qa7JJH$#OǏW_elٚ}} IDATh]ߧgtH$ٱc/2V}k˿ ~}{krݼkl߾ &裏R^^Yf ȷC?Oژ`9׮5[J*X8l4&͢&Fc0P\^NB~2|>Oi8MT25 1 R%6$Tpu/nֳ<7r?{8 q<^o}2Qv!h;.WVpl@u.n'KR`7ᵐƼq$ ${,atsY\݆瘏ȍ(RA&N?]Aҝp I~G畐1M5`msO# 7pM"%Hdu UKqm!Q 3l67t/'YNir'D«=_}b'iO75h&MVT3H^GКd r %O@.KԛdݨœՋMMPJ)@U$-6|K͘Fowtіqn!$ Wvﵣ*V)?R}(^%*)k7ahGE$=<'D\L#+a4cԘpys -[xTr vY̞td@n}ȋe]?GJ#رTϷ-JJJ>kOg|z(chuuuq%fϞrٯ̙39r~g}'xcǎhF>:}/|.G*YZ\D$q jRI&DC!j5J AȤ! ZL&#ɠ3 ο;xD1ybx b0iK(mccGsNf8{o5R4r+(k}$i*'r\5Gc8]{a-4$IbURx+cU=E6!{Eq5BM6%A;FM•$ޝ I. `SL,CJZPA9Bʟ&#ϠP팓vQ9s9IgϞᆪŋ?}ٌ  OΝ;[o1h 1 }||}{#|l۶;2f5ͼEl]<}!IIJတp 9s'%<(-6qr/*I6íPRZlj RVZBC oԌ%&CWծshݽ:aԮ=EVa,dSC4hFҕtJMehP*qp(]r&/`F+2JWO Nmty?.apo24~pێ6P^ +i%\Zg3wVfQ|]+Am}ӎ{0W)YH&BB N~ZږYLV|;zHG=efT*b 0%܃#yx6@,V .BJm%m}ٔj((%/znw(+D,oGoZzPQFL\9s}o}YkZeˈAL4@P lFP-f رc4h!((t^HXX.vbΜ9dff%cX}q/ΚCNV%%dO`h DCV4Zg$ߐCZM\ZJ (7p T76ȶTNhx]'Гj\<@;t،|2nz9\jMT!v~iLH.H`شdqro&v3XɽqdߺKA)8sR< ck)#po }Bm VgrNE@kná.XVVeR\wk~_.hz5֦%@ eiWpkGk[vN"bVk\Eb:"6&cJ(b!4-6M%\Tu&{g(tJ2 4 \fQeP  oU@J5m}/g<BA#Yrp2*RRe f!x?n央Rdŵ3q;=/ƊNVݮp Bhfʹhт'ҲeJ>xp,XD|IOz=#[c1 Ю@<<}8-d*"޸9'n'iP@Mi٥ qj =vDkk656M~Shީ|D:6ч40s}iU ӑGy2  $<;f Ox9.5S|_5Zmy"b%JYx4v%- ևSMȘ`4:5e37cұ[lUul9(f£^6OC>ٻrQ:VPo"cMƳXz)i2Q[l:NJfQSc%m8s'-wx)ٛ]\U(4 ̹fP|e+KU~.je,Y0vX}bFq˗رcܹ]СC|u4wmѡ`.ĮW%NSj*dN +y UCi{ HtpJNޠ6^"Z&}Ƕg뒣Ѡe ~c##x;&|-9s9NXLy=(+rڀ0Mv|q o9:yWZ ?ZgޙgsL(Pɋ[ko5mbjN#ޭ

IH,J֒B,9{; lj˓U(nd:6 ܌Ib2R@t᮶7zRf<ិ&p3:Neo2iQYK ,L rSn*eQtDтK5g¦-ߧR "So"ei]}EK%)^HIIa۶m?~O>0L³>HB:zTǀ>M2yd~dee1zh8v'O&::޽{7P\\ "dm۶l[]ax/~>qːAVJ2z}g!jHߧwX PhԔftmEB̊YZBFWۍ4[vwKO4^zRn,pH@Sik2h#l2%& шl JEll,C 7ޠUVlٲ<>C CVQ/ III 0XeC[`Gwa2Xj111t:ƌCnF^V%..Y-`hҾ QF*EYY)agdq`*ل5hL!c8wdN37H~+31ع*fL9IzZ')-1T))Py4J'r;jM)8JŔW\D[C}p5Q.mN`/[>­{o n=ޛINb4 znuY(-(ޛ|ŽkGиQj f1ٻrsJmnm;\3Yexƍ1yٳgܹs 4q\ x'1_O/}~ԩcƌVZw%ر\ș{ˠ܌UG^9+qAJ%}<; ES ʒߣu~TQ?uxia= Sa);Wj(?RT~]؍!po7Zہ.7֜-6\Uñ|R`LoƯ7}Ԟj4* zŸL3 Ph"?Uؤǜgu3k&26b^-=荔 )n­+Q\-"cc6uLWv?Sk0X|9֭^zL4W*_Gt@ ̉' *3;wpB;wػn7oPi ~Gqxz WIP(a_IDATEHZ4hі'prv]'8w&:k•5[?J݈j4TJ5KMwsN*^]!e%YIy~&.h;B1G:& sVLJll .q{vC![QTT}*'_-ũ%Dm1]Hoy央+G&=6E,:ʐwR[[u ǵ_'Tӂrp]vhd 6 ww1\;70#Go>z=̚5{r aaa|Wv}Dž\,YŠ+Y]xԣ ggp`j4NNt5" qOT*iغGLߵS!]@m]ImQl>̐(+fLyg 7rXA^0SQ)<ki^FTeY\SުZs=GޙB{P_LIZ)m<9`m=)N)XO;OpK52v8'?-=|=G[)J`),'-6Xm%trl:4ΔI]EŹ}Z/M~Bhf߾}t֍'RNJ>OQ_:ӧOpBN8A~5jwyZf{cWw(Ujg3ؽf ٩7 n诈? ?1(J:k¦ECa|>ҢK=^}$eYzTnޔg))/k>ֲbEXoGoǗH|'wA]Y3 ;$_Dp P7*(I>GI)&"&b2RbxtZ !+Hɰt =DW"<#ty— ؘm^ad"Yj_7央DJ X ˱ N\Ϟ{j4ٸq#͛7gҤIJ7R^=oF~c48cZ;III 2C~dϣٳn7\VkNJԨאCtW/1b3Ynj_Iu/s^yYkH\|c8n^/(ބW rm9x8 >-tJziG< vWRA%Vc :$Ʀp0[xXNje֭,Yropx܉/F( z͘1cnOF~G 7n#GW^eU婧ƍDh4l2.]J`` cǎSNwjj5/_ٳn)VѾ@.]}8<%ONy Þmسm"9}8g\ ,GSZl"h75\:xަ٦BVmLTn* 1,/h!-=^!ccfBTu93eV|hx9h} pbUTvOJűxb;F>}0a}0mڴ?Z"9 fY\]]X,""<̟?wm?11Q5jd]n]t[塞L/^,͛7'''ҥ̛7O$//O%--M%//Oew$V]QkҨMR3B!-6No/&cf $gE1}FMf(ea0|/ ص*̛Il_O"4 ƢuqA?Kg|l|p1Ν;cZ)--" nnn0w\wݻ={6999|w\rG9 5k$22~&M3CZZ* @yy9Æ ѣ|7^]۾?4"?Ceq/qqq2qD1cݻeذa"?qƲs_z%^^^w`Zȑ#OK>{zz^-Z$MuF+Uj7ȔwJH:B!^~2gE3E>XKU J%a ʋ~%.}J%:O/[2#JJ$X]|j!*5j9_GkIOYj6l*{zٲpBѣ_VX!g'zL%''Kƍ%11QDlOC""z"b{Bы-))ʤIdذavߵ+̔ƍ߱jj"""Æ ڵk+(XayxPXX(}t]|IYzI^^deeٍW~~𩯊Phi.7+gG ^S&wuB7wO;i0qrqR%7Y)_zS UdWO:-ETYZw+3.F]\ܥSСCb4%''~()SH֭T1Ə/g|-[&={!ި*8eРAw,0EEEn:Q(o"b5~zCDD}ya@ڵk'&Lǁ16m$mڴg}V|M[OcZat˗/K֭^WHNNL4IO.=zs犈 1BEHHH,\Prrr[nRvmѣ v|rٲe 6Lv*_~dddH~~ѽb2.==]ԍh%T.O9G{S ]O <$j(ygjiݽhETJ-}'ç.AU$C}Y^lkZ4Z֐^+Wsd͚52x`ڵ̟?_F>_3~+((vɅ DDŋ2tP9z=VRR"۷o"]uYd Z>}0yduƌ3o)**⭷޺+U:DRRcƌAk-ZD5ܹ#8CNN]x'<\F-;v'N^W^yE:t -Zm۶=:uJM&m۶{OOϗ5kHE".:w:x iխhNT*vG𩯉o`:Hfe;Izz=_HTT<䓲~;ɤId"bo4mTϟsܦɓeĈr?Rpx{yOf֬Y̝;Wf͚5|G3ЪU+LlFRT*?>'N૯zS())aݺu,^JѣիJ.=Yٿa%7yyc8| pS|~]v4JljիvìbUhXV{Q_z=.f͢zxrjh(Jo(+$8SOn7*f͚1o<HSV-(**^z #uII ζ$j\|||="1b#F 99O>6m0fׯlggg>_о2Of߱/pqsVLwnW***B^ DDD0uTZlY//n?~2mۖUVٳgILLzL&{aX[+++oG~j`60 ѣi߾=ӦMܹs\OnLRRÇg >y5jJFV+gܼy.\+ƱJWZl۶%KPVVرcy'̣:III̞=BҘ0aC孷ޢiӦ 0͛s5;UW[TTDLL ׯg͚5qxףT*߿ 0 &L`̙l߾ 2dΜ9Ctt4qqq 2?.nQT}GPwGi+JtB.]gٲe9`ƎKdd$LPjNǕ+Wȑ#ݛO?G>)vkXHHH Nw:%%%̝;@OΫʉ';v,ҥK >H^~e^|Eo͛7ywKT ={… L<ŋ; /?|VFbbL:Uڶm+o\r+/|b6`0ٳeСJ||}'n;++K@Fw.\ ?ԬYS6m*UTO_åf͚2p@پ}{}566Vz)%%%LU,++pqㆈت'}Y9z\xQN*43giFƍ'c;2{l qŋqp> JKKe%ǎߢP(wޒ۫0zJ5j$K,y &ҢE w6o,2AINk׮ұcGy7dĈ)ޣݻ599Y{9{^ڵke?^^xA.]jeܹbX矗{Ϟ7[RRr9"QQQңGߴ"FQsX,wy#ׯ_w}W6l(ӧOf=$$D&M$ْ%/IOKKWݴiӻG^+UpeY~h4W~y=uꔼ矋bsJƍeһwo{_- /۷L4IF\p^\rߗ/_~>)cQQZ;&z*$͛GLL #G$::?NIIYf1c?~|T*6m~~~,]'O|rKE9eee :µk׈3gRfvRrWBj;>@z-͛7ۓ@fM}bo9gϖaÆݱwRR( 0`݋JD$//ON>-""#Gs}DŽg/]Q(Y㊜ȑ#GrqVӧcǎo~Idd$iӆӳg?+>`ڵkcҥK˄/l2%!dV'ߟiӦ3g*wq*!kFFQ5_yk׮1o-xJ$RSS;r]\]ض{+JSE^gK^,(ܜa{ o ټcjլURt Σo 驌7p;7:Qv%ac65]mWyy_hprrB.,y0n٧ .AMFPw!o٫YlF&gѠkf {5_0L4>>_>g'i) ;_/B.'% C‡ȼes `׾xzzl2lBARJ؛i ~8IfLMacކ愼` 1Ét:-NR^^rU$5 //UjS#HM펻ڍIY&cN_ob E$ kSaCAxwA1ySžDE.V+[Wѿ@:̅K>&=ӵ]wb.2ctL&#aҽCO.]31лs:&F l޹@uAnB#iRA%E~Y&=:)Uo,#PE#&^۾M>۫ټ!^4GFBPEA:~oO*5OBP?'_E;oo"r*:j̺  }fΚM'o{ OOv-*z9"ycj2c+Rru>R)K,ԬVO&NR'~ݰGRr >2՛W.TMg3붭aT,WN;7mtiۍ뗿TN<А"qvv.h~52ɻrqlf|sR(Z,_9n]Ȏې为r7.zfEb܉Kà>C^&3^މeP!:~^O_b18|(GO!#+re DdOҞef_ܘfl]tm J7o{:p<xoWp#t:RSS`0<-+4-hZ[\.BJ%IMީZֶT*qvvxro>F:"k8үqzw#^({ ރ\tzӸ^({ D^[oBIN}Զ M7Agq :Dk Y,i֜1C>|QR6M#33tt:Sf𯃢) mPTb iiideeek¾A. SQ*On[V~EA4\;+wjث7r2NR'-TNe*]t"NءbYX-4: cןKgc4h50 .>ۀFaDTļehY NJՙ|&=\r/u<8;;I $+0 !h ί.8##WWקf`G؋15]aPaPT;E/zgΜae$ClD, ʐJr~шX$F$C""HJs;="@D*EYAiuaJ@*$"ʤA E3Z_?U=a_ao.Tx<[Cl5k۞jXl9enAJ/FťпèAc8pl?N ASN=• je̐q4o܂QefЪikF1kf}ˎܸE?ca@Atiۍ뷮 ºG^܊eƂhuzvCX0'0}425tiۍ=r=??ߍ_EFFJ}@~y H:]X,uƤP;n^ f-%TnI"uEQ;\zpSS60݇vTN*U=7;N r9ݓQ: W_o?څ/^8Jq<<ሃ)]c~ŕkÔ ,Ǚ 4ۄgQ!"Q1Dx{R+у_I}ذd,!t~ޯb&ݼEx^Ѝo~bu-Őmh4ҧK8뷯]j%KIؼk# LFrj2{fǾmD"\]\ILJdH0ލޠˇ; woFzzy:c$%'QL9b_aXx{TX+w8W{j5}A}+XWڶm[(ʠkO~5mƽ Ab3_cϤ-R%cBfddhle[d2a0j3J\^҂+$zZm7YPT*Q(Ef]?Ih'{?ժO=~qޟzӳc/ߺFNZ% q^Pvºs71QtГzӧk_%?|9:}IH#ڷ@:Vé'iӬ5&[?L&'yhKB7O0$1Oq&4k=;Fpox_t Gx-^yJ777j(==Lz=ăQaAcrssɉ222=& ;&Yp{[x._ס m8)lqjm?g^diomޞ!Cy#I2`ĀQeÂHzu1vxz]nYZ}rʤVK&++ \n'+& TZ.?gc:&QG$_}ճ~?,.O^H>ber~/>C$c͖Um;W泩_pflرr|\U=}GNՋtˏˇO29Ni@.^>OD&/)Wܹ.]l9̒PjgFAmҘ):wO ËGضo LyJ"5 뷭Օ9Aˡe|2 23*WddHR> 5B,0g,QӠNC\&CӸ^<=>oo1HB7!{ 5 Qly Og4mI56_<[uU6ԫ݀ۑ}lښc6/}Шn([wl6p?=w\m"H/sZ??b/+zei:ηp\o Et?+Æ +0fڷoRdȑ=}[hݻmAMP=x/K~%[EE;w0@:ؿ7*WO":"v'GNV\,+7 ¤Sx!]lFM!Sɒ qw KɄ? ~Z&=#&rQ1g,Τ2j}tԴ' N򕙷t&4vOHp]/F!3+{ѴA3\@d: Zvmvg-־;6z5 Bз[?6K琈%TR!aCٱ;'"3n{|n5d csa"HcXO꽘(͛?eΜ9_ҁ{Wt:[R([q:j%22$#..+Y,<ݽPpS!A& ?Hݑ%di2QPQ8Iedj2qURqS!ǸQP*dj2+qqqŅLM&Rnjw\]\QB"恫77w4Y(\\tD`XqWTVl6掋/Ooz9FcU` ''7;J=ƐMBጏO_!t[ӎU׮/MR|- YYYdddؚ o=&}גӍ{*D Ç5jݻw/0`OXz5 *ALO{\u:rԍ}^ l؄8s#'|Lظlף?7_-㸺(_9?$n؏d_>k7G>ARdb݌a4nؖ;cQMHKKͭq6&IR[ כP;nbix6mM%6Nzz:%~@+ ={TLװAD@&W`˽WYwnry*U$jUkr'6`1r.,*U> 3NSBeRRS8yn*7N?I4<'"#(Pɳ+S3E.q TFD?Fy4pGY IDAT  ʖ|Yj !F`cY 17MjõW.YԪVs%4z^ONNNoC*T̔J%K,G|qRj"Qv%^H`(]žc)LKFMdߺΖ 1L5& !_%;d<-"5 +bkpA>E&vjv*ٔta-߾R⃯pSq~//0<,}w 99ٔQ\%^eiX,>WIx= L> 4sdff0vxZ4iœX{w=5>Ee*g{'YYY6"YVqWMy(b9O?ӸqU7 v߱fC/11V:$nFPA(;,%9)Auzu AA)]Х]7"/̓UٱoZuˈ% e˞MjҚhuZZ5kÖ] ߄>~H6]ضg3`4y=;bT(WBɅۏgO֭/OE.S\%Gw0G%;;:^w;7yfa]tlՉ܊Ewڲ.s4@*uDqcQRu<=<9t]vJQLI6x"Jg%k}6w}`hd<==_zv8v=}_L_za=zʔ)_m7nK^|B,_pWN_) % WYgSFf%|ާԨL)L7 c>^H*̿g( }-]=kW>Nm:Z [vo"k8;B0m7lضNm:ӧk899{n]CЖ 5JҟXe% B28|NÚ-+Q&#B.͆(WU˗J*/[IEM5 |ݽ\&F`ʔ*C UHVR^D^RԪVjY~~ԮQdRQ&%=3G)IԨ?ujEo )*@u1[MLRRq/S҄ŕ6]AкVmh.G+,/6=u`{Oݗ@~N<l{?(/Dq:&lh]^ḟ__ٷe RUkRaSYJ= ,W-+bp+ܘl?T1S)Ȣq:" #&QRu+c~HlYűS0$|C[uf @x~tlݙGqD@]%㧏r㯈DвI+…KXj AH7|V1n{$&g31LaҨ)dde0{Ltz^Ly, $5=5$n(],$=@w?ۏE+wH̤SX". XV {:޴c ?MYy%ΰuBCC_:f233Q*O) *[/6S0RTOd+ޜ^ Q_/,( ۱dgggHOOu.D"*Vc٬PIBeX`uCڪ)b<>*r=<=h>KZd-dTnbr ҅ν{b<M] $5V+ǿ?lu?"^c>U6q"N2Ɯl*7-]xzxa:*7jT dmXiѓGP8ptiڂ㧏;s\qwhۼΝD,sj41Ъ._ ǘÝۜOfmNbؤOQ{xub#OP'91HՋ9tOJذc[lbJ/P*=~%7/>w;'"y⣯'j?.N A˷lGͪ5ILJ_?~Fa)4ׄT9Jú9}z'=#CЩMZC`FŁIMKERiٵw'+V>8z^+(RƶJX,oL}-zyWjRX`kꫯhٲ%ڵcĈN7gm V2 `Md0oa0Y`))l4%.tPy\8'W.?0C,9r3}o|嬚VL>F,$܏gĀфAfo9}a]Qvp=*OCN4iДUjs GIflҊcWop$5צ]Eb^ȉÔ@]qUp+&#O"^Fey7DP0(VF}Xb)c>VZX,if G굑0ow2`Bʹ9p AT;78vwZ5kCh&p DAFh Hذ}jgĀ899jӯ0;jT?>7NNNlڹzu1zX~\0{?xzF)TWܛy%l,i(E>SԩSԨQ777W_}ӧonM^hMHIIUN<~xzM[ѦKv'.*Mtm(]\IKyLST6ϟby(]T >Yx&[׮\:7n]gҨ)d2f/ҕtX,!-#FR|%2Ct»aF,Z1)htnӅv-:lRnh4Ҵ;Ɔ8uXD6wqA)S,c%qۊZM{#&seVoYbɣ )W/#ל}  C"SpQ0g,dN235h eJ10Lg1`BCX|RRfҽCOZ6i5KGvN6-{+1/#T2{`CgMKU*{I64 hڧƠ4obט-?͛7Yxs߳k׮,YJUM&l:Ħ^AJw߱fя)qmгbx$.*dZlU gH!4kۅ[YGJ%~Mt x{X"ؾ1(Z6mMDqYb%{_Y: H6۽?w04mЌaG Nͪ5?=tz=?- ,ǔw?@,3olbcqVd".^UŇ?t@ 7S6O-{6H$&D?[W#Dd?Yb%k_u=h4ҡUGȝ;xZ&0bhSHHF7b:YK~AR"0XZzz5 w$Prubo({&U+V%n.l6se*LbR"΢rQu"e̅Ӕ/ͅ b6y4U*T=pQpYԪDžK*Kԕ(4hFtL&s#;IHG͢z܎[1dxjs+>[qxyzim+XeKqZ4Jgg4 (Zubx{2iT|pdѯt5 [֗H&bj(8p(?q%þ}TRsҤI <5kvO݂WžYl65|0NeȄ)_:ϟf%ܐ+y}W~ۺ:Өy;lZɵsx0棿pVrpNww' ,[V.sP$b 7d"zS~X,ai>KzL9D5?s8 +OQlܹm{X O7;NJ t?ϟb޲9( >7*xZ-|4jUO:-GFIy̿f~Md kdi2v7ߋk =lf.KWiڒC'`ʢ_y|8#R'VoYރ)TջNn]/xyxs,YWk/o2\r@"ϩV:o]9&ǘØhڒ.1gLL3-B[2EeUn8+7|"1ٱo+Ukrf Æq/.'ϝ`մjժDż 5gߤQ̶P]{O?{.]taժUV-ɓ'lٲEҔBHt!N1'EΤ)Ѯ{_<~Ⱦͫ,G0s8ux/*iq1QKX1 IDATD]Ƚw>$܋22ٶo+w'3+ g0[,۶6"8r02UWҠvC}{h*6l_oeJlT$Vٶ31c3 Whj9,m;ZoSH|uIyi1ϢkhdDDC&^>'3ޤ%?ԕл7y|2bzzAb l8C=Cr2)s060ȸ1k!݌SP0$%Y0s1-D<X[B^NbYGUE6f ͓ǼfQ⊞>qϣIH}&R_=6i:FxMuC7W4&%E%Θ9-M=  繐fHII>͍̚6K;T( xۑ& $5#32<`y1{< Wn_κ[Voyoryh 4KODSV_ňp1/ovO݆GFFlC c]ϵ '33P=z`Ŋk}!g۶mJ}`7D"MMM׆yqqqLvsјt#쉺/sx.^ ՓIO~Sgw8Cݺ%'' b@Yy) xLp|.uz Ba+#bXw޹BDl8RR90c x#YA.ݺ2**^,N^8 HHn8&,^{F 5ϾXYл=篟ahK~0s۸w,`Uhjhr^ZۄvF Ltrlmm!V'k]y~WZg c%%%xyyQWWB!+VRjjjgHU~moc;?ۧuNN=zpm< 1n20nNfKB\#/;9y8Lګ= b1_,&1)Jʤ|Q7ݺuo̽[ٱu9ʪ, Tԑ&$$7@FZYYڅb^D"-Jʢ /iiiF @NVQKK3**!/ס"܌@A9t|F @VVHHH W@NVE" dddP("lk]Ԏ)֎HB2())#immA^Vii; --t()*!--MsK3J*(!'+GSK3RRHˠE%(cf#Ccq/, 5MMDW[ 8z*ʪ|stcӗ@JJ:݉Ӓymm,Zc-o|ĮdLWҪ}Lx7T .kjjjpuuҥKXXXl>c>u͖I{:.NxuW&\ĵSI`/ANmu%Sf/љdIIIf,ZCK[n9DUe9f$Eš4f؄Q7s]=_Lz2wE". 4բY/YCڄB*-zr؛7~&9̋稩y{qG!/ea[48{Lu~Fq%E,O)cݙ:4vIss.3w|JJu[jݫ筢=Gw_)mBFZç&W&g@M+ޣIwn_!c?Hf-e#9v0"S{6v 񑜺t9 LX:w1 Qܼ{ 3SsX2{Yi<|ep;bpN!@mC-+%" :%7 O@FF\y]ަs^q"*ׯ_~z233ENNUUU444zPWW{ҥW:CZѓǨ篜x|&ʪ,{o;J*T$$(D^A2v,Եt&LͭXinl$y,bŒEkNKa czi BEMceaMVNٹTTRPO6e e%Ҳ~ :3,-IJIĢGO {qt3Num5Ϣ03"&!]m]Ĉy5ϢPQTFUEx< ,zțl^gPXJ]}mיE/Ҳx: eEeriMzV:qX[=,+%:! YY^|F7TT->vXt3'>1eU$$2Pjjk@@ZJ YzDA^uOaZvn2i3f"%)ϥ>({ Ɔ&|Nv ?Zɉs!''?![nQDMM ֖,1u\=qm}-D"1[>2\:ܬ4\ƹ3͓Ң|5MmJ 8bo2hoogzD"܂)\899yT5q0#4$q9=CMu%gEK׀A[[ikOXMJ yx%9 n;:"@b\d  2M'4%U"+>X[bnjνrTo?( s6-͸{HJJ$ٹٸsIcx%1 xLFbs )*-$(41S(('%=&ݹ̘aci,箝a3jjꄆ?@YQ`͜- *W.<!wihg̰C,AVNǺںZR3_ԉHJ~AQI!յ3` hŃ( hni@ ddN[akeC((e8`?'%hRƻNdcI,ù13b28r(= :QҴ< ?"hnnuIE~o?^cҽ{w>IMM^zd8pDGG~$8tPI/];?]mTWWcemŊP_@X#>;7||x|I<:˶|:я y E>\>#ơ32e{$"ô+hin8R^##+YO]F{{;g ;-=Y:qm=g ªk8sՇ{ ++}foe%e"rg?*Jn z:zNO_!!!k?gK bק7Գvz;8S[[]QXR:V9i:#9賟p88vzt<~aɶu!/'OpXBW[O6:/{| >FFd૽_w +;JKTTrLm]-9L0 3do(*- Gw*Yp-22?]-]rs?rL8v0N}|f kJuMOcqݏgQ̝EboDAQ>>y' k F]]]? ^ess3%%%hiiVX#ʊGL٧}.7߄ic|->w2UὯ +'>@JRz!/;GFV7L3v '/c&SCUE)Wl&K.&k:zq8?_!!)6g'?uՌv\Y,'{qYd;&U5U,ZՕYˈJUKl,mIHcE0<DG2}'"Q;7n0@p:=C]=c'R}N?5Eyhij1u/BSCfExOUKҡ{)/̴^'drzFXz;,9SQYEncݑe88@ Lt<\'L}C=ֽyy ,zIFv+A^NC>F(nFt9q)*eV e4յp'hktku0ʷh}l;Gw2h-4LVVƿܔ? f۷9eee1|&M5QPPD###5JIu0*xZUUqߎؗ((</Ԟ/)/ɣOq13^>i+J*j= |Dvk*J9iǒ;x/ۈ*%y(**aÒOĸ&{-љ~c4uY(>z2/DNV|e+N`bV-\K63gzEWGdD=b wƦgKhx0|"))< ̂q#' PG}T5u7rٲC=C_b_@bEcߗ o4 ~ZZHJJտ>ڱ {;%3s%| ?}l^=Ͳ<EQQ<x33܏?zLБ U2K(RVV.ʴLbb"&MSo*:]ٿ SDNNդ*y֜#ykfM~6L=.#-#MaK2R{}n[>W((*kj# I$%$ijl8?>2n<{ IIUY(*{'wCCGb3l;5U|Zthljm_SZVCߢCMm5)))܇߽۔p"Ln"(,c syo&1x$[V٫ĈgamފFG"⫽_K]}of>e\MuMG(-/{,l8s(k7r<[ K'ZBqbu\#/+ >½lb3FFTVWѦψ4L8\ۉon_¬'clhBJ+dd:%e%`e$%M -9 &*.pPHJJRS[ϥwfHJJqw~JO3K;x{{{YŽ6e@@kk+ߣ*x;/%_8::c111| w~~>{t)3ɟ"*먬$!9 !IJJ%$6='#;;7bncϮ1y(3lݾ |.|&FLp'v6)TU1w G=̥ӱggwbaӗz^D#!)Uo&y-M]_PcMR|$A7/0p8#֣A9i:9Y޿6!oĢW"x f4ĕ0~gX4k) 7̘x׉DĆs @!>)?v޽d2*J}t'M f(.+FEI ˷ѳIIKFZFuK6`͜ 781,^Sf2f8cp)@actU+ڇHԎf-=Gw҄ kl}'vSZ^oAYIç$ĨN梨:vep -E"EL0K?HV>cQd}m0玢ONF qezԌ״1qcGaxnE,{ .+aǾSXҹ+:zy̙>q#'wPRVLPp/JH$%? 9"66oZ166fϝ(o; EEE|||~'РSJ\!o e]QQA\xv6:yG1ߍg((ޚ=E9KxMB#%%(-̧M&n_BE]pvl] K6}!Fݸ|b/H +'Oue9/3K>@Qv ->K hh`ѫBa+MhiPPG^A5=m|"ljjxErPS[MVN&bjPX\@eU9465`kHiE)e%ۄTTU`kHaIyQX\>eżFS]5&M&=XO{;9֒\'ZVN&U5ռjWGyEE44c@IY1D"+֓1ehihQVQFM] 222hjt|N0jXN]<oֺ7ZZ{v_ın&q:;?!z.`qTT큯ePvoGum5~o-TUؾ+Db"a eex{F_CYR<9٘u3g8^=EMm5ՕTVW2b+#]6ɓ>~;kե$]NBKC{a~E"[|c8pr/[ގ?gMM\(́ih\L^A.V-\K]}GN9igb$&@]Mk^ܹl ;r}z!!)s'EKCJ,Z|SP,V)\/j*l[=a=(*( =5=L{p.W;o YWO'GD"<Ⱦ}Ju+++vŚ5k$--ۅ򎝧뻖wDw>H+//?aBKVup2w7m((d/\䁰Eзp*K }<Eݼ@|CUԘv\³8 e!< ! ^}8I Lsk;kkHyQ72ߤcb`Dȓg3y1 Q(+):=1ԗ"*+((ʧI ^ơ#-dd05:_&k5+((0$2)Fܥx6 QNOepb /'O֛LG=b`WR^J}C~AťŔ ++ۗccH$"5#-u-.߾ښĽ@ߐ[7I7DGM7nbg՛z ))<.EZV*m&=[(+q{ꃶ6϶|Ё15㻉{r{^haʭipBć>EEEJȓ, -N]:P(ҭw2t]+kFqt~;-!şv7nӦMҒro} _W++$Gd&hJkk+CGX~/io`a$sWyGAn!GGKԌTv7E()+aOaµ 79y9x}mmm>= IQYgp/,;޼f2qY t ׆OPSU#$gBVFuK6bkݛ ^BBBQ1a0 uMY>o%#ϣ2פe2evO4SY]ɒ9+ '-3 %"rrZԗv9Y9LMY>5 >=eșDGboƝܹ1⃔)1!sK+s.+;w͛`hh$\R^xa~|i) [y8"E.^|Kܼ':f=53'<:V:Ǵ)ElՑDcaӗbn;wo-XEEi|"))ɂBMC¼lJ򑒖ak 7}RF ,A7/Uahڃbғ50FK1m' & .MM~05eb1/_~[E\u-]ƻNU{x{!8,#I|™Kx2篞Ihx f.'!TVs*Sf"'+q.aj[ ^;E/K[hrUp07 *ʙ;c"B 19ϒY9'Ŷu1͋7={p; ג̅g(қVϫ$X^FLBGcD"蝶(CBBKG(vN?N[oJx{{tRf͚E^8{,xmm-OTTֆ)OB{[F&ًrzFsK.ñs@WGs捋0q;+Zpqt7䐗755ڊH$B}}=eee䐘HNNEEEٳw_6n֭[166/}{)Lpii)v LƫLB INH!UU"-#MC]Cf8 M (-#sp(fLFJDLZ@#ϩڎ 3@z &y.qe%456>gvΔpiiib<{.9.D`fiKaVvvsM=pyJKQ(" Y6w%!OД|V-\Cjkѫ-ӓY4k)惍R6]= @A9*U1ut|. Ɏb%%53]-]*+X` 1Ϣ {JOs+2Y>o%e\R_2{<xVd0n,ͭ8tj?vzW@^!.\qCG!l$$*)<060كj[ìipsącdd#t p=.8nM_sٱ ZZZXl3vŮO)*-bŸo|Mvn2kA]壭ew|7--2k!&?-M-Ji !?w{;^S]jg}v/^̝;wPQQˋM6u! ȑ#pΝ4oOQ;qކɼ~7k0ȞfIYQ9Zz:'q,\?iiU^D&zCZVFt s^ ^#&=}n&% ))ͳGp4Y7QZՓa{gdJsSi/!)q+xtGc7oqeZ[YS,zAFVȇH2oN>=m}RғINKqw{`oHaQ>q/bPklt$`Mg˶ 0م8GY8k)ΑxkK[{PP϶uaۑ#3cl:p+˹cCF5HIJIn p!*)ZTTCSJʊif:㩩 Aw3jj}sg,=}nܽ铧;n,ZZZsVن B)}?W;vP̰BBB,fΜ/󂂂ذa,Y[˙3gŴe,X_s!N>"'9A^QQ}aD":h|E>]iə1{ǿarOJ~sx=uM}kt Ń;00Ƭ囐ܡPԦjt ))cqɉ8pHKPQVdx&[玢/Y vS$D&dQL?@FZ+;\0ݹ&RRRZ篞t HHs7UU?c4C۳x[E060uK6R^Y GQ(!-Qs^rseTgQW :!Ǜ>GGK)|waiX:#݇)<2ޝDޏ,ל|Sx2kw /?oOxo;⿵~+9bٲe,[\|}}~: 0n{{;k֬䄛]9p|הciiɜ9sk(r.]`$%%itM9FoeZ4~62K6/ :,{kex@+3T~@Pc3cn{"n&R]!?;*Cm߾f;AEQE {7ػ&^Q+bG #MiP嗜$'y9r-=f~uT1!0m$y6`5UxLBt8:DT+2>0j\޼zUTVԽ/{6RR\S509UUUhkꠤRyyy$(*(!VnxJQRT9 "<~}\l2(+IXEU5l;(#  BOGySU-A,n^Z/.)A$wE9eEhRWM$'B]M()*!ݰ^X\}k{tuqrp!MAa/qjLW ).)/ڵnYKD{҄[152cݨ,)wEQQe߭Ħi |ۿG 0~Xv*45QUUc^~ƚmicۖHfOԴdù6;Q'r)'GbbdʛP:98SZVL&C^$TZ 0BKCi)X75be1)tݛnӳE?oj?qytޝ={bffTHH7nرǏÇ#))wOm7ȳ/ 1Qeggڮ5(.,A$/ڂ"1;)L?$rs8?'vfҼTVT#vSܾt[)^7Q__%).M}]==[$ݿI()q_]&$ƾh۱3.=qt إ7~>gTS_[͢YKiecW{|@sqrpYS]= 5h { "} <թFNsOR IDATgCYy)6Zݴ6uX:g9x]9ږf6-|pʤS)*.b|[^L=#׎;mB[6M[j~WPW`Ղ012[=@cMsOiSVƤ)SL΃DGqu:vpX;~~~ڵ  .AAA$&&+7ӧO8ݝ8h۶-# 7o{D44TTT~30c6vXXR\XEss>$~DCKb-1jj8Nj_]^HR^9/$HBRUiIJ'SX[_ObJ"_r3sjkk뚫 dz45QUQd}ΤGXY4eʘ0>OO|Gjsd';ucl^[HUu5g}H[=k~WXd=[SRZuqj#~fݎ5{$U6N^aniPPP?  J O2t#S5ݽ/zÌ +N/nfp&88t0annnׯN<  ӳ-[ݛӧ/^DIIoʿtYYY zH^D.wY+ Ri]zp|M"."ϹttBޗ̛gx)f^5Uu>Õ[b;2^ nZؑNTJ*9{%3n(.Nݘ2zyy?jY0s1z'ŧY 0 Ks+>HKV|]r7ݜSWWǫtwq%'`dh05xtITT3u :wڐ_F(0w;)m6SYYwLee%[o #+ #'3 $;X\;3k\k9rƓĔtuY2{9be1GxCbܖg GWsoOEEEѣÇ0ͩbuii)waҤIAΝٱcs mmmܹ=FFFyR~~~tUU';[?_Q167؀G2q !`bak2ao_EA3f]g|HJC н8?BH^br3ЬKKj3M9IT+LO.kh6PHMM5f<~ f,^Kvf7'm,;[e%EXZb̖IK. }~>{&2 yyy3x="C2ee{W4hԹ{6j&ܺ*M[2Ɔ Kaq!\y9ZڄG%*=m@/x!=:"5="e\sN흑H*IyS4{1~WQRTe}C)[V$ǦYKKyXZi-&)=iQSQcXYQ/{ pRZZbify߳d|JE?v8}$ς2},ƏDv↿/-dphӑ3WNY|G:p1DFG8}|30]pS7_*))S]]WO2sN6&fNIY1uu8;8̲9JBsI*޻{~}ھ/7-@*+@NNh_~o^סCIKK._cZh'Opuu%''ߤ7N-aABt"W vNZOܻܗO'$0Vm~mMpDUCgauMX167 ӏTWװn{%(UHMD-׽ӦC 1oC0z m] |hbjUUQTRFQYS?_J yxeܽzgkhĮuQWS-OGSCk l^VkhѼ%{ b}ΑKqmvznԂ-oGEBv<U*Wl;ueFjjjX1o5v-006]G'?^]P[[î;ٲ#3et\9Ŧ}hʞ+674vp3Fl[ u5 BeFE,- {a霕 }?H?!:>`o@Dt8GN[>`/Բ9:ں\XBdlZض#26.N(+/ 5Uzuib`DjZ*ڴP 冿/:ZL5}]}44|JlMLpVTWW})m:)]x~nX15i8gf]rA"b¹{oR_//L7&&ѣGөS'TUU111A,̚5k044rP(ښI&q!&O9~8t=Ν;9w6mwOիWcllܘٷ@kÊhud R?WhhjP/ ;M[Xq> .<p}0/r;nW{NCU]#'sT2kOBMu5OcTI$ܽz75M|dEyZνiު-nFP-$(f6@~g|n_a̐ȉ{xzY=gxՍV\u WbifE.=}Zi-ߠC'ď܂\!f6 qe|GL;\ \R>`$jE p\kٖK7/ @1oB? Hp2&̣9w1DE1c;1 zl1~D {:Wn] B 7U ňD"))-&"&*Y6ձ3$DC64[Vq5M-Y2g9WșH$lZ7מhi4҆%J&>ubɉ8uWPRR|ŝ8r xEAA7Ԣ9Mmx&F|ܼ[ِ[RX\Hxd*bUh6Iq%s"6jb#ɐH$(++7heVZŵkQWWٲevT۷oښ>} HpFNGǎ 07/Ñbhlaڷ 'u(CQQ*rBTU)/)ĠaBB+{[޹Jʊy] lKD¡-GS\G7L_;O]m-FM©[*K9₆ zWO5;ƒI}]=ƥ*+9gy2a&Gv>^]{3},!s|1lX55 z gݲMhij //Ϛ2,6HEE9g,2zl"S:aI9xʃ7atP rwަES_#*brq454q ILyCېd_ג[WǦ=),.`ΔytqFmm n}rѩ3"q/Ӯ=K@^$σ\IS~\U5?(**X7YS_;{fpa<~[3u 6 THF30/᯸CCRZZX㌍EOO: woѣ(**2z?5Xf_}wn瞮Ʊ5g^`ʙ< %"9+YtH?{ q}=w}юbd~ƒd45ͱneϛOppu|J9HR&}-Z7.bbٜ쌏țWOheHc{7/,Va.PTVFЄGq7:菏AL-(̒!}q)a2gq 2>cd`Dfv&MϻbgۖHEyE9>/ޮ=1 7cCN\8-)qhӑ.N]9}-Kfܰ \MEe*bK=;xLLB4,#c iƁp&@(Yڵ'*>ăgѶu{2+ڃ @@`P\xHijñsG'=+aGչ;WImm-GLG^ ԅc1ޝ+cF 2vA*eľf`!L9 iV6Y<{"HFMhkN :wJ6HG%Mͭgg=}{ySLĂ}qb/R)3̊=ś0菭uǩ-}ǫWطC;GDrrG6&&uzhjh` aסmB.Y%nؼo=^eĹtuFN^m%:98'Ņx7e<$s&{ ɀD r , ׼ա"V!*zEH ӶU[2oJfv&)114E(4UQSUH 6v&V͘>ޝmǔݽ/=b:A0~$ZNxcO hŽ#'rNjE,f571哴i}~A frswr_\pеia``@LL ?ÿ4I||~ѿ=KgMŞ*I5q) sRSSK|{fA״vhH4KK5yʨ#C]S 3KSsW2?fQWD$ťд˱^d}@;. NTJjB iA KV: ˤy+)±] upaid2.G ̬lP>Ȱ 7qaڪBm C264+qz:7-exw,L-:@PK oݜsIVn\{tInݿ KQg綣 cݮCZ'eۚ]y]= Y2{9<+ekݞc‰x\y Ԣ)Gw'VoZ2`뚆ƺkخa^3fx+uh#%#̌03E454ORRImHH##;:*mjanbNT\**9`bdʐ8sU5.Yq :V/Xu3zwFEv߽Jٿٓ"؇ߣ, EEϋgdDieӚç1d2 f-5oPQQ%:!A"ж= 120F$'n2#=[?6oÅЙ3gÇcgg|YSSRCyFtSSSILDMSwP+q#RRԵ#wcjiB 2aXBҲ J}x: #s# uy').PHVNAݑTJy<עMM;IOMDCS)JRًimOǔWMmbkݒw!/jƒ։&[M+hͩ}s7403@QA\LT*E[Cb4A]MC}C11Q"VcbdJbٵGUIDrrame&rB!碥*1HD#U112%5- U031'm&VV@@n~.N.څwysWzv酜2N_:]6, H9mGOWmkvChD<6#'2o"v m[m@(ұ3Gv 4<֣k@UuWm%5-{~ o޽fHaA {흸N?]Y mZ}rSQTPaJR%^VfVGAYYLVXY2b(.@,f:L060fHZ-һ{?6[72f:wpUtd} y!ڍXoo]'O,GdffGII $%%#|||xǤ$vĉiݺu#S__֖;tAEMSKS.{XO޽B$CKGq73#s.u:!DrzMtLMx(W{*? e<U֥G7dbҒܼ LƈshѶw.sV:-8#llψsiƁ7A\?wUuMf,m]}ݺLLkt (.DZK/^>Ki cIsж#7]~?d@AiB!N.L=ԴHVv&, S N?FjZ UUڇuyy*0y4RU%m;>Ϡ>CiX.6`EMU Tՙ5i6g(+136}wdd7-bkӚSC^'Ѯ=f,BQAF3Kk~X#JJ O45iz }d̙:'gFam;2ut"b9{ &W1"23r"x.~nQTTMzYY3fwsN6ObԆԴN* E^^>Ƒé?rzFܼxۗ02` +("x*BY/4h!&MLx@ZZǭ?be1RWbnjگJͭ9tUU6L#b8:'ձ  2]p_mTeX"4ru+++[t_={ҥKEWWgϞ1GϏݻw4@J+9icZm]-ZY5'w֤u{[z^`Ϊx EWS{2s4ޅDRQ^AAnysƒ1TFM׾@ ɝ\6nalnD&ܺp}ό:vRT(9'!)W9"`)tևRFyi1J* ?$޾ `% Bzuđ)(gܑJxz >1 SK]Ghirǰ xoɱpڷqhXO쥶q&п@>d ԍc7jRife(+=˳@5Y5{ [PgصlCDL8N@Z'eʘiڗsx ;1m ~a=!3b{ƽk4aTJ*9prQUUF%3;1c;G"+;i]37}!w|8{ +f }Aνzýқ) R\\nj9|7$zݥo#AhܖMuxng`2ӗNc#:âeƥuNtyvvv̛-6ujmghb21?w`dew ~#'ܶ  k۶zT*e5QQSgbp~rr6-0hF]Ј_o9pr GZ4#+;-7P^Y)ܩ+el;4ʸar!^ƁEKs ||024fuhih.O/XZ٧ Hy{l&#;G0jXR)xY8s1"wruLâhk }6 hSx{012()5ٍ!@4j*/_?+s+Di XZ93ơPWW"eXYr%^>FYIcifET;3 OYy)N#=+ &&,v_@  TU2};VV:P([׭?'EWKXĔf!HFģkCjҒ'uuvY m=-N?H^D؋Gީ-o=A$C$#S;)#|FLʓ;tB('qn\HYi?ĨnՖs;r 0 im-a/J@mm Qd|LLIEV6kSSxOStuq/:;v1aD`nb!o\@$/Hkk1`$=D[SB;t?K_A7 ;wx.=zN(.)ع#>_XYbky߳BBQ'gx55-߄Z۩1yz|:,L-rXv܂YX侌2vFE}u8%$=X -njXY!t+թ;fVήCېJ,n%mZMvlڳ̚8=T_kOV-X^if㧏i޼/_BC >>r|BAA_|K. 4qGRZ"""ggg~ay6-~[idvO4n ?٭M[6%YsV@iש6w,BR-ƮܠK2?~B]S iw p=JKxx1RwRlZ7 ^;uåGB=˧t%&5>^)Ae=(#)+.by4mKVz*B]#1ziIjB rVm?Lbt8'nNZIu;װ.  5G ,P>OĜ +Bs+ۍo)N.lܻ2ZJv ?-7nFˈgv:98hRB!8S#36،Xf-{t[#3;qOx2:sdHlk#g2lY6g}(((rQL'ϥEs[N?WPS[C[vxl9Ĺ+Ys-ze~`y;<եw|ݭ/Yx]:1y5p2E"XIjZ*V4j2Id偩)YL7%E%XZ2P.߼@YEy3P`aj6Yi4l GM؞H;􇃮?lUUUHJJBMMA댍l:33_cjj.(++ӵkW~7說R^^ݿ_3띟+>>L=8v@iq)ه7ӱJ qY5^αWxf.Jdh46vִԆׁ t)+dܬќ9ͰICPRV>ǘZbdj@CP@(xx|cҼ7+=P__O.= (bU\zsD +-afޑ.݃"S~XE"1hΩ+^$>, 5 /3 Ņ|yc05$m f.&+6[sGW1n8 汙s?GN47cg*ݗ{bJKy~ח=Gwbd`īЗ̟lڻ}!c))-a- 5ph#S{%;'3O-t!1%N\ '2ͬA]M EEE Ndnicϑ|kul?;lo\q?.@W[g[Ynd6nnܺMQVM{t4pņ3"?:|ݍ(bbw+:c:c(v "Ң"-J)b @>ϝ{gn<~/{}^^G߱r%=}4 ;ʌHHC^^#C2sjg_ /EX܆ zhk۷gPW@]M]%ǫ ?YOss3/ӵ^1Gw?Qݢ;~xƏ_pYYY~q̙3ÇYh<|z7 9&N@|MiG}6| c^wXw"ՃoqtDZFL;X~hϐъs/5 "*NDrL*n8Z̴% rY9^ttf]>y]{1m .ݸ?bci/?nG^^[ Q,߰| k nGbH A^X17Yi)ښHKKuNeŦttL=wlܹGs+> [+{TUT9q> yyyrhkkc2ݿ:t z4o߾2m48|03gޞ@\]]d8::߭Imm#Ŀɓ'|Ң܍,'C @^ct uHg Dd=Z * J'g0vh2!aNУsg=8{o.`` r tDHȳ70GkI"0x >~|F(bdjɻݸDHDiq>VoK{z!yyUyfQW Ytlgk{ YTVW~:p89)*)˵#3&`>eghjjQU]?uG̝[EV^&،'%+7!g~h6#'+U;|"+7^5KOe֕HGM'an޹&6$ܽ %hf~􁆦FPVRçbcctұQq7PdHa0c,v؊,?.\9\;nnG1k|RS-~dE}cϑ$DʺgߑKKM'ك_@0vގ1 L1{ =s^ħJŻrSbmUrHH@M'6̌ww5uH^#ٟ>~HIJB詃;{0"Ma-8:8y2?ԽP^^΃PPPW^RXX$ZOt֍]C(tS+.]a]CMSuM5$>ۍg%HHJ"++CeE475#--2k16QH(¹#2ۇ¼n]ý:\ e!$D%!++Oƌe!sT;Om]y%o#hDBRU7.}Gvs-C'ĽS7}NxN](-֑QyUR]D'7>T$gOGwQ';',DNN3WNq'6ښ:,=}'p\22,n1f8r~Tf_d`D--zl/Zذ%(+*q1"7D9+164~z*N@JRy! p L1>h4_(.)b@ s;nN, 1>3WOɲ+17"15pqCx.\?*Z|7y6\+ŏ4j*5}}t/ss tr1(*)$37gW& IDATrd3cb@šEj2 3+>D$$$G;'R$rvk` 6\K}C=sC lFÐ~4 \]2ȩC?FZZ! 014ȩ.E@_Oؙ֠BZ& ZeD":r#:#}]ƆCXGWt/2g^| %%% >P;\h@8yyyT`Dۿm|Ȉaܼpn}rIv>3%n\9$g&nZZع{-׎Δ@ZFEyQ,{O((y.tEXt u\1eu5ynFƫkO$%%rHHPU?K[Gܽsq"63m* MwaA[[+g3l 1(p];v, x{vf^.F^u QPPDGK}?$->?m^>&6.O}]VU/l7ֽGNb4٬:%k,]U5ؽa?yݾC}CjjXhf~=m*UG<+}GOjEded1Jڃ4bo@Ee9:ںTVfh_k&z `픿-#dLl1YȦ]kKrJo> f_wnKK <}PH׮]?>999Рm!x;#o_eи "϶5,'ht .ұ~F=Gc}#:zC1mjTTչ~zuaĔimmܚEOh )}; eԹq(fVL]2 !ۑki쁚:&<+} `ge2VMK ]PSQii**+pwEG[E4){[Ɔ&ajdF,d4BUYk [A,ꋟPC˂ T-]m]03UKTU15nsur'61E|bnjQSqp+WG7o_MZ}B&įKvʢUs柶|lj^m]fy4 8]{r~ܴEǭ\+qw !5#[9h 篝Hը;/KJë|RR7֣z:8 >i𹡞eui`ajdUXYѯg?^ϩ:D@ߖV\ Ҏ]#{fnBTUwt7iYx]n^ E?;a 誫cffFjj*|o Р_ﷄq\_ӣ/7Ûxq\4~.;qioiာ,Yr8{iykKęCi ZD-8{:qUtA@>0cT2f@ $ߺK=ɸ{46c3^>+m+|zQgs-J*,ZZN ɣ+")%!Jx˧ռ|VȒM{yVǪ-?(' 7jkaPQVc{2HIpqppKkk+C &ǰr2r͇)|V#E[Kkv!4Nߺ y?^;"Fg\5o@V_EJZk&F+Oyz-l)}g# qp+="#!V6 SBߕ񶲂|?hih3mxo^X&QWUGYI/worif`flQlڽL.l}N^{4 uhSƆp7U5휉iGCCƆT+CJJS[[jjٙXfM |#}Eyݢ+%%5&M" mmmnܸ ձoN)HJIr9x]}.\Y G/5 U"EafeB"?gcwhkmn&֎V()ΨiyS V&{n]xw:i01WXLGԀ{pOu6VOr]o-Yĸs«[XY@!car,mmmLr5(UJtދ/8gZD"&^.zJJ -%Ekk+m6"!m}hH#677 j'K)/l6}&n BZZۻQbM477R2B&ĈZ] bh4 b1HX܆22XZIѳ\pwANVҗ%܌܆!(+c{PWUgPܐtpțl;JWڸ/QPϼ 9w ЄOz"bҳ[ُ0646tb1--"[G$Q4~}Ԓ2.F{g_F**<;+{YY9%qZiZLLyy"n3jX{^z*vCC]uUu?LA W"[3?v 444COObW"==#G`jjJHHWݮ$%%bА\µSXYōQ 7[)iH^clx w1 FBRYituxSZu4|nk1Wk`ĈIKL'xD.]Ko@i47 5ȟ[>yyƜUHɤ}FMH鍽'Oķ@\vUehh0uO(*) ȳaHJKol8}pF&X9sZTbѬ8p)<#--sT>L[[#"@^.eǡ455}Н} f,FEYs?#y}C{RBCBBُ'9ۃ4ʪw8<OaI!,-N\8NFn:m8.=tDžy()(޽I|<;ءxZZLqI!J%tt̞/ ccjj?}M?i))$$$Y8s ښ?FzCTTaJH˼QSDžk012뷯3l޻Wew#GwE &̛GY3NZ131gќ8wQcCr0~D$FJJ>xgWߖH\y/KAGKgSPc3 vlBx+++'3T5ݿR>~Haa!6l ==z,,,AO?j* n"ۣNА~tti{9G\D"ޮk03G$3/g:8 3C ҋLJˡcC~N!:ZX<̧I@΃\>T},4i@fj6>nœK1 酤_e+d߆\cM܍Kxv,lځi)TTVOeu%Nv.?/$+/gX K[:fTVWbld62؀E;V6466F}g 3sː~#OxqshGCa{h4vF"#-îC۸ʴ3NmuY1U;s!l7yyegp'S_ӗOҥc7:yv()*CMM >$O@GKJ>Hڞ036oWdHKk+=0Y6`$XYxgO B؅DݠL9_vZp }x񪔰3<--f 鯝 __'++<ԃ k\r .܌\v={2a|}}={pE Mii)=z`={HDKKu-''C3s45zDӸ9FF\>vB.v.?ehGiii:w"t1L $tksgҒ3}$^%%Rnݓ"TUxSZfb1jjkafeJ΃Gܺ|ۑ:O?zEC]-GwCu%Aq\ۋŏspЙ*e}GP_ˈ JcS#;my1;2k9}9X:g%ښ$OPdar)y-F M&D"!ÂFrJ8&FfXYq=*~}Iz%Av6I I밶a&wY\ »> ͓ !%)őӇ 9Y9R8v(zYee _dZe ~݌@DP@R@BBe,sF_׀We/=xF8W7^Wn'uũک;I% w҃9pb/fVDD]OEP{LwΜ9ߟ-[#"88f][pll,+V`޼y^7i$pww-!666t mmm9¸qmBbD" M s@xܽݐ@[{=q/t+ŝx 4u4v"045ב37ם&:q08ƒćL7Y9Y&Obڔ/ۍ煥+Q(zJȢuX:σ۴D[gd•+(1pc"xK$N_@^w֕A#001#?;7/Efv&|HICGKωOCwo?J ,ɝFߕkkTBWGX[CeU%֔x3j>yEE%Z[[MuMxFɋg(+0,h$F(*(,7'D]";/۷;tˑҩÿkOҳv&zV-Zˀ} Hء?G\~;()(l J^>K.{E|fLn^GIQqurGSCԇ)XYX112uK]DzN:rHJI郶J򬴸}0M-Fl@Z;`L<}^9+K]9{4)>3!>хZ@NBFFUUU-[SiX[[cnn1c .}1b\$%%&SLfCGx vޏ1jioDMCy f֦\Ŗ*F^A{[.L00'Z7 GQCas-FИ3Gٶb6vLR8X˒"dd8!ZyїQTRfij/{7+6מ{g-эulܵI3xʯl=}X2y'Wao/+O.l?)))V k ~*MgEBvƊMK=cCi֖6l^ E%RYy2̟g{RҒY}RRxu-gqZ ᧅky[{7ūۥ::ȐU=+IAB_iڰEy>ѝOPW3--cmaCfn:b C`M$?Hdܰx{v˭#Cw뱽eʘib.Fg/+\vMaŦLy%8:˪ˑ{g?O_DxVoY Yg Y'y.Ad-2(M#ߺyDw͔sinnfȑxr"""HHH ##ݼK-<¯oMa]%Eo$׋123Mi9Ubd.:z:HZCgr- CLx$8:1$p( b=>kCEE {W~ٻbYeoزo'΅{ vQUQe-;tyWFh#;)*)*N^}_5x,)iI_W.|U|!`(TȺȧU Mz*^Q['wħ՜ nl|}hiia-8L<Ʈ;cբubfbήQRTfźH׎\tȀAw#;mch<qp+nr17_d͒ hih̆kD,G['zw`5۾Q0e3e3_=b`:s|K7,F س"/˱ g@fn:kfPܸO.ZD:wgx/)))\xFg.FTUTin Pϐg(((`㈉)A}sX>'̍-X26X4~w'˞ #CF0,hl>f/5[WBVV3vщpsP_L Gl+Xy%>'::nݺK{téٳHIIၳ37EH&Lc"f/_˗/g;;F!m:tEB^cwrEJJLG$mPT#1*a(}«')17s͂fe;syO:qf+߈<+(ii)J ƣ'Z)(@ȣ<>$YsӢkn0t`>qx-Z'S8I))Q̡9{0dt'{E[Su5 R$ h`o퀥?'I6B~}q{(˓r/{{zv?_*))}PPP7Q=xo3p@ 7u*ؽ{z[#w"qr9u5u8{:r1 ]z𮬒U>م"ܣ״vG%Z;Q(S)*FOɓT4)))8{ב; &5ȥrC^AgϱuAb:22ܾzW%QTVQ&o oBYU맏pxyU5j>"hl^|4ܸpSfkSzSK[fY9t|?ښ:^- -UyFZ[[Y:{9vZٳqZ.ݸaHkk+uk t|0r2REB^9[Jl߾3bޏX7۱뷮GUEG['6݈X,fܕYq>AC*}x;#ϣU AD*ޕ1fx~ٽHDmm-(o't߽{GVVÇǏ۷ b%%%e„ ߿'2tP>LVV^^^F<==@$E#_3Z ddd͌EAPPi7|:=|{|PP $~:+.'TTHʠH!FD]a~HZ}ijjCIL:YYY呒FB᷺?2 qUc 73?$hkkݝCΝ˼y޽;ОO2d\hmD__ֆH$B(" wr9&K^V>]{fO٫ _1EvrE[W7/pp0Uu޼,[W'=%B^AAQPTR@JZ{qDIQ)fLęFcC#?22}#=.0hl D(X [ҒQTݞ+'3plt t}-%PZ'Sɤ9pK[GRnRW;O̬Huo^1x4đ ;70c֩ ϓŀ3csrdI]oF&|XM½x:n:Ffa3M SK Muk{Ǧ$I6ݼ}gFTVWt?cc122Dߤg# Mrdž쉛3Ǡa4oO*8v.=}V.XM~Z"]aIa J EZV/b* M^*+94AՅ3HJHs=_x/N).)B]M5UuS㑒F h+sk*f|z`焾i)xCٓnFˇifAC'#%-%GQA];t<*ABj<$&m|-}K~zljjT*%%_+h8-֭['~ X\PQU&ZM\E;w8 aqp@KW۠DęZ|i:9HN77&!* Ts*JT B&XA[_ǙOևR$$uX[Oj=OH͍ppL]8wee<&dI0Q)8ډ"fxq6Aðw<+x.!נ̓\>q IWמ\ۋ Qy]n޾DؙP+DSCfr'9{ {,meχaciKI3!FSSڋ>>ćO@,FW[Ӊ􍨩a^^Ze MGMMG?3, sk>g. E)"**"bػFDwL[c+RDQ(E@Hm~ γp1ýf^yyyZ>q@))={8sٝc45L K7/" @3/ 7?!qute%N'#avb7j*44Ĥ)|-͉̌dI#&.}–G{3{?KQ?[ddd  u[OEh/bccr } ǰ4đ_Ckkkų,L'Z< {Ci( M&e>z M|t"@N{h|gz?/44(+zfBYUd'0/QQSU!o`fm'hjclfĝHKS+a#Xqݬz+瓖Ы8z2"p ]b1)qPТw&b®3W GB]¯̒K?G[.bbeZt  N NzV:dpx aBB/5s5t^vX~˸IcG{p^ŴvC EEE?;H߀g% .DS[[G^QX܇R\PBKs+vN6\:z(+~KMe n~>\}0w+/gDb2S^x|>Nʮ*$D'1er2_#_fx:$=LfުF>AG_9 &GEYi J̌xWWoKs|iZ޴|} k"B)*eHb/hocP|_Ej#NԂ׼//ˇ\>U4oa eV45:E0jY4s l8r 6FKk ~܌Η[֢)vG45|'$]հxRlsA}ͭ-5v}2Z>:$%=-fZR3Reߏh/~;i握1״0gn_|6!!!?4&Hwkr rĄŲ`\P7;) &r#6V&)/s%e2DbB " %z .ֹL]8j2`Ʋi7459 ωY9YFzr#**x+fpx7ƂS{βtB^<ˢIssf9< DPs.5VrrQVUj 7:-s )[ӯ%>:WA s(sn7ΟQ{.!D>2a$Rӟr40aѝw 'ϧKעΑ+|H$b8r# `d |X\}Y6w9u>6ddYsTU{W[%`XΡ3@NNFM_k͈kƦF/؀2-l.\ FKC ,],Nmy)JJʬ]%zD>(+)o{~u3mm[ݞe{)11`29sϓfҵ+pRK|s.\&Y"222X[3w|nG$9- de}AD&LhI[W~'immZZZtiHcϟg۶mC7lܸ#Gル+{UQG֎c_(/ _A)¦_^`5t ѫ7 m ^dBn c.a?>בH$cdaȝKatwp$ j*}FJx|/S+Sr2rzOfq*6hjkpM':'x8!-#Md/J~Vbq6ܽyPPx:#sD3hQ_SEW8 LYkځ%Xsa/LX,FИ: %8:ill@FFDBSsS`#]/~C @P(DZZeeebzrVblll>FFF 8/hXBBw}Gbb߬U[[*]ǏQ6F>fs9<#<"6<" IDATk]d+ ʊS WN^=#]BNdED\l9'_,$))ƑmǙteEe|đ\)X[R\PJ ܊<22tvtbigAqA)$*i&:Z Ԟx FCKKǮx_^I(~<\v|s“aˢѓg6xm-پwoĈ|# 'ijс3}Nw3M udH$]8܂44|s=,{H X`%nNy% +%*j]%F܌ț,wOS9r BwOfOG,=>55Hġq"+G1c(--df7ۑ7M? >- rqıp- $9?8xj/b7gw|X{xc?gV-^Q1zꯦ_b`naȻl5=;oC]]O|P۸KLuM1'v#''X$\|>}!{?v:;;{y=}a+ilРA{xxPZZkihh~e` UzOQ~1}l,xvt4`A潡\8riuw{VW]ϛb'}'NH>Y|VhjkpufY|Ǎk y_s;X׈`s;--:E(*+$yy®DP[U@(`ϖ:E:s} ii)p|QWSOAN!˾\LbL6}QVQ&A":ls)C\HHKcYGQY7oWPoؒss?t|ES["r_3fٙعYyDv;RRR\=uc(F֊P(DCS"%(-MP,IDtFFD<CJJ+cqw oJ ųg$coG:M>wF27pL M"LM"Q'ǀ.TVg"';k{޾+CUYz:: 03V|0?2SyMx :54qA8ٲuHIIajdʯBG[؊H$b <7>ӗN`dhŽ{cѝ܍ w̙:Sc3˜ *+QSUc͜n03fMㄇ;ww+[{3csJޖ %BIAj:;;AIQ YY9=FSSHD{{{ސ靓763022%%%222Xd m=RnSoyy9O38'j%3ߛ[rf9S1Sx*~Fa,b7χkw.G1l 9hh27ޠ^ }}n @wI,l.ϓ35D3W&=!&PSW'Q^򎊷0{sAUMSי0;=mOI}oW#x}9Ǒmi()dhedHOzBIag/%=oVc 47saV !/gte/糍ovȣXڄJo%[RV7²y+vBKk3>w/\~u߭´|e%ӒeOɱaX|OsK3A06–lEZJ=GwUO}Ǖۗv`+\ 8 pAL[jud̻ttvAKK3KQI!jXYX_=2Є?-;7éFz˾ƏԠD?Y)[ގ*cO5yn/G)V=N))?4tTyfƏ"k֬믿+˞b8wN-^>}ײ=Ѓ|_.YPMw+!Tm[ wMJ^2"Їr2^?qעptFA6a8bSgщ[9FԵԙh2O34J*J65P]QCښ[IIF)"'#W/PRQ$;=ڪZ M {E_s5Tw3cy2 &]=PT#".gRFITT8w<*j<-M(rNx0}*^%r >02$~͍Xʆܘ(_e1r(EC֫t1#}ICc=r HƜr U5~w%E~a>ye奄޻h xJJt~N*,3+ kn߽I}C=))Α$>K@YI X 4/#rL 1*D< Vakmwc"x˜i;jC~'cև/V~ŰAébb2n:;{Qxxvy$ā{H}W9_ <ں΅g cHKK :Fյ܍ ѕר(ktI~Յ,SD+Qz& 䐕E(&`Hcc2#i߿b1-Ύ#GH˖-c˖-ֲ|r499+++K{{{o3Eξݜ{|Ӑ_}AmbOBLwˆ/3o09]g×;Ңދgo9ܝ s 0prv~g!&ܽvՄ4SNP{c?N3ol2fRZXߎ˜9(@IzrNށ.-})mܿS8eذ}WN-ot$]]BTޭsqXNcۦ]hi4lAFZo?߄9yF>`%K{1@("a$[!?mU5x-bkl?z"?L>4'ʼn Gr8; ߯E^NOަcn7HKI3p>BjS~u3f{_|EsK`R?މ)9yu u v6"n`׾ϙS֧r2rH$ H012EJJ @}]}2^>^]#i(߶??Xgӟ ~#î2b/7\GYY76B^^XLgggD ҿ[iiiM2]o,iӦuVtuuijjBIIDo7#H`0oWK >e6Z*( J 6 ԵhjhFHEe%J K N⣧;`hfHp}+bŒΈq8q/JEYE(yɕxbb!%%d`3I~ܕ9}:,X3l Ahi#+'Kl uʀ504Ej.A=q&<QALMP -.պtl79/>1SHSU~N 'rLSs̙27PWM e&3;yWW Mz2AI|D"a8^=#22$%3oߧAn~ 441#{!C3Pפ]<6#Bn.2 pteWe44ϙsW #-C3%Wm@QAiznӺ-SU]c:h <"x'H$]<7E"[-GHu|4q<1qvv_Cz =ɳG(Ǟ^O UWǟ (1=z1FFFmQQlb݆ ڻNy##L}YXI`2Σ̗hjrX _d1}7RB!G#Iuv$7V!1jH_3dNzâ (y])::҄9H>[S褽'00W5ĘdL-14WETb!_EMFNΙ)/ĸu#b> !gHЁDD> c3#?bz9~Bgg'/ A%oyG x'-!}::;8u8LBOG+/Dž瑑q яcn҇7%?ʞB-L|J<-"]<136x?z"}aaڇe?#pLeM%´kg+j>"6̨aX`cX`v:{TTӍ rعäer3:'0mG\~ׯ(FYN̓ΥaW48)ob=<Xܻ{6XgBSSHc)!q 䕽PK)ރilF|q/0 !p:} @^N9TU6t0\}La{, naưH$<1cy[\NKS v\9y hnl]M fO'gfHɤ} #}8,^SWSP(@^Ag ϑ45"##nx _ɆQTbDO}N|ܭH8YD]\"1E476=O:U Un]Ø)~LY0sNzc(:;:hE،֦Fn?F~D0c M-|b`l ?!'':~9996~cC[yF^ddx g?2c(-pBN]:5U5tt͈D"\}hO{SL0 C;mޙ+7 --l؜,~=NQ'_7%>7#/~`ϱ%?#Yp5N즸DBٻR._ϵ;W{ln^zCx]+Y"b<@UE %Ee5Л&]] "@ZJ }]}Z-Mm8Ԡ:y^ #S6|-wn$0߿?mXp3s) VIIFss_ z=C!//ɓ{_7iiiʸ=M]bq~0VB%UUHI1[c#’S[CܧwUT@ ` 66<|AZA%Cۓ\Bc\]H,-F@_k**ܹ/r\(}LC ,rxđm'b&oސ &"}K\PQSqvwJ K)/ޒlD45"-#4 ʔ%X5G@|d مTUT1a8\m FF>3kf IDAT]i7/aWV?2f2R⩮(G$΁ 9x'xY4Vsf/}#-m ʜihݛ r֑puHIY1RRR̘83HKIO|-NC(ʚekQQVS=}Wn@_׀tvގ4>>f477eFKY4s)ýG"8|z? 8HKs"ÐgҵN-Bn^͜<'q Ks+Jߖ|*VqE|F.\vT$&T=^B;fOW"M||< 4hrlܲ}0#-U9S,&!;|TUwuFZJ\RQc g璒GD7tՉ%5/vƸ`MR+R ouF)(cqڭ0 ҮںDݸOЬ@RPRQ;neQc~5AWaDڳ稪2ǝ1~:oYvUXY2v8N10EKdd'e5u0A2hY8UU^ ?**+8pr/i,S~|u5 l<P7>c&p 73e%XDHeޔbjdF~a>+M7CIRZRSM} ω u @cS#,X=}spb ѓx.N^fY465x˄1qw}*3zXGq7&!FcTTvU} f,BJJ7/p'6}lXrrry?#/'Ϸ`gkuu̚2?ײv+112aբ5HKKs^**hiif9: h!**CNVwn`hhiv=:HUTT@EEϐtɓ'+y'h1d%+F(Q؈P(EEtTknF(Y)i55hhi3֦qfZ;0ӡSDXDS[uM͘%NHDuC:ڼy_eeegdObfmEm{+o򊐑T:;:yBddy%M-i ا}0֡/7υ?i*.o/nGcmo> ("ޕU0wC@;"Qeoy[\NЌ%cegɠ$$1uḒ)/f ddQ J~VuUܻ}+4>: |}uA[[,=CESXc&ꅱ1 ryLL  %eE܎I{g;WO3**޽)WC/w{'!%gXŢ須4E n,hI4EMb콂ؕX@D@.(EYy9މy3Xbr=y9o ИҲZCYI$**wpqW?.aGp+_ +&Z;0*F1$$ӧOYvߕwY`zޞT֮]K>}z/I-(W!-%$-0DY^ԔihnFCI-Ue('G 9i,zX,\_Ҳ24bːʺ:Jkji` q0Ҿ?Na`74}63B!٘Lt5)+.iiD" {t Zpvw$!9آKkxG<1SGq3xMlq4541zv3|PTU8$e?"i o 1u$.8vζd-M m8`ttoyY 9QS|,+%̬m)yֆ<}̺eo^kF+NԒ' /@ye:0s,%3jttvo-)^pFVelJr0jt;HĢq-$:]pN0^CGEŅ,[))+A_׀|-@iE)C[KJ,}]N;JZf f͒OkeKDKGg'a@ٹr r1ɇIcpj wݤ{/PHtct36$&q^:;;ɬI{́{ԦK_e"u'> CCC Ҏ;޼y ]555κ033_~ܾ}͹sjjjXXX hmmݝOb44PYWOuC#F2՛"KːH)%%.zGE]Bi(!)'ƖM<$ֶ6Wd}KSK+X$/͸=y9#qv(}z؈wptGJ(E^:R53ՋC3m:\:ү?G$R8}~۳zKgG'v#^L{[;5uDEcԇz^h|^DFVSkn@g@ ^:7T@Q;ZZ;Z6.6Z!,867OĭKz=-MA47so*ω36ScSR_`lhJ*8r- 222 AYY!.$HYg*>2F(%_"c '7453b,OCBB +6aۜ V}w\:>XL3|ӗ:; <~#++ˆ4"!9Ka=hijS][U!)!Ɂ{HHuN&}1w|P8[Ν[8waGpe()+Vu,UVZohnmFVVPeEeb"QRRw_rt?vڄB!rrrTUUDMM dee₦柝pKIw{)**IWII#Gg/{3g2edddDHKKa6 |#_IXb t;N]SI'&!$%%#<Xp~jj(5/^"qƨ2JM,I+`#IK3c7eJR163B]K37s y=Ԯkgo2l V2^ H{&{rjo|ƢWXяQ454acoݫ02uje%D"'ɹ#A47K[BҘ7K"& G$q6V[ѓ=kgkhG| .8I716ja4uᷚ玳.1Z9~Fnݽ6 nKAQ}]}JJXtZ?觏`xFܕ6n175$$O_ad`DYEWIKk Oq/Ғgcɳ9pjHxǂY~܉Ņk {7ק?%oy㕓vTUԐW#Cc QW`!DFGKifkپrź156c -?)5Qg6g]+py>vg.b?> ݌A7޽{ļy BQQ&BBBC/&-s,^w?{yyEuu5.\###͛[‚W˗v(ގ=KxΥ$%%>6[Op43eh/22y%흝X2ddD ziin@Jn>*,$\~BYM >CPYVEg[giiİG)]Ņ%L3#sE(T/3qu wKor3r1aq\8v I#16m0׼z=OǢcMNF9((+ۃb"w2r2<}NԂSR]QFΫ@YqFȄnuMnf0gz=Fs $$%,&? GJ~'+D_"&F&t&aifML|4MM u"-P'0"%m`= >S |a+z rr]_sQ833zXZZ9pj6-،ޅOӍo%,, ۷#));˗3l0|||&22V,RRR8uqqq39s栫ۣԽ1[.o\_xYP͸Ꚛ0aވTZԘ=tRRR\zLAY9j L슱6#(,BNFq`e.ƃ@vvxp22bCbR79&,cikޥհяʋ+0{lAVNkgolbF0ۃc?d z9%qCü=8I&E |Ƀ8k;c4geEhwJߕYHG{;F-edc^ÐQ9a& <3.dr457OH ilncrq=l Nmdey()*%QW`=44SP tpe#-- YJ$Ld3kՕdJ8w%>eol,pťhln`T_ib,3s"M :YyYłY p Ă/} 3q$%|񗘙XP\~Qpq]˅?Nobv/_FSS???>]FOٙ,ŋ\pw8q"LJ8TUU?'\;;;كH$͛lذ̙رcuuuV9zXo/ '+;G<`K(0;[=dύ[H  ӸGGwtbeKy򒐄D.G?1?-^ȫBS=]NDVQR^2ɑ2^fgKDPuu($ 9n^Ca^.v]t"n>m Mͤ&vY'ǧ1ˍғ3Xq/޻S21`F jW]9"q6{M$0W465rQV.ZØttvpJ0; #miiYD*|O=D=:={|f̘ѓt_ q^x1V^MXX >}GGu@Wߟ7o䄯/}O}Vnm"H x2D[[kl..Jt,U0gP |ɻJtT9UD< y& CQNy[YEȳDΡCC2g&)>{Μa\OMUEo&JscsI)222'U.HI H{Μ峈EAQ7A$SOA!,t1aikkkF,%I|T"\G <Eo |WmF(+HJ 肻8DSG'qreE0{F"* ()+fϱ_@V*&+5mm^ 'WB`C eT_^esA,fuw7"7?ap੽#xz 55{rqlm(-+ARReWr' hkڥɽHH@ e ""ÑUajlFޛ\vV-ۈmmmrh/eei)[e#?i))""twmoc.F>f`Y?y"8t'Wk+zQJ*#9 F|;B}lxM'|2uRB=c8o$%%(+`iTk305 <''#%e5eZE@VN}456@ZR:bRGo cҳy5~h}1gwGRܿ+gSWSOl;Y9cߙ2AU]iɬy${nΉ#!!AoK!sA! IDATDZw[BhGZ(C[{;6!%%DF*hiiKHRBF PUQEVV~6vDEQhk#~> jZ_NM_c1qM[zK-g <۟BA^}]|WY}lILe(*(q4 @(%%tv45y)s|;IuyȻ=W},~>< ̟?>Ou#HwK.qy444ãGN,r܊O`%ΎyNos#45u!!ݩ,$/3e?yl2& ك5 c=N9M~dYx~֦^db`ǹCATUT#)GH iin/ߠr]_~cρ!&pdr3>v* JW#jGS]j**J-j*jRT\]_{"J!/@ѻ"({Eeu%5tSZ^U44#!!j[$E%p'6!'x@G$$$ḽdFBi عr7ؑa6. b$OACcNagPRT [TXa6ofɆ 7xm-IOjL3aԥF 5Ldddzpsss ?JS+##CCC\rccc/^!ޟ-,,d!!!ҥKYf UUU̚5zͥKPUUNhh(O&Nﹿ?~laNt+rKHJ%E$f"+-DJR۾4er2҈fg@ Ar B)MؠD4ZDtttdal<Ƹ#%4*ş,PԵqrsO'b6%=gq:O'‡"WaW" `/W|!%%E,1)y[y :~;+lL9۟cGIQ}m3Ovp%qn#xrƦ ϭKg({WDeWƋdE[G;<3} jkc˄5K֣(< o܆q?D|9wrh{*/^H.R0s]<8tjrrWhܽIm}-~ݩ( WyŤb D"އ*U^KS+.\ $*6|j ?s=|f3[oD`dd$TTTハ***>Q~Iihhɉׯsi455ٴi;w;v!1qY\B߾}Ą{ o;jeeHU]MMPikeeml\_=uurr:QSPĺ!YQQ[Ks`A $$$ inۼ7 D{`Ahhr56/&>5U5}gqtEKWYɏWdei\>u:O'܇ƆFBd"ccTRRzFsc3dϐ%%i3V#!![$DG`,̅kK|B%;/SO`l؛7o Xp5Z:;i4%xzbD]9ˋdQWSg5dfDQJ0:/gӪe`DjKvX̆kmK{#+5>0adb1o^FṶtѳH X';g^J=,L-Y⻜b-M`{. @NN뷮[yyy::: $""ӧ>r_3-&OիYzuwaÆ޽{9v 0GS t 9kAI^+C2J! -12]e -(SZSC447UUVVbmhoSWMM[ZPcv6Yi4箞~=dX^6AW\BZJ~N\H|S/Ԋ7,]Agg'f0Ӓga< ar6#(>v}=̛g!!!AccƽzxR$t jo 87EhkɊMhi(O1m S+z>7oM_+9')) i1PZZ˃زe GÇ]yyyΝW䜢"g#$$$M4D1ۊJ[[hli5dHJHJMC 22 N @EYYho@CIw|xv/awjL:bv$g)2qIIx"&D{=|?C $2,rt tH}A|3&GfkZcoMçhW\g1hsD-laϝɃPZd6p1;f HAN5e%:FtM|E%2Z[|LM:lcw8z2'̢GY24vhp>vNF 泏$mq3M)+/888˩KJJٳ2enJJJ AAA_i1h9JCe&O=WWWO?ӧ ݝyannmmm\a+oܦS=] eb1酅hhPV[ /@[EdikYTP$ --12[[9|vNm˗35M5O]eѺ<6y+gwz uqԟ;O2j'$D=947 #+MUy5()+QW[O_>((OHoۍw.~$$pp@Qߍp+e%tZd&:w~Css3g-sMM> ٯpsfHp3o]BUYn@׀9<Q[+~0lp+Nk17dZ)CumuL?wJJʴ4t EQ4%ˉLN~Gl e8|wB\\9,qϞδ33b,9>3}~"U8q 郟_ gu+ݶ6M/'wXu?"R\\Ąm۶7p}vIii`ꖭ|oHQE%MTWb1着jh@V(@Z2)UDƴCAi9UؙGFOOFKW c}bh0f(ʊ){ؙcxFXZpp#& 1Iq/[7RD2{L¯Eөao}b"02!4.jhAћ\񖟐 p6`?p0g!1mNYq=:jXZ KSK2Ry!.Cy"gO5 "*{ǭL0aFQQ֠KuM5 iHѻ7HJJbܫ7 <}wSZQEk020frpL3igOv`fl@NV'rxb1h=y_ iZٲk>sb⣩*cGl~V(A`` ̙3{Ç3>JW,`444ؽ{w6mBCC͛7cjjjAUUU?/bbb/ "~}GF\F&zjUT1$ыTdihn %%dd"jCގ)IJrXYRQ[t vG[_7hBr2HO~3 >}:y6ZzO#Fֳ}]yY$abΔ9yr=3,9˷.Mggm@Z(́Shjj$<"wj{n=N999-~@99H;;/y 83g͛?/Ë/8ux{{3{ tW bןQ\UMmcֽ q47%- ɹyPSRdd~T(%1Hgg'aϻ}#=N (~'I[9((2ӕfQ)sy>q=--(kYŕ3)/9Kcj՗B}M5fqg±=8 ). ω3mo@n~6:z̚ÙhmmE[SlV! > }"5i6 zq> -a0&{O`<@JJ# fQV^ʞcԒU"+#ǵ`^EGS>U5 n׷D|X v_1s"E,$ɧ>CW[¸tR!?innڵk\t MMM-ZĨQB3Pk&͛7G,3g|t[O onf dn&LGg˱S-.AL%Iٹfd"DGMOp?9CM eeIˉtttowuLVZ6 ;=m*=彖WY6khh5i$N^L&F.#!)8l]9WL,l>NRWSkIJ%8446rǸ:!jVV,X)8tz?̟4/e2c guGpqzeV)([DYG;g*+vjjÕ{*/Xܓ-ɻtX[]лfBBBprrbѢE8;;탿7 y1'O$//S#`EE|EPcjk1Me%.FE[R$pf`9 $1; wtr7Z؛0ݍ.csSYqLH$"]=]ȣuM5Jޖց4"QVYt2>K6H.܏P^>̒Ύj])\>s4<\l $%<#hihmQ\V̶_Kl?bn%3|H]! @EY~/$r>b̉>(P*(+/k &xMH!1ETCNOL|4-̚4]i1k|BZF*/2cIYĩ$44s!eʔ)k/1$$$066Q9b۶mܿ ,--{-B!&5 pDB.?!e*&::l6UEEB< $k&”i4wUΌ!n܈}0ѿQ䗖1pn]a CFMD"ܽ܈ ֱ/ aTL,{5R koḱ4deH|Ϟ4.sgHlqe1t$z[PGwq1gbh`yN`Ыs/2Wә6~&c Dm"_=յU457aefMdCKޡг !":ttBS].q.GOGK]t>h=\puv#99A3~ H$TT~/y 󷎸222=:=N讒iooG  ++KVVwfΝhjj_j*z2|nqy%~-'N@KK jΏ3'##SN'w7)))eF: i))|Ȉ3y IDATHEJ ˡ?]q=6{I/hԄEFZP66rXddהhhsD0ME,j nZLbLŅ%LSW02[<>};7PQZ#%0iz ܑ]6a7/MJSc |U% _~Ntvvnⓞ2r,ABBG 8[7 %e%|W7ֳr rrG~&;?ksVAFFHLNߙ<`0W(>jH˰b$LZH0.C~xIhipI&{O#+5EŅ͕[5l f&? g7]>L TEy7VZZz Ȉŋ3t?/C`o{ῃǏ{֭[QRRO>jkkijjb455!裏 (Q/{&(PSE>>̞=g|M]3a„EEE6l'Gaaa޽(뇽=pHqH $:19zǩia/B%q=)2d1T54p<4Uh#me% xDRR19r z3i44I"*BL THҨpUn]_n$\*P]\Sn %C25kxsC~/~u>{?y^ZK*1%9uFu7c0i6 L !.? yd>ybd2lQT!6--򇤘$ +1XmMEx44c@L7O?<غh|4z'>S~g7󣰰HMMEJJ TTT0w\̟?&ƺ}yow;v@KK ^^^zeeeHII"""0i$ݻ'ϟc+b֖P\Y9%)k^Qa!,س ihhC$?B\47"b[ pbm ?ǹ V"$9υ 6AKw -Ƣu-db%DQY^bT8sq8| f9y\Tn`-8Lq΃taw>?"]OAƣt( ZܾA^A&6xxxԈ"= ).^Rg9OҌI&!KNQ^QWaF41m4A^^ د>D| oj)gφu֦sDDD777dggشiƍ 0---G߾}Kpdد$Mt/ܷlGOa!L19sx¨¡Cuuuxzzа[%_| 熫龇wŐlݺo,םaXHLLDxx88wDDD:VTT%Ӭq)^OB% agYa4U1^s= fQ]Y SM#aN!e/EyE0fLˆhjhzc'u뉈 rX$ty/ۻ!MϿnܺ .&,Xy>xa SKZ9!;bb2dc6 Aa?Cԇ")-k>:/_Fdd$L&aoo={~V~NNNvˡkիw TTT8wwxyyannsssTVV"** ߿?'Nkk+!""-!!㸱0ƶ,< L52'n&p55c)2sczؠi(}zd3bvpb⒨(+AMUt/~$Hďs ~Vo`8r4Sy+7g!PSQohg9O1x̘n'R׾^]٣'zcm: ) )8ۺ"p:6d낶6؉O3]]!o&$y9™li7|.+to p!>}zzzpqq;,LJ Q7!M!'""ñ lXfcɅ*+h@a. i u= 14`0s b\xzDR ^:bmR 6Dp3ǘw@(z? Vrhnjg!6 mmm>r ;j5hnnU;11|j_z#G>|8<==D3O:TUU*nO +sVoѣvލPB]]=z@[[?2U8v&v~226o6B|r "޽en.)o޳"'+y,0}(~yK ק/ꐖ| tX,0fǰ`blD}(fa: {#wՆ?.&U f9yKxUQ6F(1hll@n~64Ԇ(*)<**=DMu/Xs7445}/3l3<r'ijjBcc#p|j/\5k022ƍaccJFFFv0lذ֧{S NNN077$v^YY3f //K3L ::puuŸq8c `٘>fƍo gq),'8BNg1pS pML9̀;%E}SPuMb ݿɽÃ뷮bס0/~j(a{ Fav ~*TՆϟ¹q`3xjqp=*"cAN@?NAEE]ାÇ#%%]1ڃs:f^):4G`0_2OƎ 111l߾RRRرc>/b՗-[iii,[ 6mBUUU-Mcsni_y4hw޿|2Bq&`d aHI/H>L[Weeq]\v#>qCGXjgƈ؆201|F9~fv܁zc}"ꭌ\' 6hÇ8q##/nRcDž ###L8`ogggcܹ͆|}}5;D>\ޡDDDڗODDs̡}srrhСm555*))!"bRSSW[ZZZ4|p$### 2W^QQQz)''̢!}HL_![\ M1У} bCzkRFFٳ,--ۛ:gllL[n}LoU@Ξ=KdaaAk׮W^q~y&p{.^T`hfMYԘDL7 /+ӛ4uu+PCxyxHX@E׃Ӭ$."Bb""ceA7o$&IEee%1Lq͝;hTXX_Ęrww@""'&&&N&wTݽ/?\kT8b0zXdҥqF""ڰa-_63CzzzdȠZ*)) .ۄXOomIn,uG 0M~r%9IIb"+KA^t|29Px F(ir6OB`ttR2Ǔq}DDUTTPUU,R^^NL&8&~: |1u''͛G?3Gm]ogBSpQ"===OQEEyzzQpp0?1ۅ#???)**Rxx8UTT) 8̨공sFΝ#{{{211]vQII p^'㊋i/AB@;ϣIS1 !B^ftmӯd;z /jS/+)͙B/)y%YIch ?? ɓNP]]M'O$211}n`>dLW[[KFد=zDvvvt-"8D/^"A+W.cA~~> xyy/ƁP__UVupi7oDnn.\\\ **ʉA?t1~.hٗQQQ8vTUU }}}y_x|u=XKlp%>%^AYu5eemi~{i_@X@z𶜄}/T-hC\F???Wf͂7q577#11f`Сx fϞ q͛-.uv^srr(((}=pni̘1tm""*//%KѣiĈt…ؚAZZ;ɓ'n! yOkЀ (vrZ:{ 2Rqqqv咒ڹs')!!Wo,Çb ";;W?xlll:E-n׼)aX5ԩSٳgK3gLd̞=vMDg}ݻw/͝;3Ծ{HdaaAVVVM<jjj(''Bz~2i,7:؟F aAR%E?9RzzzL&ݝFE[lҮʻEH555 rww`7G6CM%zw|&+Wݜq7M,(#r@ NIDAT0`P__uuuTUUq^ $$"*++!%%E m6hmmEcc#a3 ==6oBp) COM &pzC@@"""(//$ֆFU;w@EEEII 222~>X,9<ùߨ t?! Xd03 ݻ78~~~ppp QVVxyyϏ/l6ׯ_QPP[[[ATTCqNfqDEE>} 7tU"00uuu(**j*hiiÇdzg8ɜw27j}}="##'O~s>_ʊ gvx" [[[{,okk{O;`0p.Ӵyxx`dd### &&NNN+Ǝ RN6 aaaɓ'@rr2&M۷CEE'>ul@TT1MMM,tRܾ}@ff&0vX,Z ,ŋQPPuqG^rx!pa'7×4|K䐏իɓ'o~UZp!Qkk+UUUQ`` ͛cߜpx{YY]zCYY?| >OZZZԧOʊTUU4uTxbO'NNZZZHUUuy֭[#hӦMOnnntϧ@RUU%777z'm7w"+hnngϒ1w'A&M.k׮] QQQ,^?ם;wȑ#共1|}}!-- ݻwqQڵ iiiX,={ccc466b͚5߿gkw 78b::ljkk{K{ UVqϞ=qnsN`chh]k|n>_}uuuﹹ`0ښEu|""t""~:999uz<{pff&^x5ntrrBjj*bccpuu(--رc }}}XYYaĉy!++ ~L<N⌉L,ZJJJX`bbbdoW/qqq ϙ|~nϱl20L8::b̙orxyyǧ kK0zh`„ 2e Mm۶mxBCCKb̙Xx1AΗnw DGG#""pwwK)**Bkk+i`o+W`۶m𛿿?LLL0uTݻwYYY1))) ޽{!$$_;՜E5, Ҩ{deeŋsZ[[i&\t ***󃎎e ].\v^za׮]PRRB@@ AAgΜzŵxJ\-ϟ:M6u2 .ڵ 'N!((֛O6kii ˥[bD(((@WWVev5fmj\.RSS eeeѱI.+hkk ].ݒ/_BII/_v2>>>$W2/p%0 [h.T&. qɥJ a\|\˥r@`0 [BDm c> x'ݭL.\>M .\ \.\|AB .\ z,IENDB`cobrapy-0.4.0b6/documentation_builder/phenotype_phase_plane_files/phenotype_phase_plane_5_1.png000066400000000000000000002645741263606473700333010ustar00rootroot00000000000000PNG  IHDR]5vsBIT|d pHYs  ~ IDATxgx)ۻVղ{ؘjB!!!4 $ %! !B {^gy6k!ٲ-K6<ߜ9#N "]fD::::͈tuttt=4#ziF3]'9{+]fD::::͈tuttt=4#ziFӌAWGGGуN3]fD::::͈tuttt3y/\(B*"`6Ah]GEу%d24hAPUQt:hDc:: zչ$Pt:M*"N TM$X,E! X,Q$) Ӓg[;jVK bRD:&HdhM&f9\<!usi҃EVST UUi85+$Id2,K6 f$NM7hUIO/Yl2MeF#$!pQbT*E,#Nc0DQDUURT ֹAWYfsڂX&!Hdլh5XA@edY}b $) ]\sAQU`WWjjtjEɄdd2I4EQ  >u=49j*7m3l-WkYhA)aM7AtuΛ3YAA87h l3CKSWkyfM悵* mts6AWS" LfZIjV+㺘V`0`-<3 (^=4 M֭&d2[bUJC*8|Fkl *X^ F©jV͎D",˗=W`-ŐL&@EE =]rlnNjZ` "iUUD"d20f!r b/8jV5SlnIL&S)A _tc&"V5{lpYOì*t`4FjJ@|̺*XKӄaSrp  A_4[ҥsYhh4f/|dxھVZeTcS tRWk 7LvݰуB}j\5wT]m}ӫ 6pǸTg"|%o$ؓӉ(IwW8/㙊Uz/GZ{p8`d2ϕ^urSN炛=^hNahu`jV31-6Y"W4_i7<7B+&*3aDvJ<̢L{=)=\9V7[N^^^I t:!Z*jhh㔴JIVUEs1ј155.6\4 g>J^Ɇ[,Tfɗks*!d$l-[9ӫ3xC~=DQl67bH]QcMz2lUA錽jmyts/,%jgp*OլN`ufMV$M]!E r?cy))2ύlElze 52hf-R3Ff ]7-zн@wn TcBnUu'Bmرc BJNGvv d;N.: 4l#XMGc!㑬ETvWQ{ޝ Æ ;5fZmNdm@3ɝ-jznr15u_crgB ͱZ^m)~>7ZBz~Ȃ3;>R~Pp ALmWx &A-r6T̏ "yǿd,৅aL__,7撛֔ndy: iMEn/scrsjZm|]JyG3hlRjc&~=IdnsMVrg8#ȗ7J[G .~H51ډ2}3l0nq#sy_ bA)4uMp}4eNlLzr[͵td:ﻞ#= bXS߅jm`Xlu pf}*p[?ηa$^E$"jGcM[xm7+qDvo.)JF%\bjH: xr5AHIpg8ݍ%Z5a%k' bX>v5EMp}q2%WW`] gS]j FU3E-?^r%\s&Q *b$dADEj !!" 1%p1 a%b[a !Sϑ12t Tsw=yyȌ&.Zz|ϟ檞U jW[t*j677[[QUKqJYM!cd2C`fh+e#K#{]Tkycª^KF1֕ üP9 ujGO6Ǐ+ߧ$ w0هpkl aDe;};txǍdz9Mspcs-߄rTp4פXc0J15u= 45[_m}5rn dX_lSt3 0ډF^ͪ~FY;w/WcItCw{"w҆_,ɿ-2`eޮ^ǡt5k1FޫYͿ`d$lyfeON)_(]gs /FzLCs5uWҋW[IvB;uGUU~~2oլ@=%31/FB !]1xZےAydTGlmAkȒ@K[,+gq Y= #Yy7#jns f=Ųf4f@[gʧ(>v' \fD/s+'Npoۇ֛GP YkD"[v%i1Ou< . xv9ilsDs4!%H]B A !%ΫF2( fT=~8?8of6 fQnCѭ-y5_p!_t5aMm%F?Kk*RA3inE cZh3FAbZx ]ME$ BqJf6%;7*J+Ŕ& e;yYm4 dt28h]t16vPfmϲ>Jؑ8ABM3ځUHO c#bXCM&/f#v EeXn؅yņTp"ȶ'kׂnnmi. Dҗw]J[AӘ͜ibclX,3']՗H&SٗV@n "xb'ýUg}3?{wX9'Ⱦz #li70+ަR+Op]E:,jn`5 y}:ӧOgڴitЁ>bA&s ZNZ+oE k׮ _ K`=v.v⭚ph*{/L ;U3xIJx/ف¿ FJrejh3 ǹ393 pFR \~vcC0{>YXÝ!J%~!,@jX(['DvqL]uf~x8z03=yf>Kr;2[p&TU%#Bv`aaas}ɳ<EEE[z5,ᇟ1gLUW]E^Xt)@wh1ܡhX,m!lYemA j8w%x1օ  $=QNLtaQx03ځ]YT5G0֑\X?D1֞;݃?Q0k{vewAnsb#wq8]^nrg#QDXDG_.uPbj9Lp` _ Ef2֙n]43#!v\L mk=ݟ/Sl,`_r/e|^O=zܻ ͹lFI$ZK-FFN[&W/ns=yzd0aV￟n=z4ӦM.] Jt2|\d[o>3 dkycXpIoz/gC0W㑭oyDZ+Y[6TϱT oT-+ۉ)O(絪x$A%Ʒ@W|pJ(x̼䛃E4Rռ(1o Rpg8\9(wTƫU+ JekՋH+ q {X*jѶ\[lKGAe^`5kq? ,ޱ%&k_X*fFbZzTe"<_1e.VwUb6Xȫ*F yV+Uy[N~UrNѻm>;CL&O9m J]csMbJ.rDK f?8/vSSSCqqq5.r=P3 u%Ȩ7;}6z/gM Ll= VDR3I?K#{1"<."|K{pKFO(`qdŲ%=6xPT%=7zYM$,E'ᖬ5{dˢ@i,a}0í'?FBMTʖQƏs(UM@ܚl&Ʃk.c[X6p$>2<ƾ>l/C>'f*Ke=qj{SLhN1ҐOp,#L&/xMY].H4iR9:dfee%V7|ɓ'v?0=]v%b2E4T; x6xKcZ0mE" ;ǭRyW2֑~T La+U0?-By:ȽLt!dT5[]Ztv$Op7{FR3 nj{O6'"!0ځkgd%%x[7e#05Lt_u3&ErntF: qk 3B[),V FwaD9J6Lmg_vOP1މOѓ \aƔ&غSR:Go63"{çmt7l|$GGJvfsbm6H?Ks/Wlh wP+>/͑R{jp` _O lߧjzZZQjdɿvt1tT6 XػҚOa[{s7#y| V@np#lOif5:zsk 5s3yfcm]gH/5+biǽaHYIOs $Hi 1]C2 $`GF❚tÍi߾)߃m6id2u1/M=SQ2wQ7Gc0[>ٳhn0h4]9F;Ze{_A`Pī˄y<71vdFD7,7cY;VZ=3Qq> 1D:;7s($4oV-)*^HcULy\LUsfժD3G&ػ3ڞV- HTf v*{^^DBu(i.Fg_/FAnPXd%FA%Yx361vdE:yw bJGsC1Loy/g{s{Ө4V{.2Hŕ4h4RitH$mZ+Px<ym#7DSLf3V5;2R~xx<_& Պl>}QU9y{;<%p}xbrX]}a*!9ԚRRRd8F=MJhc̣fޤF/t3,M(5h,B=I": hm7)n*KS{^Vb*d RJz[q('fcnMX5Ų~2!3azZQ,;o.&D:XsJ#)1o)CA@.Z!>:)5xo).0^;мV+nӉ(q%O[Z\.\.,L& Ab95\lwҝ5k˖-'^G]w|/6ąlLKCcZιR)& ~0Js7p]{N?mX)K4R\o珧=qGT̛UKX?Ժ o+ጵu:jnsZ{o7Ϛ5LtfFvW2@r{W eM Z `K[7R9n*ޱIuRj6<G@o6Q%IlWo6ՙ(v&^є N^d"珧7.~Gcon[,+y#i5+XLJ3lذ3 `z8 \MQڙL&I$8Sf5t^hR֗kJtr]9ڜkSX 3^J6P<ThoG&SP(;9 p,(O)MP(98!_Sp$UCti?yuRbJqIRjCjJ*~J*dp:ʡT5 'Y9:HʏJx*/X:@RP,;H3QJ"م/x:8E'HO:g%0#S S ۩H؟@S lQ%}t0x9'Y + &diKJ͐AeW3՛7.h⏪u+fC5xO݆*t{ڵg}W^y3-ndSkk>7/}pOHeW`B{#p8 4Mʶ[_i$7ceD%OWL#$x3=8 T42ns &W(OWLhϵFTI L$m׼I^ÆaZxHk YCS1[pV_3+2C?*dZXGl'Q,;_qf~Tx-M, 浪D\Ms kyr+dmǎ w4c]9tw{1ћTg|)O՟\(1~^1*&{`("J*f+Y@K91% (޹3~usWZ)suߧ9pXxGWg*]?HRo٦9.X[&^I`?*xb=?YVp0j*k b;f`[OB(5);hbAtv@K6lFQsfAdŲja&;27MǼ> (Jlf/»yf57VE62#=?_ṁwH?r7V3ց`&ƟK5Ԭ WrҪǡ3xɗf5FdDv'liG8D3kbk=ڊW'QA8`";)8wcYt#&*!ߩ'LJ>:yйR_#Cݮ· OѧR)"HRs\,Qǎn /d/p.5MmƷ;.x7Xy\-06A *.?qBy3<&6XqFw"^̧m5񃂫1WAp=h"Vȴ&_N+EqVw۪%+OMbC0U:[[[F+^3IWRd ?)qu:P`(r'Yt2((7|3 x'4~8e}iy6 w1$ؾnRὝVk]jS/!hkMCluP=jX&^p> 'ȓlJUg#91-c<75уl5уܟ7Jw3Z۶{{0L͌udYt;bde+gJ[ cc,mc)Kk.ewG;.YNBA>ٿABMF`ީYQ1 20{qp#L"J%d*dSz.c}k-cUt?{Fp0U͂줊;\g̎lZ{/fؒ8ʃQ o*%Z >Y;{. C) m((r ^x6mv;<󨪊=}w[['d̘1\qw}NӥkΑBx φVG.0D`G @{:QhWCɔ T~:J"fIk ;kir YŃyg))Yoˢ{5v_Y4t3p2ת"!+ciM|ɨ _󎦯 `Y 3~2e;TLgId;2ږ|v$N quRƎ w0ڞ]8n`5,my; %$aȃy(OoLV<}icL z/%Yx7dH5t1 0q UM41Җk5MCQYZ'\nGfvdlfҥzfzp8n0ш(9e3w,=-U%7tBM~  _j;Lˏb;_`mk&:@H}x%;&Af],mYهE0Z!~QNGUUؚ8d[ + J؝`OLtvٖ8,JVT®D9Gh-{ؙ(} kcPPٜ8Jgc!GS5.Y?L[@&ʊ>ZܬDv1ߔ܂M4qp#?8E'Dvwt4g&Sfcɱ""?*Vli$ _f cGuҪX[nV䉩$ %7>~=-l+y#9fx3ߌ;Eο+b =䓧ix:jjjxwyG>CqXlEEEi&[ Д.];Zㅖ7L^״xп۫aqxb ND]);>NJXSQJS 9N0L ڼLZGؑ8M,:f[8K#{5-cHVq4]nt XM#2ыbYl oլ` v̜v̂,5m ^6cͿ2~2> n*g`-X[g6# "B[+ sbfx+)5՟dlNcU>~j49dk%·Lv%2NJw H̍$ȵlv.7MXMEC+`,`Yt/'A %5NKՙȠJv1ޙ|!v'+`iÍ~2+QoW26}Gm7ߐ6Jx6m_ЪUθ_|RFǞNMn.4Q(#'cmU2_OD=𕞵u/xrmmep}Gxl5`By։l`Fʫ,[hc3~g*Ҋ~Z LǼa?'S8pg9{$o|ٟ/dۀW0֕oxẺl +(5 1N&S ;YdrVȓEhccϭ|#I??B8Ƌg$:{$yb*>ntΓWY;'?V D%t0k&UqJ_pmy_ɼ.TTpf3/aGh,V _JRI3ef3ԈFjMW^ RnOT/7pns*{tn cUwՖ]V `7ý`S%ikUf kMm |Ph -\Ӿ ᆎL٧2؅C X@K[2هֲ7ܚ-cv` ZHGcS?uU߽Lf&H$)Atuݵ+ڶ]Ų]D{B'$L&~7.|9<&IbYCa`S27HH)MGhIq(4}hͪaFd[M1Ա6p~.]H\ ? 0D'eWtQY@?mg.WZ]6@d/##B,e[ͤ$ 6wIJ)kl V2Ra2UfF{F&4TDeO@sGLTS.03_9 |2J0&z/S ͎1<\9/C e IDAT|!T ?"wLfѣuߤ1\BT˼}2Z)pM]2F5A7^aýC?ʠӺC,)OE6W27ё`n<5_&J>Ɇ`%tmIJfC('E5uy V41hCO>c5L7#_`7xBֳ`/s[pKzi2nS4۹6ޚ,HCL76,6e(`.gG Jja(@)Բ!TI*qB, {# |8CiSoV}Q4s?zәjmQ"r^ .097Pⷶ󕓧\%DOV_N8gvGzdz/i*u^?BYy$:ŋ$#xgaN;痤m˼;v PKBp_e]n 7}R- npzn8m^r+dJg>4na(.WW J 5sC1FK9q _契ZPTEw%<ٖ/зK,TZxe%_Оpm$:#nOPrec ӳ[#$c1r0 2X9W̿7|^T>Ο`Vh(ts)Q76/â''2gKExeP*}S*nE>.#[iq4梗&lی?1N0W&@j )EcG&ʨVJ#)A"%BCWbM&;5 зoߟlc4;qtKq8;Fcc#/&s71Nc`ߧ~9䩼MAEifEU0 8a2hrxf9Hf9(-M`RBY  k#0{ܰ 6Bx0BGT!%qIԠhE))ETch:Q$@$R E-AVPD"8zANP!jQI8C%腎׋*a Ġ{$ FA#IRJUFQKRJy,J $jJ (QРDRqL4hET %"*AEŪ4ThlԿȥd,5X:q>*3]yeJܟ1UN'7X$H;( eP]7f_ʦPFeudcɊ%Oߊ7aРAvm_A{{;&LޣgϞ?AvֱcǸyWNl5)H&o[Jzd3 \Y,rY^d EeN$ [ײ;\M9d˳5w9'S]|ܾ`cnM&~cDc1y$32#fa)8C!פ )@mnq%t jm嘄JPbjG+<랍l j9j{wط`c%ڮ_Y\v6c ֵ< ,d^zt4nas;)8qchd?"V2؋@2ʾhX_FJ J|RXlGi,j9m:!!ʢ'Bŵ.ʑ-glG˭kY 8'Ƨ=x }mHSy( WZױ6x.yJA;m[XKӧPy۳5#tl?\^@$)Juy\`<|P>l߅IPd/M6"^m]Ci6(C. ୶-O%e 5Fb|רSV 81%IN?n^^۷o';;m۶1bKnn.|ݷ;̞=e˖y7)))96luikkcYcHu_Oz0f'CX"F/:x&Jv`B.V^U %lS]q=&7 ;$pK(N9O!+MB"IwO-hOxu-Yw]Ћjm "YG(C{w@d{8"XĿBCm˭CY|v$`O+Xd`xٳ\oyTF]к)ƾǻ1QzpyvOI5zB_43Ѓ2|O}%4'4%O۶pu(_g#'kP-g,""Ci59C@" bv4q7ϻWRl`}]T6l^Dycc<ؼq>熺0\ϋٳupvcőmdffE:o߿iz%a e-Ҿuҭftޝx>L$wާoqҥ̝;KuVnӲwkޭtUx81Nm6KExʵ l8JӽLVgtݨыj}'3iKX:J.-Q+utQ٨q},|rdsN3~$Z~D`?D+W$iodܸq\zvZ222{=u;3:qړUm?7xܭ5dgQylCqx!K34 xpB^: m;Jd20;\S'^RvM0{; A JK}:"Z6ѹ'_n޶tԂY!նD%($C6m$hMQY9m↴lW/\Oߎ4ߦ:!;LЇR|}[BUL2&Gi_mϣ,\]k2T8ԟm0HzyRX:^nH;e<h4pcԲ-x<6w/[ d #\}*x2܏cA%`BVPB*(d9,W}%wtB]]ݷ6]BA"1WFM^rih:Fcu= 2UA#\Sdln9xm=#C؊8&es*O풙 uL+`h&,9*{e8X34׼R" ulxjѠіϩ{:]WTDY84S_a wgp *?K-&X Pi.9!x׻ X 4N.J 5HomZJy½FWYob\ ]j'"M bbR&V_ۅ"Ԃ  K V㭶-d٢S3q>]6vk{ $$neA<ܼc?sd}(j\ÜY+\ý0X/>î%̴ do/t,Y8QP0Qg{֒6 s\$+BFF&h4ʁ(//g?}>NnF,o*txt&T5vLҝ7C <wk Y3>ETϣBYp?ˍjzR⭃8Zī{e6B ^(7I-QMqVyuI:T9Odͤ) d̴%C)} DkO}q%.mvq`u0-K5i@*cO_m>Oü.W> jHWx%lUrw8F3YSkdS8#%bvDp(<۲>&َ(mj2y*Bw3On%P!Hxǰҋ-JkafOOe'\Q"'?V¤m[>DCFȰqOm UB%"*䆼&09Wpcg3J߃{!puMYH$c1w9'q ȳ«9J{m]U6˾ϴd )ԺսJPps2=ݶ Mic΂=>eB״ býSi$՜iTӳ\U/f"&KOwcQx"k&QˋmD8&Mmy*h*DcsyѽB:w+ϹW>TŖAa~wg{ޚLZ%Ki&,Q"T hžp-0ԟjXN{1\σ͋xu ߇p*c-멤 NG*:=YcCrd/]8ͦ}vx |>Z]r 7|E9ޱk׮e8uT.]J=0 _:NKK;mӭoJu2wkk+5udeRo9z*og@)C1ѓw-p %DQeã2~9(ES)dr/ F)oST |^-rXJݒ]×PWhBGJ8sӞ q4B#0[&d d(ǽLQYihNKI*+6jh{RZhSsP{p*x;~g&BOJ!SkA#0v#AH@LM̃+6FHo!%)IxAUc^Z颲Jg-q?d Ma%zi2VY9ԛx6@ndPyy1#ǹ1<1E7kC[2#KYоц͞7-+}3g"-+XGKֳQZxu;5q2Rxa< ELbnncIK ͐`צ$%TZm gj[Doma* Oš0ķ[0)Jw-*o]I r8̣-ˈ6m$4'|<ܼw2̲OEx9F >I^Ö14<?ޭ,%Ki澌i8Fff?O@dkܫ;;㑎 \6=ᣣ"K&v]^X['[0Odn >K>SVM΅VO9xL{Ea s t@( k +\Mk29ެПNPq >T_N& u39 =yx}2fnG#(}'YJ J#v0&tQg,de yj;\I?SY: jSL}DJg4%xdo8!7zh<߱C\lC3eYJbIycXv\9$XԥxdRҕ&Ϙ]ed|JP`t5N&{@gw'QjvB԰*pkl#nG,Q2l^TS?ɪȗ=ky3Juyܟ1]e)v̼BM_m6ϻĪHď47R@ྌi2f fc< =&<ؼeRL $OA"&>=yе.%\dıC&1fBV+XE:w3ԗQ}t4'~fXw;=hDõ\i>^ a5L7 &2Uf>ri\m;r6jYOJ`, 0< v(֦ruRRq[8 qxm3K{SP {wWUSQY;"#ۆ2Fߓy7SC%(UٸzxД𓫲q0ol<$pzN'x'S~ 뾺Q& YnjIR444`Lվ}xyꩧN4;Z}J3 9i—Kmjͦ0rK[]e߁/*>@SYŒɚ2^.KZn'K~ߺۣe3s(o{.%?2pM{c|}^mQ5m%(Ři.a>ZWĤ$V,ym#it*fKXO&lXɡH gk{bL5a,L7*\Z1!b>f;qwψ ɂx<cRgZZZjy槪z^v_?6ݯ -r(.C'L`2il:ՒE(%# Jb Ab 䫥)/Vɴ&i(,]QG޾v9uby5mMm6DpY ;_!̒$zAe\g *JWYw FQCLJpsdG8yu6nP{@Fx"rzPvRs1Ћ^l]UÝPvrem$!"\62EP$j1 Xɑ[Ҙl罶 7U0jYa4S?5<ߺ.=E5c =xۻI"X<}Vp\U/!Ci&Uig1XǫuT\R n,}w>mH>IŹ)/aoD;ץb7dG\˨`,ڴv6F̝Ή<Ӳ۴tU{%lF x`h~ݦtT p;h4{Zsb08sꪫ=Z{!n:>#V^ͮ]Xf * Nb8HDSO!YdeX.ZY 1Uz1MB^ {dӖ!l#bѸq$BW@e̯1g fc\A߳ZY8a4%>9*C en0%s:s:(p00*kRh,&WC/hWXEC!ϷIjjpv{5|HSM}I'Ma`]h2PוbF~,O0}7L -u *cEWц|о53P˞5HuJcb"@DCU 0P@6n$#\COu:tyh%t]$]!e*L5?m)qL SeƮ0XrTCq0Xă͋bHC510/"p^FM[VVYҖ |*lru(fQKkgoTDƸQuq/y4ԢDi ]U6麳_^P3ԇ9Z;v'_tB!$PI`muZkƪUϧAb֬YO?gΜ9$I~q~n+&wu\s/̛oҥKYl$,I_oJ }gİK9^I6M[sKG<gp6ny3hq~}&q{ +*KqZK./&Gd>i7LxvJfFV} >ӆ|1P)9C2@=.w1_*Yъ*8&Ж |* 5T1)r ?n2[oeʕPZZOqq̝;{1n7\qcpM7q7_ "T:S<~tU7'\DvV!xXn{(*dCԕQplrbfl)}{O_-jyYJXYw%,!S|ɐ 75B~W߷IfAL̕,ۢr'"CYϪ. *‚ TE *h*ZAD jq~19 MԐ I1D 1)APD2"%H4F%( 6BVTMʓNT\D;H:Au",FDBUCJ]iD0HCid> V08c!"TymNDEյ\UOe]IK!Ը^d4FنW<>%16KY<ݍ3PוZn"Ϙi)a݈K)^l&h`ThU>pl)!$RI@Ih =4Nzi3ЋjD]ն~|r|w܋NVݿ?z*&L@nn.l۶mуnݺ0k,.\Eyy9 SǜUp81o8@ ,F3SS9CGcHD!3ۋ͖NgawRJR<8%8>wH$%yz-JHJimEǠIU ϥlRI\.7궈^ىl\ٟwqxL}nmx/!) qePJR^s9vlYMk2{v ēYbUGz~W6:Q͟ҧPvw'Կ- iR4sDjy RBtN6[`g}Y;癖,hCYaThG:~S6ZQMmgg=5OLJp?N?W=빻cԂ̙͋(d6Xom#YL5nsiWf` (3w>HS O"HoCiJ l cC(E0375zfXDA0bMOe^FT7~E/Ue 3&߾;>^w:9H;h"|I ӧOpqF> _u*ߥ&Mtg>{.ᰏ4[Z-Zؾ3Ѫxٸ]$Gkl9l /Iy(TrvZWl^b<[d'b/֎m-vjսahyFYv]2R}1- ?:Vt}< e: N}QH= l5J8m$Qvpg'w9'xLnixh*sٗ\%$$սj,ӚRscQ JHSi".%%#l)L1!>s7~<Ӛt?p-i&6mDuu5*lG8p k֬I&QVV?hZH$rƱSQT*P((juuu45W;?>^HB@Ad k_QgVJ뮵_q1daB%'ڪ.p{|>3-CSP0S̘ch&Of7>Z{=đck>`ȃRblG=0ޤAX ;TTZR+=+)kTQ3H0Sdd{O'³{ͼ|V܈)F&t"s<.0ғc:~l} Ƚw*SMF+SDeyƵMz:\epyq2CGbLyGRLB1di[ lX!DəXM1'4""F\]1؇04B-xԹX/w:0C?jH~Իg6_i,6#Nk#wy{5tyqcp( $g):۸mBboXQgmLdmӾ/[v_F̙d԰gFN9A~~w^~0bills9ҘF2u?OqUX.%yiz-TO[ƙ#SF[123GP^ciy =UmmG.A&Ȇ8hzZۏ2qb{,XY?9D~ZNg'Lep8i앒!X%THM3=KK5VU ]v(o4m!Wso,RپX9YJ3t#x̵4"f.TbxrfC$gq4tk-&pu( ȹbKK}Gy½a*;?;\8MP*Y0K?GkII~q|'PjO֙,0O'Y5\lw#j*<LZ-֒L:vZxwjB7\c͸f~!vd}6JE;}tE_iSwJ/' IDAT$6$CndjDIf&#vΏ")d*,]Xd:jrQY`(a 7X4akyʽ li[ɣεD&'=](j2ԝBuVvIMJ:$aH{-"kJ=$ÅEIC{%=15ZNt㮏Xh,=Qː#tftBTeXEb~~!&& 4ŜmGxo 9J3ۃj?=<\tp>cjkb8>g~$FTPJ++xwO*ęxtsy{h: tr}<^(u&':-5 I#=F/Sq_)G#$Hqq, ڿx?zdi:*yl 6py"5᳈e ֻd\-?ơH;jf?^*b?H:Oi{έQ w9XDM!͘R`{Qhbr ۃمZ fkpifG#[ 5f[MQggr#>Ld~4˱Hq1֩7't_DDfk5scp%ez`J }VլhrF3yF9h3vׄ\R)~?Vt5G( ݻ2ZZZ(-- eg6]Fww7𗵺88o-9s,ӯecI%\1ZN9@^n)"ݟZ G5䉗bfyesI&NT]α 6 Ț4.R|C#ۥ˵ЊL!i03OZsҼ.r߯+$í WMaY%\b%.\U.5c{G#,TQơs(ƞP KS;B:9t23t#Ǯг8\ cw/*h0%SZ(O7\Ŧ`=EJZ3oxk0˵vJ? bD#()d@0cN rU" V.7M=eɺ|G]Hi$]d(!&k5 Le6w"~Tg ?ʺپ-5љr u/xsҗ ""rc!%14t 5Ǚ)T NFUXP #.;e&ˬyk\k{2Y9mn7tӧtR***(++e- ~~%?ړӧuQGPS߰>OE;%.zx)gێ5BE\9 F퉍> 8E]Gɨ$QmdхwӚ1:%kW4I*%o~\>gH j8da{z1KJ:2@]d!J#[aF#SN(Pp JaUZҀE;\M$C,T J VbTB r J+ W2UV ,Lud*djfbNHLBKR"ݡ Aɿ L֍ [ibl$gld~$(cҿ|LNarz&ʹ]L1ɺ"ZxعAqn3w5YJt'/%Џ`_ KMxʽ-j!Cndv8+})t=RakwDjH*HVt2B\e+]d*ɺB|]kHi~2m`_{c4dïe BijjbӦMXNijj'? ]wcǎ"+R!rikRW1%uLVk5@t: H$"¹'hp8H%D">MLA +P)5m=Y7ܲJKUNll6Nq@?MeP)Qv`B&lmRdrIǻG"Iw%d<1I!Q+|D`r6NKC [m3E7w|Y?,6cg_A.Ѝ<ނHƝDϸ7KG *1\wIj\*4yanʅR6ycA1O?Sv>Tgݛ ,2e\FPb6: (Vy1-11c ҿ`|BLM VM'-`}%# \i05qL2 ߲@ۃd*6nϦ5ᅾ$cչMZyo un*5ܝ1o(h%L~y1=^ێEѬd+M lVDDf~­ԷA)ahP_yv4HG>oxkNMX>k% |ϒFd:&nGW-cٴ]a^-dj+6}Huu%IA@CƈE}3]fvp|U `[lٲfVZL&ƾ&ӧOiz46` 0tنJ.%HyDeߜnIZ(5ORrDV4å#£5 Y#GQ%VMLw|tLJH 8~t2I1;$&&q& w*H8Ǖ $]n L1,2TT ǛckOp'DRqܩ FHZzI JAFPJI$CɵxA(T*KJf_:Y Mp % NҊU|(^|LZmFkM~>ְw3o*bc?qoZ.6V tRyųۺb:rF'Sz^JAηs(W򛁽ٵion*2&R!~u:~F8W+ixo+[bX8HUmq2A(I F2%I?T(l-@:Eҿ/)~3aJ;f]ND}[1<\vo"mYgšpK.XcO G"!n8WƾI7OwرcsD;>/2k֬aŬXkݩ _Ub1s) LE39G>jZ8r ‚ ֬`ԯYG<d v{% xq{ڨwjVP2L5nll̤&.+zB+rOz"\h VBW^PB2N+E9,a IF(d(e[; `6h]3%}vޠk+u.q!& gcLQ9x_A.ȸqU"jÝ<ݷ)LcIO>“ 1[_jϺwR侌d*~ӿml =d^Dº 0PRp8}[HFk5 eR{=tbnͤ')9䂌4"w;{+yJ gn)Ws&j M,4󆯆ٺL -2K?ݡ,2J[=;P rz~'X !4XpX7ϸ7O':rY&NyѳfFqc""@J+d^E큃Dv 2&he*oq4AJg˭Yl 5ssa 3PJGW27l3x{D)I)ϥ&rpȍd*V"//s߇HQa'Os|ؿ)2xGƍϧ3n;ill3sujIa8ɷy/cI&?{u-đk_^g 5CGgxd>>ƍ)6ș}Q^XDk;  ![ǁ]+P'{-tJK# ;J@(:DLj'QPtI"E;vOGiH'5(eư%xLB8*l c)l6Rew4Q1$m!"mLIhKxYr&FZ-1dkv(QgOEX8I`Læ`=,OӌP9hKQ 'r%LFp/![ij$^߅IKQ)RxĹ懙Q6{ĵ|:qSA~;Òd-k_ "$w;撡0{ {gM+yo;~RH p}.oZnF3p0-󍥜010hbK"Ka W30tqee\F3yҵyk4ej.qav9!d⮞d+L5ciog"T,:dZD bM01^Ǧ)t93u:mF.f:1,]Ͷ`wgcn8,y̹uC :³|w(<{/-@8L `Է#vR!9|:=ӄLMCo($m![kMmw}GXj@C܉]U.j3xsϟd?hwȞ;|>$ ̙C ஻Ov,T/s4440aVqc4j=WlBo?Љ^oIv= Ӛw`%rc:O[JC.)'M&y +z P 6 p̙u#Xm QF}iP__O0Coo/w\rɐO|$ 9֭[ L>iӦ}Yfjkl:L64[Z|ɵN 9;} S\4 GGF Ê*-c̬/δ!31x2^_~L֌^gmDAN5$N"WH4@fF15WViq:Osts̅ R 'l<5SpT y,T87WmHe牬%jh{#AcY)P٨֏Aj(e\]1K͕<\SM,3Wquv{=uù~2g6SD?^G-(x,R s5ܗ1b.7Uk ~Jf"*&YVRgBU/[]op|49{WTj x9~5z'Kil3>Pcuї =ҿ3X8I„g-b F@)Ȇ0BGKhu6%L2% ^> `:kSd*~Iȏ`Qh{2\H& D*\IC[Pr ?˽[(Ph{6g}ۙNm*&{~dw*.P΢zdnN>Uԗn֭o@* %\?e8Z-ZYfq/l`0,>ߒP__π1oNQx ]9hG-g[(BOoӧ^MWW=Y#+NL&NX0n(jNmcR?bRH93H&] ,sn* wۤ%ۂBxIƊ,:ȋ$}$p D}5g30˵縀_= X !~Hp w;CTG_5'C.'EC p9DIoʇE?)7Ԃ;Rps9!j0Wwbb$6l"6j"TGOEI#EB179Jlr= e;B X:r-OmB/pJ33#yĹ>|tE=,w'{!woϚ^wu\wu+Vp//w\d wqPcMM {>la4R/9_ "Q?nKp`wP:z Mi!ٶ#d ):ɔ+>M]OE<\3 0]͈*ҩ8@.L yed:ܲSoDE\;J.RY~]/z 5X"$e4tE^-*x0X4i`lmCeF92lA+x$Tvrfvxxm> W$=o4gv7ئ@FTLJ bQP r?u U*vm3b\xwL44"tz3IS7m3P Rb׽SZq֥F3yҵ G0\-1:B8_NbXԵQre $C<xR!e]n9F[9PZd^߉'&AX/7Zg8oy1Zi9fg2> r T`* @$|] KM㨍v#J3UWs-<e)QeLheJNpo*2%g.d*׳ Ŧ μ5Z.  A W3wW1UW̾nVӕ#Y&_K:\kFd?NU&MSߗ;3 2n8d27|3eee_xm͆:5=s3|FeN<>s\D - ;jqPQ>d&NT.2Q)5r ]= ulX" U‰)*@2ӖL1'7S^:ҹ|=~Wr%X<ÌYH҂J  8hJjLHfN|$un縐dJʽ<_&|Xuø6<wH04gTrm&DZBKSIDL)7ҟ JT< lB(.OQ *0rfvh18 #>ca eǟ{3'0ɵ<}Z[jf j$&j gDZg-WyڽnNckc1PODw‡F2Ra҈ SAM/!Ca"XG:l`نHe&j޹宍krmkZp:]bC2o<|>Nb'Y2sL&5ڿϐND"ɡ9b<sVK.Gk1i¥44F1՘hm?J^n)VA\ +Idr4j=h5D"F*$'{4G>lt 4*/XGc8r|3:raٻ-]G,x.!7;6-1M st $UÓ$f Y0-Ny$ui^!Yˌ3bc_N%Nlf݌qoφI2̼l^ߍ;Nϩh?qo Nru:q;VF#---\q̞=~?_^F9[6'2QL P9"1|$a61su46!^D^nd%uԢKD(i7coC.iAP4HT*J-x;(,ǩ1bA2aEDlY- H'5"iuVc?  fak+KKItTyQ"J-;]]+ɔd*w{gA{(̈́˳2 BVrf>n![a5LYj % ^˿G{%fL/rh{?$WeXbbb7ҝrm&*O7Qn7c6oZgg ?S^}1^d0cS^kIv`IiH Delr U"8iev8SP Ǚ{*4ᘍR0|62~Bt 91QWĉHm&)/T[0ɵ4Of_F2s}[(r"b8rf~IKMc̉Bqu+|Q rD1da4gjLMWG„+teܝyxT?sf'ɾ'd@aWAAQ*Kk7Һk[nVmkQvw$eIf2> [[}Bf$}}6JW+x±ި&/d6窱<039~#?+ cn,6"s[ݏr;@8uWJQܞA/tUzuۙ_"y_9# rE=**O[I@6BKF 2u:A#ak)TPrbnHU *l Q6\ef<n2jk(QOU AM:fb^* ٘:&SUEG HLgt!OLD&Ft2)TRwlzMdqXWpP"CF,ԗtjbbGpS߫c1md?S%s?_VP :6 T:tFIQ`m(b05P<qu>*_ͬ4Hd.3Lȱ%b:ʷ"_31 us{ߛ(9L^D6 |gm29ӵ96xOqG;lFy0 N{ˌl68p"lv_3&re&=(RI=¾D\B+W2)ȵ* = "d h4-r &%K`ظq#?xR WE皫oD&=XK6:ШM>Lgq wQ]u5纎U(& 0?[F@Ш$Y29z q{L3-{ɚ(62z} V̦4׭x)='? ,| JڮzfUaiE$Y2Ɓ:]]uDcJrkLXJ8짳H|>' xTNJg)Zi̠"~ >S"AJ(J>iy32&3x}yP|+bf8?˯F@30M# 6ul?Dd+-ܑr)FA-e: JLU*=2db"C)uIL8,cچ+`&ۓ%PGvq&d'IHǂ]Ip \-IX=IS*]hEkdk,3y}4Lɹ0߶]@{|(p%|϶x܅% ܙr)688Yed+8h%]Iʊ= aH\p-A{d\ew,A)!$Ƹ:)Lލ'$,W%sy/M$Q%Q I5mB.XjˮTh荎d['h BNmɋ8\aKv `o|?R>{_8 Çsr}p86mfI;jzuF:^JVDd2=<Z9 D_3ӧ`JfFYha^A6[KLFQ*T 7X  t1`o% sI Ο?Vk" piʱHNδ즬d>2S[dx8xfDۺyR[!;URH' R]0?Kb{Vb~q烎Q[0x]Y%ll6MȵxAh8%l'_e7\=6)8)P@Ppǂ26zO!T29a1DM:{|md(c3i۩ vS4f(QM=CҊ=!W%Kq*9R:&B\aB6|U2gigeMqisN%I W4%O8s p[ :i64srr :v`\J*&0[_+5[}M.җBˆ=at"#l$ tODqf (RK98GXqy:Rm5<󙧟\]{lb\ IDAT/Zp~~܏Maࡴ+Tι_;q|{᜾Щpy*j<_ԃ>Ok׮7$VIMMo!jkk᭷k\.;ۉFҘ(?~oSpj+yUxqϟ?lqYY1h<իbgᰟnɝVwreUZΎ^cZπh? ~QZǎ`_7I$Jz#RMw^\S$ OKvϖJfTɐ24`\J/O'G3Us@"m*3u<L]jkdArl })(Ӥǎ-*lq"Θ mw ;u)qQ=2f}&c5A:I36fG,unwlCD件qf~erHY`CYC#(QU{ nghsyfxm!b(qM߻.ԩlZS~+S1f}$B v2Y+Xc" m 1]K:M-a;dqejAZd(zI'𮻞*m#q?oyIQIYi Wġ9<K8`:dK ec4Yl5R++2[\kmOE*J7DZ lALdq"E\A1^POVZhTTisU%sGܗz9E2f@MYL]>W*xth+wײTg-1~1zHS0j~;F|;Sϋ|wQ&| 2IAm.h6ry2[W@(~T29J+,O@'S@B:3l =,ҕf1Uo'_BLăH޴唪Xbmwz~ڍ Ew̙̘1Rd஻hW;?gժUsa\[xǿf3^DAh8]}$Y2inCjj!{[sGʚH_353P?3t*I9_OQ ~''^D{23ʐ˕tdk*RkDQL̦TZ1c7 96*u@NR*r&Y<4 R5Q:Tr_4\V׏WaVh1?m941M usu>1\jȀ?Sy*szAlT g[L6=6o@ɘ7cv8Ƀd)-#.Jn<]PJ̯F2p&<@@ 6{O 41_e&W"NP዇ 42ŪTLSIQXm②-苨RC97%CE^n{Ry:s5Z&)R` w E ,җpGvZ{=TI!Kp??\"} {0ME@cC٤$hxt\#,'{>^xpիWSRROX~=v}xI(F! qgoaBᬱM̝}'7cKC~ܜta1rzG{+bBdWގJ ~քJ8eqFCMVۙ3zzzOcfY8y}J0::@0!3GϝJffT]ńt6RN_j#-NxX OH ϟu^/@8C[pt :4O4~:t].Z_IskF-Spy='Ȕ ܜ 6xN٪$z2nw,ЗIxvx'_H:OiJ %:zLFKȎ=I5i@6v2]V^qfLd0NL@9#J*AJm9J+yJ+u)dr DD+<\K6G "˙I|#Cyy M'x}<b3O\#;h P rO߹cYJ R_/9X_3et^W&3ǘRxeZVvGF4`43\aZP^rbA:~A<vP(@oo/K.H8m{q8";E رcn23J?=r'Sr E3b*qq;&"ٚÉ ̝(Jn Gj|# C1qNFcDFܞ!: M;X2p{td [Qh@atB!v.^x3nx.ۋ+_W)̟Ψ{`KFz u (ȟ34. R?9nhjMnH6:kʜDfF)u̜q-Cs$q/7(h4DǹcL,[HC$xX4C5l"P9xu"jSL!fL{+뎋]-c&8LbkE~(fneBDEz@;'%N,̓ײ,Ĺ۶WFc'AI]\6on`6MS|:7T)fk V&s/WDԅΣɹv/NqZvNYzI$M{պ JzYbAPv>c94279U Bۇ0u0 ÁsLdbUTP/|>i6ӵyTjsRdbL&;bU*O_N.9+s|߶,ڸϾA&P_̋974OqUD]<x@l~w*˩י]Lx '=Bp))tv#ȕ4etDwqƒ$kKMQ)mM$f5"|[7X$-%^"3;SJ.CH) / Ya&$'eSYLTpylˉ !^vڭ5(dr"Y wbVdܛRֺ:Ke,yұ߹r5eQ1΋Rx0m9Au*9G-S@䫓 7XTAocCxu g2WLDyұm3 Ƽ|.iTP#c~6t3|>i6|yer6yOSBJOԅR@%3e)LҕfN1{"2ǣ+0ɵk2xdp ?LFG\<:\ɵ*n~룵$<I峖<.hۍJgB~~>O>$IIIx?wߌ 4f5?WPT*?1q _dLJ fF(AaW'b". z+muʜHkA2' zUnv%+s"2dca9H%k;y%8@ԔOn `;vSO@g L^DDhvR?Iϙq- Is\-VJ&>@Sj G$M5IHp]aeLO $=^xY$;&Oweh?FW`7stE|ͺFv3T<߻u(tEy4*;T98ǭDIV8"})U~>P?}Q7 =Oe!~`_G\GOɃiWĽY/- 'cnn.`\C3tytGVoAjJ!jX^˥|neTA"Fc (C2~{ K2<҅ %s9rm*+ evjN5nb =CGޠfuxC0g= Hͬh7oYifHJ~=Ւ5.#"/χS`VIεߟr芎P_ڹ,la\U21/߱-f 慑ji ruJ 8v,u0Kzd#q?"0ruk%{j]b##X wTĬk-Jzv[Q! IIߎ/fILCs Xh("5R& HSmPec 4z`0`€7ZE)OOԅJ Sd29Qn]8f`/ۤEvZx}K |#y8%Ad=[}ͩ *j|q pD"L&waB!t:7ƿiIIIdV.P(hufZ zP(4&/g*NW?h"N4l0nXtЎhm?@NV9D|,3?EJrή:*+18ԁR!+c"'S2aC2]=̚b'1hFKx53s]'x8c[9^h,#oLNgftPdyGڹ-|J\< n:tv[HWY/c5Q#s]u?Pȕ0>R2yӟ:u*̝;SN̙3Y~8?usNbit;NQA5#^)tPЋHP\4w9df"̝}=&S %P=}%2AΤEْՋ(4I<؉hjM(hpi֤,CgL/Il\tZ3:3z+4:N5 APSOQa5.b"{NRX0BMK~O\P)Y8;*SzxQdW/<\σwp} d k "dl'㉇P@_"D\L@A/&"&"G "b "FP!q|J%Dh"?)SrEɥTDŘ2zF~d$uV~ISZ {(.ZJ)5On R5a F#(*˔47mFl@K,{=CC͜? /P,0raءfc~^n/ ǹ2Z?ELw``,BoF"8m $Cdȍ8^.L7Zc4\[Jk`W4@"! @Dop0 i2hZ_?tƐ(!IҠ '(P$#7,UsB͆$5O\cP rNHBM.ngO\ʄb\?};^d&2>L(?;ʧ^G'_I"_SCDYW N"K+\IO'zl^<5v/&^aw+" 5yӢgԏ3'QȐH@H"TlgC~^/Ph:4A^gnY<̴w*F;2t r!/(chBKmnA/ MP\xǎ礫U(*X4-^FsdgUiuٸLnjޠx9z]2#/J_E|>'e%qj;ٙ3pt9F2%gwųN 87-Tu|30+ >UwKB $h?1~ǹoO㻩S|kd +Yɥ/hֽ:ea.7㋆A>9T?&IwS70s=Ā;`G{yvktܚ@,̓)qMhE?_"FOVT[s|ihQA\/3=CY嬷ϘW2ۖ]b\^W#9 3ɋxq;4phe4afIx؃;@)Ȑq/LFl㬷M˨Tg3Sc8W'8a,;)RIQqw\!$M^,u&a&Iz]<񰻍\- 񷙯ID\F$i~ڇHi ~BDݴ+C~k;IO3>=q:S$!.F\% nW<5ljc%/lǸ^_Ng=4M)9 G<ce:(jf3p@ 0}6eAԻq;`cWDwԛi;<s_>9XMOo/=(]ecutvWZR{]m+VAO_=H>;f' ɎSzpeNȎ\V"b_~t~qQ6eىNRdN_p-F|!q5%g_f} n7/G@zBE2?N ⬧Zz٤1O;8!tTZ[@3S|԰9ΐ%7&Iy_cs8n!SnD)9Jx:,kKxqa/OJp֡dKf=c Ƃ$x{ 25Y2#5>ԢyR6{3ǾXvϘ/cH,>guk Z&DD^ /cT%[ij9./bBJq7:\iQDudF1Q[KyA(_ȩJ;},Zpuh&53^aɢigty\j?6L3b@" I2@@a2f2>rQ~s# x>c6n);=Q* =ܒ:~k? Mh07.uԂ U&;l5.+8JMJ^u. /;~>ب9)f 2yi9-bAi ymMJ-\~w%,% C hŸ:!@e^s|>q5rA9(RԫЊJ.xl*#u#ir![vxl*V'0}~zC6f2bt8a|!q5e4~>~0QJ)j\ s)SQ },|8+Si sWz8i/S)Jw(Hg7S'&&jF70et?O|b<jonKd2YWl$Sl_Fb"Y}'qXl ;]ȋ2t7 p(j7 Pj<$'Q(Ԥr sf_1cbN}h|5 Ef* IDAT u NF{e{-x߮#Y^As5K„F]sDI2ZڎQ^*Hk<Ȣ7|Ds6^ Tz$9MG\_ ?؈>91#,̌lb6b@&WhΞ G0cx˗l{9뒩yn],[r CuT_xETk/;Bu.LJ=)Se_FhĆdJ@OKf=+W6A2 _U+Ԩ!ηs % >Tf f"m>Ɯhm;A^N%Y39m}?P+eFX2%$ECHGW6{?)EtvQ_JWWY3$9=u̫d-oY$Jt^`^5^RK&;k*ƃ([Ws5~Rx#JBIq//TB^l;ߎ%*Qe~z9 3Ed<5 ](O时Җpy9 $2^A&YA.±(\E*9,cóSlu됉3ig^F!C۩אLf:Fv>e^zL±? lUOd܄R񊣚/ \bUeY=CeP[9o0SAk—ufqA5Y8G0d~ܭnREBE2!M!ɄcQbDE٪LI4X-DJitȝIWs:`;md3OHBBh`0=p8P(tt311%KWBii )m,#6DF섇T t [JTB#j%Qyv*B"=Ǐ,+Q$= {FDh d#F D'@ RZgbB^a 59ٳǢ72>Z?E-GYd M-GjLdeٗXp3c~FG[y U5oU`4:f:cMQ[K>Bo=>%+y"$INgyfaxQ*x\X@%} |WbT> w&^QO'P \Q?/9A?=HTeD 1.yUy.09,?XnWpn{ ls" ^WBF.~0zi#2dq7)fU$9 AݏJݴdȍXBNrrBrft%2AX".3-a*َa)E7###}>I+J``:AbQ js}0mpwR\\Lee%.\STT /IIIa̙@8& 1t#*Gf$M [ j$}buz YR dQdL@Pʉ}GјR GM:D7@&"D'P/ :m70w"wsnH3^4>\qZێZ6ȸYq*Zj!  )*E;~xYpI>f4W0&1vra>r7⋅8j]4H(Hwe4ViK`mB9g]Db16搩0qa>!;-6璣0sn6zI1%ViYg] .ז,:QɗְA_Ikxv=ȗBSȣix<y9iiX66kJUƭ81-hX %-Yvsb~ 9IJJ hÇ3447̦MP*ӺgD.~@Cv?bh7tiB$K.M=P 4@,<ɬ#G%(HGDc~@@0P(/^ٴBOAz%+DBT`O:x \W58m @)XfŸMq̂皡*s&k j:v86̒(7h1[d(L''y2?;qo;a7gsuLw㮡WP rF~zo rXNr5Xf& ~*UYl5-DZEbzi9;]y~"v8Tg1rpBDWp 8>čjᰓRf]ηb%(3 X.]UIs((DZDhF` YOڅD&<:K<9U+^K6jFcS5>|q2$I6݅ZDrRu ϝK4bdɢC̬WRsa'%+HJʝmX;X;ΜIWO :]cP9v&K'Q㔰Q_" %dcV&)0ǹ(r_;O f* (X^W##a'W&c4D1̲C6dFFDdNz:E*jII2v<\[BXVRe:BE2Abf jZvr5X{8u#Y 5E<`y&>> !;̧_Hhύ/%MKY)楉j<&ATt-\X-⸧["Lff&gN55r G7 Nh4:::x9q֭G? ͛7{ /f``L&>ŋygyٰa[n%--`0H(blݺA|n؃,Մ~*Bc "%IvQu7O!Ю η}ABtR&#(d(+ Q;ߊ8'<B|UwDIr5:NO[,,[r  Lh&.6xNl;:ϒV\Yk\dr4eT 5S1c (Y`3ݽJf\vrgTho|Elpnvu>W w|{e64Ր,fl }~^t dM<=6_|o,MylHMWt*ʊǺ?1Ob)](T#k(V0rep*]=2u}'k*=[. 8d)B!d2J+¶mHJJo H|zOwܸq#O?4[lٳƿ9ZGj<AvW"[nꫯFEf@.snx;N"*#K3=ـ{IBe949XвYSqIqA[h%P߉Yf2_NhhMn#u U@4b@K 1cγeJ"3c(8'8w>IP qio xO61'DBӎgnJhi=FvVY39sUߊ.!OXPB)o|g)lk_>9 x&sZ\iIG-Q;OMЉ* E52A  U񹦨}DIFA]H$IYxZB ؤC\fv [)אL+0#}b!) ;yz7qF΃עTh Un4ܕx9OC=$hs_u* ˵#~i;ΝIWpBʕ+\ة"_lM-ŦxS6gΜ^nit{ݷow}7?wjR~rV;Q/jp8H>k IDAT9F4j HH$c416KVF(1lĂyAPO*gm  |KnHӌ8ǶcV-ˆzXikwq2|i.%br)]g3z{m>->jZZm9G4rAb:;+;yz(QT{bm !"||4r]dIY-c%4d' pw"($Gn38jm +<9v\y"2A50m%>QIpeBrQ>΋v,+kxb0 !Քub ྔ * u/X{1O3iⳏA6ŸX,q60[w}ީ qǛz,G… '>y> GuwT,ԩS<3tvvi&6oތ^\.,dj%3D&rTse'?Bh`d"y(r׶ӇEh/"Qɨ_N,BQ,Ռ8y ̭gK̟ ;IO+EKfba4cv ) GBB~r (EIIgl)l[fpZhdM45A13^fQ8vw\cã*9{TJP *PˮeumuW"!4'3w] .${}sdJ{KuԚp=< Gڞ_ݝ2DWoe(Q'se0A塒DDGby~Ab+Q"9p2M?+CR.Z ;>A)W0r[suk!d8ZFGþ }V{[$b"N(h:F Buv$mv ϠjC $& %e)8;p$Lyc7ViѬy+:>nhF4Z#i)YٿzTלbn^E($ !DƀZ骧iFNє`2&ңxDsF%.ز8z DuvU`PA)k6x9I#1+|ذHRT.-gH4fsc|O*XyW?&G'SVzːI$&{:Z*lpnf3w\׍ez}zFI~[u:O׊7pG4 5ab\xNm2df2o$u9:?:~vRqC偈@<5EF2ViJk T PoFX)L'>sҥm5%DŽt*ncpvV=ws#5xwg4kډ8S*~B>/vmQ|| *.BL.iOLE2-C8-k>I ?& N<"D}Ls[{׃qa7ծ"hc1"Cb}?8^W)(ULW($O':jVRr1ԅy.`F0u3%+H\C;ƛ0Ͼ"oT 2]ᚸ|x>LsVTrOXl͛7g̙ TCKNjj} Lb]`h*WJTuBha1-V\2VRzB"UL~^s`-F2U<4L.\PKJ$&]3YOzr]C rH$^_5!W:1Xך׭pl@>w2ʘG= Եr6X=sQx^椿F!^8riNem$El# 0ܗQE7PI3g/6WSmm- ,`ٲetЁS3f @靗-?Hʊs+D;*qyP4KAQ8SVQB a$e I.G P'qy ڑ npFoRA0iFg%3;µ`AؽSZf7(Lu)ꬥt<_a17%- w.G;j9y,窊)-+ bЛi%qF5Q-'JOæX`vi:Ts9彆PY( 4pOPR&^C%ɩ :ejcgwq[N"7p_PyǺLJ`HLr 5lcLcch2S= uk#IѦK͗rS|OԲ3!کSy4y4ZSiG.ɸ/q=u-(VZHUpe0UF^]ODELs)ͼT*3uhgG7…BYp!yyy 43f.!m1~xnn6oLJJ 2_u,_{zɻKZZZ,vZWWGfްIBf!x I!J$9FMB 74"3 ۜ(,Qa*+xF7#H%ƫ8uBt:jĶTzK9rZO#I-AmQ^qBپs]:!"1 ߳bD 2;`17e p H[+Fc8iIm'ak!Qj4nao4*hN叉H,k<^OcR'swk >\aK tdpb.*I<.ֹJ*JA[u _: YbߏJRC׌ 9ˇ ;hIL;-q~S +oû [oFd0W:ULmS0v-k~Ԋ='Smlb}FTr 0o$h%Ea⑤QX68y߶q=x|E}%\.U<ìX|:_3. 텟;wqFx FŦMttM1"&9g08(J?F$DHD a^R ItBJID&PH0IHj%\AC#><0^5U'ЍM"e~窎V鉏KL>  gQ$SgvtY1(?wҲr: Ԕ֜-9Hzhrj:ɘHx]BĺҨݝEbds_vG V`P ;:utӦr{JҔl&[ƹ|q61ʵ$ulv)JCiqW!_i }V%Qq2PKkUH)D8VFBB_%t4AQl>m<@Aj, =OVDOneUYxS&$(a [EԫIUXd˽K;DXV:PgR%Rrak>]v|BY`Gk駟,^裏^1_jqHr1x`x ƏOBB7|f3 qٳgXv- `ʔ)n;`6ߌ;oaEry$i]8/F0c!R:|U5^0Ԓ升Xܸ'RƒLWͳ6@Qrlla7MfOE!x.[Ccĸ gNd"]qQ;(c61ʘM0f$wsSZi},QQ egubG?}Kv}01c9ㅺudSd'zW?TSkXx19̘1}^Rbgv#`0u]ԩS?~<@!55*/(LOa^xjjj#9T*g*""Bo@@Hh4"S(P$vzUYɈPpIFˇY22"{HLOĴB|\*玐Jn7ˊ^EC)+?ŜNrRKXA۬28w>ntzǎoAq4ΖbnʱDs7 JpJ3>όn /hǎ}$uUy  ѷad(Y*.3:V4bb\;4b4qQӄb TE !7ΈD\My22Ur5RGha4WY9ծamך01>*hkxn TIz-Z^VT… qx㍬_¥t+obkŎϙ3??n6444h",YBff&SNO>(뵿7nd?}E͉}3qY4 jIz #OI@j&PQGLB*m6}1,_[˨9IWqWX2HKmhz8oN3ؽS<@mS֐E|lj,>5SFy5@_m+IR󕣐m;Iy*ei8JV]'.׼m22>u~r JEKu]'W6d,$戯766PWѤs_K+u" yӚO{u fucLW1f qxa+: !q0xKXlKHXJJR x"Vn/﫩U(>} eFiݺ%[S{ qos#m۶m 4N:ns=G^(++?~60w\Ø1c7RRvٷ]3kRD"FEzZΎKn;r;3xt W4ڛ%~3;! F67 `{\Ju,n)|1'۶IV8~K.|qa>| nE3Y7\iᴿ\וOUt͘iOMKu밇=UD$KUx:J: f%+hI# l*ԉ Xd×#$* <<4EGYd߃R3ؑϬEV}B3* Yt)L>#G&f.!m~/y!od̘1d27jm &j n,qJ٣ғSQjBJ$qzT-8JMJBeu=8*H#h٢'u%:ZeϾn;k;MuIztcǷ%Ю@")]:!N^>r+(v Ѩw1K3KT#}:=zd!\&lݺgrƄw X__Oow62c8S+8ELHj[ NC$~X7TY8>G,m8W@`@ӥ5$Z܊_Ҿ`B NJiٓR:mgH\E$bnјDu^2dl;00TChCD#|H4;T׎;G]u #Ϥ\Y*5 y i8tDW=pC{f"d|(dm'r]a7l&'䴿W/?1LKuIWQNjSg޴'Tef87'a>^|hۉdeSd})T})Tjj#W棏>BԩSkj?Iɒ%KXhIIIL:EHou=wh,mlg+?[ HL:HZuT#89##OC;PU=F$yb:jj-k:&dgm"v_ѿd* Zhެ %5X}aV(ڙ%l>_SE E  ̀s0DS0޷mgGH̵,DfI0W>O)WrXx+MhJ &5i0 IDATM׌{ľmhe Z2WHW@L2-rO#UGeΟkV8f#^c, i,k<@g{}5Jcǎ1|رci޼e11c_~%SO$ =z2bΝ͛>|8SL!##o CΓ,"pr}Q4VHd243Qwmd$%9} 톤V_W@69P@AABt/X֎m;ѭXCon`뎅dr:u$~&@&0apnY ٦PH^c # f$IlrmfRFKO\GUjV 7q(pGXZګӸ?qj-!L k'9aVQK eO3X߆7u"m;יqړ ɀ j/DDgh3 LM+U"kGm^o)\cʒ}յ2\cBH{1߾8@,9c}iߚy>ʐwL9˛pC\6u'VCr[serIVIް擢0lZjN\9\>gp?~c${TZ?keV& ;p#(,&"^mfs"XۉKÛ0J#!Jѳxk7VӣxjjOc3̈́Bd NA?\eise(2I:/j4E<ϥ^Q!Gc5+p}II]s4v5]HC6 Iyc#T) Ztjrrr{1 VS[PP 8|0Ǐgڴi]r[\G?.~*̚5+"6mӦM̙3| 4)SЪU+nf͚Qh ׯ qz WA`ĝ?W"iThAӣp,\qTOB6' mz/wEGnfǠ7`;G^]OdlODɐ&^CTXS%ANNayMvK&&3ͱ=<4yQ*3;qe0m6m\r u2^7qAΝU;oDZP60(RG$lw\@Y]([5fӕL: zaVLѶZE]IoͶ i -[tǺmpE Xp,*Y;;EEk<;JGmaeC:a-:ZJaŊ,]5joBh濅7 L||̟?I馛=z42;p9z?:"n/N %Cͷ^kp"bwVL)GeT.ѿ gk%Gga`-Sz޶sWŊٳ]_hB ͜:u믿)S6~J54.".e(//g޼yZ^z1eRP(رc>=ǐuB{^5H*.tj˝puO#X^2BB8ܨdLRj`9x;¨Ð !\2(kUZ8'ǒ8v5> cG&!ڵxE\ҕ^{؃_hNfɩ-LNVTRWWǢEXjݺucƌ_ ͬZvѺu=I_oH$&SRRu]_h!Oqm=LU4zmmFgMhBm NkIVmȲ%QG&cp?!$!p(*X(dI>fxђXdC:H5kG bB3Mo .wޡEHѣ2eωˤslMɓ5jrUohh`ĉ^vŋIIIaԩ 4; Bcpo)@ۣ-qߏYIkLWG"xDӡ9=hrZ8PMODKa tfa]>o)# mLwM&FM\-a{9?& A/2-6Y $1T߆MkI2o 33;yY\lئdqq1g݌3[n%F64.ƜМ}D"H[oEڵ+CE$VX{ d.ω3g2p@L&:f7xU3g̙3^xvѬ;ܹsc-\L6moذ)=i&û##TQ<9}8J+.¹j'#j$]w6*3 B=ۑ8Iq=xazIIU;=<}R|ULKK>ßuˊkTm?^>mw n7̇E]8baVJe;xrDڵ+Gaٲeddd0sL 19U^^ڵkڵ+C aȑDQK|fϞ&0f[2\Bvciڴ)gϦw̜9>۵k͛czC '_`0ŋѣG۷/&L`„ TXםci& P07³QIu,]T/Mj/! wD73$+*^CM#P$nqQGӳ1C#YϼQ&?OlznvfEgBpwd^Əݻi֬o6p;aÆqUWqS\\L/ ?|Be| _}b̘1駟uuum߾]\s5~())Q?{رcs|||H/G}$n/۷Ķmۄ FTUU *Ŷmۄ>4*!k>̙,9- @)+z ˟nѽe&B2jEܔxU!7˃adO!7Ų Q' WYB4YF(Bۯ5VLz&T-y6Rhf yRPwj%dq?k0 dPg7eeevǮ:v]C{LSw}@A'M&9rQ/=^~e1~o+--FQ;wN!D8BDBbĉ~2d;8.1 ^&q)Q\\,O.xQUU%bƍb„ B"''Go D!~ED"bΝb֬Y_~_%%%pzQUU%jjjfb޼yB1S E0M%LG Ez,N/n.MFJ)Pȅ~dLp8!OI$l*wOھ$$Fn*RM&2V OHzzm61c 1a|4KI@MMƱH$""HI>a%|AQTT^ m۶zeeh۶O_.K|bk˖-v]vQ[[#FQ\\,L 8B.3edCȌZyj2B'MBi~dOܭB׿cePi*MCb(  _'$P*{[ȍB7j!iUBMl߾]8aZcp8֭[ٳE^ij>+***~57,G!bŋ#G~Bo\e9c}5ٺnb !IE=p; 䡇?B{Nz $J E;Ä<)>F ,VUlXZ^8QZZKr-b˖-[1Kѻwo!Ŀ.X{g;;e9d1n8ѫW/q}'N!Zbƌ{#F/B N4I R)222ܹsj"++K1Bl_~IB!zj1a1l0CTWWث{mmJO#TYB("Q"~8HFZ $,$4 $ Utpux@!7nA ]=B.t qn}kİaĿ/p8.cO!?)_=zT\b׮]B|>nݺX*w 裏PT33g<|'N8NoNII SL`0vl͛G-S{j nݚSһwXuO>Ūl+$p#OC?8_FGnhW<[ ?Hh{e/ӷo߃79s ϰaØ>}:m۶=/PTƎ~:t*|ꩧXx1;v̚5;ƙ۷ogk샢8R<j d 6 =/ *5ac2FF3LbkE:LL D 8@(m.wVe8r=̙9*Z-RSSd7` lұcDŽ7nPppCf@rhݴn:z*t:z뭷hڵrJt {Pzz:QNN577jOtr[287AM7[F=4?p쿈6A\fs_~ծE'O$DB۷o'FcI<]illd:{, CQPP>m6꼽sL&d f^HxtPSSC1114JHH}D4oؠ` ZMQQQ$JIVGDzjmmyq4o6kץ콀8Y$N[VSmmTQQArV^M|uww{lʣITR$^O---$;bL&cf n2x4;$$r|Hwss3`cٲe>F#b1"߷k`d!! ގO> Ş={ X:+w!RPudIDAT/ƍU'x:NXh&88iiiXjՔ}a k닰0 ?Z[[?CHc  @=>445! fӝ@8N޽k֬Azz:~G|x駡P(2mmmB@\\dٳg j|ł*9s;#汓pmNkXp%;w& ؾ}׸ATHJJBll,> DGGcŊhjj+ LH$lzpߏbh4\pA(;a{M&"RTЂBRR9(//˱c7R؈;vK&q*++iD"DDD ""zϟG||<.\Dytww X,o߆JBuu5"##GNסO?g{F#Bl\z DCCL>* nnnj06m{wwwdee932'Oħ~ '''H$cZׯ>CQQl2fRdBll,xGSS$ 9???q’#G:Z,ގ;Fʄ\_Оh͚53"Y֌g\J%ܹ\__𿭭8hA&uED%"*~͘ru'N{PLd||a3g`͸x0' ///PPP dgg#!!YYY 6TWWC,#$$d1`LE~7jT*B.[i#0511}|2QZZ:ځ~z_OOOxxx\rX,8}4b}„T&Cv&2yGOOpHJJBVV6l`Ul6#77| |}}P(^Γ TGP CQQZE- +DDD'sgc ]*1˖-Ò%KuNxwPWW"|x 签|-[0`0M,^z%j:TftS V2lT'X, ]Cr]xyy Ǟ{if͚ŜS3/0v"{~Gx\5 x,e8*,8·8hN`;G0"8M88CDNqa6]Dy`0&&t cd*-IENDB`cobrapy-0.4.0b6/documentation_builder/phenotype_phase_plane_files/phenotype_phase_plane_7_0.png000066400000000000000000001733311263606473700332700ustar00rootroot00000000000000PNG  IHDR]5vsBIT|d pHYs  ~ IDATxiתZTZIhZJq@Ciy3}f3mg{̡ hI,BhWYʽJd9GTȈ7$QEUTQ@5;PEUTEB5VQEU #A*bQ UTQEÈjЭ*FTnUTQ0By*Pj[EUT1*aD5VQEU #A*bQ UTQEÈjЭ*FTnUTQ0t*ՠ[EUT1*aD5VQEU #^QQIRd2  eUT1*;HD&!NFIPT@:FӡhтjЭ⺀(iRtP5H`4EL& bJZjb$!\vbD*IJnEi@6*Vc0UsAW1({aUnJJHRH-@~ EZM&h4f` VIV͖(fU ^HB#R٬l2̾htjA R+h4fr*"Nj* IHRٵ,F5V1(fsJC,ɐH$٬hFF}ύbTlVՀ\PP͂ TnC I]a6dJBף=LFE1Z6{(̂}*jЭbQ6ܲt:ݰ,Xgeh,XɄ xo Utf ¹AKf #,X3+Ypn-XPWq5*%0% dުt)fhLăVz`duf% d2T!)TjЭ_PiL&*5(eH( VAfUD5VQFB~6QbA߶RQIyVlx_{$#{#A{8ٹJ,NNM`\f|n2VSSS͂Gՠ{MR<c+-*eX$B'Yvқ}AɷNܜݾJe20 V2d2f#jн^P*-f_kUW9&=zUDpt*e$ \^W\%yz hZzZ͸ܒTkÀsh)w= 7U}ч4SD:ʺ@P i#H~ӋkoN~c2̊(Jb%%Ȃ|SZeEz#j;˦(rsJya3+t `J-R9~gΜᮖ;QW; 8>JncUkeA§#4vr+~^"b^*k,t(cg555ٿjhT,xP-/4 Ĺ_nQ dIF]-<凬ԚC$)_gvlsu+q:617Z@ {ߏsY53-5 1:1O6q *T*5 t~F2$H`Z˾xrQA5 Awї7f#PtUD^,K^6{MV殞hlqs11)~hk5tl(Ѱ΅ή-Zgp&goqw\~j^>Qts[R\rYp'Aw80Tl%(}8P' *\6>v#]=ێg:6!uwڨ[X'a:yͲrqR zFD"A*b h}JDzYpQm cSfgAzX3dW=OX14 a j'a,77TX:F[!ޑ50mڴRںPT*E<ՊT;L*(6͖ q3ݾfgAȖ<=m,7q.Ҫ~ۼڒkLjnXlGPCdϮnbĚ"tnR{vPAD;ڸ5`0hDd253d2NVQjɹYp2D_Sujya(gSdn[ h46 P~v6;anY;(\&G*s1%Ѹ΅NzKBuNL RELBإ8-.coRI_n< 70Q Bi&`PBf%; WՠMMx2dCI- fgØ>:c V:PJIĻOL ѢkfЧסҕY#JXbWJBRs&8!IҰ [Fˍ5_ۢjM*eB)G fgP$7L$֮Ź^6|]C8^slͮ#oXl/pm^-IO ;>3|'444#^2L^0Dш(~2 `Hٶ ';fG W5p5G}P0C]VC*cAׁuj? p*4ԯYC8ҥ~@ lCT47:F0妁PTZ)?ۢjyMM9X,w tKv?A70IH DT A.MtȮS( GtukR:jf^s歳V<t Qn&R3n8wA$|>vh:&eXt kME q4BFX)k } .p4scĤH[^b4sfR5WK(^c)Ө+fW7s16K=tsW+"@ @Q}.*)ǚ;i<6AF (fID"FcQ,ISnwJp"YM.uwgMMnyM?ϣo ֯5Xo1saץ~:%r$t:N1oP(+/_6K\GYn#? ^@6PuhP8; d&G 颫I*P#iMt^hZIEgY~M&*4 9)&z֘hs0T TdBQUi̙3'dQĠ$JʙFc*"̂W.ӭdXHP/Hd;CJx ׂLwH׎|BX{>α}Yt E2!a>aWS&r6JV58B/9b k2ՌsA#:ƽ҄ݘo41ۮd ÕC0>y6rtH$gjPYq BBE+%~.P%n$$SLQSS3bAP#{.5y(~%W#ғ;3~ O=[l'O}ÇYp!y衇J_#k֬;w5L= ʏ֯ߌgw7Υum? ӵSԔ#: uoM.p4wb;{?'r6J6[&J[ViuwڰmE/Z@q,V4#Tׇ(u| 6WX,4'\5-Ak8J7|AwϞ=X,A7ɰrJL&O>$?p]x1[l5Ln99 nxvҡ4MKsi:6u!e '!7clZBSghjq5D3tnNBmеCҟUrl,%*g:^IdƵN M,Ņq\q.D<}?}َÒ͞PLO*vE2;[Va6.\@KKK٠OOt:>̺u*=N"[JwjtKeߞA.jgZq.fv}wpeþ2iA$BNz @,+%u4}*>й uZ4#6$ FuV9nЅ#oN7Ҏ>!kE7Ѣtʆ صkw0RŔpKA*S@`?4\"Μ+3V>I:يDEbWh,j$ IĄX%&DbW⨍j5db4򗩔&PU *I24 Ҋix[A-qH(H ZDg/$I$:H"d"&͜țoڽG"aBtyĤX,F&AdGFrH t@`a466J( dh`zL&Ø-$|㾿DPk ^H2a8P> ӹK Mԃ$y[KBS&nxA%⿶mdtll`cQ|\euX[~h <+iXFc!.,q#KѱQh,jB´ҁ}~-TT(MfY|}cٵNGXn3-\q՚9b"āH;;PQ9X,F20B {yaҤIـx0L _6}YyN:fgA xà#X L\)1TzSv;:˭KiZ1J@Lt kY62LQ!{H =ɂR d(ѽϏhUNDgntN- 3yJbc?!Ѹ։*glO)V\PpXN];IKKK\|eʕ~CUnvPwvLRT:? Vfܹm]35 DPo;x8F萉f!Mˆw?/8Q DZĎPA %sR;a򧥴čr0w.#r.JҗidF ]6I #\Z.nR򆙫Cm]%ՕBpT χrկ~ݻwx7nlgv N 3`} F#L9 @?Z0MeMcu`‡ 1ljpx.&5]tlt43 -ΊҫhXk nLy>;&VrF%gZ:~A-Ⱥ=h45eAIjCZu?PʁRM)B%䨂@ZP0Hбэ^G}>BȭCgρ"ƣWѸΙ͈cWtlvˆt8MfbBl#}CqpU%+%h)~ueVЮZL; wA*c__[h 6t˩):IR]p/)elKGm!D>z1O[j9;HֹL)Ѿ+<iGm 71Sҁ 㖣+e5NTuVaˍgB[ V8ZԒC{R47*6ؠPa`+yͶ^4,&E:M2o޼~}14Lyv8=A0Xfی+f?:twmE̓BܮP $E Rn85TY:!td ˬtt8CC%e 2 [=ZHi۬8W$-(*Y0O6)#e${}PTu4q R#I={|j4fuO.<$(B[4f t}Q:јԈI1ח՘P$Lv76.(d+BU1(&2 S~)Bf\!T*0Zu2JcPH+8R,5EY},W#8Wےlj9H`K,v&>i.[B% ИdC%jA@nB2Tȥ(`Q I NP)]cR!TIhjZbBDھט&11?5G~BSSSJh4:d/7J5G[[uvuusooٓV|c|mtϚ|2L7Qsyr2G^M=ܷxfڧVa m1'IF75.:I2rICn@cRY[3-ux pd$Wq Cř_9w8@J[?~ۋ}A-uwd m8X5Nb/ϭ)\pe{ IDAT6sq ke~}B[[O=9-/wZ1>M Z# AW?{c>Ex#VJobÉl3HHww0L},7v%gH{Xou/{R;6$I"pލ֥8~(7z2U%"+Xw{-];B]shԅڨ~E}~U G,qpY-/q9I%/K)YGDD[^RWFGd~K9"Ye!NscL<< cõ<^(A/Mݗ^zGHjg?3g,ӧOsE,YŠ+غuaAG xW{-:jÔIKØ-4u!"DeyN<5Ǣk%&EZARsi.e$:z} &I>.cm`},Hכ^4f5cXQGAl׻TH}+l;\y1!ѰAͭ$IƵׯ>69Wˊ Sʁ"7 cP!I'de_4i'N{7ʾwԩZ ^_\7!ћJPjeXH$54LL!ix<4O$fl4:n7Hv'xw J}$f}v0XNWܗL\MDKD>G˯|D/p.Nd孒Ex"ٓ)VB|נuji&MV\k-fSLtl&Mұ̓IOL3>b ?A=>9 yu{_A̠mBͼu% ^FP]uT:#i=/6i~(X4UheҪH2KuS[OԤ+8Hd1)Ѹ^ZPFJ՛+;8F-gսM8Q3ӂkQ~&cEeRSwbлtokTt jFH8;0<šҫ[h#v9N095e'jbbN0O2k\#X wjϫh?$wQմmBk01%gZ?6n̺ocɒ%g I* ^^c)`)c5.]C=o[n~J (H" dz*ٌ`(I}D"4NTw+u+Ccu^U7±;-$bDNݪn7AJ%S N!e72n 1nxb;/w;({2q]t3kM4?@v0KnI ni\dh{t4SzMOM۰ͫecIzS\MIoh\ /bc`7ǣ1kbkWү"9Mf.ЙH5RF³LJgUtm$|sS"pA-Ռ1[N6VlłJ" ْP`4[CR^mhh(}y׳AZC?ͬ]}Z`aJi.\IqeCtk}/@&oԸY hdB01S$ 9 /E{M:W<_le%I:9IoOM[gћq&c?_xGQ-onq(PN ҹCt E$8Ļ׏ztJ&p}f"ǽam{Eh^jn-nE.8r>ĄHfD ޡD4BUf,`39"/"T}kyN#p"wرc~˘܎AiiIv0vZOɡ"#03ߺ,)h-hꚩA IP°Qў pd=>ʫI~[g%a$K-q:xՂcqi<ղ.2ьF+_VcڨsL\~K>2 mI֠A>?ER [mpclUT:U/= k'?I ;>'~׷N``NɊ҅ Dt:^49?UݡdH,qfYtw)%~^fOGLƲ3̕'͎%>#pXxm%'SD>yȧ{p-IZ]FbJجa*@ʟ.R41IZ3tnGP 4_^<{L ϞnGBkڭ~Kͫ|LA0;<D9VP{wҽ? ruY4ȅ/ Y$ʊ҅kmyfΞ=K*B&Os=7bmS f0FTjW3O${K,n㗰w̃Ŕ]I"zz?O`_8ZԤ9>D[O{ȩ]} kB4Z4 * *e XbЕ$X[1-shIx>n"ΠwjIx$ܩ>n:&IӒ%%03Tdeb)5%f3BMK;:jXkt$ӧ| Hi A/TPT4vҾMrYall601tlŞ{>}5(x.Ƶ.L7FݲՑJ'0qMk]4qtAIt&9t}]8qtb]WheA? O>$s[V @˗/3eʔ!Iϟ{?ϲc( -q`1̿ɽm;~/s_,w< @]V]M%{d I4+1LSb2i7 -{*V\"wo`l$LכޒTPƈR&ak퍘qMB,/ *ے2#.q0kyKأc%k)2IuvpPS\sr"{ny*ѱML+{ϑŒˆmT!%< R_dy/%f8iL6ȪizS?h4f5 1*NJjY7p-5݅ YfqYhZVZ߱`<<,^8;m0@(ɅS\K[8O/./i*ے'K   Ck劉/2XUM#J`γ48UZ\egh٬1AoZ.rSCV:kV .tʁ}Ui/W-s{1%ѴUA#ktYDz^SE3yиAmوg q+I.t&ɜ]̛7/OF A d2 7 L <><3,_o|K_bѢE<HHQ'vw+s*ӱ^SQ |j[eGQDhÍJ/0]}I.ԁi\jVB&Nm \ҷ$Itm0yQAz[&:a|@ m^-;msPMn$I4@XHOWhZ.mmERM\8%pĐdp\&0aO>СCpIƏO}} ꩧ3fmLmƱcʾo޽{<̚5-[ NJ@![b1DQ̒-\ @vW:D8X/ ynggM~_b%E!*XWd|os|W$24v֫i{$INq M&Z_Sy+v%N+'q,ѵCxb=HjZa0 JgI^4$.ґ$ |xiX@WCtp@)'1͒%rx̫;h-n >ΤIC(8Lf[U,# BHRnZ$ >cN8ui ~eVpdk5V[+ICǿX$Ή+zf=jWu]Ӕ7{qX }DiBG6;ۄuf<%T+{AS|&j<@^"DQiUζr::yhXpzy5DLjb[PoƵN}W;*ް z&:wx8/4M-oX `[q ng"HIt(?k**l{?1w:.rcɥ&IL&Ӱb*A?ܹsCnnn/ʕ+47W - CRRD\@ww7^LCU 1tw9爑ɮ/0af8@s߮1Mw]1SO"{x IsH\Xn[Yaہ4~֙ӸÒ$hZ8AO/.;ʁl}s!6(t _ic~G^,`|Zl+{ ݂i7.@;wשqܾbAk:#)n߉`<at^‹ZIT0M.$lkWpޓ?┝s=i}n:̓2`jzϣuv8DFi\oh'TsVlS͸wus_[i\se `죍"V$I{ls=ބgKl~.(Y l.ٝ.ceuw>FH3)[$C^\/OK4m*VHUzF1XHlh҅~ w?fbٲeb ѵ+DaU<^/7O_F=?p4k[ە]HvCko"Ķhc+~2PH[ѹcK: IDAT&s_s[0N$D?Cw\E剁Ht%i؅!3RtP_ΙDjZ_Ƣs~T̎ωujlp"z.VY5X}\Ҳq:ŅY{3\R %|njX[M]{{}niB[+[E6 䩑)yn;6^)'`W.1$gG@zyw<@2W_?9˚2~`yIS|1; e]v.x[,?}o+ca0ʷe#'&v8%grtwK1tJMmO,@' %QiU4=P_41P1%~)Xʙꖃ2ujfZq.+)ݘx[;: gw$QiY C1&iDͱfY9)7ˡ`_mA rVY,"%moz~?=/=bW'6SJHF^kujO>#N' TovحiW 2)_'nsy Fuֽ'!Fb玠7^nhjw^FBU!OfLL$IjHG3$I*$)RF"ѕDЪPT$IXU4ٝBLIZR@NfjHS$Ip !ɍ>~2Z-Mr>sR;Zq&3F=m}?=lυJ#P#mwab"v1&=\~z7ck;{uu:d+u`%<ЏkX3f /SN~ؿ"lm/^|^n1-Y 9 N8K:. _9q #{2)dX~B@SvWN{+*]NGoq.c[C=A]DF呭?"3;jD:6!UBs@15t3* >?Vh2еK3د6bh,Bk]S*(BK(ϣ4-vNܾэqώ% `Û^jobhѹK:.nsQ fX%'jA]R{Y G\Xz%5\~mK:*u`e/atUmoog3я~4<{X{ag鈹Ғw*+/g>(嶶6-×r9cFޯ^늏OawgG~OW.>;~` cB!oXX!{.2c9) %L$0o1)ҹ#LBM/D NV]=%vjgYO?rq71OSme"Q Yi)gC:$_a 擕yxq:,[#AS(vZqBnjg(3*@j'aBE6Gozt4wNrHRC-G(UV1LQikk7'pԩS?3?NӕkI+U_^6D1^]ڍybLS3Lt|N`^]4C1@[?1)FuiSNq7ub[LKo"r&uƵ>?w8{W7Z cmMMX,#$/VtJk2ۚ w\$fOCqׁzO0M{$BD5wHeCyM"P*qtMu07yg5V)LcH %r Eo@m!#ttf]bO !*&EO"|4ІT_7hZ'HL{VxU;1 <ɄyBnbW“.# <8ϗ45~I^`ΝߟC"Hv˗/gȐ!y駟&c3Ϥ}nrJV+HaժU?W_eҥl޼-[{J_b' s . 9$6Rx2INTKDFTI| 24mX "+l"LU*_g'k>ΖtmӅqg W62#e\vwY-e}SnyMyMNgbtN1aI%H.fp_P]tu/ݽx<-үJ?ߋ{Y^u._Ve̙̙3꼉d?#[nE59uv ,ҥKy?MwfFQ~?2,mEc qRVJDQR+quxPi NZBUֿ)m8vTg4>^#}/Kj{ 6RuEO'#z;1 yȅqˌK 6a`K$aLcA¬sћ] ޫ~Lc 8(@aaȬbюq}RJLdjxhHt) :0ϽpP2߂~6$sFf^=biWWZE 6Wlaz[uڍmgGH8ʋ x>v>͸qr^.h}/ʕ+YhjwarVk׮e۶m&ӸoFY>Ø"}Lc4qXK$yѻQ r)f`[wZb-*H0Y/6|(CNl⃹o`.hX(>EVHi9ʉI`d{'i%ecH䒤Jt%-Vy8)N]hjb/jNߡ> u38A?f DfxO?@*E,1D#'nhs|3_Pu?(rKz>._CdI 3"9 4_l1)*l۩Y璠!Ak/͔η`unBK*GT4Hm]I$L D}1;Q(ZQL{iARvw1γnlDPB- ķj_nBO:eJZ6ڰ / [}&nI`00k,ΝT*| 2Vճ;tʾ}ۿ[ @~xbGi,ѳ6Pr)npx`"F>vux=fsl%V/|Ķ px=? ,zib;q߂nhN$p00M]47ZT3q DV抬<8>} H!+)(S׏1ܱ;e_f觡fuRMm_u՟1dX؉8#T,Okm[;6gò;>,x1H:Yqte)hh) ie 5Z6a3]#ѶCoWWR󸛆כu[;!{>+qtSʗuId'EA5? uWxqP0ޔSE>+ifTSտ=H$g}ƾ}zd2N:ž}xY`AVBX$aȐ!ر &L1Hdhmmeر:u*~|TۓٍX3v,j.]Ȯ7j?gXkߙ3uX*]tƛAJ(({nړm4!eEwn]H)CG+ncgTTJ彝H.K GeK-mzf3O >#z%whaė0wI$tCXP IZ? :ʔp"jd=˕( !- 'eX?!ry7*)eqF3RuG+s^dvWu4S8Dg^~w+nSP{8)!nEZ-JL7QchK'ה('l:{ %s89|>_ڗor{A_: hh4Bkk+b1ZZZt : HÇ-l$|7jp|ф=T+fH'x϶d ԚIM4YPJ43s^:;Q礂yh~1*+!e6Fs9Em_M7!}cdr tHlI4A:;P8Cӛ2Tš8K>.<ΔS0)0<}I7J04d$ J5 m_/T*U֛͛/_$)+\uOer Æ K2>霱fyzgS|/bqu&N֦PPl`!i_r8% 5)zZh띨 44X"! (!}| z w,5;qOԕ*J[C'A}ӧOϢ2dHsSc۶m۷HuWu2IwYdm.SVlJUzsffux;x7b0g#^bw/ItlKnnZv)e5`2O4Q0ވ㐋C}O.W?,UI)_l!вAGNHK X1[45!?ƻ{hq>+m{;S50י c8PH$I$'MYAp#5gHͨ?溶i}9E(1!bBrjM댇f7}DK3Q&pT{-"D;ȑ#9|׮=x oBIdAW^eԉY+ORn72͇/呟CNc{."噌vu@\gV6_z̀ G]~}D2,U}:Z (| IDATw3h#AYօN]H֦&Σ.%JŽH+7[D1ڶ Cm@8eyM*K $%dC^ad4-w$c!#m[!XT|qWRN+!G,1PM]*f9$TaAB 7:HQckp:tttp%,KҬ댄eϡC1bX,: xxҬCV̼'SwtEFNp.?]$uxH~=4ƣ9@G^u`-+︛0ܱM?+u1kOjMy vE#1DI#.J_mG"yIbagU`[@KǤF 4Q)xILިD*A[q̍)Hd*)eK4jjVU(]/4" )[\tԬfo`mS$ H$'DWFBm&*)KJpvvKrpMmR0 b3ujQ&%gM.ÑHDB0Uh=F+݇z˗/STTd<̙3k뙸nlo3f k׮失|KW^ex $gA*;)23fZ:/_ sYC?=1ᾋf8#h=xN~D+Q {-M8>}ihNӟ`=9'2n k>s 1JWUuyJI^HdE—O18DsKVѸpX0u#LEb]"JPp%Lǹx(d^sn8Oy@(RŘh0JӚV-A)yh'GU!7ʐHE\Ux"; omq` H$"߸JI7$ {n~X,޽;5?<7ndɒ%Y>]nV$ | 3GnuP B!0rH(܄FBU͘,z+~MDQY_?ߛׯ~/v{xfջhE?*SzA>@IdBb~qKs&`e4>#_8[q|R>܈;Bƶv8 gP,1![:Iւ$]Rk,$6DY,]%A"#A8e5QWVNo%dqvqWF_\ p6jQfb/ݺQ73326dZP{ Zﷁ6L¹SYY~AEX7jTp8:u*۶m ݎŒm6 @DoI.ftŠLib[OaC BɄissdUK"}"&rN֠BRpX2!wT7j5 4|!~n47XT#tяPZ߾0Mr (_>q½h ;ĆBEm8,KhKX4*GtV0Έ vQq1ϒa+%%p񹃢;͘Fg6G]ys%f o_>G!^1}.L鏧Db.t]#Se%sEE'(EeJ:,+]P$I"}΃U? -\{.SY7+b1q"; j&Hӧy[M&hkzF3}Hfov<\NPȘiZhWu͢USA C!k&R3 ӏq" 0M_й%ZI#T3_;~l=`̳EnȔFνFtzaB1ֵ `ta㸋ۑe"?3LV% 1Oq;abs@N}99JE"D~PRQ4i^{Mapr8,2JDj"O%X@r3q˔eA\ <'m+1!YŵlVv4dT,[H1HrV,{ӧOWUUq\|p8̬Yp(#[Xڙu_j>?%` ]tsn:ٳ8tnEas6"._@gxV`\a|4nyC<#R4ɼQWQ#ShNRY pH8#;;<9c]zpiFb{gw0dL 2go"޿yځ3~vjHZFJqߌs&ޠ /copH:=+ (Reի+GnOsS#QuyO$_ix^![bhc%2 'Ib󋑩mTX,dƌ!vw\] vxyn>8N[cg'>&[k;38e ->yrXt x-:{Lg=7݈9c;;`|=fW\T,+NoӣPѼކy2QwpRJrkFqTIͣɄ'J(\ECX$}W'K^ʗ>*jVW`Aˍ/-AGX7őIeA|f)I%ib5jj:fu%֏l4ْ_ojړ>f ,7 2G}vzs[OWDv7QOX@@Gc9_mE6D#eYn"$ wTizJ=}g .GYGoo9+/\cmF0dĉYn-{X_#=5(i7f,Fo⑧f$-oj` #'+>̱ |h9|@Frn>4#ozpWeqH!UfʀBp~NVyހz$ 5!՚W®&HUG\2:qX]jBh<}يfqPx.1(=:-Jr S 01б)rRJX։~l8c~w-O-:.KB1ʗ/:.90+Uf,sUpnpJvFbCH 7![s^vnĉq8 -:vc(\.O w:t( ,`ԨQHR әoϐh9skYeVGv^;3ܶN-άۣ.0rrbEkYؚ:Qk ]nsXX<=:få ~-<2lLaC|?"H1&߉Ln*SRHY^MʇhxY/eJz*.к;Aʖ#ii4ie9y0 ա*UҴO˕ԬȉL4U*Zp_j#SIY]< bR*R:ςWlL.@7P#;RՕhJNFCbMqӠ|?UOnNݫMi>~u쫷&ס\HK4Z:tĐ B]R?mjjbh4̙̜9+=l_iӦ1u/Խ |*ѓRV]U摧"-} )ctWD7 46X_Xr2oT+X:x}Q ,]W4݊u_?98Wjq|2!^E<[B1Z?nWd)m}sg4Pɱ<1>{Lu)sDC6Apû pqgv?.1PYa*-q+M@Q gE3D;V"(ES 겇-P) XN*slS8Z}GGaY:;pk#mjc3K˃m>91d aͨtN'?񏩭`0p~^xfΜ7={CjMp 8u ̾?S} VC2nkCm.(}Sf$\'#~ ~δ 0`D%zq5~T|]=ugp݀iè?M 挭@KaY}C[-N3S0l$=nhQc Jg}Eae%H}trRjsMh돿jE9M@GC6nï7JfO(/vUi0߭_({HR C8OȞ6Ŕ%rk~FQ*h|NJ|4/'C"P4ՌZCˆVdJ) >-H-o`b"$g>|x㾩n"zt#gϞҥKB!NSO=ǿfGy0Ju afԵl0%;gM.ٸsǜFAoJn8Ӳ~ދTL[4*Jش̓Zc_1]|`kAwS|be?q.*)Ҡ}3que1fU,Rf&U*cW`]jiOD*pR_do!F+ eJP(sћ.WQv^J"P0աCUeM\o^T,,DC?]ܝ<ΔL@F?5۰ DMt97̒ùqZG\b9ʗp B!G,@&E#@߿wrp:'?WT---?iӦ% Aba!U'\DB(JC9w22N[N GUL?"]c ؟{{/2qȺ |m?Ā骄h$Ɩ7[0^iwbԔ̪5p]vsKrub&:>go#DC\LXn /({z;QEn &QUU?+> tK:SAR N@" 6$2 R%^| 0b#S"[v@oW] +S0iU! Ĩz4c(14cMVFim+QoPwPEJ tpCOl#aֵuGzHTFg [$vԥ*®?رG0L>mafn:֬YC0DRQRR|ٳYr%3f LK1iHLA[]|OL$' ~_C(^֠FgP5ik\b`œ0 :tF J88n)Ă><'lQՌI&X8Ă~̳V!UwkubxwnIS2yo{;]5 D~G,]hɾ|MI-2m)[]zQVeXvpw#ĺo~%&AEY6u IZΜ !ex9prS>1,P4NMA*/K*"ND6ԥJ^h4)ۼXGYIw<<\.={6?O{r6{wLnܹhZV^ߟbgfƍ I;j}t~<'- Է IDATr~8ڞQkL. ">1I ao̺|nwG{hTaby^w`">ƀa=H$RRq9fXǞQXLd FL+lIT{oEY$dQ<'`. a3\''P$Jl~ % -tpo P$w5vi^߆\/lL")_ٲ0hsj w}!֏l]~m6,9:=D8.}ےUa' ʬӼ*݆&RY7k#m„ 7B4~{gOL.JC1p@ Y~}F<Ç{<TDM d?Nx;shF%xFb>t{uux~9+)R!" uq.ҲIoXD8]e˶xFwL4&&{}ds~VO⻸-G~PCn)o #SITz P2YJ$"BGoSO [N,se`}hjj_f y{i|JL9> ȍ2m4mz*(}KÛy\:}K%RQ79|Ȅ8d^Q4q7yA3H?1@U QORB&;MatQq~^Netwp%[p9FHIcAM}z7p[Rɇ~~x &MĦM܉7xǣG|rǺuя~Ć T _&A zD"r9:F+ͺPH(ʀ5U͵v\^ߞ8&p(ˌ54㘦k6| 0ibJ, %2 3 6$r)rb]Z$b]SBTȥ4R|"K"[\j?l{G#Pp{ /oJ(OrWSXj Xw9Λ4o#' `ݟw<ټb(ν#7W`,Trs6!F58E@" B\lR bM@Dd \E,3֍vj }V\HFd5m mN+㫽mx(  DH$L +TIvymvHDdQhïz8ވb7=LB"4?h<Θ\N|Žg0QB!\.WI#+Njw,QFzj&Ǒ3z .d…i_˕l_y^O*i z^H %Dݻ7kr3kv#u2|SP3us{}>Esm;{ Og+yhoٌfD /̿>˒#DB8>{#U{ڄ8MR4U*4֜*֍mxsJʒg=D._kNfE, TPG6dz95߫L 'ThPt/ n*V&%]TѲ ϳ$[iɢM$.fu0-a hN+tG],w$ r c UG(*"Xib|i1W_{Lx*଼lqCv=:?B-[GPNn6<[,^9%l^\ѵַS5zAEkC]'ff(0>|q#' dVe`"~|?Q 1qf7|aOjl˛(,5@D=HӁDv㖦 G}.{_GQ{-p{M۩:Sk;(3kf4]Bf0ޫh6Iv}cov78I6Nsb lU;ui4Fǫi1ܓ眜3zI7eR$6<)C/Ԅ >WTd 2`D -ʑi&:qۺm'OJ@Q5hդNF@gG܊& N>jwa u~qހ(Bmr<tN9rg _?Cuz/nG|Rd) 2|?Qm:&ax2<5̋v2LLhO&SHπ̅L9# @6#uIY5kYA\E{uݜ,8E~Rv(ew(EG! y(kڂFpR)FwL#DTTѫ;ݳR\(1 !S*!3$ѺA_pIy 78P:mMm;Ӎ6E{TYu}ud*NIZ1.}nJ)-g*IҮ? xL@wڧqчp=8%^JGkc+45囍@ƂT:X2)2"7mM~ZTG 5}u3įmxaNc~)/CӟW#[o0~xT*B,kP7b4#gC+н{kg3c%ܭgtj2s`әw]A&Q3H'{֟[h58ln58hݓ>(:c߬bǓGL=1ZjE3 ]m/ `׃č{! glW<CiȔݫ6j7 S:ۀ7@12- &t=f`hgc 8o-;s3 !߄Q˙ư`kUn PIlPB~ȴU6͉<^qYf:PRTn4nh>byTOhFRg&`ci?UVO7::X>ةSٳ'ݻ'Jl6CUU̇~?O݂+Fl5fg7Á5COaF% n;ҙONйg=;g^~b .j ]@gbm.Vgݠs QXvX8. uFwF/kwAh<_c qc_FmfE+0xQ}YLXN534޴a[K8b1N7GZ 1]zw-q $m;Hi$n\ -:btݦꝵ 4H,!.wul^oOm&/f `oxbF^,z=IΝV?kۍ%:Zk5?}#Fa(//x_ay||W2`\w f^)GgА99߅ȣ6EJk//po3~@5(U7 Wq! JjF+ܽRi躏@0_܀ICPHn@!n R{{I;X碉ʈ|SuGk c~J_gi9X.[)JN$ւ3}fU_?(榵"51l]%r3JTXu^ I}'#<;JyVVMڜZy˲PNZnSNZe*DkƘD7Gaö;vh^\.,{]fkL{lL$6>b̙ާNp'ˎi;Xⷙ;1č~Q-Km 5S ;qH< "K+l-| `[C1 wwM2w*pyqVI%R 4 JRKǕ&* Jdu9%k*p^)`bUtxQ(Y#JTmἅӉ TO \Un^1Vt=p/ \NCVxhlljvC_u=-]x g՜8qwJyC$'ulmw.aaa0rF5A)p o nsH'Bm&/PtRAR/YEvTҲEd=im4Qƣg`O}fJM1"cRFtj8e.Q@Oiy0p=MFXW(!E7Q*}BKEZBq_Äk|ւ펃a4^pn2IjGt=7L7yʭF25d-Ok7[M:5 -;囪kh35\;s|>n;D pD_i>+W7I^^^h^S1n@&D,%4^\5<4 )FCԁ؃?1wjbtMd.N uM)GJ#(=QN||<^C^/LN#&&&744:4H1nK1æM$.b,Xӵ4ae"[9r:I$EVKM&csoE M5 nkԼsmLzNrM]u#ŵEr۽+e*:~;.3IΐZ>8`'c;mZK]L"flF-z~%̭DK".ZS`l]8ʝsEFD/}'-_cPT IDATwcf*!eJj=n>җ~\\h|c5 cI OUF+ZFTf8(iXoK#>NiYd$ 4 JtZl}.+3c yԔ|\\z rU+G *'J R|>2," Qx걍ig?f|;*9sLVqݡ=34#kvR;8M r;f{621DehXM uV14Td,J+DhǒH6+/((t[L2ƣ҈#|Vh߸05"K&!d7(a1 \|nUۛ@4=\O¨85nC 6$a_nb']& q ѨT* zq/,?2yBN S9M$G}∇9}| 2RRZ{MڿA0|Wб{/@gOptV.H!#誸r*n](!> 9n<) $ѥ=Wp>#Jb^K0eiDLMɋs;JJ۶|zI}ѨJ͐I{\ƅalt]_evN>;x+q đȤ`|܈c} u6YȜy{[A&g$u#h3Hd dlDjqy;v*?7y]#$'sQ((Y(p|>4 zJ>$c^ Qm(rSg$R&XФ=,ʛU1JSA T(,Z?@ŽE$'KhBwcn zo࿃cXfs[χr~F a2|lslVֽv c,bĴc0UQiaw@g{ak4Xgl2r6/vI]e7Jrb[ͤd&pt%M\Y!:;>N=[Lߢ郞5r^.ǜ%TQoD*ߺPL|ҥ틥dƯ^urk.q_ANjw!sd^7Ϋk̫Y# JXO4Pq%iw6]t{gh4T05)ٚs&UkФ*+=kM񒕲uUl /nS&%͊bK5 k7Z@LQKL0aM_&sqQilT~a$~hle .ZI r;Mс:Ar݆Qq<-,x pv:!;GBǂ S2oӽ{wL@ф6Aq\ZZ/VonFΘψsgdz6Di| ?!ӭ@[%wn7?`ޫ%KxmkՏ9x$ݞhTyՅlXZBncBN#ç"&^5D\8rq|t)Q~>~-NJV nA;?[!^ڵ$əq,vdǻWx;E4ͯcp+ sPF'c- QiRg%i,wQ}W1Tg$i#:l5A'䉉zȺjT}QCIi8kc6UI(4r7m#~HH?7x̭A^R0k;F2)1lmZKNџ7mVstMY_ O>&wlqz5~YAZqI.@9HC ӂ J5>>>T=7_ ?ODEEpзghlp&#C'DPp17cg/bIhMFͩ;|p~#'޵K3k!N&d56q /[Š$ ~ 3t/~D>2q>Ղ@;E`p4!$C]"~{p+'QGкB3u;6U6fpmčyMFw߇7 򌘑N,Gٺ*F D#t4"_ S,ԇKU@G&}^C_z4ImGw! ХONMnqRrLjR7w1Qhj1#nZeG\>&贻Osy"& ߻RίyEܖerەud/Ѿ*ً=u.:v?ydVLvQ$ej1=UH yb"qKHpB:TJ2}x펝=&T*1s`m"np BB){HqTk!71a2,@ǃB&V1 OBe_W}]>|8 mYNc,/e\b&[Bfp1L#z>w\>.aS0qR ;>T>ʩ#L1Hewoҭ~>{޽+9RzRb| Ǻy4ŷumUT>e#%:j*xMBp&Q*఺[8lnn(%CCxXw}@6%KG\A]އ, {4y'یD?'-'Y4ﮧ*W٦NO$%4'ZI!@e+IOliGwn%ihR5EIg䉉[]2- u5ݤLMlai!1;+0:=rCRD+x}DehP=UbA*$u6ZZ6YAZYKY <ϓ[}#w]كN?fic~~>zڵkywBcȝ;wx篟rlVҳ~#sIN3l çaIhZU9G6#+SfQr&wpD]zcONtLF3qd5Ռgzb ,?Go\C[,]feocf?OzX\]dҹWf8Oa]*(Y5V16sV`lu PSnv5 1XbMFQqb1_Dz=m\S]V>&!"1-rw '{_(uC\< _'2҅N΅Y8&$1xt8kLyAQĕSE,I[4ژAqs vR*)0+oc9:3iSj01!SYjŠIRCbIhJ }v2"k6ܻa[)4P_@d\a:T1,xMe+uG̡g꼚2hI))Yo٩W+A@Ps1x9Ojg-=,JJJx?ϙ}sNڵ+v">>nݺ̍GĉillG#87s1v$gt s|!'q6ٝ+={W.p$o3l:#eEtzworj_T15o+9c WOߨtދN#>= ߇ja%.'WNދ"g!npyܧd1ҭ-bU%qhN?x{2F|TLh|CT ̍J N7~N_*vL"C?8Ԕ">/C;4rID*T*_@ݎ"M&#~h,Q*s拯#sIQmdd2.&,8J(4^h +MZkH}"8>욠MU m[ jz^T*Zz6nHCC7nݻ 6pۭ O>П)//ot &Mⷿ-))):ĻKee%/fh4<j_Q7v?_flFNhHĘ (y{ojF͘~!ݚ`艡á/>%oyL\$2oe~`-Y]R"*5VA p= 77JtB pB)'93k>|@z?ҫ C2Omb `q~d.i7]+roT J{@&Іx&㉣sPVaAAk~ CF@lg7XQRYO TtY34Ij_(E|*ڌxюt5\<);=U P i~z/7n$::ݻIJښ>IXA#{r9jO2)S`6Xd ټK92Dڵ+wٲe 5߿CMy u&3TYFၝ+؇cP.'w.]Ledvꆲfi\>6Px`']bܜE(U*4Z>?d)%J@u*J\J نNz:nqA3*[7\T7'NOBEKJ>l7BhE/j$tzo(S=~+$YKddd`CtIHBvc;vS{ѥKϧNc{A.-Ӿo3~x,=zȑ#mvZW\a2}t-[FZZ}đ(F͜GұK:y&#н3ar.mXV̰)HLIs8_H9}.GMDą|\9u#;p(F=A`#v{N=3"*r_v]1vTBwC!$ѯU lQz,Y @3 z&}rU Fw%y(tRerf~kqV6Aq21ǸOhN~B}KFӴrṶAEd,zˎq_-IciAGT牾 iPC8)$GZH-ʭCOҸI'r~דH|tޝCСC]oH!//O>ϲe˘9s&rT#)SzTnA"ej"j.]a*j9sDFMQ N?U;L!mp) HƔֆ#[v(ݱs.ƌ &n޴Z-A\z+ N:źu(..fѢEO B= gϞeW_^u݋^g͚5 (=~UQQ'|B^^ bK2Gx<DuY1fc\b2ʍs'97s#eȤDrqm˸>{ܛ˩}yrFNˈsԕ{8c wo#%3q9i31fN6Ʋzn}V) M nY֞c4G ||.REC"$|^.:™jY^|ɓ]KT^DL~8 C҄xEm]R'[MEwb@W11IM+]]ASrDa#sf'!V l#qB/Z;nݿCu Un7]>+֏|,Ȇ سgC aʕ (?EX p >#?>?<111aSJEqq1?݇۹Ӂ.: 1v$Hj@1@c FðɳxF^e(u,zI$CBXسqsH,CkrSesUqp91Y~z܎Nl,졛ᬈ\-KG=qv9:q_H! e~N?1;n&qTbTrr9ɣyPk &-Xs}$3@@`1|jo:vL lc>VȐ*eF IDAT'Jl˹~{SY\;}=T)~]{0r={fV+K,!'''t:RT\z{73{2~RN)h'rj&LƄK3yR:JKCm 9}p75%$gaKHCm ^D6 I<7h8^ 1QDhDq`zij?Ș9!la6nR&ɕSw7~8bRO9h;ە8b?3p^|O,؋T2߀:IE:?, D@9PIzN2.G\'6B i[!Z҄bÏq OzNg/}p@&$~|嫪  lxBh#GXv-,Y%K+K|Y`O+VWWS]]Ml 4۷f/~ f3cyN555[?^z|r:uāBQDoWsyMɸ moD>NJo_HfNNVgpnC1!gc0E `5ؼνl!- 4֙hSe9>X-q:cchiQS^ϴe2JnWsr"Lfֽ}TA-?& Rk|5"ufriP O :zS$?|,sQkDS} j:bzG4&MG(M޹w@xP˹ziii{\hn7~(\UUN~z<رcYj={|,'3Nm]__qw?~è8jď_MVUХwz~#ǷhZ}215)`Sv6)dwλ|l/0,z:nJbx\^\7Z}] ,Y1$艉c!Wއ vȵ,Ou GעN놻3IprMUJ+! oMZ]'-J7Q)jݫ Lh6zP%\m?+6HDlqC#6 aDsK#ykB@Rv~Q(,\z,)q׈O?3n8]Fvvv(G"{G:twyK2m4Yn:_|)S -Ν3н`]Q~n;ɽ9bԌyt;s4o3>90z )i86~.8̴2x@/~\d7@jhmgi0H[cеoَlD&T1# )1'ux{ pc=+Cw0$aU,.Z;b&i8dMј;er+uIKI>/E"O-eqCb?وS':)ch4OoT`lEn{Zsj/n:]Yd W\aƍՋ_s1]Ƹqя~ļy󈏏{as=x5kְo>FK/D׮]%_ˏ)G6Sq.Ek$f2j\O!15&E.qdf dQZѾGduδVJ"$_)<#y$6K#yk~ː=8l.31XpJr]l֬q=OX*5 ~/֋{q^!c}'T6gm[*25+֚eJRg&l䍗ԓ25s싶e4e]e,q\b]uS[K T|DEe+u" .ˀiOZyziżGZNOZ?sSʦm>݈ :DԂX~=ve˖h"_~` b o~$&&wyǶH[ 6i&:u>|xh=r#.ȧ߈q\}y\8r.1j|OUWrlV؂RbE8VliKVspdm-.Y/&[tptǧ\>:|Y! 5]S[vy?r~P%?COHڬd4)jw.Dvvv뾊ĩU*~z=ʔ)SXr%]v}b9Of<{qƎK߾}C~CxbJKKK˗/zjΜ9Ì3XtiNlOEw1p{<ۯmj5έ4ҭ@G>%~6}Lɝ,xMmTܿ˴%$ƀO_{Xg&+pC OX/CLElYϋ۸M =O7<)C/}i.sM:s[wml%OC[Eۍ:d er#LL;F1-B|֖ьd۶ml޼$V\ԩS '3NnwxG-[ƌ3x0͛7rb62:ue\bMENÜؽkgOgF͘Gùx GwlmFNKVewԾ<1X^B3gwH0/ZKeq-K>=O)wlRrOܣYLv3SIR6; JCFR5bFk.3BŠVLLIІ7, ;]T噈׶4Űՠ)HqoT "$0c` 2$!|TWԞ>}uQTTĢEx饗F'Or'c2 v :0 ՟>ųduF[tٗQ33t 8%۱MNWN]l2`P2Frج5 !&Az6U4PqĢVo5lz Wn$c,ԇ$ oJKhi8;Ö[> wņwg./jw֒B40HIA"gQkB.b-p `fpV1# %D5 u^ 1IuYWzhf 4+W2x'v|Ai(A8v}<`!G:ٻ;d2,f9k/sϾn_:K!#I tB Y #>g^O3HΔZY}jffEo]zgr?y=B/;@Ƽ6{jI*^IZHvWweg>/# .˲e@Q36禠͌SCz4H%{%#B/X=n&yBEH#GukSسg~) |ВAi+ʦMذa,_qƅ>-.\޹xyߝRr1lP EhslbcLfc_cʡ,-BԨIR:wѺ&w1Q}_s_]zzGSw{Gy`ȔӇq!:ucyy P^LIbd${!``@jb6yy]@]Hϵ͗Vp?_FmA]-KfWg4wF@A=S@Ή|drqiV-M6*af9SbфεC,AULx4;k?5翣VSNmUj۶mDGGƴih۶Ϋ}40c ߏ5W\`lڴ+?c\\;> bcc رc :oooZn]mM__>#;xoK]^ZJ@"BDv>ч|ų:ԨP^S?J;TvgnNSۚ3TJ5ozF~S;xk"_ILFr ,+[[ӨJR =i:v dΡB&-ha[g|725)!TT`˜_Tn0}}}r9jZ:bQQvb׮]iFy}㘙1uTbq,XT*%ᝒFIII kadd۷Y?~ r@1[ZI]͹ȃtqv9SQ?Vhב+gj]<H#RE9# zM >zL4O $&&jmc`` YŋӫW/իtYfl}?[x?]HINSۖ t˄7`/ϵgzp _ XNN ]hJv,~53Ƚ2; n?Sz]7 Nf)vK%W\*YJ+j^f֧%{3+F5BCơŲOTmɎ#iK«dE`/oڌ+E>C+{MELMsC 55o455ۄڵki߾=3gd֬YBhQ}p֭[GϞ=%??摙ɓ̙3 7nے˾#*/8 Ų59YP(_Aj ođBVmns>2Ư,WIOM;bamtr3 9+ӖjZ nV-iH6/RYN 2 mfpi3Fֆ H$rR@P~2NVXҔ+"(א/R_ګ9'F9,RDT̻q)ܪܒ Q*Ghh(ƍwߥO>gb >/tZHLLdԨQעLYt)iii())a׮]aff7C 144$66u8#62h'<#z tW`RœG=EA?߱YT_ίk`gM5_J[~ɠi,P榒w$Mi͝-S^+HۛkS$mO&z(T3zȽm%B=S@yfQکw;S捗.]"00˗/3fNJ-}:B}PXk 6oqttۛ;j%CeM t(֭:W'3'4v~)/BԶ%VֶXZbem\*RfɘU.\&N6B#(-"%ca)N2u7֗r~'tzrZMo[<"r)Ry73&Ш+jڼl uP7lM^Vyf| #Lq+ 146I3k4ª9g"od{\S!ӱz)OD0&zE%d.ʯZZ{sJvTsJn֨<5O t ޔ/iD)4sa(,,dxxxиxO}űc???"##x"2bc:Րe턄СCIxԣ*K.8}'=۝¼nAHGK$GAԾ]-e/&fja>ٙdN(+*2v2gv5kEnFn պK )8=BCl*A\P`;R[Zes;H) +ʘ߭13t"6d~kWxc*'׫*"&c2Y UbBJEa~!uoM+F6ÕM$mG7QLbWj>$to֤SkhhHII {%$$+++OßED=HQ3eeem6d2'O\eRRRX #FwqP"Cwr|nLd`$n%qrӘڽqO/yDafBge)<#_(+ S"\Cٔg[c==ۥKB: vmJRJnrho}ʩ(c;+Խ_%Ef5Y4ʃ}ҽ@z"7YKAtx'^'IDATȘČ>ՈUiCYi ggg 1Xk-B_i>)cmzjҩh4/l߾J% YȩW)i>Rky\.'2279gf֬YXYY=؉C5%7`Ν̛71cpBCCiӦ 6l@Vk=lѣƑBbccڵӒPh, CQ^^Έ#Xbnݺ[neddHy666ddd)2}pBrss FPΒ%KqQ^^>YʵK |>?ONB&p= ߣOra,6U\9}ca;)).~qϒP)+NO!B4枟/0m,[2OIBMh4STTB@&ajjJNNWfС9r+WÖ-[#--aO#.)LFppp`ٲeу_ 6Djj*zzz9W*5;<<<8}47nd  =z`Ϟ=T*VZѣ|׬Y6o̚5k2dnҒAXz26}CBP<Ƌϖe9UB3/^fZl٠qM3{QQQ!;w$ pW[SZ]xnGǎmH vڅ+Wk׮@_4}EG֭[pœ 2m4:ĪU8<Æ /iii4n\Nii)lx)bR{2v; UХEyϤP~OaѴsӰdt;Ϲi׵;!?ɣ| n^ەallB@)eeelڴÇ7NwߥUVOxה'aaaR]dd$}B PyJSZ@Hff&/2sΥsh"̸vÇg…ZQF3iҤj+VOOO%eP:trrrd̘1h峖A !=9c4N](S`=,¼lGqME98q?JdhO>狭9B`` L4 OO'FhuMU9aQ\\̰aظq#ݺuի|?_~ZiDEET-)B^Kؾ};ː!CXp!7oFPtZnQQ'O$11ooo$y֭k׎Ajn4# tԉ)SЯ_?)N߄}vѤ r̠ўt3@Kx k)’-e87_vz`IIIbkk+m+//'""ggJ\|9;v{k1gΜj3O̜9RrM6qYGyeeeݻm۶ɓ>r!CCCY~+;Q84jlΩ0$?;Yo^+BOOh?$kk>F*x7fŊѶmۿ=nU;R)IWK5K4wǪY~t޽OǎEPХKeeeKX066fĉL8$lڵkׯtRIii)|d.Ksm}ұ[/>_T/B!5";;[իs_l;?s/v"==K.qMڶmKIIT\U_zzzWp綧4P<:tZL&~&OL;w./_~y̛7O'11OOO͛gyڵ=== ~h4DEEOrr$cffV]UiHwj4پ};L2c֛L}DV\Iqq10~x.]JϞ=5j{U RɫU(Ə?(/G>N9R򂫌˗/t֍qpEeܸqT]T*ԼEn}sUZȍ7Ċ+DnļyT!DWݳgO-IIIն]vMU;υƍ{zao&,X 6l jXzxő#G B=ݢ"w߉QFIF!f̘! ELLHKKJ~v횸}UBZ"XڴiSm*KbE`` &&&DGGSVVH燙 .|w_̝;f͚ٹs'| nnnTTT0~xj5ׯ_ٙR/_N5xhj_8EÿZ-JemFTjۧ~*.]*}m6iBPHsqq߿!ܹ*|UnܸL&Vr"f׮]2ei"##zE~9rS_8x:k,Iߟ#Fg隸z* ,Ύ~;vY\r|||XpVRɪU8t۷g޼yΏաIg޼yѴiSر#FFFղ SSz]O ]tsάZ?>K,ʕ+|7޽{###juo>Uެ60tZg%""VZѧOH e::OWǓEtt4:u]v0q{@RI:3:$)))Inݚ7f}[D}_xAzA&\7OfCSEPIԡ] s@gLN&8sB%=_qCǃСCcD^СCLjСCc uv =IENDB`cobrapy-0.4.0b6/documentation_builder/pymatbridge.ipynb000066400000000000000000000115751263606473700233620ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "# Using the COBRA toolbox with cobrapy\n", "\n", "This example demonstrates using COBRA toolbox commands in MATLAB from python through [pymatbridge](http://arokem.github.io/python-matlab-bridge/)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting MATLAB on ZMQ socket ipc:///tmp/pymatbridge-39fd5b7f-475a-40d3-b831-3adf4da6edd3\n", "Send 'exit' command to kill the server\n", "....MATLAB started and connected!\n" ] } ], "source": [ "%load_ext pymatbridge" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import cobra.test\n", "m = cobra.test.create_test_model(\"textbook\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The model_to_pymatbridge function will send the model to the workspace with the given variable name." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from cobra.io.mat import model_to_pymatbridge\n", "model_to_pymatbridge(m, variable_name=\"model\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now in the MATLAB workspace, the variable name 'model' holds a COBRA toolbox struct encoding the model." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\n", "model = \n", "\n", " rev: [95x1 double]\n", " metNames: {72x1 cell}\n", " b: [72x1 double]\n", " c: [95x1 double]\n", " csense: [72x1 char]\n", " genes: {137x1 cell}\n", " metFormulas: {72x1 cell}\n", " rxns: {95x1 cell}\n", " grRules: {95x1 cell}\n", " rxnNames: {95x1 cell}\n", " description: [8x1 char]\n", " S: [72x95 double]\n", " ub: [95x1 double]\n", " lb: [95x1 double]\n", " mets: {72x1 cell}\n", " subSystems: {95x1 cell}\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%matlab\n", "model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we have to initialize the COBRA toolbox in MATLAB." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%%matlab --silent\n", "warning('off'); % this works around a pymatbridge bug\n", "addpath(genpath('~/cobratoolbox/'));\n", "initCobraToolbox();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Commands from the COBRA toolbox can now be run on the model" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\n", "ans = \n", "\n", " x: [95x1 double]\n", " f: 0.8739\n", " y: [71x1 double]\n", " w: [95x1 double]\n", " stat: 1\n", " origStat: 5\n", " solver: 'glpk'\n", " time: 0.2327\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%matlab\n", "optimizeCbModel(model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "FBA in the COBRA toolbox should give the same result as cobrapy" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 5 µs, sys: 0 ns, total: 5 µs\n", "Wall time: 10 µs\n" ] }, { "data": { "text/plain": [ "0.8739215069684305" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%time\n", "m.optimize().f" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/pymatbridge.rst000066400000000000000000000045271263606473700230500ustar00rootroot00000000000000 Using the COBRA toolbox with cobrapy ==================================== This example demonstrates using COBRA toolbox commands in MATLAB from python through `pymatbridge `__. .. code:: python %load_ext pymatbridge .. parsed-literal:: Starting MATLAB on ZMQ socket ipc:///tmp/pymatbridge-39fd5b7f-475a-40d3-b831-3adf4da6edd3 Send 'exit' command to kill the server ....MATLAB started and connected! .. code:: python import cobra.test m = cobra.test.create_test_model("textbook") The model\_to\_pymatbridge function will send the model to the workspace with the given variable name. .. code:: python from cobra.io.mat import model_to_pymatbridge model_to_pymatbridge(m, variable_name="model") Now in the MATLAB workspace, the variable name 'model' holds a COBRA toolbox struct encoding the model. .. code:: python %%matlab model .. parsed-literal:: model = rev: [95x1 double] metNames: {72x1 cell} b: [72x1 double] c: [95x1 double] csense: [72x1 char] genes: {137x1 cell} metFormulas: {72x1 cell} rxns: {95x1 cell} grRules: {95x1 cell} rxnNames: {95x1 cell} description: [8x1 char] S: [72x95 double] ub: [95x1 double] lb: [95x1 double] mets: {72x1 cell} subSystems: {95x1 cell} First, we have to initialize the COBRA toolbox in MATLAB. .. code:: python %%matlab --silent warning('off'); % this works around a pymatbridge bug addpath(genpath('~/cobratoolbox/')); initCobraToolbox(); Commands from the COBRA toolbox can now be run on the model .. code:: python %%matlab optimizeCbModel(model) .. parsed-literal:: ans = x: [95x1 double] f: 0.8739 y: [71x1 double] w: [95x1 double] stat: 1 origStat: 5 solver: 'glpk' time: 0.2327 FBA in the COBRA toolbox should give the same result as cobrapy .. code:: python %time m.optimize().f .. parsed-literal:: CPU times: user 5 µs, sys: 0 ns, total: 5 µs Wall time: 10 µs .. parsed-literal:: 0.8739215069684305 cobrapy-0.4.0b6/documentation_builder/qp.ipynb000066400000000000000000001474031263606473700214730ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Quadratic Programming\n", "\n", "Suppose we want to minimize the Euclidean distance of the solution to the origin while subject to linear constraints. This will require a quadratic objective function. Consider this example problem:\n", "\n", "> **min** $\\frac{1}{2}\\left(x^2 + y^2 \\right)$\n", "\n", "> *subject to*\n", "\n", "> $x + y = 2$\n", "\n", "> $x \\ge 0$\n", "\n", "> $y \\ge 0$\n", "\n", "This problem can be visualized graphically:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nOJFIJCri/wEmsoKFDrvf9gAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "from matplotlib.pyplot import figure, xlim, ylim\n", "from mpl_toolkits.axes_grid.axislines import SubplotZero\n", "from numpy import linspace, arange, sqrt, pi, sin, cos, sign\n", "# axis style\n", "def make_plot_ax():\n", " fig = figure(figsize=(6, 5));\n", " ax = SubplotZero(fig, 111); fig.add_subplot(ax)\n", " for direction in [\"xzero\", \"yzero\"]:\n", " ax.axis[direction].set_axisline_style(\"-|>\")\n", " ax.axis[direction].set_visible(True)\n", " for direction in [\"left\", \"right\", \"bottom\", \"top\"]:\n", " ax.axis[direction].set_visible(False)\n", " xlim(-0.1, 2.1); ylim(xlim())\n", " ticks = [0.5 * i for i in range(1, 5)]\n", " labels = [str(i) if i == int(i) else \"\" for i in ticks]\n", " ax.set_xticks(ticks); ax.set_yticks(ticks)\n", " ax.set_xticklabels(labels); ax.set_yticklabels(labels)\n", " ax.axis[\"yzero\"].set_axis_direction(\"left\")\n", " return ax\n", " \n", "ax = make_plot_ax()\n", "ax.plot((0, 2), (2, 0), 'b')\n", "ax.plot([1], [1], 'bo')\n", "\n", "# circular grid\n", "for r in sqrt(2.) + 0.125 * arange(-11, 6):\n", " t = linspace(0., pi/2., 100)\n", " ax.plot(r * cos(t), r * sin(t), '-.', color=\"gray\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The objective can be rewritten as $\\frac{1}{2} v^T \\cdot \\mathbf Q \\cdot v$, where\n", "$v = \\left(\\begin{matrix} x \\\\ y\\end{matrix} \\right)$ and\n", "$\\mathbf Q = \\left(\\begin{matrix} 1 & 0\\\\ 0 & 1 \\end{matrix}\\right)$\n", "\n", "The matrix $\\mathbf Q$ can be passed into a cobra model as the quadratic objective." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import scipy\n", "\n", "from cobra import Reaction, Metabolite, Model, solvers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The quadratic objective $\\mathbf Q$ should be formatted as a scipy sparse matrix." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "<2x2 sparse matrix of type ''\n", "\twith 2 stored elements in Dictionary Of Keys format>" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q = scipy.sparse.eye(2).todok()\n", "Q" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this case, the quadratic objective is simply the identity matrix" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "matrix([[ 1., 0.],\n", " [ 0., 1.]])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q.todense()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to use a solver that supports quadratic programming, such as gurobi or cplex. If a solver which supports quadratic programming is installed, this function will return its name." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gurobi\n" ] } ], "source": [ "print(solvers.get_solver_name(qp=True))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{'x': 1.0, 'y': 1.0}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c = Metabolite(\"c\")\n", "c._bound = 2\n", "x = Reaction(\"x\")\n", "y = Reaction(\"y\")\n", "x.add_metabolites({c: 1})\n", "y.add_metabolites({c: 1})\n", "m = Model()\n", "m.add_reactions([x, y])\n", "sol = m.optimize(quadratic_component=Q, objective_sense=\"minimize\")\n", "sol.x_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Suppose we change the problem to have a mixed linear and quadratic objective.\n", "\n", "> **min** $\\frac{1}{2}\\left(x^2 + y^2 \\right) - y$\n", "\n", "> *subject to*\n", "\n", "> $x + y = 2$\n", "\n", "> $x \\ge 0$\n", "\n", "> $y \\ge 0$\n", "\n", "Graphically, this would be" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = make_plot_ax()\n", "ax.plot((0, 2), (2, 0), 'b')\n", "ax.plot([0.5], [1.5], 'bo')\n", "\n", "yrange = linspace(1, 2, 11)\n", "for r in (yrange ** 2 / 2. - yrange):\n", " t = linspace(-sqrt(2 * r + 1) + 0.000001, sqrt(2 * r + 1) - 0.000001, 1000)\n", " ax.plot(abs(t), 1 + sqrt(2 * r + 1 - t ** 2) * sign(t), '-.', color=\"gray\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QP solvers in cobrapy will combine linear and quadratic coefficients. The linear portion will be obtained from the same objective_coefficient attribute used with LP's." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{'x': 0.5, 'y': 1.5}" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y.objective_coefficient = -1\n", "sol = m.optimize(quadratic_component=Q, objective_sense=\"minimize\")\n", "sol.x_dict" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/qp.rst000066400000000000000000000101531263606473700211510ustar00rootroot00000000000000 Quadratic Programming ===================== Suppose we want to minimize the Euclidean distance of the solution to the origin while subject to linear constraints. This will require a quadratic objective function. Consider this example problem: **min** :math:`\frac{1}{2}\left(x^2 + y^2 \right)` *subject to* :math:`x + y = 2` :math:`x \ge 0` :math:`y \ge 0` This problem can be visualized graphically: .. code:: python %matplotlib inline from matplotlib.pyplot import figure, xlim, ylim from mpl_toolkits.axes_grid.axislines import SubplotZero from numpy import linspace, arange, sqrt, pi, sin, cos, sign # axis style def make_plot_ax(): fig = figure(figsize=(6, 5)); ax = SubplotZero(fig, 111); fig.add_subplot(ax) for direction in ["xzero", "yzero"]: ax.axis[direction].set_axisline_style("-|>") ax.axis[direction].set_visible(True) for direction in ["left", "right", "bottom", "top"]: ax.axis[direction].set_visible(False) xlim(-0.1, 2.1); ylim(xlim()) ticks = [0.5 * i for i in range(1, 5)] labels = [str(i) if i == int(i) else "" for i in ticks] ax.set_xticks(ticks); ax.set_yticks(ticks) ax.set_xticklabels(labels); ax.set_yticklabels(labels) ax.axis["yzero"].set_axis_direction("left") return ax ax = make_plot_ax() ax.plot((0, 2), (2, 0), 'b') ax.plot([1], [1], 'bo') # circular grid for r in sqrt(2.) + 0.125 * arange(-11, 6): t = linspace(0., pi/2., 100) ax.plot(r * cos(t), r * sin(t), '-.', color="gray") .. image:: qp_files/qp_1_0.png The objective can be rewritten as :math:`\frac{1}{2} v^T \cdot \mathbf Q \cdot v`, where :math:`v = \left(\begin{matrix} x \\ y\end{matrix} \right)` and :math:`\mathbf Q = \left(\begin{matrix} 1 & 0\\ 0 & 1 \end{matrix}\right)` The matrix :math:`\mathbf Q` can be passed into a cobra model as the quadratic objective. .. code:: python import scipy from cobra import Reaction, Metabolite, Model, solvers The quadratic objective :math:`\mathbf Q` should be formatted as a scipy sparse matrix. .. code:: python Q = scipy.sparse.eye(2).todok() Q .. parsed-literal:: <2x2 sparse matrix of type '' with 2 stored elements in Dictionary Of Keys format> In this case, the quadratic objective is simply the identity matrix .. code:: python Q.todense() .. parsed-literal:: matrix([[ 1., 0.], [ 0., 1.]]) We need to use a solver that supports quadratic programming, such as gurobi or cplex. If a solver which supports quadratic programming is installed, this function will return its name. .. code:: python print(solvers.get_solver_name(qp=True)) .. parsed-literal:: gurobi .. code:: python c = Metabolite("c") c._bound = 2 x = Reaction("x") y = Reaction("y") x.add_metabolites({c: 1}) y.add_metabolites({c: 1}) m = Model() m.add_reactions([x, y]) sol = m.optimize(quadratic_component=Q, objective_sense="minimize") sol.x_dict .. parsed-literal:: {'x': 1.0, 'y': 1.0} Suppose we change the problem to have a mixed linear and quadratic objective. **min** :math:`\frac{1}{2}\left(x^2 + y^2 \right) - y` *subject to* :math:`x + y = 2` :math:`x \ge 0` :math:`y \ge 0` Graphically, this would be .. code:: python ax = make_plot_ax() ax.plot((0, 2), (2, 0), 'b') ax.plot([0.5], [1.5], 'bo') yrange = linspace(1, 2, 11) for r in (yrange ** 2 / 2. - yrange): t = linspace(-sqrt(2 * r + 1) + 0.000001, sqrt(2 * r + 1) - 0.000001, 1000) ax.plot(abs(t), 1 + sqrt(2 * r + 1 - t ** 2) * sign(t), '-.', color="gray") .. image:: qp_files/qp_12_0.png QP solvers in cobrapy will combine linear and quadratic coefficients. The linear portion will be obtained from the same objective\_coefficient attribute used with LP's. .. code:: python y.objective_coefficient = -1 sol = m.optimize(quadratic_component=Q, objective_sense="minimize") sol.x_dict .. parsed-literal:: {'x': 0.5, 'y': 1.5} cobrapy-0.4.0b6/documentation_builder/qp_files/000077500000000000000000000000001263606473700216015ustar00rootroot00000000000000cobrapy-0.4.0b6/documentation_builder/qp_files/qp_12_0.png000066400000000000000000000344111263606473700234530ustar00rootroot00000000000000PNG  IHDR`&\`J=sBIT|d pHYs  ~ IDATxyclA,c iD7eӹ7כٝpǩNn!LVȲGY]B!p76v2=!08*(̞Nh< ``G/J q#3B`\^`,Zh]]lN8cC9C`1ƚYƬZig;SK8Nt9zwfN|V'V|^ tX! $ƚܖg1:8=N-'`I z1vjxHݾ8?  zC136&& ɹ0/>(fvW^9KteJmI줻2UK偫%8?:7vSrncf?Kq$K%XxH?fvY}qt .bmeDUaܞ{~~"IN8tEkYaʔ^KsvoNIX{'3$k! gf/wq꣮22f*?ܤY891F#k%)i"WD$}8Su},؍hg.Y EI-:`f37O]Ϥ{"$崣CW-/jɟ=ŀ(fW௭%39pq+ wbƊvΙٳfvmuIKڹ$wsN3$i_)Z]R,c&wG̤6b {Nۚ?;8UۭOR'M7uJR^58MW"ιkU>C VI;k qzPC+JeGsb3̾mIr'qzZ $h4o ؐx>g %U&)]꺂x}JK΍3{XΚvW~-8A]u[Jz K)-Wf6˘[sWP93[HXG:188ώtuI]zg\l@n:Ik T#EHڮ.aq eh>V%Ma?qA]eh4:F,N\o9g'XGrH p;ٯ;8 j+C(kZKNJȾnfe| btν|X8&7K*<T8$HnrNu ̞T I2_VjꪂXͳ) i%IVX;F2s^2SlNuIZ,[i|6-ˮ8 S ,`fvO#f;8RNͤoiNZe*$mN?>*SBs^n7w,˚nt[9XTq9`Jtݍx1#Rb"p=tW#i9_ݲ,wI_-'C;NQPGy[njX!;vm3k}뛈b</q#৒6/k~OʝKeW0$mq`Μ9 &3^t `{%6lRR~Kl5.g^oz<`v)f[UrP~v^]tZ7Ua.BXo;p/0= s|qx\z3.~*éeuJZE؈k.~3gaιtQ2|q^+?pMM']UlJ(K U<=!0)h~=OIIzK%jf ܡc'o_ff6*]o44ƹ휛 X \E=.a%M*hqzUCK 7쳭q=!iB8MY\#>1KuAH=0g-u%n4'vS# CSXU{8 _OQM?={'>{nvΓ4̞)8+?h4&vY~ Q%V3L۽4sq+ W21[rٿK[dJ9S?u^=IG?49e5˰ӎ,cfl {e#jH-E|&"u%7g4PWZIkԴ_. mUUȟ1.n44ț[8^.]πu pn1cv&m;NšASuUAL>zDUNoGL &}dB`Kdbrn3-y}~Br1Ix]ޝJIjW3;uq6-{V$z_+b$3 -i@*I 8ӆa ?Y|8b9Elqp) 9XTrq:FI]+>eYq4p ÐL?$N!Ʌ]\ s}Fa u"wѸZ@Ɓϔ`o\رA D<9E&ٓqehu"fv]6zio@윻F98N9Uw %T)i3@rq3;ع,4>M.j>Ir.% s< N -'R}I,tA{I@[Qt{tAL 9(<!LwN4+GOW+['w% R=K fvPs( 8x/5)Gٮc)J ,jfkJzWQtBlFU!k9f< 8 _ Fqp $\GyW+品5sS%uME>p Xxo@%NՄIw"6Kc$g89%6f]eflcowI۔]{$4)E6,hgb], sNҴ<I;]8F׫ T(x;I1z~!i6eA_,c:!p㏿`3I˹$ijoRYI4g}@rfv-uziYKI^23lM'#?7WyL䢙] !p(snɹk&k0 Inx"݀([tĪa#dT8=K]uƸ$RU?O|-o2-x7paU׺ NiB<;q{I>3/ɻX$_`/@ssAK m.+Ihc&Q}̾[ď~&˘Bk9gf.AǩVJs"1Vďe;mI$-Y?**sD2%U~5V_Fck5 ߥh/dB/W'꺂ؾ}zv#X{9w~`fɺ,%Bw sם={Ys衮+Wg%.iD#ŵ$FTplYC9k}LJ9'i9Io̳tNW徒HÜ'OKuIuйq&L[ny"䐵$o ܘwuk4!@'M VP+4Zf6k6 u#]֏UB e-? f9N/QĠ.À%}uk ]sI l.7UB:)/1"YKe C ٕĎ_ߞfvV? _gf4p'[ιIuC)[1x8,` 0fyM6/*~h-r70AҒfTonBI;o2r )s7i.RҜk3I?!jo ٛX¶~ε&k~[LmivPWu/RO>>[`@Or}x}Y Ø9=C_s8;jhFTߌ%&ц]kf\>Ju/sFrn8̐')2fYsyYMW'7.q#](i#mEE~F 6פtg?dl`Y+8d8W?!&Noba`, !lL ؤmq.|1\YG,LW'ٚ9׿x_uI}~9N Y]M̌Ni3BGr{!~3}sm Dlg[gϜs2p+7`e oNGL/'v.TeXHӑ70_ؿs$\I5`nBa>E҇8%iI˹gmZwҕȳ,Io˹*kvɳPҫ$%HTj#Y3?9'e.9( _9=kx,ޞJ ~2K280rĤՀs=~e%sHb'\MW^9ӦpX8e-^鴄6̲7!5LYeyf6;Ċ<,ރk Z ؁ !!B+','p7#Sq.ݥfpe&qlkwΗR'mrx >\9 9J)tzQCspYKW+Q> -mG&TIo* )wy:eēsNRW7(0KrI"*4hHcr]QMy֦Kj1JdεIʕ84Fҭ-s(Gff#jY(3X\[v"eι`O\?sm{?s FAkDB`Ws:3z b^9bIDATIn#u9[+Fw]3MHyO9@]ͭ3:!$iBS%W!i)5`"jsWn(s:M]x*'şq*Q/7䟈F{_\$gC%g-p>197--)u,.k@&wy֏>JSϳ~ik')cOKO/.zss:G]ehޯ L`^8nϹ~=c~sk챜Ga*10bR9^s.kTN]A1OXpU{彋56`$C? 5=s975Μ#eg7qeI8:ΠISB:Ӈu|jcc'/sꠖ0@!6=`IhfW835J sΩZN\7Q*36ΓqŒ_/)~\B*̻ǵ4xSݪ;K`f43p}OX:`%>CκiIKsN%dʯF1/n5ͳƪu_j4c W-ٙ]يWouVn}AҡZoe:!i=׋.w=S"uZFP~OͶ|(&^s)L]uh4.:T!i=2ᡈbf1X/u9=LlH< w9#}V`/ 'I IU5I;6)oүȳv ( y֖M9"Kڻ}2LJTn^}ɯ<66!^PX8 U~'Yl`f\0 K%˘['WsK j5WHd;ye648 3˫zI݀?9 \mfyvrՆ'v$u Ϝsrjh-)b3{}EfrMn_+{#i2p'qgW;9s$ܼTsDƔ5=xru=[QIoTY 7n3"<9 )eK.&~^L-XYI_%Ϝs2Aǁӈbܹ+̲f pUIE?|S> < SƿBUd>si*F63Ck_#AlZؿ-|3oD183{ "V Μ|h<`lo+G_p׽슢IxE9w9+ }AMRH]Wdh`3`"FDmԒ.бTw9P_Zqe#iYIovQdbss p[6p[kcKI/>Hzc"O9E U)x:TfVk CmfcPhG"gg΍fFZ3fPG3l8$PU qlv=A136&&禆ɹ@ߩ'5 |\̬ڕӽotuWQLDɾǓs~TCC;|­&$St1 SئɹE]x.% w*71CڑuP3DWMw>.k9z+lX4"`P}eW!/J$m mmvqzj f6hT%`0L^4x`3{LLM"6F fvz+Fl<9u΍́_wʧͺ333ɳ"Jd<%mC~_*C2 .i Ζ$T{Y?a,WIT,XN l-x?O'u8HMӣoE|rɹ >GT̀ʶmfobg|fꉽ)e-;N]Z=̞!~4~Yv&u-b"%TJs)L1835MJz UIn֏1J:Id0QĒ:6aתּ\xnRInZ!0. ꪂػh؉[Ug1b#Ċ3XQ$T0ӽ̹+ w\M,@]xI'|03fu!n9ps@\}+'88%Y* 3 |L^|e0)0mgN̹Z+V/j$Ǜ@Y&'ϣ[ؼJaI"&Kj20:S ߇ƤZ$x lUlT)6NĵeKw6ʰ.kY-00-H%]|GYV7IP[ xr|:73xWo+;ky5vl${uQJP~ ,hk p3RtOΕO]eh{#Elz-*3 w9m[Dm5}ZG]'-kڧ%ՑB% ň;yxr<:?h4p:}8^?E LIAq\ֲjE>}J#%'+W iIW ;,#2$Z>Z^9n hf*}` `O3[hHI;,U>igcTڽĻ"9YQ Pb]87re-2jN&'g+HS k{"'e-GF-UcA_h;TP_Io6gO֥6sd_J_o{|xc> h iqt'j0ۇq:åe!,2=IMEVoIuFx-\d3; “sS `QFr6>GfmW D԰ %倫sZD^\rp Ѣ&7dV" \JK'Tj۱H1V`Ext "U <]fHZ x!/:O9@K'Eehe#D;KSM>9WK#uS3/c#I$}VҢnsJ:Q;NdӁmod<*q5!H][??5= ]O &TdqspU hǀ_Q +zW kd㔅' gմW\lQtbD̲mJZ XfmqFh$&*ocft؏OH*;iKz *x3;}g\'fu$R]N3X:$-OY3Ĩô̜('x&v> ?Iͬ0T F̹RCKy"(u2&|[N3su]A42$i{`S9f6OҍxbQ$eہc )v$pP]yS&%9WW^%iM}֓oǙ-Kw"[m͝ifif{xwhN2d- <;8`Z̀ˀg[ ~U8X66&5?)?J997*p`\^7Tt~Ly.Łe{ up 8L͜x?06~ {o$kYH$}MqιpiJH-*ta9`/3;=\-z)CVܽj)4q%q"鎸gM݆}زi:t9W [fI#i6/!vʽا^DҺΐtH'p^"Oۨ. UC`L`fv7qiFI['Cpgb\_A'HHO0;2!!4|] mFqHp]8~nk>df϶< YېY`]9Wah ̞hy~=4>,tu`3i~Wt^H~,J 4]ēoZsU}z:s/i/x̾Vإj }BSCX*]_,lNӳXA,o^7yMB"˲wڏ^_#ÿ_C9e}Beπ֚=*k챖e;`ficf6^|<9X>.1p`rp[q$^<;Haq`,8!z q !SB:{N!B)a9MaJ­![Byvz ba`,~PcN_08(˲uMOh*`gȲj0Ӂ 8-wTa:|sz,βBZ+7`0!Հ -/woVtt{&Boiuc~A`JӯWNgXӁ3,;[J;'.!l$pq<Բ!#ʲGY]B!p7y n!L%UwN8qgA qCxvq:`qqCxvq:0IENDB`cobrapy-0.4.0b6/documentation_builder/qp_files/qp_1_0.png000066400000000000000000000441711263606473700233750ustar00rootroot00000000000000PNG  IHDR`&\`J=sBIT|d pHYs  ~ IDATxw\UՇH5RTibwDRE]DH^# p?LurfޙfU~+Ȳl#Xtxdz#U [0H$ڈX<Z0͇_<EDM(g3̑-H$mDx,<+eD"hUD"$H$p"HTDrD"Q'DE$H$p"HTDrD"Q'DELY’&SMGwl|K$_#(iOu3;fdAN$ ztY ȁ|\l=-lf'vs7ozֳ[\X pzKt}Q`*9-3+G#H yz;O~YMܕey?< Ym,Y \Ԇ?\o=41]`^`wԮJZOw&@Gޗe(.O&pZ|Y͜eٜy\ОDo$JJ L&Ī2w]7H$:>ǀ,[Xyy |ꀳ1OZ\.2%'pG%]r=IzxʎA1 E)3{%6WA,ˆWrY\ߏv A'}syݞ?D;!J`-`I3{-%gYNyyn[dY2pd%,! !1ּ@sӁojD<;q$Q,ZyNr4W7+l<*VH$ڏު ny{1Y}\?Hj&l(g1 pQb)is$Mܞ-|fvFEJ$21xݚ=XhcN(I#%UnH$zc鳌H9w$Lո8YDj!G\e2',x:'RganBr)Hɹ0P^H)' Ic<,c1cܵV袏=]Ɗ$VHDXʺ6_so4ΟgG\~!{bƧKIk_n_NgѩEўMfH j{&OEG;M_#;MOص,v}< sfvu{I$:Z;}>szt}7lLJ YW !FE\^vYpι7 '`$M['LI3DuB3Uo"j9'iayUd4$] U@p9W%bU/׀Ѡ,qt"іUV7l3BW85t}5B+mynweWeJh!#i!EjtWM7e" L(iEl}]iۯ9\~w휋lCI;oOH ):$}-@YkkeOyY9IN{)]/V|N6I6K"h sN¯wIw6K0d:VzfvL{iENm1PK?ڗ]h]w0V#.fv{1b쵤:Dmr'xtK89hfO z5G7!tG i`%fvF[J$>eȝ!kTvm%xߌƉi$mdfV!3{LҲU'ʐ>O$˘ k+kc͇-A(f_? 3%Ep9IÛK$df;~YNU+q_kKG!T9Mc2i$dfGoV씜o* u*ppxK&P7 MI#ê|:N ̓:Z x?`'BDG̜5+R4'p25$Kr} 5/sw-_/t9̬vN4G{}r1/dfOTv=IxH\v8TvxڻXNDIؑ\ul߮ϫkH|3Ż؛)#Oԟ䀝KrN^wYBфԵpƒ [-5F6Ω#Q/R'3};؞Pq1YgUM&\CpTJLe.lf&# d.ihb_Vt %nD$\0YƲɹ޾'޺f$I#+0THKsjvftYk'G A@d-k̀K',L&pz՛h\> 4ؿ̵#K«s.:ON3ײut3ãSbZV$#9)sNҗYuCI]AKhI$ Jq4[ar{4:-,u<pU^X7%](ER:'4'bbFx3۫-w좦ǧPL_(Jֲٵ%O8!9u<1 e{u\ Γ3ĵo]z)Kx>-9̻s=i[<>A0]/JZx+ kGsOsnL#kifH:X~CwH>]\ClIW@2f-4Kŀ%-A87p`77RvV1?IީbDqznr<Ϗ,ek`3`me朤Ł*@1]⢒V^D_)dII3b'޶faHffn ~GZJ|:E7 3?ӀIB2IK;{}ieu}E,`EL%.%ƤpD `kPKr'* $ S0t3{flvZf9gucvIi|%X^u|5"9 1_-ZP),_t.Vx/HxD2מ#n-k͍$w)FHZvdiFɹIfQ|PV%@Xsh$FH5Y骫ֹ۾βE ia:3{"j,lafz?^ȣFb_arF1Kј ~h4WJ^oxX;}竔)ƄF10> #c̹?.'*Cpp:Q'Vu_&4kJ:af4=>'P.=ʣ #.o}i>. "ᓺd''O.OLxafOKZPBMİČfVPP*f6M7[ p*0%!i*ː"yX}i>n2FuycӉkA=p}%[qtmةpJ. ,[z>ґI8I;:v38! t fEǶU["i63{!ph $ʠ#poHڃt=+5џ9I3QeKȲ'<ǐ։6h6eInrh1$1wp';'͏G=ړs.oSjC|-4';bf/*k:, (k=IcXL|Ɛ<x{zt}-}~B] Į+pKu$ ~[~*C2I,[P1Y$UېL~io~Tb o |$+阢;osB\"H"6ٵ(wy;<'2ʲsqү%[G_"i钓? J(^^ &*$ JUW0^*k/;̹sUC%>sכ%9erpEDakue=sf!8qH 6VO=KI.Iar1qI+w5c3B<) |dIsvJ;p 4>(jVs%pfQf1v]Z, ~81R۟Isevc朤_Kw tonn#q|??zlroV88nz?H z?HYz5wƲ{*T%r"o;xڜ[^p0ɹ43N'6I ?SVPjH3Dvykco(偿5_IWK:Odڭ4V동=J':1Qș\r0G[, AS<9p~U173{̶vog5I҂(¶A޾ J))'D]S^4Uwu^CF7`3;$%˷V'N[9߉j\Eu/FIRwbn-4BҞux֙R%m5?6* $ekIGIZMF $ϒF(kj ؗP]Kqb4xPЇ'RNF!Fq>0pXmI0˛~8lz|BwZt =`f捱:&v |ުxKFKfn3? 8t} # :yy#i$eͿ; gZNʜ&;e!tk4Pҙ0t*4GaPRrNt'ZL$xN5EҰN{cp) 6_MTU$\h^KE&S&# ڒqsLJǞB̤7iUVgQH8ޫhF꜋.cfFz 9jm "guP v>/qjF;1=II߯b]; RY@ngfnD 0IN"nfMS"~pjf`/7t*\s;Aɹ5`"b3ʈ'>#9`$} \ \Uڂf{IZ8cwވ:$ if(r_؟x. % |xxp@{3v z"Vj,9眯EsGw,$M%ioI#mGub]g-tvUl]|^h["i&3{}+v3;A1]!Y- ᫄JLm,9B2j wk&f݉`c FYcW.[m "bYq4/WH3][wR\t&[QBrNE%('m|R80mۮHr%̋̾]>%~8lJ)^eZx1-,b,L`[3{$z' *3qU+f ϕLT2/49(jf)ihbpM-o߫KWeNglw3|*+Ό]FzUNDl2Nl=_HGN-@0H0X[^c^ĜsJYk5UobıI{`:(1;$(;1-03[gl(i^IJNd]?/3|] EMc#4n~_4rx/)b\3ft| IDAT죲J jTfvEK6嚮OK(zj\/-ߙٟ*e d,+9fvi $"$\%J%-MP)TM2*aZ9,6v|,V|PB1V/iz`ߵ/osYuY܄#V=!05w<<7.7uB(` Hzl=l{BpY-|p]?Mϫ$ O#cfe(ꊊ-J/4eL3fɷ.SK^tс]Bi?xnݣp 8UIkٻ޶$^y/*]} VY_FcFD_n4[6Uq?ōFc UzYޕMnyWh4(wh4m4 Vh|=啄k>ٶ&9N_"d{aa:u<7.|?cduZlG =ff4<ڒ_O fibCUї*#mf^p+F GȄo-yv޹fJ[X2cȲ/l(}ȏfcFqKm*kÊ0ŵ!'U/ԇ^Oyoo'y~D[ yt+;D8X[ōaf.sW5|%ϥs)۟|LjK҂pFҰL"L9LIR0VpZ|;9Vgy+pej37mes7^`o(JSy=gdd:̞vlWu6;AaS/1#qkGp Ȝ8_eٙfvHB8Je-7]F~"d-qo(hr3{mc$hNBL^6& *"R&tbĴ6g?;lq~ F|69Xw=!$ٿYuOWk̹ "ʒs*(5 7){aI3e&ؒ SXrNpIz'CK )pM|{pؚ $38Yl<&h;ul0`/35NxEUdr.:KW}#hFv|>? #"0YB@;%]"iX:8, 6&F |!$6}]?z'o`;I_ž HwsٸMA@'u1h:" &4Ǜ$GpwIW$Տ-~zS5=B*|{>G29W~KtR%$B'A[eiQg[io Hp1 ?oN^zQ7-G?#$6sڢ36syx3$:ϤW̬-ݒ10(OZ9_Iִn2ۛt=Bk9e[1f[x8wlb# e- mgF2֕4f?h3sٚYyRO|F AEE̬4m{Lj`ec$ |N,ٵ, ;$MiMS>;WlE:C剻'6SSYo)}$m8K0Lεu$iG{pᎴ$\fvW9Vo ˒PKaC1]Ug$󜃀Wen)O$ebmonAֶl=a,`<ɵpjoK|O;4:2ןX(i4TVS9I|=bh`-ӶY+!Hp_FS_>'16]q,8A(Q eʮ-7"e!i3ĖeMp\~'ZI8ISYrl|$ UcN`IER:]w.7}K FZsAWmAb iE2 ,] 7z!G lY:c{fׄt:" gftS5%<8] ]1 E'IZ̵ VZS랜tsBn, *|#N}AҰ ܗWZ"iZ3_Ik- |'2\LF\;N`G3D5ON6#̎\s-}Þ'q $.{/EQPr' m|%M797 8g6sH='68|p~8=7 ?H:x8&?3VSzEQDTll@s!TǸ N`gcwLƐ9(9fk`sĥ&h h+-6/Z,9o'ܥy57}kΓ8ObI܌w4U G)f[̹D{NgI7L0 f*`GP4x<|e-;if9:叶4btѕxjL8i:o1 !A5\[Vu+|= @ II?vzmn&}{Ւf6;_:<0y~Μc";ylHԳ^'ٱuO1`'$- X+s]Wabf~ C,o?s1yTJD3B-c paQju3{EE0\s}=%9m+1f6 '9&KZ F/YDߩV1`I;KzZ#~eE'i ٛ8@[51 ("|{OyW)n6m ƵN8M9cG< \'^UiZ[Y  C,Ov2V1<Ց<,cuB YֺsNfǺfnc;N^NtnU$^f=Ԫ#̮4Z|?Ya򬱤%b4/VY'(F3V֗W_ι5"=@NQ*փ 6(o;ڦ 1fvE ){_`!lIE!ҐNjfU43v MD^vJ9יM F@-{?*k1IsHZn X خۛ  2O=IsIZj(C 1zJ8`J­s )Y8C&fva3{[z[?m(1{P!9s {b$}p5Gq``w'{KKLjt;$mDKxKO_03AHLX.3^674\}r8:8̞q{fImR+䀻!uh,h4vuD7 hu*{+PWSew9֋:.4zf}s4a{QՃwMYUPQ[jb\^JrHFr*/Xw󼳹Gef~{fln{8ZƄ=6;wp=PV U9%Z yV3AMk%/?70ok!iZIr6;!aA3{ &a,{|~ΜqbSPrem "~O֬ BF.2`!TZ>,9Y;6CvW$$Dqz?zҖ#T%M|bfyf%mТo%7Caw׫J$]\筝"8K7(se ͜/m〻Ҫ6S҂Auyu*ZɧxZ̮,(vg_$res-a L&\fFql%:ђ6w7.]G^̹VĻZ/[3K֔a7J=7ttqGnބ?(zͪ4/p=a6oc0%+MNf~ms1} mlڊcƙ֔Ml7vTyZEh^*o㕴a?=KSO(z aCNwd Vs.ؚ={a_킙y)&7mD Ӄ\s6t詀- 3PJtp]h(?|)9W=CKP|='<A<3{̵'k;&e'KOy OmUfG٭N63&fv}8k̒ ÜsSt5hD(I'GOhVs>i9:dcGWC]I3犥* p&3AJQ˺O.WvVd2#ZG%1`3F:h/6_TqS`1|c+9Do%9m-"t_gfln˅!fv[Ak%,(I3z{fvw۵sLf٣{4X[ޯs_V'w6)VK`3 u@@ٓK%̺jƛ|cѾg}0IqS%}pK@U+Wf|0Ƌ+l=Dx]ipoH:8^+rn^X+S_611go[=?{ɊJAw%)QYgRr·q1a=v/#T)E{fy;: S):I?1TD"Z7 t] S6u3S2L$"ZvK&%t iJI:[H[SҷY$ t8 IߒS'[SIqoKuV\mCHvK_s1TuJsfM`F`A"+GO2DU5Is;%~yym9%G _}@c80σm.3k5s.sY̼*H1l3 oeV׌ׇyI6n63):w)9WS 1/!tև7w$hwՔ@K Ee[UAj2px3{%9Pšscd诰T9kh42G[ι/8g8̮+e*rWp0r"r/߷a3pw=d] *dHP4fKױqk 4(jl=U:ErsKXu"o^3: ,d˳|NKK,@'[f>z <1*<4snA`V¬AQ[܊X{M7Y1`[Cq7P>}ٛ{E;l=hh m\+쎶7Ϝ{zM`rn-Sm> p&Ճ;x%LW߄-OEh_t9 A;6 ׊(|)곳$4\Q_Ao.Vf"1=9VBX̼DCb9wUOi;H$'!C:- 7eʒ"ic猎U)%'\^#c]^o8u/X(jJZHL weTj9vtS7{q7$r-'3;a#^(sy8pi`!jُP+ρEl?]6Q Bֲ 'TZ AHbV"/uHεN$Per,=X'H$KsA$pI8%&ʊת9H$R̹RMc&ޥU4*i-a+[KL&Fe?nakq,bYEFIZx }}^~3>7،w[ 8/ߺ R6Z~4wz9kAgTY7~Ky9'/ee`0'`x2?2lp2k:0ۃhu'[gV߳7L 6P~ ldkwNv&T/YV ~eY6͸,|ϣL($h6=40@O‡2&?;|l?gVd-%a`G+sf"a˭p'~/}GgCl= d1Nq~C$HzzNOY᧮eY~D"1Y 8'DdY68f69D"(,˦D":A'H$ڒmCe'gYreqY=e}YQ&:,Ͳ,̲,vyn)}-ɲl`<~['y/ e$RmCZo̜eהDKy]aL+=pP?%dYU\c':J$YMO“=~%$^%}"˲y_)ĥDլ,VO}DepPGv4X)1"Vɲ,`U`,˞ y_eY=AP۾&ڐ/ʲxm?`>(=VZ'\"H$&% D"N$H8H$*"9D"D"N$H8H$*&IENDB`cobrapy-0.4.0b6/documentation_builder/simulating.ipynb000066400000000000000000000423711263606473700232250ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Simulating with FBA\n", "\n", "Simulations using flux balance analysis can be solved using Model.optimize(). This will maximize or minimize (maximizing is the default) flux through the objective reactions." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import pandas\n", "pandas.options.display.max_rows = 100\n", "\n", "import cobra.test\n", "model = cobra.test.create_test_model(\"textbook\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running FBA" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.optimize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Model.optimize() function will return a Solution object, which will also be stored at model.solution. A solution object has several attributes:\n", "\n", " - f: the objective value\n", " - status: the status from the linear programming solver\n", " - x_dict: a dictionary of {reaction_id: flux_value} (also called \"primal\")\n", " - x: a list for x_dict\n", " - y_dict: a dictionary of {metabolite_id: dual_value}.\n", " - y: a list for y_dict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For example, after the last call to model.optimize(), the status should be 'optimal' if the solver returned no errors, and f should be the objective value" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'optimal'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.solution.status" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.8739215069684305" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.solution.f" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Changing the Objectives\n", "\n", "The objective function is determined from the objective_coefficient attribute of the objective reaction(s). Currently in the model, there is only one objective reaction, with an objective coefficient of 1." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{: 1.0}" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.objective" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The objective function can be changed by assigning Model.objective, which can be a reaction object (or just it's name), or a dict of {Reaction: objective_coefficient}." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{: 1}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# change the objective to ATPM\n", "# the upper bound should be 1000 so we get the actual optimal value\n", "model.reactions.get_by_id(\"ATPM\").upper_bound = 1000.\n", "model.objective = \"ATPM\"\n", "model.objective" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "174.99999999999997" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.optimize().f" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The objective function can also be changed by setting Reaction.objective_coefficient directly." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{: 1.0}" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.reactions.get_by_id(\"ATPM\").objective_coefficient = 0.\n", "model.reactions.get_by_id(\"Biomass_Ecoli_core\").objective_coefficient = 1.\n", "model.objective" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running FVA\n", "\n", "FBA will not give always give unique solution, because multiple flux states can achieve the same optimum. FVA (or flux variability analysis) finds the ranges of each metabolic flux at the optimum." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "

\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
maximumminimum
ACALD9.466331e-293.720797e-15
ACALDt-6.310887e-293.720797e-15
ACKr-2.524355e-283.933509e-15
ACONTa6.007250e+006.007250e+00
ACONTb6.007250e+006.007250e+00
ACt2r6.121561e-283.933509e-15
ADK1-4.042971e-140.000000e+00
AKGDH5.064376e+005.064376e+00
AKGt2r0.000000e+007.079399e-15
ALCD2x0.000000e+005.729185e-15
ATPM8.390000e+008.390000e+00
ATPS4r4.551401e+014.551401e+01
Biomass_Ecoli_core8.739215e-018.739215e-01
CO2t-2.280983e+01-2.280983e+01
CS6.007250e+006.007250e+00
CYTBD4.359899e+014.359899e+01
D_LACt23.660315e-284.140787e-15
ENO1.471614e+011.471614e+01
ETOHt2r0.000000e+005.729185e-15
EX_ac_e-3.933509e-150.000000e+00
\n", "
" ], "text/plain": [ " maximum minimum\n", "ACALD 9.466331e-29 3.720797e-15\n", "ACALDt -6.310887e-29 3.720797e-15\n", "ACKr -2.524355e-28 3.933509e-15\n", "ACONTa 6.007250e+00 6.007250e+00\n", "ACONTb 6.007250e+00 6.007250e+00\n", "ACt2r 6.121561e-28 3.933509e-15\n", "ADK1 -4.042971e-14 0.000000e+00\n", "AKGDH 5.064376e+00 5.064376e+00\n", "AKGt2r 0.000000e+00 7.079399e-15\n", "ALCD2x 0.000000e+00 5.729185e-15\n", "ATPM 8.390000e+00 8.390000e+00\n", "ATPS4r 4.551401e+01 4.551401e+01\n", "Biomass_Ecoli_core 8.739215e-01 8.739215e-01\n", "CO2t -2.280983e+01 -2.280983e+01\n", "CS 6.007250e+00 6.007250e+00\n", "CYTBD 4.359899e+01 4.359899e+01\n", "D_LACt2 3.660315e-28 4.140787e-15\n", "ENO 1.471614e+01 1.471614e+01\n", "ETOHt2r 0.000000e+00 5.729185e-15\n", "EX_ac_e -3.933509e-15 0.000000e+00" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fva_result = cobra.flux_analysis.flux_variability_analysis(model, model.reactions[:20])\n", "pandas.DataFrame.from_dict(fva_result).T" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Setting parameter fraction_of_optimium=0.90 would give the flux ranges for reactions at 90% optimality." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
maximumminimum
ACALD9.466331e-29-2.542370
ACALDt-6.310887e-29-2.542370
ACKr-3.029226e-28-3.813556
ACONTa8.894520e+000.848587
ACONTb8.894520e+000.848587
ACt2r3.407879e-28-3.813556
ADK11.716100e+010.000000
AKGDH8.045934e+000.000000
AKGt2r0.000000e+00-1.430083
ALCD2x0.000000e+00-2.214323
ATPM2.555100e+018.390000
ATPS4r5.938106e+0134.825618
Biomass_Ecoli_core8.739215e-010.786529
CO2t-1.520653e+01-26.528850
CS8.894520e+000.848587
CYTBD5.123909e+0135.984865
D_LACt20.000000e+00-2.145125
ENO1.673252e+018.686588
ETOHt2r0.000000e+00-2.214323
EX_ac_e3.813556e+000.000000
\n", "
" ], "text/plain": [ " maximum minimum\n", "ACALD 9.466331e-29 -2.542370\n", "ACALDt -6.310887e-29 -2.542370\n", "ACKr -3.029226e-28 -3.813556\n", "ACONTa 8.894520e+00 0.848587\n", "ACONTb 8.894520e+00 0.848587\n", "ACt2r 3.407879e-28 -3.813556\n", "ADK1 1.716100e+01 0.000000\n", "AKGDH 8.045934e+00 0.000000\n", "AKGt2r 0.000000e+00 -1.430083\n", "ALCD2x 0.000000e+00 -2.214323\n", "ATPM 2.555100e+01 8.390000\n", "ATPS4r 5.938106e+01 34.825618\n", "Biomass_Ecoli_core 8.739215e-01 0.786529\n", "CO2t -1.520653e+01 -26.528850\n", "CS 8.894520e+00 0.848587\n", "CYTBD 5.123909e+01 35.984865\n", "D_LACt2 0.000000e+00 -2.145125\n", "ENO 1.673252e+01 8.686588\n", "ETOHt2r 0.000000e+00 -2.214323\n", "EX_ac_e 3.813556e+00 0.000000" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fva_result = cobra.flux_analysis.flux_variability_analysis(model, model.reactions[:20], fraction_of_optimum=0.9)\n", "pandas.DataFrame.from_dict(fva_result).T" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running pFBA\n", "\n", "Parsimonious FBA (often written pFBA) finds a flux distribution which gives the optimal growth rate, but minimizes the total sum of flux. This involves solving two sequential linear programs, but is handled transparently by cobrapy. For more details on pFBA, please see [Lewis et al. (2010)](http://dx.doi.org/10.1038/msb.2010.47)." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [], "source": [ "FBA_solution = model.optimize()\n", "pFBA_solution = cobra.flux_analysis.optimize_minimal_flux(model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These functions should give approximately the same objective value" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1.1102230246251565e-16" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "abs(FBA_solution.f - pFBA_solution.f)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/simulating.rst000066400000000000000000000216011263606473700227050ustar00rootroot00000000000000 Simulating with FBA =================== Simulations using flux balance analysis can be solved using Model.optimize(). This will maximize or minimize (maximizing is the default) flux through the objective reactions. .. code:: python import pandas pandas.options.display.max_rows = 100 import cobra.test model = cobra.test.create_test_model("textbook") Running FBA ----------- .. code:: python model.optimize() .. parsed-literal:: The Model.optimize() function will return a Solution object, which will also be stored at model.solution. A solution object has several attributes: - f: the objective value - status: the status from the linear programming solver - x\_dict: a dictionary of {reaction\_id: flux\_value} (also called "primal") - x: a list for x\_dict - y\_dict: a dictionary of {metabolite\_id: dual\_value}. - y: a list for y\_dict For example, after the last call to model.optimize(), the status should be 'optimal' if the solver returned no errors, and f should be the objective value .. code:: python model.solution.status .. parsed-literal:: 'optimal' .. code:: python model.solution.f .. parsed-literal:: 0.8739215069684305 Changing the Objectives ----------------------- The objective function is determined from the objective\_coefficient attribute of the objective reaction(s). Currently in the model, there is only one objective reaction, with an objective coefficient of 1. .. code:: python model.objective .. parsed-literal:: {: 1.0} The objective function can be changed by assigning Model.objective, which can be a reaction object (or just it's name), or a dict of {Reaction: objective\_coefficient}. .. code:: python # change the objective to ATPM # the upper bound should be 1000 so we get the actual optimal value model.reactions.get_by_id("ATPM").upper_bound = 1000. model.objective = "ATPM" model.objective .. parsed-literal:: {: 1} .. code:: python model.optimize().f .. parsed-literal:: 174.99999999999997 The objective function can also be changed by setting Reaction.objective\_coefficient directly. .. code:: python model.reactions.get_by_id("ATPM").objective_coefficient = 0. model.reactions.get_by_id("Biomass_Ecoli_core").objective_coefficient = 1. model.objective .. parsed-literal:: {: 1.0} Running FVA ----------- FBA will not give always give unique solution, because multiple flux states can achieve the same optimum. FVA (or flux variability analysis) finds the ranges of each metabolic flux at the optimum. .. code:: python fva_result = cobra.flux_analysis.flux_variability_analysis(model, model.reactions[:20]) pandas.DataFrame.from_dict(fva_result).T .. raw:: html
maximum minimum
ACALD 9.466331e-29 3.720797e-15
ACALDt -6.310887e-29 3.720797e-15
ACKr -2.524355e-28 3.933509e-15
ACONTa 6.007250e+00 6.007250e+00
ACONTb 6.007250e+00 6.007250e+00
ACt2r 6.121561e-28 3.933509e-15
ADK1 -4.042971e-14 0.000000e+00
AKGDH 5.064376e+00 5.064376e+00
AKGt2r 0.000000e+00 7.079399e-15
ALCD2x 0.000000e+00 5.729185e-15
ATPM 8.390000e+00 8.390000e+00
ATPS4r 4.551401e+01 4.551401e+01
Biomass_Ecoli_core 8.739215e-01 8.739215e-01
CO2t -2.280983e+01 -2.280983e+01
CS 6.007250e+00 6.007250e+00
CYTBD 4.359899e+01 4.359899e+01
D_LACt2 3.660315e-28 4.140787e-15
ENO 1.471614e+01 1.471614e+01
ETOHt2r 0.000000e+00 5.729185e-15
EX_ac_e -3.933509e-15 0.000000e+00
Setting parameter fraction\_of\_optimium=0.90 would give the flux ranges for reactions at 90% optimality. .. code:: python fva_result = cobra.flux_analysis.flux_variability_analysis(model, model.reactions[:20], fraction_of_optimum=0.9) pandas.DataFrame.from_dict(fva_result).T .. raw:: html
maximum minimum
ACALD 9.466331e-29 -2.542370
ACALDt -6.310887e-29 -2.542370
ACKr -3.029226e-28 -3.813556
ACONTa 8.894520e+00 0.848587
ACONTb 8.894520e+00 0.848587
ACt2r 3.407879e-28 -3.813556
ADK1 1.716100e+01 0.000000
AKGDH 8.045934e+00 0.000000
AKGt2r 0.000000e+00 -1.430083
ALCD2x 0.000000e+00 -2.214323
ATPM 2.555100e+01 8.390000
ATPS4r 5.938106e+01 34.825618
Biomass_Ecoli_core 8.739215e-01 0.786529
CO2t -1.520653e+01 -26.528850
CS 8.894520e+00 0.848587
CYTBD 5.123909e+01 35.984865
D_LACt2 0.000000e+00 -2.145125
ENO 1.673252e+01 8.686588
ETOHt2r 0.000000e+00 -2.214323
EX_ac_e 3.813556e+00 0.000000
Running pFBA ------------ Parsimonious FBA (often written pFBA) finds a flux distribution which gives the optimal growth rate, but minimizes the total sum of flux. This involves solving two sequential linear programs, but is handled transparently by cobrapy. For more details on pFBA, please see `Lewis et al. (2010) `__. .. code:: python FBA_solution = model.optimize() pFBA_solution = cobra.flux_analysis.optimize_minimal_flux(model) These functions should give approximately the same objective value .. code:: python abs(FBA_solution.f - pFBA_solution.f) .. parsed-literal:: 1.1102230246251565e-16 cobrapy-0.4.0b6/documentation_builder/solvers.ipynb000066400000000000000000000366211263606473700225470ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Solver Interface\n", "\n", "Each cobrapy solver must expose the following API. The solvers all will have their own distinct LP object types, but each can be manipulated by these functions. This API can be used directly when implementing algorithms efficiently on linear programs because it has 2 primary benefits:\n", "\n", "1. Avoid the overhead of creating and destroying LP's for each operation\n", "\n", "2. Many solver objects preserve the basis between subsequent LP's, making each subsequent LP solve faster\n", "\n", "We will walk though the API with the cglpk solver, which links the cobrapy solver API with [GLPK](http://www.gnu.org/software/glpk/)'s C API." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import cobra.test\n", "\n", "model = cobra.test.create_test_model(\"textbook\")\n", "solver = cobra.solvers.cglpk" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Attributes and functions\n", "\n", "Each solver has some attributes:\n", "\n", "### solver_name\n", "\n", "The name of the solver. This is the name which will be used to select the solver in cobrapy functions." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'cglpk'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.solver_name" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.optimize(solver=\"cglpk\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### \\_SUPPORTS_MILP\n", "\n", "The presence of this attribute tells cobrapy that the solver supports mixed-integer linear programming" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver._SUPPORTS_MILP" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### solve\n", "\n", "Model.optimize is a wrapper for each solver's solve function. It takes in a cobra model and returns a solution" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.solve(model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### create_problem\n", "\n", "This creates the LP object for the solver." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lp = solver.create_problem(model, objective_sense=\"maximize\")\n", "lp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### solve_problem\n", "\n", "Solve the LP object and return the solution status" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'optimal'" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.solve_problem(lp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### format_solution\n", "\n", "Extract a cobra.Solution object from a solved LP object" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.format_solution(lp, model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### get_objective_value\n", "\n", "Extract the objective value from a solved LP object" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.8739215069684305" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.get_objective_value(lp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### get_status\n", "\n", "Get the solution status of a solved LP object" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'optimal'" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.get_status(lp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### change_variable_objective\n", "\n", "change the objective coefficient a reaction at a particular index. This does not change any of the other objectives which have already been set. This example will double and then revert the biomass coefficient." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "12" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.reactions.index(\"Biomass_Ecoli_core\")" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1.747843013936861" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.change_variable_objective(lp, 12, 2)\n", "solver.solve_problem(lp)\n", "solver.get_objective_value(lp)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.8739215069684305" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.change_variable_objective(lp, 12, 1)\n", "solver.solve_problem(lp)\n", "solver.get_objective_value(lp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### change variable_bounds\n", "\n", "change the lower and upper bounds of a reaction at a particular index. This example will set the lower bound of the biomass to an infeasible value, then revert it." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'infeasible'" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.change_variable_bounds(lp, 12, 1000, 1000)\n", "solver.solve_problem(lp)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'optimal'" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.change_variable_bounds(lp, 12, 0, 1000)\n", "solver.solve_problem(lp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### change_coefficient\n", "\n", "Change a coefficient in the stoichiometric matrix. In this example, we will set the entry for ADP in the ATMP reaction to in infeasible value, then reset it." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "16" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.metabolites.index(\"atp_c\")" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "10" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.reactions.index(\"ATPM\")" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'infeasible'" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.change_coefficient(lp, 16, 10, -10)\n", "solver.solve_problem(lp)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'optimal'" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.change_coefficient(lp, 16, 10, -1)\n", "solver.solve_problem(lp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### set_parameter\n", "\n", "Set a solver parameter. Each solver will have its own particular set of unique paramters. However, some have unified names. For example, all solvers should accept \"tolerance_feasibility.\"" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [], "source": [ "solver.set_parameter(lp, \"tolerance_feasibility\", 1e-9)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.set_parameter(lp, \"objective_sense\", \"minimize\")\n", "solver.solve_problem(lp)\n", "solver.get_objective_value(lp)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.8739215069684304" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.set_parameter(lp, \"objective_sense\", \"maximize\")\n", "solver.solve_problem(lp)\n", "solver.get_objective_value(lp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example with FVA\n", "\n", "Consider flux variability analysis (FVA), which requires maximizing and minimizing every reaction with the original biomass value fixed at its optimal value. If we used the cobra Model API in a naive implementation, we would do the following:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 144 ms, sys: 667 µs, total: 145 ms\n", "Wall time: 141 ms\n" ] } ], "source": [ "%%time\n", "# work on a copy of the model so the original is not changed\n", "fva_model = model.copy()\n", "\n", "# set the lower bound on the objective to be the optimal value\n", "f = fva_model.optimize().f\n", "for objective_reaction, coefficient in fva_model.objective.items():\n", " objective_reaction.lower_bound = coefficient * f\n", "\n", "# now maximize and minimze every reaction to find its bounds\n", "fva_result = {}\n", "for r in fva_model.reactions:\n", " fva_model.change_objective(r)\n", " fva_result[r.id] = {}\n", " fva_result[r.id][\"maximum\"] = fva_model.optimize(objective_sense=\"maximize\").f\n", " fva_result[r.id][\"minimum\"] = fva_model.optimize(objective_sense=\"minimize\").f" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Instead, we could use the solver API to do this more efficiently. This is roughly how cobrapy implementes FVA. It keeps uses the same LP object and repeatedly maximizes and minimizes it. This allows the solver to preserve the basis, and is much faster. The speed increase is even more noticeable the larger the model gets." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 9.85 ms, sys: 251 µs, total: 10.1 ms\n", "Wall time: 9.94 ms\n" ] } ], "source": [ "%%time\n", "# create the LP object\n", "lp = solver.create_problem(model)\n", "\n", "# set the lower bound on the objective to be the optimal value\n", "solver.solve_problem(lp)\n", "f = solver.get_objective_value(lp)\n", "for objective_reaction, coefficient in model.objective.items():\n", " objective_index = model.reactions.index(objective_reaction)\n", " # old objective is no longer the objective\n", " solver.change_variable_objective(lp, objective_index, 0.)\n", " solver.change_variable_bounds(lp, objective_index, f * coefficient, objective_reaction.upper_bound)\n", "\n", "# now maximize and minimze every reaction to find its bounds\n", "fva_result = {}\n", "for index, r in enumerate(model.reactions):\n", " solver.change_variable_objective(lp, index, 1.)\n", " fva_result[r.id] = {}\n", " solver.solve_problem(lp, objective_sense=\"maximize\")\n", " fva_result[r.id][\"maximum\"] = solver.get_objective_value(lp)\n", " solver.solve_problem(lp, objective_sense=\"minimize\")\n", " fva_result[r.id][\"minimum\"] = solver.get_objective_value(lp)\n", " solver.change_variable_objective(lp, index, 0.)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 } cobrapy-0.4.0b6/documentation_builder/solvers.rst000066400000000000000000000172631263606473700222370ustar00rootroot00000000000000 Solver Interface ================ Each cobrapy solver must expose the following API. The solvers all will have their own distinct LP object types, but each can be manipulated by these functions. This API can be used directly when implementing algorithms efficiently on linear programs because it has 2 primary benefits: 1. Avoid the overhead of creating and destroying LP's for each operation 2. Many solver objects preserve the basis between subsequent LP's, making each subsequent LP solve faster We will walk though the API with the cglpk solver, which links the cobrapy solver API with `GLPK `__'s C API. .. code:: python import cobra.test model = cobra.test.create_test_model("textbook") solver = cobra.solvers.cglpk Attributes and functions ------------------------ Each solver has some attributes: solver\_name ~~~~~~~~~~~~ The name of the solver. This is the name which will be used to select the solver in cobrapy functions. .. code:: python solver.solver_name .. parsed-literal:: 'cglpk' .. code:: python model.optimize(solver="cglpk") .. parsed-literal:: \_SUPPORTS\_MILP ~~~~~~~~~~~~~~~~ The presence of this attribute tells cobrapy that the solver supports mixed-integer linear programming .. code:: python solver._SUPPORTS_MILP .. parsed-literal:: True solve ~~~~~ Model.optimize is a wrapper for each solver's solve function. It takes in a cobra model and returns a solution .. code:: python solver.solve(model) .. parsed-literal:: create\_problem ~~~~~~~~~~~~~~~ This creates the LP object for the solver. .. code:: python lp = solver.create_problem(model, objective_sense="maximize") lp .. parsed-literal:: solve\_problem ~~~~~~~~~~~~~~ Solve the LP object and return the solution status .. code:: python solver.solve_problem(lp) .. parsed-literal:: 'optimal' format\_solution ~~~~~~~~~~~~~~~~ Extract a cobra.Solution object from a solved LP object .. code:: python solver.format_solution(lp, model) .. parsed-literal:: get\_objective\_value ~~~~~~~~~~~~~~~~~~~~~ Extract the objective value from a solved LP object .. code:: python solver.get_objective_value(lp) .. parsed-literal:: 0.8739215069684305 get\_status ~~~~~~~~~~~ Get the solution status of a solved LP object .. code:: python solver.get_status(lp) .. parsed-literal:: 'optimal' change\_variable\_objective ~~~~~~~~~~~~~~~~~~~~~~~~~~~ change the objective coefficient a reaction at a particular index. This does not change any of the other objectives which have already been set. This example will double and then revert the biomass coefficient. .. code:: python model.reactions.index("Biomass_Ecoli_core") .. parsed-literal:: 12 .. code:: python solver.change_variable_objective(lp, 12, 2) solver.solve_problem(lp) solver.get_objective_value(lp) .. parsed-literal:: 1.747843013936861 .. code:: python solver.change_variable_objective(lp, 12, 1) solver.solve_problem(lp) solver.get_objective_value(lp) .. parsed-literal:: 0.8739215069684305 change variable\_bounds ~~~~~~~~~~~~~~~~~~~~~~~ change the lower and upper bounds of a reaction at a particular index. This example will set the lower bound of the biomass to an infeasible value, then revert it. .. code:: python solver.change_variable_bounds(lp, 12, 1000, 1000) solver.solve_problem(lp) .. parsed-literal:: 'infeasible' .. code:: python solver.change_variable_bounds(lp, 12, 0, 1000) solver.solve_problem(lp) .. parsed-literal:: 'optimal' change\_coefficient ~~~~~~~~~~~~~~~~~~~ Change a coefficient in the stoichiometric matrix. In this example, we will set the entry for ADP in the ATMP reaction to in infeasible value, then reset it. .. code:: python model.metabolites.index("atp_c") .. parsed-literal:: 16 .. code:: python model.reactions.index("ATPM") .. parsed-literal:: 10 .. code:: python solver.change_coefficient(lp, 16, 10, -10) solver.solve_problem(lp) .. parsed-literal:: 'infeasible' .. code:: python solver.change_coefficient(lp, 16, 10, -1) solver.solve_problem(lp) .. parsed-literal:: 'optimal' set\_parameter ~~~~~~~~~~~~~~ Set a solver parameter. Each solver will have its own particular set of unique paramters. However, some have unified names. For example, all solvers should accept "tolerance\_feasibility." .. code:: python solver.set_parameter(lp, "tolerance_feasibility", 1e-9) .. code:: python solver.set_parameter(lp, "objective_sense", "minimize") solver.solve_problem(lp) solver.get_objective_value(lp) .. parsed-literal:: 0.0 .. code:: python solver.set_parameter(lp, "objective_sense", "maximize") solver.solve_problem(lp) solver.get_objective_value(lp) .. parsed-literal:: 0.8739215069684304 Example with FVA ---------------- Consider flux variability analysis (FVA), which requires maximizing and minimizing every reaction with the original biomass value fixed at its optimal value. If we used the cobra Model API in a naive implementation, we would do the following: .. code:: python %%time # work on a copy of the model so the original is not changed fva_model = model.copy() # set the lower bound on the objective to be the optimal value f = fva_model.optimize().f for objective_reaction, coefficient in fva_model.objective.items(): objective_reaction.lower_bound = coefficient * f # now maximize and minimze every reaction to find its bounds fva_result = {} for r in fva_model.reactions: fva_model.change_objective(r) fva_result[r.id] = {} fva_result[r.id]["maximum"] = fva_model.optimize(objective_sense="maximize").f fva_result[r.id]["minimum"] = fva_model.optimize(objective_sense="minimize").f .. parsed-literal:: CPU times: user 144 ms, sys: 667 µs, total: 145 ms Wall time: 141 ms Instead, we could use the solver API to do this more efficiently. This is roughly how cobrapy implementes FVA. It keeps uses the same LP object and repeatedly maximizes and minimizes it. This allows the solver to preserve the basis, and is much faster. The speed increase is even more noticeable the larger the model gets. .. code:: python %%time # create the LP object lp = solver.create_problem(model) # set the lower bound on the objective to be the optimal value solver.solve_problem(lp) f = solver.get_objective_value(lp) for objective_reaction, coefficient in model.objective.items(): objective_index = model.reactions.index(objective_reaction) # old objective is no longer the objective solver.change_variable_objective(lp, objective_index, 0.) solver.change_variable_bounds(lp, objective_index, f * coefficient, objective_reaction.upper_bound) # now maximize and minimze every reaction to find its bounds fva_result = {} for index, r in enumerate(model.reactions): solver.change_variable_objective(lp, index, 1.) fva_result[r.id] = {} solver.solve_problem(lp, objective_sense="maximize") fva_result[r.id]["maximum"] = solver.get_objective_value(lp) solver.solve_problem(lp, objective_sense="minimize") fva_result[r.id]["minimum"] = solver.get_objective_value(lp) solver.change_variable_objective(lp, index, 0.) .. parsed-literal:: CPU times: user 9.85 ms, sys: 251 µs, total: 10.1 ms Wall time: 9.94 ms cobrapy-0.4.0b6/ez_setup.py000066400000000000000000000262501263606473700156350ustar00rootroot00000000000000#!/usr/bin/env python """ Setuptools bootstrapping installer. Run this script to install or upgrade setuptools. """ import os import shutil import sys import tempfile import zipfile import optparse import subprocess import platform import textwrap import contextlib import warnings from distutils import log try: from urllib.request import urlopen except ImportError: from urllib2 import urlopen try: from site import USER_SITE except ImportError: USER_SITE = None DEFAULT_VERSION = "15.2" DEFAULT_URL = "https://pypi.python.org/packages/source/s/setuptools/" DEFAULT_SAVE_DIR = os.curdir def _python_cmd(*args): """ Execute a command. Return True if the command succeeded. """ args = (sys.executable,) + args return subprocess.call(args) == 0 def _install(archive_filename, install_args=()): """Install Setuptools.""" with archive_context(archive_filename): # installing log.warn('Installing Setuptools') if not _python_cmd('setup.py', 'install', *install_args): log.warn('Something went wrong during the installation.') log.warn('See the error message above.') # exitcode will be 2 return 2 def _build_egg(egg, archive_filename, to_dir): """Build Setuptools egg.""" with archive_context(archive_filename): # building an egg log.warn('Building a Setuptools egg in %s', to_dir) _python_cmd('setup.py', '-q', 'bdist_egg', '--dist-dir', to_dir) # returning the result log.warn(egg) if not os.path.exists(egg): raise IOError('Could not build the egg.') class ContextualZipFile(zipfile.ZipFile): """Supplement ZipFile class to support context manager for Python 2.6.""" def __enter__(self): return self def __exit__(self, type, value, traceback): self.close() def __new__(cls, *args, **kwargs): """Construct a ZipFile or ContextualZipFile as appropriate.""" if hasattr(zipfile.ZipFile, '__exit__'): return zipfile.ZipFile(*args, **kwargs) return super(ContextualZipFile, cls).__new__(cls) @contextlib.contextmanager def archive_context(filename): """ Unzip filename to a temporary directory, set to the cwd. The unzipped target is cleaned up after. """ tmpdir = tempfile.mkdtemp() log.warn('Extracting in %s', tmpdir) old_wd = os.getcwd() try: os.chdir(tmpdir) with ContextualZipFile(filename) as archive: archive.extractall() # going in the directory subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0]) os.chdir(subdir) log.warn('Now working in %s', subdir) yield finally: os.chdir(old_wd) shutil.rmtree(tmpdir) def _do_download(version, download_base, to_dir, download_delay): """Download Setuptools.""" egg = os.path.join(to_dir, 'setuptools-%s-py%d.%d.egg' % (version, sys.version_info[0], sys.version_info[1])) if not os.path.exists(egg): archive = download_setuptools(version, download_base, to_dir, download_delay) _build_egg(egg, archive, to_dir) sys.path.insert(0, egg) # Remove previously-imported pkg_resources if present (see # https://bitbucket.org/pypa/setuptools/pull-request/7/ for details). if 'pkg_resources' in sys.modules: del sys.modules['pkg_resources'] import setuptools setuptools.bootstrap_install_from = egg def use_setuptools( version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=DEFAULT_SAVE_DIR, download_delay=15): """ Ensure that a setuptools version is installed. Return None. Raise SystemExit if the requested version or later cannot be installed. """ to_dir = os.path.abspath(to_dir) # prior to importing, capture the module state for # representative modules. rep_modules = 'pkg_resources', 'setuptools' imported = set(sys.modules).intersection(rep_modules) try: import pkg_resources pkg_resources.require("setuptools>=" + version) # a suitable version is already installed return except ImportError: # pkg_resources not available; setuptools is not installed; download pass except pkg_resources.DistributionNotFound: # no version of setuptools was found; allow download pass except pkg_resources.VersionConflict as VC_err: if imported: _conflict_bail(VC_err, version) # otherwise, unload pkg_resources to allow the downloaded version to # take precedence. del pkg_resources _unload_pkg_resources() return _do_download(version, download_base, to_dir, download_delay) def _conflict_bail(VC_err, version): """ Setuptools was imported prior to invocation, so it is unsafe to unload it. Bail out. """ conflict_tmpl = textwrap.dedent(""" The required version of setuptools (>={version}) is not available, and can't be installed while this script is running. Please install a more recent version first, using 'easy_install -U setuptools'. (Currently using {VC_err.args[0]!r}) """) msg = conflict_tmpl.format(**locals()) sys.stderr.write(msg) sys.exit(2) def _unload_pkg_resources(): del_modules = [ name for name in sys.modules if name.startswith('pkg_resources') ] for mod_name in del_modules: del sys.modules[mod_name] def _clean_check(cmd, target): """ Run the command to download target. If the command fails, clean up before re-raising the error. """ try: subprocess.check_call(cmd) except subprocess.CalledProcessError: if os.access(target, os.F_OK): os.unlink(target) raise def download_file_powershell(url, target): """ Download the file at url to target using Powershell. Powershell will validate trust. Raise an exception if the command cannot complete. """ target = os.path.abspath(target) ps_cmd = ( "[System.Net.WebRequest]::DefaultWebProxy.Credentials = " "[System.Net.CredentialCache]::DefaultCredentials; " "(new-object System.Net.WebClient).DownloadFile(%(url)r, %(target)r)" % vars() ) cmd = [ 'powershell', '-Command', ps_cmd, ] _clean_check(cmd, target) def has_powershell(): """Determine if Powershell is available.""" if platform.system() != 'Windows': return False cmd = ['powershell', '-Command', 'echo test'] with open(os.path.devnull, 'wb') as devnull: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except Exception: return False return True download_file_powershell.viable = has_powershell def download_file_curl(url, target): cmd = ['curl', url, '--silent', '--output', target] _clean_check(cmd, target) def has_curl(): cmd = ['curl', '--version'] with open(os.path.devnull, 'wb') as devnull: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except Exception: return False return True download_file_curl.viable = has_curl def download_file_wget(url, target): cmd = ['wget', url, '--quiet', '--output-document', target] _clean_check(cmd, target) def has_wget(): cmd = ['wget', '--version'] with open(os.path.devnull, 'wb') as devnull: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except Exception: return False return True download_file_wget.viable = has_wget def download_file_insecure(url, target): """Use Python to download the file, without connection authentication.""" src = urlopen(url) try: # Read all the data in one block. data = src.read() finally: src.close() # Write all the data in one block to avoid creating a partial file. with open(target, "wb") as dst: dst.write(data) download_file_insecure.viable = lambda: True def get_best_downloader(): downloaders = ( download_file_powershell, download_file_curl, download_file_wget, download_file_insecure, ) viable_downloaders = (dl for dl in downloaders if dl.viable()) return next(viable_downloaders, None) def download_setuptools( version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=DEFAULT_SAVE_DIR, delay=15, downloader_factory=get_best_downloader): """ Download setuptools from a specified location and return its filename. `version` should be a valid setuptools version number that is available as an sdist for download under the `download_base` URL (which should end with a '/'). `to_dir` is the directory where the egg will be downloaded. `delay` is the number of seconds to pause before an actual download attempt. ``downloader_factory`` should be a function taking no arguments and returning a function for downloading a URL to a target. """ # making sure we use the absolute path to_dir = os.path.abspath(to_dir) zip_name = "setuptools-%s.zip" % version url = download_base + zip_name saveto = os.path.join(to_dir, zip_name) if not os.path.exists(saveto): # Avoid repeated downloads log.warn("Downloading %s", url) downloader = downloader_factory() downloader(url, saveto) return os.path.realpath(saveto) def _build_install_args(options): """ Build the arguments to 'python setup.py install' on the setuptools package. Returns list of command line arguments. """ return ['--user'] if options.user_install else [] def _parse_args(): """Parse the command line for options.""" parser = optparse.OptionParser() parser.add_option( '--user', dest='user_install', action='store_true', default=False, help='install in user site package (requires Python 2.6 or later)') parser.add_option( '--download-base', dest='download_base', metavar="URL", default=DEFAULT_URL, help='alternative URL from where to download the setuptools package') parser.add_option( '--insecure', dest='downloader_factory', action='store_const', const=lambda: download_file_insecure, default=get_best_downloader, help='Use internal, non-validating downloader' ) parser.add_option( '--version', help="Specify which version to download", default=DEFAULT_VERSION, ) parser.add_option( '--to-dir', help="Directory to save (and re-use) package", default=DEFAULT_SAVE_DIR, ) options, args = parser.parse_args() # positional arguments are ignored return options def _download_args(options): """Return args for download_setuptools function from cmdline args.""" return dict( version=options.version, download_base=options.download_base, downloader_factory=options.downloader_factory, to_dir=options.to_dir, ) def main(): """Install or upgrade setuptools and EasyInstall.""" options = _parse_args() archive = download_setuptools(**_download_args(options)) return _install(archive, _build_install_args(options)) if __name__ == '__main__': sys.exit(main()) cobrapy-0.4.0b6/setup.py000066400000000000000000000171011263606473700151320ustar00rootroot00000000000000from os.path import isfile, abspath, dirname, join from sys import argv, path # To temporarily modify sys.path SETUP_DIR = abspath(dirname(__file__)) try: from setuptools import setup, find_packages except ImportError: path.insert(0, SETUP_DIR) import ez_setup path.pop(0) ez_setup.use_setuptools() from setuptools import setup, find_packages # for running parallel tests due to a bug in python 2.7.3 # http://bugs.python.org/issue15881#msg170215 try: import multiprocessing except: None # import version to get the version string path.insert(0, join(SETUP_DIR, "cobra")) from version import get_version, update_release_version path.pop(0) version = get_version(pep440=True) # If building something for distribution, ensure the VERSION # file is up to date if "sdist" in argv or "bdist_wheel" in argv: update_release_version() # cython is optional for building. The c file can be used directly. However, # for certain functions, the c file must be generated, which requires cython. try: from Cython.Build import cythonize from distutils.version import StrictVersion import Cython try: cython_version = StrictVersion(Cython.__version__) except ValueError: raise ImportError("Cython version not parseable") else: if cython_version < StrictVersion("0.21"): raise ImportError("Cython version too old to use") except ImportError: cythonize = None for k in ["sdist", "develop"]: if k in argv: raise Exception("Cython >= 0.21 required for " + k) # Begin constructing arguments for building setup_kwargs = {} # for building the cglpk solver try: from distutils.extension import Extension from distutils.command.build_ext import build_ext from os import name from platform import system class FailBuild(build_ext): """allow building of the C extension to fail""" def run(self): try: build_ext.run(self) except Exception as e: warn(e) def build_extension(self, ext): try: build_ext.build_extension(self, ext) except: None build_args = {} setup_kwargs["cmdclass"] = {"build_ext": FailBuild} # MAC OS X needs some additional configuration tweaks # Build should be run with the python.org python # Cython will output C which could generate warnings in clang # due to the addition of additional unneeded functions. Because # this is a known phenomenon, these warnings are silenced to # make other potential warnings which do signal errors stand # out. if system() == "Darwin": build_args["extra_compile_args"] = ["-Wno-unused-function"] build_args["libraries"] = ["glpk"] # It is possible to statically link libglpk to the built extension. This # allows for simplified installation without the need to install libglpk to # the system, and is also usueful when installing a particular version of # glpk which conflicts with thesystem version. A static libglpk.a can be # built by running configure with the export CLFAGS="-fPIC" and copying the # file from src/.libs to either the default lib directory or to the build # directory. For an example script, see # https://gist.github.com/aebrahim/94a2b231d86821f7f225 include_dirs = [] library_dirs = [] if isfile("libglpk.a"): library_dirs.append(abspath(".")) if isfile("glpk.h"): include_dirs.append(abspath(".")) # if the glpk files are not in the current directory attempt to # auto-detect their location by finding the location of the glpsol # command if name == "posix" and len(include_dirs) == 0 and len(library_dirs) == 0: from subprocess import check_output try: glpksol_path = check_output(["which", "glpsol"], universal_newlines=True).strip() glpk_path = abspath(join(dirname(glpksol_path), "..")) include_dirs.append(join(glpk_path, "include")) library_dirs.append(join(glpk_path, "lib")) except Exception as e: print('Could not autodetect include and library dirs: ' + str(e)) if len(include_dirs) > 0: build_args["include_dirs"] = include_dirs if len(library_dirs) > 0: build_args["library_dirs"] = library_dirs # use cython if present, otherwise use c file if cythonize: ext_modules = cythonize([Extension("cobra.solvers.cglpk", ["cobra/solvers/cglpk.pyx"], **build_args)], force=True) else: ext_modules = [Extension("cobra.solvers.cglpk", ["cobra/solvers/cglpk.c"], **build_args)] except Exception as e: print('Could not build CGLPK: {}'.format(e)) ext_modules = None extras = { 'matlab': ["pymatbridge"], 'sbml': ["python-libsbml", "lxml"], 'array': ["numpy>=1.6", "scipy>=11.0"], 'display': ["matplotlib", "palettable", "pandas"] } all_extras = {'Cython>=0.21'} for extra in extras.values(): all_extras.update(extra) extras["all"] = list(all_extras) # If using bdist_wininst, the installer will not get dependencies like # a setuptools installation does. Therefore, for the one external dependency, # which is six.py, we can just download it here and include it in the # installer. # The file six.py will need to be manually downloaded and placed in the # same directory as setup.py. if "bdist_wininst" in argv: setup_kwargs["py_modules"] = ["six"] try: import pypandoc readme = pypandoc.convert("README.md", "rst") install = pypandoc.convert("INSTALL.md", "rst") setup_kwargs["long_description"] = readme + "\n\n" + install except: with open("README.md", "r") as infile: setup_kwargs["long_description"] = infile.read() setup( name="cobra", version=version, packages=find_packages(exclude=['cobra.oven', 'cobra.oven*']), setup_requires=[], install_requires=["six"], tests_require=["jsonschema > 2.5"], extras_require=extras, ext_modules=ext_modules, package_data={ '': ['test/data/*', 'VERSION', 'mlab/matlab_scripts/*m']}, author="Daniel Robert Hyduke , " "Ali Ebrahim ", author_email="aebrahim@ucsd.edu", description="COBRApy is a package for constraints-based modeling of " "biological networks", license="LGPL/GPL v2+", keywords="metabolism biology linear programming optimization flux" " balance analysis fba", url="https://opencobra.github.io/cobrapy", test_suite="cobra.test.suite", download_url='https://pypi.python.org/pypi/cobra', classifiers=[ 'Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: GNU Lesser General Public License v2' ' or later (LGPLv2+)', 'License :: OSI Approved :: GNU General Public License v2' ' or later (GPLv2+)', 'Operating System :: OS Independent', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Cython', 'Programming Language :: Python :: Implementation :: CPython', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Bio-Informatics' ], platforms="GNU/Linux, Mac OS X >= 10.7, Microsoft Windows >= 7", **setup_kwargs)