diff --git a/.gitignore b/.gitignore index b39dd5438..f7c6cc11a 100644 --- a/.gitignore +++ b/.gitignore @@ -87,6 +87,7 @@ ipython_config.py # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 # User-specific stuff +.idea/**/*.iml .idea/**/workspace.xml .idea/**/tasks.xml .idea/**/usage.statistics.xml @@ -113,14 +114,15 @@ ipython_config.py # When using Gradle or Maven with auto-import, you should exclude module files, # since they will be recreated, and may cause churn. Uncomment if using # auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr + .idea/artifacts + .idea/compiler.xml + .idea/jarRepositories.xml + .idea/modules.xml + .idea/*.iml + .idea/*.xml + .idea/modules + *.iml + *.ipr # CMake cmake-build-*/ diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 000000000..74459b697 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 000000000..105ce2da2 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 000000000..5d64c867e --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 000000000..c8e807676 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 000000000..94a25f7f4 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/documentation_builder/metadata.ipynb b/documentation_builder/metadata.ipynb new file mode 100644 index 000000000..2889f41c4 --- /dev/null +++ b/documentation_builder/metadata.ipynb @@ -0,0 +1,548 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.0" + }, + "colab": { + "name": "metadata.ipynb", + "provenance": [] + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "bVgYSbcPLbwU", + "colab_type": "text" + }, + "source": [ + "# Metadata\n", + "\n", + "Metadata in the form of annotations, provenance or additional key:value pairs is an important asset for a model.\n", + "Such data can be handled via the `annotation` field on cobra objects" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Rv-QKmAPM8PY", + "colab_type": "text", + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "# History\n", + "\n", + "History attribute, present in the `annotation` attribute of a COBRA component, stores the history of the component like creators, created date and modified date of that component." + ] + }, + { + "cell_type": "code", + "metadata": { + "pycharm": { + "name": "#%%\n" + }, + "id": "EsBAtYeHLbwc", + "colab_type": "code", + "colab": {} + }, + "source": [ + "from cobra.core import Metabolite\n", + "from cobra.core.metadata import History, Creator, HistoryDatetime\n", + "\n", + "metabolite = Metabolite(id=\"glc\", name=\"D-glucose\")\n" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "The dates have to be objects of `HistoryDateTime` class and creators that of `Creator` class. We can add then directly via constructor." + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "history = History(\n", + " creators=[\n", + " Creator(\n", + " first_name=\"Matthias\",\n", + " last_name=\"Koenig\",\n", + " organization_name=\"HU\",\n", + " email=\"test@test.com\",\n", + " ),\n", + " ],\n", + " created_date=HistoryDatetime(\"2020-06-26T02:34:30+05:30\"),\n", + " modified_dates=[\n", + " HistoryDatetime(\"2020-06-26T12:34:11+00:00\"),\n", + " HistoryDatetime(\"2020-06-26T00:34:11+05:30\"),\n", + " ],\n", + " )\n", + "\n", + "metabolite.annotation.history = history" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "Or we can also add them by making object separtely and then adding in the history object." + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "new_creator = Creator(\n", + " first_name=\"Andreas\",\n", + " last_name=\"Draeger\",\n", + " organization_name=\"University of Tübingen\",\n", + " email=\"test2@test2.com\",\n", + " )\n", + "\n", + "metabolite.annotation.history.creators.append(new_creator)\n", + "modified_hdtime = HistoryDatetime()\n", + "modified_hdtime.utcnow()\n", + "metabolite.annotation.history.modified_dates.append(modified_hdtime)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "# CVTerms\n", + "\n", + "CVTerms stands for Controlled Vocabulary Terms, are is used to store the external resources which are linked with the given COBRA component. We can make CVTerm's object either by passing the data directly from the constructor. We can also define the nested data for linked resources." + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "annotation_dict = {\n", + " \"bqb_hasTaxon\": [{\"resources\": [\"http://identifiers.org/taxonomy/511145\"]}],\n", + " \"bqm_is\": [\n", + " {\n", + " \"nested_data\": {\n", + " \"bqb_isDescribedBy\": [\n", + " {\"resources\": [\"https://identifiers.org/pubmed/1111111\"]},\n", + " {\"resources\": [\"https://identifiers.org/eco/ECO:0000004\"]},\n", + " ]\n", + " },\n", + " \"resources\": [\"http://identifiers.org/bigg.model/e_coli_core\"],\n", + " }\n", + " ],\n", + "}\n", + "\n", + "cvterms = CVTerms(annotation_dict)\n", + "metabolite.annotation.cvterms = cvterms\n", + "\n" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "Or we can also add data by making separate `CVTerm` objects and then adding them at a particular index (indexing is done for a single qualifier for adding alternative annotation)." + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "cvterm1 = CVTerm(Qualifier.bqb_isDescribedBy, \"http://identifiers.org/doi/10.1128/ecosalplus.10.2.1\")\n", + "cvterm2 = CVTerm(Qualifier.bqb_isDescribedBy, \"http://identifiers.org/ncbigi/gi:16128336\")\n", + "\n", + "metabolite.annotation.cvterms.add_cvterm(cvterm1, 0)\n", + "metabolite.annotation.cvterms.add_cvterm(cvterm1, 1)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "# KeyValuePairs\n", + "\n", + "The KeyValuePair class is used for storing any type of key-value pair data, which is not suitable to store anywhere else in the model" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + " entry1 = {\n", + " \"id\": \"id1\",\n", + " \"name\": \"abc_xyz\",\n", + " \"key\": \"key1\",\n", + " \"value\": \"45\",\n", + " \"uri\": \"https://tinyurl.com/ybyr7b62\",\n", + " }\n", + " entry2 = KeyValueEntry.from_data({\n", + " \"id\": \"id2\",\n", + " \"name\": \"abc_xyz2\",\n", + " \"key\": \"key2\",\n", + " \"value\": \"48\",\n", + " \"uri\": \"https://tinyurl2.com/ybyr7b62\",\n", + " })\n", + "\n", + " kvp = KeyValuePairs(entries=[entry1, entry2])\n", + " metabolite.annotation.keyvaluepairs = kvp" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "# Notes\n", + "The `notes` field under a COBRA component is used to store the notes data. Though it is not a right place to store key-value pairs, but earlier implementation has left many models where notes field have key-value pairs inside it. The current implementation contains a notes string as well as a notes dictionary, both synchronized with each other. One can only update values inside the notes dictioanry, adding new key-value pairs is restricted. Updating the dictionary will update the notes string also (only the key-value pair part). String manipulation, if required, will have to be done manually." + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "notes_str = (\n", + " '\\\n", + "\\n\\\n", + " \\n\\\n", + "
\\n\\\n", + "

Key1 : Value 1

\\n\\\n", + "

Key2 : Value2

\\n\\\n", + "
\\n\\\n", + "

A Heading

\\n\\\n", + "
e_coli_core - Escherichia coli '\n", + " \"str. K-12 substr. MG1655
\\n\\\n", + "
\\n\\\n", + "

Key3 : Value 3

\\n\\\n", + "
\\n\\\n", + " \\n\\\n", + "
\"\n", + ")\n", + "\n", + "metabolite.notes = Notes(notes_str)\n", + "metabolite.notes[\"Key1\"] = \"New Value1\"" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "metadata": { + "id": "11wwIBGHWM66", + "colab_type": "text" + }, + "source": [ + "notes_str = (\n", + " '\\\n", + "\\n\\\n", + " \\n\\\n", + "
\\n\\\n", + "

Key1 : Value 1

\\n\\\n", + "

Key2 : Value2

\\n\\\n", + "
\\n\\\n", + "

A Heading

\\n\\\n", + "
e_coli_core - Escherichia coli '\n", + " \"str. K-12 substr. MG1655
\\n\\\n", + "
\\n\\\n", + "

Key3 : Value 3

\\n\\\n", + "
\\n\\\n", + " \\n\\\n", + "
\"\n", + ")\n", + "\n", + "metabolite.notes = Notes(notes_str)\n", + "metabolite.notes[\"Key1\"] = \"New Value1\"" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Tmo3MUtpWn8K", + "colab_type": "code", + "colab": {} + }, + "source": [ + "history = History(\n", + " creators=[\n", + " Creator(\n", + " first_name=\"Matthias\",\n", + " last_name=\"Koenig\",\n", + " organization_name=\"HU\",\n", + " email=\"test@test.com\",\n", + " ),\n", + " ],\n", + " created_date=HistoryDatetime(\"2020-06-26T02:34:30+05:30\"),\n", + " modified_dates=[\n", + " HistoryDatetime(\"2020-06-26T12:34:11+00:00\"),\n", + " HistoryDatetime(\"2020-06-26T00:34:11+05:30\"),\n", + " ],\n", + " )\n", + "\n", + "metabolite.annotation.history = history" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6EtjXs5FWsB2", + "colab_type": "text" + }, + "source": [ + "Or we can also add them by making object separtely and then adding in the history object." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "9tiNKucaW1nT", + "colab_type": "code", + "colab": {} + }, + "source": [ + "new_creator = Creator(\n", + " first_name=\"Andreas\",\n", + " last_name=\"Draeger\",\n", + " organization_name=\"University of Tübingen\",\n", + " email=\"test2@test2.com\",\n", + " )\n", + "\n", + "metabolite.annotation.history.creators.append(new_creator)\n", + "modified_hdtime = HistoryDatetime()\n", + "modified_hdtime.utcnow()\n", + "metabolite.annotation.history.modified_dates.append(modified_hdtime)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "wXst9A76PuoJ", + "colab_type": "text" + }, + "source": [ + "# CVTerms\n", + "\n", + "CVTerms stands for Controlled Vocabulary Terms, are is used to store the external resources which are linked with the given COBRA component. We can make CVTerm's object either by passing the data directly from the constructor. We can also define the nested data for linked resources." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "whC9AASSQKnn", + "colab_type": "code", + "colab": {} + }, + "source": [ + "annotation_dict = {\n", + " \"bqb_hasTaxon\": [{\"resources\": [\"http://identifiers.org/taxonomy/511145\"]}],\n", + " \"bqm_is\": [\n", + " {\n", + " \"nested_data\": {\n", + " \"bqb_isDescribedBy\": [\n", + " {\"resources\": [\"https://identifiers.org/pubmed/1111111\"]},\n", + " {\"resources\": [\"https://identifiers.org/eco/ECO:0000004\"]},\n", + " ]\n", + " },\n", + " \"resources\": [\"http://identifiers.org/bigg.model/e_coli_core\"],\n", + " }\n", + " ],\n", + "}\n", + "\n", + "cvterms = CVTerms(annotation_dict)\n", + "metabolite.annotation.cvterms = cvterms\n", + "\n" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-BP4wL2JXUlK", + "colab_type": "text" + }, + "source": [ + "Or we can also add data by making separate `CVTerm` objects and then adding them at a particular index (indexing is done for a single qualifier for adding alternative annotation)." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "DEyuH1cqXoar", + "colab_type": "code", + "colab": {} + }, + "source": [ + "cvterm1 = CVTerm(Qualifier.bqb_isDescribedBy, \"http://identifiers.org/doi/10.1128/ecosalplus.10.2.1\")\n", + "cvterm2 = CVTerm(Qualifier.bqb_isDescribedBy, \"http://identifiers.org/ncbigi/gi:16128336\")\n", + "\n", + "metabolite.annotation.cvterms.add_cvterm(cvterm1, 0)\n", + "metabolite.annotation.cvterms.add_cvterm(cvterm1, 1)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "olUCYEdwSw6k", + "colab_type": "text" + }, + "source": [ + "# KeyValuePairs\n", + "\n", + "The KeyValuePair class is used for storing any type of key-value pair data, which is not suitable to store anywhere else in the model" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ENKACjXES9k1", + "colab_type": "code", + "colab": {} + }, + "source": [ + " entry1 = {\n", + " \"id\": \"id1\",\n", + " \"name\": \"abc_xyz\",\n", + " \"key\": \"key1\",\n", + " \"value\": \"45\",\n", + " \"uri\": \"https://tinyurl.com/ybyr7b62\",\n", + " }\n", + " entry2 = KeyValueEntry.from_data({\n", + " \"id\": \"id2\",\n", + " \"name\": \"abc_xyz2\",\n", + " \"key\": \"key2\",\n", + " \"value\": \"48\",\n", + " \"uri\": \"https://tinyurl2.com/ybyr7b62\",\n", + " })\n", + "\n", + " kvp = KeyValuePairs(entries=[entry1, entry2])\n", + " metabolite.annotation.keyvaluepairs = kvp" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Rl3UV44OTe4Q", + "colab_type": "text" + }, + "source": [ + "# Notes\n", + "The `notes` field under a COBRA component is used to store the notes data. Though it is not a right place to store key-value pairs, but earlier implementation has left many models where notes field have key-value pairs inside it. The current implementation contains a notes string as well as a notes dictionary, both synchronized with each other. One can only update values inside the notes dictioanry, adding new key-value pairs is restricted. Updating the dictionary will update the notes string also (only the key-value pair part). String manipulation, if required, will have to be done manually." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "psrA4ROmU4X6", + "colab_type": "code", + "colab": {} + }, + "source": [ + "notes_str = (\n", + " '\\\n", + "\\n\\\n", + " \\n\\\n", + "
\\n\\\n", + "

Key1 : Value 1

\\n\\\n", + "

Key2 : Value2

\\n\\\n", + "
\\n\\\n", + "

A Heading

\\n\\\n", + "
e_coli_core - Escherichia coli '\n", + " \"str. K-12 substr. MG1655
\\n\\\n", + "
\\n\\\n", + "

Key3 : Value 3

\\n\\\n", + "
\\n\\\n", + " \\n\\\n", + "
\"\n", + ")\n", + "\n", + "metabolite.notes = Notes(notes_str)\n", + "metabolite.notes[\"Key1\"] = \"New Value1\"" + ], + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 1ce24597b..4f7a61e3e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -6,7 +6,7 @@ parse = (?P\d+) \.(?P\d+) \.(?P\d+) (?P[a]*)(?P\d*) -serialize = +serialize = {major}.{minor}.{patch}{release}{num} {major}.{minor}.{patch} tag_name = {new_version} @@ -15,7 +15,7 @@ tag_name = {new_version} name = cobra url = https://opencobra.github.io/cobrapy download_url = https://pypi.org/project/cobra -project_urls = +project_urls = Source Code = https://github.com/opencobra/cobrapy Documentation = https://cobrapy.readthedocs.io Bug Tracker = https://github.com/opencobra/cobrapy/issues @@ -23,7 +23,7 @@ author = The cobrapy core development team. author_email = cobra-pie@googlegroups.com maintainer = Moritz E. Beber maintainer_email = moritz.beber@gmail.com -classifiers = +classifiers = Development Status :: 5 - Production/Stable Intended Audience :: Science/Research License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) @@ -39,7 +39,7 @@ license = LGPL-2.0-or-later OR GPL-2.0-or-later description = COBRApy is a package for constraint-based modeling of metabolic networks. long_description = file: README.rst, INSTALL.rst long_description_content_type = text/x-rst -keywords = +keywords = metabolism biology constraint-based @@ -51,7 +51,7 @@ keywords = [options] zip_safe = True -install_requires = +install_requires = depinfo future importlib_resources @@ -62,24 +62,25 @@ install_requires = ruamel.yaml ~= 0.16 six swiglpk -tests_require = + jsonschema +tests_require = tox packages = find: -package_dir = +package_dir = = src [options.packages.find] where = src [options.package_data] -cobra = +cobra = io/*.json test/data/* [options.extras_require] -array = +array = scipy -development = +development = black bumpversion isort @@ -91,7 +92,7 @@ universal = 1 [bumpversion:part:release] optional_value = placeholder first_value = placeholder -values = +values = placeholder a diff --git a/src/cobra/core/__init__.py b/src/cobra/core/__init__.py index ef0d59bbd..d616e97b8 100644 --- a/src/cobra/core/__init__.py +++ b/src/cobra/core/__init__.py @@ -1,10 +1,11 @@ from cobra.core.configuration import Configuration from cobra.core.dictlist import DictList from cobra.core.gene import Gene +from cobra.core.group import Group from cobra.core.metabolite import Metabolite +from cobra.core.metadata import * from cobra.core.model import Model from cobra.core.object import Object from cobra.core.reaction import Reaction -from cobra.core.group import Group -from cobra.core.solution import Solution, LegacySolution, get_solution +from cobra.core.solution import LegacySolution, Solution, get_solution from cobra.core.species import Species diff --git a/src/cobra/core/formula.py b/src/cobra/core/formula.py index dc37d5ad2..fe440f903 100644 --- a/src/cobra/core/formula.py +++ b/src/cobra/core/formula.py @@ -16,7 +16,6 @@ class Formula(Object): """Describes a Chemical Formula - Parameters --------- formula : string @@ -32,12 +31,10 @@ def __init__(self, formula=None): def __add__(self, other_formula): """Combine two molecular formulas. - Parameters ---------- other_formula : Formula, str string for a chemical formula - Returns ------- Formula @@ -84,7 +81,6 @@ def parse_composition(self): @property def weight(self): """Calculate the mol mass of the compound - Returns ------- float diff --git a/src/cobra/core/metabolite.py b/src/cobra/core/metabolite.py index ef918b210..a46ced81e 100644 --- a/src/cobra/core/metabolite.py +++ b/src/cobra/core/metabolite.py @@ -246,10 +246,7 @@ def summary(self, solution=None, fva=None): from cobra.summary import MetaboliteSummary return MetaboliteSummary( - metabolite=self, - model=self._model, - solution=solution, - fva=fva, + metabolite=self, model=self._model, solution=solution, fva=fva, ) def _repr_html_(self): diff --git a/src/cobra/core/metadata/__init__.py b/src/cobra/core/metadata/__init__.py new file mode 100644 index 000000000..27fdea1e4 --- /dev/null +++ b/src/cobra/core/metadata/__init__.py @@ -0,0 +1,11 @@ +from cobra.core.metadata.cvterm import ( + CVList, + CVTerm, + CVTerms, + ExternalResources, + Qualifier, +) +from cobra.core.metadata.history import Creator, History, HistoryDatetime +from cobra.core.metadata.keyvaluepairs import KeyValuePairs +from cobra.core.metadata.metadata import MetaData +from cobra.core.metadata.notes import Notes diff --git a/src/cobra/core/metadata/cvterm.py b/src/cobra/core/metadata/cvterm.py new file mode 100644 index 000000000..49b06def3 --- /dev/null +++ b/src/cobra/core/metadata/cvterm.py @@ -0,0 +1,572 @@ +""" Define the Controlled Vocabulary term class.""" + +import collections +import re +from collections import OrderedDict, defaultdict +from enum import Enum +from typing import Dict, Iterator, List, Tuple, Union +from warnings import warn + + +class Qualifier(Enum): + """The possible qualifiers inside a CVTerm""" + + bqb_is = 0 + bqb_hasPart = 1 + bqb_isPartOf = 2 + bqb_isVersionOf = 3 + bqb_hasVersion = 4 + bqb_isHomologTo = 5 + bqb_isDescribedBy = 6 + bqb_isEncodedBy = 7 + bqb_encodes = 8 + bqb_occursIn = 9 + bqb_hasProperty = 10 + bqb_isPropertyOf = 11 + bqb_hasTaxon = 12 + bqb_unknown = 13 + bqm_is = 14 + bqm_isDescribedBy = 15 + bqm_isDerivedFrom = 16 + bqm_isInstanceOf = 17 + bqm_hasInstance = 18 + bqm_unknown = 19 + + +# the URL pattern to parse provider and identifier +URL_IDENTIFIERS_PATTERN = re.compile(r"^https?://identifiers.org/(.+?)[:/](.+)") + + +class CVTerm: + """Representation of a single CVTerm. + + Parameters + ---------- + qualifier : Qualifier + the qualifier relation of resource to the component + resource : string + a uri identifying external resource + """ + + def __init__(self, qualifier: Qualifier = Qualifier.bqb_is, resource: str = None): + self.uri = resource + if isinstance(qualifier, Qualifier): + self.qualifier = qualifier + elif isinstance(qualifier, str): + if qualifier not in Qualifier.__members__: + raise TypeError(f"{qualifier} is not a supported enum Qualifier") + else: + self.qualifier = Qualifier[qualifier] + else: + raise TypeError(f"{qualifier} is not a supported enum Qualifier") + + def parse_provider_identifier(self) -> Tuple: + """Parses provider and identifier term from given resource uri. + + Returns + ------- + (provider, identifier) if resolvable, None otherwise + """ + if self.uri is None: + raise ValueError(f"'uri' set for this cvterm is None: {self}") + else: + match = URL_IDENTIFIERS_PATTERN.match(self.uri) + if match: + provider, identifier = match.group(1), match.group(2) + if provider.isupper(): + identifier = f"{provider}:{identifier}" + provider = provider.lower() + else: + warn( + f"{self.uri} does not conform to " + f"'http(s)://identifiers.org/collection/id' or " + f"'http(s)://identifiers.org/COLLECTION:id, so " + f"is not added to annotation dictionary." + ) + return None + + return provider, identifier + + +class CVTerms(collections.MutableMapping): + """ + Representation of all CVTerms of an object in their + dependency structure. It is like a dictionary where + qualifier will be keys and CVList will be corresponding values. + + Parameters + ---------- + data : dict + a dictionary mapping qualifier to its CVList/List + + This is how a CVTerms looks : + { + "bqb_is": [ + { + "resources": [ + "resource_uri", + ... + ], + "nested_data": CVTerms Object + }, + ... + ], + ... + } + + 1. The only way to add annotation data via old format is by + using the method "add_simple_annotations()". + 2. Single CVTerm data can be added by using "add_cvterm()". + 3. Multiple CVTerm data can be added by using "add_cvterms()". + """ + + def __init__(self, data: Dict = None): + + # storing data in old annotation format + self._annotations = defaultdict(list) + + # storing data in new annotation format + # as described above + self._cvterms = defaultdict(CVList) + + if data is None: + return + elif isinstance(data, dict): + for key, value in data.items(): + self.__setitem__(key, value) + else: + raise TypeError(f"Invalid format for CVTerms: '{data}'") + + @staticmethod + def from_data(data: Union[Dict, "CVTerms"]) -> "CVTerms": + """Parses a CVTerms object from given data""" + if data is None or isinstance(data, dict): + return CVTerms(data) + elif isinstance(data, CVTerms): + return data + else: + raise TypeError(f"Invalid format for CVTerms: '{data}'") + + def to_dict(self) -> dict: + """Represent a CVTerm object in python dict""" + cv_dict = OrderedDict() + for key, value in self._cvterms.items(): + cvlist = [] + for ex_res in value: + cvlist.append(ex_res.to_dict()) + cv_dict[key] = cvlist + return cv_dict + + def add_cvterm(self, cvterm: CVTerm, index: int = 0) -> None: + """ + Adds a single CVTerm to CVTerms at given index position + corresponding to the passed qualifier. + + Parameters + ---------- + cvterm : CVTerm + the cvterm to be added + index : int + the index where this cvterm should be added inside + the CVList of corresponding qualifier + """ + if isinstance(cvterm, CVTerm): + qual = str(cvterm.qualifier) + qual = qual[10:] if qual.startswith("Qualifier.") else qual + data = cvterm.parse_provider_identifier() + if data is not None: + provider, identifier = data + self._annotations[provider].append(identifier) + else: + raise TypeError(f"The CVTerm passed must be a CVTerm object: {cvterm}") + + if index < len(self[qual]): + self[qual][index].resources.append(cvterm.uri) + elif index == len(self[qual]): + self[qual].append({"resources": [cvterm.uri]}) + else: + raise UnboundLocalError(f"The index is out of bound: {index}") + + def add_cvterms(self, cvterms: Union[Dict, "CVTerms"] = None) -> None: + """ + Adds multiple CVTerm to CVTerms. + + Parameters + ---------- + cvterms : CVTerms or dict (to be added in CVTerms dict) + the cvterms to be added + """ + if cvterms is None: + return + + if isinstance(cvterms, dict) or isinstance(cvterms, CVTerms): + parsed_cvterms = CVTerms.from_data(cvterms) + for key, value in parsed_cvterms.items(): + + offset = len(self[key]) + for index in range(len(value)): + external_res = value[index] + res_list = external_res.resources + for uri in res_list: + cvterm = CVTerm(Qualifier[key], uri) + self.add_cvterm(cvterm, index + offset) + if ( + external_res.nested_data is not None + and len(external_res.nested_data) != 0 + ): + self[key][index + offset].nested_data = external_res.nested_data + else: + raise TypeError(f"The value passed must be of type CVTerms: {cvterms}") + + def add_simple_annotations(self, data: Union[Dict, List] = None) -> None: + """ + Adds cvterms via old annotation format. If no qualifier + is linked to the identifier, default qualifier i.e "bqb_is" + will be used. + + Parameters + ---------- + data : dict + the data in old annotation format + """ + if data is None: + data = {} + + # if annotation is in the form of list of list, modify the format + # https://github.com/opencobra/cobrapy/issues/736 + if isinstance(data, list): + dict_anno = defaultdict(list) + for item in data: + cvt = CVTerm(resource=item[1]) + data = cvt.parse_provider_identifier() + if data is None: + continue + else: + provider, identifier = data + + dict_anno[provider].append(identifier) + data = dict_anno + + if not isinstance(data, dict): + raise TypeError(f"The data passed must be of type dict: {data}") + + for key, value in data.items(): + + # addition of "sbo" term + if key == "sbo": + if isinstance(value, str): + self._annotations[key] = list([value]) + elif isinstance(value, list): + self._annotations[key] = list(value) + else: + raise TypeError( + f"'sbo' terms must be wrapped inside a list: {value}" + ) + continue + + # if single identifiers are put directly as string, + # put them inside a list. For eg: + # { "chebi": "CHEBI:17234"} -> { "chebi": ["CHEBI:17234"]} + if isinstance(value, str) and key != "sbo": + data[key] = [value] + value = [value] + if not isinstance(value, list): + raise TypeError(f"The value passed must be of type list: {value}") + if not isinstance(key, str): + raise TypeError(f"The key passed must be of type string: {key}") + + # adding data one by one + for identifier in value: + cvterm = CVTerm() + + # if no qualifier is linked to identifier i.e annotation + # of the form { "chebi": ["CHEBI:17234"]} + if isinstance(identifier, str): + cvterm.uri = "https://identifiers.org/" + key + "/" + identifier + cvterm.qualifier = Qualifier["bqb_is"] + # if some qualifier is linked to the identifier i.e annotation + # of the form { "chebi": ["bqb_is", "CHEBI:17234"]} + elif isinstance(identifier, list): + cvterm.uri = "https://identifiers.org/" + key + "/" + identifier[1] + cvterm.qualifier = Qualifier[identifier[0]] + else: + raise TypeError( + f"The identifier passed must be of type string: {identifier}" + ) + self.add_cvterm(cvterm, 0) + + @property + def annotations(self) -> Dict: + """Annotation in old format""" + return self._annotations + + def __getitem__(self, key: str) -> "CVList": + """Get CVList corresponding to a qualifier""" + if key not in Qualifier.__members__: + raise TypeError(f"'{key}' is not an valid Qualifier.") + return self._cvterms[key] + + def __setitem__(self, key: str, value: Union[List, "CVList"]) -> None: + """Adds data to the CVTerm dict. 'key' has to be a Qualifier + name string like "bqb_is" or "bqm_is" and value has to be a + List/CVList object corresponding to that qualifier. + """ + # setting the cvterm + if key not in Qualifier.__members__: + raise TypeError(f"{key} is not an enum Qualifier") + if isinstance(value, list): + self._cvterms[key] = CVList(value) + elif isinstance(value, CVList): + self._cvterms[key] = value + else: + raise TypeError(f"The value passed must be of type list or CVList: {value}") + + # update the old annotation data + for ex_res in self._cvterms[key]: + for uri in ex_res.resources: + cvterm = CVTerm(Qualifier[key], uri) + data = cvterm.parse_provider_identifier() + if data is not None: + provider, identifier = data + self._annotations[provider].append(identifier) + + def __eq__(self, other: "CVTerms") -> bool: + """Compare two CVTerms objects to find out whether they + are same (have same data) or not + """ + if len(self._cvterms) != len(other): + return False + for key, value in other.items(): + if key not in self._cvterms: + return False + if not value == self._cvterms[key]: + return False + return True + + def __delitem__(self, key: str) -> None: + del self._cvterms[key] + + def __iter__(self) -> Iterator: + return iter(self._cvterms) + + def __len__(self) -> int: + return len(self._cvterms) + + def __str__(self) -> str: + return str(dict(self._cvterms)) + + def __repr__(self) -> str: + return self.__str__() + + +class CVList(collections.MutableSequence): + """ + Class representation of all sets of resources and their nested + annotation corresponding to a given qualifier. It have similar + structure like that of a list but has only restricted type of + entries (of type ExternalResources) within it. This list will + have more than one entry inside it only in the case of alternative + set of resources linked to a given qualifier. + + CVList : [ + { + "resources" : [], + "nested_data" : CVTerm + }, + { + "resources" : [], + "nested_data" : CVTerm + }, + ... + ] + + Parameters + ---------- + cvlist : list + a list containing entries confirming to ExternalResources structure + + """ + + def __init__(self, data: List = None): + + self._sequence = list() + if data is None: + data = [] + elif not isinstance(data, list): + raise TypeError(f"The data passed must be inside a list: '{data}'") + for item in data: + self.append(item) + + def insert(self, index: int, value: Union[Dict, "ExternalResources"]) -> None: + """Insert a ExternalResource object at given index.""" + + if isinstance(value, ExternalResources): + self._sequence.insert(index, value) + elif isinstance(value, dict): + self._sequence.insert(index, ExternalResources(value)) + else: + raise TypeError( + f"The passed object for setting external " + f"resources has invalid format: {value}" + ) + + def append(self, value: Union[Dict, "ExternalResources"]) -> None: + """Append a ExternalResource object to this list.""" + + if isinstance(value, ExternalResources): + self._sequence.append(value) + elif isinstance(value, dict): + self._sequence.append(ExternalResources(value)) + else: + raise TypeError( + f"The passed object for setting external " + f"resources has invalid format: {value}" + ) + + def __getitem__(self, index: int) -> "ExternalResources": + return self._sequence[index] + + def __setitem__(self, index: int, value: Union[Dict, "ExternalResources"]) -> None: + if isinstance(value, ExternalResources): + self._sequence[index] = value + elif isinstance(value, dict): + self._sequence[index] = ExternalResources(value) + else: + raise TypeError( + f"The passed object for setting external " + f"resources has invalid format: {value}" + ) + + def __eq__(self, other: "CVList") -> bool: + """ Compare two CVList objects to find out whether + they are same (have same data) or not + """ + if len(self) != len(other): + return False + for k, ext_res in enumerate(self): + if not ext_res == other[k]: + return False + return True + + def __len__(self) -> int: + return len(self._sequence) + + def __delitem__(self, index: int) -> None: + del self._sequence[index] + + def __str__(self) -> str: + return str(self._sequence) + + def __repr__(self) -> str: + return f"{list(self._sequence)}" + + +class ExternalResources: + """ + Class representation of a single set of resources and its nested + annotation. Its a special type of dict with restricted keys and + values + + Parameters + ---------- + data : dict + A dictionary containing the resources and nested annotation + { + "resources" : [], + "nested_data" : CVTerms + } + + Allowed Keys + ---------- + "resources" : list + for accessing the mapped resources + "nested_data" : CVTerms + for accessing the nested annotation data + + """ + + def __init__(self, data: Dict = None): + if data is None: + data = {} + if not isinstance(data, dict): + raise TypeError("The value passed must be of type dict.") + self.resources = data["resources"] if "resources" in data else None + self.nested_data = data["nested_data"] if "nested_data" in data else None + for key, value in data.items(): + if key == "resources": + continue + elif key == "nested_data": + continue + elif key in Qualifier.__members__: + self._nested_data = CVTerms({key: value}) + else: + raise ValueError( + f"Key '{key}' is not allowed. Only " + f"allowed keys are 'resources', " + f"'nested_data'." + ) + + @property + def resources(self) -> List: + return self._resources + + @resources.setter + def resources(self, value: List) -> None: + if value is None: + self._resources = None + elif not isinstance(value, list): + raise TypeError(f"The resources must be wrapped inside a list: {value}") + else: + self._resources = value + + @property + def nested_data(self) -> CVTerms: + return self._nested_data + + @nested_data.setter + def nested_data(self, value: Union[Dict, CVTerms]): + if value is None: + self._nested_data = None + elif isinstance(value, CVTerms): + self._nested_data = value + elif isinstance(value, dict): + self._nested_data = CVTerms(value) + else: + raise TypeError( + f"The nested data structure does not have valid CVTerm format: {value}" + ) + + def to_dict(self): + """Represents a ExternalResource object as python dict""" + resources = [] + for resource in self._resources: + resources.append(resource) + ex_dic = {"resources": resources} + if self.nested_data is None: + return ex_dic + ex_dic["nested_data"] = self.nested_data.to_dict() + return ex_dic + + def __eq__(self, other: "ExternalResources") -> bool: + """ + Compare two ExternalResources objects to find out whether + they are same (have same data) or not + """ + if self.resources != other.resources: + return False + if self.nested_data is None and other.nested_data is None: + return True + elif self.nested_data is None or other.nested_data is None: + return False + elif not self.nested_data == other.nested_data: + return False + return True + + def __str__(self) -> str: + if self.nested_data is None: + return str({"resources": self.resources}) + else: + return str({"resources": self.resources, "nested_data": self.nested_data}) + + def __repr__(self) -> str: + return self.__str__() diff --git a/src/cobra/core/metadata/history.py b/src/cobra/core/metadata/history.py new file mode 100644 index 000000000..f0e817646 --- /dev/null +++ b/src/cobra/core/metadata/history.py @@ -0,0 +1,291 @@ +""" +The history allows to encode provenance meta-data about +model objects. The history allows to encode who created or modified +objects in a model with respective time stamps. +""" +from datetime import datetime +from typing import Dict, Iterable, List, Union + + +class History: + """History object encoding object provenance. + + Parameters + ---------- + creators : list + A list of Creators + created_date : HistoryDatetime + The datetime of creation in W3CDTF ISO 8601 format + modified_dates : list + A list of datetimes when the object was modified. + """ + + def __init__( + self, + creators: List["Creator"] = None, + created_date: "HistoryDatetime" = None, + modified_dates: List["HistoryDatetime"] = None, + ): + self._creators = list() + self._created_date = None + self._modified_dates = list() + + # use properties to set fields + self.creators = creators + self.created_date = created_date + self.modified_dates = modified_dates + + @property + def creators(self) -> List: + return self._creators + + @creators.setter + def creators(self, values: Iterable["Creator"]) -> None: + self._creators = list() + if values: + self._creators = [Creator.from_data(v) for v in values] + + @property + def created_date(self) -> "HistoryDatetime": + return self._created_date + + @created_date.setter + def created_date(self, date: Union[str, "HistoryDateTime"]) -> None: + self._created_date = HistoryDatetime(date) + + @property + def modified_dates(self) -> List: + return self._modified_dates + + @modified_dates.setter + def modified_dates(self, dates: Iterable[Union[str, "HistoryDateTime"]]) -> None: + self._modified_dates = list() + if dates: + self._modified_dates = [HistoryDatetime(d) for d in dates] + + @staticmethod + def from_data(data: Union[Dict, "History"]) -> "History": + """Parse history from data.""" + if data is None: + return History() + elif isinstance(data, History): + return data + elif isinstance(data, dict): + return History(**data) + else: + raise TypeError(f"Unsupported type for History: '{data}'") + + def is_empty(self) -> bool: + """Checks if history is empty. + + Returns False if at least one history attribute is set, else True. + """ + if self.creators: + return False + if self.created_date.datetime: + return False + if self.modified_dates: + return False + return True + + def __eq__(self, history: "History") -> bool: + """ Checking equality of two history objects. + + A history is equal if all attributes are equal. + """ + # check equality of creators + if len(self.creators) != len(history.creators): + return False + for k, creator in enumerate(self.creators): + if creator != history.creators[k]: + return False + + # checking equality of created_date + if self.created_date != history.created_date: + return False + + # checking equality of modified_dates + if len(self.modified_dates) != len(history.modified_dates): + return False + for k, modified_date in enumerate(self.modified_dates): + if modified_date != history.modified_dates[k]: + return False + + return True + + def to_dict(self): + """Returns dictionary representation.""" + modified_dates = [] + for modified_date in self._modified_dates: + modified_dates.append(modified_date.datetime) + return { + "creators": [c.to_dict() for c in self.creators], + "created_date": self.created_date.datetime, + "modified_dates": modified_dates, + } + + def __str__(self) -> str: + return str(self.to_dict()) + + def __repr__(self): + return f"<{self.__class__.__name__} {self.creators}>" + + +class Creator: + """Metadata for person who created an object. + + Parameters + ---------- + first_name : str, + last_name : str, + email : str, + organization_name : str + """ + + def __init__( + self, + first_name: str = None, + last_name: str = None, + email: str = None, + organization_name: str = None, + ): + self.first_name = first_name # type: str + self.last_name = last_name # type: str + self.email = email # type: str + self.organization_name = organization_name # type: str + + @staticmethod + def from_data(data: Union[Dict, "Creator"]) -> "Creator": + """Parse creator from data.""" + if not data: + return Creator() + elif isinstance(data, Creator): + return data + elif isinstance(data, dict): + return Creator(**data) + else: + raise TypeError(f"Invalid format for Creator: {data}") + + def __eq__(self, creator_obj: "Creator") -> bool: + """Compare creator objects for equality + + Two creators are equal if all fields are equal. + """ + if ( + self.first_name != creator_obj.first_name + or self.last_name != creator_obj.last_name + or self.email != creator_obj.email + or self.organization_name != creator_obj.organization_name + ): + return False + + return True + + def to_dict(self): + return { + "first_name": self.first_name, + "last_name": self.last_name, + "email": self.email, + "organization_name": self.organization_name, + } + + def __str__(self) -> str: + return str(self.to_dict()) + + def __repr__(self): + return f"<{self.__class__.__name__} {self.first_name} {self.last_name}>" + + +class HistoryDatetime: + """Datetime allowed in a model history. + + This class make sure that datetimes are of the form: + %Y-%m-%dT%H:%M:%S%z + + Parameter + --------- + datetime: str, datetime + date in the form of a string + """ + + def __init__(self, history_datetime: str = None): + self._datetime = None # type: str + self.datetime = history_datetime + + @property + def datetime(self) -> str: + return self._datetime + + @datetime.setter + def datetime(self, value: str) -> None: + self._datetime = self.parse_datetime(value) + + def parse_datetime(self, value: str) -> str: + if value is None: + return None + if isinstance(value, HistoryDatetime): + return value.datetime + elif isinstance(value, str): + self.validate_datetime(value) + return value + elif isinstance(value, datetime): + return value.strftime("%Y-%m-%dT%H:%M:%S%z") + else: + raise TypeError( + f"Invalid type passed for datetime. " + f"Accepted types are 'str' or " + f"'datetime' objects: {value}" + ) + + @staticmethod + def utcnow() -> "HistoryDatetime": + """HistoryDatetime with current UTC time.""" + utcnow = datetime.utcnow() + value = utcnow.strftime("%Y-%m-%dT%H:%M:%S%z") + return HistoryDatetime(value) + + @staticmethod + def validate_datetime(datetime_str: str) -> bool: + """Validate if the date format is of type w3cdtf ISO 8601. + + Raises ValueError if not valid. + """ + if not isinstance(datetime_str, str): + raise TypeError( + f"The date passed must be of " f"type string: {datetime_str}" + ) + + # python 3.6 doesn't allow : (colon) in the utc offset. + try: + datetime.strptime(datetime_str, "%Y-%m-%dT%H:%M:%S%z") + except ValueError as e: + # checking for python 3.6 + if "Z" in datetime_str: + try: + datetime.strptime( + datetime_str.replace("Z", ""), "%Y-%m-%dT%H:%M:%S" + ) + except ValueError as e1: + raise ValueError(str(e1)) + return False + return True + else: + utcoff = datetime_str[20:25] + utcoff_p36 = utcoff.replace(":", "") + date_p36 = datetime_str.replace(utcoff, utcoff_p36) + try: + datetime.strptime(date_p36, "%Y-%m-%dT%H:%M:%S%z") + except ValueError: + raise ValueError(str(e)) + return True + + return True + + def __eq__(self, history_datetime: "HistoryDatetime") -> bool: + return self.datetime == history_datetime.datetime + + def __str__(self) -> str: + return self.datetime + + def __repr__(self): + return f"<{self.__class__.__name__} {self.datetime}>" diff --git a/src/cobra/core/metadata/keyvaluepairs.py b/src/cobra/core/metadata/keyvaluepairs.py new file mode 100644 index 000000000..93d0659e7 --- /dev/null +++ b/src/cobra/core/metadata/keyvaluepairs.py @@ -0,0 +1,101 @@ +from collections import OrderedDict +from collections.abc import MutableMapping +from typing import Dict, Iterable, Union + + +class KeyValueEntry: + """ Single key-value entry. + + The key is an attribute on the entry. + + Parameters + ---------- + id : str + name : str + key : str + value : str + uri : str + """ + + def __init__( + self, + id: str = None, + name: str = None, + key: str = None, + value: str = None, + uri: str = None, + ): + self.id = id + self.name = name + self.key = key + self.value = value + self.uri = uri + + @staticmethod + def from_data(data: Union[Dict, "KeyValueEntry"]) -> "KeyValueEntry": + """ Makes a KeyValueDict object using the data passed. """ + if data is None: + return KeyValueEntry() + elif isinstance(data, KeyValueEntry): + return data + elif isinstance(data, dict): + return KeyValueEntry(**data) + else: + raise TypeError(f"Invalid format for KeyValueEntry: '{data}'") + + def to_dict(self) -> dict: + return { + "id": self.id, + "name": self.name, + "key": self.key, + "value": self.value, + "uri": self.uri, + } + + def __str__(self) -> str: + return str(self.to_dict()) + + def __repr__(self) -> str: + return f"<{self.__class__.__name__} ({self.key}, {self.value}, {self.uri})>" + + +class KeyValuePairs(MutableMapping): + """An OrderedDict extension to store KeyValueEntries + + Parameters + ---------- + entries : Iterable + an iterable containing entry information + """ + + def __init__(self, entries: Iterable[Union[Dict, KeyValueEntry]] = None): + self.mapping = OrderedDict() # type: OrderedDict[str, KeyValueEntry] + if entries: + for item in entries: + entry = KeyValueEntry.from_data(item) + self.mapping[entry.key] = entry + + def __getitem__(self, key: str) -> KeyValueEntry: + return self.mapping.__getitem__(key) + + def __setitem__(self, key: str, item: Union[Dict, KeyValueEntry]) -> None: + entry = KeyValueEntry.from_data(item) + self.mapping[key] = entry + + def __len__(self) -> int: + return len(self.mapping) + + def __iter__(self): + return iter(self.mapping) + + def __delitem__(self, key: str) -> None: + del self.mapping[key] + + def __str__(self) -> str: + return str(self.to_dict()) + + def __repr__(self) -> str: + return f"<{self.__class__.__name__} [{len(self)}]>" + + def to_dict(self) -> dict: + return {k: v.to_dict() for k, v in self.mapping.items()} diff --git a/src/cobra/core/metadata/metadata.py b/src/cobra/core/metadata/metadata.py new file mode 100644 index 000000000..840943522 --- /dev/null +++ b/src/cobra/core/metadata/metadata.py @@ -0,0 +1,145 @@ +from collections import MutableMapping, OrderedDict +from typing import Dict, Iterator, List, Union + +from cobra.core.metadata.cvterm import CVTerms +from cobra.core.metadata.history import Creator, History, HistoryDatetime +from cobra.core.metadata.keyvaluepairs import KeyValuePairs + + +class MetaData(MutableMapping): + """Meta-data of a cobrapy object. + + Meta-data encodes additional information on an object such as annotations + or notes. Such information is currently stored in SBML on the notes and + annotation fields. + + Meta-data consists of three components: + - CVTerms: storing resource:identifier annotation information. The annotation + information is exposed via the dict interface for full backwards compatibility + to the earlier object.annotation field. + - History: storing the object history consisting of creators, created date, and + modified dates. + - KeyValuePairs, a list of key-value pairs to store additional information + + Parameters + ---------- + cvterms : dict or CVTerms object + The cvterms store annotations to external resources + history : dict, History + The history stores information about the creator, + created and modified dates. + keyvaluepairs : list + Key-value pairs which are not suitable to be + represented anywhere else in the model. + Data is represented as an OrderedDict. + """ + + def __init__( + self, + cvterms: Union[Dict, CVTerms] = None, + history: Union[Dict, History] = None, + keyvaluepairs: List = None, + ): + self._cvterms = None # type: CVTerms + self._history = None # type: History + self._keyvaluepairs = None # type: KeyValuePairs + + # use setters + self.cvterms = cvterms + self.history = history + self.keyvaluepairs = keyvaluepairs + + @property + def annotations(self) -> Dict: + """Backwards compatible annotations.""" + return self.cvterms.annotations + + def __setitem__(self, key: str, value: List) -> None: + self._cvterms.add_simple_annotations(dict({key: value})) + + def __getitem__(self, key: str) -> List: + if key == "sbo" and len(self.annotations[key]) == 0: + value = self._cvterms._annotations[key] + del self._cvterms._annotations[key] + return value + return self.annotations[key] + + def __delitem__(self, key: str) -> None: + del self.annotations[key] + + def __iter__(self) -> Iterator: + return iter(self.annotations) + + def __len__(self) -> int: + return len(self.annotations) + + def __str__(self) -> str: + return str(dict(self.annotations)) + + def __repr__(self) -> str: + return str(dict(self.annotations)) + + @property + def cvterms(self) -> "CVTerms": + return self._cvterms + + @cvterms.setter + def cvterms(self, cvterms: Union[Dict, CVTerms]) -> None: + self._cvterms = CVTerms.from_data(cvterms) + + def add_cvterms(self, cvterms: Union[Dict, CVTerms]) -> None: + self._cvterms.add_cvterms(cvterms) + + @property + def history(self) -> History: + return self._history + + @history.setter + def history(self, history: Union[Dict, History]) -> None: + self._history = History.from_data(history) + + def add_creator(self, creator: Creator): + self.history.creators.append(creator) + + @property + def keyvaluepairs(self) -> KeyValuePairs: + return self._keyvaluepairs + + @keyvaluepairs.setter + def keyvaluepairs(self, keyvaluepairs: Union[Dict, KeyValuePairs]) -> None: + self._keyvaluepairs = KeyValuePairs(keyvaluepairs) + + def to_dict(self) -> Dict: + """Creates string dictionary for serialization""" + d = OrderedDict() + if "sbo" in self and self["sbo"] != []: + # set first SBO term as sbo + d["sbo"] = self["sbo"][0] + + if self.cvterms: + d["cvterms"] = self.cvterms.to_dict() + + if self.history and not self.history.is_empty(): + d["history"] = self.history.to_dict() + + if self.keyvaluepairs: + d["keyvaluepairs"] = self.keyvaluepairs.to_dict() + + return d + + @staticmethod + def from_dict(data: Dict) -> "MetaData": + cvterms = data["cvterms"] if "cvterms" in data else None + history = data["history"] if "history" in data else None + keyValuepairs = data["keyvaluepairs"] if "keyvaluepairs" in data else None + + if cvterms or history or keyValuepairs: + annotation = MetaData(cvterms, history, keyValuepairs) + else: + annotation = MetaData() + annotation.cvterms.add_simple_annotations(data) + + if "sbo" in data: + annotation["sbo"] = [data["sbo"]] + + return annotation diff --git a/src/cobra/core/metadata/notes.py b/src/cobra/core/metadata/notes.py new file mode 100644 index 000000000..8418e86e7 --- /dev/null +++ b/src/cobra/core/metadata/notes.py @@ -0,0 +1,178 @@ +import collections +import re +from typing import Iterator +from warnings import warn + + +class Notes(collections.MutableMapping): + """ Class representation of 'notes' of an object. + + The previous version of COBRApy was parsing entries of + the form '

key : value

' and making + a dict out of it. All other information was simply + left out. When writing the model back to SBML, this + dict was converted in the string: + + " +

key1: value1

" +

key2: value2

" + ... + " + + The 'notes' attribute on an object stored this key: value + dictionary. + + The current version of 'notes' has a dedicated class + that behaves like a dict storing the key-value pairs + present inside the notes string (making it backward + compatible). In addition the the complete notes + information is stored. + + The dict and the string of 'notes' are both synchronized + with each other. + Importantly, the 'notes' attribute is not meant to to + store any machine-readable information. To enforce this + behavior the addition of new key-values inside the + 'notes' dict is not permitted. Trying to do so + will throw an ValueError. The KeyValuePairs should be used + to store key:value information for objects. + + The complete 'notes' string is + directly written to formats like "JSON", "YAML" etc when + COBRA model is written in these format. And when writing + SBML, 'notes' is initialized using the method: + + SBase.getNotesString() + + which makes the xhtml content of the notes using the string. + + Parameters + ---------- + notes_xhtml : string + The complete notes (xhtml) data in the form of a string. + """ + + # pattern checking for "

key : value

" type string + PATTERN_PTAG = re.compile( + r"<(?P(\w+:)?)p[^>]*>(?P.*?)", + re.IGNORECASE | re.DOTALL, + ) + + def __init__(self, notes_xhtml: str = None): + self._data = {} + self._notes_xhtml = None + self.notes_xhtml = notes_xhtml + + @property + def notes_xhtml(self) -> str: + """ Return the html content of notes in the form of a string. """ + return self._notes_xhtml + + @notes_xhtml.setter + def notes_xhtml(self, value: str) -> None: + """ Set the notes_xhtml string """ + if value is None: + self._notes_xhtml = value + self._data = {} + elif isinstance(value, str): + self._notes_xhtml = value + self._data = {} + self.update_notes_dict() + else: + raise TypeError(f"notes data must be of type string: {value}") + + def __eq__(self, other: "Notes") -> bool: + if not isinstance(other, Notes): + return False + return self._notes_xhtml == other._notes_xhtml + + def __getitem__(self, key: str) -> str: + return self._data[key] + + def __setitem__(self, key: str, value: str) -> None: + if key not in self._data: + raise ValueError( + "Notes string is not a right place " + "to store key value pairs. Store them " + "at appropriate place in the document." + ) + else: + self._data[key] = value + self.update_notes_str(key, value) + + def __delitem__(self, key: str) -> None: + del self._data[key] + + def __iter__(self) -> Iterator: + return iter(self._data) + + def __len__(self) -> int: + return len(self._data) + + def __str__(self) -> str: + if self._notes_xhtml is None: + return "" + return self.notes_xhtml + + def __repr__(self) -> str: + return self.__str__() + + def update_notes_dict(self) -> None: + """ Updates notes dictionary according to key-value stored + in notes string. + """ + if self._notes_xhtml: + for match in Notes.PATTERN_PTAG.finditer(self._notes_xhtml): + try: + key, value = match.group("content").split(":", 1) + except ValueError: + continue + self._data[key.strip()] = value.strip() + + def update_notes_str(self, key: str, value: str) -> None: + """ Updates the notes string according to key-value pairs + passed. If any such 'key' is present inside notes string + having format '

key : oldvalue

', then it will be + updated to store the new value. But if that 'key' is not + present, an ValueError will be thrown. + """ + # if notes string is empty + if self._notes_xhtml is None: + raise ValueError( + "Notes string is not a right place " + "to store key value pairs. Store them " + "at appropriate place in the document." + ) + + # if value passed is not of type 'str' + if not isinstance(value, str): + warn( + "The value must be of type string. \n" + "Converting value to 'string' type and " + "then putting in notes string...." + ) + value = str(value) + + # pattern to search for inside notes string + pattern = re.compile( + r"<(?P(\w+:)?)p[^>]*>(\s*){}(\s*):(\s*)" + r"(?P.*?)(\s*)".format(key), + re.IGNORECASE | re.DOTALL, + ) + match = re.search(pattern, self._notes_xhtml) + + # if no such key-value substring is + # already present inside notes string + if match is None: + del self._data[key] + raise ValueError( + "Notes string is not the right place " + "to store key value pairs. Store them " + "at appropriate place in the document." + ) + # otherwise update the content + else: + start = match.start("content") + end = match.end("content") + modified_str = self._notes_xhtml[:start] + value + self._notes_xhtml[end:] + self._notes_xhtml = modified_str diff --git a/src/cobra/core/model.py b/src/cobra/core/model.py index d92412246..c54a42af3 100644 --- a/src/cobra/core/model.py +++ b/src/cobra/core/model.py @@ -107,6 +107,7 @@ def __init__(self, id_or_model=None, name=None): self.reactions = DictList() # A list of cobra.Reactions self.metabolites = DictList() # A list of cobra.Metabolites self.groups = DictList() # A list of cobra.Groups + self._const_ids = set() # genes based on their ids {Gene.id: Gene} self._compartments = {} self._contexts = [] @@ -341,7 +342,7 @@ def copy(self): "reactions", "genes", "notes", - "annotation", + "_annotation", "groups", } for attr in self.__dict__: @@ -351,13 +352,14 @@ def copy(self): new.annotation = deepcopy(self.annotation) new.metabolites = DictList() - do_not_copy_by_ref = {"_reaction", "_model"} + do_not_copy_by_ref = {"_reaction", "_model", "_annotation"} for metabolite in self.metabolites: new_met = metabolite.__class__() for attr, value in iteritems(metabolite.__dict__): if attr not in do_not_copy_by_ref: new_met.__dict__[attr] = copy(value) if attr == "formula" else value new_met._model = new + new_met.annotation = deepcopy(metabolite.annotation) new.metabolites.append(new_met) new.genes = DictList() @@ -369,16 +371,18 @@ def copy(self): copy(value) if attr == "formula" else value ) new_gene._model = new + new_gene.annotation = deepcopy(gene.annotation) new.genes.append(new_gene) new.reactions = DictList() - do_not_copy_by_ref = {"_model", "_metabolites", "_genes"} + do_not_copy_by_ref = {"_model", "_metabolites", "_genes", "_annotation"} for reaction in self.reactions: new_reaction = reaction.__class__() for attr, value in iteritems(reaction.__dict__): if attr not in do_not_copy_by_ref: new_reaction.__dict__[attr] = copy(value) new_reaction._model = new + new_reaction._annotation = deepcopy(reaction.annotation) new.reactions.append(new_reaction) # update awareness for metabolite, stoic in iteritems(reaction._metabolites): @@ -391,7 +395,7 @@ def copy(self): new_gene._reaction.add(new_reaction) new.groups = DictList() - do_not_copy_by_ref = {"_model", "_members"} + do_not_copy_by_ref = {"_model", "_members", "_annotation"} # Groups can be members of other groups. We initialize them first and # then update their members. for group in self.groups: @@ -400,6 +404,7 @@ def copy(self): if attr not in do_not_copy_by_ref: new_group.__dict__[attr] = copy(value) new_group._model = new + new_group.annotation = deepcopy(group.annotation) new.groups.append(new_group) for group in self.groups: new_group = new.groups.get_by_id(group.id) @@ -413,7 +418,7 @@ def copy(self): elif isinstance(member, Gene): new_object = new.genes.get_by_id(member.id) elif isinstance(member, Group): - new_object = new.genes.get_by_id(member.id) + new_object = new.groups.get_by_id(member.id) else: raise TypeError( "The group member {!r} is unexpectedly not a " diff --git a/src/cobra/core/object.py b/src/cobra/core/object.py index 7adfe114f..6d248bc3b 100644 --- a/src/cobra/core/object.py +++ b/src/cobra/core/object.py @@ -2,8 +2,12 @@ from __future__ import absolute_import +from collections import defaultdict + from six import string_types +from cobra.core.metadata import CVList, MetaData, Notes + class Object(object): """Defines common behavior of object in cobra.core""" @@ -19,8 +23,8 @@ def __init__(self, id=None, name=""): self._id = id self.name = name - self.notes = {} - self._annotation = {} + self._notes = Notes() + self._annotation = MetaData() @property def id(self): @@ -37,19 +41,38 @@ def id(self, value): else: self._id = value - def _set_id_with_model(self, value): - self._id = value + @property + def notes(self): + return getattr(self, "_notes", None) + + @notes.setter + def notes(self, data): + if isinstance(data, Notes): + self._notes = data + return + self._notes.notes_xhtml = data @property def annotation(self): - return self._annotation + return getattr(self, "_annotation", None) @annotation.setter - def annotation(self, annotation): - if not isinstance(annotation, dict): - raise TypeError("Annotation must be a dict") + def annotation(self, value): + if not (isinstance(value, dict) or isinstance(value, MetaData)): + raise TypeError( + "The data passed for annotation must be inside " + "a dictionary: {}".format(value) + ) else: - self._annotation = annotation + if isinstance(value, MetaData): + self._annotation = value + else: + self._annotation.cvterms._annotations = defaultdict(list) + self._annotation.cvterms._cvterms = defaultdict(CVList) + self._annotation.cvterms.add_simple_annotations(value) + + def _set_id_with_model(self, value): + self._id = value def __getstate__(self): """To prevent excessive replication during deepcopy.""" diff --git a/src/cobra/core/reaction.py b/src/cobra/core/reaction.py index 8fe9e131a..e49c41a9e 100644 --- a/src/cobra/core/reaction.py +++ b/src/cobra/core/reaction.py @@ -1174,10 +1174,7 @@ def summary(self, solution=None, fva=None): from cobra.summary import ReactionSummary return ReactionSummary( - reaction=self, - model=self._model, - solution=solution, - fva=fva, + reaction=self, model=self._model, solution=solution, fva=fva, ) def __str__(self): diff --git a/src/cobra/flux_analysis/deletion.py b/src/cobra/flux_analysis/deletion.py index 195bdaae4..f691ed9c0 100644 --- a/src/cobra/flux_analysis/deletion.py +++ b/src/cobra/flux_analysis/deletion.py @@ -132,14 +132,7 @@ def _multi_deletion( def extract_knockout_results(result_iter): result = pd.DataFrame( - [ - ( - set(ids), - growth, - status, - ) - for (ids, growth, status) in result_iter - ], + [(set(ids), growth, status,) for (ids, growth, status) in result_iter], columns=["ids", "growth", "status"], ) return result diff --git a/src/cobra/flux_analysis/loopless.py b/src/cobra/flux_analysis/loopless.py index 203135d55..36c8dfb2b 100644 --- a/src/cobra/flux_analysis/loopless.py +++ b/src/cobra/flux_analysis/loopless.py @@ -169,9 +169,7 @@ def loopless_solution(model, fluxes=None): prob = model.problem # Needs one fixed bound for cplex... loopless_obj_constraint = prob.Constraint( - model.objective.expression, - lb=-1e32, - name="loopless_obj_constraint", + model.objective.expression, lb=-1e32, name="loopless_obj_constraint", ) model.add_cons_vars([loopless_obj_constraint]) _add_cycle_free(model, fluxes) diff --git a/src/cobra/flux_analysis/variability.py b/src/cobra/flux_analysis/variability.py index 471fc7004..3b5c52275 100644 --- a/src/cobra/flux_analysis/variability.py +++ b/src/cobra/flux_analysis/variability.py @@ -186,8 +186,7 @@ def flux_variability_analysis( if pfba_factor is not None: if pfba_factor < 1.0: warn( - "The 'pfba_factor' should be larger or equal to 1.", - UserWarning, + "The 'pfba_factor' should be larger or equal to 1.", UserWarning, ) with model: add_pfba(model, fraction_of_optimum=0) @@ -228,11 +227,7 @@ def flux_variability_analysis( def find_blocked_reactions( - model, - reaction_list=None, - zero_cutoff=None, - open_exchanges=False, - processes=None, + model, reaction_list=None, zero_cutoff=None, open_exchanges=False, processes=None, ): """ Find reactions that cannot carry any flux. diff --git a/src/cobra/io/__init__.py b/src/cobra/io/__init__.py index 0837635ce..861fc8cac 100644 --- a/src/cobra/io/__init__.py +++ b/src/cobra/io/__init__.py @@ -3,7 +3,13 @@ from __future__ import absolute_import from cobra.io.dict import model_from_dict, model_to_dict -from cobra.io.json import from_json, load_json_model, save_json_model, to_json +from cobra.io.json import ( + from_json, + load_json_model, + save_json_model, + to_json, + validate_json_model, +) from cobra.io.mat import load_matlab_model, save_matlab_model from cobra.io.sbml import read_sbml_model, write_sbml_model, validate_sbml_model from cobra.io.yaml import from_yaml, load_yaml_model, save_yaml_model, to_yaml diff --git a/src/cobra/io/dict.py b/src/cobra/io/dict.py index 9e60edf88..7289c3e33 100644 --- a/src/cobra/io/dict.py +++ b/src/cobra/io/dict.py @@ -1,15 +1,16 @@ -# -*- coding: utf-8 -*- - from __future__ import absolute_import from collections import OrderedDict from operator import attrgetter, itemgetter +from typing import Dict import numpy as np from numpy import bool_, float_ from six import iteritems, string_types -from cobra.core import Gene, Metabolite, Model, Reaction +from cobra.core import Gene, Group, Metabolite, Model, Reaction +from cobra.core.metadata import MetaData, Notes +from cobra.io.sbml import F_REPLACE from cobra.util.solver import set_objective @@ -57,6 +58,14 @@ "annotation": {}, } +_REQUIRED_GROUP_ATTRIBUTES = ["id", "kind", "members"] +_ORDERED_OPTIONAL_GROUP_KEYS = ["name", "notes", "annotation"] +_OPTIONAL_GROUP_ATTRIBUTES = { + "name": "", + "notes": {}, + "annotation": {}, +} + _ORDERED_OPTIONAL_MODEL_KEYS = ["name", "compartments", "notes", "annotation"] _OPTIONAL_MODEL_ATTRIBUTES = { "name": None, @@ -80,6 +89,8 @@ def _fix_type(value): return list(value) if isinstance(value, dict): return OrderedDict((key, value[key]) for key in sorted(value)) + if isinstance(value, Notes): + return str(value) # handle legacy Formula type if value.__class__.__name__ == "Formula": return str(value) @@ -93,15 +104,24 @@ def _update_optional(cobra_object, new_dict, optional_attribute_dict, ordered_ke for key in ordered_keys: default = optional_attribute_dict[key] value = getattr(cobra_object, key) + if key == "notes" and ( + value.notes_xhtml is None or len(value.notes_xhtml) == 0 + ): + continue if value is None or value == default: continue + if key == "annotation": + value = value.to_dict() new_dict[key] = _fix_type(value) def metabolite_to_dict(metabolite): new_met = OrderedDict() for key in _REQUIRED_METABOLITE_ATTRIBUTES: - new_met[key] = _fix_type(getattr(metabolite, key)) + if key == "id": + new_met[key] = _fix_type(F_REPLACE["F_SPECIE_REV"](metabolite.id)) + else: + new_met[key] = _fix_type(getattr(metabolite, key)) _update_optional( metabolite, new_met, @@ -114,14 +134,27 @@ def metabolite_to_dict(metabolite): def metabolite_from_dict(metabolite): new_metabolite = Metabolite() for k, v in iteritems(metabolite): - setattr(new_metabolite, k, v) + if k == "annotation": + value = MetaData.from_dict(v) + setattr(new_metabolite, k, value) + elif k == "notes": + notes_data = Notes(v) + setattr(new_metabolite, k, notes_data) + elif k == "id": + id = F_REPLACE["F_SPECIE"](v) + setattr(new_metabolite, k, id) + else: + setattr(new_metabolite, k, v) return new_metabolite def gene_to_dict(gene): new_gene = OrderedDict() for key in _REQUIRED_GENE_ATTRIBUTES: - new_gene[key] = _fix_type(getattr(gene, key)) + if key == "id": + new_gene[key] = _fix_type(F_REPLACE["F_GENE_REV"](gene.id)) + else: + new_gene[key] = _fix_type(getattr(gene, key)) _update_optional( gene, new_gene, _OPTIONAL_GENE_ATTRIBUTES, _ORDERED_OPTIONAL_GENE_KEYS ) @@ -131,7 +164,17 @@ def gene_to_dict(gene): def gene_from_dict(gene): new_gene = Gene(gene["id"]) for k, v in iteritems(gene): - setattr(new_gene, k, v) + if k == "annotation": + value = MetaData.from_dict(v) + setattr(new_gene, k, value) + elif k == "notes": + notes_data = Notes(v) + setattr(new_gene, k, notes_data) + elif k == "id": + id = F_REPLACE["F_GENE"](v) + setattr(new_gene, k, id) + else: + setattr(new_gene, k, v) return new_gene @@ -147,12 +190,15 @@ def reaction_to_dict(reaction): np.isnan(reaction.upper_bound) or np.isinf(reaction.upper_bound) ): new_reaction[key] = str(_fix_type(getattr(reaction, key))) + elif key == "id": + new_reaction[key] = _fix_type(F_REPLACE["F_REACTION_REV"](reaction.id)) else: new_reaction[key] = _fix_type(getattr(reaction, key)) continue mets = OrderedDict() for met in sorted(reaction.metabolites, key=attrgetter("id")): - mets[str(met)] = reaction.metabolites[met] + id = F_REPLACE["F_SPECIE_REV"](str(met)) + mets[id] = reaction.metabolites[met] new_reaction["metabolites"] = mets _update_optional( reaction, @@ -171,18 +217,95 @@ def reaction_from_dict(reaction, model): elif k == "metabolites": new_reaction.add_metabolites( OrderedDict( - (model.metabolites.get_by_id(str(met)), coeff) + ( + model.metabolites.get_by_id(F_REPLACE["F_SPECIE"](str(met))), + coeff, + ) for met, coeff in iteritems(v) ) ) else: - if k == "lower_bound" or k == "upper_bound": + if k == "annotation": + value = MetaData.from_dict(v) + setattr(new_reaction, k, value) + elif k == "notes": + notes_data = Notes(v) + setattr(new_reaction, k, notes_data) + elif k == "lower_bound" or k == "upper_bound": setattr(new_reaction, k, float(v)) + elif k == "id": + id = F_REPLACE["F_REACTION"](v) + setattr(new_reaction, k, id) else: setattr(new_reaction, k, v) return new_reaction +def group_to_dict(group: Group) -> Dict: + new_group = OrderedDict() + for key in _REQUIRED_GROUP_ATTRIBUTES: + if key != "members": + if key == "id": + new_group[key] = _fix_type(F_REPLACE["F_GROUP_REV"](group.id)) + else: + new_group[key] = _fix_type(getattr(group, key)) + continue + members = [] + for member in group.members: + idRef = member.id + if isinstance(member, Reaction): + idRef = F_REPLACE["F_REACTION_REV"](member.id) + elif isinstance(member, Gene): + idRef = F_REPLACE["F_GENE_REV"](member.id) + elif isinstance(member, Metabolite): + idRef = F_REPLACE["F_SPECIE_REV"](member.id) + elif isinstance(member, Group): + idRef = F_REPLACE["F_GROUP_REV"](member.id) + json_member = {"idRef": idRef, "type": type(member).__name__} + members.append(json_member) + new_group["members"] = members + _update_optional( + group, new_group, _OPTIONAL_GROUP_ATTRIBUTES, _ORDERED_OPTIONAL_GROUP_KEYS + ) + return new_group + + +def group_from_dict(group: Dict, model: Model) -> Group: + new_group = Group(group["id"]) + for k, v in iteritems(group): + if k == "annotation": + value = MetaData.from_dict(v) + setattr(new_group, k, value) + elif k == "notes": + notes_data = Notes(v) + setattr(new_group, k, notes_data) + elif k == "members": + cobra_members = [] + for member in group["members"]: + if member["type"] == "Reaction": + cobra_obj = model.reactions.get_by_id( + F_REPLACE["F_REACTION"](member["idRef"]) + ) + cobra_members.append(cobra_obj) + elif member["type"] == "Metabolite": + cobra_obj = model.metabolites.get_by_id( + F_REPLACE["F_SPECIE"](member["idRef"]) + ) + cobra_members.append(cobra_obj) + elif member["type"] == "Gene": + cobra_obj = model.genes.get_by_id( + F_REPLACE["F_GENE"](member["idRef"]) + ) + cobra_members.append(cobra_obj) + new_group.add_members(cobra_members) + elif k == "id": + id = F_REPLACE["F_GROUP"](v) + setattr(new_group, k, id) + else: + setattr(new_group, k, v) + return new_group + + def model_to_dict(model, sort=False): """Convert model to a dict. @@ -210,6 +333,18 @@ def model_to_dict(model, sort=False): obj["metabolites"] = list(map(metabolite_to_dict, model.metabolites)) obj["reactions"] = list(map(reaction_to_dict, model.reactions)) obj["genes"] = list(map(gene_to_dict, model.genes)) + obj["groups"] = list(map(group_to_dict, model.groups)) + + # sbml meta info + sbml_info = OrderedDict() + if hasattr(model, "_sbml"): + for key, value in iteritems(model._sbml): + if key == "annotation": + sbml_info[key] = _fix_type(value.to_dict()) + else: + sbml_info[key] = _fix_type(value) + obj["sbml_info"] = sbml_info + obj["id"] = model.id _update_optional( model, obj, _OPTIONAL_MODEL_ATTRIBUTES, _ORDERED_OPTIONAL_MODEL_KEYS @@ -219,6 +354,7 @@ def model_to_dict(model, sort=False): obj["metabolites"].sort(key=get_id) obj["reactions"].sort(key=get_id) obj["genes"].sort(key=get_id) + obj["groups"].sort(key=get_id) return obj @@ -259,11 +395,36 @@ def model_from_dict(obj): rxn for rxn in obj["reactions"] if rxn.get("objective_coefficient", 0) != 0 ] coefficients = { - model.reactions.get_by_id(rxn["id"]): rxn["objective_coefficient"] + model.reactions.get_by_id(F_REPLACE["F_REACTION"](rxn["id"])): rxn[ + "objective_coefficient" + ] for rxn in objective_reactions } + if "groups" in obj: + model.add_groups([group_from_dict(group, model) for group in obj["groups"]]) set_objective(model, coefficients) + + # sbml meta info + if "sbml_info" in obj: + meta = {} + for k, v in iteritems(obj["sbml_info"]): + if k == "annotation": + value = MetaData.from_dict(v) + meta[k] = value + elif k == "notes": + notes_data = Notes(v) + meta[k] = notes_data + else: + meta[k] = v + model._sbml = meta + for k, v in iteritems(obj): - if k in {"id", "name", "notes", "compartments", "annotation"}: + if k == "annotation": + value = MetaData.from_dict(v) + setattr(model, k, value) + elif k == "notes": + notes_data = Notes(v) + setattr(model, k, notes_data) + elif k in {"id", "name", "notes", "compartments"}: setattr(model, k, v) return model diff --git a/src/cobra/io/json.py b/src/cobra/io/json.py index f4da4f26d..125bfea9f 100644 --- a/src/cobra/io/json.py +++ b/src/cobra/io/json.py @@ -1,9 +1,11 @@ -# -*- coding: utf-8 -*- - -from __future__ import absolute_import +from pathlib import Path +from typing import Dict, List, Union +import jsonschema +from importlib_resources import open_text from six import string_types +from cobra import io as cio from cobra.io.dict import model_from_dict, model_to_dict @@ -16,6 +18,18 @@ JSON_SPEC = "1" +def json_schema_v1() -> Dict: + with open_text(cio, "schema_v1.json") as handle: + schema_v1 = json.load(handle) + return schema_v1 + + +def json_schema_v2() -> Dict: + with open_text(cio, "schema_v2.json") as handle: + schema_v2 = json.load(handle) + return schema_v2 + + def to_json(model, sort=False, **kwargs): """ Return the model as a JSON document. @@ -41,7 +55,7 @@ def to_json(model, sort=False, **kwargs): json.dumps : Base function. """ obj = model_to_dict(model, sort=sort) - obj[u"version"] = JSON_SPEC + obj["version"] = JSON_SPEC return json.dumps(obj, allow_nan=False, **kwargs) @@ -76,7 +90,7 @@ def save_json_model(model, filename, sort=False, pretty=False, **kwargs): ---------- model : cobra.Model The cobra model to represent. - filename : str or file-like + filename : str or file-like or Path File path or descriptor that the JSON representation should be written to. sort : bool, optional @@ -93,7 +107,7 @@ def save_json_model(model, filename, sort=False, pretty=False, **kwargs): json.dump : Base function. """ obj = model_to_dict(model, sort=sort) - obj[u"version"] = JSON_SPEC + obj["version"] = JSON_SPEC if pretty: dump_opts = { @@ -111,7 +125,7 @@ def save_json_model(model, filename, sort=False, pretty=False, **kwargs): } dump_opts.update(**kwargs) - if isinstance(filename, string_types): + if isinstance(filename, (string_types, Path)): with open(filename, "w") as file_handle: json.dump(obj, file_handle, **dump_opts) else: @@ -124,7 +138,7 @@ def load_json_model(filename): Parameters ---------- - filename : str or file-like + filename : str or file-like or Path File path or descriptor that contains the JSON document describing the cobra model. @@ -137,8 +151,51 @@ def load_json_model(filename): -------- from_json : Load from a string. """ - if isinstance(filename, string_types): + if isinstance(filename, (string_types, Path)): with open(filename, "r") as file_handle: return model_from_dict(json.load(file_handle)) else: return model_from_dict(json.load(filename)) + + +def validate_json_model( + filename: Union[str, bytes], json_schema_version: int = 1 +) -> List: + """ + Validate a model in json format against the schema with given version + Parameters + ---------- + filename : str or file-like + File path or descriptor that contains the JSON document describing the + cobra model. + json_schema_version : int {1, 2} + the version of schema to be used for validation. + Currently we have v1 and v2 only and v2 is under development + Returns + ------- + errors : list + The list of errors encountered while validating + """ + + if json_schema_version == 1: + schema = json_schema_v1() + elif json_schema_version == 2: + schema = json_schema_v2() + else: + raise ValueError( + f"Only v1 and v2 of JSON schema are available. JSON " + f"schema v{json_schema_version} is not supported." + ) + + validator = jsonschema.Draft7Validator(schema) + + try: + if isinstance(filename, string_types): + with open(filename, "r") as file_handle: + errors = validator.iter_errors(json.load(file_handle)) + else: + errors = validator.iter_errors(json.load(filename)) + except OSError: + errors = validator.iter_errors(json.loads(filename)) + + return list(errors) diff --git a/src/cobra/io/sbml.py b/src/cobra/io/sbml.py index 1fea29157..1ba49bb38 100644 --- a/src/cobra/io/sbml.py +++ b/src/cobra/io/sbml.py @@ -27,15 +27,12 @@ https://github.com/opencobra/cobrapy/issues/812) """ -from __future__ import absolute_import - -import datetime import logging import os import re -import traceback from collections import defaultdict, namedtuple from copy import deepcopy +from io import StringIO from sys import platform import libsbml @@ -44,16 +41,19 @@ import cobra from cobra.core import Gene, Group, Metabolite, Model, Reaction from cobra.core.gene import parse_gpr +from cobra.core.metadata import ( + Creator, + CVList, + CVTerms, + HistoryDatetime, + MetaData, + Notes, + Qualifier, +) from cobra.manipulation.validate import check_metabolite_compartment_formula from cobra.util.solver import linear_reaction_coefficients, set_objective -try: - from cStringIO import StringIO # Python 2 -except ImportError: - from io import StringIO - - class CobraSBMLError(Exception): """ SBML error class. """ @@ -373,39 +373,6 @@ def _sbml_to_model( cobra_model = Model(model_id) cobra_model.name = model.getName() - # meta information - meta = { - "model.id": model_id, - "level": model.getLevel(), - "version": model.getVersion(), - "packages": [], - } - # History - creators = [] - created = None - if model.isSetModelHistory(): - history = model.getModelHistory() # type: libsbml.ModelHistory - - if history.isSetCreatedDate(): - created = history.getCreatedDate() - - for c in history.getListCreators(): # type: libsbml.ModelCreator - creators.append( - { - "familyName": c.getFamilyName() if c.isSetFamilyName() else None, - "givenName": c.getGivenName() if c.isSetGivenName() else None, - "organisation": c.getOrganisation() - if c.isSetOrganisation() - else None, - "email": c.getEmail() if c.isSetEmail() else None, - } - ) - - meta["creators"] = creators - meta["created"] = created - meta["notes"] = _parse_notes_dict(doc) - meta["annotation"] = _parse_annotations(doc) - info = "<{}> SBML L{}V{}".format(model_id, model.getLevel(), model.getVersion()) packages = {} for k in range(doc.getNumPlugins()): @@ -419,12 +386,22 @@ def _sbml_to_model( "information is not parsed", key, ) - meta["info"] = info - meta["packages"] = packages + + # meta information + meta = { + "model.id": model_id, + "level": model.getLevel(), + "version": model.getVersion(), + "packages": packages, + "notes": _parse_notes_info(doc), + "annotation": _parse_annotations(doc), + "info": info, + } + cobra_model._sbml = meta # notes and annotations - cobra_model.notes = _parse_notes_dict(model) + cobra_model.notes = _parse_notes_info(model) cobra_model.annotation = _parse_annotations(model) # Compartments @@ -450,7 +427,7 @@ def _sbml_to_model( met = Metabolite(sid) met.name = specie.getName() - met.notes = _parse_notes_dict(specie) + met.notes = _parse_notes_info(specie) met.annotation = _parse_annotations(specie) met.compartment = specie.getCompartment() @@ -529,7 +506,7 @@ def _sbml_to_model( if cobra_gene.name is None: cobra_gene.name = gid cobra_gene.annotation = _parse_annotations(gp) - cobra_gene.notes = _parse_notes_dict(gp) + cobra_gene.notes = _parse_notes_info(gp) cobra_model.genes.append(cobra_gene) else: @@ -537,7 +514,7 @@ def _sbml_to_model( cobra_reaction ) in model.getListOfReactions(): # noqa: E501 type: libsbml.Reaction # fallback to notes information - notes = _parse_notes_dict(cobra_reaction) + notes = _parse_notes_info(cobra_reaction) if "GENE ASSOCIATION" in notes: gpr = notes["GENE ASSOCIATION"] elif "GENE_ASSOCIATION" in notes: @@ -610,7 +587,7 @@ def process_association(ass): cobra_reaction = Reaction(rid) cobra_reaction.name = reaction.getName() cobra_reaction.annotation = _parse_annotations(reaction) - cobra_reaction.notes = _parse_notes_dict(reaction) + cobra_reaction.notes = _parse_notes_info(reaction) # set bounds p_ub, p_lb = None, None @@ -862,7 +839,7 @@ def process_association(ass): if group.isSetKind(): cobra_group.kind = group.getKindAsString() cobra_group.annotation = _parse_annotations(group) - cobra_group.notes = _parse_notes_dict(group) + cobra_group.notes = _parse_notes_info(group) cobra_members = [] for member in group.getListOfMembers(): # type: libsbml.Member @@ -1014,7 +991,7 @@ def _model_to_sbml(cobra_model, f_replace=None, units=True): # for parsing annotation corresponding to the model _sbase_annotations(model, cobra_model.annotation) # for parsing notes corresponding to the model - _sbase_notes_dict(model, cobra_model.notes) + _set_notes(model, cobra_model.notes) # Meta information (ModelHistory) related to SBMLDocument if hasattr(cobra_model, "_sbml"): @@ -1022,37 +999,7 @@ def _model_to_sbml(cobra_model, f_replace=None, units=True): if "annotation" in meta: _sbase_annotations(doc, meta["annotation"]) if "notes" in meta: - _sbase_notes_dict(doc, meta["notes"]) - - history = libsbml.ModelHistory() # type: libsbml.ModelHistory - if "created" in meta and meta["created"]: - history.setCreatedDate(meta["created"]) - else: - time = datetime.datetime.now() - timestr = time.strftime("%Y-%m-%dT%H:%M:%S") - date = libsbml.Date(timestr) - _check(history.setCreatedDate(date), "set creation date") - _check(history.setModifiedDate(date), "set modified date") - - if "creators" in meta: - for cobra_creator in meta[ - "creators" - ]: # noqa: E501 type: libsbml.ModelCreator - creator = libsbml.ModelCreator() - if cobra_creator.get("familyName", None): - creator.setFamilyName(cobra_creator["familyName"]) - if cobra_creator.get("givenName", None): - creator.setGivenName(cobra_creator["givenName"]) - if cobra_creator.get("organisation", None): - creator.setOrganisation(cobra_creator["organisation"]) - if cobra_creator.get("email", None): - creator.setEmail(cobra_creator["email"]) - - _check(history.addCreator(creator), "adding creator to ModelHistory.") - - # TODO: Will be implemented as part of - # https://github.com/opencobra/cobrapy/issues/810 - # _check(model.setModelHistory(history), 'set model history') + _set_notes(doc, meta["notes"]) # Units if units: @@ -1119,7 +1066,7 @@ def _model_to_sbml(cobra_model, f_replace=None, units=True): s_fbc.setChemicalFormula(metabolite.formula) _sbase_annotations(specie, metabolite.annotation) - _sbase_notes_dict(specie, metabolite.notes) + _set_notes(specie, metabolite.notes) # Genes for cobra_gene in cobra_model.genes: @@ -1135,7 +1082,7 @@ def _model_to_sbml(cobra_model, f_replace=None, units=True): gp.setLabel(gid) _sbase_annotations(gp, cobra_gene.annotation) - _sbase_notes_dict(gp, cobra_gene.notes) + _set_notes(gp, cobra_gene.notes) # Objective objective = model_fbc.createObjective() # type: libsbml.Objective @@ -1155,7 +1102,7 @@ def _model_to_sbml(cobra_model, f_replace=None, units=True): reaction.setFast(False) reaction.setReversible((cobra_reaction.lower_bound < 0)) _sbase_annotations(reaction, cobra_reaction.annotation) - _sbase_notes_dict(reaction, cobra_reaction.notes) + _set_notes(reaction, cobra_reaction.notes) # stoichiometry for metabolite, stoichiometry in iteritems(cobra_reaction._metabolites): @@ -1251,7 +1198,7 @@ def _model_to_sbml(cobra_model, f_replace=None, units=True): group.setName(cobra_group.name) group.setKind(cobra_group.kind) - _sbase_notes_dict(group, cobra_group.notes) + _set_notes(group, cobra_group.notes) _sbase_annotations(group, cobra_group.annotation) for cobra_member in cobra_group.members: @@ -1405,8 +1352,10 @@ def _check(value, message): # ----------------------------------------------------------------------------- # Notes # ----------------------------------------------------------------------------- -def _parse_notes_dict(sbase): - """Creates dictionary of COBRA notes. + + +def _parse_notes_info(sbase: libsbml.SBase) -> Notes: + """ Creates Notes object. Parameters ---------- @@ -1414,27 +1363,15 @@ def _parse_notes_dict(sbase): Returns ------- - dict of notes + Notes object """ notes = sbase.getNotesString() - if notes and len(notes) > 0: - notes_store = dict() - for match in pattern_notes.finditer(notes): - try: - # Python 2.7 does not allow keywords for split. - # Python 3 can have (":", maxsplit=1) - key, value = match.group("content").split(":", 1) - except ValueError: - LOGGER.debug("Unexpected content format '{}'.", match.group("content")) - continue - notes_store[key.strip()] = value.strip() - return {k: v for k, v in notes_store.items() if len(v) > 0} - else: - return {} + cobra_notes = Notes(notes) + return cobra_notes -def _sbase_notes_dict(sbase, notes): - """Set SBase notes based on dictionary. +def _set_notes(sbase: libsbml.SBase, notes: Notes) -> None: + """Set SBase notes based on the COBRA notes object. Parameters ---------- @@ -1443,70 +1380,62 @@ def _sbase_notes_dict(sbase, notes): notes : notes object notes information from cobra object """ - if notes and len(notes) > 0: - tokens = ( - [''] - + ["

{}: {}

".format(k, v) for (k, v) in notes.items()] - + [""] - ) - _check( - sbase.setNotes("\n".join(tokens)), - "Setting notes on sbase: {}".format(sbase), - ) + if notes.notes_xhtml is None or len(notes.notes_xhtml) == 0: + return + _check( + sbase.setNotes(notes.notes_xhtml), "Setting notes on sbase: {}".format(sbase) + ) # ----------------------------------------------------------------------------- # Annotations # ----------------------------------------------------------------------------- -""" -cobra annotations will be dictionaries of the form: - object.annotation = { - 'provider' : [(qualifier, entity), ...] - } -A concrete example for a metabolite would look like the following - metabolite.annotation = { - 'chebi': [(isVersionOf, "CHEBI:17234), (is, "CHEBI:4167),], - 'kegg.compound': [(is, "C00031")] - } -The providers are hereby MIRIAM registry keys for collections -https://www.ebi.ac.uk/miriam/main/collections -The qualifiers are biomodel qualifiers -https://co.mbine.org/standards/qualifiers - -In the current stage the new annotation format is not completely supported yet. -""" URL_IDENTIFIERS_PATTERN = re.compile(r"^https?://identifiers.org/(.+?)[:/](.+)") -URL_IDENTIFIERS_PREFIX = "https://identifiers.org" -QUALIFIER_TYPES = { - "is": libsbml.BQB_IS, - "hasPart": libsbml.BQB_HAS_PART, - "isPartOf": libsbml.BQB_IS_PART_OF, - "isVersionOf": libsbml.BQB_IS_VERSION_OF, - "hasVersion": libsbml.BQB_HAS_VERSION, - "isHomologTo": libsbml.BQB_IS_HOMOLOG_TO, - "isDescribedBy": libsbml.BQB_IS_DESCRIBED_BY, - "isEncodedBy": libsbml.BQB_IS_ENCODED_BY, - "encodes": libsbml.BQB_ENCODES, - "occursIn": libsbml.BQB_OCCURS_IN, - "hasProperty": libsbml.BQB_HAS_PROPERTY, - "isPropertyOf": libsbml.BQB_IS_PROPERTY_OF, - "hasTaxon": libsbml.BQB_HAS_TAXON, - "unknown": libsbml.BQB_UNKNOWN, - "bqm_is": libsbml.BQM_IS, - "bqm_isDescribedBy": libsbml.BQM_IS_DESCRIBED_BY, - "bqm_isDerivedFrom": libsbml.BQM_IS_DERIVED_FROM, - "bqm_isInstanceOf": libsbml.BQM_IS_INSTANCE_OF, - "bqm_hasInstance": libsbml.BQM_HAS_INSTANCE, - "bqm_unknown": libsbml.BQM_UNKNOWN, -} +def _parse_annotation_info(uri): + """Parses provider and term from given identifiers annotation uri. + Parameters + ---------- + uri : str + uri (identifiers.org url) + Returns + ------- + (provider, identifier) if resolvable, None otherwise + """ + match = URL_IDENTIFIERS_PATTERN.match(uri) + if match: + provider, identifier = match.group(1), match.group(2) + if provider.isupper(): + identifier = "%s:%s" % (provider, identifier) + provider = provider.lower() + else: + LOGGER.warning( + f"{uri} does not conform to " + f"'http(s)://identifiers.org/collection/id' or" + f"'http(s)://identifiers.org/COLLECTION:id" + ) + return None + + return provider, identifier -def _parse_annotations(sbase): + +def _parse_annotations(sbase: libsbml.SBase) -> MetaData: """Parses cobra annotations from a given SBase object. - Annotations are dictionaries with the providers as keys. + The annotation format has been changed. We no longer have + simple dictionaries for storing annotation data. Dedicated + classes for storing CVTerm data, History data and key-value + pair data corresponding to an SBase object have been made. + The metadata classes inside cobra.core directory contains + of them. All the existing issues in old annotation format have + been solved. The new format annotation is completely backward + compatible. It can read models with old annotation format, + can convert old format annotation to new format annotation, + and writes annotation in new format only (for JSON and other + formats). The JSON schema v2 specifies the new format annotation + whereas JSON schema v1 have annotation data defined in old format. Parameters ---------- @@ -1515,17 +1444,14 @@ def _parse_annotations(sbase): Returns ------- - dict (annotation dictionary) - - FIXME: annotation format must be updated (this is a big collection of - fixes) - see: https://github.com/opencobra/cobrapy/issues/684) + MetaData + a metadata object storing COBRA annotation """ - annotation = {} + annotation = MetaData() # SBO term if sbase.isSetSBOTerm(): - # FIXME: correct handling of annotations - annotation["sbo"] = sbase.getSBOTermID() + annotation["sbo"] = [sbase.getSBOTermID()] # RDF annotation cvterms = sbase.getCVTerms() @@ -1533,60 +1459,105 @@ def _parse_annotations(sbase): return annotation for cvterm in cvterms: # type: libsbml.CVTerm + # reading the qualifier + qualifier_type = cvterm.getQualifierType() + if qualifier_type == 0: + mq_type = cvterm.getModelQualifierType() + qualifier = "bqm_" + libsbml.ModelQualifierType_toString(mq_type) + elif qualifier_type == 1: + bq_type = cvterm.getBiologicalQualifierType() + qualifier = "bqb_" + libsbml.BiolQualifierType_toString(bq_type) + else: + qualifier = "unknown_qualifier" + ext_res = {"resources": []} for k in range(cvterm.getNumResources()): - # FIXME: read and store the qualifier - uri = cvterm.getResourceURI(k) - data = _parse_annotation_info(uri) - if data is None: - continue - else: - provider, identifier = data - - if provider in annotation: - if isinstance(annotation[provider], string_types): - annotation[provider] = [annotation[provider]] - # FIXME: use a list - if identifier not in annotation[provider]: - annotation[provider].append(identifier) - else: - # FIXME: always in list - annotation[provider] = identifier + ext_res["resources"].append(uri) + ext_res["nested_data"] = _set_nested_data(cvterm) + new_cvterms = CVTerms({qualifier: CVList([ext_res])}) + annotation.add_cvterms(new_cvterms) + + # history of the component + if sbase.isSetModelHistory(): + model_history = sbase.getModelHistory() # type: libsbml.ModelHistory + + cobra_creators = [] + for index in range(model_history.getNumCreators()): + creator = model_history.getCreator(index) # type: libsbml.Creator + creator_dict = {} + if creator.isSetGivenName(): + creator_dict["first_name"] = creator.getGivenName() + if creator.isSetFamilyName(): + creator_dict["last_name"] = creator.getFamilyName() + if creator.isSetEmail(): + creator_dict["email"] = creator.getEmail() + if creator.isSetOrganisation(): + creator_dict["organization_name"] = creator.getOrganisation() + cobra_creator = Creator.from_data(creator_dict) + cobra_creators.append(cobra_creator) + annotation.history.creators = cobra_creators + + if model_history.isSetCreatedDate(): + date = model_history.getCreatedDate() # type: libsbml.Date + cobra_date = HistoryDatetime( + date.getDateAsString() + ) # type: HistoryDatetime + annotation.history.created_date = cobra_date + + cobra_modified_dates = [] + for index in range(model_history.getNumModifiedDates()): + modified_date = model_history.getModifiedDate(index) + cobra_modified_date = HistoryDatetime(modified_date.getDateAsString()) + cobra_modified_dates.append(cobra_modified_date) + annotation.history.modified_dates = cobra_modified_dates return annotation -def _parse_annotation_info(uri): - """Parses provider and term from given identifiers annotation uri. +def _set_nested_data(cvterm_obj: libsbml.CVTerm) -> CVTerms: + """ Parses the nested data corresponding to a given + libsbml.CVTerm object Parameters ---------- - uri : str - uri (identifiers.org url) + cvterm_obj : libsbml.CVTerm + The CVTerm object from which nested data is to be parsed Returns ------- - (provider, identifier) if resolvable, None otherwise + CVTerms + the parsed nested data of the given CVTerm object """ - match = URL_IDENTIFIERS_PATTERN.match(uri) - if match: - provider, identifier = match.group(1), match.group(2) - if provider.isupper(): - identifier = "%s:%s" % (provider, identifier) - provider = provider.lower() - else: - LOGGER.warning( - "%s does not conform to " - "'http(s)://identifiers.org/collection/id' or" - "'http(s)://identifiers.org/COLLECTION:id", - uri, - ) - return None + num_nested_cvterms = cvterm_obj.getNumNestedCVTerms() + cobra_nested_cvterms = CVTerms() + if num_nested_cvterms == 0: + return cobra_nested_cvterms + + for index in range(num_nested_cvterms): # type libsbml.CVTerm + # reading the qualifier + cvterm = cvterm_obj.getNestedCVTerm(index) + qualifier_type = cvterm.getQualifierType() + if qualifier_type == 0: + mq_type = cvterm.getModelQualifierType() + qualifier = "bqm_" + libsbml.ModelQualifierType_toString(mq_type) + elif qualifier_type == 1: + bq_type = cvterm.getBiologicalQualifierType() + qualifier = "bqb_" + libsbml.BiolQualifierType_toString(bq_type) + else: + qualifier = "unknown_qualifier" - return provider, identifier + ext_res = {"resources": []} + for k in range(cvterm.getNumResources()): + uri = cvterm.getResourceURI(k) + ext_res["resources"].append(uri) + ext_res["nested_data"] = _set_nested_data(cvterm) + new_cvterms = CVTerms({qualifier: CVList([ext_res])}) + cobra_nested_cvterms.add_cvterms(new_cvterms) + + return cobra_nested_cvterms -def _sbase_annotations(sbase, annotation): +def _sbase_annotations(sbase: libsbml.SBase, annotation: MetaData) -> None: """Set SBase annotations based on cobra annotations. Parameters @@ -1596,75 +1567,118 @@ def _sbase_annotations(sbase, annotation): annotation : cobra annotation structure cobra object with annotation information - FIXME: annotation format must be updated - (https://github.com/opencobra/cobrapy/issues/684) """ - if not annotation or len(annotation) == 0: - return - # standardize annotations annotation_data = deepcopy(annotation) - for key, value in annotation_data.items(): - # handling of non-string annotations (e.g. integers) - if isinstance(value, (float, int)): - value = str(value) - if isinstance(value, string_types): - annotation_data[key] = [("is", value)] + if not isinstance(annotation_data, MetaData): + raise TypeError( + f"The annotation object must be " f"of type 'Metadata': {annotation_data}" + ) - for key, value in annotation_data.items(): - for idx, item in enumerate(value): - if isinstance(item, string_types): - value[idx] = ("is", item) + if "sbo" in annotation and annotation["sbo"] != []: + sbo_term = annotation["sbo"] + _check(sbase.setSBOTerm(sbo_term[0]), "Setting SBOTerm: {}".format(sbo_term[0])) # set metaId meta_id = "meta_{}".format(sbase.getId()) sbase.setMetaId(meta_id) - # rdf_items = [] - for provider, data in iteritems(annotation_data): + # set cvterms + for key, value in annotation.cvterms.items(): + qualifier = key + if qualifier.startswith("bqb"): + qualifier_type = libsbml.BIOLOGICAL_QUALIFIER + elif qualifier.startswith("bqm"): + qualifier_type = libsbml.MODEL_QUALIFIER + else: + raise CobraSBMLError("Unsupported qualifier: " "%s" % qualifier) + + for ex_res in value: + cv = libsbml.CVTerm() # type: libsbml.CVTerm + cv.setQualifierType(qualifier_type) + if qualifier_type == libsbml.BIOLOGICAL_QUALIFIER: + cv.setBiologicalQualifierType(Qualifier[qualifier].value) + elif qualifier_type == libsbml.MODEL_QUALIFIER: + cv.setModelQualifierType(Qualifier[qualifier].value - 14) + else: + raise CobraSBMLError(f"Unsupported qualifier: {qualifier}") + for uri in ex_res.resources: + cv.addResource(uri) + + # adding the nested data + if ex_res.nested_data is not None: + _add_nested_data(cv, ex_res.nested_data) + + # finally add the cvterm + _check(sbase.addCVTerm(cv), "Setting cvterm: {}".format(cv)) + + # set history + if not annotation.history.is_empty(): + comp_history = libsbml.ModelHistory() + + for creator in annotation.history.creators: + comp_creator = libsbml.ModelCreator() + comp_creator.setGivenName(creator.first_name) + comp_creator.setFamilyName(creator.last_name) + comp_creator.setEmail(creator.email) + comp_creator.setOrganisation(creator.organization_name) + comp_history.addCreator(comp_creator) + + if annotation.history.created_date.datetime is not None: + date = libsbml.Date(annotation.history.created_date.datetime) + comp_history.setCreatedDate(date) + + for modified_date in annotation.history.modified_dates: + date = libsbml.Date(modified_date.datetime) + comp_history.addModifiedDate(date) + + # finally add the compo_history + _check( + sbase.setModelHistory(comp_history), + "Setting ModelHistory: {}".format(comp_history), + ) - # set SBOTerm - if provider in ["SBO", "sbo"]: - if provider == "SBO": - LOGGER.warning( - "'SBO' provider is deprecated, " "use 'sbo' provider instead" - ) - sbo_term = data[0][1] - _check(sbase.setSBOTerm(sbo_term), "Setting SBOTerm: {}".format(sbo_term)) - - # FIXME: sbo should also be written as CVTerm - continue - - for item in data: - qualifier_str, entity = item[0], item[1] - qualifier = QUALIFIER_TYPES.get(qualifier_str, None) - if qualifier is None: - qualifier = libsbml.BQB_IS - LOGGER.error( - "Qualifier type is not supported on " - "annotation: '{}'".format(qualifier_str) - ) +def _add_nested_data(cvterm: libsbml.CVTerm, nested_data: CVTerms): + """Sets nested data inside a libsbml.CVTerm object. + + Parameters + ---------- + cvterm : libsbml.CVTerm + the cvterm object whose nested data is to be set + nested_data : CVTerms + the nested data to be set. + + """ + for key, value in nested_data.items(): + qualifier = key + if qualifier.startswith("bqb"): qualifier_type = libsbml.BIOLOGICAL_QUALIFIER - if qualifier_str.startswith("bqm_"): - qualifier_type = libsbml.MODEL_QUALIFIER + elif qualifier.startswith("bqm"): + qualifier_type = libsbml.MODEL_QUALIFIER + else: + raise CobraSBMLError(f"Unsupported qualifier: {qualifier}") + for ex_res in value: cv = libsbml.CVTerm() # type: libsbml.CVTerm cv.setQualifierType(qualifier_type) if qualifier_type == libsbml.BIOLOGICAL_QUALIFIER: - cv.setBiologicalQualifierType(qualifier) + cv.setBiologicalQualifierType(Qualifier[qualifier].value) elif qualifier_type == libsbml.MODEL_QUALIFIER: - cv.setModelQualifierType(qualifier) + cv.setModelQualifierType(Qualifier[qualifier].value - 14) else: - raise CobraSBMLError("Unsupported qualifier: " "%s" % qualifier) - resource = "%s/%s/%s" % (URL_IDENTIFIERS_PREFIX, provider, entity) - cv.addResource(resource) - _check( - sbase.addCVTerm(cv), - "Setting cvterm: {}, resource: {}".format(cv, resource), - ) + raise CobraSBMLError(f"Unsupported qualifier: {qualifier}") + for uri in ex_res.resources: + cv.addResource(uri) + + # adding the nested data + if ex_res.nested_data is not None: + _add_nested_data(cv, ex_res.nested_data) + + # finally add the cvterm + _check(cvterm.addNestedCVTerm(cv), "Adding nested cvterm: {}".format(cv)) # ----------------------------------------------------------------------------- @@ -1676,7 +1690,7 @@ def validate_sbml_model( internal_consistency=True, check_units_consistency=False, check_modeling_practice=False, - **kwargs + **kwargs, ): """Validate SBML model and returns the model along with a list of errors. diff --git a/src/cobra/io/schema_v1.json b/src/cobra/io/schema_v1.json index edc9756fb..8fd7cb0a4 100644 --- a/src/cobra/io/schema_v1.json +++ b/src/cobra/io/schema_v1.json @@ -153,5 +153,5 @@ "metabolites", "genes" ], - "additionalProperties": false + "additionalProperties": true } diff --git a/src/cobra/io/schema_v2.json b/src/cobra/io/schema_v2.json new file mode 100644 index 000000000..137158672 --- /dev/null +++ b/src/cobra/io/schema_v2.json @@ -0,0 +1,370 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "COBRA", + "description": "JSON representation of COBRA model", + "definitions": { + "annotation": { + "type": "object", + "properties": { + "sbo": { + "type": "string" + }, + "cvterms": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "resources": { + "type": "array", + "items": { + "type": "string" + } + }, + "nested_data": { + "$ref": "#/definitions/annotation" + } + } + } + } + }, + "history": { + "type": "object", + "properties": { + "creators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "organization_name": { + "type": "string" + } + }, + "required": [ + "first_name", + "last_name" + ], + "additionalProperties": false + } + }, + "created_date": { + "type": "string", + "format": "date-time" + }, + "modified_dates": { + "type": "array", + "items": { + "type": "string", + "format": "date-time" + } + } + }, + "required": [ + "creators", + "created_date", + "modified_dates" + ], + "additionalProperties": false + }, + "listofkeyvalue": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z|_][a-zA-Z0-9_]*$" + }, + "name": { + "type": "string" + }, + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "uri": { + "type": "string" + } + }, + "required": [ + "key" + ], + "additionalProperties": false + } + } + } + } + }, + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z|_][a-zA-Z0-9_]*$" + }, + "name": { + "type": "string" + }, + "version": { + "type": "string", + "default": "1" + }, + "reactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z|_][a-zA-Z0-9_]*$" + }, + "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 + }, + "subsystem": { + "type": "string" + }, + "notes": { + "type": "string" + }, + "annotation": { + "$ref": "#/definitions/annotation" + } + }, + "required": [ + "id", + "name", + "metabolites", + "lower_bound", + "upper_bound", + "gene_reaction_rule" + ], + "additionalProperties": false + } + }, + "metabolites": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z|_][a-zA-Z0-9_]*$" + }, + "name": { + "type": "string" + }, + "compartment": { + "type": "string", + "pattern": "[a-z]{1,2}" + }, + "charge": { + "type": "integer" + }, + "formula": { + "type": "string" + }, + "_bound": { + "type": "number", + "default": 0 + }, + "notes": { + "type": "string" + }, + "annotation": { + "$ref": "#/definitions/annotation" + } + }, + "required": [ + "id", + "name", + "compartment" + ], + "additionalProperties": false + } + }, + "genes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z|_][a-zA-Z0-9_]*$" + }, + "name": { + "type": "string" + }, + "notes": { + "type": "string" + }, + "annotation": { + "$ref": "#/definitions/annotation" + } + }, + "required": [ + "id", + "name" + ], + "additionalProperties": false + } + }, + "compartments": { + "type": "object", + "patternProperties": { + "[a-z]{1,2}": { + "type": "string" + } + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z|_][a-zA-Z0-9_]*$" + }, + "name": { + "type": "string" + }, + "notes": { + "type": "string" + }, + "annotation": { + "$ref": "#/definitions/annotation" + }, + "kind": { + "type": "string", + "enum": ["collection", "classification", "partonomy"] + }, + "members": { + "type": "array", + "items": { + "type": "object", + "properties": { + "idRef": { + "type": "string", + "pattern": "^[a-zA-Z|_][a-zA-Z0-9_]*$" + }, + "type": { + "type": "string" + } + }, + "required": ["idRef", "type"] + } + } + }, + "required": ["kind", "members"] + } + }, + "user_defined_constraints": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z|_][a-zA-Z0-9_]*$" + }, + "name": { + "type": "string" + }, + "lower_bound": { + "type": "number" + }, + "upper_bound": { + "type": "number" + }, + "constraint_comps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z|_][a-zA-Z0-9_]*$" + }, + "name": { + "type": "string" + }, + "coefficient": { + "type": "number" + }, + "variable": { + "type": "string" + }, + "variable_type": { + "type": "string", + "enum": ["linear", "quadratic"] + }, + "notes": { + "type": "string" + }, + "annotation": { + "$ref": "#/definitions/annotation" + } + }, + "required": ["variable"], + "additionalProperties": false + } + }, + "notes": { + "type": "string" + }, + "annotation": { + "$ref": "#/definitions/annotation" + } + }, + "required": ["lower_bound", "upper_bound", "constraint_comps"], + "additionalProperties": false + } + }, + "notes": { + "type": "string" + }, + "annotation": { + "$ref": "#/definitions/annotation" + } + }, + "required": [ + "id", + "reactions", + "metabolites", + "genes" + ], + "additionalProperties": true +} diff --git a/src/cobra/manipulation/annotate.py b/src/cobra/manipulation/annotate.py index aef3f87b3..d0ead3d36 100644 --- a/src/cobra/manipulation/annotate.py +++ b/src/cobra/manipulation/annotate.py @@ -14,13 +14,13 @@ def add_SBO(model): """ for r in model.reactions: # don't annotate already annotated reactions - if r.annotation.get("sbo"): + if len(r.annotation.get("sbo")) != 0: 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" + r.annotation["sbo"] = ["SBO:0000627"] elif r.id.startswith("DM_") and r.id == "DM_" + met_id: - r.annotation["sbo"] = "SBO:0000628" + r.annotation["sbo"] = ["SBO:0000628"] diff --git a/src/cobra/manipulation/validate.py b/src/cobra/manipulation/validate.py index 6c5bd972e..bfec46e09 100644 --- a/src/cobra/manipulation/validate.py +++ b/src/cobra/manipulation/validate.py @@ -15,7 +15,12 @@ def check_mass_balance(model): unbalanced = {} for reaction in model.reactions: - if reaction.annotation.get("sbo") not in NOT_MASS_BALANCED_TERMS: + sbo = reaction.annotation["sbo"] + if len(sbo) == 0: + sbo = None + else: + sbo = sbo[0] + if sbo not in NOT_MASS_BALANCED_TERMS: balance = reaction.check_mass_balance() if balance: unbalanced[reaction] = balance diff --git a/src/cobra/medium/boundary_types.py b/src/cobra/medium/boundary_types.py index 2c7d0e7d9..4ce054d89 100644 --- a/src/cobra/medium/boundary_types.py +++ b/src/cobra/medium/boundary_types.py @@ -113,9 +113,9 @@ def is_boundary_type(reaction, boundary_type, external_compartment): """ # Check if the reaction has an annotation. Annotations dominate everything. sbo_term = reaction.annotation.get("sbo", "") - if isinstance(sbo_term, list): + if isinstance(sbo_term, list) and len(sbo_term) != 0: sbo_term = sbo_term[0] - sbo_term = sbo_term.upper() + sbo_term = sbo_term.upper() if sbo_term == sbo_terms[boundary_type]: return True diff --git a/src/cobra/sampling/achr.py b/src/cobra/sampling/achr.py index 616a81863..6baa7c00b 100644 --- a/src/cobra/sampling/achr.py +++ b/src/cobra/sampling/achr.py @@ -154,8 +154,7 @@ def sample(self, n, fluxes=True): names = [r.id for r in self.model.reactions] return pandas.DataFrame( - samples[:, self.fwd_idx] - samples[:, self.rev_idx], - columns=names, + samples[:, self.fwd_idx] - samples[:, self.rev_idx], columns=names, ) else: names = [v.name for v in self.model.variables] diff --git a/src/cobra/sampling/hr_sampler.py b/src/cobra/sampling/hr_sampler.py index 70d930650..c71b9c325 100644 --- a/src/cobra/sampling/hr_sampler.py +++ b/src/cobra/sampling/hr_sampler.py @@ -285,9 +285,7 @@ def generate_fva_warmup(self): primals = self.model.solver.primal_values sol = [primals[v.name] for v in self.model.variables] - self.warmup[ - self.n_warmup, - ] = sol + self.warmup[self.n_warmup,] = sol self.n_warmup += 1 # Reset objective @@ -393,33 +391,13 @@ def _bounds_dist(self, p): """Get the lower and upper bound distances. Negative is bad.""" prob = self.problem - lb_dist = ( - p - - prob.variable_bounds[ - 0, - ] - ).min() - ub_dist = ( - prob.variable_bounds[ - 1, - ] - - p - ).min() + lb_dist = (p - prob.variable_bounds[0,]).min() + ub_dist = (prob.variable_bounds[1,] - p).min() if prob.bounds.shape[0] > 0: const = prob.inequalities.dot(p) - const_lb_dist = ( - const - - prob.bounds[ - 0, - ] - ).min() - const_ub_dist = ( - prob.bounds[ - 1, - ] - - const - ).min() + const_lb_dist = (const - prob.bounds[0,]).min() + const_ub_dist = (prob.bounds[1,] - const).min() lb_dist = min(lb_dist, const_lb_dist) ub_dist = min(ub_dist, const_ub_dist) @@ -508,39 +486,13 @@ def validate(self, samples): ) feasibility = np.abs(S.dot(samples.T).T - b).max(axis=1) - lb_error = ( - samples - - bounds[ - 0, - ] - ).min(axis=1) - ub_error = ( - bounds[ - 1, - ] - - samples - ).min(axis=1) + lb_error = (samples - bounds[0,]).min(axis=1) + ub_error = (bounds[1,] - samples).min(axis=1) if samples.shape[1] == len(self.model.variables) and prob.inequalities.shape[0]: consts = prob.inequalities.dot(samples.T) - lb_error = np.minimum( - lb_error, - ( - consts - - prob.bounds[ - 0, - ] - ).min(axis=1), - ) - ub_error = np.minimum( - ub_error, - ( - prob.bounds[ - 1, - ] - - consts - ).min(axis=1), - ) + lb_error = np.minimum(lb_error, (consts - prob.bounds[0,]).min(axis=1),) + ub_error = np.minimum(ub_error, (prob.bounds[1,] - consts).min(axis=1),) valid = ( (feasibility < self.feasibility_tol) diff --git a/src/cobra/sampling/optgp.py b/src/cobra/sampling/optgp.py index b34450a93..bd5a07e11 100644 --- a/src/cobra/sampling/optgp.py +++ b/src/cobra/sampling/optgp.py @@ -234,8 +234,7 @@ def sample(self, n, fluxes=True): names = [r.id for r in self.model.reactions] return pandas.DataFrame( - chains[:, self.fwd_idx] - chains[:, self.rev_idx], - columns=names, + chains[:, self.fwd_idx] - chains[:, self.rev_idx], columns=names, ) else: names = [v.name for v in self.model.variables] diff --git a/src/cobra/summary/metabolite_summary.py b/src/cobra/summary/metabolite_summary.py index f9fdef4ac..4bc30db1c 100644 --- a/src/cobra/summary/metabolite_summary.py +++ b/src/cobra/summary/metabolite_summary.py @@ -128,11 +128,7 @@ def _generate( # Create the basic flux table. flux = pd.DataFrame( data=[ - ( - r.id, - solution[r.id], - r.get_coefficient(self._metabolite.id), - ) + (r.id, solution[r.id], r.get_coefficient(self._metabolite.id),) for r in self._reactions ], columns=["reaction", "flux", "factor"], @@ -398,13 +394,11 @@ def to_html( metabolite = self._metabolite.id production = self._html_table( - self._display_flux(self.producing_flux, names, threshold), - float_format, + self._display_flux(self.producing_flux, names, threshold), float_format, ) consumption = self._html_table( - self._display_flux(self.consuming_flux, names, threshold), - float_format, + self._display_flux(self.consuming_flux, names, threshold), float_format, ) return ( diff --git a/src/cobra/summary/model_summary.py b/src/cobra/summary/model_summary.py index 832fe6f15..c35b72320 100644 --- a/src/cobra/summary/model_summary.py +++ b/src/cobra/summary/model_summary.py @@ -118,9 +118,7 @@ def _generate( if isinstance(fva, float): logger.info("Performing flux variability analysis.") fva = flux_variability_analysis( - model=model, - reaction_list=model.boundary, - fraction_of_optimum=fva, + model=model, reaction_list=model.boundary, fraction_of_optimum=fva, ) if coefficients: self._objective: Dict["Reaction", float] = { diff --git a/src/cobra/summary/reaction_summary.py b/src/cobra/summary/reaction_summary.py index a8e7f20ba..45a01507d 100644 --- a/src/cobra/summary/reaction_summary.py +++ b/src/cobra/summary/reaction_summary.py @@ -107,24 +107,17 @@ def _generate( if isinstance(fva, float): logger.info("Performing flux variability analysis.") fva = flux_variability_analysis( - model, - reaction_list=[self._reaction], - fraction_of_optimum=fva, + model, reaction_list=[self._reaction], fraction_of_optimum=fva, ) # Create the basic flux table. self._flux = pd.DataFrame( - data={"flux": [solution[self._reaction.id]]}, - index=[self._reaction.id], + data={"flux": [solution[self._reaction.id]]}, index=[self._reaction.id], ) if fva is not None: self._flux = self._flux.join(fva) - def _string_flux( - self, - threshold: float, - float_format: str, - ) -> str: + def _string_flux(self, threshold: float, float_format: str,) -> str: """ Transform a flux data frame to a string. diff --git a/src/cobra/summary/summary.py b/src/cobra/summary/summary.py index e7403b051..f975a9873 100644 --- a/src/cobra/summary/summary.py +++ b/src/cobra/summary/summary.py @@ -27,10 +27,7 @@ class Summary(ABC): """ - def __init__( - self, - **kwargs, - ) -> None: + def __init__(self, **kwargs,) -> None: """ Initialize a summary. diff --git a/src/cobra/test/data/cvterms_alternative.json b/src/cobra/test/data/cvterms_alternative.json new file mode 100644 index 000000000..c6a154083 --- /dev/null +++ b/src/cobra/test/data/cvterms_alternative.json @@ -0,0 +1,26 @@ +{ + "bqb_hasVersion": [ + { + "resources": [ + "https://identifiers.org/chebi/CHEBI:17345", + "https://identifiers.org/chebi/CHEBI:17552", + "https://identifiers.org/chebi/CHEBI:17627" + ] + }, + { + "resources": [ + "https://identifiers.org/kegg.compound/C00035", + "https://identifiers.org/kegg.compound/C00044", + "https://identifiers.org/kegg.compound/C00144" + ] + } + ], + "bqb_isDescribedBy": [ + { + "resources": [ + "https://identifiers.org/uniprot/Q9UQM7", + "https://identifiers.org/uniprot/Q13554" + ] + } + ] +} diff --git a/src/cobra/test/data/cvterms_nested.json b/src/cobra/test/data/cvterms_nested.json new file mode 100644 index 000000000..ba62ee764 --- /dev/null +++ b/src/cobra/test/data/cvterms_nested.json @@ -0,0 +1,30 @@ +{ + "bqb_hasPart": [ + { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://identifiers.org/uniprot/P68871", + "https://identifiers.org/kegg.compound/C00032" + ] + }, + { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://www.uniprot.org/uniprot/P68871", + "https://identifiers.org/chebi/CHEBI:17627" + ], + "bqb_isDescribedBy": [ + { + "resources": [ + "https://identifiers.org/pubmed/1111111" + ] + }, + { + "resources": [ + "https://identifiers.org/eco/000000" + ] + } + ] + } + ] +} diff --git a/src/cobra/test/data/e_coli_core.json b/src/cobra/test/data/e_coli_core.json new file mode 100644 index 000000000..39db77321 --- /dev/null +++ b/src/cobra/test/data/e_coli_core.json @@ -0,0 +1,14786 @@ +{ +"metabolites":[ +{ +"id":"glc__D_e", +"name":"D-Glucose", +"compartment":"e", +"charge":0, +"formula":"C6H12O6", +"notes":{ +"original_bigg_ids":[ +"glc_D_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"glc__D" +], +"biocyc":[ +"META:Glucopyranose" +], +"chebi":[ +"CHEBI:12965", +"CHEBI:20999", +"CHEBI:4167", +"CHEBI:17634" +], +"hmdb":[ +"HMDB00122", +"HMDB06564" +], +"inchi_key":[ +"WQZGKKKJIJFFOK-GASJEMHNSA-N" +], +"kegg.compound":[ +"C00031" +], +"kegg.drug":[ +"D00009" +], +"metanetx.chemical":[ +"MNXM41" +], +"sabiork":[ +"1406", +"1407" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd26821", +"cpd00027" +] +} +}, +{ +"id":"gln__L_c", +"name":"L-Glutamine", +"compartment":"c", +"charge":0, +"formula":"C5H10N2O3", +"notes":{ +"original_bigg_ids":[ +"gln_L_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"gln__L" +], +"biocyc":[ +"META:GLN" +], +"chebi":[ +"CHEBI:42943", +"CHEBI:42899", +"CHEBI:32679", +"CHEBI:32678", +"CHEBI:58359", +"CHEBI:28300", +"CHEBI:42812", +"CHEBI:13110", +"CHEBI:18050", +"CHEBI:32666", +"CHEBI:6227", +"CHEBI:32665", +"CHEBI:21308", +"CHEBI:42814", +"CHEBI:5432", +"CHEBI:24316" +], +"hmdb":[ +"HMDB00641" +], +"inchi_key":[ +"ZDXPYRJPNDTMRX-VKHMYHEASA-N" +], +"kegg.compound":[ +"C00064", +"C00303" +], +"kegg.drug":[ +"D00015" +], +"metanetx.chemical":[ +"MNXM37" +], +"reactome.compound":[ +"113522", +"212615", +"29472" +], +"sabiork":[ +"2011", +"74" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00253", +"cpd00053" +] +} +}, +{ +"id":"gln__L_e", +"name":"L-Glutamine", +"compartment":"e", +"charge":0, +"formula":"C5H10N2O3", +"notes":{ +"original_bigg_ids":[ +"gln_L_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"gln__L" +], +"biocyc":[ +"META:GLN" +], +"chebi":[ +"CHEBI:42943", +"CHEBI:42899", +"CHEBI:32679", +"CHEBI:32678", +"CHEBI:58359", +"CHEBI:28300", +"CHEBI:42812", +"CHEBI:13110", +"CHEBI:18050", +"CHEBI:32666", +"CHEBI:6227", +"CHEBI:32665", +"CHEBI:21308", +"CHEBI:42814", +"CHEBI:5432", +"CHEBI:24316" +], +"hmdb":[ +"HMDB00641" +], +"inchi_key":[ +"ZDXPYRJPNDTMRX-VKHMYHEASA-N" +], +"kegg.compound":[ +"C00064", +"C00303" +], +"kegg.drug":[ +"D00015" +], +"metanetx.chemical":[ +"MNXM37" +], +"reactome.compound":[ +"113522", +"212615", +"29472" +], +"sabiork":[ +"2011", +"74" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00253", +"cpd00053" +] +} +}, +{ +"id":"glu__L_c", +"name":"L-Glutamate", +"compartment":"c", +"charge":-1, +"formula":"C5H8NO4", +"notes":{ +"original_bigg_ids":[ +"glu_L_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"glu__L" +], +"biocyc":[ +"META:Glutamates", +"META:GLT" +], +"chebi":[ +"CHEBI:76051", +"CHEBI:21301", +"CHEBI:29985", +"CHEBI:42825", +"CHEBI:29987", +"CHEBI:18237", +"CHEBI:24314", +"CHEBI:16015", +"CHEBI:13107", +"CHEBI:5431", +"CHEBI:21304", +"CHEBI:6224", +"CHEBI:14321", +"CHEBI:29988" +], +"hmdb":[ +"HMDB00148", +"HMDB60475" +], +"inchi_key":[ +"WHUUTDBJXJRKMK-VKHMYHEASA-M" +], +"kegg.compound":[ +"C00025", +"C00302" +], +"kegg.drug":[ +"D00007", +"D04341" +], +"metanetx.chemical":[ +"MNXM89557" +], +"reactome.compound":[ +"428614", +"29404", +"113552", +"210382" +], +"sabiork":[ +"73", +"2010" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd27177", +"cpd00023", +"cpd19002" +] +} +}, +{ +"id":"glu__L_e", +"name":"L-Glutamate", +"compartment":"e", +"charge":-1, +"formula":"C5H8NO4", +"notes":{ +"original_bigg_ids":[ +"glu_L_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"glu__L" +], +"biocyc":[ +"META:Glutamates", +"META:GLT" +], +"chebi":[ +"CHEBI:76051", +"CHEBI:21301", +"CHEBI:29985", +"CHEBI:42825", +"CHEBI:29987", +"CHEBI:18237", +"CHEBI:24314", +"CHEBI:16015", +"CHEBI:13107", +"CHEBI:5431", +"CHEBI:21304", +"CHEBI:6224", +"CHEBI:14321", +"CHEBI:29988" +], +"hmdb":[ +"HMDB00148", +"HMDB60475" +], +"inchi_key":[ +"WHUUTDBJXJRKMK-VKHMYHEASA-M" +], +"kegg.compound":[ +"C00025", +"C00302" +], +"kegg.drug":[ +"D00007", +"D04341" +], +"metanetx.chemical":[ +"MNXM89557" +], +"reactome.compound":[ +"428614", +"29404", +"113552", +"210382" +], +"sabiork":[ +"73", +"2010" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd27177", +"cpd00023", +"cpd19002" +] +} +}, +{ +"id":"glx_c", +"name":"Glyoxylate", +"compartment":"c", +"charge":-1, +"formula":"C2H1O3", +"notes":{ +"original_bigg_ids":[ +"glx_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"glx" +], +"biocyc":[ +"META:GLYOX" +], +"chebi":[ +"CHEBI:24420", +"CHEBI:36655", +"CHEBI:14368", +"CHEBI:24421", +"CHEBI:42767", +"CHEBI:16891", +"CHEBI:35977", +"CHEBI:5509" +], +"envipath":[ +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/cdffdb1a-3322-4cc1-9171-d857bfaa198a", +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/aecbda66-6e98-4c11-aeaf-6a072f4f963c", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/9dc0aa3b-447a-4b5d-8157-501b036f9626", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/43b74f4f-bc8a-4b8b-b587-c97d8e9eed48" +], +"hmdb":[ +"HMDB00119" +], +"inchi_key":[ +"HHLFWLYXYJOTON-UHFFFAOYSA-M" +], +"kegg.compound":[ +"C00048" +], +"metanetx.chemical":[ +"MNXM69" +], +"reactome.compound":[ +"904849", +"389678" +], +"sabiork":[ +"1838" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00040" +] +} +}, +{ +"id":"h2o_c", +"name":"H2O H2O", +"compartment":"c", +"charge":0, +"formula":"H2O", +"notes":{ +"original_bigg_ids":[ +"h2o_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"h2o" +], +"biocyc":[ +"META:CPD-15815", +"META:OXONIUM", +"META:HYDROXYL-GROUP", +"META:WATER", +"META:OH" +], +"chebi":[ +"CHEBI:13352", +"CHEBI:30490", +"CHEBI:43228", +"CHEBI:33813", +"CHEBI:44292", +"CHEBI:44641", +"CHEBI:27313", +"CHEBI:42043", +"CHEBI:44819", +"CHEBI:29356", +"CHEBI:5594", +"CHEBI:10743", +"CHEBI:15377", +"CHEBI:42857", +"CHEBI:13365", +"CHEBI:29412", +"CHEBI:16234", +"CHEBI:13419", +"CHEBI:5585", +"CHEBI:44701" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/799908db-b8c9-4982-86cb-1f225e2ad08c", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/e7f34a8e-cded-4793-b6d5-792335b38636", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/969d0227-3069-4e44-9525-7ae7bad84170" +], +"hmdb":[ +"HMDB02111", +"HMDB01039" +], +"inchi_key":[ +"XLYOFNOQVPJJNP-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00001", +"C01328" +], +"kegg.drug":[ +"D00001", +"D06322" +], +"metanetx.chemical":[ +"MNXM2" +], +"reactome.compound":[ +"113521", +"141343", +"2022884", +"5278291", +"29356", +"189422", +"5668574", +"5693747", +"109276", +"113519", +"1605715", +"8851517", +"113518", +"351603" +], +"sabiork":[ +"40" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd27222", +"cpd00001", +"cpd15275" +] +} +}, +{ +"id":"h2o_e", +"name":"H2O H2O", +"compartment":"e", +"charge":0, +"formula":"H2O", +"notes":{ +"original_bigg_ids":[ +"h2o_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"h2o" +], +"biocyc":[ +"META:CPD-15815", +"META:OXONIUM", +"META:HYDROXYL-GROUP", +"META:WATER", +"META:OH" +], +"chebi":[ +"CHEBI:13352", +"CHEBI:30490", +"CHEBI:43228", +"CHEBI:33813", +"CHEBI:44292", +"CHEBI:44641", +"CHEBI:27313", +"CHEBI:42043", +"CHEBI:44819", +"CHEBI:29356", +"CHEBI:5594", +"CHEBI:10743", +"CHEBI:15377", +"CHEBI:42857", +"CHEBI:13365", +"CHEBI:29412", +"CHEBI:16234", +"CHEBI:13419", +"CHEBI:5585", +"CHEBI:44701" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/799908db-b8c9-4982-86cb-1f225e2ad08c", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/e7f34a8e-cded-4793-b6d5-792335b38636", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/969d0227-3069-4e44-9525-7ae7bad84170" +], +"hmdb":[ +"HMDB02111", +"HMDB01039" +], +"inchi_key":[ +"XLYOFNOQVPJJNP-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00001", +"C01328" +], +"kegg.drug":[ +"D00001", +"D06322" +], +"metanetx.chemical":[ +"MNXM2" +], +"reactome.compound":[ +"113521", +"141343", +"2022884", +"5278291", +"29356", +"189422", +"5668574", +"5693747", +"109276", +"113519", +"1605715", +"8851517", +"113518", +"351603" +], +"sabiork":[ +"40" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd27222", +"cpd00001", +"cpd15275" +] +} +}, +{ +"id":"h_c", +"name":"H+", +"compartment":"c", +"charge":1, +"formula":"H", +"notes":{ +"original_bigg_ids":[ +"h_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"h" +], +"biocyc":[ +"META:PROTON" +], +"chebi":[ +"CHEBI:5584", +"CHEBI:13357", +"CHEBI:15378", +"CHEBI:10744" +], +"hmdb":[ +"HMDB59597" +], +"inchi_key":[ +"GPRLSGONYQIRFK-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00080" +], +"metanetx.chemical":[ +"MNXM1" +], +"reactome.compound":[ +"2000349", +"425978", +"74722", +"428040", +"427899", +"428548", +"156540", +"70106", +"425969", +"1132304", +"5668577", +"1470067", +"163953", +"193465", +"113529", +"351626", +"425999", +"194688", +"374900", +"2872447", +"372511" +], +"sabiork":[ +"39" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00067" +] +} +}, +{ +"id":"h_e", +"name":"H+", +"compartment":"e", +"charge":1, +"formula":"H", +"notes":{ +"original_bigg_ids":[ +"h_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"h" +], +"biocyc":[ +"META:PROTON" +], +"chebi":[ +"CHEBI:5584", +"CHEBI:13357", +"CHEBI:15378", +"CHEBI:10744" +], +"hmdb":[ +"HMDB59597" +], +"inchi_key":[ +"GPRLSGONYQIRFK-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00080" +], +"metanetx.chemical":[ +"MNXM1" +], +"reactome.compound":[ +"2000349", +"425978", +"74722", +"428040", +"427899", +"428548", +"156540", +"70106", +"425969", +"1132304", +"5668577", +"1470067", +"163953", +"193465", +"113529", +"351626", +"425999", +"194688", +"374900", +"2872447", +"372511" +], +"sabiork":[ +"39" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00067" +] +} +}, +{ +"id":"icit_c", +"name":"Isocitrate", +"compartment":"c", +"charge":-3, +"formula":"C6H5O7", +"notes":{ +"original_bigg_ids":[ +"icit_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"icit" +], +"chebi":[ +"CHEBI:16087", +"CHEBI:36454", +"CHEBI:5998", +"CHEBI:24886", +"CHEBI:36453", +"CHEBI:14465", +"CHEBI:30887", +"CHEBI:24884" +], +"hmdb":[ +"HMDB00193" +], +"inchi_key":[ +"ODBLHEXUDAPZAU-UHFFFAOYSA-K" +], +"kegg.compound":[ +"C00311" +], +"metanetx.chemical":[ +"MNXM89661" +], +"sabiork":[ +"2013" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00260" +] +} +}, +{ +"id":"lac__D_c", +"name":"D-Lactate", +"compartment":"c", +"charge":-1, +"formula":"C3H5O3", +"notes":{ +"original_bigg_ids":[ +"lac_D_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"lac__D" +], +"biocyc":[ +"META:D-LACTATE" +], +"chebi":[ +"CHEBI:16004", +"CHEBI:341", +"CHEBI:18684", +"CHEBI:43701", +"CHEBI:11001", +"CHEBI:42111", +"CHEBI:42105" +], +"hmdb":[ +"HMDB01311", +"HMDB00171" +], +"inchi_key":[ +"JVTAAEKCZFNVCJ-UWTATZPHSA-M" +], +"kegg.compound":[ +"C00256" +], +"metanetx.chemical":[ +"MNXM285" +], +"sabiork":[ +"1997", +"2284" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00221" +] +} +}, +{ +"id":"lac__D_e", +"name":"D-Lactate", +"compartment":"e", +"charge":-1, +"formula":"C3H5O3", +"notes":{ +"original_bigg_ids":[ +"lac_D_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"lac__D" +], +"biocyc":[ +"META:D-LACTATE" +], +"chebi":[ +"CHEBI:16004", +"CHEBI:341", +"CHEBI:18684", +"CHEBI:43701", +"CHEBI:11001", +"CHEBI:42111", +"CHEBI:42105" +], +"hmdb":[ +"HMDB01311", +"HMDB00171" +], +"inchi_key":[ +"JVTAAEKCZFNVCJ-UWTATZPHSA-M" +], +"kegg.compound":[ +"C00256" +], +"metanetx.chemical":[ +"MNXM285" +], +"sabiork":[ +"1997", +"2284" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00221" +] +} +}, +{ +"id":"mal__L_c", +"name":"L-Malate", +"compartment":"c", +"charge":-2, +"formula":"C4H4O5", +"notes":{ +"original_bigg_ids":[ +"mal_L_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"mal__L" +], +"biocyc":[ +"META:MAL" +], +"chebi":[ +"CHEBI:15589", +"CHEBI:30797", +"CHEBI:423", +"CHEBI:18784", +"CHEBI:18785", +"CHEBI:13140", +"CHEBI:11066" +], +"hmdb":[ +"HMDB00156" +], +"inchi_key":[ +"BJEPYKJPYRNKOW-REOHCLBHSA-L" +], +"kegg.compound":[ +"C00149" +], +"metanetx.chemical":[ +"MNXM98" +], +"reactome.compound":[ +"198498", +"113544" +], +"sabiork":[ +"1918" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00130" +] +} +}, +{ +"id":"mal__L_e", +"name":"L-Malate", +"compartment":"e", +"charge":-2, +"formula":"C4H4O5", +"notes":{ +"original_bigg_ids":[ +"mal_L_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"mal__L" +], +"biocyc":[ +"META:MAL" +], +"chebi":[ +"CHEBI:15589", +"CHEBI:30797", +"CHEBI:423", +"CHEBI:18784", +"CHEBI:18785", +"CHEBI:13140", +"CHEBI:11066" +], +"hmdb":[ +"HMDB00156" +], +"inchi_key":[ +"BJEPYKJPYRNKOW-REOHCLBHSA-L" +], +"kegg.compound":[ +"C00149" +], +"metanetx.chemical":[ +"MNXM98" +], +"reactome.compound":[ +"198498", +"113544" +], +"sabiork":[ +"1918" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00130" +] +} +}, +{ +"id":"nad_c", +"name":"Nicotinamide adenine dinucleotide", +"compartment":"c", +"charge":-1, +"formula":"C21H26N7O14P2", +"notes":{ +"original_bigg_ids":[ +"nad_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"nad" +], +"biocyc":[ +"META:NAD" +], +"chebi":[ +"CHEBI:7422", +"CHEBI:44215", +"CHEBI:13394", +"CHEBI:21901", +"CHEBI:57540", +"CHEBI:15846", +"CHEBI:44281", +"CHEBI:44214", +"CHEBI:13393", +"CHEBI:29867" +], +"hmdb":[ +"HMDB00902" +], +"inchi_key":[ +"BAWFJGJZGIEFAR-NNYOXOHSSA-M" +], +"kegg.compound":[ +"C00003" +], +"kegg.drug":[ +"D00002" +], +"metanetx.chemical":[ +"MNXM8" +], +"reactome.compound":[ +"352330", +"192307", +"194653", +"113526", +"29360" +], +"sabiork":[ +"37" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00003" +] +} +}, +{ +"id":"nadh_c", +"name":"Nicotinamide adenine dinucleotide - reduced", +"compartment":"c", +"charge":-2, +"formula":"C21H27N7O14P2", +"notes":{ +"original_bigg_ids":[ +"nadh_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"nadh" +], +"biocyc":[ +"META:NADH" +], +"chebi":[ +"CHEBI:13395", +"CHEBI:21902", +"CHEBI:7423", +"CHEBI:44216", +"CHEBI:57945", +"CHEBI:16908", +"CHEBI:13396" +], +"hmdb":[ +"HMDB01487" +], +"inchi_key":[ +"BOPGDPNILDQYTO-NNYOXOHSSA-L" +], +"kegg.compound":[ +"C00004" +], +"metanetx.chemical":[ +"MNXM10" +], +"reactome.compound":[ +"192305", +"73473", +"29362", +"194697" +], +"sabiork":[ +"38" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00004" +] +} +}, +{ +"id":"nadp_c", +"name":"Nicotinamide adenine dinucleotide phosphate", +"compartment":"c", +"charge":-3, +"formula":"C21H25N7O17P3", +"notes":{ +"original_bigg_ids":[ +"nadp_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"nadp" +], +"biocyc":[ +"META:NADP" +], +"chebi":[ +"CHEBI:29868", +"CHEBI:44405", +"CHEBI:25523", +"CHEBI:13397", +"CHEBI:18009", +"CHEBI:7424", +"CHEBI:13398", +"CHEBI:21903", +"CHEBI:58349", +"CHEBI:44409" +], +"hmdb":[ +"HMDB00217" +], +"inchi_key":[ +"XJLXINKUBYWONI-NNYOXOHSSA-K" +], +"kegg.compound":[ +"C00006" +], +"metanetx.chemical":[ +"MNXM5" +], +"reactome.compound":[ +"194668", +"113563", +"6790191", +"5623650", +"2000348", +"389556", +"29366", +"351628", +"113564" +], +"sabiork":[ +"1263" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00006" +] +} +}, +{ +"id":"nadph_c", +"name":"Nicotinamide adenine dinucleotide phosphate - reduced", +"compartment":"c", +"charge":-4, +"formula":"C21H26N7O17P3", +"notes":{ +"original_bigg_ids":[ +"nadph_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"nadph" +], +"biocyc":[ +"META:NADPH" +], +"chebi":[ +"CHEBI:16474", +"CHEBI:7425", +"CHEBI:57783", +"CHEBI:21904", +"CHEBI:13399", +"CHEBI:13400", +"CHEBI:44286" +], +"hmdb":[ +"HMDB06341", +"HMDB00221", +"HMDB00799" +], +"inchi_key":[ +"ACFIXJIJDZMPPO-NNYOXOHSSA-J" +], +"kegg.compound":[ +"C00005" +], +"metanetx.chemical":[ +"MNXM6" +], +"reactome.compound":[ +"113600", +"6790135", +"113602", +"113601", +"2000347", +"351627", +"29364", +"5623644", +"194725" +], +"sabiork":[ +"1262" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00005" +] +} +}, +{ +"id":"nh4_c", +"name":"Ammonium", +"compartment":"c", +"charge":1, +"formula":"H4N", +"notes":{ +"original_bigg_ids":[ +"nh4_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"nh4" +], +"biocyc":[ +"META:AMMONIUM", +"META:AMMONIA" +], +"chebi":[ +"CHEBI:44284", +"CHEBI:135980", +"CHEBI:22533", +"CHEBI:13406", +"CHEBI:29337", +"CHEBI:29340", +"CHEBI:13771", +"CHEBI:16134", +"CHEBI:28938", +"CHEBI:22534", +"CHEBI:13405", +"CHEBI:49783", +"CHEBI:7434", +"CHEBI:7435", +"CHEBI:44269", +"CHEBI:44404", +"CHEBI:13407" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/96667bd9-aeae-4e8f-89d3-100d0396af05", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/41e4c903-407f-49f7-bf6b-0a94d39fa3a7", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/27a89bdf-42f7-478f-91d8-e39881581096" +], +"hmdb":[ +"HMDB00051", +"HMDB41827" +], +"inchi_key":[ +"QGZKDVFQNNGYKY-UHFFFAOYSA-O" +], +"kegg.compound":[ +"C00014", +"C01342" +], +"kegg.drug":[ +"D02916", +"D02915" +], +"metanetx.chemical":[ +"MNXM15" +], +"reactome.compound":[ +"5693978", +"1132163", +"29382", +"76230", +"140912", +"389843", +"2022135", +"31633", +"113561" +], +"sabiork":[ +"1268", +"43" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd19013", +"cpd00013" +] +} +}, +{ +"id":"13dpg_c", +"name":"3-Phospho-D-glyceroyl phosphate", +"compartment":"c", +"charge":-4, +"formula":"C3H4O10P2", +"notes":{ +"original_bigg_ids":[ +"13dpg_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"13dpg" +], +"biocyc":[ +"META:DPG" +], +"chebi":[ +"CHEBI:57604", +"CHEBI:20189", +"CHEBI:11881", +"CHEBI:16001", +"CHEBI:1658" +], +"hmdb":[ +"HMDB62758" +], +"inchi_key":[ +"LJQLQCAXBUHEAZ-UWTATZPHSA-J" +], +"kegg.compound":[ +"C00236" +], +"metanetx.chemical":[ +"MNXM261" +], +"reactome.compound":[ +"29800" +], +"sabiork":[ +"21215" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00203" +] +} +}, +{ +"id":"nh4_e", +"name":"Ammonium", +"compartment":"e", +"charge":1, +"formula":"H4N", +"notes":{ +"original_bigg_ids":[ +"nh4_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"nh4" +], +"biocyc":[ +"META:AMMONIUM", +"META:AMMONIA" +], +"chebi":[ +"CHEBI:44284", +"CHEBI:135980", +"CHEBI:22533", +"CHEBI:13406", +"CHEBI:29337", +"CHEBI:29340", +"CHEBI:13771", +"CHEBI:16134", +"CHEBI:28938", +"CHEBI:22534", +"CHEBI:13405", +"CHEBI:49783", +"CHEBI:7434", +"CHEBI:7435", +"CHEBI:44269", +"CHEBI:44404", +"CHEBI:13407" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/96667bd9-aeae-4e8f-89d3-100d0396af05", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/41e4c903-407f-49f7-bf6b-0a94d39fa3a7", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/27a89bdf-42f7-478f-91d8-e39881581096" +], +"hmdb":[ +"HMDB00051", +"HMDB41827" +], +"inchi_key":[ +"QGZKDVFQNNGYKY-UHFFFAOYSA-O" +], +"kegg.compound":[ +"C00014", +"C01342" +], +"kegg.drug":[ +"D02916", +"D02915" +], +"metanetx.chemical":[ +"MNXM15" +], +"reactome.compound":[ +"5693978", +"1132163", +"29382", +"76230", +"140912", +"389843", +"2022135", +"31633", +"113561" +], +"sabiork":[ +"1268", +"43" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd19013", +"cpd00013" +] +} +}, +{ +"id":"o2_c", +"name":"O2 O2", +"compartment":"c", +"charge":0, +"formula":"O2", +"notes":{ +"original_bigg_ids":[ +"o2_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"o2" +], +"biocyc":[ +"META:OXYGEN-MOLECULE" +], +"chebi":[ +"CHEBI:7860", +"CHEBI:26689", +"CHEBI:29097", +"CHEBI:15379", +"CHEBI:13416", +"CHEBI:27140", +"CHEBI:29793", +"CHEBI:30491", +"CHEBI:44742", +"CHEBI:23833", +"CHEBI:25366", +"CHEBI:10745" +], +"envipath":[ +"5882df9c-dae1-4d80-a40e-db4724271456/compound/d5d12248-82d3-4cf3-b7d0-2e3d096768b4" +], +"hmdb":[ +"HMDB01377" +], +"inchi_key":[ +"MYMOFIZGZYHOMD-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00007" +], +"kegg.drug":[ +"D00003" +], +"metanetx.chemical":[ +"MNXM4" +], +"reactome.compound":[ +"113534", +"113535", +"113685", +"5668566", +"189461", +"113533", +"1131511", +"352327", +"351593", +"29368", +"1236709" +], +"sabiork":[ +"1264" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00007" +] +} +}, +{ +"id":"2pg_c", +"name":"D-Glycerate 2-phosphate", +"compartment":"c", +"charge":-3, +"formula":"C3H4O7P", +"notes":{ +"original_bigg_ids":[ +"2pg_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"2pg" +], +"biocyc":[ +"META:2-PG" +], +"chebi":[ +"CHEBI:39868", +"CHEBI:21028", +"CHEBI:58289", +"CHEBI:24344", +"CHEBI:12986", +"CHEBI:17835", +"CHEBI:11651", +"CHEBI:1267", +"CHEBI:88350" +], +"hmdb":[ +"HMDB00362", +"HMDB62707", +"HMDB03391" +], +"inchi_key":[ +"GXIURPTVHJPJLF-UWTATZPHSA-K" +], +"kegg.compound":[ +"C00631" +], +"metanetx.chemical":[ +"MNXM275" +], +"reactome.compound":[ +"30485" +], +"sabiork":[ +"31" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00482" +] +} +}, +{ +"id":"o2_e", +"name":"O2 O2", +"compartment":"e", +"charge":0, +"formula":"O2", +"notes":{ +"original_bigg_ids":[ +"o2_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"o2" +], +"biocyc":[ +"META:OXYGEN-MOLECULE" +], +"chebi":[ +"CHEBI:7860", +"CHEBI:26689", +"CHEBI:29097", +"CHEBI:15379", +"CHEBI:13416", +"CHEBI:27140", +"CHEBI:29793", +"CHEBI:30491", +"CHEBI:44742", +"CHEBI:23833", +"CHEBI:25366", +"CHEBI:10745" +], +"envipath":[ +"5882df9c-dae1-4d80-a40e-db4724271456/compound/d5d12248-82d3-4cf3-b7d0-2e3d096768b4" +], +"hmdb":[ +"HMDB01377" +], +"inchi_key":[ +"MYMOFIZGZYHOMD-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00007" +], +"kegg.drug":[ +"D00003" +], +"metanetx.chemical":[ +"MNXM4" +], +"reactome.compound":[ +"113534", +"113535", +"113685", +"5668566", +"189461", +"113533", +"1131511", +"352327", +"351593", +"29368", +"1236709" +], +"sabiork":[ +"1264" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00007" +] +} +}, +{ +"id":"3pg_c", +"name":"3-Phospho-D-glycerate", +"compartment":"c", +"charge":-3, +"formula":"C3H4O7P", +"notes":{ +"original_bigg_ids":[ +"3pg_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"3pg" +], +"biocyc":[ +"META:G3P" +], +"chebi":[ +"CHEBI:11879", +"CHEBI:11880", +"CHEBI:17794", +"CHEBI:21029", +"CHEBI:1657", +"CHEBI:58272", +"CHEBI:12987" +], +"hmdb":[ +"HMDB60180" +], +"inchi_key":[ +"OSJPPGNTCRNQQC-UWTATZPHSA-K" +], +"kegg.compound":[ +"C00197" +], +"metanetx.chemical":[ +"MNXM126" +], +"reactome.compound":[ +"6799493", +"29728" +], +"sabiork":[ +"21216" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00169" +] +} +}, +{ +"id":"oaa_c", +"name":"Oxaloacetate", +"compartment":"c", +"charge":-2, +"formula":"C4H2O5", +"notes":{ +"original_bigg_ids":[ +"oaa_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"oaa" +], +"biocyc":[ +"META:OXALACETIC_ACID" +], +"chebi":[ +"CHEBI:25731", +"CHEBI:24959", +"CHEBI:12820", +"CHEBI:16452", +"CHEBI:30744", +"CHEBI:14703", +"CHEBI:24958", +"CHEBI:7812", +"CHEBI:25734", +"CHEBI:29049" +], +"envipath":[ +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/133a11f3-81b0-4384-837e-1ccdd0a2a645", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/40afaad4-431a-4e3c-b4c7-020dbe4bdd2a", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/be7c543c-40bd-4698-9821-22f2e65c38f3" +], +"hmdb":[ +"HMDB00223" +], +"inchi_key":[ +"KHPXUQMNIQBQEV-UHFFFAOYSA-L" +], +"kegg.compound":[ +"C00036" +], +"lipidmaps":[ +"LMFA01170120" +], +"metanetx.chemical":[ +"MNXM46" +], +"reactome.compound":[ +"6810070", +"113587", +"76213" +], +"sabiork":[ +"1915" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00032" +] +} +}, +{ +"id":"pep_c", +"name":"Phosphoenolpyruvate", +"compartment":"c", +"charge":-3, +"formula":"C3H2O6P", +"notes":{ +"original_bigg_ids":[ +"pep_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"pep" +], +"biocyc":[ +"META:PHOSPHO-ENOL-PYRUVATE" +], +"chebi":[ +"CHEBI:18021", +"CHEBI:44894", +"CHEBI:26054", +"CHEBI:14812", +"CHEBI:26055", +"CHEBI:8147", +"CHEBI:58702", +"CHEBI:44897" +], +"hmdb":[ +"HMDB00263" +], +"inchi_key":[ +"DTBNBXWJWCWCIK-UHFFFAOYSA-K" +], +"kegg.compound":[ +"C00074" +], +"metanetx.chemical":[ +"MNXM73" +], +"reactome.compound":[ +"372364", +"29492" +], +"sabiork":[ +"32" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00061" +] +} +}, +{ +"id":"6pgc_c", +"name":"6-Phospho-D-gluconate", +"compartment":"c", +"charge":-3, +"formula":"C6H10O10P", +"notes":{ +"original_bigg_ids":[ +"6pgc_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"6pgc" +], +"biocyc":[ +"META:CPD-2961" +], +"chebi":[ +"CHEBI:33851", +"CHEBI:2231", +"CHEBI:16863", +"CHEBI:40282", +"CHEBI:12232", +"CHEBI:48928", +"CHEBI:58759" +], +"hmdb":[ +"HMDB01316", +"HMDB62800" +], +"inchi_key":[ +"BIRSGZKFKXLSJQ-SQOUGZDYSA-K" +], +"kegg.compound":[ +"C00345" +], +"metanetx.chemical":[ +"MNXM325" +], +"reactome.compound":[ +"29996" +], +"sabiork":[ +"22801", +"2024" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00284" +] +} +}, +{ +"id":"pi_c", +"name":"Phosphate", +"compartment":"c", +"charge":-2, +"formula":"HO4P", +"notes":{ +"original_bigg_ids":[ +"pi_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"pi" +], +"biocyc":[ +"META:Pi", +"META:CPD-16459", +"META:PHOSPHATE-GROUP" +], +"chebi":[ +"CHEBI:26078", +"CHEBI:18367", +"CHEBI:29139", +"CHEBI:39739", +"CHEBI:43470", +"CHEBI:35780", +"CHEBI:43474", +"CHEBI:26020", +"CHEBI:45024", +"CHEBI:39745", +"CHEBI:29137", +"CHEBI:14791", +"CHEBI:7793" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/db5219ee-60cb-4370-b066-340c9faf069c", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/84684967-eade-48d4-b25d-c4aede0a0836", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/ad82c39b-2edb-4953-b971-79a2d2ea6e26", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/aac01fea-4223-49c1-8b12-cd50f11ebfc8", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/c581b2ce-6238-45de-abc0-60ca8d47ed04" +], +"hmdb":[ +"HMDB02105", +"HMDB00973", +"HMDB01429", +"HMDB02142", +"HMDB05947" +], +"inchi_key":[ +"NBIIXXVUZAFLBC-UHFFFAOYSA-L" +], +"kegg.compound":[ +"C00009" +], +"kegg.drug":[ +"D05467" +], +"metanetx.chemical":[ +"MNXM9" +], +"reactome.compound":[ +"5228339", +"113550", +"8851513", +"113551", +"109277", +"29372", +"8851226", +"113548" +], +"sabiork":[ +"36" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd27787", +"cpd00009" +] +} +}, +{ +"id":"6pgl_c", +"name":"6-phospho-D-glucono-1,5-lactone", +"compartment":"c", +"charge":-2, +"formula":"C6H9O9P", +"notes":{ +"original_bigg_ids":[ +"6pgl_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"6pgl" +], +"biocyc":[ +"META:D-6-P-GLUCONO-DELTA-LACTONE" +], +"chebi":[ +"CHEBI:12233", +"CHEBI:4160", +"CHEBI:57955", +"CHEBI:16938", +"CHEBI:20989", +"CHEBI:12958" +], +"hmdb":[ +"HMDB62628", +"HMDB01127" +], +"inchi_key":[ +"IJOJIVNDFQSGAB-SQOUGZDYSA-L" +], +"kegg.compound":[ +"C01236" +], +"metanetx.chemical":[ +"MNXM429" +], +"reactome.compound":[ +"31467" +], +"sabiork":[ +"1366" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00911" +] +} +}, +{ +"id":"pi_e", +"name":"Phosphate", +"compartment":"e", +"charge":-2, +"formula":"HO4P", +"notes":{ +"original_bigg_ids":[ +"pi_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"pi" +], +"biocyc":[ +"META:Pi", +"META:CPD-16459", +"META:PHOSPHATE-GROUP" +], +"chebi":[ +"CHEBI:26078", +"CHEBI:18367", +"CHEBI:29139", +"CHEBI:39739", +"CHEBI:43470", +"CHEBI:35780", +"CHEBI:43474", +"CHEBI:26020", +"CHEBI:45024", +"CHEBI:39745", +"CHEBI:29137", +"CHEBI:14791", +"CHEBI:7793" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/db5219ee-60cb-4370-b066-340c9faf069c", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/84684967-eade-48d4-b25d-c4aede0a0836", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/ad82c39b-2edb-4953-b971-79a2d2ea6e26", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/aac01fea-4223-49c1-8b12-cd50f11ebfc8", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/c581b2ce-6238-45de-abc0-60ca8d47ed04" +], +"hmdb":[ +"HMDB02105", +"HMDB00973", +"HMDB01429", +"HMDB02142", +"HMDB05947" +], +"inchi_key":[ +"NBIIXXVUZAFLBC-UHFFFAOYSA-L" +], +"kegg.compound":[ +"C00009" +], +"kegg.drug":[ +"D05467" +], +"metanetx.chemical":[ +"MNXM9" +], +"reactome.compound":[ +"5228339", +"113550", +"8851513", +"113551", +"109277", +"29372", +"8851226", +"113548" +], +"sabiork":[ +"36" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd27787", +"cpd00009" +] +} +}, +{ +"id":"ac_c", +"name":"Acetate", +"compartment":"c", +"charge":-1, +"formula":"C2H3O2", +"notes":{ +"original_bigg_ids":[ +"ac_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"ac" +], +"biocyc":[ +"META:ACET" +], +"chebi":[ +"CHEBI:13704", +"CHEBI:22165", +"CHEBI:22169", +"CHEBI:40480", +"CHEBI:15366", +"CHEBI:2387", +"CHEBI:30089", +"CHEBI:40486" +], +"envipath":[ +"5882df9c-dae1-4d80-a40e-db4724271456/compound/9e26dcbe-4db9-46a0-8614-9f03545032d2", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/5e4989fc-13d3-45d4-ad57-3be380a9d3c0", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/a8f0be58-24e8-441b-8d81-a516a0ead4b3", +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/d45256fe-61fa-4f5b-bb16-91a3d615e3d8", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/b545cabc-8c9e-4b20-8848-efa015b481ea", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/3e2d750f-df31-4445-9255-163c627e9b4a" +], +"hmdb":[ +"HMDB00042" +], +"inchi_key":[ +"QTBSBXVTEAMEQO-UHFFFAOYSA-M" +], +"kegg.compound":[ +"C00033" +], +"kegg.drug":[ +"D00010" +], +"lipidmaps":[ +"LMFA01010002" +], +"metanetx.chemical":[ +"MNXM26" +], +"reactome.compound":[ +"1524044", +"390305", +"113539", +"2022890", +"29416" +], +"sabiork":[ +"1278" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00029" +], +"slm":[ +"000000449" +] +} +}, +{ +"id":"pyr_c", +"name":"Pyruvate", +"compartment":"c", +"charge":-1, +"formula":"C3H3O3", +"notes":{ +"original_bigg_ids":[ +"pyr_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"pyr" +], +"biocyc":[ +"META:PYRUVATE" +], +"chebi":[ +"CHEBI:26462", +"CHEBI:26466", +"CHEBI:8685", +"CHEBI:32816", +"CHEBI:45253", +"CHEBI:14987", +"CHEBI:15361" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/ccc99777-54dc-42d4-a97e-009b780d3905", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/dc01020e-8c7e-4087-9f56-cf8c962b7437" +], +"hmdb":[ +"HMDB00243" +], +"inchi_key":[ +"LCTONWCANYUPML-UHFFFAOYSA-M" +], +"kegg.compound":[ +"C00022" +], +"lipidmaps":[ +"LMFA01060077" +], +"metanetx.chemical":[ +"MNXM23" +], +"reactome.compound":[ +"1130930", +"5357717", +"113557", +"29398", +"389680" +], +"sabiork":[ +"33" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00020" +] +} +}, +{ +"id":"pyr_e", +"name":"Pyruvate", +"compartment":"e", +"charge":-1, +"formula":"C3H3O3", +"notes":{ +"original_bigg_ids":[ +"pyr_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"pyr" +], +"biocyc":[ +"META:PYRUVATE" +], +"chebi":[ +"CHEBI:26462", +"CHEBI:26466", +"CHEBI:8685", +"CHEBI:32816", +"CHEBI:45253", +"CHEBI:14987", +"CHEBI:15361" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/ccc99777-54dc-42d4-a97e-009b780d3905", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/dc01020e-8c7e-4087-9f56-cf8c962b7437" +], +"hmdb":[ +"HMDB00243" +], +"inchi_key":[ +"LCTONWCANYUPML-UHFFFAOYSA-M" +], +"kegg.compound":[ +"C00022" +], +"lipidmaps":[ +"LMFA01060077" +], +"metanetx.chemical":[ +"MNXM23" +], +"reactome.compound":[ +"1130930", +"5357717", +"113557", +"29398", +"389680" +], +"sabiork":[ +"33" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00020" +] +} +}, +{ +"id":"q8_c", +"name":"Ubiquinone-8", +"compartment":"c", +"charge":0, +"formula":"C49H74O4", +"notes":{ +"original_bigg_ids":[ +"q8_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"q8" +], +"biocyc":[ +"META:UBIQUINONE-8" +], +"chebi":[ +"CHEBI:61683" +], +"inchi_key":[ +"ICFIZJQGJAJRSU-SGHXUWJISA-N" +], +"kegg.compound":[ +"C17569" +], +"lipidmaps":[ +"LMPR02010005" +], +"metanetx.chemical":[ +"MNXM232" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd15560" +] +} +}, +{ +"id":"q8h2_c", +"name":"Ubiquinol-8", +"compartment":"c", +"charge":0, +"formula":"C49H76O4", +"notes":{ +"original_bigg_ids":[ +"q8h2_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"q8h2" +], +"biocyc":[ +"META:CPD-9956" +], +"chebi":[ +"CHEBI:61682" +], +"hmdb":[ +"HMDB01060" +], +"inchi_key":[ +"LOJUQFSPYHMHEO-SGHXUWJISA-N" +], +"metanetx.chemical":[ +"MNXM191" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd29608", +"cpd15561" +] +} +}, +{ +"id":"r5p_c", +"name":"Alpha-D-Ribose 5-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C5H9O8P", +"notes":{ +"original_bigg_ids":[ +"r5p_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"r5p" +], +"biocyc":[ +"META:CPD-15318" +], +"chebi":[ +"CHEBI:18189", +"CHEBI:22413", +"CHEBI:12331", +"CHEBI:10270" +], +"inchi_key":[ +"KTVPXOYAKDPRHY-AIHAYLRMSA-L" +], +"kegg.compound":[ +"C03736" +], +"metanetx.chemical":[ +"MNXM15900" +], +"sabiork":[ +"1473" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd19028" +] +} +}, +{ +"id":"ru5p__D_c", +"name":"D-Ribulose 5-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C5H9O8P", +"notes":{ +"original_bigg_ids":[ +"ru5p_D_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"ru5p__D" +], +"biocyc":[ +"META:RIBULOSE-5P" +], +"chebi":[ +"CHEBI:40192", +"CHEBI:21088", +"CHEBI:17363", +"CHEBI:26572", +"CHEBI:13040", +"CHEBI:37455", +"CHEBI:58121", +"CHEBI:13018", +"CHEBI:4243" +], +"hmdb":[ +"HMDB02033", +"HMDB02694", +"HMDB00618" +], +"inchi_key":[ +"FNZLKVNUWIIPSJ-UHNVWZDZSA-L" +], +"kegg.compound":[ +"C00199" +], +"metanetx.chemical":[ +"MNXM145" +], +"reactome.compound":[ +"29732" +], +"sabiork":[ +"22814", +"1313" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00171" +] +} +}, +{ +"id":"ac_e", +"name":"Acetate", +"compartment":"e", +"charge":-1, +"formula":"C2H3O2", +"notes":{ +"original_bigg_ids":[ +"ac_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"ac" +], +"biocyc":[ +"META:ACET" +], +"chebi":[ +"CHEBI:13704", +"CHEBI:22165", +"CHEBI:22169", +"CHEBI:40480", +"CHEBI:15366", +"CHEBI:2387", +"CHEBI:30089", +"CHEBI:40486" +], +"envipath":[ +"5882df9c-dae1-4d80-a40e-db4724271456/compound/9e26dcbe-4db9-46a0-8614-9f03545032d2", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/5e4989fc-13d3-45d4-ad57-3be380a9d3c0", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/a8f0be58-24e8-441b-8d81-a516a0ead4b3", +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/d45256fe-61fa-4f5b-bb16-91a3d615e3d8", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/b545cabc-8c9e-4b20-8848-efa015b481ea", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/3e2d750f-df31-4445-9255-163c627e9b4a" +], +"hmdb":[ +"HMDB00042" +], +"inchi_key":[ +"QTBSBXVTEAMEQO-UHFFFAOYSA-M" +], +"kegg.compound":[ +"C00033" +], +"kegg.drug":[ +"D00010" +], +"lipidmaps":[ +"LMFA01010002" +], +"metanetx.chemical":[ +"MNXM26" +], +"reactome.compound":[ +"1524044", +"390305", +"113539", +"2022890", +"29416" +], +"sabiork":[ +"1278" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00029" +], +"slm":[ +"000000449" +] +} +}, +{ +"id":"acald_c", +"name":"Acetaldehyde", +"compartment":"c", +"charge":0, +"formula":"C2H4O", +"notes":{ +"original_bigg_ids":[ +"acald_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"acald" +], +"biocyc":[ +"META:ACETALD" +], +"chebi":[ +"CHEBI:40533", +"CHEBI:13703", +"CHEBI:2383", +"CHEBI:22158", +"CHEBI:15343" +], +"envipath":[ +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/9c8865b2-a99d-42e4-a042-c88504f04b51", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/47aa8e53-36ae-4be3-987c-c1cfab66af78", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/ee2c714d-ff9d-4df8-b343-48c1ec76ef0e", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/78f3645f-408e-4001-9dda-a52ea62a15d4" +], +"hmdb":[ +"HMDB00990" +], +"inchi_key":[ +"IKHGUXGNUITLKF-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00084" +], +"metanetx.chemical":[ +"MNXM75" +], +"reactome.compound":[ +"113532", +"29510", +"113681", +"113745" +], +"sabiork":[ +"1292" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00071" +] +} +}, +{ +"id":"s7p_c", +"name":"Sedoheptulose 7-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C7H13O10P", +"notes":{ +"original_bigg_ids":[ +"s7p_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"s7p" +], +"biocyc":[ +"META:D-SEDOHEPTULOSE-7-P" +], +"chebi":[ +"CHEBI:4244", +"CHEBI:15073", +"CHEBI:15721", +"CHEBI:26621", +"CHEBI:9083", +"CHEBI:15074", +"CHEBI:57483" +], +"hmdb":[ +"HMDB01068", +"HMDB62754" +], +"inchi_key":[ +"JDTUMPKOJBQPKX-GBNDHIKLSA-L" +], +"kegg.compound":[ +"C05382" +], +"metanetx.chemical":[ +"MNXM271" +], +"reactome.compound":[ +"29882" +], +"sabiork":[ +"1618", +"1325" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00238" +] +} +}, +{ +"id":"acald_e", +"name":"Acetaldehyde", +"compartment":"e", +"charge":0, +"formula":"C2H4O", +"notes":{ +"original_bigg_ids":[ +"acald_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"acald" +], +"biocyc":[ +"META:ACETALD" +], +"chebi":[ +"CHEBI:40533", +"CHEBI:13703", +"CHEBI:2383", +"CHEBI:22158", +"CHEBI:15343" +], +"envipath":[ +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/9c8865b2-a99d-42e4-a042-c88504f04b51", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/47aa8e53-36ae-4be3-987c-c1cfab66af78", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/ee2c714d-ff9d-4df8-b343-48c1ec76ef0e", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/78f3645f-408e-4001-9dda-a52ea62a15d4" +], +"hmdb":[ +"HMDB00990" +], +"inchi_key":[ +"IKHGUXGNUITLKF-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00084" +], +"metanetx.chemical":[ +"MNXM75" +], +"reactome.compound":[ +"113532", +"29510", +"113681", +"113745" +], +"sabiork":[ +"1292" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00071" +] +} +}, +{ +"id":"accoa_c", +"name":"Acetyl-CoA", +"compartment":"c", +"charge":-4, +"formula":"C23H34N7O17P3S", +"notes":{ +"original_bigg_ids":[ +"accoa_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"accoa" +], +"biocyc":[ +"META:ACETYL-COA" +], +"chebi":[ +"CHEBI:57288", +"CHEBI:22192", +"CHEBI:15351", +"CHEBI:13712", +"CHEBI:2408", +"CHEBI:40470" +], +"envipath":[ +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/57bd5e24-9d14-4b91-bc60-64c8ea6c2d11" +], +"hmdb":[ +"HMDB01206" +], +"inchi_key":[ +"ZSLZBFCDCINBPY-ZSJPKINUSA-J" +], +"kegg.compound":[ +"C00024" +], +"lipidmaps":[ +"LMFA07050029", +"LMFA07050281" +], +"metanetx.chemical":[ +"MNXM21" +], +"reactome.compound":[ +"727753", +"76183", +"113560", +"353123", +"113559" +], +"sabiork":[ +"1276" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00022" +], +"slm":[ +"000000297" +] +} +}, +{ +"id":"succ_c", +"name":"Succinate", +"compartment":"c", +"charge":-2, +"formula":"C4H4O4", +"notes":{ +"original_bigg_ids":[ +"succ_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"succ" +], +"biocyc":[ +"META:SUC" +], +"chebi":[ +"CHEBI:22941", +"CHEBI:26803", +"CHEBI:15741", +"CHEBI:132287", +"CHEBI:45639", +"CHEBI:30779", +"CHEBI:15125", +"CHEBI:22943", +"CHEBI:26807", +"CHEBI:9304", +"CHEBI:90372", +"CHEBI:30031" +], +"envipath":[ +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/cc98aff0-7f64-4db4-9d59-de961c228496", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/6377658b-03f6-4fed-a5bf-ff0f2389b693", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/600b74d3-8fe5-426d-bedf-291175bd23e4", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/8fdfd425-4343-4bf2-8427-b2ffa57fdbd7" +], +"hmdb":[ +"HMDB00254" +], +"inchi_key":[ +"KDYFGRWQOYBRFD-UHFFFAOYSA-L" +], +"kegg.compound":[ +"C00042" +], +"lipidmaps":[ +"LMFA01170043" +], +"metanetx.chemical":[ +"MNXM25" +], +"reactome.compound":[ +"389583", +"5278787", +"159939", +"433123", +"29434", +"113536" +], +"sabiork":[ +"1924" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00036" +] +} +}, +{ +"id":"succ_e", +"name":"Succinate", +"compartment":"e", +"charge":-2, +"formula":"C4H4O4", +"notes":{ +"original_bigg_ids":[ +"succ_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"succ" +], +"biocyc":[ +"META:SUC" +], +"chebi":[ +"CHEBI:22941", +"CHEBI:26803", +"CHEBI:15741", +"CHEBI:132287", +"CHEBI:45639", +"CHEBI:30779", +"CHEBI:15125", +"CHEBI:22943", +"CHEBI:26807", +"CHEBI:9304", +"CHEBI:90372", +"CHEBI:30031" +], +"envipath":[ +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/cc98aff0-7f64-4db4-9d59-de961c228496", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/6377658b-03f6-4fed-a5bf-ff0f2389b693", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/600b74d3-8fe5-426d-bedf-291175bd23e4", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/8fdfd425-4343-4bf2-8427-b2ffa57fdbd7" +], +"hmdb":[ +"HMDB00254" +], +"inchi_key":[ +"KDYFGRWQOYBRFD-UHFFFAOYSA-L" +], +"kegg.compound":[ +"C00042" +], +"lipidmaps":[ +"LMFA01170043" +], +"metanetx.chemical":[ +"MNXM25" +], +"reactome.compound":[ +"389583", +"5278787", +"159939", +"433123", +"29434", +"113536" +], +"sabiork":[ +"1924" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00036" +] +} +}, +{ +"id":"succoa_c", +"name":"Succinyl-CoA", +"compartment":"c", +"charge":-5, +"formula":"C25H35N7O19P3S", +"notes":{ +"original_bigg_ids":[ +"succoa_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"succoa" +], +"biocyc":[ +"META:SUC-COA" +], +"chebi":[ +"CHEBI:57292", +"CHEBI:10746", +"CHEBI:15127", +"CHEBI:15380", +"CHEBI:9310", +"CHEBI:45541", +"CHEBI:26811" +], +"envipath":[ +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/359075fb-98d9-458d-ba82-db4020e753f3" +], +"hmdb":[ +"HMDB01022" +], +"inchi_key":[ +"VNOYUJKHFWYWIR-ITIYDSSPSA-I" +], +"kegg.compound":[ +"C00091" +], +"lipidmaps":[ +"LMFA07050370" +], +"metanetx.chemical":[ +"MNXM92" +], +"reactome.compound":[ +"70958" +], +"sabiork":[ +"1931" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00078" +] +} +}, +{ +"id":"acon_C_c", +"name":"Cis-Aconitate", +"compartment":"c", +"charge":-3, +"formula":"C6H3O6", +"notes":{ +"original_bigg_ids":[ +"acon_C_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"acon_C" +], +"biocyc":[ +"META:CIS-ACONITATE" +], +"chebi":[ +"CHEBI:23306", +"CHEBI:16383", +"CHEBI:12798", +"CHEBI:32805", +"CHEBI:23308", +"CHEBI:10482" +], +"envipath":[ +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/643481e5-a35b-477e-8665-70f4dca66baa" +], +"hmdb":[ +"HMDB00461", +"HMDB00072" +], +"inchi_key":[ +"GTZCVFVGUGFEME-IWQZZHSRSA-K" +], +"kegg.compound":[ +"C00417" +], +"metanetx.chemical":[ +"MNXM813" +], +"sabiork":[ +"2043" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00331" +] +} +}, +{ +"id":"xu5p__D_c", +"name":"D-Xylulose 5-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C5H9O8P", +"notes":{ +"original_bigg_ids":[ +"xu5p_D_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"xu5p__D" +], +"biocyc":[ +"META:XYLULOSE-5-PHOSPHATE" +], +"chebi":[ +"CHEBI:13036", +"CHEBI:27354", +"CHEBI:4269", +"CHEBI:16332", +"CHEBI:57737", +"CHEBI:21121" +], +"hmdb":[ +"HMDB06212", +"HMDB00868" +], +"inchi_key":[ +"FNZLKVNUWIIPSJ-RFZPGFLSSA-L" +], +"kegg.compound":[ +"C00231" +], +"metanetx.chemical":[ +"MNXM186" +], +"reactome.compound":[ +"29790" +], +"sabiork":[ +"1317" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00198" +] +} +}, +{ +"id":"actp_c", +"name":"Acetyl phosphate", +"compartment":"c", +"charge":-2, +"formula":"C2H3O5P", +"notes":{ +"original_bigg_ids":[ +"actp_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"actp" +], +"biocyc":[ +"META:ACETYL-P" +], +"chebi":[ +"CHEBI:13711", +"CHEBI:46262", +"CHEBI:15350", +"CHEBI:22191", +"CHEBI:2407" +], +"hmdb":[ +"HMDB01494" +], +"inchi_key":[ +"LIPOUNRJVLNBCD-UHFFFAOYSA-L" +], +"kegg.compound":[ +"C00227" +], +"metanetx.chemical":[ +"MNXM280" +], +"sabiork":[ +"1316" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00196" +] +} +}, +{ +"id":"adp_c", +"name":"ADP C10H12N5O10P2", +"compartment":"c", +"charge":-3, +"formula":"C10H12N5O10P2", +"notes":{ +"original_bigg_ids":[ +"adp_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"adp" +], +"biocyc":[ +"META:ADP" +], +"chebi":[ +"CHEBI:2342", +"CHEBI:16761", +"CHEBI:456216", +"CHEBI:40553", +"CHEBI:22244", +"CHEBI:87518", +"CHEBI:13222" +], +"hmdb":[ +"HMDB01341" +], +"inchi_key":[ +"XTWYTFMLZFPYCI-KQYNXXCUSA-K" +], +"kegg.compound":[ +"C00008" +], +"kegg.glycan":[ +"G11113" +], +"metanetx.chemical":[ +"MNXM7" +], +"reactome.compound":[ +"114565", +"211606", +"114564", +"6798177", +"5632457", +"5696026", +"8869360", +"29370", +"113581", +"113582" +], +"sabiork":[ +"35" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00008" +] +} +}, +{ +"id":"akg_c", +"name":"2-Oxoglutarate", +"compartment":"c", +"charge":-2, +"formula":"C5H4O5", +"notes":{ +"original_bigg_ids":[ +"akg_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"akg" +], +"biocyc":[ +"META:2-KETOGLUTARATE" +], +"chebi":[ +"CHEBI:40661", +"CHEBI:16810", +"CHEBI:11638", +"CHEBI:30916", +"CHEBI:19749", +"CHEBI:1253", +"CHEBI:30915", +"CHEBI:19748" +], +"envipath":[ +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/5b0a94f6-d411-44fd-bcc1-fb79b4e697f5", +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/6557f3f2-0ab8-494b-a865-8ce0eae788a9" +], +"hmdb":[ +"HMDB00208", +"HMDB02812", +"HMDB62781" +], +"inchi_key":[ +"KPGXRSRHYNQIFN-UHFFFAOYSA-L" +], +"kegg.compound":[ +"C00026" +], +"metanetx.chemical":[ +"MNXM20" +], +"reactome.compound":[ +"113594", +"561075", +"5278317", +"113671", +"29406", +"389537" +], +"sabiork":[ +"1922" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00024" +] +} +}, +{ +"id":"akg_e", +"name":"2-Oxoglutarate", +"compartment":"e", +"charge":-2, +"formula":"C5H4O5", +"notes":{ +"original_bigg_ids":[ +"akg_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"akg" +], +"biocyc":[ +"META:2-KETOGLUTARATE" +], +"chebi":[ +"CHEBI:40661", +"CHEBI:16810", +"CHEBI:11638", +"CHEBI:30916", +"CHEBI:19749", +"CHEBI:1253", +"CHEBI:30915", +"CHEBI:19748" +], +"envipath":[ +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/5b0a94f6-d411-44fd-bcc1-fb79b4e697f5", +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/6557f3f2-0ab8-494b-a865-8ce0eae788a9" +], +"hmdb":[ +"HMDB00208", +"HMDB02812", +"HMDB62781" +], +"inchi_key":[ +"KPGXRSRHYNQIFN-UHFFFAOYSA-L" +], +"kegg.compound":[ +"C00026" +], +"metanetx.chemical":[ +"MNXM20" +], +"reactome.compound":[ +"113594", +"561075", +"5278317", +"113671", +"29406", +"389537" +], +"sabiork":[ +"1922" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00024" +] +} +}, +{ +"id":"amp_c", +"name":"AMP C10H12N5O7P", +"compartment":"c", +"charge":-2, +"formula":"C10H12N5O7P", +"notes":{ +"original_bigg_ids":[ +"amp_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"amp" +], +"biocyc":[ +"META:AMP-GROUP", +"META:AMP" +], +"chebi":[ +"CHEBI:13736", +"CHEBI:2356", +"CHEBI:13234", +"CHEBI:22242", +"CHEBI:40786", +"CHEBI:16027", +"CHEBI:40721", +"CHEBI:40510", +"CHEBI:456215", +"CHEBI:13235", +"CHEBI:22245", +"CHEBI:40726", +"CHEBI:47222", +"CHEBI:13740", +"CHEBI:40826", +"CHEBI:12056" +], +"hmdb":[ +"HMDB00045" +], +"inchi_key":[ +"UDMBCSSLTHHNCD-KQYNXXCUSA-L" +], +"kegg.compound":[ +"C00020" +], +"kegg.drug":[ +"D02769" +], +"metanetx.chemical":[ +"MNXM14" +], +"reactome.compound":[ +"389620", +"159448", +"76577", +"109275", +"164121" +], +"sabiork":[ +"1273" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd22272", +"cpd00018" +] +} +}, +{ +"id":"atp_c", +"name":"ATP C10H12N5O13P3", +"compartment":"c", +"charge":-4, +"formula":"C10H12N5O13P3", +"notes":{ +"original_bigg_ids":[ +"atp_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"atp" +], +"biocyc":[ +"META:ATP" +], +"chebi":[ +"CHEBI:15422", +"CHEBI:10789", +"CHEBI:10841", +"CHEBI:2359", +"CHEBI:22249", +"CHEBI:13236", +"CHEBI:237958", +"CHEBI:30616", +"CHEBI:57299", +"CHEBI:40938" +], +"hmdb":[ +"HMDB00538" +], +"inchi_key":[ +"ZKHQWZAMYRWXGA-KQYNXXCUSA-J" +], +"kegg.compound":[ +"C00002" +], +"kegg.drug":[ +"D08646" +], +"metanetx.chemical":[ +"MNXM3" +], +"reactome.compound":[ +"8878982", +"389573", +"8938081", +"211579", +"113593", +"113592", +"5632460", +"5696069", +"29358", +"8869363", +"6798184" +], +"sabiork":[ +"34" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00002" +] +} +}, +{ +"id":"cit_c", +"name":"Citrate", +"compartment":"c", +"charge":-3, +"formula":"C6H5O7", +"notes":{ +"original_bigg_ids":[ +"cit_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"cit" +], +"biocyc":[ +"META:CIT" +], +"chebi":[ +"CHEBI:35802", +"CHEBI:133748", +"CHEBI:35809", +"CHEBI:76049", +"CHEBI:41523", +"CHEBI:35810", +"CHEBI:30769", +"CHEBI:13999", +"CHEBI:23322", +"CHEBI:35808", +"CHEBI:42563", +"CHEBI:16947", +"CHEBI:132362", +"CHEBI:35804", +"CHEBI:23321", +"CHEBI:3727", +"CHEBI:35806" +], +"hmdb":[ +"HMDB00094" +], +"inchi_key":[ +"KRKNYBCHXYNGOX-UHFFFAOYSA-K" +], +"kegg.compound":[ +"C00158" +], +"kegg.drug":[ +"D00037" +], +"metanetx.chemical":[ +"MNXM131" +], +"reactome.compound":[ +"29654", +"433138", +"76190" +], +"sabiork":[ +"1952" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00137" +] +} +}, +{ +"id":"co2_c", +"name":"CO2 CO2", +"compartment":"c", +"charge":0, +"formula":"CO2", +"notes":{ +"original_bigg_ids":[ +"co2_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"co2" +], +"biocyc":[ +"META:CARBON-DIOXIDE" +], +"chebi":[ +"CHEBI:23011", +"CHEBI:3283", +"CHEBI:48829", +"CHEBI:16526", +"CHEBI:13283", +"CHEBI:13285", +"CHEBI:13284", +"CHEBI:13282" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/2ec3da94-5f50-4525-81b1-5607c5c7a3d3", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/05f60af4-0a3f-4ead-9a29-33bb0f123379" +], +"hmdb":[ +"HMDB01967" +], +"inchi_key":[ +"CURLTUGMZLYLDI-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00011" +], +"kegg.drug":[ +"D00004" +], +"metanetx.chemical":[ +"MNXM13" +], +"reactome.compound":[ +"29376", +"5668565", +"189480", +"1132345", +"113528", +"1237009", +"159751", +"389536", +"159942" +], +"sabiork":[ +"1266" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00011" +] +} +}, +{ +"id":"co2_e", +"name":"CO2 CO2", +"compartment":"e", +"charge":0, +"formula":"CO2", +"notes":{ +"original_bigg_ids":[ +"co2_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"co2" +], +"biocyc":[ +"META:CARBON-DIOXIDE" +], +"chebi":[ +"CHEBI:23011", +"CHEBI:3283", +"CHEBI:48829", +"CHEBI:16526", +"CHEBI:13283", +"CHEBI:13285", +"CHEBI:13284", +"CHEBI:13282" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/2ec3da94-5f50-4525-81b1-5607c5c7a3d3", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/05f60af4-0a3f-4ead-9a29-33bb0f123379" +], +"hmdb":[ +"HMDB01967" +], +"inchi_key":[ +"CURLTUGMZLYLDI-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00011" +], +"kegg.drug":[ +"D00004" +], +"metanetx.chemical":[ +"MNXM13" +], +"reactome.compound":[ +"29376", +"5668565", +"189480", +"1132345", +"113528", +"1237009", +"159751", +"389536", +"159942" +], +"sabiork":[ +"1266" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00011" +] +} +}, +{ +"id":"coa_c", +"name":"Coenzyme A", +"compartment":"c", +"charge":-4, +"formula":"C21H32N7O16P3S", +"notes":{ +"original_bigg_ids":[ +"coa_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"coa" +], +"biocyc":[ +"META:COA-GROUP", +"META:CO-A" +], +"chebi":[ +"CHEBI:41631", +"CHEBI:41597", +"CHEBI:741566", +"CHEBI:23355", +"CHEBI:13295", +"CHEBI:13298", +"CHEBI:57287", +"CHEBI:15346", +"CHEBI:3771", +"CHEBI:13294" +], +"envipath":[ +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/19310484-6aa5-4dcf-b1da-855a8c21ecfd" +], +"hmdb":[ +"HMDB01423", +"HMDB62184" +], +"inchi_key":[ +"RGJOEKWQDUBAIZ-IBOSZNHHSA-J" +], +"kegg.compound":[ +"C00010" +], +"metanetx.chemical":[ +"MNXM12" +], +"reactome.compound":[ +"193514", +"162743", +"2485002", +"1678675", +"29374", +"76194", +"8939024" +], +"sabiork":[ +"1265" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd22528", +"cpd00010" +] +} +}, +{ +"id":"dhap_c", +"name":"Dihydroxyacetone phosphate", +"compartment":"c", +"charge":-2, +"formula":"C3H5O6P", +"notes":{ +"original_bigg_ids":[ +"dhap_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"dhap" +], +"biocyc":[ +"META:DIHYDROXY-ACETONE-PHOSPHATE" +], +"chebi":[ +"CHEBI:14341", +"CHEBI:5454", +"CHEBI:16108", +"CHEBI:14342", +"CHEBI:24355", +"CHEBI:39571", +"CHEBI:57642" +], +"hmdb":[ +"HMDB11735", +"HMDB01473" +], +"inchi_key":[ +"GNGACRATGGDKBX-UHFFFAOYSA-L" +], +"kegg.compound":[ +"C00111" +], +"metanetx.chemical":[ +"MNXM77" +], +"reactome.compound":[ +"390404", +"75970", +"188451" +], +"sabiork":[ +"28" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00095" +] +} +}, +{ +"id":"e4p_c", +"name":"D-Erythrose 4-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C4H7O7P", +"notes":{ +"original_bigg_ids":[ +"e4p_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"e4p" +], +"biocyc":[ +"META:ERYTHROSE-4P" +], +"chebi":[ +"CHEBI:4114", +"CHEBI:20927", +"CHEBI:12921", +"CHEBI:48153", +"CHEBI:16897", +"CHEBI:42349" +], +"hmdb":[ +"HMDB01321" +], +"inchi_key":[ +"NGHMDNPXVRFFGS-IUYQGCFVSA-L" +], +"kegg.compound":[ +"C00279" +], +"metanetx.chemical":[ +"MNXM258" +], +"reactome.compound":[ +"29878" +], +"sabiork":[ +"1324" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00236" +] +} +}, +{ +"id":"etoh_c", +"name":"Ethanol", +"compartment":"c", +"charge":0, +"formula":"C2H6O", +"notes":{ +"original_bigg_ids":[ +"etoh_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"etoh" +], +"biocyc":[ +"META:ETOH" +], +"chebi":[ +"CHEBI:42377", +"CHEBI:23978", +"CHEBI:30880", +"CHEBI:16236", +"CHEBI:52092", +"CHEBI:30878", +"CHEBI:4879", +"CHEBI:44594", +"CHEBI:14222" +], +"envipath":[ +"5882df9c-dae1-4d80-a40e-db4724271456/compound/a4a354fd-5003-4b7b-b11b-f54204aea384", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/f89efe7c-1a6a-4d21-b99c-e3e1070a8062", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/56e18a05-c059-433a-94f6-0e26c01b010f", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/9fb1fbdf-101b-4b82-a596-d2f52c870e4f" +], +"hmdb":[ +"HMDB00108" +], +"inchi_key":[ +"LFQSCWFLJHTTHZ-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00469" +], +"kegg.drug":[ +"D06542", +"D02798", +"D00068", +"D04855" +], +"metanetx.chemical":[ +"MNXM303" +], +"reactome.compound":[ +"113748", +"30203" +], +"sabiork":[ +"56" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00363" +] +} +}, +{ +"id":"etoh_e", +"name":"Ethanol", +"compartment":"e", +"charge":0, +"formula":"C2H6O", +"notes":{ +"original_bigg_ids":[ +"etoh_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"etoh" +], +"biocyc":[ +"META:ETOH" +], +"chebi":[ +"CHEBI:42377", +"CHEBI:23978", +"CHEBI:30880", +"CHEBI:16236", +"CHEBI:52092", +"CHEBI:30878", +"CHEBI:4879", +"CHEBI:44594", +"CHEBI:14222" +], +"envipath":[ +"5882df9c-dae1-4d80-a40e-db4724271456/compound/a4a354fd-5003-4b7b-b11b-f54204aea384", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/f89efe7c-1a6a-4d21-b99c-e3e1070a8062", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/56e18a05-c059-433a-94f6-0e26c01b010f", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/9fb1fbdf-101b-4b82-a596-d2f52c870e4f" +], +"hmdb":[ +"HMDB00108" +], +"inchi_key":[ +"LFQSCWFLJHTTHZ-UHFFFAOYSA-N" +], +"kegg.compound":[ +"C00469" +], +"kegg.drug":[ +"D06542", +"D02798", +"D00068", +"D04855" +], +"metanetx.chemical":[ +"MNXM303" +], +"reactome.compound":[ +"113748", +"30203" +], +"sabiork":[ +"56" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00363" +] +} +}, +{ +"id":"f6p_c", +"name":"D-Fructose 6-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H11O9P", +"notes":{ +"original_bigg_ids":[ +"f6p_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"f6p" +], +"biocyc":[ +"META:FRUCTOSE-6P" +], +"chebi":[ +"CHEBI:16084", +"CHEBI:12352", +"CHEBI:57634", +"CHEBI:22768", +"CHEBI:10375", +"CHEBI:42378" +], +"hmdb":[ +"HMDB03971" +], +"inchi_key":[ +"BGWGXPAPYGQALX-ARQDHWQXSA-L" +], +"kegg.compound":[ +"C05345" +], +"metanetx.chemical":[ +"MNXM89621" +], +"sabiork":[ +"25" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd19035" +] +} +}, +{ +"id":"fdp_c", +"name":"D-Fructose 1,6-bisphosphate", +"compartment":"c", +"charge":-4, +"formula":"C6H10O12P2", +"notes":{ +"original_bigg_ids":[ +"fdp_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"fdp" +], +"chebi":[ +"CHEBI:37736", +"CHEBI:49299" +], +"inchi_key":[ +"RNBGYGVWRKECFJ-VRPWFDPXSA-J" +], +"kegg.compound":[ +"C00354" +], +"metanetx.chemical":[ +"MNXM417" +], +"sabiork":[ +"1465" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00290" +] +} +}, +{ +"id":"for_c", +"name":"Formate", +"compartment":"c", +"charge":-1, +"formula":"CH1O2", +"notes":{ +"original_bigg_ids":[ +"for_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"for" +], +"biocyc":[ +"META:CPD1G-1532", +"META:CPD1G-1535", +"META:FORMATE", +"META:CPD-9845", +"META:CPD1G-1534", +"META:CARBOXYL-GROUP", +"META:CPD1G-1533" +], +"chebi":[ +"CHEBI:24081", +"CHEBI:30751", +"CHEBI:15740", +"CHEBI:5145", +"CHEBI:42460", +"CHEBI:14276", +"CHEBI:24082" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/9a9d20ae-b6ec-40a9-93ca-1de20597b1ed", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/09c1ad08-016e-4477-8840-b97a031eae23", +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/bf16ab32-cb3c-4427-a65a-089ab754823e", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/34fe3cd9-9b0b-46b0-a1c5-8a66509f1919", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/1d077cf2-3f9f-4163-aa49-0fca1b2b3ab3" +], +"hmdb":[ +"HMDB00142" +], +"inchi_key":[ +"BDAGIHXWWSANSR-UHFFFAOYSA-M" +], +"kegg.compound":[ +"C00058" +], +"metanetx.chemical":[ +"MNXM39" +], +"reactome.compound":[ +"29460", +"194712", +"389585", +"6801451" +], +"sabiork":[ +"1285" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00047", +"cpd22511" +] +} +}, +{ +"id":"for_e", +"name":"Formate", +"compartment":"e", +"charge":-1, +"formula":"CH1O2", +"notes":{ +"original_bigg_ids":[ +"for_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"for" +], +"biocyc":[ +"META:CPD1G-1532", +"META:CPD1G-1535", +"META:FORMATE", +"META:CPD-9845", +"META:CPD1G-1534", +"META:CARBOXYL-GROUP", +"META:CPD1G-1533" +], +"chebi":[ +"CHEBI:24081", +"CHEBI:30751", +"CHEBI:15740", +"CHEBI:5145", +"CHEBI:42460", +"CHEBI:14276", +"CHEBI:24082" +], +"envipath":[ +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/9a9d20ae-b6ec-40a9-93ca-1de20597b1ed", +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/09c1ad08-016e-4477-8840-b97a031eae23", +"4fd7f3e0-dd25-43ac-9453-dda3e52396e4/compound/bf16ab32-cb3c-4427-a65a-089ab754823e", +"5882df9c-dae1-4d80-a40e-db4724271456/compound/34fe3cd9-9b0b-46b0-a1c5-8a66509f1919", +"650babc9-9d68-4b73-9332-11972ca26f7b/compound/1d077cf2-3f9f-4163-aa49-0fca1b2b3ab3" +], +"hmdb":[ +"HMDB00142" +], +"inchi_key":[ +"BDAGIHXWWSANSR-UHFFFAOYSA-M" +], +"kegg.compound":[ +"C00058" +], +"metanetx.chemical":[ +"MNXM39" +], +"reactome.compound":[ +"29460", +"194712", +"389585", +"6801451" +], +"sabiork":[ +"1285" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00047", +"cpd22511" +] +} +}, +{ +"id":"fru_e", +"name":"D-Fructose", +"compartment":"e", +"charge":0, +"formula":"C6H12O6", +"notes":{ +"original_bigg_ids":[ +"fru_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"fru" +], +"biocyc":[ +"META:D-Fructopyranose", +"META:Fructofuranose", +"META:CPD-15382", +"META:FRU" +], +"chebi":[ +"CHEBI:47424", +"CHEBI:28757", +"CHEBI:24110", +"CHEBI:20929", +"CHEBI:4119", +"CHEBI:15824", +"CHEBI:5172", +"CHEBI:24104", +"CHEBI:12923", +"CHEBI:4118", +"CHEBI:37714", +"CHEBI:37721", +"CHEBI:48095" +], +"hmdb":[ +"HMDB62538" +], +"inchi_key":[ +"RFSUNEUAIZKAJO-VRPWFDPXSA-N" +], +"kegg.compound":[ +"C01496", +"C05003", +"C00095", +"C10906" +], +"kegg.drug":[ +"D00114" +], +"metanetx.chemical":[ +"MNXM175" +], +"reactome.compound":[ +"189049", +"29532" +], +"sabiork":[ +"25055", +"1463", +"1464" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00082", +"cpd19015", +"cpd27040" +] +} +}, +{ +"id":"fum_c", +"name":"Fumarate", +"compartment":"c", +"charge":-2, +"formula":"C4H2O4", +"notes":{ +"original_bigg_ids":[ +"fum_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"fum" +], +"biocyc":[ +"META:FUM" +], +"chebi":[ +"CHEBI:36180", +"CHEBI:37155", +"CHEBI:42511", +"CHEBI:5190", +"CHEBI:18012", +"CHEBI:42743", +"CHEBI:22956", +"CHEBI:22957", +"CHEBI:24124", +"CHEBI:14284", +"CHEBI:37154", +"CHEBI:29806", +"CHEBI:22958", +"CHEBI:24122" +], +"envipath":[ +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/709035ec-4868-4de8-9095-06428f6be14b" +], +"hmdb":[ +"HMDB00134" +], +"inchi_key":[ +"VZCYOOQTPOCHFL-OWOJBTEDSA-L" +], +"kegg.compound":[ +"C00122" +], +"kegg.drug":[ +"D02308" +], +"metanetx.chemical":[ +"MNXM93" +], +"reactome.compound":[ +"113588", +"29586" +], +"sabiork":[ +"1910" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00106" +] +} +}, +{ +"id":"fum_e", +"name":"Fumarate", +"compartment":"e", +"charge":-2, +"formula":"C4H2O4", +"notes":{ +"original_bigg_ids":[ +"fum_e" +] +}, +"annotation":{ +"bigg.metabolite":[ +"fum" +], +"biocyc":[ +"META:FUM" +], +"chebi":[ +"CHEBI:36180", +"CHEBI:37155", +"CHEBI:42511", +"CHEBI:5190", +"CHEBI:18012", +"CHEBI:42743", +"CHEBI:22956", +"CHEBI:22957", +"CHEBI:24124", +"CHEBI:14284", +"CHEBI:37154", +"CHEBI:29806", +"CHEBI:22958", +"CHEBI:24122" +], +"envipath":[ +"32de3cf4-e3e6-4168-956e-32fa5ddb0ce1/compound/709035ec-4868-4de8-9095-06428f6be14b" +], +"hmdb":[ +"HMDB00134" +], +"inchi_key":[ +"VZCYOOQTPOCHFL-OWOJBTEDSA-L" +], +"kegg.compound":[ +"C00122" +], +"kegg.drug":[ +"D02308" +], +"metanetx.chemical":[ +"MNXM93" +], +"reactome.compound":[ +"113588", +"29586" +], +"sabiork":[ +"1910" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00106" +] +} +}, +{ +"id":"g3p_c", +"name":"Glyceraldehyde 3-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C3H5O6P", +"notes":{ +"original_bigg_ids":[ +"g3p_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"g3p" +], +"biocyc":[ +"META:GAP" +], +"chebi":[ +"CHEBI:5446", +"CHEBI:14333", +"CHEBI:12984", +"CHEBI:181", +"CHEBI:17138", +"CHEBI:21026", +"CHEBI:12983", +"CHEBI:18324", +"CHEBI:58027", +"CHEBI:59776", +"CHEBI:29052" +], +"hmdb":[ +"HMDB01112" +], +"inchi_key":[ +"LXJXRIRHZLFYRP-VKHMYHEASA-L" +], +"kegg.compound":[ +"C00661", +"C00118" +], +"metanetx.chemical":[ +"MNXM74" +], +"reactome.compound":[ +"29578" +], +"sabiork":[ +"27", +"1687" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00102", +"cpd19005" +] +} +}, +{ +"id":"g6p_c", +"name":"D-Glucose 6-phosphate", +"compartment":"c", +"charge":-2, +"formula":"C6H11O9P", +"notes":{ +"original_bigg_ids":[ +"g6p_c" +] +}, +"annotation":{ +"bigg.metabolite":[ +"g6p" +], +"biocyc":[ +"META:D-glucopyranose-6-phosphate" +], +"chebi":[ +"CHEBI:61548", +"CHEBI:14314", +"CHEBI:4170" +], +"hmdb":[ +"HMDB01549", +"HMDB01401", +"HMDB06793" +], +"inchi_key":[ +"NBSCHQHZLSJFNQ-GASJEMHNSA-L" +], +"kegg.compound":[ +"C00092" +], +"metanetx.chemical":[ +"MNXM160" +], +"reactome.compound":[ +"1629756" +], +"sabiork":[ +"1404", +"1405" +], +"sbo":"SBO:0000247", +"seed.compound":[ +"cpd00079", +"cpd26836" +] +} +} +], +"reactions":[ +{ +"id":"PFK", +"name":"Phosphofructokinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"f6p_c":-1.0, +"fdp_c":1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3916 or b1723", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"PFK" +] +}, +"annotation":{ +"bigg.reaction":[ +"PFK" +], +"ec-code":[ +"2.7.1.11" +], +"metanetx.reaction":[ +"MNXR102507" +], +"rhea":[ +"16111", +"16109", +"16110", +"16112" +], +"sbo":"SBO:0000176" +} +}, +{ +"id":"PFL", +"name":"Pyruvate formate lyase", +"metabolites":{ +"accoa_c":1.0, +"coa_c":-1.0, +"for_c":1.0, +"pyr_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"((b0902 and b0903) and b2579) or (b0902 and b0903) or (b0902 and b3114) or (b3951 and b3952)", +"subsystem":"Pyruvate Metabolism", +"notes":{ +"original_bigg_ids":[ +"PFL" +] +}, +"annotation":{ +"bigg.reaction":[ +"PFL" +], +"biocyc":[ +"META:PYRUVFORMLY-RXN" +], +"ec-code":[ +"2.3.1.54" +], +"kegg.reaction":[ +"R00212" +], +"metanetx.reaction":[ +"MNXR102514" +], +"rhea":[ +"11847", +"11845", +"11844", +"11846" +], +"sabiork":[ +"146" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00157" +] +} +}, +{ +"id":"PGI", +"name":"Glucose-6-phosphate isomerase", +"metabolites":{ +"f6p_c":1.0, +"g6p_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b4025", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"PGI" +] +}, +"annotation":{ +"bigg.reaction":[ +"PGI" +], +"biocyc":[ +"META:PGLUCISOM-RXN" +], +"ec-code":[ +"5.3.1.9" +], +"metanetx.reaction":[ +"MNXR102535" +], +"sbo":"SBO:0000176" +} +}, +{ +"id":"PGK", +"name":"Phosphoglycerate kinase", +"metabolites":{ +"13dpg_c":1.0, +"3pg_c":-1.0, +"adp_c":1.0, +"atp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2926", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"PGK" +] +}, +"annotation":{ +"bigg.reaction":[ +"PGK" +], +"biocyc":[ +"META:PHOSGLYPHOS-RXN" +], +"ec-code":[ +"2.7.2.3" +], +"kegg.reaction":[ +"R01512" +], +"metanetx.reaction":[ +"MNXR102538" +], +"reactome.reaction":[ +"R-ATH-71850", +"R-DME-71850", +"R-GGA-71850", +"R-SPO-71850", +"R-OSA-71850", +"R-GGA-353039", +"R-GGA-353023", +"R-BTA-71850", +"R-CFA-70486", +"R-MMU-71850", +"R-DME-70486", +"R-PFA-71850", +"R-SPO-70486", +"R-SCE-70486", +"R-PFA-70486", +"R-SSC-70486", +"R-ATH-70486", +"R-DRE-70486", +"R-HSA-70486", +"R-OSA-70486", +"R-XTR-71850", +"R-MMU-70486", +"R-RNO-70486", +"R-TGU-70486", +"R-DRE-71850", +"R-SSC-71850", +"R-SCE-71850", +"R-CFA-71850", +"R-XTR-70486", +"R-DDI-70486", +"R-DDI-71850", +"R-RNO-71850", +"R-BTA-70486", +"R-CEL-70486", +"R-HSA-71850", +"R-CEL-71850", +"R-GGA-70486", +"R-TGU-71850" +], +"rhea":[ +"14801", +"14804", +"14802", +"14803" +], +"sabiork":[ +"7644" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn01100" +] +} +}, +{ +"id":"PGL", +"name":"6-phosphogluconolactonase", +"metabolites":{ +"6pgc_c":1.0, +"6pgl_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0767", +"subsystem":"Pentose Phosphate Pathway", +"notes":{ +"original_bigg_ids":[ +"PGL" +] +}, +"annotation":{ +"bigg.reaction":[ +"PGL" +], +"biocyc":[ +"META:6PGLUCONOLACT-RXN" +], +"ec-code":[ +"3.1.1.31" +], +"kegg.reaction":[ +"R02035" +], +"metanetx.reaction":[ +"MNXR102539" +], +"reactome.reaction":[ +"R-OSA-71296", +"R-CFA-71296", +"R-CEL-71296", +"R-GGA-71296", +"R-MMU-71296", +"R-SSC-71296", +"R-BTA-71296", +"R-ATH-71296", +"R-DME-71296", +"R-DRE-71296", +"R-SCE-71296", +"R-HSA-71296", +"R-XTR-71296", +"R-RNO-71296", +"R-DDI-71296", +"R-SPO-71296" +], +"rhea":[ +"12559", +"12556", +"12557", +"12558" +], +"sabiork":[ +"109" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn01476" +] +} +}, +{ +"id":"ACALD", +"name":"Acetaldehyde dehydrogenase (acetylating)", +"metabolites":{ +"acald_c":-1.0, +"accoa_c":1.0, +"coa_c":-1.0, +"h_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0351 or b1241", +"subsystem":"Pyruvate Metabolism", +"notes":{ +"original_bigg_ids":[ +"ACALD" +] +}, +"annotation":{ +"bigg.reaction":[ +"ACALD" +], +"biocyc":[ +"META:ACETALD-DEHYDROG-RXN" +], +"ec-code":[ +"1.2.1.10" +], +"kegg.reaction":[ +"R00228" +], +"metanetx.reaction":[ +"MNXR95210" +], +"rhea":[ +"23290", +"23291", +"23289", +"23288" +], +"sabiork":[ +"163" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00171" +] +} +}, +{ +"id":"AKGt2r", +"name":"2 oxoglutarate reversible transport via symport", +"metabolites":{ +"akg_c":1.0, +"akg_e":-1.0, +"h_c":1.0, +"h_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2587", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"AKGt2r" +] +}, +"annotation":{ +"bigg.reaction":[ +"AKGt2r" +], +"biocyc":[ +"META:TRANS-RXN-23" +], +"metanetx.reaction":[ +"MNXR95661" +], +"rhea":[ +"29011", +"29013", +"29012", +"29014" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn05493", +"rxn08095", +"rxn09827" +] +} +}, +{ +"id":"PGM", +"name":"Phosphoglycerate mutase", +"metabolites":{ +"2pg_c":-1.0, +"3pg_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3612 or b4395 or b0755", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"PGM" +] +}, +"annotation":{ +"bigg.reaction":[ +"PGM" +], +"biocyc":[ +"META:3PGAREARR-RXN", +"META:RXN-15513" +], +"ec-code":[ +"5.4.2.1", +"5.4.2.11", +"5.4.2.12" +], +"kegg.reaction":[ +"R01518" +], +"metanetx.reaction":[ +"MNXR102547" +], +"reactome.reaction":[ +"R-XTR-71654", +"R-SSC-71654", +"R-DME-71445", +"R-XTR-71445", +"R-RNO-71445", +"R-GGA-71654", +"R-SSC-71445", +"R-GGA-71445", +"R-DDI-71654", +"R-SPO-71654", +"R-MMU-71445", +"R-BTA-71445", +"R-CFA-71445", +"R-PFA-71445", +"R-GGA-352994", +"R-TGU-71654", +"R-SPO-71445", +"R-HSA-71445", +"R-ATH-71654", +"R-MMU-71654", +"R-BTA-71654", +"R-GGA-353014", +"R-DRE-71654", +"R-HSA-71654", +"R-CFA-71654", +"R-OSA-71654", +"R-DDI-71445", +"R-RNO-71654", +"R-DRE-71445", +"R-OSA-71445", +"R-PFA-71654", +"R-DME-71654", +"R-TGU-71445", +"R-SCE-71445", +"R-ATH-71445", +"R-SCE-71654" +], +"rhea":[ +"15902", +"15903", +"15901", +"15904" +], +"sabiork":[ +"7641" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn01106" +] +} +}, +{ +"id":"PIt2r", +"name":"Phosphate reversible transport via symport", +"metabolites":{ +"h_c":1.0, +"h_e":-1.0, +"pi_c":1.0, +"pi_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2987 or b3493", +"subsystem":"Inorganic Ion Transport and Metabolism", +"notes":{ +"original_bigg_ids":[ +"PIt2r" +] +}, +"annotation":{ +"bigg.reaction":[ +"PIt2r" +], +"biocyc":[ +"META:TRANS-RXN-114" +], +"metanetx.reaction":[ +"MNXR102872" +], +"rhea":[ +"29939", +"29941", +"29940", +"29942" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn05312", +"rxn09833", +"rxn09811", +"rxn09872", +"rxn09723", +"rxn09120" +] +} +}, +{ +"id":"ALCD2x", +"name":"Alcohol dehydrogenase (ethanol)", +"metabolites":{ +"acald_c":1.0, +"etoh_c":-1.0, +"h_c":1.0, +"nad_c":-1.0, +"nadh_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0356 or b1478 or b1241", +"subsystem":"Pyruvate Metabolism", +"notes":{ +"original_bigg_ids":[ +"ALCD2x" +] +}, +"annotation":{ +"bigg.reaction":[ +"ALCD2x" +], +"biocyc":[ +"META:ALCOHOL-DEHYDROG-RXN" +], +"ec-code":[ +"1.1.1.71", +"1.1.1.1" +], +"kegg.reaction":[ +"R00754" +], +"metanetx.reaction":[ +"MNXR95725" +], +"reactome.reaction":[ +"R-MMU-71707", +"R-XTR-71707", +"R-CFA-71707", +"R-OSA-71707", +"R-RNO-71707", +"R-HSA-71707", +"R-SSC-71707", +"R-GGA-71707", +"R-SPO-71707", +"R-DME-71707", +"R-DRE-71707", +"R-BTA-71707", +"R-ATH-71707", +"R-SCE-71707", +"R-TGU-71707", +"R-CEL-71707", +"R-DDI-71707" +], +"rhea":[ +"25292", +"25290", +"25291", +"25293" +], +"sabiork":[ +"597" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00543" +] +} +}, +{ +"id":"ACALDt", +"name":"Acetaldehyde reversible transport", +"metabolites":{ +"acald_c":1.0, +"acald_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"s0001", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"ACALDt" +] +}, +"annotation":{ +"bigg.reaction":[ +"ACALDt" +], +"metanetx.reaction":[ +"MNXR95212" +], +"reactome.reaction":[ +"R-HSA-449872" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn09700", +"rxn08033", +"rxn13212", +"rxn08032" +] +} +}, +{ +"id":"ACKr", +"name":"Acetate kinase", +"metabolites":{ +"ac_c":-1.0, +"actp_c":1.0, +"adp_c":1.0, +"atp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3115 or b2296 or b1849", +"subsystem":"Pyruvate Metabolism", +"notes":{ +"original_bigg_ids":[ +"ACKr" +] +}, +"annotation":{ +"bigg.reaction":[ +"ACKr" +], +"biocyc":[ +"META:ACETATEKIN-RXN" +], +"ec-code":[ +"2.7.2.15", +"2.7.2.1" +], +"kegg.reaction":[ +"R00315" +], +"metanetx.reaction":[ +"MNXR95269" +], +"rhea":[ +"11354", +"11355", +"11353", +"11352" +], +"sabiork":[ +"71" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00225" +] +} +}, +{ +"id":"PPC", +"name":"Phosphoenolpyruvate carboxylase", +"metabolites":{ +"co2_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"oaa_c":1.0, +"pep_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3956", +"subsystem":"Anaplerotic reactions", +"notes":{ +"original_bigg_ids":[ +"PPC" +] +}, +"annotation":{ +"bigg.reaction":[ +"PPC" +], +"ec-code":[ +"4.1.1.31" +], +"kegg.reaction":[ +"R00345" +], +"metanetx.reaction":[ +"MNXR103096" +], +"rhea":[ +"23073", +"23072", +"23075", +"23074" +], +"sabiork":[ +"150" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00251" +] +} +}, +{ +"id":"ACONTa", +"name":"Aconitase (half-reaction A, Citrate hydro-lyase)", +"metabolites":{ +"acon_C_c":1.0, +"cit_c":-1.0, +"h2o_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0118 or b1276", +"subsystem":"Citric Acid Cycle", +"notes":{ +"original_bigg_ids":[ +"ACONTa" +] +}, +"annotation":{ +"bigg.reaction":[ +"ACONTa" +], +"biocyc":[ +"META:ACONITATEDEHYDR-RXN" +], +"ec-code":[ +"4.2.1.3" +], +"kegg.reaction":[ +"R01325" +], +"metanetx.reaction":[ +"MNXR95386" +], +"rhea":[ +"10230", +"10229", +"10231", +"10228" +], +"sabiork":[ +"268" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00974" +] +} +}, +{ +"id":"ACONTb", +"name":"Aconitase (half-reaction B, Isocitrate hydro-lyase)", +"metabolites":{ +"acon_C_c":-1.0, +"h2o_c":-1.0, +"icit_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0118 or b1276", +"subsystem":"Citric Acid Cycle", +"notes":{ +"original_bigg_ids":[ +"ACONTb" +] +}, +"annotation":{ +"bigg.reaction":[ +"ACONTb" +], +"ec-code":[ +"4.2.1.3" +], +"kegg.reaction":[ +"R01900" +], +"metanetx.reaction":[ +"MNXR95387" +], +"rhea":[ +"22145", +"22144", +"22146", +"22147" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn01388" +] +} +}, +{ +"id":"ATPM", +"name":"ATP maintenance requirement", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":8.39, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Biomass and maintenance functions", +"notes":{ +"original_bigg_ids":[ +"ATPM" +] +}, +"annotation":{ +"bigg.reaction":[ +"ATPM" +], +"biocyc":[ +"META:ATPASE-RXN" +], +"ec-code":[ +"3.6.1.5", +"3.6.3.34", +"3.6.3.20", +"3.6.3.53", +"3.6.3.8", +"3.6.3.32", +"3.6.4.12", +"3.6.3.48", +"3.6.3.40", +"3.6.3.9", +"3.6.3.23", +"3.6.3.22", +"3.6.3.54", +"3.6.3.1", +"3.6.1.8", +"3.6.3.29", +"3.6.3.17", +"3.6.3.50", +"3.6.3.39", +"3.6.3.19", +"3.6.3.4", +"3.6.3.35", +"3.6.3.16", +"3.6.4.4", +"3.6.3.37", +"3.6.4.8", +"3.6.3.31", +"3.6.3.6", +"3.6.4.5", +"3.6.3.52", +"3.6.3.2", +"3.6.3.14", +"3.6.3.51", +"3.6.3.25", +"3.6.3.38", +"3.6.3.33", +"3.6.3.43", +"3.6.4.10", +"3.6.4.13", +"3.6.3.3", +"3.6.3.10", +"3.6.3.24", +"3.6.3.44", +"3.6.3.15", +"3.6.3.5", +"3.6.1.3", +"3.6.1.15", +"3.6.4.2", +"3.6.4.3", +"3.6.3.42", +"3.6.3.11", +"3.6.3.28", +"3.6.3.30", +"3.6.4.1", +"3.6.4.11", +"3.6.3.47", +"3.6.4.6", +"3.6.3.36", +"3.6.3.21", +"3.6.3.12", +"3.6.3.18", +"3.6.3.26", +"3.6.3.27", +"3.6.3.7", +"3.6.4.9", +"3.6.4.7", +"3.6.3.46", +"3.6.3.41", +"3.6.3.49" +], +"kegg.reaction":[ +"R00086" +], +"metanetx.reaction":[ +"MNXR96131" +], +"rhea":[ +"13066", +"13065", +"13068", +"13067" +], +"sabiork":[ +"75" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn11300", +"rxn09694", +"rxn00062" +] +} +}, +{ +"id":"PPCK", +"name":"Phosphoenolpyruvate carboxykinase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"co2_c":1.0, +"oaa_c":-1.0, +"pep_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3403", +"subsystem":"Anaplerotic reactions", +"notes":{ +"original_bigg_ids":[ +"PPCK" +] +}, +"annotation":{ +"bigg.reaction":[ +"PPCK" +], +"biocyc":[ +"META:PEPCARBOXYKIN-RXN" +], +"ec-code":[ +"4.1.1.49" +], +"kegg.reaction":[ +"R00341" +], +"metanetx.reaction":[ +"MNXR103099" +], +"rhea":[ +"18620", +"18618", +"18617", +"18619" +], +"sabiork":[ +"151" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00247" +] +} +}, +{ +"id":"ACt2r", +"name":"Acetate reversible transport via proton symport", +"metabolites":{ +"ac_c":1.0, +"ac_e":-1.0, +"h_c":1.0, +"h_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"ACt2r" +] +}, +"annotation":{ +"bigg.reaction":[ +"ACt2r" +], +"biocyc":[ +"META:TRANS-RXN0-571" +], +"metanetx.reaction":[ +"MNXR95429" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn08061", +"rxn05488" +] +} +}, +{ +"id":"PPS", +"name":"Phosphoenolpyruvate synthase", +"metabolites":{ +"amp_c":1.0, +"atp_c":-1.0, +"h2o_c":-1.0, +"h_c":2.0, +"pep_c":1.0, +"pi_c":1.0, +"pyr_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b1702", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"PPS" +] +}, +"annotation":{ +"bigg.reaction":[ +"PPS" +], +"biocyc":[ +"META:PEPSYNTH-RXN" +], +"ec-code":[ +"2.7.9.2" +], +"kegg.reaction":[ +"R00199" +], +"metanetx.reaction":[ +"MNXR103140" +], +"rhea":[ +"11364", +"11367", +"11366", +"11365" +], +"sabiork":[ +"148" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00147" +] +} +}, +{ +"id":"ADK1", +"name":"Adenylate kinase", +"metabolites":{ +"adp_c":2.0, +"amp_c":-1.0, +"atp_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0474", +"subsystem":"Oxidative Phosphorylation", +"notes":{ +"original_bigg_ids":[ +"ADK1" +] +}, +"annotation":{ +"bigg.reaction":[ +"ADK1" +], +"biocyc":[ +"META:ADENYL-KIN-RXN" +], +"ec-code":[ +"2.7.4.3" +], +"kegg.reaction":[ +"R00127" +], +"metanetx.reaction":[ +"MNXR95450" +], +"reactome.reaction":[ +"R-ATH-110145", +"R-SSC-110144", +"R-ATH-110144", +"R-SSC-110145", +"R-GGA-110145", +"R-PFA-110144", +"R-HSA-110145", +"R-RNO-110144", +"R-OSA-110145", +"R-SCE-110145", +"R-RNO-110145", +"R-XTR-110144", +"R-SCE-110144", +"R-PFA-110145", +"R-OSA-110144", +"R-HSA-110144", +"R-BTA-110144", +"R-DRE-110145", +"R-DRE-110144", +"R-SPO-110145", +"R-CEL-110144", +"R-CFA-110144", +"R-XTR-110145", +"R-MMU-110144", +"R-DME-110144", +"R-SPO-110144", +"R-DDI-110145", +"R-GGA-110144", +"R-TGU-110144", +"R-BTA-110145", +"R-CEL-110145", +"R-CFA-110145", +"R-DME-110145", +"R-TGU-110145", +"R-DDI-110144", +"R-MMU-110145" +], +"rhea":[ +"12975", +"12973", +"12976", +"12974" +], +"sabiork":[ +"82" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00097" +] +} +}, +{ +"id":"AKGDH", +"name":"2-Oxogluterate dehydrogenase", +"metabolites":{ +"akg_c":-1.0, +"co2_c":1.0, +"coa_c":-1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"succoa_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0116 and b0726 and b0727", +"subsystem":"Citric Acid Cycle", +"notes":{ +"original_bigg_ids":[ +"AKGDH" +] +}, +"annotation":{ +"bigg.reaction":[ +"AKGDH" +], +"biocyc":[ +"META:2OXOGLUTARATEDEH-RXN" +], +"ec-code":[ +"1.2.1.52", +"2.3.1.61", +"1.8.1.4", +"1.2.4.2" +], +"kegg.reaction":[ +"R08549" +], +"metanetx.reaction":[ +"MNXR95655" +], +"reactome.reaction":[ +"R-PFA-71401", +"R-XTR-71401", +"R-SCE-71401", +"R-SSC-71401", +"R-TGU-71401", +"R-ATH-71401", +"R-OSA-71401", +"R-SPO-71401", +"R-CEL-71401", +"R-RNO-71401", +"R-DRE-71401", +"R-GGA-373042", +"R-DDI-71401", +"R-CFA-71401", +"R-HSA-71401", +"R-BTA-71401", +"R-DME-71401", +"R-MMU-71401", +"R-GGA-71401" +], +"rhea":[ +"27789", +"27788", +"27786", +"27787" +], +"sabiork":[ +"8163" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn08094" +] +} +}, +{ +"id":"ATPS4r", +"name":"ATP synthase (four protons for one ATP)", +"metabolites":{ +"adp_c":-1.0, +"atp_c":1.0, +"h2o_c":1.0, +"h_c":3.0, +"h_e":-4.0, +"pi_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"((b3736 and b3737 and b3738) and (b3731 and b3732 and b3733 and b3734 and b3735)) or ((b3736 and b3737 and b3738) and (b3731 and b3732 and b3733 and b3734 and b3735) and b3739)", +"subsystem":"Oxidative Phosphorylation", +"notes":{ +"original_bigg_ids":[ +"ATPS4r" +] +}, +"annotation":{ +"bigg.reaction":[ +"ATPS4r" +], +"biocyc":[ +"META:ATPSYN-RXN" +], +"ec-code":[ +"3.6.3.14" +], +"metanetx.reaction":[ +"MNXR96136" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn08173", +"rxn10042" +] +} +}, +{ +"id":"PTAr", +"name":"Phosphotransacetylase", +"metabolites":{ +"accoa_c":-1.0, +"actp_c":1.0, +"coa_c":1.0, +"pi_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2297 or b2458", +"subsystem":"Pyruvate Metabolism", +"notes":{ +"original_bigg_ids":[ +"PTAr" +] +}, +"annotation":{ +"bigg.reaction":[ +"PTAr" +], +"biocyc":[ +"META:PHOSACETYLTRANS-RXN" +], +"ec-code":[ +"2.3.1.8" +], +"kegg.reaction":[ +"R00230" +], +"metanetx.reaction":[ +"MNXR103319" +], +"rhea":[ +"19521", +"19523", +"19522", +"19524" +], +"sabiork":[ +"72" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00173" +] +} +}, +{ +"id":"PYK", +"name":"Pyruvate kinase", +"metabolites":{ +"adp_c":-1.0, +"atp_c":1.0, +"h_c":-1.0, +"pep_c":-1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b1854 or b1676", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"PYK" +] +}, +"annotation":{ +"bigg.reaction":[ +"PYK" +], +"biocyc":[ +"META:PEPDEPHOS-RXN" +], +"ec-code":[ +"2.7.1.40" +], +"kegg.reaction":[ +"R00200" +], +"metanetx.reaction":[ +"MNXR103371" +], +"reactome.reaction":[ +"R-SSC-71670", +"R-GGA-353056", +"R-DRE-71670", +"R-OSA-71670", +"R-SPO-71670", +"R-DDI-71670", +"R-SCE-71670", +"R-CEL-71670", +"R-PFA-71670", +"R-HSA-71670", +"R-TGU-71670", +"R-DME-71670", +"R-ATH-71670", +"R-BTA-71670", +"R-MMU-71670", +"R-RNO-71670", +"R-GGA-71670", +"R-CFA-71670", +"R-XTR-71670" +], +"rhea":[ +"18160", +"18159", +"18158", +"18157" +], +"sabiork":[ +"9" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00148" +] +} +}, +{ +"id":"BIOMASS_Ecoli_core_w_GAM", +"name":"Biomass Objective Function with GAM", +"metabolites":{ +"3pg_c":-1.496, +"accoa_c":-3.7478, +"adp_c":59.81, +"akg_c":4.1182, +"atp_c":-59.81, +"coa_c":3.7478, +"e4p_c":-0.361, +"f6p_c":-0.0709, +"g3p_c":-0.129, +"g6p_c":-0.205, +"gln__L_c":-0.2557, +"glu__L_c":-4.9414, +"h2o_c":-59.81, +"h_c":59.81, +"nad_c":-3.547, +"nadh_c":3.547, +"nadp_c":13.0279, +"nadph_c":-13.0279, +"oaa_c":-1.7867, +"pep_c":-0.5191, +"pi_c":59.81, +"pyr_c":-2.8328, +"r5p_c":-0.8977 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"objective_coefficient":1.0, +"subsystem":"Biomass and maintenance functions", +"notes":{ +"original_bigg_ids":[ +"Biomass_Ecoli_core_w_GAM" +] +}, +"annotation":{ +"bigg.reaction":[ +"BIOMASS_Ecoli_core_w_GAM" +], +"metanetx.reaction":[ +"MNXR96280" +], +"sbo":"SBO:0000629" +} +}, +{ +"id":"PYRt2", +"name":"Pyruvate transport in via proton symport", +"metabolites":{ +"h_c":1.0, +"h_e":-1.0, +"pyr_c":1.0, +"pyr_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"PYRt2r" +] +}, +"annotation":{ +"bigg.reaction":[ +"PYRt2" +], +"metanetx.reaction":[ +"MNXR103385" +], +"reactome.reaction":[ +"R-RNO-372347", +"R-HSA-372342", +"R-GGA-372359" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn05469", +"rxn09832", +"rxn09717", +"rxn09217" +] +} +}, +{ +"id":"CO2t", +"name":"CO2 transporter via diffusion", +"metabolites":{ +"co2_c":1.0, +"co2_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"s0001", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"CO2t" +] +}, +"annotation":{ +"bigg.reaction":[ +"CO2t" +], +"biocyc":[ +"META:TRANS-RXN0-545" +], +"metanetx.reaction":[ +"MNXR96810" +], +"reactome.reaction":[ +"R-DDI-1247645", +"R-CFA-1237069", +"R-TGU-1247649", +"R-CFA-1237042", +"R-CEL-1247645", +"R-XTR-1237069", +"R-HSA-1247645", +"R-OSA-1237042", +"R-GGA-1237042", +"R-BTA-1247645", +"R-GGA-1247649", +"R-RNO-1247645", +"R-XTR-1247645", +"R-TGU-1237042", +"R-SCE-1247649", +"R-MMU-1247649", +"R-CFA-1247649", +"R-GGA-1247645", +"R-SSC-1247645", +"R-BTA-1237069", +"R-RNO-1237069", +"R-SCE-1237042", +"R-DDI-1247649", +"R-SSC-1237042", +"R-DRE-1247649", +"R-DRE-1237042", +"R-DDI-1237042", +"R-DME-1237042", +"R-MMU-1237042", +"R-SSC-1247649", +"R-TGU-1237069", +"R-BTA-1247649", +"R-CFA-1247645", +"R-RNO-1247649", +"R-HSA-1237069", +"R-CEL-1237069", +"R-DDI-1237069", +"R-MMU-1237069", +"R-DME-1247645", +"R-ATH-1237042", +"R-OSA-1247649", +"R-HSA-1237042", +"R-DRE-1247645", +"R-HSA-1247649", +"R-MMU-1247645", +"R-DME-1237069", +"R-RNO-1237042", +"R-TGU-1247645", +"R-BTA-1237042", +"R-GGA-1237069", +"R-DME-1247649", +"R-SSC-1237069", +"R-DRE-1237069", +"R-ATH-1247649" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn05467", +"rxn08237", +"rxn09706", +"rxn09821", +"rxn09775", +"rxn09876", +"rxn08238", +"rxn09860" +] +} +}, +{ +"id":"RPE", +"name":"Ribulose 5-phosphate 3-epimerase", +"metabolites":{ +"ru5p__D_c":-1.0, +"xu5p__D_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3386 or b4301", +"subsystem":"Pentose Phosphate Pathway", +"notes":{ +"original_bigg_ids":[ +"RPE" +] +}, +"annotation":{ +"bigg.reaction":[ +"RPE" +], +"biocyc":[ +"META:RIBULP3EPIM-RXN" +], +"ec-code":[ +"5.1.3.1" +], +"kegg.reaction":[ +"R01529" +], +"metanetx.reaction":[ +"MNXR104083" +], +"reactome.reaction":[ +"R-SPO-71303", +"R-CFA-199803", +"R-ATH-71303", +"R-SCE-71303", +"R-CFA-71303", +"R-DME-199803", +"R-XTR-199803", +"R-SSC-199803", +"R-GGA-199803", +"R-TGU-71303", +"R-OSA-199803", +"R-SSC-71303", +"R-MMU-71303", +"R-OSA-71303", +"R-HSA-71303", +"R-MMU-199803", +"R-XTR-71303", +"R-SPO-199803", +"R-SCE-199803", +"R-DDI-71303", +"R-RNO-71303", +"R-DME-71303", +"R-HSA-199803", +"R-DRE-71303", +"R-PFA-199803", +"R-CEL-199803", +"R-RNO-199803", +"R-PFA-71303", +"R-CEL-71303", +"R-TGU-199803", +"R-GGA-71303", +"R-DDI-199803", +"R-BTA-71303", +"R-ATH-199803", +"R-DRE-199803", +"R-BTA-199803" +], +"rhea":[ +"13677", +"13680", +"13678", +"13679" +], +"sabiork":[ +"62" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn01116" +] +} +}, +{ +"id":"CS", +"name":"Citrate synthase", +"metabolites":{ +"accoa_c":-1.0, +"cit_c":1.0, +"coa_c":1.0, +"h2o_c":-1.0, +"h_c":1.0, +"oaa_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0720", +"subsystem":"Citric Acid Cycle", +"notes":{ +"original_bigg_ids":[ +"CS" +] +}, +"annotation":{ +"bigg.reaction":[ +"CS" +], +"biocyc":[ +"META:CITSYN-RXN", +"META:RXN-14905" +], +"ec-code":[ +"2.3.3.16", +"2.3.3.1", +"2.3.3.3" +], +"kegg.reaction":[ +"R00351" +], +"metanetx.reaction":[ +"MNXR96920" +], +"reactome.reaction":[ +"R-GGA-373006", +"R-GGA-70975", +"R-CEL-70975", +"R-HSA-70975", +"R-DRE-70975", +"R-MMU-70975", +"R-ATH-70975", +"R-SPO-70975", +"R-OSA-70975", +"R-SCE-70975", +"R-SSC-70975", +"R-DDI-70975", +"R-RNO-70975", +"R-DME-70975", +"R-PFA-70975", +"R-XTR-70975", +"R-CFA-70975", +"R-BTA-70975" +], +"rhea":[ +"16847", +"16846", +"16845", +"16848" +], +"sabiork":[ +"267" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00256" +] +} +}, +{ +"id":"RPI", +"name":"Ribose-5-phosphate isomerase", +"metabolites":{ +"r5p_c":-1.0, +"ru5p__D_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2914 or b4090", +"subsystem":"Pentose Phosphate Pathway", +"notes":{ +"original_bigg_ids":[ +"RPI" +] +}, +"annotation":{ +"bigg.reaction":[ +"RPI" +], +"ec-code":[ +"5.3.1.6" +], +"metanetx.reaction":[ +"MNXR104084" +], +"sbo":"SBO:0000176" +} +}, +{ +"id":"SUCCt2_2", +"name":"Succinate transport via proton symport (2 H)", +"metabolites":{ +"h_c":2.0, +"h_e":-2.0, +"succ_c":1.0, +"succ_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3528", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"SUCCt2_2" +] +}, +"annotation":{ +"bigg.reaction":[ +"SUCCt2_2" +], +"biocyc":[ +"META:TRANS-RXN-121" +], +"metanetx.reaction":[ +"MNXR104620" +], +"rhea":[ +"29305", +"29306", +"29304", +"29303" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn10154", +"rxn09269" +] +} +}, +{ +"id":"CYTBD", +"name":"Cytochrome oxidase bd (ubiquinol-8: 2 protons)", +"metabolites":{ +"h2o_c":1.0, +"h_c":-2.0, +"h_e":2.0, +"o2_c":-0.5, +"q8_c":1.0, +"q8h2_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"(b0978 and b0979) or (b0733 and b0734)", +"subsystem":"Oxidative Phosphorylation", +"notes":{ +"original_bigg_ids":[ +"CYTBD" +] +}, +"annotation":{ +"bigg.reaction":[ +"CYTBD" +], +"metanetx.reaction":[ +"MNXR97031" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn12494", +"rxn10112", +"rxn08288" +] +} +}, +{ +"id":"D_LACt2", +"name":"D lactate transport via proton symport", +"metabolites":{ +"h_c":1.0, +"h_e":-1.0, +"lac__D_c":1.0, +"lac__D_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2975 or b3603", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"D_LACt2" +] +}, +"annotation":{ +"bigg.reaction":[ +"D_LACt2" +], +"biocyc":[ +"META:TRANS-RXN0-515" +], +"metanetx.reaction":[ +"MNXR97838" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn10171", +"rxn09772", +"rxn08350" +] +} +}, +{ +"id":"ENO", +"name":"Enolase", +"metabolites":{ +"2pg_c":-1.0, +"h2o_c":1.0, +"pep_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2779", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"ENO" +] +}, +"annotation":{ +"bigg.reaction":[ +"ENO" +], +"biocyc":[ +"META:2PGADEHYDRAT-RXN" +], +"ec-code":[ +"4.2.1.11" +], +"kegg.reaction":[ +"R00658" +], +"metanetx.reaction":[ +"MNXR97932" +], +"reactome.reaction":[ +"R-BTA-71660", +"R-RNO-70494", +"R-TGU-71660", +"R-SSC-71660", +"R-GGA-352981", +"R-DME-70494", +"R-CFA-70494", +"R-OSA-70494", +"R-SCE-71660", +"R-GGA-353044", +"R-CFA-71660", +"R-GGA-70494", +"R-PFA-71660", +"R-SPO-71660", +"R-SPO-70494", +"R-DDI-70494", +"R-RNO-71660", +"R-MMU-70494", +"R-ATH-70494", +"R-SCE-70494", +"R-SSC-70494", +"R-HSA-70494", +"R-DME-71660", +"R-CEL-71660", +"R-HSA-71660", +"R-TGU-70494", +"R-XTR-71660", +"R-DRE-70494", +"R-DRE-71660", +"R-MMU-71660", +"R-ATH-71660", +"R-BTA-70494", +"R-CEL-70494", +"R-XTR-70494", +"R-DDI-71660", +"R-OSA-71660", +"R-PFA-70494", +"R-GGA-71660" +], +"rhea":[ +"10166", +"10165", +"10164", +"10167" +], +"sabiork":[ +"8" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00459" +] +} +}, +{ +"id":"SUCCt3", +"name":"Succinate transport out via proton antiport", +"metabolites":{ +"h_c":1.0, +"h_e":-1.0, +"succ_c":-1.0, +"succ_e":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"SUCCt3" +] +}, +"annotation":{ +"bigg.reaction":[ +"SUCCt3" +], +"metanetx.reaction":[ +"MNXR104623" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn09270" +] +} +}, +{ +"id":"ETOHt2r", +"name":"Ethanol reversible transport via proton symport", +"metabolites":{ +"etoh_c":1.0, +"etoh_e":-1.0, +"h_c":1.0, +"h_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"ETOHt2r" +] +}, +"annotation":{ +"bigg.reaction":[ +"ETOHt2r" +], +"metanetx.reaction":[ +"MNXR97981" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn10146", +"rxn08427" +] +} +}, +{ +"id":"SUCDi", +"name":"Succinate dehydrogenase (irreversible)", +"metabolites":{ +"fum_c":1.0, +"q8_c":-1.0, +"q8h2_c":1.0, +"succ_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0721 and b0722 and b0723 and b0724", +"subsystem":"Oxidative Phosphorylation", +"notes":{ +"original_bigg_ids":[ +"SUCDi" +] +}, +"annotation":{ +"bigg.reaction":[ +"SUCDi" +], +"metanetx.reaction":[ +"MNXR99641" +], +"rhea":[ +"29190", +"29189", +"29187", +"29188" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn09272" +] +} +}, +{ +"id":"SUCOAS", +"name":"Succinyl-CoA synthetase (ADP-forming)", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"coa_c":-1.0, +"pi_c":1.0, +"succ_c":-1.0, +"succoa_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0728 and b0729", +"subsystem":"Citric Acid Cycle", +"notes":{ +"original_bigg_ids":[ +"SUCOAS" +] +}, +"annotation":{ +"bigg.reaction":[ +"SUCOAS" +], +"biocyc":[ +"META:SUCCCOASYN-RXN" +], +"ec-code":[ +"6.2.1.5" +], +"kegg.reaction":[ +"R00405" +], +"metanetx.reaction":[ +"MNXR104635" +], +"reactome.reaction":[ +"R-BTA-70997", +"R-GGA-372977", +"R-PFA-70997", +"R-GGA-373134", +"R-TGU-70997", +"R-XTR-70997", +"R-SSC-70997", +"R-HSA-70997", +"R-DRE-70997", +"R-SCE-70997", +"R-SPO-70997", +"R-DDI-70997", +"R-CFA-70997", +"R-OSA-70997", +"R-GGA-70997", +"R-RNO-70997", +"R-ATH-70997", +"R-MMU-70997" +], +"rhea":[ +"17664", +"17663", +"17662", +"17661" +], +"sabiork":[ +"260" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00285" +] +} +}, +{ +"id":"TALA", +"name":"Transaldolase", +"metabolites":{ +"e4p_c":1.0, +"f6p_c":1.0, +"g3p_c":-1.0, +"s7p_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2464 or b0008", +"subsystem":"Pentose Phosphate Pathway", +"notes":{ +"original_bigg_ids":[ +"TALA" +] +}, +"annotation":{ +"bigg.reaction":[ +"TALA" +], +"biocyc":[ +"META:TRANSALDOL-RXN" +], +"ec-code":[ +"2.2.1.2" +], +"kegg.reaction":[ +"R01827" +], +"metanetx.reaction":[ +"MNXR104715" +], +"rhea":[ +"17056", +"17055", +"17054", +"17053" +], +"sbo":"SBO:0000176" +} +}, +{ +"id":"THD2", +"name":"NAD(P) transhydrogenase", +"metabolites":{ +"h_c":2.0, +"h_e":-2.0, +"nad_c":1.0, +"nadh_c":-1.0, +"nadp_c":-1.0, +"nadph_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b1602 and b1603", +"subsystem":"Oxidative Phosphorylation", +"notes":{ +"original_bigg_ids":[ +"THD2" +] +}, +"annotation":{ +"bigg.reaction":[ +"THD2" +], +"ec-code":[ +"1.6.1.1" +], +"metanetx.reaction":[ +"MNXR104805" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn10125", +"rxn09295" +] +} +}, +{ +"id":"TKT1", +"name":"Transketolase", +"metabolites":{ +"g3p_c":1.0, +"r5p_c":-1.0, +"s7p_c":1.0, +"xu5p__D_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2935 or b2465", +"subsystem":"Pentose Phosphate Pathway", +"notes":{ +"original_bigg_ids":[ +"TKT1" +] +}, +"annotation":{ +"bigg.reaction":[ +"TKT1" +], +"ec-code":[ +"2.2.1.1" +], +"metanetx.reaction":[ +"MNXR104868" +], +"sbo":"SBO:0000176" +} +}, +{ +"id":"TKT2", +"name":"Transketolase", +"metabolites":{ +"e4p_c":-1.0, +"f6p_c":1.0, +"g3p_c":1.0, +"xu5p__D_c":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2935 or b2465", +"subsystem":"Pentose Phosphate Pathway", +"notes":{ +"original_bigg_ids":[ +"TKT2" +] +}, +"annotation":{ +"bigg.reaction":[ +"TKT2" +], +"biocyc":[ +"META:2TRANSKETO-RXN" +], +"ec-code":[ +"2.2.1.1" +], +"kegg.reaction":[ +"R01830" +], +"metanetx.reaction":[ +"MNXR104869" +], +"rhea":[ +"27627", +"27628", +"27626", +"27629" +], +"sbo":"SBO:0000176" +} +}, +{ +"id":"TPI", +"name":"Triose-phosphate isomerase", +"metabolites":{ +"dhap_c":-1.0, +"g3p_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3919", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"TPI" +] +}, +"annotation":{ +"bigg.reaction":[ +"TPI" +], +"biocyc":[ +"META:TRIOSEPISOMERIZATION-RXN" +], +"ec-code":[ +"5.3.1.1" +], +"kegg.reaction":[ +"R01015" +], +"metanetx.reaction":[ +"MNXR104918" +], +"reactome.reaction":[ +"R-RNO-70481", +"R-MMU-70481", +"R-XTR-70481", +"R-SSC-70481", +"R-GGA-352927", +"R-SCE-70454", +"R-CEL-70481", +"R-PFA-70454", +"R-XTR-70454", +"R-BTA-70481", +"R-BTA-70454", +"R-GGA-352914", +"R-ATH-70481", +"R-CFA-70454", +"R-OSA-70454", +"R-HSA-70481", +"R-DRE-70454", +"R-DME-70481", +"R-OSA-70481", +"R-DRE-70481", +"R-ATH-70454", +"R-HSA-70454", +"R-SSC-70454", +"R-DDI-70454", +"R-SCE-70481", +"R-CFA-70481", +"R-PFA-70481", +"R-DDI-70481", +"R-SPO-70454", +"R-SPO-70481", +"R-RNO-70454", +"R-MMU-70454", +"R-CEL-70454", +"R-GGA-70481", +"R-GGA-70454", +"R-DME-70454" +], +"rhea":[ +"18587", +"18588", +"18586", +"18585" +], +"sabiork":[ +"4" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00747" +] +} +}, +{ +"id":"EX_ac_e", +"name":"Acetate exchange", +"metabolites":{ +"ac_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_ac_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_ac_e" +], +"biocyc":[ +"META:RXN0-1981", +"META:TRANS-RXN0-567" +], +"metanetx.reaction":[ +"MNXR95431" +], +"rhea":[ +"27817", +"27814", +"27816", +"27815" +], +"sabiork":[ +"12184" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn09787", +"rxn09866", +"rxn10904", +"rxn08063" +] +} +}, +{ +"id":"EX_acald_e", +"name":"Acetaldehyde exchange", +"metabolites":{ +"acald_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_acald_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_acald_e" +], +"metanetx.reaction":[ +"MNXR95212" +], +"reactome.reaction":[ +"R-HSA-449872" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn09700", +"rxn08033", +"rxn13212", +"rxn08032" +] +} +}, +{ +"id":"EX_akg_e", +"name":"2-Oxoglutarate exchange", +"metabolites":{ +"akg_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_akg_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_akg_e" +], +"metanetx.reaction":[ +"MNXR95663" +], +"sabiork":[ +"13794" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn10923", +"rxn08096", +"rxn13220" +] +} +}, +{ +"id":"EX_co2_e", +"name":"CO2 exchange", +"metabolites":{ +"co2_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_co2_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_co2_e" +], +"biocyc":[ +"META:TRANS-RXN0-545" +], +"metanetx.reaction":[ +"MNXR96810" +], +"reactome.reaction":[ +"R-DDI-1247645", +"R-CFA-1237069", +"R-TGU-1247649", +"R-CFA-1237042", +"R-CEL-1247645", +"R-XTR-1237069", +"R-HSA-1247645", +"R-OSA-1237042", +"R-GGA-1237042", +"R-BTA-1247645", +"R-GGA-1247649", +"R-RNO-1247645", +"R-XTR-1247645", +"R-TGU-1237042", +"R-SCE-1247649", +"R-MMU-1247649", +"R-CFA-1247649", +"R-GGA-1247645", +"R-SSC-1247645", +"R-BTA-1237069", +"R-RNO-1237069", +"R-SCE-1237042", +"R-DDI-1247649", +"R-SSC-1237042", +"R-DRE-1247649", +"R-DRE-1237042", +"R-DDI-1237042", +"R-DME-1237042", +"R-MMU-1237042", +"R-SSC-1247649", +"R-TGU-1237069", +"R-BTA-1247649", +"R-CFA-1247645", +"R-RNO-1247649", +"R-HSA-1237069", +"R-CEL-1237069", +"R-DDI-1237069", +"R-MMU-1237069", +"R-DME-1247645", +"R-ATH-1237042", +"R-OSA-1247649", +"R-HSA-1237042", +"R-DRE-1247645", +"R-HSA-1247649", +"R-MMU-1247645", +"R-DME-1237069", +"R-RNO-1237042", +"R-TGU-1247645", +"R-BTA-1237042", +"R-GGA-1237069", +"R-DME-1247649", +"R-SSC-1237069", +"R-DRE-1237069", +"R-ATH-1247649" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn05467", +"rxn08237", +"rxn09706", +"rxn09821", +"rxn09775", +"rxn09876", +"rxn08238", +"rxn09860" +] +} +}, +{ +"id":"EX_etoh_e", +"name":"Ethanol exchange", +"metabolites":{ +"etoh_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_etoh_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_etoh_e" +], +"biocyc":[ +"META:TRANS-RXN0-546" +], +"metanetx.reaction":[ +"MNXR97980" +], +"rhea":[ +"35269", +"35267", +"35270", +"35268" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn09683", +"rxn08428", +"rxn09764" +] +} +}, +{ +"id":"EX_for_e", +"name":"Formate exchange", +"metabolites":{ +"for_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_for_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_for_e" +], +"biocyc":[ +"META:TRANS-RXN-1" +], +"metanetx.reaction":[ +"MNXR99620" +], +"reactome.reaction":[ +"R-HSA-6803255" +], +"rhea":[ +"29681", +"29680", +"29682", +"29679" +], +"sabiork":[ +"12483" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn09754", +"rxn08525", +"rxn09682", +"rxn08526" +] +} +}, +{ +"id":"EX_fru_e", +"name":"D-Fructose exchange", +"metabolites":{ +"fru_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_fru_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_fru_e" +], +"metanetx.reaction":[ +"MNXR99663" +], +"reactome.reaction":[ +"R-OSA-189222", +"R-XTR-189222", +"R-SCE-189222", +"R-ATH-189222", +"R-RNO-189222", +"R-DME-189222", +"R-TGU-189222", +"R-SSC-189222", +"R-CFA-189222", +"R-DRE-189222", +"R-HSA-189222", +"R-GGA-189222", +"R-BTA-189222", +"R-MMU-189222", +"R-DDI-189222" +], +"sabiork":[ +"13415" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn12996", +"rxn08537" +] +} +}, +{ +"id":"EX_fum_e", +"name":"Fumarate exchange", +"metabolites":{ +"fum_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_fum_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_fum_e" +], +"biocyc":[ +"META:TRANS-RXN0-553" +], +"metanetx.reaction":[ +"MNXR99715" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn08544", +"rxn11013" +] +} +}, +{ +"id":"EX_glc__D_e", +"name":"D-Glucose exchange", +"metabolites":{ +"glc__D_e":-1.0 +}, +"lower_bound":-10.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_glc_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_glc__D_e" +], +"biocyc":[ +"META:TRANS-RXN0-574" +], +"metanetx.reaction":[ +"MNXR100188" +], +"sabiork":[ +"7002", +"601" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn09875", +"rxn09679", +"rxn08617" +] +} +}, +{ +"id":"EX_gln__L_e", +"name":"L-Glutamine exchange", +"metabolites":{ +"gln__L_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_gln_L_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_gln__L_e" +], +"biocyc":[ +"META:TRANS-RXN-233" +], +"metanetx.reaction":[ +"MNXR100259" +], +"reactome.reaction":[ +"R-HSA-212651", +"R-BTA-212614", +"R-RNO-212614", +"R-SSC-212614", +"R-MMU-212614", +"R-HSA-212614", +"R-GGA-212614", +"R-CFA-212614", +"R-TGU-212614", +"R-SCE-212614" +], +"sabiork":[ +"13421" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn08625", +"rxn10928" +] +} +}, +{ +"id":"EX_glu__L_e", +"name":"L-Glutamate exchange", +"metabolites":{ +"glu__L_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_glu_L_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_glu__L_e" +], +"biocyc":[ +"META:TRANS-RXN-234", +"META:TRANS-RXN-232" +], +"metanetx.reaction":[ +"MNXR100301" +], +"reactome.reaction":[ +"R-HSA-212658", +"R-TGU-210439", +"R-GGA-210439", +"R-XTR-210439", +"R-RNO-210439", +"R-CFA-210439", +"R-CEL-210439", +"R-DME-210439", +"R-SSC-210439", +"R-HSA-210439", +"R-DRE-210439", +"R-MMU-210439", +"R-BTA-210439" +], +"sabiork":[ +"12283" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn08633", +"rxn09750", +"rxn13304", +"rxn13120", +"rxn10917" +] +} +}, +{ +"id":"EX_h_e", +"name":"H+ exchange", +"metabolites":{ +"h_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_h_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_h_e" +], +"biocyc":[ +"META:RXN-14452" +], +"metanetx.reaction":[ +"MNXR100765" +], +"reactome.reaction":[ +"R-HSA-2534378", +"R-DDI-74723", +"R-BTA-170026", +"R-CFA-170026", +"R-SCE-74723", +"R-DRE-74723", +"R-HSA-170026", +"R-TGU-2534378", +"R-HSA-74723", +"R-CFA-2534378", +"R-TGU-74723", +"R-OSA-170026", +"R-RNO-2534378", +"R-GGA-2534378", +"R-MMU-2534378", +"R-BTA-2534378", +"R-SSC-2534378", +"R-DRE-170026", +"R-TGU-170026", +"R-GGA-170026", +"R-SCE-170026", +"R-DRE-2534378", +"R-BTA-74723", +"R-SPO-74723", +"R-XTR-74723", +"R-RNO-74723", +"R-XTR-2534378", +"R-MMU-74723", +"R-CFA-74723", +"R-GGA-74723", +"R-CEL-170026", +"R-MMU-170026", +"R-ATH-74723", +"R-DME-74723", +"R-PFA-74723", +"R-SSC-74723", +"R-XTR-170026", +"R-SSC-170026", +"R-CEL-74723", +"R-ATH-170026", +"R-RNO-170026", +"R-DME-170026" +], +"rhea":[ +"34980", +"34981", +"34982", +"34979" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn11009", +"rxn08730" +] +} +}, +{ +"id":"EX_h2o_e", +"name":"H2O exchange", +"metabolites":{ +"h2o_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_h2o_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_h2o_e" +], +"biocyc":[ +"META:TRANS-RXN-145", +"META:TRANS-RXN0-547" +], +"metanetx.reaction":[ +"MNXR98641" +], +"reactome.reaction":[ +"R-ATH-507868", +"R-CFA-432054", +"R-CFA-432010", +"R-RNO-507868", +"R-OSA-432065", +"R-GGA-432010", +"R-SPO-445714", +"R-PFA-445714", +"R-CFA-432065", +"R-GGA-432067", +"R-TGU-432054", +"R-TGU-445714", +"R-OSA-507868", +"R-DRE-507868", +"R-SPO-507868", +"R-BTA-432054", +"R-GGA-507870", +"R-OSA-432010", +"R-DME-432065", +"R-DRE-432067", +"R-PFA-507868", +"R-SSC-432054", +"R-HSA-432065", +"R-OSA-507870", +"R-HSA-432054", +"R-SSC-432065", +"R-CEL-507868", +"R-XTR-507868", +"R-ATH-507870", +"R-SCE-432065", +"R-BTA-507870", +"R-DME-432010", +"R-CFA-445714", +"R-DRE-445714", +"R-BTA-507868", +"R-GGA-507868", +"R-RNO-432054", +"R-RNO-432010", +"R-SSC-432067", +"R-CEL-445714", +"R-DDI-432065", +"R-ATH-432010", +"R-SCE-432054", +"R-MMU-432065", +"R-MMU-445714", +"R-GGA-432065", +"R-HSA-432067", +"R-SSC-507870", +"R-SCE-432067", +"R-RNO-507870", +"R-DME-432054", +"R-ATH-432067", +"R-BTA-445714", +"R-DRE-507870", +"R-DME-507868", +"R-DME-507870", +"R-DRE-432010", +"R-MMU-432010", +"R-HSA-445714", +"R-OSA-432054", +"R-RNO-432067", +"R-TGU-432010", +"R-TGU-507868", +"R-DDI-432054", +"R-PFA-507870", +"R-HSA-507870", +"R-XTR-432067", +"R-HSA-432010", +"R-SSC-507868", +"R-SCE-507870", +"R-CEL-507870", +"R-DDI-507868", +"R-DRE-432054", +"R-XTR-507870", +"R-DDI-432010", +"R-BTA-432065", +"R-CFA-432067", +"R-OSA-432067", +"R-ATH-432065", +"R-GGA-445714", +"R-SCE-507868", +"R-TGU-432065", +"R-MMU-432067", +"R-TGU-507870", +"R-CFA-507870", +"R-RNO-432065", +"R-MMU-432054", +"R-MMU-507868", +"R-SPO-507870", +"R-SCE-432010", +"R-MMU-507870", +"R-SSC-445714", +"R-HSA-507868", +"R-DME-432067", +"R-SSC-432010", +"R-TGU-432067", +"R-GGA-432054", +"R-BTA-432010", +"R-SCE-445714", +"R-DDI-507870", +"R-ATH-432054", +"R-DDI-432067", +"R-XTR-445714", +"R-BTA-432067", +"R-CFA-507868", +"R-RNO-445714" +], +"rhea":[ +"29668", +"29669", +"29667", +"29670" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn08687", +"rxn08686", +"rxn09745", +"rxn09838", +"rxn09874", +"rxn09812", +"rxn09643", +"rxn05319" +] +} +}, +{ +"id":"EX_lac__D_e", +"name":"D-lactate exchange", +"metabolites":{ +"lac__D_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_lac_D_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_lac__D_e" +], +"metanetx.reaction":[ +"MNXR97840" +], +"sabiork":[ +"12471" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn08351" +] +} +}, +{ +"id":"EX_mal__L_e", +"name":"L-Malate exchange", +"metabolites":{ +"mal__L_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_mal_L_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_mal__L_e" +], +"biocyc":[ +"META:TRANS-RXN-225", +"META:TRANS-RXN-224" +], +"metanetx.reaction":[ +"MNXR101367" +], +"sabiork":[ +"13793" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn10967", +"rxn08868" +] +} +}, +{ +"id":"EX_nh4_e", +"name":"Ammonia exchange", +"metabolites":{ +"nh4_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_nh4_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_nh4_e" +], +"biocyc":[ +"META:TRANS-RXN0-206", +"META:RXN-9615", +"META:TRANS-RXN0-544" +], +"metanetx.reaction":[ +"MNXR101950" +], +"reactome.reaction":[ +"R-CEL-444416", +"R-SSC-444416", +"R-DDI-444416", +"R-MMU-444416", +"R-DRE-444416", +"R-GGA-444416", +"R-CFA-444416", +"R-HSA-444416", +"R-XTR-444416", +"R-BTA-444416", +"R-RNO-444416", +"R-TGU-444416", +"R-DME-444416" +], +"rhea":[ +"28749", +"28748", +"28750", +"28747" +], +"sabiork":[ +"11683" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn13364", +"rxn09835", +"rxn05466", +"rxn08987", +"rxn08986", +"rxn09736" +] +} +}, +{ +"id":"EX_o2_e", +"name":"O2 exchange", +"metabolites":{ +"o2_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_o2_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_o2_e" +], +"biocyc":[ +"META:TRANS-RXN0-474" +], +"metanetx.reaction":[ +"MNXR102090" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn09641", +"rxn05468", +"rxn09031", +"rxn09032", +"rxn09734" +] +} +}, +{ +"id":"EX_pi_e", +"name":"Phosphate exchange", +"metabolites":{ +"pi_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_pi_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_pi_e" +], +"biocyc":[ +"META:TRANS-RXN0-470" +], +"metanetx.reaction":[ +"MNXR102871" +], +"rhea":[ +"32824", +"32826", +"32825", +"32823" +], +"sabiork":[ +"10985" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn10838", +"rxn09722", +"rxn09121", +"rxn13178" +] +} +}, +{ +"id":"EX_pyr_e", +"name":"Pyruvate exchange", +"metabolites":{ +"pyr_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_pyr_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_pyr_e" +], +"biocyc":[ +"META:TRANS-RXN0-506", +"META:TRANS-RXN0-570" +], +"metanetx.reaction":[ +"MNXR103384" +], +"sabiork":[ +"12168" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn10929", +"rxn09218" +] +} +}, +{ +"id":"EX_succ_e", +"name":"Succinate exchange", +"metabolites":{ +"succ_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"", +"subsystem":"Extracellular exchange", +"notes":{ +"original_bigg_ids":[ +"EX_succ_e" +] +}, +"annotation":{ +"bigg.reaction":[ +"EX_succ_e" +], +"biocyc":[ +"META:TRANS-RXN0-552" +], +"metanetx.reaction":[ +"MNXR104619" +], +"sbo":"SBO:0000627", +"seed.reaction":[ +"rxn10952", +"rxn09271" +] +} +}, +{ +"id":"FBA", +"name":"Fructose-bisphosphate aldolase", +"metabolites":{ +"dhap_c":1.0, +"fdp_c":-1.0, +"g3p_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2097 or b1773 or b2925", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"FBA" +] +}, +"annotation":{ +"bigg.reaction":[ +"FBA" +], +"ec-code":[ +"4.1.2.13" +], +"kegg.reaction":[ +"R01068" +], +"metanetx.reaction":[ +"MNXR99459" +], +"rhea":[ +"14729", +"14732", +"14731", +"14730" +], +"sabiork":[ +"1338" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00786" +] +} +}, +{ +"id":"FBP", +"name":"Fructose-bisphosphatase", +"metabolites":{ +"f6p_c":1.0, +"fdp_c":-1.0, +"h2o_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3925 or b4232", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"FBP" +] +}, +"annotation":{ +"bigg.reaction":[ +"FBP" +], +"ec-code":[ +"3.1.3.11" +], +"metanetx.reaction":[ +"MNXR99465" +], +"rhea":[ +"11067", +"11065", +"11066", +"11064" +], +"sabiork":[ +"2084" +], +"sbo":"SBO:0000176" +} +}, +{ +"id":"FORt2", +"name":"Formate transport in via proton symport", +"metabolites":{ +"for_c":1.0, +"for_e":-1.0, +"h_c":1.0, +"h_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0904 or b2492", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"FORt2" +] +}, +"annotation":{ +"bigg.reaction":[ +"FORt2" +], +"metanetx.reaction":[ +"MNXR99621" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn08524", +"rxn05559" +] +} +}, +{ +"id":"FORt", +"name":"Formate transport via diffusion", +"metabolites":{ +"for_c":1.0, +"for_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":0.0, +"gene_reaction_rule":"b0904 or b2492", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"FORti" +] +}, +"annotation":{ +"bigg.reaction":[ +"FORt" +], +"biocyc":[ +"META:TRANS-RXN-1" +], +"metanetx.reaction":[ +"MNXR99620" +], +"reactome.reaction":[ +"R-HSA-6803255" +], +"rhea":[ +"29681", +"29680", +"29682", +"29679" +], +"sabiork":[ +"12483" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn09754", +"rxn08525", +"rxn09682", +"rxn08526" +] +} +}, +{ +"id":"FRD7", +"name":"Fumarate reductase", +"metabolites":{ +"fum_c":-1.0, +"q8_c":1.0, +"q8h2_c":-1.0, +"succ_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b4151 and b4152 and b4153 and b4154", +"subsystem":"Oxidative Phosphorylation", +"notes":{ +"original_bigg_ids":[ +"FRD7" +] +}, +"annotation":{ +"bigg.reaction":[ +"FRD7" +], +"metanetx.reaction":[ +"MNXR99641" +], +"rhea":[ +"29190", +"29189", +"29187", +"29188" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn09272" +] +} +}, +{ +"id":"FRUpts2", +"name":"Fructose transport via PEP:Pyr PTS (f6p generating)", +"metabolites":{ +"f6p_c":1.0, +"fru_e":-1.0, +"pep_c":-1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b1817 and b1818 and b1819 and b2415 and b2416", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"FRUpts2" +] +}, +"annotation":{ +"bigg.reaction":[ +"FRUpts2" +], +"metanetx.reaction":[ +"MNXR99662" +], +"sbo":"SBO:0000185" +} +}, +{ +"id":"FUM", +"name":"Fumarase", +"metabolites":{ +"fum_c":-1.0, +"h2o_c":-1.0, +"mal__L_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b1612 or b4122 or b1611", +"subsystem":"Citric Acid Cycle", +"notes":{ +"original_bigg_ids":[ +"FUM" +] +}, +"annotation":{ +"bigg.reaction":[ +"FUM" +], +"biocyc":[ +"META:FUMHYDR-RXN" +], +"ec-code":[ +"4.2.1.2" +], +"kegg.reaction":[ +"R01082" +], +"metanetx.reaction":[ +"MNXR99705" +], +"reactome.reaction":[ +"R-TGU-451033", +"R-TGU-70982", +"R-HSA-70982", +"R-ATH-451033", +"R-SPO-70982", +"R-SPO-451033", +"R-XTR-451033", +"R-MMU-70982", +"R-DRE-70982", +"R-DME-70982", +"R-DME-451033", +"R-HSA-451033", +"R-SCE-451033", +"R-DDI-451033", +"R-OSA-451033", +"R-CFA-70982", +"R-XTR-70982", +"R-MMU-451033", +"R-OSA-70982", +"R-BTA-70982", +"R-DRE-451033", +"R-GGA-373141", +"R-RNO-451033", +"R-CEL-451033", +"R-ATH-70982", +"R-GGA-373145", +"R-CEL-70982", +"R-BTA-451033", +"R-SSC-451033", +"R-SCE-70982", +"R-CFA-451033", +"R-RNO-70982", +"R-GGA-70982", +"R-DDI-70982", +"R-GGA-451033", +"R-SSC-70982" +], +"rhea":[ +"12463", +"12461", +"12462", +"12460" +], +"sabiork":[ +"256" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00799" +] +} +}, +{ +"id":"FUMt2_2", +"name":"Fumarate transport via proton symport (2 H)", +"metabolites":{ +"fum_c":1.0, +"fum_e":-1.0, +"h_c":2.0, +"h_e":-2.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3528", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"FUMt2_2" +] +}, +"annotation":{ +"bigg.reaction":[ +"FUMt2_2" +], +"biocyc":[ +"META:TRANS-RXN-121B" +], +"metanetx.reaction":[ +"MNXR99711" +], +"rhea":[ +"29332", +"29334", +"29333", +"29331" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn08542", +"rxn10152" +] +} +}, +{ +"id":"G6PDH2r", +"name":"Glucose 6-phosphate dehydrogenase", +"metabolites":{ +"6pgl_c":1.0, +"g6p_c":-1.0, +"h_c":1.0, +"nadp_c":-1.0, +"nadph_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b1852", +"subsystem":"Pentose Phosphate Pathway", +"notes":{ +"original_bigg_ids":[ +"G6PDH2r" +] +}, +"annotation":{ +"bigg.reaction":[ +"G6PDH2r" +], +"biocyc":[ +"META:GLU6PDEHYDROG-RXN" +], +"ec-code":[ +"1.1.1.363", +"1.1.1.49" +], +"kegg.reaction":[ +"R00835" +], +"metanetx.reaction":[ +"MNXR99907" +], +"rhea":[ +"15842", +"15843", +"15841", +"15844" +], +"sabiork":[ +"1176", +"6509" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00604" +] +} +}, +{ +"id":"GAPD", +"name":"Glyceraldehyde-3-phosphate dehydrogenase", +"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 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b1779", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"GAPD" +] +}, +"annotation":{ +"bigg.reaction":[ +"GAPD" +], +"biocyc":[ +"META:GAPOXNPHOSPHN-RXN" +], +"ec-code":[ +"1.2.1.12", +"1.2.1.59" +], +"kegg.reaction":[ +"R01061" +], +"metanetx.reaction":[ +"MNXR100040" +], +"reactome.reaction":[ +"R-ATH-70482", +"R-DME-70449", +"R-PFA-70482", +"R-SPO-70449", +"R-DRE-70449", +"R-CEL-70449", +"R-CEL-70482", +"R-CFA-70449", +"R-MMU-70482", +"R-HSA-70449", +"R-OSA-70482", +"R-GGA-352956", +"R-RNO-70449", +"R-SCE-70449", +"R-SSC-70482", +"R-ATH-70449", +"R-GGA-70482", +"R-OSA-70449", +"R-GGA-352921", +"R-DDI-70449", +"R-SPO-70482", +"R-TGU-70482", +"R-SCE-70482", +"R-HSA-70482", +"R-DME-70482", +"R-PFA-70449", +"R-XTR-70449", +"R-DRE-70482", +"R-XTR-70482", +"R-GGA-70449", +"R-RNO-70482", +"R-SSC-70449", +"R-DDI-70482", +"R-TGU-70449", +"R-MMU-70449", +"R-CFA-70482", +"R-BTA-70449", +"R-BTA-70482" +], +"rhea":[ +"10303", +"10300", +"10302", +"10301" +], +"sabiork":[ +"7844" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00781" +] +} +}, +{ +"id":"GLCpts", +"name":"D-glucose transport via PEP:Pyr PTS", +"metabolites":{ +"g6p_c":1.0, +"glc__D_e":-1.0, +"pep_c":-1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"(b2417 and b1101 and b2415 and b2416) or (b1817 and b1818 and b1819 and b2415 and b2416) or (b2417 and b1621 and b2415 and b2416)", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"GLCpts" +] +}, +"annotation":{ +"bigg.reaction":[ +"GLCpts" +], +"metanetx.reaction":[ +"MNXR100237" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn08612", +"rxn05226" +] +} +}, +{ +"id":"GLNS", +"name":"Glutamine synthetase", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"gln__L_c":1.0, +"glu__L_c":-1.0, +"h_c":1.0, +"nh4_c":-1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3870 or b1297", +"subsystem":"Glutamate Metabolism", +"notes":{ +"original_bigg_ids":[ +"GLNS" +] +}, +"annotation":{ +"bigg.reaction":[ +"GLNS" +], +"biocyc":[ +"META:GLUTAMINESYN-RXN" +], +"ec-code":[ +"6.3.1.2" +], +"kegg.reaction":[ +"R00253" +], +"metanetx.reaction":[ +"MNXR100024" +], +"reactome.reaction":[ +"R-GGA-70606", +"R-RNO-70606", +"R-TGU-70606", +"R-DME-70606", +"R-CEL-70606", +"R-DRE-70606", +"R-XTR-70606", +"R-SPO-70606", +"R-ATH-70606", +"R-CFA-70606", +"R-BTA-70606", +"R-OSA-70606", +"R-SSC-70606", +"R-MMU-70606", +"R-HSA-70606", +"R-SCE-70606" +], +"rhea":[ +"16172", +"16171", +"16169", +"16170" +], +"sabiork":[ +"760" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00187" +] +} +}, +{ +"id":"GLNabc", +"name":"L-glutamine transport via ABC system", +"metabolites":{ +"adp_c":1.0, +"atp_c":-1.0, +"gln__L_c":1.0, +"gln__L_e":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"pi_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0811 and b0810 and b0809", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"GLNabc" +] +}, +"annotation":{ +"bigg.reaction":[ +"GLNabc" +], +"biocyc":[ +"META:ABC-12-RXN" +], +"ec-code":[ +"3.6.3.21" +], +"metanetx.reaction":[ +"MNXR100258" +], +"rhea":[ +"29895#1", +"29897#1", +"29898#1", +"29896#1" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn11233", +"rxn05196", +"rxn05155", +"rxn11101", +"rxn08624" +] +} +}, +{ +"id":"GLUDy", +"name":"Glutamate dehydrogenase (NADP)", +"metabolites":{ +"akg_c":1.0, +"glu__L_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"nadp_c":-1.0, +"nadph_c":1.0, +"nh4_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b1761", +"subsystem":"Glutamate Metabolism", +"notes":{ +"original_bigg_ids":[ +"GLUDy" +] +}, +"annotation":{ +"bigg.reaction":[ +"GLUDy" +], +"biocyc":[ +"META:GLUTDEHYD-RXN" +], +"ec-code":[ +"1.4.1.13", +"1.4.1.3", +"1.4.1.4" +], +"kegg.reaction":[ +"R00248" +], +"metanetx.reaction":[ +"MNXR100086" +], +"rhea":[ +"11613", +"11614", +"11612", +"11615" +], +"sabiork":[ +"757" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00184" +] +} +}, +{ +"id":"GLUN", +"name":"Glutaminase", +"metabolites":{ +"gln__L_c":-1.0, +"glu__L_c":1.0, +"h2o_c":-1.0, +"nh4_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b1812 or b0485 or b1524", +"subsystem":"Glutamate Metabolism", +"notes":{ +"original_bigg_ids":[ +"GLUN" +] +}, +"annotation":{ +"bigg.reaction":[ +"GLUN" +], +"biocyc":[ +"META:GLUTAMIN-RXN" +], +"ec-code":[ +"6.3.5.2", +"4.3.3.6", +"6.3.5.5", +"1.4.7.1", +"6.3.5.4", +"3.5.1.2", +"6.3.4.2", +"1.4.1.13", +"3.5.1.38" +], +"kegg.reaction":[ +"R00256" +], +"metanetx.reaction":[ +"MNXR100030" +], +"reactome.reaction":[ +"R-TGU-70609", +"R-XTR-70609", +"R-SSC-70609", +"R-GGA-70609", +"R-DDI-70609", +"R-MMU-70609", +"R-DME-70609", +"R-RNO-70609", +"R-CEL-70609", +"R-BTA-70609", +"R-DRE-70609", +"R-HSA-70609", +"R-CFA-70609" +], +"rhea":[ +"15892", +"15889", +"15891", +"15890" +], +"sabiork":[ +"762" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00189" +] +} +}, +{ +"id":"GLUSy", +"name":"Glutamate synthase (NADPH)", +"metabolites":{ +"akg_c":-1.0, +"gln__L_c":-1.0, +"glu__L_c":2.0, +"h_c":-1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3212 and b3213", +"subsystem":"Glutamate Metabolism", +"notes":{ +"original_bigg_ids":[ +"GLUSy" +] +}, +"annotation":{ +"bigg.reaction":[ +"GLUSy" +], +"biocyc":[ +"META:GLUTAMATESYN-RXN" +], +"ec-code":[ +"1.4.1.13" +], +"kegg.reaction":[ +"R00114" +], +"metanetx.reaction":[ +"MNXR100291" +], +"rhea":[ +"15503", +"15501", +"15504", +"15502" +], +"sabiork":[ +"694" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00085" +] +} +}, +{ +"id":"GLUt2r", +"name":"L glutamate transport via proton symport reversible", +"metabolites":{ +"glu__L_c":1.0, +"glu__L_e":-1.0, +"h_c":1.0, +"h_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b4077", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"GLUt2r" +] +}, +"annotation":{ +"bigg.reaction":[ +"GLUt2r" +], +"metanetx.reaction":[ +"MNXR100300" +], +"reactome.reaction":[ +"R-SCE-8875623", +"R-MMU-8875623", +"R-TGU-8875623", +"R-XTR-8875623", +"R-SSC-8875623", +"R-DME-8875623", +"R-CEL-8875623", +"R-DRE-8875623", +"R-GGA-8875623", +"R-HSA-8875623", +"R-RNO-8875623", +"R-DDI-8875623", +"R-CFA-8875623", +"R-BTA-8875623" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn05297", +"rxn09813", +"rxn13303", +"rxn09751", +"rxn08631" +] +} +}, +{ +"id":"GND", +"name":"Phosphogluconate dehydrogenase", +"metabolites":{ +"6pgc_c":-1.0, +"co2_c":1.0, +"nadp_c":-1.0, +"nadph_c":1.0, +"ru5p__D_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2029", +"subsystem":"Pentose Phosphate Pathway", +"notes":{ +"original_bigg_ids":[ +"GND" +] +}, +"annotation":{ +"bigg.reaction":[ +"GND" +], +"biocyc":[ +"META:RXN-9952" +], +"ec-code":[ +"1.1.1.44", +"1.1.1.351" +], +"kegg.reaction":[ +"R01528" +], +"metanetx.reaction":[ +"MNXR100389" +], +"reactome.reaction":[ +"R-PFA-71299", +"R-GGA-71299", +"R-HSA-71299", +"R-SPO-71299", +"R-XTR-71299", +"R-ATH-71299", +"R-TGU-71299", +"R-OSA-71299", +"R-MMU-71299", +"R-DRE-71299", +"R-SCE-71299", +"R-SSC-71299", +"R-DDI-71299", +"R-CFA-71299", +"R-DME-71299", +"R-BTA-71299", +"R-CEL-71299" +], +"rhea":[ +"10116", +"10117", +"10118", +"10119" +], +"sabiork":[ +"108" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn01115" +] +} +}, +{ +"id":"H2Ot", +"name":"H2O transport via diffusion", +"metabolites":{ +"h2o_c":1.0, +"h2o_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0875 or s0001", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"H2Ot" +] +}, +"annotation":{ +"bigg.reaction":[ +"H2Ot" +], +"biocyc":[ +"META:TRANS-RXN-145", +"META:TRANS-RXN0-547" +], +"metanetx.reaction":[ +"MNXR98641" +], +"reactome.reaction":[ +"R-ATH-507868", +"R-CFA-432054", +"R-CFA-432010", +"R-RNO-507868", +"R-OSA-432065", +"R-GGA-432010", +"R-SPO-445714", +"R-PFA-445714", +"R-CFA-432065", +"R-GGA-432067", +"R-TGU-432054", +"R-TGU-445714", +"R-OSA-507868", +"R-DRE-507868", +"R-SPO-507868", +"R-BTA-432054", +"R-GGA-507870", +"R-OSA-432010", +"R-DME-432065", +"R-DRE-432067", +"R-PFA-507868", +"R-SSC-432054", +"R-HSA-432065", +"R-OSA-507870", +"R-HSA-432054", +"R-SSC-432065", +"R-CEL-507868", +"R-XTR-507868", +"R-ATH-507870", +"R-SCE-432065", +"R-BTA-507870", +"R-DME-432010", +"R-CFA-445714", +"R-DRE-445714", +"R-BTA-507868", +"R-GGA-507868", +"R-RNO-432054", +"R-RNO-432010", +"R-SSC-432067", +"R-CEL-445714", +"R-DDI-432065", +"R-ATH-432010", +"R-SCE-432054", +"R-MMU-432065", +"R-MMU-445714", +"R-GGA-432065", +"R-HSA-432067", +"R-SSC-507870", +"R-SCE-432067", +"R-RNO-507870", +"R-DME-432054", +"R-ATH-432067", +"R-BTA-445714", +"R-DRE-507870", +"R-DME-507868", +"R-DME-507870", +"R-DRE-432010", +"R-MMU-432010", +"R-HSA-445714", +"R-OSA-432054", +"R-RNO-432067", +"R-TGU-432010", +"R-TGU-507868", +"R-DDI-432054", +"R-PFA-507870", +"R-HSA-507870", +"R-XTR-432067", +"R-HSA-432010", +"R-SSC-507868", +"R-SCE-507870", +"R-CEL-507870", +"R-DDI-507868", +"R-DRE-432054", +"R-XTR-507870", +"R-DDI-432010", +"R-BTA-432065", +"R-CFA-432067", +"R-OSA-432067", +"R-ATH-432065", +"R-GGA-445714", +"R-SCE-507868", +"R-TGU-432065", +"R-MMU-432067", +"R-TGU-507870", +"R-CFA-507870", +"R-RNO-432065", +"R-MMU-432054", +"R-MMU-507868", +"R-SPO-507870", +"R-SCE-432010", +"R-MMU-507870", +"R-SSC-445714", +"R-HSA-507868", +"R-DME-432067", +"R-SSC-432010", +"R-TGU-432067", +"R-GGA-432054", +"R-BTA-432010", +"R-SCE-445714", +"R-DDI-507870", +"R-ATH-432054", +"R-DDI-432067", +"R-XTR-445714", +"R-BTA-432067", +"R-CFA-507868", +"R-RNO-445714" +], +"rhea":[ +"29668", +"29669", +"29667", +"29670" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn08687", +"rxn08686", +"rxn09745", +"rxn09838", +"rxn09874", +"rxn09812", +"rxn09643", +"rxn05319" +] +} +}, +{ +"id":"ICDHyr", +"name":"Isocitrate dehydrogenase (NADP)", +"metabolites":{ +"akg_c":1.0, +"co2_c":1.0, +"icit_c":-1.0, +"nadp_c":-1.0, +"nadph_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b1136", +"subsystem":"Citric Acid Cycle", +"notes":{ +"original_bigg_ids":[ +"ICDHyr" +] +}, +"annotation":{ +"bigg.reaction":[ +"ICDHyr" +], +"ec-code":[ +"1.1.1.42" +], +"kegg.reaction":[ +"R00267" +], +"metanetx.reaction":[ +"MNXR100781" +], +"rhea":[ +"19629", +"19630", +"19631", +"19632" +], +"sabiork":[ +"269" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00198" +] +} +}, +{ +"id":"ICL", +"name":"Isocitrate lyase", +"metabolites":{ +"glx_c":1.0, +"icit_c":-1.0, +"succ_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b4015", +"subsystem":"Anaplerotic reactions", +"notes":{ +"original_bigg_ids":[ +"ICL" +] +}, +"annotation":{ +"bigg.reaction":[ +"ICL" +], +"ec-code":[ +"4.1.3.1" +], +"kegg.reaction":[ +"R00479" +], +"metanetx.reaction":[ +"MNXR100789" +], +"rhea":[ +"13248", +"13245", +"13246", +"13247" +], +"sabiork":[ +"911" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00336" +] +} +}, +{ +"id":"LDH_D", +"name":"D-lactate dehydrogenase", +"metabolites":{ +"h_c":1.0, +"lac__D_c":-1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"pyr_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2133 or b1380", +"subsystem":"Pyruvate Metabolism", +"notes":{ +"original_bigg_ids":[ +"LDH_D" +] +}, +"annotation":{ +"bigg.reaction":[ +"LDH_D" +], +"biocyc":[ +"META:DLACTDEHYDROGNAD-RXN" +], +"ec-code":[ +"1.1.1.28" +], +"kegg.reaction":[ +"R00704" +], +"metanetx.reaction":[ +"MNXR101037" +], +"rhea":[ +"16370", +"16371", +"16372", +"16369" +], +"sabiork":[ +"155" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00500" +] +} +}, +{ +"id":"MALS", +"name":"Malate synthase", +"metabolites":{ +"accoa_c":-1.0, +"coa_c":1.0, +"glx_c":-1.0, +"h2o_c":-1.0, +"h_c":1.0, +"mal__L_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b4014 or b2976", +"subsystem":"Anaplerotic reactions", +"notes":{ +"original_bigg_ids":[ +"MALS" +] +}, +"annotation":{ +"bigg.reaction":[ +"MALS" +], +"biocyc":[ +"META:MALSYN-RXN" +], +"ec-code":[ +"2.3.3.9" +], +"kegg.reaction":[ +"R00472" +], +"metanetx.reaction":[ +"MNXR101347" +], +"rhea":[ +"18181", +"18182", +"18184", +"18183" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00330" +] +} +}, +{ +"id":"MALt2_2", +"name":"Malate transport via proton symport (2 H)", +"metabolites":{ +"h_c":2.0, +"h_e":-2.0, +"mal__L_c":1.0, +"mal__L_e":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3528", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"MALt2_2" +] +}, +"annotation":{ +"bigg.reaction":[ +"MALt2_2" +], +"biocyc":[ +"META:TRANS-RXN-121A" +], +"metanetx.reaction":[ +"MNXR101370" +], +"rhea":[ +"29341", +"29340", +"29342", +"29339" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn08865", +"rxn10153" +] +} +}, +{ +"id":"MDH", +"name":"Malate dehydrogenase", +"metabolites":{ +"h_c":1.0, +"mal__L_c":-1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"oaa_c":1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3236", +"subsystem":"Citric Acid Cycle", +"notes":{ +"original_bigg_ids":[ +"MDH" +] +}, +"annotation":{ +"bigg.reaction":[ +"MDH" +], +"biocyc":[ +"META:MALATE-DEH-RXN" +], +"ec-code":[ +"1.1.1.37", +"1.1.1.299" +], +"kegg.reaction":[ +"R00342" +], +"metanetx.reaction":[ +"MNXR101439" +], +"reactome.reaction":[ +"R-BTA-70979", +"R-BTA-198508", +"R-SCE-70979", +"R-GGA-70979", +"R-MMU-71783", +"R-RNO-71783", +"R-DDI-198508", +"R-CFA-71783", +"R-CFA-198508", +"R-ATH-70979", +"R-DME-198508", +"R-TGU-71783", +"R-HSA-71783", +"R-BTA-71783", +"R-DRE-198508", +"R-SPO-70979", +"R-GGA-71783", +"R-TGU-198508", +"R-GGA-372422", +"R-CEL-71783", +"R-XTR-70979", +"R-RNO-198508", +"R-MMU-70979", +"R-SPO-71783", +"R-ATH-71783", +"R-MMU-198508", +"R-DME-70979", +"R-TGU-70979", +"R-CEL-198508", +"R-DME-71783", +"R-DRE-70979", +"R-OSA-71783", +"R-SSC-198508", +"R-GGA-372855", +"R-SSC-70979", +"R-OSA-70979", +"R-GGA-373047", +"R-GGA-198508", +"R-SSC-71783", +"R-HSA-70979", +"R-CFA-70979", +"R-XTR-71783", +"R-HSA-198508", +"R-XTR-198508", +"R-SCE-71783", +"R-RNO-70979", +"R-DRE-71783", +"R-CEL-70979" +], +"rhea":[ +"21432", +"21433", +"21434", +"21435" +], +"sabiork":[ +"113" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00248" +] +} +}, +{ +"id":"ME1", +"name":"Malic enzyme (NAD)", +"metabolites":{ +"co2_c":1.0, +"mal__L_c":-1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b1479", +"subsystem":"Anaplerotic reactions", +"notes":{ +"original_bigg_ids":[ +"ME1" +] +}, +"annotation":{ +"bigg.reaction":[ +"ME1" +], +"biocyc":[ +"META:1.1.1.39-RXN" +], +"ec-code":[ +"1.1.1.38", +"1.1.1.39" +], +"kegg.reaction":[ +"R00214" +], +"metanetx.reaction":[ +"MNXR101446" +], +"rhea":[ +"12655", +"12654", +"12653", +"12656" +], +"sabiork":[ +"141" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00159" +] +} +}, +{ +"id":"ME2", +"name":"Malic enzyme (NADP)", +"metabolites":{ +"co2_c":1.0, +"mal__L_c":-1.0, +"nadp_c":-1.0, +"nadph_c":1.0, +"pyr_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b2463", +"subsystem":"Anaplerotic reactions", +"notes":{ +"original_bigg_ids":[ +"ME2" +] +}, +"annotation":{ +"bigg.reaction":[ +"ME2" +], +"biocyc":[ +"META:MALIC-NADP-RXN" +], +"ec-code":[ +"1.1.1.40" +], +"kegg.reaction":[ +"R00216" +], +"metanetx.reaction":[ +"MNXR101443" +], +"rhea":[ +"18255", +"18256", +"18254", +"18253" +], +"sabiork":[ +"142" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00161" +] +} +}, +{ +"id":"NADH16", +"name":"NADH dehydrogenase (ubiquinone-8 & 3 protons)", +"metabolites":{ +"h_c":-4.0, +"h_e":3.0, +"nad_c":1.0, +"nadh_c":-1.0, +"q8_c":-1.0, +"q8h2_c":1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"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", +"subsystem":"Oxidative Phosphorylation", +"notes":{ +"original_bigg_ids":[ +"NADH16" +] +}, +"annotation":{ +"bigg.reaction":[ +"NADH16" +], +"ec-code":[ +"1.6.5.3" +], +"metanetx.reaction":[ +"MNXR101864" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn08972" +] +} +}, +{ +"id":"NADTRHD", +"name":"NAD transhydrogenase", +"metabolites":{ +"nad_c":-1.0, +"nadh_c":1.0, +"nadp_c":1.0, +"nadph_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b3962 or (b1602 and b1603)", +"subsystem":"Oxidative Phosphorylation", +"notes":{ +"original_bigg_ids":[ +"NADTRHD" +] +}, +"annotation":{ +"bigg.reaction":[ +"NADTRHD" +], +"biocyc":[ +"META:PYRNUTRANSHYDROGEN-RXN" +], +"ec-code":[ +"1.6.1.3", +"1.6.1.2", +"1.6.1.1" +], +"kegg.reaction":[ +"R00112" +], +"metanetx.reaction":[ +"MNXR101898" +], +"rhea":[ +"11692", +"11695", +"11694", +"11693" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00083" +] +} +}, +{ +"id":"NH4t", +"name":"Ammonia reversible transport", +"metabolites":{ +"nh4_c":1.0, +"nh4_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"s0001 or b0451", +"subsystem":"Inorganic Ion Transport and Metabolism", +"notes":{ +"original_bigg_ids":[ +"NH4t" +] +}, +"annotation":{ +"bigg.reaction":[ +"NH4t" +], +"biocyc":[ +"META:TRANS-RXN0-206", +"META:RXN-9615", +"META:TRANS-RXN0-544" +], +"metanetx.reaction":[ +"MNXR101950" +], +"reactome.reaction":[ +"R-CEL-444416", +"R-SSC-444416", +"R-DDI-444416", +"R-MMU-444416", +"R-DRE-444416", +"R-GGA-444416", +"R-CFA-444416", +"R-HSA-444416", +"R-XTR-444416", +"R-BTA-444416", +"R-RNO-444416", +"R-TGU-444416", +"R-DME-444416" +], +"rhea":[ +"28749", +"28748", +"28750", +"28747" +], +"sabiork":[ +"11683" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn13364", +"rxn09835", +"rxn05466", +"rxn08987", +"rxn08986", +"rxn09736" +] +} +}, +{ +"id":"O2t", +"name":"O2 transport diffusion ", +"metabolites":{ +"o2_c":1.0, +"o2_e":-1.0 +}, +"lower_bound":-1000.0, +"upper_bound":1000.0, +"gene_reaction_rule":"s0001", +"subsystem":"Transport, Extracellular", +"notes":{ +"original_bigg_ids":[ +"O2t" +] +}, +"annotation":{ +"bigg.reaction":[ +"O2t" +], +"biocyc":[ +"META:TRANS-RXN0-474" +], +"metanetx.reaction":[ +"MNXR102090" +], +"sbo":"SBO:0000185", +"seed.reaction":[ +"rxn09641", +"rxn05468", +"rxn09031", +"rxn09032", +"rxn09734" +] +} +}, +{ +"id":"PDH", +"name":"Pyruvate dehydrogenase", +"metabolites":{ +"accoa_c":1.0, +"co2_c":1.0, +"coa_c":-1.0, +"nad_c":-1.0, +"nadh_c":1.0, +"pyr_c":-1.0 +}, +"lower_bound":0.0, +"upper_bound":1000.0, +"gene_reaction_rule":"b0114 and b0115 and b0116", +"subsystem":"Glycolysis/Gluconeogenesis", +"notes":{ +"original_bigg_ids":[ +"PDH" +] +}, +"annotation":{ +"bigg.reaction":[ +"PDH" +], +"biocyc":[ +"META:PYRUVDEH-RXN" +], +"ec-code":[ +"1.2.1", +"1.8.1.4", +"1.2.1.51", +"1.2.4.1", +"2.3.1.12" +], +"kegg.reaction":[ +"R00209" +], +"metanetx.reaction":[ +"MNXR102425" +], +"reactome.reaction":[ +"R-RNO-71397", +"R-OSA-71397", +"R-GGA-373177", +"R-DME-71397", +"R-TGU-71397", +"R-XTR-71397", +"R-CFA-71397", +"R-BTA-71397", +"R-HSA-71397", +"R-GGA-71397", +"R-SPO-71397", +"R-CEL-71397", +"R-DDI-71397", +"R-DRE-71397", +"R-SSC-71397", +"R-SCE-71397", +"R-ATH-71397", +"R-MMU-71397" +], +"rhea":[ +"28043", +"28045", +"28044", +"28042" +], +"sabiork":[ +"523" +], +"sbo":"SBO:0000176", +"seed.reaction":[ +"rxn00154" +] +} +} +], +"genes":[ +{ +"id":"b1241", +"name":"adhE", +"notes":{ +"original_bigg_ids":[ +"b1241" +] +}, +"annotation":{ +"asap":[ +"ABE-0004164" +], +"ecogene":[ +"EG10031" +], +"ncbigene":[ +"945837" +], +"ncbigi":[ +"16129202" +], +"refseq_locus_tag":[ +"b1241" +], +"refseq_name":[ +"adhE" +], +"refseq_synonym":[ +"JW1228", +"ECK1235", +"adhC", +"ana" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A9Q7" +] +} +}, +{ +"id":"b0351", +"name":"mhpF", +"notes":{ +"original_bigg_ids":[ +"b0351" +] +}, +"annotation":{ +"asap":[ +"ABE-0001207" +], +"ecogene":[ +"EG13625" +], +"ncbigene":[ +"945008" +], +"ncbigi":[ +"16128336" +], +"refseq_locus_tag":[ +"b0351" +], +"refseq_name":[ +"mhpF" +], +"refseq_synonym":[ +"JW0342", +"ECK0348" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P77580" +] +} +}, +{ +"id":"s0001", +"name":"", +"notes":{ +"original_bigg_ids":[ +"s0001" +] +}, +"annotation":{ +"sbo":"SBO:0000243" +} +}, +{ +"id":"b1849", +"name":"purT", +"notes":{ +"original_bigg_ids":[ +"b1849" +] +}, +"annotation":{ +"asap":[ +"ABE-0006162" +], +"ecogene":[ +"EG11809" +], +"ncbigene":[ +"946368" +], +"ncbigi":[ +"16129802" +], +"refseq_locus_tag":[ +"b1849" +], +"refseq_name":[ +"purT" +], +"refseq_synonym":[ +"JW1838", +"ECK1850" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P33221" +] +} +}, +{ +"id":"b3115", +"name":"tdcD", +"notes":{ +"original_bigg_ids":[ +"b3115" +] +}, +"annotation":{ +"asap":[ +"ABE-0010245" +], +"ecogene":[ +"EG11172" +], +"ncbigene":[ +"947635" +], +"ncbigi":[ +"145698313" +], +"refseq_locus_tag":[ +"b3115" +], +"refseq_name":[ +"tdcD" +], +"refseq_synonym":[ +"JW5806", +"ECK3104", +"yhaA" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P11868" +] +} +}, +{ +"id":"b2296", +"name":"ackA", +"notes":{ +"original_bigg_ids":[ +"b2296" +] +}, +"annotation":{ +"asap":[ +"ABE-0007579" +], +"ecogene":[ +"EG10027" +], +"ncbigene":[ +"946775" +], +"ncbigi":[ +"16130231" +], +"refseq_locus_tag":[ +"b2296" +], +"refseq_name":[ +"ackA" +], +"refseq_synonym":[ +"JW2293", +"ECK2290" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A6A3" +] +} +}, +{ +"id":"b1276", +"name":"acnA", +"notes":{ +"original_bigg_ids":[ +"b1276" +] +}, +"annotation":{ +"asap":[ +"ABE-0004283" +], +"ecogene":[ +"EG11325" +], +"ncbigene":[ +"946724" +], +"ncbigi":[ +"16129237" +], +"refseq_locus_tag":[ +"b1276" +], +"refseq_name":[ +"acnA" +], +"refseq_synonym":[ +"JW1268", +"ECK1271", +"acn" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P25516" +] +} +}, +{ +"id":"b0118", +"name":"acnB", +"notes":{ +"original_bigg_ids":[ +"b0118" +] +}, +"annotation":{ +"asap":[ +"ABE-0000411" +], +"ecogene":[ +"EG12316" +], +"ncbigene":[ +"944864" +], +"ncbigi":[ +"16128111" +], +"refseq_locus_tag":[ +"b0118" +], +"refseq_name":[ +"acnB" +], +"refseq_synonym":[ +"ECK0117", +"JW0114", +"yacJ", +"yacI" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P36683" +] +} +}, +{ +"id":"b0474", +"name":"adk", +"notes":{ +"original_bigg_ids":[ +"b0474" +] +}, +"annotation":{ +"asap":[ +"ABE-0001645" +], +"ecogene":[ +"EG10032" +], +"ncbigene":[ +"945097" +], +"ncbigi":[ +"16128458" +], +"refseq_locus_tag":[ +"b0474" +], +"refseq_name":[ +"adk" +], +"refseq_synonym":[ +"plsA", +"JW0463", +"ECK0468", +"dnaW" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P69441" +] +} +}, +{ +"id":"b0116", +"name":"lpd", +"notes":{ +"original_bigg_ids":[ +"b0116" +] +}, +"annotation":{ +"asap":[ +"ABE-0000404" +], +"ecogene":[ +"EG10543" +], +"ncbigene":[ +"944854" +], +"ncbigi":[ +"16128109" +], +"refseq_locus_tag":[ +"b0116" +], +"refseq_name":[ +"lpd" +], +"refseq_synonym":[ +"dhl", +"lpdA", +"ECK0115", +"JW0112" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A9P0" +] +} +}, +{ +"id":"b0727", +"name":"sucB", +"notes":{ +"original_bigg_ids":[ +"b0727" +] +}, +"annotation":{ +"asap":[ +"ABE-0002480" +], +"ecogene":[ +"EG10980" +], +"ncbigene":[ +"945307" +], +"ncbigi":[ +"16128702" +], +"refseq_locus_tag":[ +"b0727" +], +"refseq_name":[ +"sucB" +], +"refseq_synonym":[ +"JW0716", +"ECK0715" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFG6" +] +} +}, +{ +"id":"b0726", +"name":"sucA", +"notes":{ +"original_bigg_ids":[ +"b0726" +] +}, +"annotation":{ +"asap":[ +"ABE-0002478" +], +"ecogene":[ +"EG10979" +], +"ncbigene":[ +"945303" +], +"ncbigi":[ +"16128701" +], +"refseq_locus_tag":[ +"b0726" +], +"refseq_name":[ +"sucA" +], +"refseq_synonym":[ +"lys", +"JW0715", +"ECK0714" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFG3" +] +} +}, +{ +"id":"b2587", +"name":"kgtP", +"notes":{ +"original_bigg_ids":[ +"b2587" +] +}, +"annotation":{ +"asap":[ +"ABE-0008515" +], +"ecogene":[ +"EG10522" +], +"ncbigene":[ +"947069" +], +"ncbigi":[ +"16130512" +], +"refseq_locus_tag":[ +"b2587" +], +"refseq_name":[ +"kgtP" +], +"refseq_synonym":[ +"ECK2585", +"JW2571", +"witA" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AEX3" +] +} +}, +{ +"id":"b0356", +"name":"frmA", +"notes":{ +"original_bigg_ids":[ +"b0356" +] +}, +"annotation":{ +"asap":[ +"ABE-0001221" +], +"ecogene":[ +"EG50010" +], +"ncbigene":[ +"944988" +], +"ncbigi":[ +"16128341" +], +"refseq_locus_tag":[ +"b0356" +], +"refseq_name":[ +"frmA" +], +"refseq_synonym":[ +"ECK0353", +"adhC", +"JW0347" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P25437" +] +} +}, +{ +"id":"b1478", +"name":"adhP", +"notes":{ +"original_bigg_ids":[ +"b1478" +] +}, +"annotation":{ +"asap":[ +"ABE-0004928" +], +"ecogene":[ +"EG12622" +], +"ncbigene":[ +"946036" +], +"ncbigi":[ +"90111280" +], +"refseq_locus_tag":[ +"b1478" +], +"refseq_name":[ +"adhP" +], +"refseq_synonym":[ +"yddN", +"ECK1472", +"JW1474" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P39451" +] +} +}, +{ +"id":"b3734", +"name":"atpA", +"notes":{ +"original_bigg_ids":[ +"b3734" +] +}, +"annotation":{ +"asap":[ +"ABE-0012213" +], +"ecogene":[ +"EG10098" +], +"ncbigene":[ +"948242" +], +"ncbigi":[ +"16131602" +], +"refseq_locus_tag":[ +"b3734" +], +"refseq_name":[ +"atpA" +], +"refseq_synonym":[ +"uncA", +"papA", +"ECK3727", +"JW3712" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0ABB0" +] +} +}, +{ +"id":"b3733", +"name":"atpG", +"notes":{ +"original_bigg_ids":[ +"b3733" +] +}, +"annotation":{ +"asap":[ +"ABE-0012211" +], +"ecogene":[ +"EG10104" +], +"ncbigene":[ +"948243" +], +"ncbigi":[ +"16131601" +], +"refseq_locus_tag":[ +"b3733" +], +"refseq_name":[ +"atpG" +], +"refseq_synonym":[ +"uncG", +"ECK3726", +"papC", +"JW3711" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0ABA6" +] +} +}, +{ +"id":"b3736", +"name":"atpF", +"notes":{ +"original_bigg_ids":[ +"b3736" +] +}, +"annotation":{ +"asap":[ +"ABE-0012217" +], +"ecogene":[ +"EG10103" +], +"ncbigene":[ +"948247" +], +"ncbigi":[ +"16131604" +], +"refseq_locus_tag":[ +"b3736" +], +"refseq_name":[ +"atpF" +], +"refseq_synonym":[ +"uncF", +"JW3714", +"papF", +"ECK3729" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0ABA0" +] +} +}, +{ +"id":"b3737", +"name":"atpE", +"notes":{ +"original_bigg_ids":[ +"b3737" +] +}, +"annotation":{ +"asap":[ +"ABE-0012220" +], +"ecogene":[ +"EG10102" +], +"ncbigene":[ +"948253" +], +"ncbigi":[ +"16131605" +], +"refseq_locus_tag":[ +"b3737" +], +"refseq_name":[ +"atpE" +], +"refseq_synonym":[ +"uncE", +"JW3715", +"ECK3730", +"papH" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P68699" +] +} +}, +{ +"id":"b3739", +"name":"atpI", +"notes":{ +"original_bigg_ids":[ +"b3739" +] +}, +"annotation":{ +"asap":[ +"ABE-0012224" +], +"ecogene":[ +"EG10106" +], +"ncbigene":[ +"948251" +], +"ncbigi":[ +"90111645" +], +"refseq_locus_tag":[ +"b3739" +], +"refseq_name":[ +"atpI" +], +"refseq_synonym":[ +"uncI", +"JW5611", +"ECK3732" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0ABC0" +] +} +}, +{ +"id":"b3738", +"name":"atpB", +"notes":{ +"original_bigg_ids":[ +"b3738" +] +}, +"annotation":{ +"asap":[ +"ABE-0012222" +], +"ecogene":[ +"EG10099" +], +"ncbigene":[ +"948252" +], +"ncbigi":[ +"16131606" +], +"refseq_locus_tag":[ +"b3738" +], +"refseq_name":[ +"atpB" +], +"refseq_synonym":[ +"JW3716", +"ECK3731", +"uncB", +"papD" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AB98" +] +} +}, +{ +"id":"b3735", +"name":"atpH", +"notes":{ +"original_bigg_ids":[ +"b3735" +] +}, +"annotation":{ +"asap":[ +"ABE-0012215" +], +"ecogene":[ +"EG10105" +], +"ncbigene":[ +"948254" +], +"ncbigi":[ +"16131603" +], +"refseq_locus_tag":[ +"b3735" +], +"refseq_name":[ +"atpH" +], +"refseq_synonym":[ +"JW3713", +"papE", +"ECK3728", +"uncH" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0ABA4" +] +} +}, +{ +"id":"b3731", +"name":"atpC", +"notes":{ +"original_bigg_ids":[ +"b3731" +] +}, +"annotation":{ +"asap":[ +"ABE-0012206" +], +"ecogene":[ +"EG10100" +], +"ncbigene":[ +"948245" +], +"ncbigi":[ +"16131599" +], +"refseq_locus_tag":[ +"b3731" +], +"refseq_name":[ +"atpC" +], +"refseq_synonym":[ +"uncC", +"ECK3724", +"papG", +"JW3709" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A6E6" +] +} +}, +{ +"id":"b3732", +"name":"atpD", +"notes":{ +"original_bigg_ids":[ +"b3732" +] +}, +"annotation":{ +"asap":[ +"ABE-0012208" +], +"ecogene":[ +"EG10101" +], +"ncbigene":[ +"948244" +], +"ncbigi":[ +"16131600" +], +"refseq_locus_tag":[ +"b3732" +], +"refseq_name":[ +"atpD" +], +"refseq_synonym":[ +"papB", +"ECK3725", +"JW3710", +"uncD" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0ABB4" +] +} +}, +{ +"id":"b0720", +"name":"gltA", +"notes":{ +"original_bigg_ids":[ +"b0720" +] +}, +"annotation":{ +"asap":[ +"ABE-0002451" +], +"ecogene":[ +"EG10402" +], +"ncbigene":[ +"945323" +], +"ncbigi":[ +"16128695" +], +"refseq_locus_tag":[ +"b0720" +], +"refseq_name":[ +"gltA" +], +"refseq_synonym":[ +"JW0710", +"gluT", +"ECK0709", +"icdB" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0ABH7" +] +} +}, +{ +"id":"b0733", +"name":"cydA", +"notes":{ +"original_bigg_ids":[ +"b0733" +] +}, +"annotation":{ +"asap":[ +"ABE-0002499" +], +"ecogene":[ +"EG10173" +], +"ncbigene":[ +"945341" +], +"ncbigi":[ +"90111166" +], +"refseq_locus_tag":[ +"b0733" +], +"refseq_name":[ +"cydA" +], +"refseq_synonym":[ +"ECK0721", +"JW0722" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0ABJ9" +] +} +}, +{ +"id":"b0734", +"name":"cydB", +"notes":{ +"original_bigg_ids":[ +"b0734" +] +}, +"annotation":{ +"asap":[ +"ABE-0002501" +], +"ecogene":[ +"EG10174" +], +"ncbigene":[ +"945347" +], +"ncbigi":[ +"16128709" +], +"refseq_locus_tag":[ +"b0734" +], +"refseq_name":[ +"cydB" +], +"refseq_synonym":[ +"ECK0722", +"JW0723" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0ABK2" +] +} +}, +{ +"id":"b0979", +"name":"cbdB", +"notes":{ +"original_bigg_ids":[ +"b0979" +] +}, +"annotation":{ +"asap":[ +"ABE-0003302" +], +"ecogene":[ +"EG11379" +], +"ncbigene":[ +"947547" +], +"ncbigi":[ +"16128945" +], +"refseq_locus_tag":[ +"b0979" +], +"refseq_name":[ +"cbdB" +], +"refseq_synonym":[ +"JW0961", +"appB", +"cyxB", +"ECK0970" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P26458" +] +} +}, +{ +"id":"b0978", +"name":"cbdA", +"notes":{ +"original_bigg_ids":[ +"b0978" +] +}, +"annotation":{ +"asap":[ +"ABE-0003300" +], +"ecogene":[ +"EG11380" +], +"ncbigene":[ +"945585" +], +"ncbigi":[ +"16128944" +], +"refseq_locus_tag":[ +"b0978" +], +"refseq_name":[ +"cbdA" +], +"refseq_synonym":[ +"JW0960", +"ECK0969", +"cyxA", +"appC" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P26459" +] +} +}, +{ +"id":"b3603", +"name":"lldP", +"notes":{ +"original_bigg_ids":[ +"b3603" +] +}, +"annotation":{ +"asap":[ +"ABE-0011777" +], +"ecogene":[ +"EG11961" +], +"ncbigene":[ +"948114" +], +"ncbigi":[ +"16131474" +], +"refseq_locus_tag":[ +"b3603" +], +"refseq_name":[ +"lldP" +], +"refseq_synonym":[ +"JW3578", +"ECK3593", +"lct", +"lctP" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P33231" +] +} +}, +{ +"id":"b2975", +"name":"glcA", +"notes":{ +"original_bigg_ids":[ +"b2975" +] +}, +"annotation":{ +"asap":[ +"ABE-0009763" +], +"ecogene":[ +"EG12995" +], +"ncbigene":[ +"947259" +], +"ncbigi":[ +"16130875" +], +"refseq_locus_tag":[ +"b2975" +], +"refseq_name":[ +"glcA" +], +"refseq_synonym":[ +"ECK2969", +"JW2942", +"yghK" +], +"sbo":"SBO:0000243", +"uniprot":[ +"Q46839" +] +} +}, +{ +"id":"b2779", +"name":"eno", +"notes":{ +"original_bigg_ids":[ +"b2779" +] +}, +"annotation":{ +"asap":[ +"ABE-0009110" +], +"ecogene":[ +"EG10258" +], +"ncbigene":[ +"945032" +], +"ncbigi":[ +"16130686" +], +"refseq_locus_tag":[ +"b2779" +], +"refseq_name":[ +"eno" +], +"refseq_synonym":[ +"JW2750", +"ECK2773" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A6P9" +] +} +}, +{ +"id":"b2925", +"name":"fbaA", +"notes":{ +"original_bigg_ids":[ +"b2925" +] +}, +"annotation":{ +"asap":[ +"ABE-0009600" +], +"ecogene":[ +"EG10282" +], +"ncbigene":[ +"947415" +], +"ncbigi":[ +"16130826" +], +"refseq_locus_tag":[ +"b2925" +], +"refseq_name":[ +"fbaA" +], +"refseq_synonym":[ +"fba", +"ald", +"fda", +"ECK2921", +"JW2892" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AB71" +] +} +}, +{ +"id":"b1773", +"name":"ydjI", +"notes":{ +"original_bigg_ids":[ +"b1773" +] +}, +"annotation":{ +"asap":[ +"ABE-0005906" +], +"ecogene":[ +"EG13485" +], +"ncbigene":[ +"946291" +], +"ncbigi":[ +"16129727" +], +"refseq_locus_tag":[ +"b1773" +], +"refseq_name":[ +"ydjI" +], +"refseq_synonym":[ +"ECK1771", +"JW1762" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P77704" +] +} +}, +{ +"id":"b2097", +"name":"fbaB", +"notes":{ +"original_bigg_ids":[ +"b2097" +] +}, +"annotation":{ +"asap":[ +"ABE-0006941" +], +"ecogene":[ +"EG14062" +], +"ncbigene":[ +"946632" +], +"ncbigi":[ +"90111385" +], +"refseq_locus_tag":[ +"b2097" +], +"refseq_name":[ +"fbaB" +], +"refseq_synonym":[ +"dhnA", +"JW5344", +"ECK2090" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A991" +] +} +}, +{ +"id":"b3925", +"name":"glpX", +"notes":{ +"original_bigg_ids":[ +"b3925" +] +}, +"annotation":{ +"asap":[ +"ABE-0012821" +], +"ecogene":[ +"EG11517" +], +"ncbigene":[ +"948424" +], +"ncbigi":[ +"16131763" +], +"refseq_locus_tag":[ +"b3925" +], +"refseq_name":[ +"glpX" +], +"refseq_synonym":[ +"JW3896", +"ECK3917" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A9C9" +] +} +}, +{ +"id":"b4232", +"name":"fbp", +"notes":{ +"original_bigg_ids":[ +"b4232" +] +}, +"annotation":{ +"asap":[ +"ABE-0013842" +], +"ecogene":[ +"EG10283" +], +"ncbigene":[ +"948753" +], +"ncbigi":[ +"16132054" +], +"refseq_locus_tag":[ +"b4232" +], +"refseq_name":[ +"fbp" +], +"refseq_synonym":[ +"JW4191", +"ECK4227", +"fdp" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A993" +] +} +}, +{ +"id":"b2492", +"name":"focB", +"notes":{ +"original_bigg_ids":[ +"b2492" +] +}, +"annotation":{ +"asap":[ +"ABE-0008206" +], +"ecogene":[ +"EG14220" +], +"ncbigene":[ +"949032" +], +"ncbigi":[ +"16130417" +], +"refseq_locus_tag":[ +"b2492" +], +"refseq_name":[ +"focB" +], +"refseq_synonym":[ +"JW2477", +"ECK2488" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P77733" +] +} +}, +{ +"id":"b0904", +"name":"focA", +"notes":{ +"original_bigg_ids":[ +"b0904" +] +}, +"annotation":{ +"asap":[ +"ABE-0003073" +], +"ecogene":[ +"EG11258" +], +"ncbigene":[ +"945513" +], +"ncbigi":[ +"16128871" +], +"refseq_locus_tag":[ +"b0904" +], +"refseq_name":[ +"focA" +], +"refseq_synonym":[ +"ycaE", +"ECK0895", +"JW0887" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AC23" +] +} +}, +{ +"id":"b4152", +"name":"frdC", +"notes":{ +"original_bigg_ids":[ +"b4152" +] +}, +"annotation":{ +"asap":[ +"ABE-0013598" +], +"ecogene":[ +"EG10332" +], +"ncbigene":[ +"948680" +], +"ncbigi":[ +"16131977" +], +"refseq_locus_tag":[ +"b4152" +], +"refseq_name":[ +"frdC" +], +"refseq_synonym":[ +"ECK4148", +"JW4113" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A8Q0" +] +} +}, +{ +"id":"b4154", +"name":"frdA", +"notes":{ +"original_bigg_ids":[ +"b4154" +] +}, +"annotation":{ +"asap":[ +"ABE-0013604" +], +"ecogene":[ +"EG10330" +], +"ncbigene":[ +"948667" +], +"ncbigi":[ +"16131979" +], +"refseq_locus_tag":[ +"b4154" +], +"refseq_name":[ +"frdA" +], +"refseq_synonym":[ +"ECK4150", +"JW4115" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P00363" +] +} +}, +{ +"id":"b4153", +"name":"frdB", +"notes":{ +"original_bigg_ids":[ +"b4153" +] +}, +"annotation":{ +"asap":[ +"ABE-0013602" +], +"ecogene":[ +"EG10331" +], +"ncbigene":[ +"948666" +], +"ncbigi":[ +"16131978" +], +"refseq_locus_tag":[ +"b4153" +], +"refseq_name":[ +"frdB" +], +"refseq_synonym":[ +"JW4114", +"ECK4149" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AC47" +] +} +}, +{ +"id":"b4151", +"name":"frdD", +"notes":{ +"original_bigg_ids":[ +"b4151" +] +}, +"annotation":{ +"asap":[ +"ABE-0013595" +], +"ecogene":[ +"EG10333" +], +"ncbigene":[ +"948668" +], +"ncbigi":[ +"16131976" +], +"refseq_locus_tag":[ +"b4151" +], +"refseq_name":[ +"frdD" +], +"refseq_synonym":[ +"JW4112", +"ECK4147" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A8Q3" +] +} +}, +{ +"id":"b1819", +"name":"manZ", +"notes":{ +"original_bigg_ids":[ +"b1819" +] +}, +"annotation":{ +"asap":[ +"ABE-0006058" +], +"ecogene":[ +"EG10569" +], +"ncbigene":[ +"946342" +], +"ncbigi":[ +"345452720" +], +"refseq_locus_tag":[ +"b1819" +], +"refseq_name":[ +"manZ" +], +"refseq_synonym":[ +"ptsM", +"ECK1817", +"ptsX", +"gptB", +"mpt", +"JW1808" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P69805" +] +} +}, +{ +"id":"b1817", +"name":"manX", +"notes":{ +"original_bigg_ids":[ +"b1817" +] +}, +"annotation":{ +"asap":[ +"ABE-0006054" +], +"ecogene":[ +"EG10567" +], +"ncbigene":[ +"946334" +], +"ncbigi":[ +"16129771" +], +"refseq_locus_tag":[ +"b1817" +], +"refseq_name":[ +"manX" +], +"refseq_synonym":[ +"ECK1815", +"ptsX", +"gptB", +"mpt", +"JW1806", +"ptsL" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P69797" +] +} +}, +{ +"id":"b2416", +"name":"ptsI", +"notes":{ +"original_bigg_ids":[ +"b2416" +] +}, +"annotation":{ +"asap":[ +"ABE-0007967" +], +"ecogene":[ +"EG10789" +], +"ncbigene":[ +"946879" +], +"ncbigi":[ +"16130342" +], +"refseq_locus_tag":[ +"b2416" +], +"refseq_name":[ +"ptsI" +], +"refseq_synonym":[ +"ECK2411", +"ctr", +"JW2409" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P08839" +] +} +}, +{ +"id":"b2415", +"name":"ptsH", +"notes":{ +"original_bigg_ids":[ +"b2415" +] +}, +"annotation":{ +"asap":[ +"ABE-0007962" +], +"ecogene":[ +"EG10788" +], +"ncbigene":[ +"946886" +], +"ncbigi":[ +"16130341" +], +"refseq_locus_tag":[ +"b2415" +], +"refseq_name":[ +"ptsH" +], +"refseq_synonym":[ +"ctr", +"hpr", +"JW2408", +"ECK2410", +"iex?" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AA04" +] +} +}, +{ +"id":"b1818", +"name":"manY", +"notes":{ +"original_bigg_ids":[ +"b1818" +] +}, +"annotation":{ +"asap":[ +"ABE-0006056" +], +"ecogene":[ +"EG10568" +], +"ncbigene":[ +"946332" +], +"ncbigi":[ +"16129772" +], +"refseq_locus_tag":[ +"b1818" +], +"refseq_name":[ +"manY" +], +"refseq_synonym":[ +"ptsX", +"pel", +"ECK1816", +"JW1807", +"ptsP" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P69801" +] +} +}, +{ +"id":"b1611", +"name":"fumC", +"notes":{ +"original_bigg_ids":[ +"b1611" +] +}, +"annotation":{ +"asap":[ +"ABE-0005380" +], +"ecogene":[ +"EG10358" +], +"ncbigene":[ +"946147" +], +"ncbigi":[ +"16129569" +], +"refseq_locus_tag":[ +"b1611" +], +"refseq_name":[ +"fumC" +], +"refseq_synonym":[ +"JW1603", +"ECK1606" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P05042" +] +} +}, +{ +"id":"b4122", +"name":"fumB", +"notes":{ +"original_bigg_ids":[ +"b4122" +] +}, +"annotation":{ +"asap":[ +"ABE-0013501" +], +"ecogene":[ +"EG10357" +], +"ncbigene":[ +"948642" +], +"ncbigi":[ +"16131948" +], +"refseq_locus_tag":[ +"b4122" +], +"refseq_name":[ +"fumB" +], +"refseq_synonym":[ +"JW4083", +"ECK4115" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P14407" +] +} +}, +{ +"id":"b1612", +"name":"fumA", +"notes":{ +"original_bigg_ids":[ +"b1612" +] +}, +"annotation":{ +"asap":[ +"ABE-0005392" +], +"ecogene":[ +"EG10356" +], +"ncbigene":[ +"946826" +], +"ncbigi":[ +"16129570" +], +"refseq_locus_tag":[ +"b1612" +], +"refseq_name":[ +"fumA" +], +"refseq_synonym":[ +"JW1604", +"ECK1607" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AC33" +] +} +}, +{ +"id":"b3528", +"name":"dctA", +"notes":{ +"original_bigg_ids":[ +"b3528" +] +}, +"annotation":{ +"asap":[ +"ABE-0011527" +], +"ecogene":[ +"EG20044" +], +"ncbigene":[ +"948039" +], +"ncbigi":[ +"16131400" +], +"refseq_locus_tag":[ +"b3528" +], +"refseq_name":[ +"dctA" +], +"refseq_synonym":[ +"JW3496", +"ECK3513", +"out" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A830" +] +} +}, +{ +"id":"b1852", +"name":"zwf", +"notes":{ +"original_bigg_ids":[ +"b1852" +] +}, +"annotation":{ +"asap":[ +"ABE-0006171" +], +"ecogene":[ +"EG11221" +], +"ncbigene":[ +"946370" +], +"ncbigi":[ +"16129805" +], +"refseq_locus_tag":[ +"b1852" +], +"refseq_name":[ +"zwf" +], +"refseq_synonym":[ +"JW1841", +"ECK1853" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AC53" +] +} +}, +{ +"id":"b1779", +"name":"gapA", +"notes":{ +"original_bigg_ids":[ +"b1779" +] +}, +"annotation":{ +"asap":[ +"ABE-0005920" +], +"ecogene":[ +"EG10367" +], +"ncbigene":[ +"947679" +], +"ncbigi":[ +"16129733" +], +"refseq_locus_tag":[ +"b1779" +], +"refseq_name":[ +"gapA" +], +"refseq_synonym":[ +"ECK1777", +"JW1768" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A9B2" +] +} +}, +{ +"id":"b1101", +"name":"ptsG", +"notes":{ +"original_bigg_ids":[ +"b1101" +] +}, +"annotation":{ +"asap":[ +"ABE-0003722" +], +"ecogene":[ +"EG10787" +], +"ncbigene":[ +"945651" +], +"ncbigi":[ +"16129064" +], +"refseq_locus_tag":[ +"b1101" +], +"refseq_name":[ +"ptsG" +], +"refseq_synonym":[ +"car", +"JW1087", +"umg", +"glcA", +"umgC", +"cat", +"CR", +"tgl", +"ECK1087" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P69786" +] +} +}, +{ +"id":"b2417", +"name":"crr", +"notes":{ +"original_bigg_ids":[ +"b2417" +] +}, +"annotation":{ +"asap":[ +"ABE-0007971" +], +"ecogene":[ +"EG10165" +], +"ncbigene":[ +"946880" +], +"ncbigi":[ +"16130343" +], +"refseq_locus_tag":[ +"b2417" +], +"refseq_name":[ +"crr" +], +"refseq_synonym":[ +"gsr", +"JW2410", +"ECK2412", +"treD", +"tgs", +"iex" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P69783" +] +} +}, +{ +"id":"b1621", +"name":"malX", +"notes":{ +"original_bigg_ids":[ +"b1621" +] +}, +"annotation":{ +"asap":[ +"ABE-0005429" +], +"ecogene":[ +"EG10563" +], +"ncbigene":[ +"946009" +], +"ncbigi":[ +"16129579" +], +"refseq_locus_tag":[ +"b1621" +], +"refseq_name":[ +"malX" +], +"refseq_synonym":[ +"ECK1616", +"JW1613" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P19642" +] +} +}, +{ +"id":"b1297", +"name":"puuA", +"notes":{ +"original_bigg_ids":[ +"b1297" +] +}, +"annotation":{ +"asap":[ +"ABE-0004365" +], +"ecogene":[ +"EG13908" +], +"ncbigene":[ +"946202" +], +"ncbigi":[ +"90111244" +], +"refseq_locus_tag":[ +"b1297" +], +"refseq_name":[ +"puuA" +], +"refseq_synonym":[ +"ECK1292", +"JW5201", +"ycjK" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P78061" +] +} +}, +{ +"id":"b3870", +"name":"glnA", +"notes":{ +"original_bigg_ids":[ +"b3870" +] +}, +"annotation":{ +"asap":[ +"ABE-0012640" +], +"ecogene":[ +"EG10383" +], +"ncbigene":[ +"948370" +], +"ncbigi":[ +"16131710" +], +"refseq_locus_tag":[ +"b3870" +], +"refseq_name":[ +"glnA" +], +"refseq_synonym":[ +"ECK3863", +"JW3841" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A9C5" +] +} +}, +{ +"id":"b0809", +"name":"glnQ", +"notes":{ +"original_bigg_ids":[ +"b0809" +] +}, +"annotation":{ +"asap":[ +"ABE-0002764" +], +"ecogene":[ +"EG10389" +], +"ncbigene":[ +"945435" +], +"ncbigi":[ +"16128777" +], +"refseq_locus_tag":[ +"b0809" +], +"refseq_name":[ +"glnQ" +], +"refseq_synonym":[ +"JW0794", +"ECK0798" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P10346" +] +} +}, +{ +"id":"b0811", +"name":"glnH", +"notes":{ +"original_bigg_ids":[ +"b0811" +] +}, +"annotation":{ +"asap":[ +"ABE-0002771" +], +"ecogene":[ +"EG10386" +], +"ncbigene":[ +"944872" +], +"ncbigi":[ +"16128779" +], +"refseq_locus_tag":[ +"b0811" +], +"refseq_name":[ +"glnH" +], +"refseq_synonym":[ +"JW0796", +"ECK0800" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AEQ3" +] +} +}, +{ +"id":"b0810", +"name":"glnP", +"notes":{ +"original_bigg_ids":[ +"b0810" +] +}, +"annotation":{ +"asap":[ +"ABE-0002766" +], +"ecogene":[ +"EG10388" +], +"ncbigene":[ +"945621" +], +"ncbigi":[ +"16128778" +], +"refseq_locus_tag":[ +"b0810" +], +"refseq_name":[ +"glnP" +], +"refseq_synonym":[ +"JW0795", +"ECK0799" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AEQ6" +] +} +}, +{ +"id":"b1761", +"name":"gdhA", +"notes":{ +"original_bigg_ids":[ +"b1761" +] +}, +"annotation":{ +"asap":[ +"ABE-0005865" +], +"ecogene":[ +"EG10372" +], +"ncbigene":[ +"946802" +], +"ncbigi":[ +"16129715" +], +"refseq_locus_tag":[ +"b1761" +], +"refseq_name":[ +"gdhA" +], +"refseq_synonym":[ +"ECK1759", +"JW1750" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P00370" +] +} +}, +{ +"id":"b1524", +"name":"glsB", +"notes":{ +"original_bigg_ids":[ +"b1524" +] +}, +"annotation":{ +"asap":[ +"ABE-0005086" +], +"ecogene":[ +"EG13816" +], +"ncbigene":[ +"944973" +], +"ncbigi":[ +"16129483" +], +"refseq_locus_tag":[ +"b1524" +], +"refseq_name":[ +"glsB" +], +"refseq_synonym":[ +"glsA2", +"yneH", +"JW1517", +"ECK1517" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A6W0" +] +} +}, +{ +"id":"b0485", +"name":"glsA", +"notes":{ +"original_bigg_ids":[ +"b0485" +] +}, +"annotation":{ +"asap":[ +"ABE-0001688" +], +"ecogene":[ +"EG13247" +], +"ncbigene":[ +"946187" +], +"ncbigi":[ +"16128469" +], +"refseq_locus_tag":[ +"b0485" +], +"refseq_name":[ +"glsA" +], +"refseq_synonym":[ +"glsA1", +"ECK0479", +"ybaS", +"JW0474" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P77454" +] +} +}, +{ +"id":"b1812", +"name":"pabB", +"notes":{ +"original_bigg_ids":[ +"b1812" +] +}, +"annotation":{ +"asap":[ +"ABE-0006031" +], +"ecogene":[ +"EG10683" +], +"ncbigene":[ +"946337" +], +"ncbigi":[ +"16129766" +], +"refseq_locus_tag":[ +"b1812" +], +"refseq_name":[ +"pabB" +], +"refseq_synonym":[ +"ECK1810", +"JW1801" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P05041" +] +} +}, +{ +"id":"b3213", +"name":"gltD", +"notes":{ +"original_bigg_ids":[ +"b3213" +] +}, +"annotation":{ +"asap":[ +"ABE-0010547" +], +"ecogene":[ +"EG10404" +], +"ncbigene":[ +"947723" +], +"ncbigi":[ +"16131103" +], +"refseq_locus_tag":[ +"b3213" +], +"refseq_name":[ +"gltD" +], +"refseq_synonym":[ +"psiQ", +"aspB", +"ossB", +"JW3180", +"ECK3203" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P09832" +] +} +}, +{ +"id":"b3212", +"name":"gltB", +"notes":{ +"original_bigg_ids":[ +"b3212" +] +}, +"annotation":{ +"asap":[ +"ABE-0010545" +], +"ecogene":[ +"EG10403" +], +"ncbigene":[ +"947724" +], +"ncbigi":[ +"308209621" +], +"refseq_locus_tag":[ +"b3212" +], +"refseq_name":[ +"gltB" +], +"refseq_synonym":[ +"psiQ", +"aspB", +"ECK3202", +"ossB", +"JW3179" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P09831" +] +} +}, +{ +"id":"b4077", +"name":"gltP", +"notes":{ +"original_bigg_ids":[ +"b4077" +] +}, +"annotation":{ +"asap":[ +"ABE-0013357" +], +"ecogene":[ +"EG10405" +], +"ncbigene":[ +"948591" +], +"ncbigi":[ +"16131903" +], +"refseq_locus_tag":[ +"b4077" +], +"refseq_name":[ +"gltP" +], +"refseq_synonym":[ +"ECK4070", +"JW4038" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P21345" +] +} +}, +{ +"id":"b2029", +"name":"gnd", +"notes":{ +"original_bigg_ids":[ +"b2029" +] +}, +"annotation":{ +"asap":[ +"ABE-0006737" +], +"ecogene":[ +"EG10411" +], +"ncbigene":[ +"946554" +], +"ncbigi":[ +"16129970" +], +"refseq_locus_tag":[ +"b2029" +], +"refseq_name":[ +"gnd" +], +"refseq_synonym":[ +"JW2011", +"ECK2024" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P00350" +] +} +}, +{ +"id":"b0875", +"name":"aqpZ", +"notes":{ +"original_bigg_ids":[ +"b0875" +] +}, +"annotation":{ +"asap":[ +"ABE-0002976" +], +"ecogene":[ +"EG13270" +], +"ncbigene":[ +"945497" +], +"ncbigi":[ +"16128843" +], +"refseq_locus_tag":[ +"b0875" +], +"refseq_name":[ +"aqpZ" +], +"refseq_synonym":[ +"bniP", +"JW0859", +"ECK0866" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P60844" +] +} +}, +{ +"id":"b1136", +"name":"icd", +"notes":{ +"original_bigg_ids":[ +"b1136" +] +}, +"annotation":{ +"asap":[ +"ABE-0003823" +], +"ecogene":[ +"EG10489" +], +"ncbigene":[ +"945702" +], +"ncbigi":[ +"16129099" +], +"refseq_locus_tag":[ +"b1136" +], +"refseq_name":[ +"icd" +], +"refseq_synonym":[ +"icdA", +"icdE", +"JW1122", +"ECK1122" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P08200" +] +} +}, +{ +"id":"b4015", +"name":"aceA", +"notes":{ +"original_bigg_ids":[ +"b4015" +] +}, +"annotation":{ +"asap":[ +"ABE-0013128" +], +"ecogene":[ +"EG10022" +], +"ncbigene":[ +"948517" +], +"ncbigi":[ +"16131841" +], +"refseq_locus_tag":[ +"b4015" +], +"refseq_name":[ +"aceA" +], +"refseq_synonym":[ +"JW3975", +"icl", +"ECK4007" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A9G6" +] +} +}, +{ +"id":"b1380", +"name":"ldhA", +"notes":{ +"original_bigg_ids":[ +"b1380" +] +}, +"annotation":{ +"asap":[ +"ABE-0004619" +], +"ecogene":[ +"EG13186" +], +"ncbigene":[ +"946315" +], +"ncbigi":[ +"16129341" +], +"refseq_locus_tag":[ +"b1380" +], +"refseq_name":[ +"ldhA" +], +"refseq_synonym":[ +"ECK1377", +"JW1375", +"hslI", +"htpH", +"hslF" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P52643" +] +} +}, +{ +"id":"b2133", +"name":"dld", +"notes":{ +"original_bigg_ids":[ +"b2133" +] +}, +"annotation":{ +"asap":[ +"ABE-0007048" +], +"ecogene":[ +"EG10231" +], +"ncbigene":[ +"946653" +], +"ncbigi":[ +"16130071" +], +"refseq_locus_tag":[ +"b2133" +], +"refseq_name":[ +"dld" +], +"refseq_synonym":[ +"JW2121", +"ECK2126" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P06149" +] +} +}, +{ +"id":"b4014", +"name":"aceB", +"notes":{ +"original_bigg_ids":[ +"b4014" +] +}, +"annotation":{ +"asap":[ +"ABE-0013125" +], +"ecogene":[ +"EG10023" +], +"ncbigene":[ +"948512" +], +"ncbigi":[ +"16131840" +], +"refseq_locus_tag":[ +"b4014" +], +"refseq_name":[ +"aceB" +], +"refseq_synonym":[ +"ECK4006", +"mas", +"JW3974" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P08997" +] +} +}, +{ +"id":"b2976", +"name":"glcB", +"notes":{ +"original_bigg_ids":[ +"b2976" +] +}, +"annotation":{ +"asap":[ +"ABE-0009767" +], +"ecogene":[ +"EG20080" +], +"ncbigene":[ +"948857" +], +"ncbigi":[ +"16130876" +], +"refseq_locus_tag":[ +"b2976" +], +"refseq_name":[ +"glcB" +], +"refseq_synonym":[ +"JW2943", +"glc", +"ECK2970" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P37330" +] +} +}, +{ +"id":"b3236", +"name":"mdh", +"notes":{ +"original_bigg_ids":[ +"b3236" +] +}, +"annotation":{ +"asap":[ +"ABE-0010613" +], +"ecogene":[ +"EG10576" +], +"ncbigene":[ +"947854" +], +"ncbigi":[ +"16131126" +], +"refseq_locus_tag":[ +"b3236" +], +"refseq_name":[ +"mdh" +], +"refseq_synonym":[ +"ECK3225", +"JW3205" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P61889" +] +} +}, +{ +"id":"b1479", +"name":"maeA", +"notes":{ +"original_bigg_ids":[ +"b1479" +] +}, +"annotation":{ +"asap":[ +"ABE-0004931" +], +"ecogene":[ +"EG10948" +], +"ncbigene":[ +"946031" +], +"ncbigi":[ +"90111281" +], +"refseq_locus_tag":[ +"b1479" +], +"refseq_name":[ +"maeA" +], +"refseq_synonym":[ +"JW5238", +"sfcA", +"ECK1473" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P26616" +] +} +}, +{ +"id":"b2463", +"name":"maeB", +"notes":{ +"original_bigg_ids":[ +"b2463" +] +}, +"annotation":{ +"asap":[ +"ABE-0008111" +], +"ecogene":[ +"EG14193" +], +"ncbigene":[ +"946947" +], +"ncbigi":[ +"16130388" +], +"refseq_locus_tag":[ +"b2463" +], +"refseq_name":[ +"maeB" +], +"refseq_synonym":[ +"ECK2458", +"JW2447", +"ypfF" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P76558" +] +} +}, +{ +"id":"b2281", +"name":"nuoI", +"notes":{ +"original_bigg_ids":[ +"b2281" +] +}, +"annotation":{ +"asap":[ +"ABE-0007539" +], +"ecogene":[ +"EG12089" +], +"ncbigene":[ +"946757" +], +"ncbigi":[ +"16130216" +], +"refseq_locus_tag":[ +"b2281" +], +"refseq_name":[ +"nuoI" +], +"refseq_synonym":[ +"ECK2275", +"JW2276" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFD6" +] +} +}, +{ +"id":"b2277", +"name":"nuoM", +"notes":{ +"original_bigg_ids":[ +"b2277" +] +}, +"annotation":{ +"asap":[ +"ABE-0007529" +], +"ecogene":[ +"EG11773" +], +"ncbigene":[ +"947731" +], +"ncbigi":[ +"16130212" +], +"refseq_locus_tag":[ +"b2277" +], +"refseq_name":[ +"nuoM" +], +"refseq_synonym":[ +"JW2272", +"nuoA", +"ECK2271" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFE8" +] +} +}, +{ +"id":"b2280", +"name":"nuoJ", +"notes":{ +"original_bigg_ids":[ +"b2280" +] +}, +"annotation":{ +"asap":[ +"ABE-0007536" +], +"ecogene":[ +"EG12090" +], +"ncbigene":[ +"946756" +], +"ncbigi":[ +"16130215" +], +"refseq_locus_tag":[ +"b2280" +], +"refseq_name":[ +"nuoJ" +], +"refseq_synonym":[ +"ECK2274", +"JW2275" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFE0" +] +} +}, +{ +"id":"b2286", +"name":"nuoC", +"notes":{ +"original_bigg_ids":[ +"b2286" +] +}, +"annotation":{ +"asap":[ +"ABE-0007549" +], +"ecogene":[ +"EG12084" +], +"ncbigene":[ +"946759" +], +"ncbigi":[ +"145698291" +], +"refseq_locus_tag":[ +"b2286" +], +"refseq_name":[ +"nuoC" +], +"refseq_synonym":[ +"ECK2280", +"nuoD", +"nuoCD", +"JW5375" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P33599" +] +} +}, +{ +"id":"b2287", +"name":"nuoB", +"notes":{ +"original_bigg_ids":[ +"b2287" +] +}, +"annotation":{ +"asap":[ +"ABE-0007551" +], +"ecogene":[ +"EG12083" +], +"ncbigene":[ +"946738" +], +"ncbigi":[ +"16130222" +], +"refseq_locus_tag":[ +"b2287" +], +"refseq_name":[ +"nuoB" +], +"refseq_synonym":[ +"JW5875", +"ECK2281" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFC7" +] +} +}, +{ +"id":"b2284", +"name":"nuoF", +"notes":{ +"original_bigg_ids":[ +"b2284" +] +}, +"annotation":{ +"asap":[ +"ABE-0007545" +], +"ecogene":[ +"EG11774" +], +"ncbigene":[ +"946753" +], +"ncbigi":[ +"16130219" +], +"refseq_locus_tag":[ +"b2284" +], +"refseq_name":[ +"nuoF" +], +"refseq_synonym":[ +"ECK2278", +"nuoB", +"JW2279" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P31979" +] +} +}, +{ +"id":"b2276", +"name":"nuoN", +"notes":{ +"original_bigg_ids":[ +"b2276" +] +}, +"annotation":{ +"asap":[ +"ABE-0007526" +], +"ecogene":[ +"EG12093" +], +"ncbigene":[ +"945136" +], +"ncbigi":[ +"145698289" +], +"refseq_locus_tag":[ +"b2276" +], +"refseq_name":[ +"nuoN" +], +"refseq_synonym":[ +"JW2271", +"ECK2270" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFF0" +] +} +}, +{ +"id":"b2282", +"name":"nuoH", +"notes":{ +"original_bigg_ids":[ +"b2282" +] +}, +"annotation":{ +"asap":[ +"ABE-0007541" +], +"ecogene":[ +"EG12088" +], +"ncbigene":[ +"946761" +], +"ncbigi":[ +"16130217" +], +"refseq_locus_tag":[ +"b2282" +], +"refseq_name":[ +"nuoH" +], +"refseq_synonym":[ +"JW2277", +"ECK2276" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFD4" +] +} +}, +{ +"id":"b2279", +"name":"nuoK", +"notes":{ +"original_bigg_ids":[ +"b2279" +] +}, +"annotation":{ +"asap":[ +"ABE-0007534" +], +"ecogene":[ +"EG12091" +], +"ncbigene":[ +"947580" +], +"ncbigi":[ +"16130214" +], +"refseq_locus_tag":[ +"b2279" +], +"refseq_name":[ +"nuoK" +], +"refseq_synonym":[ +"JW2274", +"ECK2273" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFE4" +] +} +}, +{ +"id":"b2283", +"name":"nuoG", +"notes":{ +"original_bigg_ids":[ +"b2283" +] +}, +"annotation":{ +"asap":[ +"ABE-0007543" +], +"ecogene":[ +"EG12087" +], +"ncbigene":[ +"946762" +], +"ncbigi":[ +"145698290" +], +"refseq_locus_tag":[ +"b2283" +], +"refseq_name":[ +"nuoG" +], +"refseq_synonym":[ +"JW2278", +"ECK2277" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P33602" +] +} +}, +{ +"id":"b2285", +"name":"nuoE", +"notes":{ +"original_bigg_ids":[ +"b2285" +] +}, +"annotation":{ +"asap":[ +"ABE-0007547" +], +"ecogene":[ +"EG12086" +], +"ncbigene":[ +"946746" +], +"ncbigi":[ +"16130220" +], +"refseq_locus_tag":[ +"b2285" +], +"refseq_name":[ +"nuoE" +], +"refseq_synonym":[ +"JW2280", +"ECK2279" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFD1" +] +} +}, +{ +"id":"b2288", +"name":"nuoA", +"notes":{ +"original_bigg_ids":[ +"b2288" +] +}, +"annotation":{ +"asap":[ +"ABE-0007553" +], +"ecogene":[ +"EG12082" +], +"ncbigene":[ +"946764" +], +"ncbigi":[ +"49176207" +], +"refseq_locus_tag":[ +"b2288" +], +"refseq_name":[ +"nuoA" +], +"refseq_synonym":[ +"JW2283", +"ECK2282" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFC3" +] +} +}, +{ +"id":"b2278", +"name":"nuoL", +"notes":{ +"original_bigg_ids":[ +"b2278" +] +}, +"annotation":{ +"asap":[ +"ABE-0007532" +], +"ecogene":[ +"EG12092" +], +"ncbigene":[ +"945540" +], +"ncbigi":[ +"16130213" +], +"refseq_locus_tag":[ +"b2278" +], +"refseq_name":[ +"nuoL" +], +"refseq_synonym":[ +"ECK2272", +"JW2273" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P33607" +] +} +}, +{ +"id":"b1603", +"name":"pntA", +"notes":{ +"original_bigg_ids":[ +"b1603" +] +}, +"annotation":{ +"asap":[ +"ABE-0005354" +], +"ecogene":[ +"EG10744" +], +"ncbigene":[ +"946628" +], +"ncbigi":[ +"16129561" +], +"refseq_locus_tag":[ +"b1603" +], +"refseq_name":[ +"pntA" +], +"refseq_synonym":[ +"JW1595", +"ECK1598" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P07001" +] +} +}, +{ +"id":"b3962", +"name":"sthA", +"notes":{ +"original_bigg_ids":[ +"b3962" +] +}, +"annotation":{ +"asap":[ +"ABE-0012975" +], +"ecogene":[ +"EG11428" +], +"ncbigene":[ +"948461" +], +"ncbigi":[ +"90111670" +], +"refseq_locus_tag":[ +"b3962" +], +"refseq_name":[ +"sthA" +], +"refseq_synonym":[ +"ECK3954", +"udhA", +"JW5551", +"sth" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P27306" +] +} +}, +{ +"id":"b1602", +"name":"pntB", +"notes":{ +"original_bigg_ids":[ +"b1602" +] +}, +"annotation":{ +"asap":[ +"ABE-0005352" +], +"ecogene":[ +"EG10745" +], +"ncbigene":[ +"946144" +], +"ncbigi":[ +"16129560" +], +"refseq_locus_tag":[ +"b1602" +], +"refseq_name":[ +"pntB" +], +"refseq_synonym":[ +"ECK1597", +"JW1594" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AB67" +] +} +}, +{ +"id":"b0451", +"name":"amtB", +"notes":{ +"original_bigg_ids":[ +"b0451" +] +}, +"annotation":{ +"asap":[ +"ABE-0001564" +], +"ecogene":[ +"EG11821" +], +"ncbigene":[ +"945084" +], +"ncbigi":[ +"16128436" +], +"refseq_locus_tag":[ +"b0451" +], +"refseq_name":[ +"amtB" +], +"refseq_synonym":[ +"JW0441", +"ECK0445", +"ybaG" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P69681" +] +} +}, +{ +"id":"b0114", +"name":"aceE", +"notes":{ +"original_bigg_ids":[ +"b0114" +] +}, +"annotation":{ +"asap":[ +"ABE-0000397" +], +"ecogene":[ +"EG10024" +], +"ncbigene":[ +"944834" +], +"ncbigi":[ +"16128107" +], +"refseq_locus_tag":[ +"b0114" +], +"refseq_name":[ +"aceE" +], +"refseq_synonym":[ +"ECK0113", +"JW0110" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFG8" +] +} +}, +{ +"id":"b0115", +"name":"aceF", +"notes":{ +"original_bigg_ids":[ +"b0115" +] +}, +"annotation":{ +"asap":[ +"ABE-0000400" +], +"ecogene":[ +"EG10025" +], +"ncbigene":[ +"944794" +], +"ncbigi":[ +"16128108" +], +"refseq_locus_tag":[ +"b0115" +], +"refseq_name":[ +"aceF" +], +"refseq_synonym":[ +"ECK0114", +"JW0111" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P06959" +] +} +}, +{ +"id":"b3916", +"name":"pfkA", +"notes":{ +"original_bigg_ids":[ +"b3916" +] +}, +"annotation":{ +"asap":[ +"ABE-0012789" +], +"ecogene":[ +"EG10699" +], +"ncbigene":[ +"948412" +], +"ncbigi":[ +"16131754" +], +"refseq_locus_tag":[ +"b3916" +], +"refseq_name":[ +"pfkA" +], +"refseq_synonym":[ +"JW3887", +"ECK3908" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A796" +] +} +}, +{ +"id":"b1723", +"name":"pfkB", +"notes":{ +"original_bigg_ids":[ +"b1723" +] +}, +"annotation":{ +"asap":[ +"ABE-0005748" +], +"ecogene":[ +"EG10700" +], +"ncbigene":[ +"946230" +], +"ncbigi":[ +"49176138" +], +"refseq_locus_tag":[ +"b1723" +], +"refseq_name":[ +"pfkB" +], +"refseq_synonym":[ +"JW5280", +"ECK1721" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P06999" +] +} +}, +{ +"id":"b3114", +"name":"tdcE", +"notes":{ +"original_bigg_ids":[ +"b3114" +] +}, +"annotation":{ +"asap":[ +"ABE-0010242" +], +"ecogene":[ +"EG12758" +], +"ncbigene":[ +"947623" +], +"ncbigi":[ +"49176316" +], +"refseq_locus_tag":[ +"b3114" +], +"refseq_name":[ +"tdcE" +], +"refseq_synonym":[ +"JW5522", +"ECK3103", +"yhaS" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P42632" +] +} +}, +{ +"id":"b2579", +"name":"grcA", +"notes":{ +"original_bigg_ids":[ +"b2579" +] +}, +"annotation":{ +"asap":[ +"ABE-0008489" +], +"ecogene":[ +"EG11784" +], +"ncbigene":[ +"947068" +], +"ncbigi":[ +"16130504" +], +"refseq_locus_tag":[ +"b2579" +], +"refseq_name":[ +"grcA" +], +"refseq_synonym":[ +"ECK2577", +"yfiD", +"JW2563" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P68066" +] +} +}, +{ +"id":"b3951", +"name":"pflD", +"notes":{ +"original_bigg_ids":[ +"b3951" +] +}, +"annotation":{ +"asap":[ +"ABE-0012934" +], +"ecogene":[ +"EG11910" +], +"ncbigene":[ +"948454" +], +"ncbigi":[ +"16131789" +], +"refseq_locus_tag":[ +"b3951" +], +"refseq_name":[ +"pflD" +], +"refseq_synonym":[ +"ECK3942", +"yijL", +"JW3923" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P32674" +] +} +}, +{ +"id":"b0902", +"name":"pflA", +"notes":{ +"original_bigg_ids":[ +"b0902" +] +}, +"annotation":{ +"asap":[ +"ABE-0003068" +], +"ecogene":[ +"EG10028" +], +"ncbigene":[ +"945517" +], +"ncbigi":[ +"16128869" +], +"refseq_locus_tag":[ +"b0902" +], +"refseq_name":[ +"pflA" +], +"refseq_synonym":[ +"ECK0893", +"JW0885", +"act" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A9N4" +] +} +}, +{ +"id":"b3952", +"name":"pflC", +"notes":{ +"original_bigg_ids":[ +"b3952" +] +}, +"annotation":{ +"asap":[ +"ABE-0012937" +], +"ecogene":[ +"EG11911" +], +"ncbigene":[ +"948453" +], +"ncbigi":[ +"49176447" +], +"refseq_locus_tag":[ +"b3952" +], +"refseq_name":[ +"pflC" +], +"refseq_synonym":[ +"ECK3943", +"JW3924", +"yijM" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P32675" +] +} +}, +{ +"id":"b0903", +"name":"pflB", +"notes":{ +"original_bigg_ids":[ +"b0903" +] +}, +"annotation":{ +"asap":[ +"ABE-0003071" +], +"ecogene":[ +"EG10701" +], +"ncbigene":[ +"945514" +], +"ncbigi":[ +"16128870" +], +"refseq_locus_tag":[ +"b0903" +], +"refseq_name":[ +"pflB" +], +"refseq_synonym":[ +"pfl", +"ECK0894", +"JW0886" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P09373" +] +} +}, +{ +"id":"b4025", +"name":"pgi", +"notes":{ +"original_bigg_ids":[ +"b4025" +] +}, +"annotation":{ +"asap":[ +"ABE-0013163" +], +"ecogene":[ +"EG10702" +], +"ncbigene":[ +"948535" +], +"ncbigi":[ +"16131851" +], +"refseq_locus_tag":[ +"b4025" +], +"refseq_name":[ +"pgi" +], +"refseq_synonym":[ +"JW3985", +"ECK4017" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A6T1" +] +} +}, +{ +"id":"b2926", +"name":"pgk", +"notes":{ +"original_bigg_ids":[ +"b2926" +] +}, +"annotation":{ +"asap":[ +"ABE-0009605" +], +"ecogene":[ +"EG10703" +], +"ncbigene":[ +"947414" +], +"ncbigi":[ +"16130827" +], +"refseq_locus_tag":[ +"b2926" +], +"refseq_name":[ +"pgk" +], +"refseq_synonym":[ +"ECK2922", +"JW2893" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A799" +] +} +}, +{ +"id":"b0767", +"name":"pgl", +"notes":{ +"original_bigg_ids":[ +"b0767" +] +}, +"annotation":{ +"asap":[ +"ABE-0002611" +], +"ecogene":[ +"EG13231" +], +"ncbigene":[ +"946398" +], +"ncbigi":[ +"16128735" +], +"refseq_locus_tag":[ +"b0767" +], +"refseq_name":[ +"pgl" +], +"refseq_synonym":[ +"JW0750", +"ybhE", +"ECK0756", +"blu" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P52697" +] +} +}, +{ +"id":"b3612", +"name":"gpmM", +"notes":{ +"original_bigg_ids":[ +"b3612" +] +}, +"annotation":{ +"asap":[ +"ABE-0011818" +], +"ecogene":[ +"EG12296" +], +"ncbigene":[ +"948130" +], +"ncbigi":[ +"16131483" +], +"refseq_locus_tag":[ +"b3612" +], +"refseq_name":[ +"gpmM" +], +"refseq_synonym":[ +"JW3587", +"yibO", +"ECK3602", +"pgmI", +"gpmC", +"gpmI" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P37689" +] +} +}, +{ +"id":"b4395", +"name":"ytjC", +"notes":{ +"original_bigg_ids":[ +"b4395" +] +}, +"annotation":{ +"asap":[ +"ABE-0014416" +], +"ecogene":[ +"EG12164" +], +"ncbigene":[ +"948918" +], +"ncbigi":[ +"16132212" +], +"refseq_locus_tag":[ +"b4395" +], +"refseq_name":[ +"ytjC" +], +"refseq_synonym":[ +"gpmB", +"JW4358", +"ECK4387" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A7A2" +] +} +}, +{ +"id":"b0755", +"name":"gpmA", +"notes":{ +"original_bigg_ids":[ +"b0755" +] +}, +"annotation":{ +"asap":[ +"ABE-0002563" +], +"ecogene":[ +"EG11699" +], +"ncbigene":[ +"945068" +], +"ncbigi":[ +"16128723" +], +"refseq_locus_tag":[ +"b0755" +], +"refseq_name":[ +"gpmA" +], +"refseq_synonym":[ +"JW0738", +"gpm", +"ECK0744" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P62707" +] +} +}, +{ +"id":"b3493", +"name":"pitA", +"notes":{ +"original_bigg_ids":[ +"b3493" +] +}, +"annotation":{ +"asap":[ +"ABE-0011407" +], +"ecogene":[ +"EG12230" +], +"ncbigene":[ +"948009" +], +"ncbigi":[ +"16131365" +], +"refseq_locus_tag":[ +"b3493" +], +"refseq_name":[ +"pitA" +], +"refseq_synonym":[ +"pit", +"ECK3478", +"JW3460" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AFJ7" +] +} +}, +{ +"id":"b2987", +"name":"pitB", +"notes":{ +"original_bigg_ids":[ +"b2987" +] +}, +"annotation":{ +"asap":[ +"ABE-0009800" +], +"ecogene":[ +"EG12883" +], +"ncbigene":[ +"947475" +], +"ncbigi":[ +"16130887" +], +"refseq_locus_tag":[ +"b2987" +], +"refseq_name":[ +"pitB" +], +"refseq_synonym":[ +"ECK2981", +"JW2955" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P43676" +] +} +}, +{ +"id":"b3956", +"name":"ppc", +"notes":{ +"original_bigg_ids":[ +"b3956" +] +}, +"annotation":{ +"asap":[ +"ABE-0012950" +], +"ecogene":[ +"EG10756" +], +"ncbigene":[ +"948457" +], +"ncbigi":[ +"16131794" +], +"refseq_locus_tag":[ +"b3956" +], +"refseq_name":[ +"ppc" +], +"refseq_synonym":[ +"glu", +"ECK3947", +"asp", +"JW3928" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P00864" +] +} +}, +{ +"id":"b3403", +"name":"pck", +"notes":{ +"original_bigg_ids":[ +"b3403" +] +}, +"annotation":{ +"asap":[ +"ABE-0011106" +], +"ecogene":[ +"EG10688" +], +"ncbigene":[ +"945667" +], +"ncbigi":[ +"16131280" +], +"refseq_locus_tag":[ +"b3403" +], +"refseq_name":[ +"pck" +], +"refseq_synonym":[ +"JW3366", +"pckA", +"ECK3390" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P22259" +] +} +}, +{ +"id":"b1702", +"name":"ppsA", +"notes":{ +"original_bigg_ids":[ +"b1702" +] +}, +"annotation":{ +"asap":[ +"ABE-0005678" +], +"ecogene":[ +"EG10759" +], +"ncbigene":[ +"946209" +], +"ncbigi":[ +"16129658" +], +"refseq_locus_tag":[ +"b1702" +], +"refseq_name":[ +"ppsA" +], +"refseq_synonym":[ +"pps", +"ECK1700", +"JW1692" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P23538" +] +} +}, +{ +"id":"b2297", +"name":"pta", +"notes":{ +"original_bigg_ids":[ +"b2297" +] +}, +"annotation":{ +"asap":[ +"ABE-0007582" +], +"ecogene":[ +"EG20173" +], +"ncbigene":[ +"946778" +], +"ncbigi":[ +"16130232" +], +"refseq_locus_tag":[ +"b2297" +], +"refseq_name":[ +"pta" +], +"refseq_synonym":[ +"JW2294", +"ECK2291" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A9M8" +] +} +}, +{ +"id":"b2458", +"name":"eutD", +"notes":{ +"original_bigg_ids":[ +"b2458" +] +}, +"annotation":{ +"asap":[ +"ABE-0008097" +], +"ecogene":[ +"EG14188" +], +"ncbigene":[ +"946940" +], +"ncbigi":[ +"16130383" +], +"refseq_locus_tag":[ +"b2458" +], +"refseq_name":[ +"eutD" +], +"refseq_synonym":[ +"eutI", +"ypfA", +"ECK2453", +"JW2442" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P77218" +] +} +}, +{ +"id":"b1676", +"name":"pykF", +"notes":{ +"original_bigg_ids":[ +"b1676" +] +}, +"annotation":{ +"asap":[ +"ABE-0005600" +], +"ecogene":[ +"EG10804" +], +"ncbigene":[ +"946179" +], +"ncbigi":[ +"16129632" +], +"refseq_locus_tag":[ +"b1676" +], +"refseq_name":[ +"pykF" +], +"refseq_synonym":[ +"ECK1672", +"JW1666" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AD61" +] +} +}, +{ +"id":"b1854", +"name":"pykA", +"notes":{ +"original_bigg_ids":[ +"b1854" +] +}, +"annotation":{ +"asap":[ +"ABE-0006182" +], +"ecogene":[ +"EG10803" +], +"ncbigene":[ +"946527" +], +"ncbigi":[ +"16129807" +], +"refseq_locus_tag":[ +"b1854" +], +"refseq_name":[ +"pykA" +], +"refseq_synonym":[ +"JW1843", +"ECK1855" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P21599" +] +} +}, +{ +"id":"b3386", +"name":"rpe", +"notes":{ +"original_bigg_ids":[ +"b3386" +] +}, +"annotation":{ +"asap":[ +"ABE-0011061" +], +"ecogene":[ +"EG11960" +], +"ncbigene":[ +"947896" +], +"ncbigi":[ +"16131264" +], +"refseq_locus_tag":[ +"b3386" +], +"refseq_name":[ +"rpe" +], +"refseq_synonym":[ +"yhfD", +"ECK3373", +"JW3349", +"dod" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AG07" +] +} +}, +{ +"id":"b4301", +"name":"sgcE", +"notes":{ +"original_bigg_ids":[ +"b4301" +] +}, +"annotation":{ +"asap":[ +"ABE-0014097" +], +"ecogene":[ +"EG12553" +], +"ncbigene":[ +"948829" +], +"ncbigi":[ +"16132122" +], +"refseq_locus_tag":[ +"b4301" +], +"refseq_name":[ +"sgcE" +], +"refseq_synonym":[ +"JW4263", +"ECK4290", +"yjhK" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P39362" +] +} +}, +{ +"id":"b2914", +"name":"rpiA", +"notes":{ +"original_bigg_ids":[ +"b2914" +] +}, +"annotation":{ +"asap":[ +"ABE-0009567" +], +"ecogene":[ +"EG11443" +], +"ncbigene":[ +"947407" +], +"ncbigi":[ +"16130815" +], +"refseq_locus_tag":[ +"b2914" +], +"refseq_name":[ +"rpiA" +], +"refseq_synonym":[ +"ECK2910", +"JW5475", +"ygfC" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A7Z0" +] +} +}, +{ +"id":"b4090", +"name":"rpiB", +"notes":{ +"original_bigg_ids":[ +"b4090" +] +}, +"annotation":{ +"asap":[ +"ABE-0013405" +], +"ecogene":[ +"EG11827" +], +"ncbigene":[ +"948602" +], +"ncbigi":[ +"16131916" +], +"refseq_locus_tag":[ +"b4090" +], +"refseq_name":[ +"rpiB" +], +"refseq_synonym":[ +"JW4051", +"alsB", +"alsI", +"yjcA", +"ECK4083" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P37351" +] +} +}, +{ +"id":"b0721", +"name":"sdhC", +"notes":{ +"original_bigg_ids":[ +"b0721" +] +}, +"annotation":{ +"asap":[ +"ABE-0002460" +], +"ecogene":[ +"EG10933" +], +"ncbigene":[ +"945316" +], +"ncbigi":[ +"16128696" +], +"refseq_locus_tag":[ +"b0721" +], +"refseq_name":[ +"sdhC" +], +"refseq_synonym":[ +"JW0711", +"ECK0710", +"cybA" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P69054" +] +} +}, +{ +"id":"b0722", +"name":"sdhD", +"notes":{ +"original_bigg_ids":[ +"b0722" +] +}, +"annotation":{ +"asap":[ +"ABE-0002464" +], +"ecogene":[ +"EG10934" +], +"ncbigene":[ +"945322" +], +"ncbigi":[ +"16128697" +], +"refseq_locus_tag":[ +"b0722" +], +"refseq_name":[ +"sdhD" +], +"refseq_synonym":[ +"JW0712", +"ECK0711" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AC44" +] +} +}, +{ +"id":"b0724", +"name":"sdhB", +"notes":{ +"original_bigg_ids":[ +"b0724" +] +}, +"annotation":{ +"asap":[ +"ABE-0002468" +], +"ecogene":[ +"EG10932" +], +"ncbigene":[ +"945300" +], +"ncbigi":[ +"16128699" +], +"refseq_locus_tag":[ +"b0724" +], +"refseq_name":[ +"sdhB" +], +"refseq_synonym":[ +"ECK0713", +"JW0714" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P07014" +] +} +}, +{ +"id":"b0723", +"name":"sdhA", +"notes":{ +"original_bigg_ids":[ +"b0723" +] +}, +"annotation":{ +"asap":[ +"ABE-0002466" +], +"ecogene":[ +"EG10931" +], +"ncbigene":[ +"945402" +], +"ncbigi":[ +"16128698" +], +"refseq_locus_tag":[ +"b0723" +], +"refseq_name":[ +"sdhA" +], +"refseq_synonym":[ +"JW0713", +"ECK0712" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AC41" +] +} +}, +{ +"id":"b0729", +"name":"sucD", +"notes":{ +"original_bigg_ids":[ +"b0729" +] +}, +"annotation":{ +"asap":[ +"ABE-0002485" +], +"ecogene":[ +"EG10982" +], +"ncbigene":[ +"945314" +], +"ncbigi":[ +"16128704" +], +"refseq_locus_tag":[ +"b0729" +], +"refseq_name":[ +"sucD" +], +"refseq_synonym":[ +"JW0718", +"ECK0717" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0AGE9" +] +} +}, +{ +"id":"b0728", +"name":"sucC", +"notes":{ +"original_bigg_ids":[ +"b0728" +] +}, +"annotation":{ +"asap":[ +"ABE-0002483" +], +"ecogene":[ +"EG10981" +], +"ncbigene":[ +"945312" +], +"ncbigi":[ +"16128703" +], +"refseq_locus_tag":[ +"b0728" +], +"refseq_name":[ +"sucC" +], +"refseq_synonym":[ +"JW0717", +"ECK0716" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A836" +] +} +}, +{ +"id":"b0008", +"name":"talB", +"notes":{ +"original_bigg_ids":[ +"b0008" +] +}, +"annotation":{ +"asap":[ +"ABE-0000027" +], +"ecogene":[ +"EG11556" +], +"ncbigene":[ +"944748" +], +"ncbigi":[ +"16128002" +], +"refseq_locus_tag":[ +"b0008" +], +"refseq_name":[ +"talB" +], +"refseq_synonym":[ +"yaaK", +"JW0007", +"ECK0008" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A870" +] +} +}, +{ +"id":"b2464", +"name":"talA", +"notes":{ +"original_bigg_ids":[ +"b2464" +] +}, +"annotation":{ +"asap":[ +"ABE-0008115" +], +"ecogene":[ +"EG11797" +], +"ncbigene":[ +"947006" +], +"ncbigi":[ +"16130389" +], +"refseq_locus_tag":[ +"b2464" +], +"refseq_name":[ +"talA" +], +"refseq_synonym":[ +"ECK2459", +"JW2448" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A867" +] +} +}, +{ +"id":"b2465", +"name":"tktB", +"notes":{ +"original_bigg_ids":[ +"b2465" +] +}, +"annotation":{ +"asap":[ +"ABE-0008117" +], +"ecogene":[ +"EG12100" +], +"ncbigene":[ +"945865" +], +"ncbigi":[ +"16130390" +], +"refseq_locus_tag":[ +"b2465" +], +"refseq_name":[ +"tktB" +], +"refseq_synonym":[ +"JW2449", +"ECK2460" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P33570" +] +} +}, +{ +"id":"b2935", +"name":"tktA", +"notes":{ +"original_bigg_ids":[ +"b2935" +] +}, +"annotation":{ +"asap":[ +"ABE-0009625" +], +"ecogene":[ +"EG11427" +], +"ncbigene":[ +"947420" +], +"ncbigi":[ +"49176286" +], +"refseq_locus_tag":[ +"b2935" +], +"refseq_name":[ +"tktA" +], +"refseq_synonym":[ +"JW5478", +"tkt", +"ECK2930" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P27302" +] +} +}, +{ +"id":"b3919", +"name":"tpiA", +"notes":{ +"original_bigg_ids":[ +"b3919" +] +}, +"annotation":{ +"asap":[ +"ABE-0012799" +], +"ecogene":[ +"EG11015" +], +"ncbigene":[ +"948409" +], +"ncbigi":[ +"16131757" +], +"refseq_locus_tag":[ +"b3919" +], +"refseq_name":[ +"tpiA" +], +"refseq_synonym":[ +"JW3890", +"ECK3911", +"tpi" +], +"sbo":"SBO:0000243", +"uniprot":[ +"P0A858" +] +} +} +], +"id":"e_coli_core", +"compartments":{ +"c":"cytosol", +"e":"extracellular space" +}, +"version":"1" +} \ No newline at end of file diff --git a/src/cobra/test/data/e_coli_core_for_annotation.xml b/src/cobra/test/data/e_coli_core_for_annotation.xml new file mode 100644 index 000000000..fa87d46cb --- /dev/null +++ b/src/cobra/test/data/e_coli_core_for_annotation.xml @@ -0,0 +1,8342 @@ + + + + + +
+

Key1 : Value1

+
+

+
e_coli_core - Escherichia coli str. K-12 substr. MG1655
+

+
+
+ +
+ + + +

Description

+
+

This is a metabolism model of Escherichia coli str. K-12 substr. MG1655 in + SBML format.

+
+
The content of this model has been carefully created in a manual research effort. This file has been exported from the software + COBRApy and further processed with the + JSBML-based + ModelPolisher application.
+
This file has been produced by the + Systems Biology Research Group using + BiGG Models knowledge-base version of Feb 24, 2018, where it is currently hosted and + identified by: + e_coli_core.
+

Terms of use

+
Copyright © 2017 The Regents of the University of California.
+
+

Redistribution and use of any part of this model from BiGG Models knowledge-base, with or without modification, are permitted provided that the following conditions are met: +

    +
  1. Redistributions of this SBML file must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. +
  3. Redistributions in a different form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided + with the distribution.
  4. +
This model 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.

+

For specific licensing terms about this particular model and regulations of commercial use, see + this model in BiGG Models knowledge-base.

+
+

References

When using content from BiGG Models knowledge-base in your research works, please cite +
+
King ZA, Lu JS, Dräger A, Miller PC, Federowicz S, Lerman JA, Ebrahim A, Palsson BO, and Lewis NE. (2015). +
BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models. + Nucl Acids Res. + doi:10.1093/nar/gkv1049
+
+
+ + + + + + + + Koenig + Matthias + + koenigmx@hu-berlin.de + + Humboldt-University Berlin, Institute for Theoretical Biology + + + + + + 2019-03-06T14:40:55Z + + + 2019-03-06T14:40:55Z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Key1 : Value1

+

Key2 : Value2

+
+

A Heading

+
e_coli_core - Escherichia coli str. K-12 substr. MG1655
+
+

Key3 : Value3

+
+ +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
diff --git a/src/cobra/test/data/e_coli_new_format.json b/src/cobra/test/data/e_coli_new_format.json new file mode 100644 index 000000000..6f87f65d6 --- /dev/null +++ b/src/cobra/test/data/e_coli_new_format.json @@ -0,0 +1,9168 @@ +{ + "annotation": { + "cvterms": { + "bqb_hasTaxon": [ + { + "resources": [ + "http://identifiers.org/taxonomy/511145" + ] + } + ], + "bqm_is": [ + { + "nested_data": { + "bqb_isDescribedBy": [ + { + "resources": [ + "https://identifiers.org/pubmed/1111111" + ] + }, + { + "resources": [ + "https://identifiers.org/eco/ECO:0000004" + ] + } + ] + }, + "resources": [ + "http://identifiers.org/bigg.model/e_coli_core" + ] + } + ], + "bqm_isDescribedBy": [ + { + "resources": [ + "http://identifiers.org/doi/10.1128/ecosalplus.10.2.1" + ] + }, + { + "resources": [ + "http://identifiers.org/ncbigi/gi:16128336" + ] + } + ] + }, + "history": { + "created_date": "2019-03-06T14:40:55Z", + "creators": [ + { + "email": "koenigmx@hu-berlin.de", + "first_name": "Matthias", + "last_name": "Koenig", + "organization_name": "Humboldt-University Berlin, Institute for Theoretical Biology" + } + ], + "modified_dates": [ + "2019-03-06T14:40:55Z" + ] + } + }, + "compartments": { + "c": "cytosol", + "e": "extracellular space" + }, + "genes": [ + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P77580" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0001207", + "http://identifiers.org/ecogene/EG13625", + "http://identifiers.org/ncbigene/945008", + "http://identifiers.org/ncbigi/gi:16128336" + ] + } + ] + } + }, + "id": "G_b0351", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A9Q7" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0004164", + "http://identifiers.org/ecogene/EG10031", + "http://identifiers.org/ncbigene/945837", + "http://identifiers.org/ncbigi/gi:16129202" + ] + } + ] + } + }, + "id": "G_b1241", + "name": "" + }, + { + "id": "G_s0001", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A6A3" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007579", + "http://identifiers.org/ecogene/EG10027", + "http://identifiers.org/ncbigene/946775", + "http://identifiers.org/ncbigi/gi:16130231" + ] + } + ] + } + }, + "id": "G_b2296", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P11868" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0010245", + "http://identifiers.org/ecogene/EG11172", + "http://identifiers.org/ncbigene/947635", + "http://identifiers.org/ncbigi/gi:145698313" + ] + } + ] + } + }, + "id": "G_b3115", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P33221" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0006162", + "http://identifiers.org/ecogene/EG11809", + "http://identifiers.org/ncbigene/946368", + "http://identifiers.org/ncbigi/gi:16129802" + ] + } + ] + } + }, + "id": "G_b1849", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P25516" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0004283", + "http://identifiers.org/ecogene/EG11325", + "http://identifiers.org/ncbigene/946724", + "http://identifiers.org/ncbigi/gi:16129237" + ] + } + ] + } + }, + "id": "G_b1276", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P36683" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0000411", + "http://identifiers.org/ecogene/EG12316", + "http://identifiers.org/ncbigene/944864", + "http://identifiers.org/ncbigi/gi:16128111" + ] + } + ] + } + }, + "id": "G_b0118", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P69441" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0001645", + "http://identifiers.org/ecogene/EG10032", + "http://identifiers.org/ncbigene/945097", + "http://identifiers.org/ncbigi/gi:16128458" + ] + } + ] + } + }, + "id": "G_b0474", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFG3" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002478", + "http://identifiers.org/ecogene/EG10979", + "http://identifiers.org/ncbigene/945303", + "http://identifiers.org/ncbigi/gi:16128701" + ] + } + ] + } + }, + "id": "G_b0726", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A9P0" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0000404", + "http://identifiers.org/ecogene/EG10543", + "http://identifiers.org/ncbigene/944854", + "http://identifiers.org/ncbigi/gi:16128109" + ] + } + ] + } + }, + "id": "G_b0116", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFG6" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002480", + "http://identifiers.org/ecogene/EG10980", + "http://identifiers.org/ncbigene/945307", + "http://identifiers.org/ncbigi/gi:16128702" + ] + } + ] + } + }, + "id": "G_b0727", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AEX3" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0008515", + "http://identifiers.org/ecogene/EG10522", + "http://identifiers.org/ncbigene/947069", + "http://identifiers.org/ncbigi/gi:16130512" + ] + } + ] + } + }, + "id": "G_b2587", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P25437" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0001221", + "http://identifiers.org/ecogene/EG50010", + "http://identifiers.org/ncbigene/944988", + "http://identifiers.org/ncbigi/gi:16128341" + ] + } + ] + } + }, + "id": "G_b0356", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P39451" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0004928", + "http://identifiers.org/ecogene/EG12622", + "http://identifiers.org/ncbigene/946036", + "http://identifiers.org/ncbigi/gi:90111280" + ] + } + ] + } + }, + "id": "G_b1478", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0ABA0" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012217", + "http://identifiers.org/ecogene/EG10103", + "http://identifiers.org/ncbigene/948247", + "http://identifiers.org/ncbigi/gi:16131604" + ] + } + ] + } + }, + "id": "G_b3736", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A6E6" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012206", + "http://identifiers.org/ecogene/EG10100", + "http://identifiers.org/ncbigene/948245", + "http://identifiers.org/ncbigi/gi:16131599" + ] + } + ] + } + }, + "id": "G_b3731", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0ABB4" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012208", + "http://identifiers.org/ecogene/EG10101", + "http://identifiers.org/ncbigene/948244", + "http://identifiers.org/ncbigi/gi:16131600" + ] + } + ] + } + }, + "id": "G_b3732", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P68699" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012220", + "http://identifiers.org/ecogene/EG10102", + "http://identifiers.org/ncbigene/948253", + "http://identifiers.org/ncbigi/gi:16131605" + ] + } + ] + } + }, + "id": "G_b3737", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0ABB0" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012213", + "http://identifiers.org/ecogene/EG10098", + "http://identifiers.org/ncbigene/948242", + "http://identifiers.org/ncbigi/gi:16131602" + ] + } + ] + } + }, + "id": "G_b3734", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0ABA4" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012215", + "http://identifiers.org/ecogene/EG10105", + "http://identifiers.org/ncbigene/948254", + "http://identifiers.org/ncbigi/gi:16131603" + ] + } + ] + } + }, + "id": "G_b3735", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AB98" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012222", + "http://identifiers.org/ecogene/EG10099", + "http://identifiers.org/ncbigene/948252", + "http://identifiers.org/ncbigi/gi:16131606" + ] + } + ] + } + }, + "id": "G_b3738", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0ABC0" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012224", + "http://identifiers.org/ecogene/EG10106", + "http://identifiers.org/ncbigene/948251", + "http://identifiers.org/ncbigi/gi:90111645" + ] + } + ] + } + }, + "id": "G_b3739", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0ABA6" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012211", + "http://identifiers.org/ecogene/EG10104", + "http://identifiers.org/ncbigene/948243", + "http://identifiers.org/ncbigi/gi:16131601" + ] + } + ] + } + }, + "id": "G_b3733", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0ABH7" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002451", + "http://identifiers.org/ecogene/EG10402", + "http://identifiers.org/ncbigene/945323", + "http://identifiers.org/ncbigi/gi:16128695" + ] + } + ] + } + }, + "id": "G_b0720", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P26458" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0003302", + "http://identifiers.org/ecogene/EG11379", + "http://identifiers.org/ncbigene/947547", + "http://identifiers.org/ncbigi/gi:16128945" + ] + } + ] + } + }, + "id": "G_b0979", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P26459" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0003300", + "http://identifiers.org/ecogene/EG11380", + "http://identifiers.org/ncbigene/945585", + "http://identifiers.org/ncbigi/gi:16128944" + ] + } + ] + } + }, + "id": "G_b0978", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0ABJ9" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002499", + "http://identifiers.org/ecogene/EG10173", + "http://identifiers.org/ncbigene/945341", + "http://identifiers.org/ncbigi/gi:90111166" + ] + } + ] + } + }, + "id": "G_b0733", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0ABK2" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002501", + "http://identifiers.org/ecogene/EG10174", + "http://identifiers.org/ncbigene/945347", + "http://identifiers.org/ncbigi/gi:16128709" + ] + } + ] + } + }, + "id": "G_b0734", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/Q46839" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0009763", + "http://identifiers.org/ecogene/EG12995", + "http://identifiers.org/ncbigene/947259", + "http://identifiers.org/ncbigi/gi:16130875" + ] + } + ] + } + }, + "id": "G_b2975", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P33231" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0011777", + "http://identifiers.org/ecogene/EG11961", + "http://identifiers.org/ncbigene/948114", + "http://identifiers.org/ncbigi/gi:16131474" + ] + } + ] + } + }, + "id": "G_b3603", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A6P9" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0009110", + "http://identifiers.org/ecogene/EG10258", + "http://identifiers.org/ncbigene/945032", + "http://identifiers.org/ncbigi/gi:16130686" + ] + } + ] + } + }, + "id": "G_b2779", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A991" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0006941", + "http://identifiers.org/ecogene/EG14062", + "http://identifiers.org/ncbigene/946632", + "http://identifiers.org/ncbigi/gi:90111385" + ] + } + ] + } + }, + "id": "G_b2097", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P77704" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005906", + "http://identifiers.org/ecogene/EG13485", + "http://identifiers.org/ncbigene/946291", + "http://identifiers.org/ncbigi/gi:16129727" + ] + } + ] + } + }, + "id": "G_b1773", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AB71" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0009600", + "http://identifiers.org/ecogene/EG10282", + "http://identifiers.org/ncbigene/947415", + "http://identifiers.org/ncbigi/gi:16130826" + ] + } + ] + } + }, + "id": "G_b2925", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A993" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0013842", + "http://identifiers.org/ecogene/EG10283", + "http://identifiers.org/ncbigene/948753", + "http://identifiers.org/ncbigi/gi:16132054" + ] + } + ] + } + }, + "id": "G_b4232", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A9C9" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012821", + "http://identifiers.org/ecogene/EG11517", + "http://identifiers.org/ncbigene/948424", + "http://identifiers.org/ncbigi/gi:16131763" + ] + } + ] + } + }, + "id": "G_b3925", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P77733" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0008206", + "http://identifiers.org/ecogene/EG14220", + "http://identifiers.org/ncbigene/949032", + "http://identifiers.org/ncbigi/gi:16130417" + ] + } + ] + } + }, + "id": "G_b2492", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AC23" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0003073", + "http://identifiers.org/ecogene/EG11258", + "http://identifiers.org/ncbigene/945513", + "http://identifiers.org/ncbigi/gi:16128871" + ] + } + ] + } + }, + "id": "G_b0904", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A8Q3" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0013595", + "http://identifiers.org/ecogene/EG10333", + "http://identifiers.org/ncbigene/948668", + "http://identifiers.org/ncbigi/gi:16131976" + ] + } + ] + } + }, + "id": "G_b4151", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A8Q0" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0013598", + "http://identifiers.org/ecogene/EG10332", + "http://identifiers.org/ncbigene/948680", + "http://identifiers.org/ncbigi/gi:16131977" + ] + } + ] + } + }, + "id": "G_b4152", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P00363" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0013604", + "http://identifiers.org/ecogene/EG10330", + "http://identifiers.org/ncbigene/948667", + "http://identifiers.org/ncbigi/gi:16131979" + ] + } + ] + } + }, + "id": "G_b4154", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AC47" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0013602", + "http://identifiers.org/ecogene/EG10331", + "http://identifiers.org/ncbigene/948666", + "http://identifiers.org/ncbigi/gi:16131978" + ] + } + ] + } + }, + "id": "G_b4153", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P08839" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007967", + "http://identifiers.org/ecogene/EG10789", + "http://identifiers.org/ncbigene/946879", + "http://identifiers.org/ncbigi/gi:16130342" + ] + } + ] + } + }, + "id": "G_b2416", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AA04" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007962", + "http://identifiers.org/ecogene/EG10788", + "http://identifiers.org/ncbigene/946886", + "http://identifiers.org/ncbigi/gi:16130341" + ] + } + ] + } + }, + "id": "G_b2415", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P69797" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0006054", + "http://identifiers.org/ecogene/EG10567", + "http://identifiers.org/ncbigene/946334", + "http://identifiers.org/ncbigi/gi:16129771" + ] + } + ] + } + }, + "id": "G_b1817", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P69801" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0006056", + "http://identifiers.org/ecogene/EG10568", + "http://identifiers.org/ncbigene/946332", + "http://identifiers.org/ncbigi/gi:16129772" + ] + } + ] + } + }, + "id": "G_b1818", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P69805" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0006058", + "http://identifiers.org/ecogene/EG10569", + "http://identifiers.org/ncbigene/946342", + "http://identifiers.org/ncbigi/gi:345452720" + ] + } + ] + } + }, + "id": "G_b1819", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P05042" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005380", + "http://identifiers.org/ecogene/EG10358", + "http://identifiers.org/ncbigene/946147", + "http://identifiers.org/ncbigi/gi:16129569" + ] + } + ] + } + }, + "id": "G_b1611", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P14407" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0013501", + "http://identifiers.org/ecogene/EG10357", + "http://identifiers.org/ncbigene/948642", + "http://identifiers.org/ncbigi/gi:16131948" + ] + } + ] + } + }, + "id": "G_b4122", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AC33" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005392", + "http://identifiers.org/ecogene/EG10356", + "http://identifiers.org/ncbigene/946826", + "http://identifiers.org/ncbigi/gi:16129570" + ] + } + ] + } + }, + "id": "G_b1612", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A830" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0011527", + "http://identifiers.org/ecogene/EG20044", + "http://identifiers.org/ncbigene/948039", + "http://identifiers.org/ncbigi/gi:16131400" + ] + } + ] + } + }, + "id": "G_b3528", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AC53" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0006171", + "http://identifiers.org/ecogene/EG11221", + "http://identifiers.org/ncbigene/946370", + "http://identifiers.org/ncbigi/gi:16129805" + ] + } + ] + } + }, + "id": "G_b1852", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A9B2" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005920", + "http://identifiers.org/ecogene/EG10367", + "http://identifiers.org/ncbigene/947679", + "http://identifiers.org/ncbigi/gi:16129733" + ] + } + ] + } + }, + "id": "G_b1779", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P69786" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0003722", + "http://identifiers.org/ecogene/EG10787", + "http://identifiers.org/ncbigene/945651", + "http://identifiers.org/ncbigi/gi:16129064" + ] + } + ] + } + }, + "id": "G_b1101", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P69783" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007971", + "http://identifiers.org/ecogene/EG10165", + "http://identifiers.org/ncbigene/946880", + "http://identifiers.org/ncbigi/gi:16130343" + ] + } + ] + } + }, + "id": "G_b2417", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P19642" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005429", + "http://identifiers.org/ecogene/EG10563", + "http://identifiers.org/ncbigene/946009", + "http://identifiers.org/ncbigi/gi:16129579" + ] + } + ] + } + }, + "id": "G_b1621", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P78061" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0004365", + "http://identifiers.org/ecogene/EG13908", + "http://identifiers.org/ncbigene/946202", + "http://identifiers.org/ncbigi/gi:90111244" + ] + } + ] + } + }, + "id": "G_b1297", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A9C5" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012640", + "http://identifiers.org/ecogene/EG10383", + "http://identifiers.org/ncbigene/948370", + "http://identifiers.org/ncbigi/gi:16131710" + ] + } + ] + } + }, + "id": "G_b3870", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AEQ3" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002771", + "http://identifiers.org/ecogene/EG10386", + "http://identifiers.org/ncbigene/944872", + "http://identifiers.org/ncbigi/gi:16128779" + ] + } + ] + } + }, + "id": "G_b0811", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AEQ6" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002766", + "http://identifiers.org/ecogene/EG10388", + "http://identifiers.org/ncbigene/945621", + "http://identifiers.org/ncbigi/gi:16128778" + ] + } + ] + } + }, + "id": "G_b0810", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P10346" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002764", + "http://identifiers.org/ecogene/EG10389", + "http://identifiers.org/ncbigene/945435", + "http://identifiers.org/ncbigi/gi:16128777" + ] + } + ] + } + }, + "id": "G_b0809", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P00370" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005865", + "http://identifiers.org/ecogene/EG10372", + "http://identifiers.org/ncbigene/946802", + "http://identifiers.org/ncbigi/gi:16129715" + ] + } + ] + } + }, + "id": "G_b1761", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P77454" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0001688", + "http://identifiers.org/ecogene/EG13247", + "http://identifiers.org/ncbigene/946187", + "http://identifiers.org/ncbigi/gi:16128469" + ] + } + ] + } + }, + "id": "G_b0485", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A6W0" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005086", + "http://identifiers.org/ecogene/EG13816", + "http://identifiers.org/ncbigene/944973", + "http://identifiers.org/ncbigi/gi:16129483" + ] + } + ] + } + }, + "id": "G_b1524", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P05041" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0006031", + "http://identifiers.org/ecogene/EG10683", + "http://identifiers.org/ncbigene/946337", + "http://identifiers.org/ncbigi/gi:16129766" + ] + } + ] + } + }, + "id": "G_b1812", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P09831" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0010545", + "http://identifiers.org/ecogene/EG10403", + "http://identifiers.org/ncbigene/947724", + "http://identifiers.org/ncbigi/gi:308209621" + ] + } + ] + } + }, + "id": "G_b3212", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P09832" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0010547", + "http://identifiers.org/ecogene/EG10404", + "http://identifiers.org/ncbigene/947723", + "http://identifiers.org/ncbigi/gi:16131103" + ] + } + ] + } + }, + "id": "G_b3213", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P21345" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0013357", + "http://identifiers.org/ecogene/EG10405", + "http://identifiers.org/ncbigene/948591", + "http://identifiers.org/ncbigi/gi:16131903" + ] + } + ] + } + }, + "id": "G_b4077", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P00350" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0006737", + "http://identifiers.org/ecogene/EG10411", + "http://identifiers.org/ncbigene/946554", + "http://identifiers.org/ncbigi/gi:16129970" + ] + } + ] + } + }, + "id": "G_b2029", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P60844" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002976", + "http://identifiers.org/ecogene/EG13270", + "http://identifiers.org/ncbigene/945497", + "http://identifiers.org/ncbigi/gi:16128843" + ] + } + ] + } + }, + "id": "G_b0875", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P08200" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0003823", + "http://identifiers.org/ecogene/EG10489", + "http://identifiers.org/ncbigene/945702", + "http://identifiers.org/ncbigi/gi:16129099" + ] + } + ] + } + }, + "id": "G_b1136", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A9G6" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0013128", + "http://identifiers.org/ecogene/EG10022", + "http://identifiers.org/ncbigene/948517", + "http://identifiers.org/ncbigi/gi:16131841" + ] + } + ] + } + }, + "id": "G_b4015", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P06149" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007048", + "http://identifiers.org/ecogene/EG10231", + "http://identifiers.org/ncbigene/946653", + "http://identifiers.org/ncbigi/gi:16130071" + ] + } + ] + } + }, + "id": "G_b2133", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P52643" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0004619", + "http://identifiers.org/ecogene/EG13186", + "http://identifiers.org/ncbigene/946315", + "http://identifiers.org/ncbigi/gi:16129341" + ] + } + ] + } + }, + "id": "G_b1380", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P37330" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0009767", + "http://identifiers.org/ecogene/EG20080", + "http://identifiers.org/ncbigene/948857", + "http://identifiers.org/ncbigi/gi:16130876" + ] + } + ] + } + }, + "id": "G_b2976", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P08997" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0013125", + "http://identifiers.org/ecogene/EG10023", + "http://identifiers.org/ncbigene/948512", + "http://identifiers.org/ncbigi/gi:16131840" + ] + } + ] + } + }, + "id": "G_b4014", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P61889" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0010613", + "http://identifiers.org/ecogene/EG10576", + "http://identifiers.org/ncbigene/947854", + "http://identifiers.org/ncbigi/gi:16131126" + ] + } + ] + } + }, + "id": "G_b3236", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P26616" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0004931", + "http://identifiers.org/ecogene/EG10948", + "http://identifiers.org/ncbigene/946031", + "http://identifiers.org/ncbigi/gi:90111281" + ] + } + ] + } + }, + "id": "G_b1479", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P76558" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0008111", + "http://identifiers.org/ecogene/EG14193", + "http://identifiers.org/ncbigene/946947", + "http://identifiers.org/ncbigi/gi:16130388" + ] + } + ] + } + }, + "id": "G_b2463", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFF0" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007526", + "http://identifiers.org/ecogene/EG12093", + "http://identifiers.org/ncbigene/945136", + "http://identifiers.org/ncbigi/gi:145698289" + ] + } + ] + } + }, + "id": "G_b2276", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFE4" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007534", + "http://identifiers.org/ecogene/EG12091", + "http://identifiers.org/ncbigene/947580", + "http://identifiers.org/ncbigi/gi:16130214" + ] + } + ] + } + }, + "id": "G_b2279", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFC3" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007553", + "http://identifiers.org/ecogene/EG12082", + "http://identifiers.org/ncbigene/946764", + "http://identifiers.org/ncbigi/gi:49176207" + ] + } + ] + } + }, + "id": "G_b2288", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P33607" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007532", + "http://identifiers.org/ecogene/EG12092", + "http://identifiers.org/ncbigene/945540", + "http://identifiers.org/ncbigi/gi:16130213" + ] + } + ] + } + }, + "id": "G_b2278", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P33599" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007549", + "http://identifiers.org/ecogene/EG12084", + "http://identifiers.org/ncbigene/946759", + "http://identifiers.org/ncbigi/gi:145698291" + ] + } + ] + } + }, + "id": "G_b2286", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFD1" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007547", + "http://identifiers.org/ecogene/EG12086", + "http://identifiers.org/ncbigene/946746", + "http://identifiers.org/ncbigi/gi:16130220" + ] + } + ] + } + }, + "id": "G_b2285", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P33602" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007543", + "http://identifiers.org/ecogene/EG12087", + "http://identifiers.org/ncbigene/946762", + "http://identifiers.org/ncbigi/gi:145698290" + ] + } + ] + } + }, + "id": "G_b2283", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFC7" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007551", + "http://identifiers.org/ecogene/EG12083", + "http://identifiers.org/ncbigene/946738", + "http://identifiers.org/ncbigi/gi:16130222" + ] + } + ] + } + }, + "id": "G_b2287", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P31979" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007545", + "http://identifiers.org/ecogene/EG11774", + "http://identifiers.org/ncbigene/946753", + "http://identifiers.org/ncbigi/gi:16130219" + ] + } + ] + } + }, + "id": "G_b2284", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFD6" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007539", + "http://identifiers.org/ecogene/EG12089", + "http://identifiers.org/ncbigene/946757", + "http://identifiers.org/ncbigi/gi:16130216" + ] + } + ] + } + }, + "id": "G_b2281", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFE8" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007529", + "http://identifiers.org/ecogene/EG11773", + "http://identifiers.org/ncbigene/947731", + "http://identifiers.org/ncbigi/gi:16130212" + ] + } + ] + } + }, + "id": "G_b2277", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFD4" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007541", + "http://identifiers.org/ecogene/EG12088", + "http://identifiers.org/ncbigene/946761", + "http://identifiers.org/ncbigi/gi:16130217" + ] + } + ] + } + }, + "id": "G_b2282", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFE0" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007536", + "http://identifiers.org/ecogene/EG12090", + "http://identifiers.org/ncbigene/946756", + "http://identifiers.org/ncbigi/gi:16130215" + ] + } + ] + } + }, + "id": "G_b2280", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P07001" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005354", + "http://identifiers.org/ecogene/EG10744", + "http://identifiers.org/ncbigene/946628", + "http://identifiers.org/ncbigi/gi:16129561" + ] + } + ] + } + }, + "id": "G_b1603", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AB67" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005352", + "http://identifiers.org/ecogene/EG10745", + "http://identifiers.org/ncbigene/946144", + "http://identifiers.org/ncbigi/gi:16129560" + ] + } + ] + } + }, + "id": "G_b1602", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P27306" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012975", + "http://identifiers.org/ecogene/EG11428", + "http://identifiers.org/ncbigene/948461", + "http://identifiers.org/ncbigi/gi:90111670" + ] + } + ] + } + }, + "id": "G_b3962", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P69681" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0001564", + "http://identifiers.org/ecogene/EG11821", + "http://identifiers.org/ncbigene/945084", + "http://identifiers.org/ncbigi/gi:16128436" + ] + } + ] + } + }, + "id": "G_b0451", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFG8" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0000397", + "http://identifiers.org/ecogene/EG10024", + "http://identifiers.org/ncbigene/944834", + "http://identifiers.org/ncbigi/gi:16128107" + ] + } + ] + } + }, + "id": "G_b0114", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P06959" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0000400", + "http://identifiers.org/ecogene/EG10025", + "http://identifiers.org/ncbigene/944794", + "http://identifiers.org/ncbigi/gi:16128108" + ] + } + ] + } + }, + "id": "G_b0115", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P06999" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005748", + "http://identifiers.org/ecogene/EG10700", + "http://identifiers.org/ncbigene/946230", + "http://identifiers.org/ncbigi/gi:49176138" + ] + } + ] + } + }, + "id": "G_b1723", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A796" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012789", + "http://identifiers.org/ecogene/EG10699", + "http://identifiers.org/ncbigene/948412", + "http://identifiers.org/ncbigi/gi:16131754" + ] + } + ] + } + }, + "id": "G_b3916", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P42632" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0010242", + "http://identifiers.org/ecogene/EG12758", + "http://identifiers.org/ncbigene/947623", + "http://identifiers.org/ncbigi/gi:49176316" + ] + } + ] + } + }, + "id": "G_b3114", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P32675" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012937", + "http://identifiers.org/ecogene/EG11911", + "http://identifiers.org/ncbigene/948453", + "http://identifiers.org/ncbigi/gi:49176447" + ] + } + ] + } + }, + "id": "G_b3952", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P32674" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012934", + "http://identifiers.org/ecogene/EG11910", + "http://identifiers.org/ncbigene/948454", + "http://identifiers.org/ncbigi/gi:16131789" + ] + } + ] + } + }, + "id": "G_b3951", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A9N4" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0003068", + "http://identifiers.org/ecogene/EG10028", + "http://identifiers.org/ncbigene/945517", + "http://identifiers.org/ncbigi/gi:16128869" + ] + } + ] + } + }, + "id": "G_b0902", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P09373" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0003071", + "http://identifiers.org/ecogene/EG10701", + "http://identifiers.org/ncbigene/945514", + "http://identifiers.org/ncbigi/gi:16128870" + ] + } + ] + } + }, + "id": "G_b0903", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P68066" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0008489", + "http://identifiers.org/ecogene/EG11784", + "http://identifiers.org/ncbigene/947068", + "http://identifiers.org/ncbigi/gi:16130504" + ] + } + ] + } + }, + "id": "G_b2579", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A6T1" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0013163", + "http://identifiers.org/ecogene/EG10702", + "http://identifiers.org/ncbigene/948535", + "http://identifiers.org/ncbigi/gi:16131851" + ] + } + ] + } + }, + "id": "G_b4025", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A799" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0009605", + "http://identifiers.org/ecogene/EG10703", + "http://identifiers.org/ncbigene/947414", + "http://identifiers.org/ncbigi/gi:16130827" + ] + } + ] + } + }, + "id": "G_b2926", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P52697" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002611", + "http://identifiers.org/ecogene/EG13231", + "http://identifiers.org/ncbigene/946398", + "http://identifiers.org/ncbigi/gi:16128735" + ] + } + ] + } + }, + "id": "G_b0767", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P62707" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002563", + "http://identifiers.org/ecogene/EG11699", + "http://identifiers.org/ncbigene/945068", + "http://identifiers.org/ncbigi/gi:16128723" + ] + } + ] + } + }, + "id": "G_b0755", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A7A2" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0014416", + "http://identifiers.org/ecogene/EG12164", + "http://identifiers.org/ncbigene/948918", + "http://identifiers.org/ncbigi/gi:16132212" + ] + } + ] + } + }, + "id": "G_b4395", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P37689" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0011818", + "http://identifiers.org/ecogene/EG12296", + "http://identifiers.org/ncbigene/948130", + "http://identifiers.org/ncbigi/gi:16131483" + ] + } + ] + } + }, + "id": "G_b3612", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P43676" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0009800", + "http://identifiers.org/ecogene/EG12883", + "http://identifiers.org/ncbigene/947475", + "http://identifiers.org/ncbigi/gi:16130887" + ] + } + ] + } + }, + "id": "G_b2987", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AFJ7" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0011407", + "http://identifiers.org/ecogene/EG12230", + "http://identifiers.org/ncbigene/948009", + "http://identifiers.org/ncbigi/gi:16131365" + ] + } + ] + } + }, + "id": "G_b3493", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P00864" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012950", + "http://identifiers.org/ecogene/EG10756", + "http://identifiers.org/ncbigene/948457", + "http://identifiers.org/ncbigi/gi:16131794" + ] + } + ] + } + }, + "id": "G_b3956", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P22259" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0011106", + "http://identifiers.org/ecogene/EG10688", + "http://identifiers.org/ncbigene/945667", + "http://identifiers.org/ncbigi/gi:16131280" + ] + } + ] + } + }, + "id": "G_b3403", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P23538" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005678", + "http://identifiers.org/ecogene/EG10759", + "http://identifiers.org/ncbigene/946209", + "http://identifiers.org/ncbigi/gi:16129658" + ] + } + ] + } + }, + "id": "G_b1702", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A9M8" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0007582", + "http://identifiers.org/ecogene/EG20173", + "http://identifiers.org/ncbigene/946778", + "http://identifiers.org/ncbigi/gi:16130232" + ] + } + ] + } + }, + "id": "G_b2297", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P77218" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0008097", + "http://identifiers.org/ecogene/EG14188", + "http://identifiers.org/ncbigene/946940", + "http://identifiers.org/ncbigi/gi:16130383" + ] + } + ] + } + }, + "id": "G_b2458", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AD61" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0005600", + "http://identifiers.org/ecogene/EG10804", + "http://identifiers.org/ncbigene/946179", + "http://identifiers.org/ncbigi/gi:16129632" + ] + } + ] + } + }, + "id": "G_b1676", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P21599" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0006182", + "http://identifiers.org/ecogene/EG10803", + "http://identifiers.org/ncbigene/946527", + "http://identifiers.org/ncbigi/gi:16129807" + ] + } + ] + } + }, + "id": "G_b1854", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P39362" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0014097", + "http://identifiers.org/ecogene/EG12553", + "http://identifiers.org/ncbigene/948829", + "http://identifiers.org/ncbigi/gi:16132122" + ] + } + ] + } + }, + "id": "G_b4301", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AG07" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0011061", + "http://identifiers.org/ecogene/EG11960", + "http://identifiers.org/ncbigene/947896", + "http://identifiers.org/ncbigi/gi:16131264" + ] + } + ] + } + }, + "id": "G_b3386", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A7Z0" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0009567", + "http://identifiers.org/ecogene/EG11443", + "http://identifiers.org/ncbigene/947407", + "http://identifiers.org/ncbigi/gi:16130815" + ] + } + ] + } + }, + "id": "G_b2914", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P37351" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0013405", + "http://identifiers.org/ecogene/EG11827", + "http://identifiers.org/ncbigene/948602", + "http://identifiers.org/ncbigi/gi:16131916" + ] + } + ] + } + }, + "id": "G_b4090", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AC41" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002466", + "http://identifiers.org/ecogene/EG10931", + "http://identifiers.org/ncbigene/945402", + "http://identifiers.org/ncbigi/gi:16128698" + ] + } + ] + } + }, + "id": "G_b0723", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P07014" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002468", + "http://identifiers.org/ecogene/EG10932", + "http://identifiers.org/ncbigene/945300", + "http://identifiers.org/ncbigi/gi:16128699" + ] + } + ] + } + }, + "id": "G_b0724", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AC44" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002464", + "http://identifiers.org/ecogene/EG10934", + "http://identifiers.org/ncbigene/945322", + "http://identifiers.org/ncbigi/gi:16128697" + ] + } + ] + } + }, + "id": "G_b0722", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P69054" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002460", + "http://identifiers.org/ecogene/EG10933", + "http://identifiers.org/ncbigene/945316", + "http://identifiers.org/ncbigi/gi:16128696" + ] + } + ] + } + }, + "id": "G_b0721", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0AGE9" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002485", + "http://identifiers.org/ecogene/EG10982", + "http://identifiers.org/ncbigene/945314", + "http://identifiers.org/ncbigi/gi:16128704" + ] + } + ] + } + }, + "id": "G_b0729", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A836" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0002483", + "http://identifiers.org/ecogene/EG10981", + "http://identifiers.org/ncbigene/945312", + "http://identifiers.org/ncbigi/gi:16128703" + ] + } + ] + } + }, + "id": "G_b0728", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A870" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0000027", + "http://identifiers.org/ecogene/EG11556", + "http://identifiers.org/ncbigene/944748", + "http://identifiers.org/ncbigi/gi:16128002" + ] + } + ] + } + }, + "id": "G_b0008", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A867" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0008115", + "http://identifiers.org/ecogene/EG11797", + "http://identifiers.org/ncbigene/947006", + "http://identifiers.org/ncbigi/gi:16130389" + ] + } + ] + } + }, + "id": "G_b2464", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P27302" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0009625", + "http://identifiers.org/ecogene/EG11427", + "http://identifiers.org/ncbigene/947420", + "http://identifiers.org/ncbigi/gi:49176286" + ] + } + ] + } + }, + "id": "G_b2935", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P33570" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0008117", + "http://identifiers.org/ecogene/EG12100", + "http://identifiers.org/ncbigene/945865", + "http://identifiers.org/ncbigi/gi:16130390" + ] + } + ] + } + }, + "id": "G_b2465", + "name": "" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/uniprot/P0A858" + ] + } + ], + "bqb_isEncodedBy": [ + { + "resources": [ + "http://identifiers.org/asap/ABE-0012799", + "http://identifiers.org/ecogene/EG11015", + "http://identifiers.org/ncbigene/948409", + "http://identifiers.org/ncbigi/gi:16131757" + ] + } + ] + } + }, + "id": "G_b3919", + "name": "" + } + ], + "groups": [ + { + "annotation": { + "sbo": "SBO:0000633" + }, + "id": "G_g1", + "kind": "partonomy", + "members": [ + { + "idRef": "R_ACALD", + "type": "Reaction" + }, + { + "idRef": "R_ACKr", + "type": "Reaction" + }, + { + "idRef": "R_ALCD2x", + "type": "Reaction" + }, + { + "idRef": "R_LDH_D", + "type": "Reaction" + }, + { + "idRef": "R_PFL", + "type": "Reaction" + }, + { + "idRef": "R_PTAr", + "type": "Reaction" + } + ], + "name": "Pyruvate Metabolism" + }, + { + "annotation": { + "sbo": "SBO:0000633" + }, + "id": "G_g2", + "kind": "partonomy", + "members": [ + { + "idRef": "R_ACALDt", + "type": "Reaction" + }, + { + "idRef": "R_ACt2r", + "type": "Reaction" + }, + { + "idRef": "R_AKGt2r", + "type": "Reaction" + }, + { + "idRef": "R_CO2t", + "type": "Reaction" + }, + { + "idRef": "R_D_LACt2", + "type": "Reaction" + }, + { + "idRef": "R_ETOHt2r", + "type": "Reaction" + }, + { + "idRef": "R_FORt2", + "type": "Reaction" + }, + { + "idRef": "R_FORt", + "type": "Reaction" + }, + { + "idRef": "R_FRUpts2", + "type": "Reaction" + }, + { + "idRef": "R_FUMt2_2", + "type": "Reaction" + }, + { + "idRef": "R_GLCpts", + "type": "Reaction" + }, + { + "idRef": "R_GLNabc", + "type": "Reaction" + }, + { + "idRef": "R_GLUt2r", + "type": "Reaction" + }, + { + "idRef": "R_H2Ot", + "type": "Reaction" + }, + { + "idRef": "R_MALt2_2", + "type": "Reaction" + }, + { + "idRef": "R_O2t", + "type": "Reaction" + }, + { + "idRef": "R_PYRt2", + "type": "Reaction" + }, + { + "idRef": "R_SUCCt2_2", + "type": "Reaction" + }, + { + "idRef": "R_SUCCt3", + "type": "Reaction" + } + ], + "name": "Transport, Extracellular" + }, + { + "annotation": { + "sbo": "SBO:0000633" + }, + "id": "G_g3", + "kind": "partonomy", + "members": [ + { + "idRef": "R_ACONTa", + "type": "Reaction" + }, + { + "idRef": "R_ACONTb", + "type": "Reaction" + }, + { + "idRef": "R_AKGDH", + "type": "Reaction" + }, + { + "idRef": "R_CS", + "type": "Reaction" + }, + { + "idRef": "R_FUM", + "type": "Reaction" + }, + { + "idRef": "R_ICDHyr", + "type": "Reaction" + }, + { + "idRef": "R_MDH", + "type": "Reaction" + }, + { + "idRef": "R_SUCOAS", + "type": "Reaction" + } + ], + "name": "Citric Acid Cycle" + }, + { + "annotation": { + "sbo": "SBO:0000633" + }, + "id": "G_g4", + "kind": "partonomy", + "members": [ + { + "idRef": "R_ADK1", + "type": "Reaction" + }, + { + "idRef": "R_ATPS4r", + "type": "Reaction" + }, + { + "idRef": "R_CYTBD", + "type": "Reaction" + }, + { + "idRef": "R_FRD7", + "type": "Reaction" + }, + { + "idRef": "R_NADH16", + "type": "Reaction" + }, + { + "idRef": "R_NADTRHD", + "type": "Reaction" + }, + { + "idRef": "R_SUCDi", + "type": "Reaction" + }, + { + "idRef": "R_THD2", + "type": "Reaction" + } + ], + "name": "Oxidative Phosphorylation" + }, + { + "annotation": { + "sbo": "SBO:0000633" + }, + "id": "G_g5", + "kind": "partonomy", + "members": [ + { + "idRef": "R_ATPM", + "type": "Reaction" + } + ], + "name": "Biomass and maintenance functions" + }, + { + "annotation": { + "sbo": "SBO:0000633" + }, + "id": "G_g6", + "kind": "partonomy", + "members": [ + { + "idRef": "R_ENO", + "type": "Reaction" + }, + { + "idRef": "R_FBA", + "type": "Reaction" + }, + { + "idRef": "R_FBP", + "type": "Reaction" + }, + { + "idRef": "R_GAPD", + "type": "Reaction" + }, + { + "idRef": "R_PDH", + "type": "Reaction" + }, + { + "idRef": "R_PFK", + "type": "Reaction" + }, + { + "idRef": "R_PGI", + "type": "Reaction" + }, + { + "idRef": "R_PGK", + "type": "Reaction" + }, + { + "idRef": "R_PGM", + "type": "Reaction" + }, + { + "idRef": "R_PPS", + "type": "Reaction" + }, + { + "idRef": "R_PYK", + "type": "Reaction" + }, + { + "idRef": "R_TPI", + "type": "Reaction" + } + ], + "name": "Glycolysis/Gluconeogenesis" + }, + { + "annotation": { + "sbo": "SBO:0000633" + }, + "id": "G_g7", + "kind": "partonomy", + "members": [ + { + "idRef": "R_G6PDH2r", + "type": "Reaction" + }, + { + "idRef": "R_GND", + "type": "Reaction" + }, + { + "idRef": "R_PGL", + "type": "Reaction" + }, + { + "idRef": "R_RPE", + "type": "Reaction" + }, + { + "idRef": "R_RPI", + "type": "Reaction" + }, + { + "idRef": "R_TALA", + "type": "Reaction" + }, + { + "idRef": "R_TKT1", + "type": "Reaction" + }, + { + "idRef": "R_TKT2", + "type": "Reaction" + } + ], + "name": "Pentose Phosphate Pathway" + }, + { + "annotation": { + "sbo": "SBO:0000633" + }, + "id": "G_g8", + "kind": "partonomy", + "members": [ + { + "idRef": "R_GLNS", + "type": "Reaction" + }, + { + "idRef": "R_GLUDy", + "type": "Reaction" + }, + { + "idRef": "R_GLUN", + "type": "Reaction" + }, + { + "idRef": "R_GLUSy", + "type": "Reaction" + } + ], + "name": "Glutamate Metabolism" + }, + { + "annotation": { + "sbo": "SBO:0000633" + }, + "id": "G_g9", + "kind": "partonomy", + "members": [ + { + "idRef": "R_ICL", + "type": "Reaction" + }, + { + "idRef": "R_MALS", + "type": "Reaction" + }, + { + "idRef": "R_ME1", + "type": "Reaction" + }, + { + "idRef": "R_ME2", + "type": "Reaction" + }, + { + "idRef": "R_PPC", + "type": "Reaction" + }, + { + "idRef": "R_PPCK", + "type": "Reaction" + } + ], + "name": "Anaplerotic reactions" + }, + { + "annotation": { + "sbo": "SBO:0000633" + }, + "id": "G_g10", + "kind": "partonomy", + "members": [ + { + "idRef": "R_NH4t", + "type": "Reaction" + }, + { + "idRef": "R_PIt2r", + "type": "Reaction" + } + ], + "name": "Inorganic Ion Transport and Metabolism" + } + ], + "id": "e_coli_core", + "metabolites": [ + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/13dpg", + "http://identifiers.org/biocyc/META:DPG", + "http://identifiers.org/chebi/CHEBI:11881", + "http://identifiers.org/chebi/CHEBI:16001", + "http://identifiers.org/chebi/CHEBI:1658", + "http://identifiers.org/chebi/CHEBI:20189", + "http://identifiers.org/chebi/CHEBI:57604", + "http://identifiers.org/hmdb/HMDB62758", + "http://identifiers.org/kegg.compound/C00236", + "http://identifiers.org/metanetx.chemical/MNXM261", + "http://identifiers.org/seed.compound/cpd00203" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C3H4O10P2", + "id": "M_13dpg_c", + "name": "3-Phospho-D-glyceroyl phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/2pg", + "http://identifiers.org/biocyc/META:2-PG", + "http://identifiers.org/chebi/CHEBI:11651", + "http://identifiers.org/chebi/CHEBI:1267", + "http://identifiers.org/chebi/CHEBI:12986", + "http://identifiers.org/chebi/CHEBI:17835", + "http://identifiers.org/chebi/CHEBI:21028", + "http://identifiers.org/chebi/CHEBI:24344", + "http://identifiers.org/chebi/CHEBI:39868", + "http://identifiers.org/chebi/CHEBI:58289", + "http://identifiers.org/chebi/CHEBI:88350", + "http://identifiers.org/hmdb/HMDB03391", + "http://identifiers.org/hmdb/HMDB62707", + "http://identifiers.org/kegg.compound/C00631", + "http://identifiers.org/metanetx.chemical/MNXM275", + "http://identifiers.org/seed.compound/cpd00482" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C3H4O7P", + "id": "M_2pg_c", + "name": "D-Glycerate 2-phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/3pg", + "http://identifiers.org/biocyc/META:G3P", + "http://identifiers.org/chebi/CHEBI:11879", + "http://identifiers.org/chebi/CHEBI:11880", + "http://identifiers.org/chebi/CHEBI:12987", + "http://identifiers.org/chebi/CHEBI:1657", + "http://identifiers.org/chebi/CHEBI:17794", + "http://identifiers.org/chebi/CHEBI:21029", + "http://identifiers.org/chebi/CHEBI:58272", + "http://identifiers.org/kegg.compound/C00197", + "http://identifiers.org/metanetx.chemical/MNXM126", + "http://identifiers.org/seed.compound/cpd00169" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C3H4O7P", + "id": "M_3pg_c", + "name": "3-Phospho-D-glycerate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/6pgc", + "http://identifiers.org/biocyc/META:CPD-2961", + "http://identifiers.org/chebi/CHEBI:12232", + "http://identifiers.org/chebi/CHEBI:16863", + "http://identifiers.org/chebi/CHEBI:2231", + "http://identifiers.org/chebi/CHEBI:33851", + "http://identifiers.org/chebi/CHEBI:40282", + "http://identifiers.org/chebi/CHEBI:48928", + "http://identifiers.org/chebi/CHEBI:58759", + "http://identifiers.org/hmdb/HMDB01316", + "http://identifiers.org/hmdb/HMDB62800", + "http://identifiers.org/kegg.compound/C00345", + "http://identifiers.org/metanetx.chemical/MNXM325", + "http://identifiers.org/seed.compound/cpd00284" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C6H10O10P", + "id": "M_6pgc_c", + "name": "6-Phospho-D-gluconate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/6pgl", + "http://identifiers.org/biocyc/META:D-6-P-GLUCONO-DELTA-LACTONE", + "http://identifiers.org/chebi/CHEBI:12233", + "http://identifiers.org/chebi/CHEBI:12958", + "http://identifiers.org/chebi/CHEBI:16938", + "http://identifiers.org/chebi/CHEBI:20989", + "http://identifiers.org/chebi/CHEBI:4160", + "http://identifiers.org/chebi/CHEBI:57955", + "http://identifiers.org/hmdb/HMDB62628", + "http://identifiers.org/kegg.compound/C01236", + "http://identifiers.org/metanetx.chemical/MNXM429", + "http://identifiers.org/seed.compound/cpd00911" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C6H9O9P", + "id": "M_6pgl_c", + "name": "6-phospho-D-glucono-1,5-lactone" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/ac", + "http://identifiers.org/biocyc/META:ACET", + "http://identifiers.org/chebi/CHEBI:13704", + "http://identifiers.org/chebi/CHEBI:15366", + "http://identifiers.org/chebi/CHEBI:22165", + "http://identifiers.org/chebi/CHEBI:22169", + "http://identifiers.org/chebi/CHEBI:2387", + "http://identifiers.org/chebi/CHEBI:30089", + "http://identifiers.org/chebi/CHEBI:40480", + "http://identifiers.org/chebi/CHEBI:40486", + "http://identifiers.org/hmdb/HMDB00042", + "http://identifiers.org/kegg.compound/C00033", + "http://identifiers.org/kegg.drug/D00010", + "http://identifiers.org/lipidmaps/LMFA01010002", + "http://identifiers.org/metanetx.chemical/MNXM26", + "http://identifiers.org/seed.compound/cpd00029" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C2H3O2", + "id": "M_ac_c", + "name": "Acetate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/ac", + "http://identifiers.org/biocyc/META:ACET", + "http://identifiers.org/chebi/CHEBI:13704", + "http://identifiers.org/chebi/CHEBI:15366", + "http://identifiers.org/chebi/CHEBI:22165", + "http://identifiers.org/chebi/CHEBI:22169", + "http://identifiers.org/chebi/CHEBI:2387", + "http://identifiers.org/chebi/CHEBI:30089", + "http://identifiers.org/chebi/CHEBI:40480", + "http://identifiers.org/chebi/CHEBI:40486", + "http://identifiers.org/hmdb/HMDB00042", + "http://identifiers.org/kegg.compound/C00033", + "http://identifiers.org/kegg.drug/D00010", + "http://identifiers.org/lipidmaps/LMFA01010002", + "http://identifiers.org/metanetx.chemical/MNXM26", + "http://identifiers.org/seed.compound/cpd00029" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C2H3O2", + "id": "M_ac_e", + "name": "Acetate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/acald", + "http://identifiers.org/biocyc/META:ACETALD", + "http://identifiers.org/chebi/CHEBI:13703", + "http://identifiers.org/chebi/CHEBI:15343", + "http://identifiers.org/chebi/CHEBI:22158", + "http://identifiers.org/chebi/CHEBI:2383", + "http://identifiers.org/chebi/CHEBI:40533", + "http://identifiers.org/hmdb/HMDB00990", + "http://identifiers.org/kegg.compound/C00084", + "http://identifiers.org/metanetx.chemical/MNXM75", + "http://identifiers.org/seed.compound/cpd00071" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C2H4O", + "id": "M_acald_c", + "name": "Acetaldehyde" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/acald", + "http://identifiers.org/biocyc/META:ACETALD", + "http://identifiers.org/chebi/CHEBI:13703", + "http://identifiers.org/chebi/CHEBI:15343", + "http://identifiers.org/chebi/CHEBI:22158", + "http://identifiers.org/chebi/CHEBI:2383", + "http://identifiers.org/chebi/CHEBI:40533", + "http://identifiers.org/hmdb/HMDB00990", + "http://identifiers.org/kegg.compound/C00084", + "http://identifiers.org/metanetx.chemical/MNXM75", + "http://identifiers.org/seed.compound/cpd00071" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C2H4O", + "id": "M_acald_e", + "name": "Acetaldehyde" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/accoa", + "http://identifiers.org/biocyc/META:ACETYL-COA", + "http://identifiers.org/chebi/CHEBI:13712", + "http://identifiers.org/chebi/CHEBI:15351", + "http://identifiers.org/chebi/CHEBI:22192", + "http://identifiers.org/chebi/CHEBI:2408", + "http://identifiers.org/chebi/CHEBI:40470", + "http://identifiers.org/chebi/CHEBI:57288", + "http://identifiers.org/hmdb/HMDB01206", + "http://identifiers.org/kegg.compound/C00024", + "http://identifiers.org/lipidmaps/LMFA07050029", + "http://identifiers.org/lipidmaps/LMFA07050281", + "http://identifiers.org/metanetx.chemical/MNXM21", + "http://identifiers.org/seed.compound/cpd00022" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C23H34N7O17P3S", + "id": "M_accoa_c", + "name": "Acetyl-CoA" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/acon_C", + "http://identifiers.org/biocyc/META:CIS-ACONITATE", + "http://identifiers.org/chebi/CHEBI:10482", + "http://identifiers.org/chebi/CHEBI:12798", + "http://identifiers.org/chebi/CHEBI:16383", + "http://identifiers.org/chebi/CHEBI:23306", + "http://identifiers.org/chebi/CHEBI:23308", + "http://identifiers.org/chebi/CHEBI:32805", + "http://identifiers.org/hmdb/HMDB00072", + "http://identifiers.org/hmdb/HMDB00461", + "http://identifiers.org/kegg.compound/C00417", + "http://identifiers.org/metanetx.chemical/MNXM813", + "http://identifiers.org/seed.compound/cpd00331" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C6H3O6", + "id": "M_acon_C_c", + "name": "Cis-Aconitate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/actp", + "http://identifiers.org/biocyc/META:ACETYL-P", + "http://identifiers.org/chebi/CHEBI:13711", + "http://identifiers.org/chebi/CHEBI:15350", + "http://identifiers.org/chebi/CHEBI:22191", + "http://identifiers.org/chebi/CHEBI:2407", + "http://identifiers.org/chebi/CHEBI:46262", + "http://identifiers.org/hmdb/HMDB01494", + "http://identifiers.org/kegg.compound/C00227", + "http://identifiers.org/metanetx.chemical/MNXM280", + "http://identifiers.org/seed.compound/cpd00196" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C2H3O5P", + "id": "M_actp_c", + "name": "Acetyl phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/adp", + "http://identifiers.org/biocyc/META:ADP", + "http://identifiers.org/biocyc/META:CPD0-1651", + "http://identifiers.org/chebi/CHEBI:13222", + "http://identifiers.org/chebi/CHEBI:16761", + "http://identifiers.org/chebi/CHEBI:22244", + "http://identifiers.org/chebi/CHEBI:2342", + "http://identifiers.org/chebi/CHEBI:40553", + "http://identifiers.org/chebi/CHEBI:456216", + "http://identifiers.org/chebi/CHEBI:87518", + "http://identifiers.org/hmdb/HMDB01341", + "http://identifiers.org/kegg.compound/C00008", + "http://identifiers.org/kegg.glycan/G11113", + "http://identifiers.org/metanetx.chemical/MNXM7", + "http://identifiers.org/seed.compound/cpd00008" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C10H12N5O10P2", + "id": "M_adp_c", + "name": "ADP C10H12N5O10P2" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/akg", + "http://identifiers.org/biocyc/META:2-KETOGLUTARATE", + "http://identifiers.org/biocyc/META:CPD-16852", + "http://identifiers.org/chebi/CHEBI:11638", + "http://identifiers.org/chebi/CHEBI:1253", + "http://identifiers.org/chebi/CHEBI:16810", + "http://identifiers.org/chebi/CHEBI:19748", + "http://identifiers.org/chebi/CHEBI:19749", + "http://identifiers.org/chebi/CHEBI:30915", + "http://identifiers.org/chebi/CHEBI:30916", + "http://identifiers.org/chebi/CHEBI:40661", + "http://identifiers.org/hmdb/HMDB62781", + "http://identifiers.org/kegg.compound/C00026", + "http://identifiers.org/metanetx.chemical/MNXM20", + "http://identifiers.org/seed.compound/cpd00024" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C5H4O5", + "id": "M_akg_c", + "name": "2-Oxoglutarate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/akg", + "http://identifiers.org/biocyc/META:2-KETOGLUTARATE", + "http://identifiers.org/biocyc/META:CPD-16852", + "http://identifiers.org/chebi/CHEBI:11638", + "http://identifiers.org/chebi/CHEBI:1253", + "http://identifiers.org/chebi/CHEBI:16810", + "http://identifiers.org/chebi/CHEBI:19748", + "http://identifiers.org/chebi/CHEBI:19749", + "http://identifiers.org/chebi/CHEBI:30915", + "http://identifiers.org/chebi/CHEBI:30916", + "http://identifiers.org/chebi/CHEBI:40661", + "http://identifiers.org/hmdb/HMDB62781", + "http://identifiers.org/kegg.compound/C00026", + "http://identifiers.org/metanetx.chemical/MNXM20", + "http://identifiers.org/seed.compound/cpd00024" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C5H4O5", + "id": "M_akg_e", + "name": "2-Oxoglutarate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/amp", + "http://identifiers.org/biocyc/META:AMP", + "http://identifiers.org/biocyc/META:AMP-GROUP", + "http://identifiers.org/chebi/CHEBI:12056", + "http://identifiers.org/chebi/CHEBI:13234", + "http://identifiers.org/chebi/CHEBI:13235", + "http://identifiers.org/chebi/CHEBI:13736", + "http://identifiers.org/chebi/CHEBI:13740", + "http://identifiers.org/chebi/CHEBI:16027", + "http://identifiers.org/chebi/CHEBI:22242", + "http://identifiers.org/chebi/CHEBI:22245", + "http://identifiers.org/chebi/CHEBI:2356", + "http://identifiers.org/chebi/CHEBI:40510", + "http://identifiers.org/chebi/CHEBI:40721", + "http://identifiers.org/chebi/CHEBI:40726", + "http://identifiers.org/chebi/CHEBI:40786", + "http://identifiers.org/chebi/CHEBI:40826", + "http://identifiers.org/chebi/CHEBI:456215", + "http://identifiers.org/chebi/CHEBI:47222", + "http://identifiers.org/kegg.compound/C00020", + "http://identifiers.org/kegg.drug/D02769", + "http://identifiers.org/metanetx.chemical/MNXM14", + "http://identifiers.org/seed.compound/cpd00018", + "http://identifiers.org/seed.compound/cpd22272" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C10H12N5O7P", + "id": "M_amp_c", + "name": "AMP C10H12N5O7P" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/atp", + "http://identifiers.org/biocyc/META:ATP", + "http://identifiers.org/biocyc/META:CPD0-1634", + "http://identifiers.org/chebi/CHEBI:10789", + "http://identifiers.org/chebi/CHEBI:10841", + "http://identifiers.org/chebi/CHEBI:13236", + "http://identifiers.org/chebi/CHEBI:15422", + "http://identifiers.org/chebi/CHEBI:22249", + "http://identifiers.org/chebi/CHEBI:2359", + "http://identifiers.org/chebi/CHEBI:237958", + "http://identifiers.org/chebi/CHEBI:30616", + "http://identifiers.org/chebi/CHEBI:40938", + "http://identifiers.org/chebi/CHEBI:57299", + "http://identifiers.org/kegg.compound/C00002", + "http://identifiers.org/kegg.drug/D08646", + "http://identifiers.org/metanetx.chemical/MNXM3", + "http://identifiers.org/seed.compound/cpd00002" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C10H12N5O13P3", + "id": "M_atp_c", + "name": "ATP C10H12N5O13P3" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/cit", + "http://identifiers.org/biocyc/META:CIT", + "http://identifiers.org/chebi/CHEBI:132362", + "http://identifiers.org/chebi/CHEBI:133748", + "http://identifiers.org/chebi/CHEBI:13999", + "http://identifiers.org/chebi/CHEBI:16947", + "http://identifiers.org/chebi/CHEBI:23321", + "http://identifiers.org/chebi/CHEBI:23322", + "http://identifiers.org/chebi/CHEBI:30769", + "http://identifiers.org/chebi/CHEBI:35802", + "http://identifiers.org/chebi/CHEBI:35804", + "http://identifiers.org/chebi/CHEBI:35806", + "http://identifiers.org/chebi/CHEBI:35808", + "http://identifiers.org/chebi/CHEBI:35809", + "http://identifiers.org/chebi/CHEBI:35810", + "http://identifiers.org/chebi/CHEBI:3727", + "http://identifiers.org/chebi/CHEBI:41523", + "http://identifiers.org/chebi/CHEBI:42563", + "http://identifiers.org/chebi/CHEBI:76049", + "http://identifiers.org/chebi/CHEBI:79399", + "http://identifiers.org/hmdb/HMDB00094", + "http://identifiers.org/kegg.compound/C00158", + "http://identifiers.org/kegg.compound/C13660", + "http://identifiers.org/kegg.drug/D00037", + "http://identifiers.org/metanetx.chemical/MNXM131", + "http://identifiers.org/seed.compound/cpd00137" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C6H5O7", + "id": "M_cit_c", + "name": "Citrate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/co2", + "http://identifiers.org/biocyc/META:CARBON-DIOXIDE", + "http://identifiers.org/chebi/CHEBI:13282", + "http://identifiers.org/chebi/CHEBI:13283", + "http://identifiers.org/chebi/CHEBI:13284", + "http://identifiers.org/chebi/CHEBI:13285", + "http://identifiers.org/chebi/CHEBI:16526", + "http://identifiers.org/chebi/CHEBI:23011", + "http://identifiers.org/chebi/CHEBI:3283", + "http://identifiers.org/chebi/CHEBI:48829", + "http://identifiers.org/hmdb/HMDB01967", + "http://identifiers.org/kegg.compound/C00011", + "http://identifiers.org/kegg.drug/D00004", + "http://identifiers.org/metanetx.chemical/MNXM13", + "http://identifiers.org/seed.compound/cpd00011" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "CO2", + "id": "M_co2_c", + "name": "CO2 CO2" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/co2", + "http://identifiers.org/biocyc/META:CARBON-DIOXIDE", + "http://identifiers.org/chebi/CHEBI:13282", + "http://identifiers.org/chebi/CHEBI:13283", + "http://identifiers.org/chebi/CHEBI:13284", + "http://identifiers.org/chebi/CHEBI:13285", + "http://identifiers.org/chebi/CHEBI:16526", + "http://identifiers.org/chebi/CHEBI:23011", + "http://identifiers.org/chebi/CHEBI:3283", + "http://identifiers.org/chebi/CHEBI:48829", + "http://identifiers.org/hmdb/HMDB01967", + "http://identifiers.org/kegg.compound/C00011", + "http://identifiers.org/kegg.drug/D00004", + "http://identifiers.org/metanetx.chemical/MNXM13", + "http://identifiers.org/seed.compound/cpd00011" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "CO2", + "id": "M_co2_e", + "name": "CO2 CO2" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/coa", + "http://identifiers.org/biocyc/META:CO-A", + "http://identifiers.org/biocyc/META:COA-GROUP", + "http://identifiers.org/chebi/CHEBI:13294", + "http://identifiers.org/chebi/CHEBI:13295", + "http://identifiers.org/chebi/CHEBI:13298", + "http://identifiers.org/chebi/CHEBI:15346", + "http://identifiers.org/chebi/CHEBI:23355", + "http://identifiers.org/chebi/CHEBI:3771", + "http://identifiers.org/chebi/CHEBI:41597", + "http://identifiers.org/chebi/CHEBI:41631", + "http://identifiers.org/chebi/CHEBI:57287", + "http://identifiers.org/chebi/CHEBI:741566", + "http://identifiers.org/hmdb/HMDB01423", + "http://identifiers.org/kegg.compound/C00010", + "http://identifiers.org/metanetx.chemical/MNXM12", + "http://identifiers.org/seed.compound/cpd00010", + "http://identifiers.org/seed.compound/cpd22528" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C21H32N7O16P3S", + "id": "M_coa_c", + "name": "Coenzyme A" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/dhap", + "http://identifiers.org/biocyc/META:DIHYDROXY-ACETONE-PHOSPHATE", + "http://identifiers.org/chebi/CHEBI:14341", + "http://identifiers.org/chebi/CHEBI:14342", + "http://identifiers.org/chebi/CHEBI:16108", + "http://identifiers.org/chebi/CHEBI:24355", + "http://identifiers.org/chebi/CHEBI:39571", + "http://identifiers.org/chebi/CHEBI:5454", + "http://identifiers.org/chebi/CHEBI:57642", + "http://identifiers.org/hmdb/HMDB01473", + "http://identifiers.org/hmdb/HMDB11735", + "http://identifiers.org/kegg.compound/C00111", + "http://identifiers.org/metanetx.chemical/MNXM77", + "http://identifiers.org/seed.compound/cpd00095" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C3H5O6P", + "id": "M_dhap_c", + "name": "Dihydroxyacetone phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/e4p", + "http://identifiers.org/biocyc/META:ERYTHROSE-4P", + "http://identifiers.org/chebi/CHEBI:12921", + "http://identifiers.org/chebi/CHEBI:16897", + "http://identifiers.org/chebi/CHEBI:20927", + "http://identifiers.org/chebi/CHEBI:4114", + "http://identifiers.org/chebi/CHEBI:42349", + "http://identifiers.org/chebi/CHEBI:48153", + "http://identifiers.org/hmdb/HMDB01321", + "http://identifiers.org/kegg.compound/C00279", + "http://identifiers.org/metanetx.chemical/MNXM258", + "http://identifiers.org/seed.compound/cpd00236" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C4H7O7P", + "id": "M_e4p_c", + "name": "D-Erythrose 4-phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/etoh", + "http://identifiers.org/biocyc/META:ETOH", + "http://identifiers.org/chebi/CHEBI:14222", + "http://identifiers.org/chebi/CHEBI:16236", + "http://identifiers.org/chebi/CHEBI:23978", + "http://identifiers.org/chebi/CHEBI:30878", + "http://identifiers.org/chebi/CHEBI:30880", + "http://identifiers.org/chebi/CHEBI:42377", + "http://identifiers.org/chebi/CHEBI:44594", + "http://identifiers.org/chebi/CHEBI:4879", + "http://identifiers.org/chebi/CHEBI:52092", + "http://identifiers.org/hmdb/HMDB00108", + "http://identifiers.org/kegg.compound/C00469", + "http://identifiers.org/kegg.drug/D00068", + "http://identifiers.org/kegg.drug/D02798", + "http://identifiers.org/kegg.drug/D04855", + "http://identifiers.org/kegg.drug/D06542", + "http://identifiers.org/metanetx.chemical/MNXM303", + "http://identifiers.org/seed.compound/cpd00363" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C2H6O", + "id": "M_etoh_c", + "name": "Ethanol" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/etoh", + "http://identifiers.org/biocyc/META:ETOH", + "http://identifiers.org/chebi/CHEBI:14222", + "http://identifiers.org/chebi/CHEBI:16236", + "http://identifiers.org/chebi/CHEBI:23978", + "http://identifiers.org/chebi/CHEBI:30878", + "http://identifiers.org/chebi/CHEBI:30880", + "http://identifiers.org/chebi/CHEBI:42377", + "http://identifiers.org/chebi/CHEBI:44594", + "http://identifiers.org/chebi/CHEBI:4879", + "http://identifiers.org/chebi/CHEBI:52092", + "http://identifiers.org/hmdb/HMDB00108", + "http://identifiers.org/kegg.compound/C00469", + "http://identifiers.org/kegg.drug/D00068", + "http://identifiers.org/kegg.drug/D02798", + "http://identifiers.org/kegg.drug/D04855", + "http://identifiers.org/kegg.drug/D06542", + "http://identifiers.org/metanetx.chemical/MNXM303", + "http://identifiers.org/seed.compound/cpd00363" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C2H6O", + "id": "M_etoh_e", + "name": "Ethanol" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/f6p", + "http://identifiers.org/biocyc/META:FRUCTOSE-6P", + "http://identifiers.org/chebi/CHEBI:10375", + "http://identifiers.org/chebi/CHEBI:12352", + "http://identifiers.org/chebi/CHEBI:16084", + "http://identifiers.org/chebi/CHEBI:22768", + "http://identifiers.org/chebi/CHEBI:42378", + "http://identifiers.org/chebi/CHEBI:57634", + "http://identifiers.org/hmdb/HMDB03971", + "http://identifiers.org/kegg.compound/C05345", + "http://identifiers.org/metanetx.chemical/MNXM89621", + "http://identifiers.org/seed.compound/cpd19035" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C6H11O9P", + "id": "M_f6p_c", + "name": "D-Fructose 6-phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/fdp", + "http://identifiers.org/chebi/CHEBI:37736", + "http://identifiers.org/chebi/CHEBI:49299", + "http://identifiers.org/kegg.compound/C00354", + "http://identifiers.org/metanetx.chemical/MNXM417", + "http://identifiers.org/seed.compound/cpd00290" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C6H10O12P2", + "id": "M_fdp_c", + "name": "D-Fructose 1,6-bisphosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/for", + "http://identifiers.org/biocyc/META:CARBOXYL-GROUP", + "http://identifiers.org/biocyc/META:CPD-9845", + "http://identifiers.org/biocyc/META:CPD1G-1532", + "http://identifiers.org/biocyc/META:CPD1G-1533", + "http://identifiers.org/biocyc/META:CPD1G-1534", + "http://identifiers.org/biocyc/META:CPD1G-1535", + "http://identifiers.org/biocyc/META:FORMATE", + "http://identifiers.org/chebi/CHEBI:14276", + "http://identifiers.org/chebi/CHEBI:15740", + "http://identifiers.org/chebi/CHEBI:24081", + "http://identifiers.org/chebi/CHEBI:24082", + "http://identifiers.org/chebi/CHEBI:30751", + "http://identifiers.org/chebi/CHEBI:42460", + "http://identifiers.org/chebi/CHEBI:5145", + "http://identifiers.org/hmdb/HMDB00142", + "http://identifiers.org/kegg.compound/C00058", + "http://identifiers.org/metanetx.chemical/MNXM39", + "http://identifiers.org/seed.compound/cpd00047", + "http://identifiers.org/seed.compound/cpd22511" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "CH1O2", + "id": "M_for_c", + "name": "Formate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/for", + "http://identifiers.org/biocyc/META:CARBOXYL-GROUP", + "http://identifiers.org/biocyc/META:CPD-9845", + "http://identifiers.org/biocyc/META:CPD1G-1532", + "http://identifiers.org/biocyc/META:CPD1G-1533", + "http://identifiers.org/biocyc/META:CPD1G-1534", + "http://identifiers.org/biocyc/META:CPD1G-1535", + "http://identifiers.org/biocyc/META:FORMATE", + "http://identifiers.org/chebi/CHEBI:14276", + "http://identifiers.org/chebi/CHEBI:15740", + "http://identifiers.org/chebi/CHEBI:24081", + "http://identifiers.org/chebi/CHEBI:24082", + "http://identifiers.org/chebi/CHEBI:30751", + "http://identifiers.org/chebi/CHEBI:42460", + "http://identifiers.org/chebi/CHEBI:5145", + "http://identifiers.org/hmdb/HMDB00142", + "http://identifiers.org/kegg.compound/C00058", + "http://identifiers.org/metanetx.chemical/MNXM39", + "http://identifiers.org/seed.compound/cpd00047", + "http://identifiers.org/seed.compound/cpd22511" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "CH1O2", + "id": "M_for_e", + "name": "Formate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/fru", + "http://identifiers.org/biocyc/META:CPD-15382", + "http://identifiers.org/biocyc/META:D-Fructopyranose", + "http://identifiers.org/biocyc/META:FRU", + "http://identifiers.org/biocyc/META:Fructofuranose", + "http://identifiers.org/chebi/CHEBI:12923", + "http://identifiers.org/chebi/CHEBI:15824", + "http://identifiers.org/chebi/CHEBI:20929", + "http://identifiers.org/chebi/CHEBI:24104", + "http://identifiers.org/chebi/CHEBI:24110", + "http://identifiers.org/chebi/CHEBI:28757", + "http://identifiers.org/chebi/CHEBI:37714", + "http://identifiers.org/chebi/CHEBI:37721", + "http://identifiers.org/chebi/CHEBI:4118", + "http://identifiers.org/chebi/CHEBI:4119", + "http://identifiers.org/chebi/CHEBI:47424", + "http://identifiers.org/chebi/CHEBI:48095", + "http://identifiers.org/chebi/CHEBI:5172", + "http://identifiers.org/hmdb/HMDB62538", + "http://identifiers.org/kegg.compound/C00095", + "http://identifiers.org/kegg.compound/C01496", + "http://identifiers.org/kegg.compound/C05003", + "http://identifiers.org/kegg.compound/C10906", + "http://identifiers.org/kegg.drug/D00114", + "http://identifiers.org/metanetx.chemical/MNXM175", + "http://identifiers.org/seed.compound/cpd00082", + "http://identifiers.org/seed.compound/cpd19015", + "http://identifiers.org/seed.compound/cpd27040" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C6H12O6", + "id": "M_fru_e", + "name": "D-Fructose" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/fum", + "http://identifiers.org/biocyc/META:FUM", + "http://identifiers.org/chebi/CHEBI:14284", + "http://identifiers.org/chebi/CHEBI:18012", + "http://identifiers.org/chebi/CHEBI:22956", + "http://identifiers.org/chebi/CHEBI:22957", + "http://identifiers.org/chebi/CHEBI:22958", + "http://identifiers.org/chebi/CHEBI:24122", + "http://identifiers.org/chebi/CHEBI:24124", + "http://identifiers.org/chebi/CHEBI:29806", + "http://identifiers.org/chebi/CHEBI:36180", + "http://identifiers.org/chebi/CHEBI:37154", + "http://identifiers.org/chebi/CHEBI:37155", + "http://identifiers.org/chebi/CHEBI:42511", + "http://identifiers.org/chebi/CHEBI:42743", + "http://identifiers.org/chebi/CHEBI:5190", + "http://identifiers.org/hmdb/HMDB00134", + "http://identifiers.org/kegg.compound/C00122", + "http://identifiers.org/kegg.drug/D02308", + "http://identifiers.org/metanetx.chemical/MNXM93", + "http://identifiers.org/seed.compound/cpd00106" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C4H2O4", + "id": "M_fum_c", + "name": "Fumarate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/fum", + "http://identifiers.org/biocyc/META:FUM", + "http://identifiers.org/chebi/CHEBI:14284", + "http://identifiers.org/chebi/CHEBI:18012", + "http://identifiers.org/chebi/CHEBI:22956", + "http://identifiers.org/chebi/CHEBI:22957", + "http://identifiers.org/chebi/CHEBI:22958", + "http://identifiers.org/chebi/CHEBI:24122", + "http://identifiers.org/chebi/CHEBI:24124", + "http://identifiers.org/chebi/CHEBI:29806", + "http://identifiers.org/chebi/CHEBI:36180", + "http://identifiers.org/chebi/CHEBI:37154", + "http://identifiers.org/chebi/CHEBI:37155", + "http://identifiers.org/chebi/CHEBI:42511", + "http://identifiers.org/chebi/CHEBI:42743", + "http://identifiers.org/chebi/CHEBI:5190", + "http://identifiers.org/hmdb/HMDB00134", + "http://identifiers.org/kegg.compound/C00122", + "http://identifiers.org/kegg.drug/D02308", + "http://identifiers.org/metanetx.chemical/MNXM93", + "http://identifiers.org/seed.compound/cpd00106" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C4H2O4", + "id": "M_fum_e", + "name": "Fumarate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/g3p", + "http://identifiers.org/biocyc/META:GAP", + "http://identifiers.org/chebi/CHEBI:12983", + "http://identifiers.org/chebi/CHEBI:12984", + "http://identifiers.org/chebi/CHEBI:14333", + "http://identifiers.org/chebi/CHEBI:17138", + "http://identifiers.org/chebi/CHEBI:181", + "http://identifiers.org/chebi/CHEBI:18324", + "http://identifiers.org/chebi/CHEBI:21026", + "http://identifiers.org/chebi/CHEBI:29052", + "http://identifiers.org/chebi/CHEBI:5446", + "http://identifiers.org/chebi/CHEBI:58027", + "http://identifiers.org/chebi/CHEBI:59776", + "http://identifiers.org/hmdb/HMDB01112", + "http://identifiers.org/kegg.compound/C00118", + "http://identifiers.org/kegg.compound/C00661", + "http://identifiers.org/metanetx.chemical/MNXM74", + "http://identifiers.org/seed.compound/cpd00102", + "http://identifiers.org/seed.compound/cpd19005" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C3H5O6P", + "id": "M_g3p_c", + "name": "Glyceraldehyde 3-phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/g6p", + "http://identifiers.org/biocyc/META:D-glucopyranose-6-phosphate", + "http://identifiers.org/chebi/CHEBI:14314", + "http://identifiers.org/chebi/CHEBI:4170", + "http://identifiers.org/chebi/CHEBI:61548", + "http://identifiers.org/hmdb/HMDB01401", + "http://identifiers.org/hmdb/HMDB01549", + "http://identifiers.org/hmdb/HMDB06793", + "http://identifiers.org/kegg.compound/C00092", + "http://identifiers.org/metanetx.chemical/MNXM160", + "http://identifiers.org/seed.compound/cpd00079", + "http://identifiers.org/seed.compound/cpd26836" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C6H11O9P", + "id": "M_g6p_c", + "name": "D-Glucose 6-phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/glc__D", + "http://identifiers.org/biocyc/META:Glucopyranose", + "http://identifiers.org/chebi/CHEBI:12965", + "http://identifiers.org/chebi/CHEBI:17634", + "http://identifiers.org/chebi/CHEBI:20999", + "http://identifiers.org/chebi/CHEBI:4167", + "http://identifiers.org/hmdb/HMDB00122", + "http://identifiers.org/hmdb/HMDB06564", + "http://identifiers.org/kegg.compound/C00031", + "http://identifiers.org/kegg.drug/D00009", + "http://identifiers.org/metanetx.chemical/MNXM41", + "http://identifiers.org/seed.compound/cpd00027", + "http://identifiers.org/seed.compound/cpd26821" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C6H12O6", + "id": "M_glc__D_e", + "name": "D-Glucose" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/gln__L", + "http://identifiers.org/biocyc/META:GLN", + "http://identifiers.org/chebi/CHEBI:13110", + "http://identifiers.org/chebi/CHEBI:18050", + "http://identifiers.org/chebi/CHEBI:21308", + "http://identifiers.org/chebi/CHEBI:24316", + "http://identifiers.org/chebi/CHEBI:28300", + "http://identifiers.org/chebi/CHEBI:32665", + "http://identifiers.org/chebi/CHEBI:32666", + "http://identifiers.org/chebi/CHEBI:32678", + "http://identifiers.org/chebi/CHEBI:32679", + "http://identifiers.org/chebi/CHEBI:42812", + "http://identifiers.org/chebi/CHEBI:42814", + "http://identifiers.org/chebi/CHEBI:42899", + "http://identifiers.org/chebi/CHEBI:42943", + "http://identifiers.org/chebi/CHEBI:5432", + "http://identifiers.org/chebi/CHEBI:58359", + "http://identifiers.org/chebi/CHEBI:6227", + "http://identifiers.org/hmdb/HMDB00641", + "http://identifiers.org/kegg.compound/C00064", + "http://identifiers.org/kegg.compound/C00303", + "http://identifiers.org/kegg.drug/D00015", + "http://identifiers.org/metanetx.chemical/MNXM37", + "http://identifiers.org/seed.compound/cpd00053", + "http://identifiers.org/seed.compound/cpd00253" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C5H10N2O3", + "id": "M_gln__L_c", + "name": "L-Glutamine" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/gln__L", + "http://identifiers.org/biocyc/META:GLN", + "http://identifiers.org/chebi/CHEBI:13110", + "http://identifiers.org/chebi/CHEBI:18050", + "http://identifiers.org/chebi/CHEBI:21308", + "http://identifiers.org/chebi/CHEBI:24316", + "http://identifiers.org/chebi/CHEBI:28300", + "http://identifiers.org/chebi/CHEBI:32665", + "http://identifiers.org/chebi/CHEBI:32666", + "http://identifiers.org/chebi/CHEBI:32678", + "http://identifiers.org/chebi/CHEBI:32679", + "http://identifiers.org/chebi/CHEBI:42812", + "http://identifiers.org/chebi/CHEBI:42814", + "http://identifiers.org/chebi/CHEBI:42899", + "http://identifiers.org/chebi/CHEBI:42943", + "http://identifiers.org/chebi/CHEBI:5432", + "http://identifiers.org/chebi/CHEBI:58359", + "http://identifiers.org/chebi/CHEBI:6227", + "http://identifiers.org/hmdb/HMDB00641", + "http://identifiers.org/kegg.compound/C00064", + "http://identifiers.org/kegg.compound/C00303", + "http://identifiers.org/kegg.drug/D00015", + "http://identifiers.org/metanetx.chemical/MNXM37", + "http://identifiers.org/seed.compound/cpd00053", + "http://identifiers.org/seed.compound/cpd00253" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C5H10N2O3", + "id": "M_gln__L_e", + "name": "L-Glutamine" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/glu__L", + "http://identifiers.org/biocyc/META:GLT", + "http://identifiers.org/biocyc/META:Glutamates", + "http://identifiers.org/chebi/CHEBI:13107", + "http://identifiers.org/chebi/CHEBI:14321", + "http://identifiers.org/chebi/CHEBI:16015", + "http://identifiers.org/chebi/CHEBI:18237", + "http://identifiers.org/chebi/CHEBI:21301", + "http://identifiers.org/chebi/CHEBI:21304", + "http://identifiers.org/chebi/CHEBI:24314", + "http://identifiers.org/chebi/CHEBI:29985", + "http://identifiers.org/chebi/CHEBI:29987", + "http://identifiers.org/chebi/CHEBI:29988", + "http://identifiers.org/chebi/CHEBI:42825", + "http://identifiers.org/chebi/CHEBI:5431", + "http://identifiers.org/chebi/CHEBI:6224", + "http://identifiers.org/chebi/CHEBI:76051", + "http://identifiers.org/hmdb/HMDB00148", + "http://identifiers.org/hmdb/HMDB60475", + "http://identifiers.org/kegg.compound/C00025", + "http://identifiers.org/kegg.compound/C00302", + "http://identifiers.org/kegg.drug/D00007", + "http://identifiers.org/kegg.drug/D04341", + "http://identifiers.org/metanetx.chemical/MNXM89557", + "http://identifiers.org/seed.compound/cpd00023", + "http://identifiers.org/seed.compound/cpd19002", + "http://identifiers.org/seed.compound/cpd27177" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C5H8NO4", + "id": "M_glu__L_c", + "name": "L-Glutamate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/glu__L", + "http://identifiers.org/biocyc/META:GLT", + "http://identifiers.org/biocyc/META:Glutamates", + "http://identifiers.org/chebi/CHEBI:13107", + "http://identifiers.org/chebi/CHEBI:14321", + "http://identifiers.org/chebi/CHEBI:16015", + "http://identifiers.org/chebi/CHEBI:18237", + "http://identifiers.org/chebi/CHEBI:21301", + "http://identifiers.org/chebi/CHEBI:21304", + "http://identifiers.org/chebi/CHEBI:24314", + "http://identifiers.org/chebi/CHEBI:29985", + "http://identifiers.org/chebi/CHEBI:29987", + "http://identifiers.org/chebi/CHEBI:29988", + "http://identifiers.org/chebi/CHEBI:42825", + "http://identifiers.org/chebi/CHEBI:5431", + "http://identifiers.org/chebi/CHEBI:6224", + "http://identifiers.org/chebi/CHEBI:76051", + "http://identifiers.org/hmdb/HMDB00148", + "http://identifiers.org/hmdb/HMDB60475", + "http://identifiers.org/kegg.compound/C00025", + "http://identifiers.org/kegg.compound/C00302", + "http://identifiers.org/kegg.drug/D00007", + "http://identifiers.org/kegg.drug/D04341", + "http://identifiers.org/metanetx.chemical/MNXM89557", + "http://identifiers.org/seed.compound/cpd00023", + "http://identifiers.org/seed.compound/cpd19002", + "http://identifiers.org/seed.compound/cpd27177" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C5H8NO4", + "id": "M_glu__L_e", + "name": "L-Glutamate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/glx", + "http://identifiers.org/biocyc/META:GLYOX", + "http://identifiers.org/chebi/CHEBI:14368", + "http://identifiers.org/chebi/CHEBI:16891", + "http://identifiers.org/chebi/CHEBI:24420", + "http://identifiers.org/chebi/CHEBI:24421", + "http://identifiers.org/chebi/CHEBI:35977", + "http://identifiers.org/chebi/CHEBI:36655", + "http://identifiers.org/chebi/CHEBI:42767", + "http://identifiers.org/chebi/CHEBI:5509", + "http://identifiers.org/hmdb/HMDB00119", + "http://identifiers.org/kegg.compound/C00048", + "http://identifiers.org/metanetx.chemical/MNXM69", + "http://identifiers.org/seed.compound/cpd00040" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C2H1O3", + "id": "M_glx_c", + "name": "Glyoxylate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/h2o", + "http://identifiers.org/biocyc/META:CPD-15815", + "http://identifiers.org/biocyc/META:HYDROXYL-GROUP", + "http://identifiers.org/biocyc/META:OH", + "http://identifiers.org/biocyc/META:OXONIUM", + "http://identifiers.org/biocyc/META:WATER", + "http://identifiers.org/chebi/CHEBI:10743", + "http://identifiers.org/chebi/CHEBI:13352", + "http://identifiers.org/chebi/CHEBI:13365", + "http://identifiers.org/chebi/CHEBI:13419", + "http://identifiers.org/chebi/CHEBI:15377", + "http://identifiers.org/chebi/CHEBI:16234", + "http://identifiers.org/chebi/CHEBI:27313", + "http://identifiers.org/chebi/CHEBI:29356", + "http://identifiers.org/chebi/CHEBI:29373", + "http://identifiers.org/chebi/CHEBI:29374", + "http://identifiers.org/chebi/CHEBI:29375", + "http://identifiers.org/chebi/CHEBI:29412", + "http://identifiers.org/chebi/CHEBI:30490", + "http://identifiers.org/chebi/CHEBI:33806", + "http://identifiers.org/chebi/CHEBI:33811", + "http://identifiers.org/chebi/CHEBI:33813", + "http://identifiers.org/chebi/CHEBI:41979", + "http://identifiers.org/chebi/CHEBI:41981", + "http://identifiers.org/chebi/CHEBI:42043", + "http://identifiers.org/chebi/CHEBI:42857", + "http://identifiers.org/chebi/CHEBI:43228", + "http://identifiers.org/chebi/CHEBI:44292", + "http://identifiers.org/chebi/CHEBI:44641", + "http://identifiers.org/chebi/CHEBI:44701", + "http://identifiers.org/chebi/CHEBI:44819", + "http://identifiers.org/chebi/CHEBI:5585", + "http://identifiers.org/chebi/CHEBI:5594", + "http://identifiers.org/hmdb/HMDB02111", + "http://identifiers.org/kegg.compound/C00001", + "http://identifiers.org/kegg.compound/C01328", + "http://identifiers.org/kegg.compound/C18714", + "http://identifiers.org/kegg.drug/D00001", + "http://identifiers.org/kegg.drug/D03703", + "http://identifiers.org/kegg.drug/D06322", + "http://identifiers.org/metanetx.chemical/MNXM2", + "http://identifiers.org/seed.compound/cpd00001", + "http://identifiers.org/seed.compound/cpd15275", + "http://identifiers.org/seed.compound/cpd27222" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "H2O", + "id": "M_h2o_c", + "name": "H2O H2O" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/h2o", + "http://identifiers.org/biocyc/META:CPD-15815", + "http://identifiers.org/biocyc/META:HYDROXYL-GROUP", + "http://identifiers.org/biocyc/META:OH", + "http://identifiers.org/biocyc/META:OXONIUM", + "http://identifiers.org/biocyc/META:WATER", + "http://identifiers.org/chebi/CHEBI:10743", + "http://identifiers.org/chebi/CHEBI:13352", + "http://identifiers.org/chebi/CHEBI:13365", + "http://identifiers.org/chebi/CHEBI:13419", + "http://identifiers.org/chebi/CHEBI:15377", + "http://identifiers.org/chebi/CHEBI:16234", + "http://identifiers.org/chebi/CHEBI:27313", + "http://identifiers.org/chebi/CHEBI:29356", + "http://identifiers.org/chebi/CHEBI:29373", + "http://identifiers.org/chebi/CHEBI:29374", + "http://identifiers.org/chebi/CHEBI:29375", + "http://identifiers.org/chebi/CHEBI:29412", + "http://identifiers.org/chebi/CHEBI:30490", + "http://identifiers.org/chebi/CHEBI:33806", + "http://identifiers.org/chebi/CHEBI:33811", + "http://identifiers.org/chebi/CHEBI:33813", + "http://identifiers.org/chebi/CHEBI:41979", + "http://identifiers.org/chebi/CHEBI:41981", + "http://identifiers.org/chebi/CHEBI:42043", + "http://identifiers.org/chebi/CHEBI:42857", + "http://identifiers.org/chebi/CHEBI:43228", + "http://identifiers.org/chebi/CHEBI:44292", + "http://identifiers.org/chebi/CHEBI:44641", + "http://identifiers.org/chebi/CHEBI:44701", + "http://identifiers.org/chebi/CHEBI:44819", + "http://identifiers.org/chebi/CHEBI:5585", + "http://identifiers.org/chebi/CHEBI:5594", + "http://identifiers.org/hmdb/HMDB02111", + "http://identifiers.org/kegg.compound/C00001", + "http://identifiers.org/kegg.compound/C01328", + "http://identifiers.org/kegg.compound/C18714", + "http://identifiers.org/kegg.drug/D00001", + "http://identifiers.org/kegg.drug/D03703", + "http://identifiers.org/kegg.drug/D06322", + "http://identifiers.org/metanetx.chemical/MNXM2", + "http://identifiers.org/seed.compound/cpd00001", + "http://identifiers.org/seed.compound/cpd15275", + "http://identifiers.org/seed.compound/cpd27222" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "H2O", + "id": "M_h2o_e", + "name": "H2O H2O" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/h", + "http://identifiers.org/biocyc/META:PROTON", + "http://identifiers.org/chebi/CHEBI:10744", + "http://identifiers.org/chebi/CHEBI:13357", + "http://identifiers.org/chebi/CHEBI:15378", + "http://identifiers.org/chebi/CHEBI:24636", + "http://identifiers.org/chebi/CHEBI:29233", + "http://identifiers.org/chebi/CHEBI:29234", + "http://identifiers.org/chebi/CHEBI:5584", + "http://identifiers.org/hmdb/HMDB59597", + "http://identifiers.org/kegg.compound/C00080", + "http://identifiers.org/metanetx.chemical/MNXM1", + "http://identifiers.org/seed.compound/cpd00067" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "H", + "id": "M_h_c", + "name": "H+" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/h", + "http://identifiers.org/biocyc/META:PROTON", + "http://identifiers.org/chebi/CHEBI:10744", + "http://identifiers.org/chebi/CHEBI:13357", + "http://identifiers.org/chebi/CHEBI:15378", + "http://identifiers.org/chebi/CHEBI:24636", + "http://identifiers.org/chebi/CHEBI:29233", + "http://identifiers.org/chebi/CHEBI:29234", + "http://identifiers.org/chebi/CHEBI:5584", + "http://identifiers.org/hmdb/HMDB59597", + "http://identifiers.org/kegg.compound/C00080", + "http://identifiers.org/metanetx.chemical/MNXM1", + "http://identifiers.org/seed.compound/cpd00067" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "H", + "id": "M_h_e", + "name": "H+" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/icit", + "http://identifiers.org/chebi/CHEBI:14465", + "http://identifiers.org/chebi/CHEBI:16087", + "http://identifiers.org/chebi/CHEBI:24884", + "http://identifiers.org/chebi/CHEBI:24886", + "http://identifiers.org/chebi/CHEBI:30887", + "http://identifiers.org/chebi/CHEBI:36453", + "http://identifiers.org/chebi/CHEBI:36454", + "http://identifiers.org/chebi/CHEBI:5998", + "http://identifiers.org/hmdb/HMDB00193", + "http://identifiers.org/kegg.compound/C00311", + "http://identifiers.org/metanetx.chemical/MNXM89661", + "http://identifiers.org/seed.compound/cpd00260" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C6H5O7", + "id": "M_icit_c", + "name": "Isocitrate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/lac__D", + "http://identifiers.org/biocyc/META:D-LACTATE", + "http://identifiers.org/chebi/CHEBI:11001", + "http://identifiers.org/chebi/CHEBI:16004", + "http://identifiers.org/chebi/CHEBI:18684", + "http://identifiers.org/chebi/CHEBI:341", + "http://identifiers.org/chebi/CHEBI:42105", + "http://identifiers.org/chebi/CHEBI:42111", + "http://identifiers.org/chebi/CHEBI:43701", + "http://identifiers.org/hmdb/HMDB00171", + "http://identifiers.org/hmdb/HMDB01311", + "http://identifiers.org/kegg.compound/C00256", + "http://identifiers.org/metanetx.chemical/MNXM285", + "http://identifiers.org/seed.compound/cpd00221" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C3H5O3", + "id": "M_lac__D_c", + "name": "D-Lactate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/lac__D", + "http://identifiers.org/biocyc/META:D-LACTATE", + "http://identifiers.org/chebi/CHEBI:11001", + "http://identifiers.org/chebi/CHEBI:16004", + "http://identifiers.org/chebi/CHEBI:18684", + "http://identifiers.org/chebi/CHEBI:341", + "http://identifiers.org/chebi/CHEBI:42105", + "http://identifiers.org/chebi/CHEBI:42111", + "http://identifiers.org/chebi/CHEBI:43701", + "http://identifiers.org/hmdb/HMDB00171", + "http://identifiers.org/hmdb/HMDB01311", + "http://identifiers.org/kegg.compound/C00256", + "http://identifiers.org/metanetx.chemical/MNXM285", + "http://identifiers.org/seed.compound/cpd00221" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C3H5O3", + "id": "M_lac__D_e", + "name": "D-Lactate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/mal__L", + "http://identifiers.org/biocyc/META:MAL", + "http://identifiers.org/chebi/CHEBI:11066", + "http://identifiers.org/chebi/CHEBI:13140", + "http://identifiers.org/chebi/CHEBI:15589", + "http://identifiers.org/chebi/CHEBI:18784", + "http://identifiers.org/chebi/CHEBI:18785", + "http://identifiers.org/chebi/CHEBI:30797", + "http://identifiers.org/chebi/CHEBI:423", + "http://identifiers.org/hmdb/HMDB00156", + "http://identifiers.org/kegg.compound/C00149", + "http://identifiers.org/metanetx.chemical/MNXM98", + "http://identifiers.org/seed.compound/cpd00130" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C4H4O5", + "id": "M_mal__L_c", + "name": "L-Malate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/mal__L", + "http://identifiers.org/biocyc/META:MAL", + "http://identifiers.org/chebi/CHEBI:11066", + "http://identifiers.org/chebi/CHEBI:13140", + "http://identifiers.org/chebi/CHEBI:15589", + "http://identifiers.org/chebi/CHEBI:18784", + "http://identifiers.org/chebi/CHEBI:18785", + "http://identifiers.org/chebi/CHEBI:30797", + "http://identifiers.org/chebi/CHEBI:423", + "http://identifiers.org/hmdb/HMDB00156", + "http://identifiers.org/kegg.compound/C00149", + "http://identifiers.org/metanetx.chemical/MNXM98", + "http://identifiers.org/seed.compound/cpd00130" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C4H4O5", + "id": "M_mal__L_e", + "name": "L-Malate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/nad", + "http://identifiers.org/biocyc/META:NAD", + "http://identifiers.org/chebi/CHEBI:13393", + "http://identifiers.org/chebi/CHEBI:13394", + "http://identifiers.org/chebi/CHEBI:15846", + "http://identifiers.org/chebi/CHEBI:21901", + "http://identifiers.org/chebi/CHEBI:29867", + "http://identifiers.org/chebi/CHEBI:44214", + "http://identifiers.org/chebi/CHEBI:44215", + "http://identifiers.org/chebi/CHEBI:44281", + "http://identifiers.org/chebi/CHEBI:57540", + "http://identifiers.org/chebi/CHEBI:7422", + "http://identifiers.org/kegg.compound/C00003", + "http://identifiers.org/kegg.drug/D00002", + "http://identifiers.org/metanetx.chemical/MNXM8", + "http://identifiers.org/seed.compound/cpd00003" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C21H26N7O14P2", + "id": "M_nad_c", + "name": "Nicotinamide adenine dinucleotide" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/nadh", + "http://identifiers.org/biocyc/META:NADH", + "http://identifiers.org/chebi/CHEBI:13395", + "http://identifiers.org/chebi/CHEBI:13396", + "http://identifiers.org/chebi/CHEBI:16908", + "http://identifiers.org/chebi/CHEBI:21902", + "http://identifiers.org/chebi/CHEBI:44216", + "http://identifiers.org/chebi/CHEBI:57945", + "http://identifiers.org/chebi/CHEBI:7423", + "http://identifiers.org/hmdb/HMDB01487", + "http://identifiers.org/kegg.compound/C00004", + "http://identifiers.org/metanetx.chemical/MNXM10", + "http://identifiers.org/seed.compound/cpd00004" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C21H27N7O14P2", + "id": "M_nadh_c", + "name": "Nicotinamide adenine dinucleotide - reduced" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/nadp", + "http://identifiers.org/biocyc/META:NADP", + "http://identifiers.org/chebi/CHEBI:13397", + "http://identifiers.org/chebi/CHEBI:13398", + "http://identifiers.org/chebi/CHEBI:18009", + "http://identifiers.org/chebi/CHEBI:21903", + "http://identifiers.org/chebi/CHEBI:25523", + "http://identifiers.org/chebi/CHEBI:29868", + "http://identifiers.org/chebi/CHEBI:44405", + "http://identifiers.org/chebi/CHEBI:44409", + "http://identifiers.org/chebi/CHEBI:58349", + "http://identifiers.org/chebi/CHEBI:7424", + "http://identifiers.org/kegg.compound/C00006", + "http://identifiers.org/metanetx.chemical/MNXM5", + "http://identifiers.org/seed.compound/cpd00006" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C21H25N7O17P3", + "id": "M_nadp_c", + "name": "Nicotinamide adenine dinucleotide phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/nadph", + "http://identifiers.org/biocyc/META:NADPH", + "http://identifiers.org/chebi/CHEBI:13399", + "http://identifiers.org/chebi/CHEBI:13400", + "http://identifiers.org/chebi/CHEBI:16474", + "http://identifiers.org/chebi/CHEBI:21904", + "http://identifiers.org/chebi/CHEBI:44286", + "http://identifiers.org/chebi/CHEBI:57783", + "http://identifiers.org/chebi/CHEBI:7425", + "http://identifiers.org/hmdb/HMDB00221", + "http://identifiers.org/hmdb/HMDB00799", + "http://identifiers.org/hmdb/HMDB06341", + "http://identifiers.org/kegg.compound/C00005", + "http://identifiers.org/metanetx.chemical/MNXM6", + "http://identifiers.org/seed.compound/cpd00005" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C21H26N7O17P3", + "id": "M_nadph_c", + "name": "Nicotinamide adenine dinucleotide phosphate - reduced" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/nh4", + "http://identifiers.org/biocyc/META:AMMONIA", + "http://identifiers.org/biocyc/META:AMMONIUM", + "http://identifiers.org/chebi/CHEBI:13405", + "http://identifiers.org/chebi/CHEBI:13406", + "http://identifiers.org/chebi/CHEBI:13407", + "http://identifiers.org/chebi/CHEBI:135980", + "http://identifiers.org/chebi/CHEBI:13771", + "http://identifiers.org/chebi/CHEBI:16134", + "http://identifiers.org/chebi/CHEBI:22533", + "http://identifiers.org/chebi/CHEBI:22534", + "http://identifiers.org/chebi/CHEBI:28938", + "http://identifiers.org/chebi/CHEBI:29337", + "http://identifiers.org/chebi/CHEBI:29340", + "http://identifiers.org/chebi/CHEBI:44269", + "http://identifiers.org/chebi/CHEBI:44284", + "http://identifiers.org/chebi/CHEBI:44404", + "http://identifiers.org/chebi/CHEBI:49783", + "http://identifiers.org/chebi/CHEBI:7434", + "http://identifiers.org/chebi/CHEBI:7435", + "http://identifiers.org/hmdb/HMDB00051", + "http://identifiers.org/hmdb/HMDB41827", + "http://identifiers.org/kegg.compound/C00014", + "http://identifiers.org/kegg.compound/C01342", + "http://identifiers.org/kegg.drug/D02915", + "http://identifiers.org/kegg.drug/D02916", + "http://identifiers.org/metanetx.chemical/MNXM15", + "http://identifiers.org/seed.compound/cpd00013", + "http://identifiers.org/seed.compound/cpd19013" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "H4N", + "id": "M_nh4_c", + "name": "Ammonium" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/nh4", + "http://identifiers.org/biocyc/META:AMMONIA", + "http://identifiers.org/biocyc/META:AMMONIUM", + "http://identifiers.org/chebi/CHEBI:13405", + "http://identifiers.org/chebi/CHEBI:13406", + "http://identifiers.org/chebi/CHEBI:13407", + "http://identifiers.org/chebi/CHEBI:135980", + "http://identifiers.org/chebi/CHEBI:13771", + "http://identifiers.org/chebi/CHEBI:16134", + "http://identifiers.org/chebi/CHEBI:22533", + "http://identifiers.org/chebi/CHEBI:22534", + "http://identifiers.org/chebi/CHEBI:28938", + "http://identifiers.org/chebi/CHEBI:29337", + "http://identifiers.org/chebi/CHEBI:29340", + "http://identifiers.org/chebi/CHEBI:44269", + "http://identifiers.org/chebi/CHEBI:44284", + "http://identifiers.org/chebi/CHEBI:44404", + "http://identifiers.org/chebi/CHEBI:49783", + "http://identifiers.org/chebi/CHEBI:7434", + "http://identifiers.org/chebi/CHEBI:7435", + "http://identifiers.org/hmdb/HMDB00051", + "http://identifiers.org/hmdb/HMDB41827", + "http://identifiers.org/kegg.compound/C00014", + "http://identifiers.org/kegg.compound/C01342", + "http://identifiers.org/kegg.drug/D02915", + "http://identifiers.org/kegg.drug/D02916", + "http://identifiers.org/metanetx.chemical/MNXM15", + "http://identifiers.org/seed.compound/cpd00013", + "http://identifiers.org/seed.compound/cpd19013" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "H4N", + "id": "M_nh4_e", + "name": "Ammonium" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/o2", + "http://identifiers.org/biocyc/META:OXYGEN-MOLECULE", + "http://identifiers.org/chebi/CHEBI:10745", + "http://identifiers.org/chebi/CHEBI:13416", + "http://identifiers.org/chebi/CHEBI:15379", + "http://identifiers.org/chebi/CHEBI:23833", + "http://identifiers.org/chebi/CHEBI:25366", + "http://identifiers.org/chebi/CHEBI:26689", + "http://identifiers.org/chebi/CHEBI:27140", + "http://identifiers.org/chebi/CHEBI:29097", + "http://identifiers.org/chebi/CHEBI:29793", + "http://identifiers.org/chebi/CHEBI:30491", + "http://identifiers.org/chebi/CHEBI:44742", + "http://identifiers.org/chebi/CHEBI:7860", + "http://identifiers.org/hmdb/HMDB01377", + "http://identifiers.org/kegg.compound/C00007", + "http://identifiers.org/kegg.drug/D00003", + "http://identifiers.org/metanetx.chemical/MNXM4", + "http://identifiers.org/seed.compound/cpd00007" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "O2", + "id": "M_o2_c", + "name": "O2 O2" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/o2", + "http://identifiers.org/biocyc/META:OXYGEN-MOLECULE", + "http://identifiers.org/chebi/CHEBI:10745", + "http://identifiers.org/chebi/CHEBI:13416", + "http://identifiers.org/chebi/CHEBI:15379", + "http://identifiers.org/chebi/CHEBI:23833", + "http://identifiers.org/chebi/CHEBI:25366", + "http://identifiers.org/chebi/CHEBI:26689", + "http://identifiers.org/chebi/CHEBI:27140", + "http://identifiers.org/chebi/CHEBI:29097", + "http://identifiers.org/chebi/CHEBI:29793", + "http://identifiers.org/chebi/CHEBI:30491", + "http://identifiers.org/chebi/CHEBI:44742", + "http://identifiers.org/chebi/CHEBI:7860", + "http://identifiers.org/hmdb/HMDB01377", + "http://identifiers.org/kegg.compound/C00007", + "http://identifiers.org/kegg.drug/D00003", + "http://identifiers.org/metanetx.chemical/MNXM4", + "http://identifiers.org/seed.compound/cpd00007" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "O2", + "id": "M_o2_e", + "name": "O2 O2" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/oaa", + "http://identifiers.org/biocyc/META:ENOL-OXALOACETATE", + "http://identifiers.org/biocyc/META:OXALACETIC_ACID", + "http://identifiers.org/chebi/CHEBI:12820", + "http://identifiers.org/chebi/CHEBI:14703", + "http://identifiers.org/chebi/CHEBI:16452", + "http://identifiers.org/chebi/CHEBI:24958", + "http://identifiers.org/chebi/CHEBI:24959", + "http://identifiers.org/chebi/CHEBI:25731", + "http://identifiers.org/chebi/CHEBI:25734", + "http://identifiers.org/chebi/CHEBI:29049", + "http://identifiers.org/chebi/CHEBI:30744", + "http://identifiers.org/chebi/CHEBI:7812", + "http://identifiers.org/hmdb/HMDB00223", + "http://identifiers.org/kegg.compound/C00036", + "http://identifiers.org/kegg.compound/C03981", + "http://identifiers.org/lipidmaps/LMFA01170061", + "http://identifiers.org/lipidmaps/LMFA01170120", + "http://identifiers.org/metanetx.chemical/MNXM46", + "http://identifiers.org/seed.compound/cpd00032", + "http://identifiers.org/seed.compound/cpd02469" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C4H2O5", + "id": "M_oaa_c", + "name": "Oxaloacetate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/pep", + "http://identifiers.org/biocyc/META:PHOSPHO-ENOL-PYRUVATE", + "http://identifiers.org/chebi/CHEBI:14812", + "http://identifiers.org/chebi/CHEBI:18021", + "http://identifiers.org/chebi/CHEBI:26054", + "http://identifiers.org/chebi/CHEBI:26055", + "http://identifiers.org/chebi/CHEBI:44894", + "http://identifiers.org/chebi/CHEBI:44897", + "http://identifiers.org/chebi/CHEBI:58702", + "http://identifiers.org/chebi/CHEBI:8147", + "http://identifiers.org/hmdb/HMDB00263", + "http://identifiers.org/kegg.compound/C00074", + "http://identifiers.org/metanetx.chemical/MNXM73", + "http://identifiers.org/seed.compound/cpd00061" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C3H2O6P", + "id": "M_pep_c", + "name": "Phosphoenolpyruvate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/pi", + "http://identifiers.org/biocyc/META:CPD-16459", + "http://identifiers.org/biocyc/META:CPD-9010", + "http://identifiers.org/biocyc/META:PHOSPHATE-GROUP", + "http://identifiers.org/biocyc/META:Pi", + "http://identifiers.org/chebi/CHEBI:14791", + "http://identifiers.org/chebi/CHEBI:18367", + "http://identifiers.org/chebi/CHEBI:26078", + "http://identifiers.org/chebi/CHEBI:29137", + "http://identifiers.org/chebi/CHEBI:29139", + "http://identifiers.org/chebi/CHEBI:35780", + "http://identifiers.org/chebi/CHEBI:39739", + "http://identifiers.org/chebi/CHEBI:39745", + "http://identifiers.org/chebi/CHEBI:43470", + "http://identifiers.org/chebi/CHEBI:43474", + "http://identifiers.org/chebi/CHEBI:45024", + "http://identifiers.org/chebi/CHEBI:7793", + "http://identifiers.org/hmdb/HMDB00973", + "http://identifiers.org/hmdb/HMDB01429", + "http://identifiers.org/hmdb/HMDB02105", + "http://identifiers.org/hmdb/HMDB02142", + "http://identifiers.org/hmdb/HMDB05947", + "http://identifiers.org/kegg.compound/C00009", + "http://identifiers.org/kegg.compound/C13558", + "http://identifiers.org/kegg.drug/D05467", + "http://identifiers.org/metanetx.chemical/MNXM9", + "http://identifiers.org/seed.compound/cpd00009", + "http://identifiers.org/seed.compound/cpd27787" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "HO4P", + "id": "M_pi_c", + "name": "Phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/pi", + "http://identifiers.org/biocyc/META:CPD-16459", + "http://identifiers.org/biocyc/META:CPD-9010", + "http://identifiers.org/biocyc/META:PHOSPHATE-GROUP", + "http://identifiers.org/biocyc/META:Pi", + "http://identifiers.org/chebi/CHEBI:14791", + "http://identifiers.org/chebi/CHEBI:18367", + "http://identifiers.org/chebi/CHEBI:26078", + "http://identifiers.org/chebi/CHEBI:29137", + "http://identifiers.org/chebi/CHEBI:29139", + "http://identifiers.org/chebi/CHEBI:35780", + "http://identifiers.org/chebi/CHEBI:39739", + "http://identifiers.org/chebi/CHEBI:39745", + "http://identifiers.org/chebi/CHEBI:43470", + "http://identifiers.org/chebi/CHEBI:43474", + "http://identifiers.org/chebi/CHEBI:45024", + "http://identifiers.org/chebi/CHEBI:7793", + "http://identifiers.org/hmdb/HMDB00973", + "http://identifiers.org/hmdb/HMDB01429", + "http://identifiers.org/hmdb/HMDB02105", + "http://identifiers.org/hmdb/HMDB02142", + "http://identifiers.org/hmdb/HMDB05947", + "http://identifiers.org/kegg.compound/C00009", + "http://identifiers.org/kegg.compound/C13558", + "http://identifiers.org/kegg.drug/D05467", + "http://identifiers.org/metanetx.chemical/MNXM9", + "http://identifiers.org/seed.compound/cpd00009", + "http://identifiers.org/seed.compound/cpd27787" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "HO4P", + "id": "M_pi_e", + "name": "Phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/pyr", + "http://identifiers.org/biocyc/META:PYRUVATE", + "http://identifiers.org/chebi/CHEBI:14987", + "http://identifiers.org/chebi/CHEBI:15361", + "http://identifiers.org/chebi/CHEBI:26462", + "http://identifiers.org/chebi/CHEBI:26466", + "http://identifiers.org/chebi/CHEBI:32816", + "http://identifiers.org/chebi/CHEBI:45253", + "http://identifiers.org/chebi/CHEBI:86354", + "http://identifiers.org/chebi/CHEBI:8685", + "http://identifiers.org/hmdb/HMDB00243", + "http://identifiers.org/hmdb/HMDB62676", + "http://identifiers.org/kegg.compound/C00022", + "http://identifiers.org/lipidmaps/LMFA01060077", + "http://identifiers.org/metanetx.chemical/MNXM23", + "http://identifiers.org/seed.compound/cpd00020" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C3H3O3", + "id": "M_pyr_c", + "name": "Pyruvate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/pyr", + "http://identifiers.org/biocyc/META:PYRUVATE", + "http://identifiers.org/chebi/CHEBI:14987", + "http://identifiers.org/chebi/CHEBI:15361", + "http://identifiers.org/chebi/CHEBI:26462", + "http://identifiers.org/chebi/CHEBI:26466", + "http://identifiers.org/chebi/CHEBI:32816", + "http://identifiers.org/chebi/CHEBI:45253", + "http://identifiers.org/chebi/CHEBI:86354", + "http://identifiers.org/chebi/CHEBI:8685", + "http://identifiers.org/hmdb/HMDB00243", + "http://identifiers.org/hmdb/HMDB62676", + "http://identifiers.org/kegg.compound/C00022", + "http://identifiers.org/lipidmaps/LMFA01060077", + "http://identifiers.org/metanetx.chemical/MNXM23", + "http://identifiers.org/seed.compound/cpd00020" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C3H3O3", + "id": "M_pyr_e", + "name": "Pyruvate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/q8", + "http://identifiers.org/biocyc/META:UBIQUINONE-8", + "http://identifiers.org/chebi/CHEBI:61683", + "http://identifiers.org/kegg.compound/C17569", + "http://identifiers.org/lipidmaps/LMPR02010005", + "http://identifiers.org/metanetx.chemical/MNXM232", + "http://identifiers.org/seed.compound/cpd15560" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C49H74O4", + "id": "M_q8_c", + "name": "Ubiquinone-8" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/q8h2", + "http://identifiers.org/biocyc/META:CPD-9956", + "http://identifiers.org/chebi/CHEBI:61682", + "http://identifiers.org/hmdb/HMDB01060", + "http://identifiers.org/metanetx.chemical/MNXM191", + "http://identifiers.org/seed.compound/cpd15561", + "http://identifiers.org/seed.compound/cpd29608" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C49H76O4", + "id": "M_q8h2_c", + "name": "Ubiquinol-8" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/r5p", + "http://identifiers.org/biocyc/META:CPD-15318", + "http://identifiers.org/chebi/CHEBI:10270", + "http://identifiers.org/chebi/CHEBI:12331", + "http://identifiers.org/chebi/CHEBI:18189", + "http://identifiers.org/chebi/CHEBI:22413", + "http://identifiers.org/kegg.compound/C03736", + "http://identifiers.org/metanetx.chemical/MNXM15900", + "http://identifiers.org/seed.compound/cpd19028" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C5H9O8P", + "id": "M_r5p_c", + "name": "Alpha-D-Ribose 5-phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/ru5p__D", + "http://identifiers.org/biocyc/META:RIBULOSE-5P", + "http://identifiers.org/chebi/CHEBI:13018", + "http://identifiers.org/chebi/CHEBI:13040", + "http://identifiers.org/chebi/CHEBI:17363", + "http://identifiers.org/chebi/CHEBI:21088", + "http://identifiers.org/chebi/CHEBI:26572", + "http://identifiers.org/chebi/CHEBI:37455", + "http://identifiers.org/chebi/CHEBI:40192", + "http://identifiers.org/chebi/CHEBI:4243", + "http://identifiers.org/chebi/CHEBI:58121", + "http://identifiers.org/hmdb/HMDB00618", + "http://identifiers.org/hmdb/HMDB02033", + "http://identifiers.org/hmdb/HMDB02694", + "http://identifiers.org/kegg.compound/C00199", + "http://identifiers.org/metanetx.chemical/MNXM145", + "http://identifiers.org/seed.compound/cpd00171" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C5H9O8P", + "id": "M_ru5p__D_c", + "name": "D-Ribulose 5-phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/s7p", + "http://identifiers.org/biocyc/META:D-SEDOHEPTULOSE-7-P", + "http://identifiers.org/chebi/CHEBI:15073", + "http://identifiers.org/chebi/CHEBI:15074", + "http://identifiers.org/chebi/CHEBI:15721", + "http://identifiers.org/chebi/CHEBI:26621", + "http://identifiers.org/chebi/CHEBI:4244", + "http://identifiers.org/chebi/CHEBI:57483", + "http://identifiers.org/chebi/CHEBI:9083", + "http://identifiers.org/hmdb/HMDB01068", + "http://identifiers.org/hmdb/HMDB62754", + "http://identifiers.org/kegg.compound/C05382", + "http://identifiers.org/metanetx.chemical/MNXM271", + "http://identifiers.org/seed.compound/cpd00238" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C7H13O10P", + "id": "M_s7p_c", + "name": "Sedoheptulose 7-phosphate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/succ", + "http://identifiers.org/biocyc/META:SUC", + "http://identifiers.org/chebi/CHEBI:132287", + "http://identifiers.org/chebi/CHEBI:15125", + "http://identifiers.org/chebi/CHEBI:15741", + "http://identifiers.org/chebi/CHEBI:22941", + "http://identifiers.org/chebi/CHEBI:22943", + "http://identifiers.org/chebi/CHEBI:26803", + "http://identifiers.org/chebi/CHEBI:26807", + "http://identifiers.org/chebi/CHEBI:30031", + "http://identifiers.org/chebi/CHEBI:30779", + "http://identifiers.org/chebi/CHEBI:45639", + "http://identifiers.org/chebi/CHEBI:90372", + "http://identifiers.org/chebi/CHEBI:9304", + "http://identifiers.org/hmdb/HMDB00254", + "http://identifiers.org/kegg.compound/C00042", + "http://identifiers.org/lipidmaps/LMFA01170043", + "http://identifiers.org/metanetx.chemical/MNXM25", + "http://identifiers.org/seed.compound/cpd00036" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C4H4O4", + "id": "M_succ_c", + "name": "Succinate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/succ", + "http://identifiers.org/biocyc/META:SUC", + "http://identifiers.org/chebi/CHEBI:132287", + "http://identifiers.org/chebi/CHEBI:15125", + "http://identifiers.org/chebi/CHEBI:15741", + "http://identifiers.org/chebi/CHEBI:22941", + "http://identifiers.org/chebi/CHEBI:22943", + "http://identifiers.org/chebi/CHEBI:26803", + "http://identifiers.org/chebi/CHEBI:26807", + "http://identifiers.org/chebi/CHEBI:30031", + "http://identifiers.org/chebi/CHEBI:30779", + "http://identifiers.org/chebi/CHEBI:45639", + "http://identifiers.org/chebi/CHEBI:90372", + "http://identifiers.org/chebi/CHEBI:9304", + "http://identifiers.org/hmdb/HMDB00254", + "http://identifiers.org/kegg.compound/C00042", + "http://identifiers.org/lipidmaps/LMFA01170043", + "http://identifiers.org/metanetx.chemical/MNXM25", + "http://identifiers.org/seed.compound/cpd00036" + ] + } + ] + } + }, + "charge": 0, + "compartment": "e", + "formula": "C4H4O4", + "id": "M_succ_e", + "name": "Succinate" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/succoa", + "http://identifiers.org/biocyc/META:SUC-COA", + "http://identifiers.org/chebi/CHEBI:10746", + "http://identifiers.org/chebi/CHEBI:15127", + "http://identifiers.org/chebi/CHEBI:15380", + "http://identifiers.org/chebi/CHEBI:26811", + "http://identifiers.org/chebi/CHEBI:45541", + "http://identifiers.org/chebi/CHEBI:57292", + "http://identifiers.org/chebi/CHEBI:9310", + "http://identifiers.org/hmdb/HMDB01022", + "http://identifiers.org/kegg.compound/C00091", + "http://identifiers.org/lipidmaps/LMFA07050370", + "http://identifiers.org/metanetx.chemical/MNXM92", + "http://identifiers.org/seed.compound/cpd00078" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C25H35N7O19P3S", + "id": "M_succoa_c", + "name": "Succinyl-CoA" + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/xu5p__D", + "http://identifiers.org/biocyc/META:XYLULOSE-5-PHOSPHATE", + "http://identifiers.org/chebi/CHEBI:13036", + "http://identifiers.org/chebi/CHEBI:16332", + "http://identifiers.org/chebi/CHEBI:21121", + "http://identifiers.org/chebi/CHEBI:27354", + "http://identifiers.org/chebi/CHEBI:4269", + "http://identifiers.org/chebi/CHEBI:57737", + "http://identifiers.org/hmdb/HMDB00868", + "http://identifiers.org/hmdb/HMDB06212", + "http://identifiers.org/kegg.compound/C00231", + "http://identifiers.org/metanetx.chemical/MNXM186", + "http://identifiers.org/seed.compound/cpd00198" + ] + } + ] + } + }, + "charge": 0, + "compartment": "c", + "formula": "C5H9O8P", + "id": "M_xu5p__D_c", + "name": "D-Xylulose 5-phosphate" + } + ], + "name": "Escherichia coli str. K-12 substr. MG1655", + "notes": "\n \n

Description

\n
\n

This is a metabolism model of Escherichia coli str. K-12 substr. MG1655 in\n SBML\u00a0format.

\n
\n
The content of this model has been carefully created in a manual research effort. This file has been exported from the software\n COBRApy\u00a0and further processed with the\n JSBML-based\n ModelPolisher\u00a0application.
\n
This file has been produced by the\n Systems Biology Research Group\u00a0using\n BiGG Models knowledge-base\u00a0version of Feb 24, 2018, where it is currently hosted and\n identified by:\n e_coli_core.
\n

Terms of use

\n
Copyright \u00a9 2017 The Regents of the University of California.
\n
\n

Redistribution and use of any part of this model from BiGG Models knowledge-base, with or without modification, are permitted provided that the following conditions are met:\n

    \n
  1. Redistributions of this SBML file must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. \n
  3. Redistributions in a different form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided\n with the distribution.
  4. \n
This model 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.

\n

For specific licensing terms about this particular model and regulations of commercial use, see\n this model in BiGG Models knowledge-base.

\n
\n

References

When using content from BiGG Models knowledge-base in your research works, please cite\n
\n
King ZA, Lu JS, Dr\u00e4ger A, Miller PC, Federowicz S, Lerman JA, Ebrahim A, Palsson BO, and\u00a0Lewis NE. (2015).\n
BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models.\n Nucl Acids Res.\n doi:10.1093/nar/gkv1049
\n
\n
", + "reactions": [ + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ACALD", + "http://identifiers.org/biocyc/META:ACETALD-DEHYDROG-RXN", + "http://identifiers.org/ec-code/1.2.1.10", + "http://identifiers.org/kegg.reaction/R00228", + "http://identifiers.org/metanetx.reaction/MNXR95210", + "http://identifiers.org/rhea/23288", + "http://identifiers.org/rhea/23289", + "http://identifiers.org/rhea/23290", + "http://identifiers.org/rhea/23291" + ] + } + ] + } + }, + "gene_reaction_rule": "b0351 or b1241", + "id": "R_ACALD", + "lower_bound": -1000.0, + "metabolites": { + "M_acald_c": -1.0, + "M_accoa_c": 1.0, + "M_coa_c": -1.0, + "M_h_c": 1.0, + "M_nad_c": -1.0, + "M_nadh_c": 1.0 + }, + "name": "Acetaldehyde dehydrogenase (acetylating)", + "notes": "\n \n
\n

Key1 : Value1

\n

Key2 : Value2

\n
\n

A Heading

\n
e_coli_core - Escherichia coli str. K-12 substr. MG1655
\n
\n

Key3 : Value3

\n
\n \n
", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ACALDt", + "http://identifiers.org/metanetx.reaction/MNXR95212" + ] + } + ] + } + }, + "gene_reaction_rule": "s0001", + "id": "R_ACALDt", + "lower_bound": -1000.0, + "metabolites": { + "M_acald_c": 1.0, + "M_acald_e": -1.0 + }, + "name": "Acetaldehyde reversible transport", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ACKr", + "http://identifiers.org/biocyc/META:ACETATEKIN-RXN", + "http://identifiers.org/ec-code/2.7.2.1", + "http://identifiers.org/ec-code/2.7.2.15", + "http://identifiers.org/kegg.reaction/R00315", + "http://identifiers.org/metanetx.reaction/MNXR95269", + "http://identifiers.org/rhea/11352", + "http://identifiers.org/rhea/11353", + "http://identifiers.org/rhea/11354", + "http://identifiers.org/rhea/11355" + ] + } + ] + } + }, + "gene_reaction_rule": "b2296 or b3115 or b1849", + "id": "R_ACKr", + "lower_bound": -1000.0, + "metabolites": { + "M_ac_c": -1.0, + "M_actp_c": 1.0, + "M_adp_c": 1.0, + "M_atp_c": -1.0 + }, + "name": "Acetate kinase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ACONTa", + "http://identifiers.org/biocyc/META:ACONITATEDEHYDR-RXN", + "http://identifiers.org/ec-code/4.2.1.3", + "http://identifiers.org/kegg.reaction/R01325", + "http://identifiers.org/metanetx.reaction/MNXR95386", + "http://identifiers.org/rhea/10228", + "http://identifiers.org/rhea/10229", + "http://identifiers.org/rhea/10230", + "http://identifiers.org/rhea/10231" + ] + } + ] + } + }, + "gene_reaction_rule": "b0118 or b1276", + "id": "R_ACONTa", + "lower_bound": -1000.0, + "metabolites": { + "M_acon_C_c": 1.0, + "M_cit_c": -1.0, + "M_h2o_c": 1.0 + }, + "name": "Aconitase (half-reaction A, Citrate hydro-lyase)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ACONTb", + "http://identifiers.org/ec-code/4.2.1.3", + "http://identifiers.org/kegg.reaction/R01900", + "http://identifiers.org/metanetx.reaction/MNXR95387", + "http://identifiers.org/rhea/22144", + "http://identifiers.org/rhea/22145", + "http://identifiers.org/rhea/22146", + "http://identifiers.org/rhea/22147" + ] + } + ] + } + }, + "gene_reaction_rule": "b0118 or b1276", + "id": "R_ACONTb", + "lower_bound": -1000.0, + "metabolites": { + "M_acon_C_c": -1.0, + "M_h2o_c": -1.0, + "M_icit_c": 1.0 + }, + "name": "Aconitase (half-reaction B, Isocitrate hydro-lyase)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ACt2r", + "http://identifiers.org/biocyc/META:TRANS-RXN0-571", + "http://identifiers.org/metanetx.reaction/MNXR95429" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_ACt2r", + "lower_bound": -1000.0, + "metabolites": { + "M_ac_c": 1.0, + "M_ac_e": -1.0, + "M_h_c": 1.0, + "M_h_e": -1.0 + }, + "name": "Acetate reversible transport via proton symport", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ADK1", + "http://identifiers.org/biocyc/META:ADENYL-KIN-RXN", + "http://identifiers.org/ec-code/2.7.4.3", + "http://identifiers.org/kegg.reaction/R00127", + "http://identifiers.org/metanetx.reaction/MNXR95450", + "http://identifiers.org/rhea/12973", + "http://identifiers.org/rhea/12974", + "http://identifiers.org/rhea/12975", + "http://identifiers.org/rhea/12976" + ] + } + ] + } + }, + "gene_reaction_rule": "b0474", + "id": "R_ADK1", + "lower_bound": -1000.0, + "metabolites": { + "M_adp_c": 2.0, + "M_amp_c": -1.0, + "M_atp_c": -1.0 + }, + "name": "Adenylate kinase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/AKGDH", + "http://identifiers.org/biocyc/META:2OXOGLUTARATEDEH-RXN", + "http://identifiers.org/ec-code/1.2.1.52", + "http://identifiers.org/ec-code/1.2.4.2", + "http://identifiers.org/ec-code/1.8.1.4", + "http://identifiers.org/ec-code/2.3.1.61", + "http://identifiers.org/kegg.reaction/R08549", + "http://identifiers.org/metanetx.reaction/MNXR95655", + "http://identifiers.org/rhea/27786", + "http://identifiers.org/rhea/27787", + "http://identifiers.org/rhea/27788", + "http://identifiers.org/rhea/27789" + ] + } + ] + } + }, + "gene_reaction_rule": "b0726 and b0116 and b0727", + "id": "R_AKGDH", + "lower_bound": 0.0, + "metabolites": { + "M_akg_c": -1.0, + "M_co2_c": 1.0, + "M_coa_c": -1.0, + "M_nad_c": -1.0, + "M_nadh_c": 1.0, + "M_succoa_c": 1.0 + }, + "name": "2-Oxogluterate dehydrogenase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/AKGt2r", + "http://identifiers.org/biocyc/META:TRANS-RXN-23", + "http://identifiers.org/metanetx.reaction/MNXR95661", + "http://identifiers.org/rhea/29011", + "http://identifiers.org/rhea/29012", + "http://identifiers.org/rhea/29013", + "http://identifiers.org/rhea/29014" + ] + } + ] + } + }, + "gene_reaction_rule": "b2587", + "id": "R_AKGt2r", + "lower_bound": -1000.0, + "metabolites": { + "M_akg_c": 1.0, + "M_akg_e": -1.0, + "M_h_c": 1.0, + "M_h_e": -1.0 + }, + "name": "2 oxoglutarate reversible transport via symport", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ALCD2x", + "http://identifiers.org/biocyc/META:ALCOHOL-DEHYDROG-RXN", + "http://identifiers.org/ec-code/1.1.1.1", + "http://identifiers.org/ec-code/1.1.1.71", + "http://identifiers.org/kegg.reaction/R00754", + "http://identifiers.org/metanetx.reaction/MNXR95725", + "http://identifiers.org/rhea/25290", + "http://identifiers.org/rhea/25291", + "http://identifiers.org/rhea/25292", + "http://identifiers.org/rhea/25293" + ] + } + ] + } + }, + "gene_reaction_rule": "b1478 or b0356 or b1241", + "id": "R_ALCD2x", + "lower_bound": -1000.0, + "metabolites": { + "M_acald_c": 1.0, + "M_etoh_c": -1.0, + "M_h_c": 1.0, + "M_nad_c": -1.0, + "M_nadh_c": 1.0 + }, + "name": "Alcohol dehydrogenase (ethanol)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ATPM", + "http://identifiers.org/biocyc/META:ATPASE-RXN", + "http://identifiers.org/ec-code/3.6.1.15", + "http://identifiers.org/ec-code/3.6.1.3", + "http://identifiers.org/ec-code/3.6.1.5", + "http://identifiers.org/ec-code/3.6.1.8", + "http://identifiers.org/ec-code/3.6.3.1", + "http://identifiers.org/ec-code/3.6.3.10", + "http://identifiers.org/ec-code/3.6.3.11", + "http://identifiers.org/ec-code/3.6.3.12", + "http://identifiers.org/ec-code/3.6.3.14", + "http://identifiers.org/ec-code/3.6.3.15", + "http://identifiers.org/ec-code/3.6.3.16", + "http://identifiers.org/ec-code/3.6.3.17", + "http://identifiers.org/ec-code/3.6.3.18", + "http://identifiers.org/ec-code/3.6.3.19", + "http://identifiers.org/ec-code/3.6.3.2", + "http://identifiers.org/ec-code/3.6.3.20", + "http://identifiers.org/ec-code/3.6.3.21", + "http://identifiers.org/ec-code/3.6.3.22", + "http://identifiers.org/ec-code/3.6.3.23", + "http://identifiers.org/ec-code/3.6.3.24", + "http://identifiers.org/ec-code/3.6.3.25", + "http://identifiers.org/ec-code/3.6.3.26", + "http://identifiers.org/ec-code/3.6.3.27", + "http://identifiers.org/ec-code/3.6.3.28", + "http://identifiers.org/ec-code/3.6.3.29", + "http://identifiers.org/ec-code/3.6.3.3", + "http://identifiers.org/ec-code/3.6.3.30", + "http://identifiers.org/ec-code/3.6.3.31", + "http://identifiers.org/ec-code/3.6.3.32", + "http://identifiers.org/ec-code/3.6.3.33", + "http://identifiers.org/ec-code/3.6.3.34", + "http://identifiers.org/ec-code/3.6.3.35", + "http://identifiers.org/ec-code/3.6.3.36", + "http://identifiers.org/ec-code/3.6.3.37", + "http://identifiers.org/ec-code/3.6.3.38", + "http://identifiers.org/ec-code/3.6.3.39", + "http://identifiers.org/ec-code/3.6.3.4", + "http://identifiers.org/ec-code/3.6.3.40", + "http://identifiers.org/ec-code/3.6.3.41", + "http://identifiers.org/ec-code/3.6.3.42", + "http://identifiers.org/ec-code/3.6.3.43", + "http://identifiers.org/ec-code/3.6.3.44", + "http://identifiers.org/ec-code/3.6.3.46", + "http://identifiers.org/ec-code/3.6.3.47", + "http://identifiers.org/ec-code/3.6.3.48", + "http://identifiers.org/ec-code/3.6.3.49", + "http://identifiers.org/ec-code/3.6.3.5", + "http://identifiers.org/ec-code/3.6.3.50", + "http://identifiers.org/ec-code/3.6.3.51", + "http://identifiers.org/ec-code/3.6.3.52", + "http://identifiers.org/ec-code/3.6.3.53", + "http://identifiers.org/ec-code/3.6.3.54", + "http://identifiers.org/ec-code/3.6.3.6", + "http://identifiers.org/ec-code/3.6.3.7", + "http://identifiers.org/ec-code/3.6.3.8", + "http://identifiers.org/ec-code/3.6.3.9", + "http://identifiers.org/ec-code/3.6.4.1", + "http://identifiers.org/ec-code/3.6.4.10", + "http://identifiers.org/ec-code/3.6.4.11", + "http://identifiers.org/ec-code/3.6.4.12", + "http://identifiers.org/ec-code/3.6.4.13", + "http://identifiers.org/ec-code/3.6.4.2", + "http://identifiers.org/ec-code/3.6.4.3", + "http://identifiers.org/ec-code/3.6.4.4", + "http://identifiers.org/ec-code/3.6.4.5", + "http://identifiers.org/ec-code/3.6.4.6", + "http://identifiers.org/ec-code/3.6.4.7", + "http://identifiers.org/ec-code/3.6.4.8", + "http://identifiers.org/ec-code/3.6.4.9", + "http://identifiers.org/kegg.reaction/R00086", + "http://identifiers.org/metanetx.reaction/MNXR96131", + "http://identifiers.org/rhea/13065", + "http://identifiers.org/rhea/13066", + "http://identifiers.org/rhea/13067", + "http://identifiers.org/rhea/13068" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_ATPM", + "lower_bound": 8.39, + "metabolites": { + "M_adp_c": 1.0, + "M_atp_c": -1.0, + "M_h2o_c": -1.0, + "M_h_c": 1.0, + "M_pi_c": 1.0 + }, + "name": "ATP maintenance requirement", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ATPS4r", + "http://identifiers.org/biocyc/META:ATPSYN-RXN", + "http://identifiers.org/ec-code/3.6.3.14", + "http://identifiers.org/metanetx.reaction/MNXR96136" + ] + } + ] + } + }, + "gene_reaction_rule": "( b3738 and b3736 and b3737 and b3735 and b3733 and b3731 and b3732 and b3734 ) or ( b3734 and b3732 and b3731 and b3733 and b3735 and b3737 and b3736 and b3738 and b3739 )", + "id": "R_ATPS4r", + "lower_bound": -1000.0, + "metabolites": { + "M_adp_c": -1.0, + "M_atp_c": 1.0, + "M_h2o_c": 1.0, + "M_h_c": 3.0, + "M_h_e": -4.0, + "M_pi_c": -1.0 + }, + "name": "ATP synthase (four protons for one ATP)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/Ecoli_core_w_GAM" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_BIOMASS_Ecoli_core_w_GAM", + "lower_bound": 0.0, + "metabolites": { + "M_3pg_c": -1.496, + "M_accoa_c": -3.7478, + "M_adp_c": 59.81, + "M_akg_c": 4.1182, + "M_atp_c": -59.81, + "M_coa_c": 3.7478, + "M_e4p_c": -0.361, + "M_f6p_c": -0.0709, + "M_g3p_c": -0.129, + "M_g6p_c": -0.205, + "M_gln__L_c": -0.2557, + "M_glu__L_c": -4.9414, + "M_h2o_c": -59.81, + "M_h_c": 59.81, + "M_nad_c": -3.547, + "M_nadh_c": 3.547, + "M_nadp_c": 13.0279, + "M_nadph_c": -13.0279, + "M_oaa_c": -1.7867, + "M_pep_c": -0.5191, + "M_pi_c": 59.81, + "M_pyr_c": -2.8328, + "M_r5p_c": -0.8977 + }, + "name": "Biomass Objective Function with GAM", + "objective_coefficient": 1.0, + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/CO2t", + "http://identifiers.org/biocyc/META:TRANS-RXN0-545", + "http://identifiers.org/metanetx.reaction/MNXR96810" + ] + } + ] + } + }, + "gene_reaction_rule": "s0001", + "id": "R_CO2t", + "lower_bound": -1000.0, + "metabolites": { + "M_co2_c": 1.0, + "M_co2_e": -1.0 + }, + "name": "CO2 transporter via diffusion", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/CS", + "http://identifiers.org/biocyc/META:CITSYN-RXN", + "http://identifiers.org/biocyc/META:RXN-14905", + "http://identifiers.org/ec-code/2.3.3.1", + "http://identifiers.org/ec-code/2.3.3.16", + "http://identifiers.org/ec-code/2.3.3.3", + "http://identifiers.org/kegg.reaction/R00351", + "http://identifiers.org/metanetx.reaction/MNXR96920", + "http://identifiers.org/rhea/16845", + "http://identifiers.org/rhea/16846", + "http://identifiers.org/rhea/16847", + "http://identifiers.org/rhea/16848" + ] + } + ] + } + }, + "gene_reaction_rule": "b0720", + "id": "R_CS", + "lower_bound": 0.0, + "metabolites": { + "M_accoa_c": -1.0, + "M_cit_c": 1.0, + "M_coa_c": 1.0, + "M_h2o_c": -1.0, + "M_h_c": 1.0, + "M_oaa_c": -1.0 + }, + "name": "Citrate synthase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/CYTBD", + "http://identifiers.org/metanetx.reaction/MNXR97031" + ] + } + ] + } + }, + "gene_reaction_rule": "( b0978 and b0979 ) or ( b0733 and b0734 )", + "id": "R_CYTBD", + "lower_bound": 0.0, + "metabolites": { + "M_h2o_c": 1.0, + "M_h_c": -2.0, + "M_h_e": 2.0, + "M_o2_c": -0.5, + "M_q8_c": 1.0, + "M_q8h2_c": -1.0 + }, + "name": "Cytochrome oxidase bd (ubiquinol-8: 2 protons)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/D_LACt2", + "http://identifiers.org/biocyc/META:TRANS-RXN0-515", + "http://identifiers.org/metanetx.reaction/MNXR97838" + ] + } + ] + } + }, + "gene_reaction_rule": "b2975 or b3603", + "id": "R_D_LACt2", + "lower_bound": -1000.0, + "metabolites": { + "M_h_c": 1.0, + "M_h_e": -1.0, + "M_lac__D_c": 1.0, + "M_lac__D_e": -1.0 + }, + "name": "D lactate transport via proton symport", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ENO", + "http://identifiers.org/biocyc/META:2PGADEHYDRAT-RXN", + "http://identifiers.org/ec-code/4.2.1.11", + "http://identifiers.org/kegg.reaction/R00658", + "http://identifiers.org/metanetx.reaction/MNXR97932", + "http://identifiers.org/rhea/10164", + "http://identifiers.org/rhea/10165", + "http://identifiers.org/rhea/10166", + "http://identifiers.org/rhea/10167" + ] + } + ] + } + }, + "gene_reaction_rule": "b2779", + "id": "R_ENO", + "lower_bound": -1000.0, + "metabolites": { + "M_2pg_c": -1.0, + "M_h2o_c": 1.0, + "M_pep_c": 1.0 + }, + "name": "Enolase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ETOHt2r", + "http://identifiers.org/metanetx.reaction/MNXR97981" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_ETOHt2r", + "lower_bound": -1000.0, + "metabolites": { + "M_etoh_c": 1.0, + "M_etoh_e": -1.0, + "M_h_c": 1.0, + "M_h_e": -1.0 + }, + "name": "Ethanol reversible transport via proton symport", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ac" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_ac_e", + "lower_bound": 0.0, + "metabolites": { + "M_ac_e": -1.0 + }, + "name": "Acetate exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/acald" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_acald_e", + "lower_bound": 0.0, + "metabolites": { + "M_acald_e": -1.0 + }, + "name": "Acetaldehyde exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/akg" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_akg_e", + "lower_bound": 0.0, + "metabolites": { + "M_akg_e": -1.0 + }, + "name": "2-Oxoglutarate exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/co2" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_co2_e", + "lower_bound": -1000.0, + "metabolites": { + "M_co2_e": -1.0 + }, + "name": "CO2 exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/etoh" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_etoh_e", + "lower_bound": 0.0, + "metabolites": { + "M_etoh_e": -1.0 + }, + "name": "Ethanol exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/for" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_for_e", + "lower_bound": 0.0, + "metabolites": { + "M_for_e": -1.0 + }, + "name": "Formate exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/fru" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_fru_e", + "lower_bound": 0.0, + "metabolites": { + "M_fru_e": -1.0 + }, + "name": "D-Fructose exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/fum" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_fum_e", + "lower_bound": 0.0, + "metabolites": { + "M_fum_e": -1.0 + }, + "name": "Fumarate exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/glc__D" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_glc__D_e", + "lower_bound": -10.0, + "metabolites": { + "M_glc__D_e": -1.0 + }, + "name": "D-Glucose exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/gln__L" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_gln__L_e", + "lower_bound": 0.0, + "metabolites": { + "M_gln__L_e": -1.0 + }, + "name": "L-Glutamine exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/glu__L" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_glu__L_e", + "lower_bound": 0.0, + "metabolites": { + "M_glu__L_e": -1.0 + }, + "name": "L-Glutamate exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/h" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_h_e", + "lower_bound": -1000.0, + "metabolites": { + "M_h_e": -1.0 + }, + "name": "H+ exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/h2o" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_h2o_e", + "lower_bound": -1000.0, + "metabolites": { + "M_h2o_e": -1.0 + }, + "name": "H2O exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/lac__D" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_lac__D_e", + "lower_bound": 0.0, + "metabolites": { + "M_lac__D_e": -1.0 + }, + "name": "D-lactate exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/mal__L" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_mal__L_e", + "lower_bound": 0.0, + "metabolites": { + "M_mal__L_e": -1.0 + }, + "name": "L-Malate exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/nh4" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_nh4_e", + "lower_bound": -1000.0, + "metabolites": { + "M_nh4_e": -1.0 + }, + "name": "Ammonia exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/o2" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_o2_e", + "lower_bound": -1000.0, + "metabolites": { + "M_o2_e": -1.0 + }, + "name": "O2 exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/pi" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_pi_e", + "lower_bound": -1000.0, + "metabolites": { + "M_pi_e": -1.0 + }, + "name": "Phosphate exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/pyr" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_pyr_e", + "lower_bound": 0.0, + "metabolites": { + "M_pyr_e": -1.0 + }, + "name": "Pyruvate exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/succ" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_EX_succ_e", + "lower_bound": 0.0, + "metabolites": { + "M_succ_e": -1.0 + }, + "name": "Succinate exchange", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/FBA", + "http://identifiers.org/ec-code/4.1.2.13", + "http://identifiers.org/kegg.reaction/R01068", + "http://identifiers.org/metanetx.reaction/MNXR99459", + "http://identifiers.org/rhea/14729", + "http://identifiers.org/rhea/14730", + "http://identifiers.org/rhea/14731", + "http://identifiers.org/rhea/14732" + ] + } + ] + } + }, + "gene_reaction_rule": "b1773 or b2097 or b2925", + "id": "R_FBA", + "lower_bound": -1000.0, + "metabolites": { + "M_dhap_c": 1.0, + "M_fdp_c": -1.0, + "M_g3p_c": 1.0 + }, + "name": "Fructose-bisphosphate aldolase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/FBP", + "http://identifiers.org/ec-code/3.1.3.11", + "http://identifiers.org/metanetx.reaction/MNXR99465", + "http://identifiers.org/rhea/11064", + "http://identifiers.org/rhea/11065", + "http://identifiers.org/rhea/11066", + "http://identifiers.org/rhea/11067" + ] + } + ] + } + }, + "gene_reaction_rule": "b3925 or b4232", + "id": "R_FBP", + "lower_bound": 0.0, + "metabolites": { + "M_f6p_c": 1.0, + "M_fdp_c": -1.0, + "M_h2o_c": -1.0, + "M_pi_c": 1.0 + }, + "name": "Fructose-bisphosphatase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/FORt2", + "http://identifiers.org/metanetx.reaction/MNXR99621" + ] + } + ] + } + }, + "gene_reaction_rule": "b0904 or b2492", + "id": "R_FORt2", + "lower_bound": 0.0, + "metabolites": { + "M_for_c": 1.0, + "M_for_e": -1.0, + "M_h_c": 1.0, + "M_h_e": -1.0 + }, + "name": "Formate transport in via proton symport", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/FORt", + "http://identifiers.org/biocyc/META:TRANS-RXN-1", + "http://identifiers.org/metanetx.reaction/MNXR99620", + "http://identifiers.org/rhea/29679", + "http://identifiers.org/rhea/29680", + "http://identifiers.org/rhea/29681", + "http://identifiers.org/rhea/29682" + ] + } + ] + } + }, + "gene_reaction_rule": "b0904 or b2492", + "id": "R_FORt", + "lower_bound": -1000.0, + "metabolites": { + "M_for_c": 1.0, + "M_for_e": -1.0 + }, + "name": "Formate transport via diffusion", + "upper_bound": 0.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/FRD7", + "http://identifiers.org/metanetx.reaction/MNXR99641", + "http://identifiers.org/rhea/29187", + "http://identifiers.org/rhea/29188", + "http://identifiers.org/rhea/29189", + "http://identifiers.org/rhea/29190" + ] + } + ] + } + }, + "gene_reaction_rule": "b4153 and b4151 and b4152 and b4154", + "id": "R_FRD7", + "lower_bound": 0.0, + "metabolites": { + "M_fum_c": -1.0, + "M_q8_c": 1.0, + "M_q8h2_c": -1.0, + "M_succ_c": 1.0 + }, + "name": "Fumarate reductase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/FRUpts2", + "http://identifiers.org/metanetx.reaction/MNXR99662" + ] + } + ] + } + }, + "gene_reaction_rule": "b2415 and b1818 and b1817 and b1819 and b2416", + "id": "R_FRUpts2", + "lower_bound": 0.0, + "metabolites": { + "M_f6p_c": 1.0, + "M_fru_e": -1.0, + "M_pep_c": -1.0, + "M_pyr_c": 1.0 + }, + "name": "Fructose transport via PEP:Pyr PTS (f6p generating)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/FUM", + "http://identifiers.org/biocyc/META:FUMHYDR-RXN", + "http://identifiers.org/ec-code/4.2.1.2", + "http://identifiers.org/kegg.reaction/R01082", + "http://identifiers.org/metanetx.reaction/MNXR99705", + "http://identifiers.org/rhea/12460", + "http://identifiers.org/rhea/12461", + "http://identifiers.org/rhea/12462", + "http://identifiers.org/rhea/12463" + ] + } + ] + } + }, + "gene_reaction_rule": "b4122 or b1612 or b1611", + "id": "R_FUM", + "lower_bound": -1000.0, + "metabolites": { + "M_fum_c": -1.0, + "M_h2o_c": -1.0, + "M_mal__L_c": 1.0 + }, + "name": "Fumarase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/FUMt2_2", + "http://identifiers.org/biocyc/META:TRANS-RXN-121B", + "http://identifiers.org/metanetx.reaction/MNXR99711", + "http://identifiers.org/rhea/29331", + "http://identifiers.org/rhea/29332", + "http://identifiers.org/rhea/29333", + "http://identifiers.org/rhea/29334" + ] + } + ] + } + }, + "gene_reaction_rule": "b3528", + "id": "R_FUMt2_2", + "lower_bound": 0.0, + "metabolites": { + "M_fum_c": 1.0, + "M_fum_e": -1.0, + "M_h_c": 2.0, + "M_h_e": -2.0 + }, + "name": "Fumarate transport via proton symport (2 H)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/G6PDH2r", + "http://identifiers.org/biocyc/META:GLU6PDEHYDROG-RXN", + "http://identifiers.org/ec-code/1.1.1.363", + "http://identifiers.org/ec-code/1.1.1.49", + "http://identifiers.org/kegg.reaction/R00835", + "http://identifiers.org/metanetx.reaction/MNXR99907", + "http://identifiers.org/rhea/15841", + "http://identifiers.org/rhea/15842", + "http://identifiers.org/rhea/15843", + "http://identifiers.org/rhea/15844" + ] + } + ] + } + }, + "gene_reaction_rule": "b1852", + "id": "R_G6PDH2r", + "lower_bound": -1000.0, + "metabolites": { + "M_6pgl_c": 1.0, + "M_g6p_c": -1.0, + "M_h_c": 1.0, + "M_nadp_c": -1.0, + "M_nadph_c": 1.0 + }, + "name": "Glucose 6-phosphate dehydrogenase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/GAPD", + "http://identifiers.org/biocyc/META:GAPOXNPHOSPHN-RXN", + "http://identifiers.org/ec-code/1.2.1.12", + "http://identifiers.org/ec-code/1.2.1.59", + "http://identifiers.org/kegg.reaction/R01061", + "http://identifiers.org/metanetx.reaction/MNXR100040", + "http://identifiers.org/rhea/10300", + "http://identifiers.org/rhea/10301", + "http://identifiers.org/rhea/10302", + "http://identifiers.org/rhea/10303" + ] + } + ] + } + }, + "gene_reaction_rule": "b1779", + "id": "R_GAPD", + "lower_bound": -1000.0, + "metabolites": { + "M_13dpg_c": 1.0, + "M_g3p_c": -1.0, + "M_h_c": 1.0, + "M_nad_c": -1.0, + "M_nadh_c": 1.0, + "M_pi_c": -1.0 + }, + "name": "Glyceraldehyde-3-phosphate dehydrogenase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/GLCpts", + "http://identifiers.org/metanetx.reaction/MNXR100237" + ] + } + ] + } + }, + "gene_reaction_rule": "( b2415 and b1818 and b1817 and b1819 and b2416 ) or ( b2415 and b2417 and b1101 and b2416 ) or ( b2415 and b2417 and b1621 and b2416 )", + "id": "R_GLCpts", + "lower_bound": 0.0, + "metabolites": { + "M_g6p_c": 1.0, + "M_glc__D_e": -1.0, + "M_pep_c": -1.0, + "M_pyr_c": 1.0 + }, + "name": "D-glucose transport via PEP:Pyr PTS", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/GLNS", + "http://identifiers.org/biocyc/META:GLUTAMINESYN-RXN", + "http://identifiers.org/ec-code/6.3.1.2", + "http://identifiers.org/kegg.reaction/R00253", + "http://identifiers.org/metanetx.reaction/MNXR100024", + "http://identifiers.org/rhea/16169", + "http://identifiers.org/rhea/16170", + "http://identifiers.org/rhea/16171", + "http://identifiers.org/rhea/16172" + ] + } + ] + } + }, + "gene_reaction_rule": "b3870 or b1297", + "id": "R_GLNS", + "lower_bound": 0.0, + "metabolites": { + "M_adp_c": 1.0, + "M_atp_c": -1.0, + "M_gln__L_c": 1.0, + "M_glu__L_c": -1.0, + "M_h_c": 1.0, + "M_nh4_c": -1.0, + "M_pi_c": 1.0 + }, + "name": "Glutamine synthetase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/GLNabc", + "http://identifiers.org/biocyc/META:ABC-12-RXN", + "http://identifiers.org/ec-code/3.6.3.21", + "http://identifiers.org/metanetx.reaction/MNXR100258", + "http://identifiers.org/rhea/29895#1", + "http://identifiers.org/rhea/29896#1", + "http://identifiers.org/rhea/29897#1", + "http://identifiers.org/rhea/29898#1" + ] + } + ] + } + }, + "gene_reaction_rule": "b0810 and b0811 and b0809", + "id": "R_GLNabc", + "lower_bound": 0.0, + "metabolites": { + "M_adp_c": 1.0, + "M_atp_c": -1.0, + "M_gln__L_c": 1.0, + "M_gln__L_e": -1.0, + "M_h2o_c": -1.0, + "M_h_c": 1.0, + "M_pi_c": 1.0 + }, + "name": "L-glutamine transport via ABC system", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/GLUDy", + "http://identifiers.org/biocyc/META:GLUTDEHYD-RXN", + "http://identifiers.org/ec-code/1.4.1.13", + "http://identifiers.org/ec-code/1.4.1.3", + "http://identifiers.org/ec-code/1.4.1.4", + "http://identifiers.org/kegg.reaction/R00248", + "http://identifiers.org/metanetx.reaction/MNXR100086", + "http://identifiers.org/rhea/11612", + "http://identifiers.org/rhea/11613", + "http://identifiers.org/rhea/11614", + "http://identifiers.org/rhea/11615" + ] + } + ] + } + }, + "gene_reaction_rule": "b1761", + "id": "R_GLUDy", + "lower_bound": -1000.0, + "metabolites": { + "M_akg_c": 1.0, + "M_glu__L_c": -1.0, + "M_h2o_c": -1.0, + "M_h_c": 1.0, + "M_nadp_c": -1.0, + "M_nadph_c": 1.0, + "M_nh4_c": 1.0 + }, + "name": "Glutamate dehydrogenase (NADP)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/GLUN", + "http://identifiers.org/biocyc/META:GLUTAMIN-RXN", + "http://identifiers.org/ec-code/1.4.1.13", + "http://identifiers.org/ec-code/1.4.7.1", + "http://identifiers.org/ec-code/3.5.1.2", + "http://identifiers.org/ec-code/3.5.1.38", + "http://identifiers.org/ec-code/4.3.3.6", + "http://identifiers.org/ec-code/6.3.4.2", + "http://identifiers.org/ec-code/6.3.5.2", + "http://identifiers.org/ec-code/6.3.5.4", + "http://identifiers.org/ec-code/6.3.5.5", + "http://identifiers.org/kegg.reaction/R00256", + "http://identifiers.org/metanetx.reaction/MNXR100030", + "http://identifiers.org/rhea/15889", + "http://identifiers.org/rhea/15890", + "http://identifiers.org/rhea/15891", + "http://identifiers.org/rhea/15892" + ] + } + ] + } + }, + "gene_reaction_rule": "b0485 or b1812 or b1524", + "id": "R_GLUN", + "lower_bound": 0.0, + "metabolites": { + "M_gln__L_c": -1.0, + "M_glu__L_c": 1.0, + "M_h2o_c": -1.0, + "M_nh4_c": 1.0 + }, + "name": "Glutaminase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/GLUSy", + "http://identifiers.org/biocyc/META:GLUTAMATESYN-RXN", + "http://identifiers.org/ec-code/1.4.1.13", + "http://identifiers.org/kegg.reaction/R00114", + "http://identifiers.org/metanetx.reaction/MNXR100291", + "http://identifiers.org/rhea/15501", + "http://identifiers.org/rhea/15502", + "http://identifiers.org/rhea/15503", + "http://identifiers.org/rhea/15504" + ] + } + ] + } + }, + "gene_reaction_rule": "b3212 and b3213", + "id": "R_GLUSy", + "lower_bound": 0.0, + "metabolites": { + "M_akg_c": -1.0, + "M_gln__L_c": -1.0, + "M_glu__L_c": 2.0, + "M_h_c": -1.0, + "M_nadp_c": 1.0, + "M_nadph_c": -1.0 + }, + "name": "Glutamate synthase (NADPH)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/GLUt2r", + "http://identifiers.org/metanetx.reaction/MNXR100300" + ] + } + ] + } + }, + "gene_reaction_rule": "b4077", + "id": "R_GLUt2r", + "lower_bound": -1000.0, + "metabolites": { + "M_glu__L_c": 1.0, + "M_glu__L_e": -1.0, + "M_h_c": 1.0, + "M_h_e": -1.0 + }, + "name": "L glutamate transport via proton symport reversible", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/GND", + "http://identifiers.org/biocyc/META:RXN-9952", + "http://identifiers.org/ec-code/1.1.1.351", + "http://identifiers.org/ec-code/1.1.1.44", + "http://identifiers.org/kegg.reaction/R01528", + "http://identifiers.org/metanetx.reaction/MNXR100389", + "http://identifiers.org/rhea/10116", + "http://identifiers.org/rhea/10117", + "http://identifiers.org/rhea/10118", + "http://identifiers.org/rhea/10119" + ] + } + ] + } + }, + "gene_reaction_rule": "b2029", + "id": "R_GND", + "lower_bound": 0.0, + "metabolites": { + "M_6pgc_c": -1.0, + "M_co2_c": 1.0, + "M_nadp_c": -1.0, + "M_nadph_c": 1.0, + "M_ru5p__D_c": 1.0 + }, + "name": "Phosphogluconate dehydrogenase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/H2Ot", + "http://identifiers.org/biocyc/META:TRANS-RXN-145", + "http://identifiers.org/biocyc/META:TRANS-RXN0-547", + "http://identifiers.org/metanetx.reaction/MNXR98641", + "http://identifiers.org/rhea/29667", + "http://identifiers.org/rhea/29668", + "http://identifiers.org/rhea/29669", + "http://identifiers.org/rhea/29670" + ] + } + ] + } + }, + "gene_reaction_rule": "b0875 or s0001", + "id": "R_H2Ot", + "lower_bound": -1000.0, + "metabolites": { + "M_h2o_c": 1.0, + "M_h2o_e": -1.0 + }, + "name": "H2O transport via diffusion", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ICDHyr", + "http://identifiers.org/ec-code/1.1.1.42", + "http://identifiers.org/kegg.reaction/R00267", + "http://identifiers.org/metanetx.reaction/MNXR100781", + "http://identifiers.org/rhea/19629", + "http://identifiers.org/rhea/19630", + "http://identifiers.org/rhea/19631", + "http://identifiers.org/rhea/19632" + ] + } + ] + } + }, + "gene_reaction_rule": "b1136", + "id": "R_ICDHyr", + "lower_bound": -1000.0, + "metabolites": { + "M_akg_c": 1.0, + "M_co2_c": 1.0, + "M_icit_c": -1.0, + "M_nadp_c": -1.0, + "M_nadph_c": 1.0 + }, + "name": "Isocitrate dehydrogenase (NADP)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ICL", + "http://identifiers.org/ec-code/4.1.3.1", + "http://identifiers.org/kegg.reaction/R00479", + "http://identifiers.org/metanetx.reaction/MNXR100789", + "http://identifiers.org/rhea/13245", + "http://identifiers.org/rhea/13246", + "http://identifiers.org/rhea/13247", + "http://identifiers.org/rhea/13248" + ] + } + ] + } + }, + "gene_reaction_rule": "b4015", + "id": "R_ICL", + "lower_bound": 0.0, + "metabolites": { + "M_glx_c": 1.0, + "M_icit_c": -1.0, + "M_succ_c": 1.0 + }, + "name": "Isocitrate lyase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/LDH_D", + "http://identifiers.org/biocyc/META:DLACTDEHYDROGNAD-RXN", + "http://identifiers.org/ec-code/1.1.1.28", + "http://identifiers.org/kegg.reaction/R00704", + "http://identifiers.org/metanetx.reaction/MNXR101037", + "http://identifiers.org/rhea/16369", + "http://identifiers.org/rhea/16370", + "http://identifiers.org/rhea/16371", + "http://identifiers.org/rhea/16372" + ] + } + ] + } + }, + "gene_reaction_rule": "b2133 or b1380", + "id": "R_LDH_D", + "lower_bound": -1000.0, + "metabolites": { + "M_h_c": 1.0, + "M_lac__D_c": -1.0, + "M_nad_c": -1.0, + "M_nadh_c": 1.0, + "M_pyr_c": 1.0 + }, + "name": "D-lactate dehydrogenase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/MALS", + "http://identifiers.org/biocyc/META:MALSYN-RXN", + "http://identifiers.org/ec-code/2.3.3.9", + "http://identifiers.org/kegg.reaction/R00472", + "http://identifiers.org/metanetx.reaction/MNXR101347", + "http://identifiers.org/rhea/18181", + "http://identifiers.org/rhea/18182", + "http://identifiers.org/rhea/18183", + "http://identifiers.org/rhea/18184" + ] + } + ] + } + }, + "gene_reaction_rule": "b4014 or b2976", + "id": "R_MALS", + "lower_bound": 0.0, + "metabolites": { + "M_accoa_c": -1.0, + "M_coa_c": 1.0, + "M_glx_c": -1.0, + "M_h2o_c": -1.0, + "M_h_c": 1.0, + "M_mal__L_c": 1.0 + }, + "name": "Malate synthase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/MALt2_2", + "http://identifiers.org/biocyc/META:TRANS-RXN-121A", + "http://identifiers.org/metanetx.reaction/MNXR101370", + "http://identifiers.org/rhea/29339", + "http://identifiers.org/rhea/29340", + "http://identifiers.org/rhea/29341", + "http://identifiers.org/rhea/29342" + ] + } + ] + } + }, + "gene_reaction_rule": "b3528", + "id": "R_MALt2_2", + "lower_bound": 0.0, + "metabolites": { + "M_h_c": 2.0, + "M_h_e": -2.0, + "M_mal__L_c": 1.0, + "M_mal__L_e": -1.0 + }, + "name": "Malate transport via proton symport (2 H)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/MDH", + "http://identifiers.org/biocyc/META:MALATE-DEH-RXN", + "http://identifiers.org/ec-code/1.1.1.299", + "http://identifiers.org/ec-code/1.1.1.37", + "http://identifiers.org/kegg.reaction/R00342", + "http://identifiers.org/metanetx.reaction/MNXR101439", + "http://identifiers.org/rhea/21432", + "http://identifiers.org/rhea/21433", + "http://identifiers.org/rhea/21434", + "http://identifiers.org/rhea/21435" + ] + } + ] + } + }, + "gene_reaction_rule": "b3236", + "id": "R_MDH", + "lower_bound": -1000.0, + "metabolites": { + "M_h_c": 1.0, + "M_mal__L_c": -1.0, + "M_nad_c": -1.0, + "M_nadh_c": 1.0, + "M_oaa_c": 1.0 + }, + "name": "Malate dehydrogenase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ME1", + "http://identifiers.org/biocyc/META:1.1.1.39-RXN", + "http://identifiers.org/ec-code/1.1.1.38", + "http://identifiers.org/ec-code/1.1.1.39", + "http://identifiers.org/kegg.reaction/R00214", + "http://identifiers.org/metanetx.reaction/MNXR101446", + "http://identifiers.org/rhea/12653", + "http://identifiers.org/rhea/12654", + "http://identifiers.org/rhea/12655", + "http://identifiers.org/rhea/12656" + ] + } + ] + } + }, + "gene_reaction_rule": "b1479", + "id": "R_ME1", + "lower_bound": 0.0, + "metabolites": { + "M_co2_c": 1.0, + "M_mal__L_c": -1.0, + "M_nad_c": -1.0, + "M_nadh_c": 1.0, + "M_pyr_c": 1.0 + }, + "name": "Malic enzyme (NAD)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ME2", + "http://identifiers.org/biocyc/META:MALIC-NADP-RXN", + "http://identifiers.org/ec-code/1.1.1.40", + "http://identifiers.org/kegg.reaction/R00216", + "http://identifiers.org/metanetx.reaction/MNXR101443", + "http://identifiers.org/rhea/18253", + "http://identifiers.org/rhea/18254", + "http://identifiers.org/rhea/18255", + "http://identifiers.org/rhea/18256" + ] + } + ] + } + }, + "gene_reaction_rule": "b2463", + "id": "R_ME2", + "lower_bound": 0.0, + "metabolites": { + "M_co2_c": 1.0, + "M_mal__L_c": -1.0, + "M_nadp_c": -1.0, + "M_nadph_c": 1.0, + "M_pyr_c": 1.0 + }, + "name": "Malic enzyme (NADP)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/NADH16", + "http://identifiers.org/ec-code/1.6.5.3", + "http://identifiers.org/metanetx.reaction/MNXR101864" + ] + } + ] + } + }, + "gene_reaction_rule": "b2287 and b2285 and b2283 and b2281 and b2279 and b2277 and b2276 and b2278 and b2280 and b2282 and b2284 and b2286 and b2288", + "id": "R_NADH16", + "lower_bound": 0.0, + "metabolites": { + "M_h_c": -4.0, + "M_h_e": 3.0, + "M_nad_c": 1.0, + "M_nadh_c": -1.0, + "M_q8_c": -1.0, + "M_q8h2_c": 1.0 + }, + "name": "NADH dehydrogenase (ubiquinone-8 & 3 protons)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/NADTRHD", + "http://identifiers.org/biocyc/META:PYRNUTRANSHYDROGEN-RXN", + "http://identifiers.org/ec-code/1.6.1.1", + "http://identifiers.org/ec-code/1.6.1.2", + "http://identifiers.org/ec-code/1.6.1.3", + "http://identifiers.org/kegg.reaction/R00112", + "http://identifiers.org/metanetx.reaction/MNXR101898", + "http://identifiers.org/rhea/11692", + "http://identifiers.org/rhea/11693", + "http://identifiers.org/rhea/11694", + "http://identifiers.org/rhea/11695" + ] + } + ] + } + }, + "gene_reaction_rule": "b3962 or ( b1602 and b1603 )", + "id": "R_NADTRHD", + "lower_bound": 0.0, + "metabolites": { + "M_nad_c": -1.0, + "M_nadh_c": 1.0, + "M_nadp_c": 1.0, + "M_nadph_c": -1.0 + }, + "name": "NAD transhydrogenase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/NH4t", + "http://identifiers.org/biocyc/META:RXN-9615", + "http://identifiers.org/biocyc/META:TRANS-RXN0-206", + "http://identifiers.org/biocyc/META:TRANS-RXN0-544", + "http://identifiers.org/metanetx.reaction/MNXR101950", + "http://identifiers.org/rhea/28747", + "http://identifiers.org/rhea/28748", + "http://identifiers.org/rhea/28749", + "http://identifiers.org/rhea/28750" + ] + } + ] + } + }, + "gene_reaction_rule": "s0001 or b0451", + "id": "R_NH4t", + "lower_bound": -1000.0, + "metabolites": { + "M_nh4_c": 1.0, + "M_nh4_e": -1.0 + }, + "name": "Ammonia reversible transport", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/O2t", + "http://identifiers.org/biocyc/META:TRANS-RXN0-474", + "http://identifiers.org/metanetx.reaction/MNXR102090" + ] + } + ] + } + }, + "gene_reaction_rule": "s0001", + "id": "R_O2t", + "lower_bound": -1000.0, + "metabolites": { + "M_o2_c": 1.0, + "M_o2_e": -1.0 + }, + "name": "O2 transport diffusion ", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PDH", + "http://identifiers.org/biocyc/META:PYRUVDEH-RXN", + "http://identifiers.org/ec-code/1.2.1.-", + "http://identifiers.org/ec-code/1.2.1.51", + "http://identifiers.org/ec-code/1.2.4.1", + "http://identifiers.org/ec-code/1.8.1.4", + "http://identifiers.org/ec-code/2.3.1.12", + "http://identifiers.org/kegg.reaction/R00209", + "http://identifiers.org/metanetx.reaction/MNXR102425", + "http://identifiers.org/rhea/28042", + "http://identifiers.org/rhea/28043", + "http://identifiers.org/rhea/28044", + "http://identifiers.org/rhea/28045" + ] + } + ] + } + }, + "gene_reaction_rule": "b0115 and b0114 and b0116", + "id": "R_PDH", + "lower_bound": 0.0, + "metabolites": { + "M_accoa_c": 1.0, + "M_co2_c": 1.0, + "M_coa_c": -1.0, + "M_nad_c": -1.0, + "M_nadh_c": 1.0, + "M_pyr_c": -1.0 + }, + "name": "Pyruvate dehydrogenase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PFK", + "http://identifiers.org/ec-code/2.7.1.11", + "http://identifiers.org/metanetx.reaction/MNXR102507", + "http://identifiers.org/rhea/16109", + "http://identifiers.org/rhea/16110", + "http://identifiers.org/rhea/16111", + "http://identifiers.org/rhea/16112" + ] + } + ] + } + }, + "gene_reaction_rule": "b3916 or b1723", + "id": "R_PFK", + "lower_bound": 0.0, + "metabolites": { + "M_adp_c": 1.0, + "M_atp_c": -1.0, + "M_f6p_c": -1.0, + "M_fdp_c": 1.0, + "M_h_c": 1.0 + }, + "name": "Phosphofructokinase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PFL", + "http://identifiers.org/biocyc/META:PYRUVFORMLY-RXN", + "http://identifiers.org/ec-code/2.3.1.54", + "http://identifiers.org/kegg.reaction/R00212", + "http://identifiers.org/metanetx.reaction/MNXR102514", + "http://identifiers.org/rhea/11844", + "http://identifiers.org/rhea/11845", + "http://identifiers.org/rhea/11846", + "http://identifiers.org/rhea/11847" + ] + } + ] + } + }, + "gene_reaction_rule": "( b0902 and b3114 ) or ( b0903 and b0902 and b2579 ) or ( b0902 and b0903 ) or ( b3951 and b3952 )", + "id": "R_PFL", + "lower_bound": 0.0, + "metabolites": { + "M_accoa_c": 1.0, + "M_coa_c": -1.0, + "M_for_c": 1.0, + "M_pyr_c": -1.0 + }, + "name": "Pyruvate formate lyase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PGI", + "http://identifiers.org/biocyc/META:PGLUCISOM-RXN", + "http://identifiers.org/ec-code/5.3.1.9", + "http://identifiers.org/metanetx.reaction/MNXR102535" + ] + } + ] + } + }, + "gene_reaction_rule": "b4025", + "id": "R_PGI", + "lower_bound": -1000.0, + "metabolites": { + "M_f6p_c": 1.0, + "M_g6p_c": -1.0 + }, + "name": "Glucose-6-phosphate isomerase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PGK", + "http://identifiers.org/biocyc/META:PHOSGLYPHOS-RXN", + "http://identifiers.org/ec-code/2.7.2.3", + "http://identifiers.org/kegg.reaction/R01512", + "http://identifiers.org/metanetx.reaction/MNXR102538", + "http://identifiers.org/rhea/14801", + "http://identifiers.org/rhea/14802", + "http://identifiers.org/rhea/14803", + "http://identifiers.org/rhea/14804" + ] + } + ] + } + }, + "gene_reaction_rule": "b2926", + "id": "R_PGK", + "lower_bound": -1000.0, + "metabolites": { + "M_13dpg_c": 1.0, + "M_3pg_c": -1.0, + "M_adp_c": 1.0, + "M_atp_c": -1.0 + }, + "name": "Phosphoglycerate kinase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PGL", + "http://identifiers.org/biocyc/META:6PGLUCONOLACT-RXN", + "http://identifiers.org/ec-code/3.1.1.31", + "http://identifiers.org/kegg.reaction/R02035", + "http://identifiers.org/metanetx.reaction/MNXR102539", + "http://identifiers.org/rhea/12556", + "http://identifiers.org/rhea/12557", + "http://identifiers.org/rhea/12558", + "http://identifiers.org/rhea/12559" + ] + } + ] + } + }, + "gene_reaction_rule": "b0767", + "id": "R_PGL", + "lower_bound": 0.0, + "metabolites": { + "M_6pgc_c": 1.0, + "M_6pgl_c": -1.0, + "M_h2o_c": -1.0, + "M_h_c": 1.0 + }, + "name": "6-phosphogluconolactonase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PGM", + "http://identifiers.org/biocyc/META:3PGAREARR-RXN", + "http://identifiers.org/biocyc/META:RXN-15513", + "http://identifiers.org/ec-code/5.4.2.1", + "http://identifiers.org/ec-code/5.4.2.11", + "http://identifiers.org/ec-code/5.4.2.12", + "http://identifiers.org/kegg.reaction/R01518", + "http://identifiers.org/metanetx.reaction/MNXR102547", + "http://identifiers.org/rhea/15901", + "http://identifiers.org/rhea/15902", + "http://identifiers.org/rhea/15903", + "http://identifiers.org/rhea/15904" + ] + } + ] + } + }, + "gene_reaction_rule": "b4395 or b3612 or b0755", + "id": "R_PGM", + "lower_bound": -1000.0, + "metabolites": { + "M_2pg_c": -1.0, + "M_3pg_c": 1.0 + }, + "name": "Phosphoglycerate mutase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PIt2r", + "http://identifiers.org/biocyc/META:TRANS-RXN-114", + "http://identifiers.org/metanetx.reaction/MNXR102872", + "http://identifiers.org/rhea/29939", + "http://identifiers.org/rhea/29940", + "http://identifiers.org/rhea/29941", + "http://identifiers.org/rhea/29942" + ] + } + ] + } + }, + "gene_reaction_rule": "b2987 or b3493", + "id": "R_PIt2r", + "lower_bound": -1000.0, + "metabolites": { + "M_h_c": 1.0, + "M_h_e": -1.0, + "M_pi_c": 1.0, + "M_pi_e": -1.0 + }, + "name": "Phosphate reversible transport via symport", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PPC", + "http://identifiers.org/ec-code/4.1.1.31", + "http://identifiers.org/kegg.reaction/R00345", + "http://identifiers.org/metanetx.reaction/MNXR103096", + "http://identifiers.org/rhea/23072", + "http://identifiers.org/rhea/23073", + "http://identifiers.org/rhea/23074", + "http://identifiers.org/rhea/23075" + ] + } + ] + } + }, + "gene_reaction_rule": "b3956", + "id": "R_PPC", + "lower_bound": 0.0, + "metabolites": { + "M_co2_c": -1.0, + "M_h2o_c": -1.0, + "M_h_c": 1.0, + "M_oaa_c": 1.0, + "M_pep_c": -1.0, + "M_pi_c": 1.0 + }, + "name": "Phosphoenolpyruvate carboxylase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PPCK", + "http://identifiers.org/biocyc/META:PEPCARBOXYKIN-RXN", + "http://identifiers.org/ec-code/4.1.1.49", + "http://identifiers.org/kegg.reaction/R00341", + "http://identifiers.org/metanetx.reaction/MNXR103099", + "http://identifiers.org/rhea/18617", + "http://identifiers.org/rhea/18618", + "http://identifiers.org/rhea/18619", + "http://identifiers.org/rhea/18620" + ] + } + ] + } + }, + "gene_reaction_rule": "b3403", + "id": "R_PPCK", + "lower_bound": 0.0, + "metabolites": { + "M_adp_c": 1.0, + "M_atp_c": -1.0, + "M_co2_c": 1.0, + "M_oaa_c": -1.0, + "M_pep_c": 1.0 + }, + "name": "Phosphoenolpyruvate carboxykinase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PPS", + "http://identifiers.org/biocyc/META:PEPSYNTH-RXN", + "http://identifiers.org/ec-code/2.7.9.2", + "http://identifiers.org/kegg.reaction/R00199", + "http://identifiers.org/metanetx.reaction/MNXR103140", + "http://identifiers.org/rhea/11364", + "http://identifiers.org/rhea/11365", + "http://identifiers.org/rhea/11366", + "http://identifiers.org/rhea/11367" + ] + } + ] + } + }, + "gene_reaction_rule": "b1702", + "id": "R_PPS", + "lower_bound": 0.0, + "metabolites": { + "M_amp_c": 1.0, + "M_atp_c": -1.0, + "M_h2o_c": -1.0, + "M_h_c": 2.0, + "M_pep_c": 1.0, + "M_pi_c": 1.0, + "M_pyr_c": -1.0 + }, + "name": "Phosphoenolpyruvate synthase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PTAr", + "http://identifiers.org/biocyc/META:PHOSACETYLTRANS-RXN", + "http://identifiers.org/ec-code/2.3.1.8", + "http://identifiers.org/kegg.reaction/R00230", + "http://identifiers.org/metanetx.reaction/MNXR103319", + "http://identifiers.org/rhea/19521", + "http://identifiers.org/rhea/19522", + "http://identifiers.org/rhea/19523", + "http://identifiers.org/rhea/19524" + ] + } + ] + } + }, + "gene_reaction_rule": "b2297 or b2458", + "id": "R_PTAr", + "lower_bound": -1000.0, + "metabolites": { + "M_accoa_c": -1.0, + "M_actp_c": 1.0, + "M_coa_c": 1.0, + "M_pi_c": -1.0 + }, + "name": "Phosphotransacetylase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PYK", + "http://identifiers.org/biocyc/META:PEPDEPHOS-RXN", + "http://identifiers.org/ec-code/2.7.1.40", + "http://identifiers.org/kegg.reaction/R00200", + "http://identifiers.org/metanetx.reaction/MNXR103371", + "http://identifiers.org/rhea/18157", + "http://identifiers.org/rhea/18158", + "http://identifiers.org/rhea/18159", + "http://identifiers.org/rhea/18160" + ] + } + ] + } + }, + "gene_reaction_rule": "b1854 or b1676", + "id": "R_PYK", + "lower_bound": 0.0, + "metabolites": { + "M_adp_c": -1.0, + "M_atp_c": 1.0, + "M_h_c": -1.0, + "M_pep_c": -1.0, + "M_pyr_c": 1.0 + }, + "name": "Pyruvate kinase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PYRt2", + "http://identifiers.org/metanetx.reaction/MNXR103385" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_PYRt2", + "lower_bound": -1000.0, + "metabolites": { + "M_h_c": 1.0, + "M_h_e": -1.0, + "M_pyr_c": 1.0, + "M_pyr_e": -1.0 + }, + "name": "Pyruvate transport in via proton symport", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/RPE", + "http://identifiers.org/biocyc/META:RIBULP3EPIM-RXN", + "http://identifiers.org/ec-code/5.1.3.1", + "http://identifiers.org/kegg.reaction/R01529", + "http://identifiers.org/metanetx.reaction/MNXR104083", + "http://identifiers.org/rhea/13677", + "http://identifiers.org/rhea/13678", + "http://identifiers.org/rhea/13679", + "http://identifiers.org/rhea/13680" + ] + } + ] + } + }, + "gene_reaction_rule": "b3386 or b4301", + "id": "R_RPE", + "lower_bound": -1000.0, + "metabolites": { + "M_ru5p__D_c": -1.0, + "M_xu5p__D_c": 1.0 + }, + "name": "Ribulose 5-phosphate 3-epimerase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/RPI", + "http://identifiers.org/ec-code/5.3.1.6", + "http://identifiers.org/metanetx.reaction/MNXR104084" + ] + } + ] + } + }, + "gene_reaction_rule": "b2914 or b4090", + "id": "R_RPI", + "lower_bound": -1000.0, + "metabolites": { + "M_r5p_c": -1.0, + "M_ru5p__D_c": 1.0 + }, + "name": "Ribose-5-phosphate isomerase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/SUCCt2_2", + "http://identifiers.org/biocyc/META:TRANS-RXN-121", + "http://identifiers.org/metanetx.reaction/MNXR104620", + "http://identifiers.org/rhea/29303", + "http://identifiers.org/rhea/29304", + "http://identifiers.org/rhea/29305", + "http://identifiers.org/rhea/29306" + ] + } + ] + } + }, + "gene_reaction_rule": "b3528", + "id": "R_SUCCt2_2", + "lower_bound": 0.0, + "metabolites": { + "M_h_c": 2.0, + "M_h_e": -2.0, + "M_succ_c": 1.0, + "M_succ_e": -1.0 + }, + "name": "Succinate transport via proton symport (2 H)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/SUCCt3", + "http://identifiers.org/metanetx.reaction/MNXR104623" + ] + } + ] + } + }, + "gene_reaction_rule": "", + "id": "R_SUCCt3", + "lower_bound": 0.0, + "metabolites": { + "M_h_c": 1.0, + "M_h_e": -1.0, + "M_succ_c": -1.0, + "M_succ_e": 1.0 + }, + "name": "Succinate transport out via proton antiport", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/SUCDi", + "http://identifiers.org/metanetx.reaction/MNXR99641", + "http://identifiers.org/rhea/29187", + "http://identifiers.org/rhea/29188", + "http://identifiers.org/rhea/29189", + "http://identifiers.org/rhea/29190" + ] + } + ] + } + }, + "gene_reaction_rule": "b0723 and b0721 and b0722 and b0724", + "id": "R_SUCDi", + "lower_bound": 0.0, + "metabolites": { + "M_fum_c": 1.0, + "M_q8_c": -1.0, + "M_q8h2_c": 1.0, + "M_succ_c": -1.0 + }, + "name": "Succinate dehydrogenase (irreversible)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/SUCOAS", + "http://identifiers.org/biocyc/META:SUCCCOASYN-RXN", + "http://identifiers.org/ec-code/6.2.1.5", + "http://identifiers.org/kegg.reaction/R00405", + "http://identifiers.org/metanetx.reaction/MNXR104635", + "http://identifiers.org/rhea/17661", + "http://identifiers.org/rhea/17662", + "http://identifiers.org/rhea/17663", + "http://identifiers.org/rhea/17664" + ] + } + ] + } + }, + "gene_reaction_rule": "b0728 and b0729", + "id": "R_SUCOAS", + "lower_bound": -1000.0, + "metabolites": { + "M_adp_c": 1.0, + "M_atp_c": -1.0, + "M_coa_c": -1.0, + "M_pi_c": 1.0, + "M_succ_c": -1.0, + "M_succoa_c": 1.0 + }, + "name": "Succinyl-CoA synthetase (ADP-forming)", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/TALA", + "http://identifiers.org/biocyc/META:TRANSALDOL-RXN", + "http://identifiers.org/ec-code/2.2.1.2", + "http://identifiers.org/kegg.reaction/R01827", + "http://identifiers.org/metanetx.reaction/MNXR104715", + "http://identifiers.org/rhea/17053", + "http://identifiers.org/rhea/17054", + "http://identifiers.org/rhea/17055", + "http://identifiers.org/rhea/17056" + ] + } + ] + } + }, + "gene_reaction_rule": "b2464 or b0008", + "id": "R_TALA", + "lower_bound": -1000.0, + "metabolites": { + "M_e4p_c": 1.0, + "M_f6p_c": 1.0, + "M_g3p_c": -1.0, + "M_s7p_c": -1.0 + }, + "name": "Transaldolase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/THD2", + "http://identifiers.org/ec-code/1.6.1.1", + "http://identifiers.org/metanetx.reaction/MNXR104805" + ] + } + ] + } + }, + "gene_reaction_rule": "b1602 and b1603", + "id": "R_THD2", + "lower_bound": 0.0, + "metabolites": { + "M_h_c": 2.0, + "M_h_e": -2.0, + "M_nad_c": 1.0, + "M_nadh_c": -1.0, + "M_nadp_c": -1.0, + "M_nadph_c": 1.0 + }, + "name": "NAD(P) transhydrogenase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/TKT1", + "http://identifiers.org/ec-code/2.2.1.1", + "http://identifiers.org/metanetx.reaction/MNXR104868" + ] + } + ] + } + }, + "gene_reaction_rule": "b2935 or b2465", + "id": "R_TKT1", + "lower_bound": -1000.0, + "metabolites": { + "M_g3p_c": 1.0, + "M_r5p_c": -1.0, + "M_s7p_c": 1.0, + "M_xu5p__D_c": -1.0 + }, + "name": "Transketolase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/TKT2", + "http://identifiers.org/biocyc/META:2TRANSKETO-RXN", + "http://identifiers.org/ec-code/2.2.1.1", + "http://identifiers.org/kegg.reaction/R01830", + "http://identifiers.org/metanetx.reaction/MNXR104869", + "http://identifiers.org/rhea/27626", + "http://identifiers.org/rhea/27627", + "http://identifiers.org/rhea/27628", + "http://identifiers.org/rhea/27629" + ] + } + ] + } + }, + "gene_reaction_rule": "b2935 or b2465", + "id": "R_TKT2", + "lower_bound": -1000.0, + "metabolites": { + "M_e4p_c": -1.0, + "M_f6p_c": 1.0, + "M_g3p_c": 1.0, + "M_xu5p__D_c": -1.0 + }, + "name": "Transketolase", + "upper_bound": 1000.0 + }, + { + "annotation": { + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/TPI", + "http://identifiers.org/biocyc/META:TRIOSEPISOMERIZATION-RXN", + "http://identifiers.org/ec-code/5.3.1.1", + "http://identifiers.org/kegg.reaction/R01015", + "http://identifiers.org/metanetx.reaction/MNXR104918", + "http://identifiers.org/rhea/18585", + "http://identifiers.org/rhea/18586", + "http://identifiers.org/rhea/18587", + "http://identifiers.org/rhea/18588" + ] + } + ] + } + }, + "gene_reaction_rule": "b3919", + "id": "R_TPI", + "lower_bound": -1000.0, + "metabolites": { + "M_dhap_c": -1.0, + "M_g3p_c": 1.0 + }, + "name": "Triose-phosphate isomerase", + "upper_bound": 1000.0 + } + ], + "sbml_info": { + "annotation": { + "sbo": "SBO:0000624" + }, + "info": " SBML L3V1, fbc-v2, groups-v1", + "level": 3, + "model.id": "e_coli_core", + "notes": "\n \n
\n

Key1 : Value1

\n
\n

\n
e_coli_core - Escherichia coli str. K-12 substr. MG1655
\n

\n
\n
\n \n
", + "packages": { + "fbc": 2, + "groups": 1 + }, + "version": 1 + }, + "user_defined_constraints": [], + "version": "1" +} \ No newline at end of file diff --git a/src/cobra/test/data/mini.pickle b/src/cobra/test/data/mini.pickle index 2942d27db..26d3ad9d5 100644 Binary files a/src/cobra/test/data/mini.pickle and b/src/cobra/test/data/mini.pickle differ diff --git a/src/cobra/test/data/salmonella.pickle b/src/cobra/test/data/salmonella.pickle index 6c605f5c1..f9b84b8ca 100644 Binary files a/src/cobra/test/data/salmonella.pickle and b/src/cobra/test/data/salmonella.pickle differ diff --git a/src/cobra/test/data/salmonella_old.pickle b/src/cobra/test/data/salmonella_old.pickle new file mode 100644 index 000000000..33b1e8f7a Binary files /dev/null and b/src/cobra/test/data/salmonella_old.pickle differ diff --git a/src/cobra/test/data/valid_annotation_format.json b/src/cobra/test/data/valid_annotation_format.json index 8bbb6a38c..84107b755 100644 --- a/src/cobra/test/data/valid_annotation_format.json +++ b/src/cobra/test/data/valid_annotation_format.json @@ -5,9 +5,9 @@ "name":"", "compartment":"c", "annotation": { - "bigg.reaction": [["is", "PFK26"]], - "kegg.reaction": [["is", "R02732"]], - "rhea": [["is", "15656"]] + "bigg.reaction": [["bqb_is", "PFK26"]], + "kegg.reaction": [["bqb_is", "R02732"]], + "rhea": [["bqb_is", "15656"]] } } ], diff --git a/src/cobra/test/test_core/test_group.py b/src/cobra/test/test_core/test_group.py index d877826ee..a99aeca76 100644 --- a/src/cobra/test/test_core/test_group.py +++ b/src/cobra/test/test_core/test_group.py @@ -2,10 +2,12 @@ """Test functions of model.py""" +from os.path import join import pytest from cobra.core import Group +from cobra.io import load_json_model, read_sbml_model, save_json_model, write_sbml_model def test_group_add_elements(model): @@ -37,3 +39,17 @@ def test_group_kind(): group.kind = "collection" assert group.kind == "collection" + + +def test_read_write_json(data_directory, tmp_path): + model = read_sbml_model(join(data_directory, "e_coli_core.xml")) + assert model.groups is not None + assert len(model.groups) == 10 + assert len(model.groups[0].members) == 6 + + path_to_file = join(tmp_path, "group_ecoli.json") + save_json_model(model, path_to_file) + model_from_json = load_json_model(path_to_file) + assert model_from_json.groups is not None + assert len(model_from_json.groups) == 10 + assert len(model_from_json.groups[0].members) == 6 diff --git a/src/cobra/test/test_core/test_metadata/__init__.py b/src/cobra/test/test_core/test_metadata/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/cobra/test/test_core/test_metadata/test_history.py b/src/cobra/test/test_core/test_metadata/test_history.py new file mode 100644 index 000000000..9fcbc03e4 --- /dev/null +++ b/src/cobra/test/test_core/test_metadata/test_history.py @@ -0,0 +1,91 @@ +import os +from datetime import datetime + +import pytest + +from cobra.core.metadata.history import Creator, History, HistoryDatetime +from cobra.io import read_sbml_model + + +def _read_ecoli_annotation_model(data_directory): + """Helper function to read model with history elements.""" + test_xml = os.path.join(data_directory, "e_coli_core_for_annotation.xml") + model = read_sbml_model(test_xml) + return model + + +def test_create_history(): + history = History( + creators=[ + Creator( + first_name="Matthias", + last_name="Koenig", + organization_name="HU", + email="test@test.com", + ), + Creator( + first_name="Andreas", + last_name="Draeger", + organization_name="University of Tübingen", + email="test2@test2.com", + ), + ], + created_date=HistoryDatetime("2020-06-26T02:34:30+05:30"), + modified_dates=[ + HistoryDatetime("2020-06-26T12:34:11+00:00"), + HistoryDatetime("2020-06-26T00:34:11+05:30"), + ], + ) + assert len(history.creators) == 2 + assert isinstance(history.created_date, HistoryDatetime) + assert history.created_date.datetime == "2020-06-26T02:34:30+05:30" + assert len(history.modified_dates) == 2 + + +def test_history_from_ecoli_xml(data_directory): + model = _read_ecoli_annotation_model(data_directory) + history = History( + creators=[ + Creator( + first_name="Matthias", + last_name="Koenig", + email="koenigmx@hu-berlin.de", + organization_name="Humboldt-University Berlin, " + "Institute for Theoretical Biology", + ) + ], + created_date=HistoryDatetime("2019-03-06T14:40:55Z"), + modified_dates=[HistoryDatetime("2019-03-06T14:40:55Z")], + ) + assert model.annotation.history == history + + +def test_create_creator(): + creator = Creator( + first_name="Matthias", + last_name="König", + organization_name="HU", + email="test@test.com", + ) + assert creator is not None + assert creator.first_name == "Matthias" + assert creator.last_name == "König" + assert creator.organization_name == "HU" + assert creator.email == "test@test.com" + + +def test_historydatetime(): + # valid date + dt_str1 = "2020-06-26T02:34:11+05:30" + datetime_obj = HistoryDatetime(dt_str1) + assert datetime_obj.datetime == dt_str1 + + # valid date + datetime_obj.datetime = "2020-06-26T12:34:11+00:00" + assert datetime_obj.datetime == "2020-06-26T12:34:11+00:00" + datetime_obj.datetime = None + assert datetime_obj.datetime is None + + # create from python datetime + datetime_obj.datetime = datetime.now() + assert datetime_obj.datetime is not None diff --git a/src/cobra/test/test_core/test_metadata/test_keyvaluepair.py b/src/cobra/test/test_core/test_metadata/test_keyvaluepair.py new file mode 100644 index 000000000..7a4dddb9a --- /dev/null +++ b/src/cobra/test/test_core/test_metadata/test_keyvaluepair.py @@ -0,0 +1,46 @@ +from cobra.core.metadata.keyvaluepairs import KeyValueEntry, KeyValuePairs + + +def test_keyvalueentry(): + keyvaluedict = KeyValueEntry.from_data( + { + "id": "KV_id", + "name": "abc_xyz", + "key": "keyX", + "value": "45", + "uri": "https://tinyurl.com/ybyr7b62", + } + ) + assert isinstance(keyvaluedict, KeyValueEntry) + assert keyvaluedict.id == "KV_id" + assert keyvaluedict.name == "abc_xyz" + assert keyvaluedict.key == "keyX" + assert keyvaluedict.value == "45" + assert keyvaluedict.uri == "https://tinyurl.com/ybyr7b62" + + +def test_keyvaluepairs(): + entry1 = { + "id": "id1", + "name": "abc_xyz", + "key": "key1", + "value": "45", + "uri": "https://tinyurl.com/ybyr7b62", + } + entry2 = KeyValueEntry.from_data( + { + "id": "id2", + "name": "abc_xyz2", + "key": "key2", + "value": "48", + "uri": "https://tinyurl2.com/ybyr7b62", + } + ) + + kvp = KeyValuePairs(entries=[entry1, entry2]) + print(kvp) + assert len(kvp) == 2 + for key in ["key1", "key2"]: + print("***", key, "***") + assert key in kvp + assert kvp["key2"] == entry2 diff --git a/src/cobra/test/test_core/test_metadata/test_metadata.py b/src/cobra/test/test_core/test_metadata/test_metadata.py new file mode 100644 index 000000000..bad589fdd --- /dev/null +++ b/src/cobra/test/test_core/test_metadata/test_metadata.py @@ -0,0 +1,220 @@ +""" +Tests for the metadata structures +""" + +import json +import os +from os.path import join +from pathlib import Path + +from cobra.core.metadata import CVTerms +from cobra.core.species import Species +from cobra.io import load_json_model, read_sbml_model, save_json_model, write_sbml_model + + +ecoli_model_annotation = { + "bqb_hasTaxon": [{"resources": ["http://identifiers.org/taxonomy/511145"]}], + "bqm_is": [ + { + "nested_data": { + "bqb_isDescribedBy": [ + {"resources": ["https://identifiers.org/pubmed/1111111"]}, + {"resources": ["https://identifiers.org/eco/ECO:0000004"]}, + ] + }, + "resources": ["http://identifiers.org/bigg.model/e_coli_core"], + } + ], + "bqm_isDescribedBy": [ + {"resources": ["http://identifiers.org/doi/10.1128/ecosalplus.10.2.1"]}, + {"resources": ["http://identifiers.org/ncbigi/gi:16128336"]}, + ], +} + + +def test_annotation(): + # a cobra component + s = Species() + assert s.annotation == {} # nothing set for annotation, so empty dict + + # setting annotation via old annotation format + s.annotation["chebi"] = ["CHEBI:43215", "CHEBI:11881"] + + # checking old (fixed) annotation format + assert s.annotation == {"chebi": ["CHEBI:43215", "CHEBI:11881"]} + + # checking new cvterms + cvt = CVTerms( + { + "bqb_is": [ + { + "resources": [ + "https://identifiers.org/chebi/CHEBI:43215", + "https://identifiers.org/chebi/CHEBI:11881", + ] + } + ] + } + ) + assert s.annotation.cvterms == cvt + + # adding an SBO term + s.annotation["sbo"] = ["SBO:0000123"] + assert "chebi" in s.annotation + assert "sbo" in s.annotation + assert s.annotation == { + "chebi": ["CHEBI:43215", "CHEBI:11881"], + "sbo": ["SBO:0000123"], + } + + +def test_nested_annotation(data_directory): + # testing via cvterms + with open(join(data_directory, "cvterms_nested.json"), "r") as f_cvterms: + cvterms_data = json.load(f_cvterms) + + s = Species() + s.annotation.add_cvterms(cvterms_data) + assert s.annotation == { + "uniprot": ["P69905", "P68871", "P69905"], + "kegg.compound": ["C00032"], + "chebi": ["CHEBI:17627"], + } + # check cvterms + main_cvt = CVTerms( + { + "bqb_hasPart": [ + { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://identifiers.org/uniprot/P68871", + "https://identifiers.org/kegg.compound/C00032", + ] + }, + { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://www.uniprot.org/uniprot/P68871", + "https://identifiers.org/chebi/CHEBI:17627", + ], + "bqb_isDescribedBy": [ + {"resources": ["https://identifiers.org/pubmed/1111111"]}, + {"resources": ["https://identifiers.org/eco/000000"]}, + ], + }, + ] + } + ) + nested_cvt = CVTerms( + { + "bqb_isDescribedBy": [ + {"resources": ["https://identifiers.org/pubmed/1111111"]}, + {"resources": ["https://identifiers.org/eco/000000"]}, + ] + } + ) + assert s.annotation.cvterms == main_cvt + nested_data = s.annotation.cvterms["bqb_hasPart"][1].nested_data + assert nested_data == nested_cvt + + +def _read_ecoli_annotation_model(data_directory): + test_xml = os.path.join(data_directory, "e_coli_core_for_annotation.xml") + model = read_sbml_model(test_xml) + return model + + +def test_cvterms_from_ecoli_xml(data_directory): + model = _read_ecoli_annotation_model(data_directory) + qualifier_list = ["bqb_hasTaxon", "bqm_is", "bqm_isDescribedBy"] + nested_cvt = CVTerms( + { + "bqb_isDescribedBy": [ + {"resources": ["https://identifiers.org/pubmed/1111111"]}, + {"resources": ["https://identifiers.org/eco/ECO:0000004"]}, + ] + } + ) + ecoli_model_cvterm = CVTerms(ecoli_model_annotation) + for key in qualifier_list: + assert key in model.annotation.cvterms + assert model.annotation.cvterms == ecoli_model_cvterm + assert len(model.annotation.cvterms["bqm_isDescribedBy"]) == 2 + nested_data = model.annotation.cvterms["bqm_is"][0].nested_data + assert nested_data == nested_cvt + + # check backwards compatibility + assert model.annotation == { + "taxonomy": ["511145"], + "bigg.model": ["e_coli_core"], + "doi": ["10.1128/ecosalplus.10.2.1"], + "ncbigi": ["gi:16128336"], + } + + +def test_writing_xml(data_directory, tmp_path): + model = _read_ecoli_annotation_model(data_directory) + assert write_sbml_model(model, tmp_path, "e_coli_core_writing.xml") is None + + +def test_read_write_json(data_directory, tmp_path): + model = _read_ecoli_annotation_model(data_directory) + json_path = join(tmp_path, "e_coli_core_json_writing.json") + assert save_json_model(model, json_path, sort=False, pretty=True) is None + + model = load_json_model(json_path) + assert model.annotation == { + "taxonomy": ["511145"], + "bigg.model": ["e_coli_core"], + "doi": ["10.1128/ecosalplus.10.2.1"], + "ncbigi": ["gi:16128336"], + } + assert model.annotation.cvterms == CVTerms(ecoli_model_annotation) + + +def test_read_old_json_model(data_directory): + model = load_json_model(Path(data_directory) / "mini.json") + meta = model.metabolites[0] + assert meta.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"], + } + + # testing cvterms + expected_cvterms = CVTerms( + { + "bqb_is": [ + { + "resources": [ + "https://identifiers.org/bigg.metabolite/13dpg", + "https://identifiers.org/biocyc/DPG", + "https://identifiers.org/chebi/CHEBI:16001", + "https://identifiers.org/chebi/CHEBI:1658", + "https://identifiers.org/chebi/CHEBI:20189", + "https://identifiers.org/chebi/CHEBI:57604", + "https://identifiers.org/chebi/CHEBI:11881", + "https://identifiers.org/hmdb/HMDB01270", + "https://identifiers.org/kegg.compound/C00236", + "https://identifiers.org/pubchem.substance/3535", + "https://identifiers.org/reactome/REACT_29800", + "https://identifiers.org/seed.compound/cpd00203", + "https://identifiers.org/unipathway.compound/UPC00236", + ] + } + ] + } + ) + assert meta.annotation.cvterms == expected_cvterms diff --git a/src/cobra/test/test_core/test_metadata/test_notes.py b/src/cobra/test/test_core/test_metadata/test_notes.py new file mode 100644 index 000000000..669df48a5 --- /dev/null +++ b/src/cobra/test/test_core/test_metadata/test_notes.py @@ -0,0 +1,114 @@ +import os + +import pytest + +from cobra.core.metadata import Notes +from cobra.io import load_json_model, read_sbml_model, save_json_model, write_sbml_model + + +incoming_notes_str = ( + '\ +\n\ + \n\ +
\n\ +

Key1 : Value1

\n\ +

Key2 : Value2

\n\ +
\n\ +

A Heading

\n\ +
e_coli_core - Escherichia coli ' + "str. K-12 substr. MG1655
\n\ +
\n\ +

Key3 : Value3

\n\ +
\n\ + \n\ +
" +) + +modified_notes_str = ( + '\ +\n\ + \n\ +
\n\ +

Key1 : New Value 1

\n\ +

Key2 : Value2

\n\ +
\n\ +

A Heading

\n\ +
e_coli_core - Escherichia coli ' + "str. K-12 substr. MG1655
\n\ +
\n\ +

Key3 : New Value 3

\n\ +
\n\ + \n\ +
" +) + + +def test_notes(data_directory, tmp_path): + """reading notes from SBML to cobra model""" + model_path = os.path.join(data_directory, "e_coli_core_for_annotation.xml") + assert os.path.exists(model_path) + model = read_sbml_model(model_path) + rx1 = model.reactions[0] + # making notes object to test equality check of + # two notes object + notes = Notes(incoming_notes_str) + + assert rx1.notes.notes_xhtml == incoming_notes_str + assert rx1.notes == notes + + # keys inside notes dict + list_of_keys = ["Key1", "Key2", "Key3"] + + for key in list_of_keys: + assert key in rx1.notes + + assert rx1.notes["Key1"] == "Value1" + assert rx1.notes["Key2"] == "Value2" + assert rx1.notes["Key3"] == "Value3" + + # modifying already present key-value + rx1.notes["Key1"] = "New Value 1" + rx1.notes["Key3"] = "New Value 3" + + # trying to insert a new key-value + with pytest.raises(ValueError): + rx1.notes["Key4"] = "New Value 3" + + # checking modified notes dict and string + assert rx1.notes.notes_xhtml == modified_notes_str + assert rx1.notes["Key1"] == "New Value 1" + assert rx1.notes["Key2"] == "Value2" + assert rx1.notes["Key3"] == "New Value 3" + + # writing and reading back the model + path_to_file = os.path.join(tmp_path, "model_notes.xml") + write_sbml_model(model, path_to_file) + + model_after_reading = read_sbml_model(path_to_file) + rx1_after_reading = model_after_reading.reactions[0] + + # checks after reading model back again + assert rx1_after_reading.notes.notes_xhtml == modified_notes_str + assert rx1_after_reading.notes["Key1"] == "New Value 1" + assert rx1_after_reading.notes["Key2"] == "Value2" + assert rx1_after_reading.notes["Key3"] == "New Value 3" + + +def test_reading_writing_notes(data_directory, tmp_path): + # reading model with notes + model = read_sbml_model( + os.path.join(data_directory, "e_coli_core_for_annotation.xml") + ) + + # checking notes data + rx1 = model.reactions[0] + assert rx1.notes.notes_xhtml == incoming_notes_str + + # reading and writing in json format + path_to_json = os.path.join(str(tmp_path), "json_notes.json") + save_json_model(model, path_to_json) + model_from_json = load_json_model(path_to_json) + rx1_from_json = model_from_json.reactions[0] + assert rx1_from_json.notes.notes_xhtml == incoming_notes_str diff --git a/src/cobra/test/test_io/conftest.py b/src/cobra/test/test_io/conftest.py index 5c4a91334..f3ddc22c9 100644 --- a/src/cobra/test/test_io/conftest.py +++ b/src/cobra/test/test_io/conftest.py @@ -2,8 +2,6 @@ """Contains module level fixtures and utility functions.""" -from __future__ import absolute_import - from os.path import join from pickle import dump, load diff --git a/src/cobra/test/test_io/test_annotation.py b/src/cobra/test/test_io/test_annotation.py index 9067ef29e..301adc9ef 100644 --- a/src/cobra/test/test_io/test_annotation.py +++ b/src/cobra/test/test_io/test_annotation.py @@ -15,9 +15,9 @@ def _check_sbml_annotations(model): assert len(annotation) == 3 for key in ["bigg.model", "doi", "taxonomy"]: assert key in annotation - assert annotation["bigg.model"] == "e_coli_core" - assert annotation["doi"] == "10.1128/ecosalplus.10.2.1" - assert annotation["taxonomy"] == "511145" + assert annotation["bigg.model"] == ["e_coli_core"] + assert annotation["doi"] == ["10.1128/ecosalplus.10.2.1"] + assert annotation["taxonomy"] == ["511145"] # gene annotation # {'asap': 'ABE-0006162', 'ncbigene': '946368', 'uniprot': 'P33221', @@ -26,11 +26,11 @@ def _check_sbml_annotations(model): assert len(annotation) == 5 for key in ["asap", "ncbigene", "uniprot", "ncbigi", "ecogene"]: assert key in annotation - assert annotation["asap"] == "ABE-0006162" - assert annotation["ncbigene"] == "946368" - assert annotation["uniprot"] == "P33221" - assert annotation["ncbigi"] == "gi:16129802" - assert annotation["ecogene"] == "EG11809" + assert annotation["asap"] == ["ABE-0006162"] + assert annotation["ncbigene"] == ["946368"] + assert annotation["uniprot"] == ["P33221"] + assert annotation["ncbigi"] == ["gi:16129802"] + assert annotation["ecogene"] == ["EG11809"] # compartment annotation # FIXME: add tests with first class compartment model @@ -60,9 +60,9 @@ def _check_sbml_annotations(model): "biocyc", ]: assert key in annotation - assert ( - annotation["inchi"] == "InChI=1S/C3H8O2/c1-3(5)2-4/h3-5H,2H2,1H3/t3-/m0/s1" - ) # noqa: E501 + assert annotation["inchi"] == [ + "InChI=1S/C3H8O2/c1-3(5)2-4/h3-5H,2H2,1H3/t3-/m0/s1" + ] # noqa: E501 # reaction annotation # {'kegg.reaction': 'R00228', 'sbo': 'SBO:0000375', @@ -80,7 +80,7 @@ def _check_sbml_annotations(model): "biocyc", ]: assert key in annotation - assert annotation["biocyc"] == "META:ACETALD-DEHYDROG-RXN" + assert annotation["biocyc"] == ["META:ACETALD-DEHYDROG-RXN"] def test_read_sbml_annotations(data_directory): diff --git a/src/cobra/test/test_io/test_annotation_format.py b/src/cobra/test/test_io/test_annotation_format.py index 6e87a2fd3..650c22e89 100644 --- a/src/cobra/test/test_io/test_annotation_format.py +++ b/src/cobra/test/test_io/test_annotation_format.py @@ -1,7 +1,5 @@ from os.path import join -import pytest - from cobra.io import load_json_model, write_sbml_model @@ -10,9 +8,9 @@ def test_load_json_model_valid(data_directory, tmp_path): path_to_file = join(data_directory, "valid_annotation_format.json") model = load_json_model(path_to_file) expected = { - "bigg.reaction": [["is", "PFK26"]], - "kegg.reaction": [["is", "R02732"]], - "rhea": [["is", "15656"]], + "bigg.reaction": ["PFK26"], + "kegg.reaction": ["R02732"], + "rhea": ["15656"], } for metabolite in model.metabolites: assert metabolite.annotation == expected @@ -23,5 +21,12 @@ def test_load_json_model_valid(data_directory, tmp_path): def test_load_json_model_invalid(data_directory): """Test that loading an invalid annotation from JSON raises TypeError""" path = join(data_directory, "invalid_annotation_format.json") - with pytest.raises(TypeError): - model = load_json_model(path) + # with pytest.raises(TypeError): + # model = load_json_model(path) + + # the issue of reading annotation when it is in the form of + # of list of list has been resolved. When such type of annotation + # are encountered, they will be first fixed and then added + model = load_json_model(path) + anno = model.metabolites[0].annotation + assert anno == {"kegg.compound": ["C01468"], "chebi": ["CHEBI:11981"]} diff --git a/src/cobra/test/test_io/test_io_order.py b/src/cobra/test/test_io/test_io_order.py index 82bcc7c07..9b8a4d38f 100644 --- a/src/cobra/test/test_io/test_io_order.py +++ b/src/cobra/test/test_io/test_io_order.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import - import logging from operator import attrgetter from os.path import join diff --git a/src/cobra/test/test_io/test_json.py b/src/cobra/test/test_io/test_json.py index 41efaccd0..ee77da677 100644 --- a/src/cobra/test/test_io/test_json.py +++ b/src/cobra/test/test_io/test_json.py @@ -1,32 +1,30 @@ -# -*- coding: utf-8 -*- - """Test functionalities of json.py""" -from __future__ import absolute_import - -import json from os.path import join -import pytest -from importlib_resources import open_text - from cobra import io as cio from cobra.test.test_io.conftest import compare_models -@pytest.fixture(scope="module") -def json_schema_v1(): - with open_text(cio, "schema_v1.json") as handle: - schema_v1 = json.load(handle) - return schema_v1 +def test_validate_json(data_directory): + """Validate file according to JSON-schema.""" + path_old_format = join(data_directory, "e_coli_core.json") + # validate the model using JSON schema v1 + list_errors = cio.validate_json_model( + filename=path_old_format, json_schema_version=1 + ) + assert len(list_errors) == 0 + path_new_format = join(data_directory, "e_coli_new_format.json") + # validate the model using JSON schema v2 + errors = cio.validate_json_model(filename=path_new_format, json_schema_version=2) + assert len(errors) == 0 -def test_validate_json(data_directory, json_schema_v1): - """Validate file according to JSON-schema.""" - jsonschema = pytest.importorskip("jsonschema") - with open(join(data_directory, "mini.json"), "r", encoding="utf-8") as infile: - loaded = json.load(infile) - assert jsonschema.validate(loaded, json_schema_v1) is None + # test for invalid json model according to schema + errors_invalid = cio.validate_json_model( + filename=path_old_format, json_schema_version=2 + ) + assert len(errors_invalid) == 309 def test_load_json_model(data_directory, mini_model): @@ -35,15 +33,13 @@ def test_load_json_model(data_directory, mini_model): assert compare_models(mini_model, json_model) is None -def test_save_json_model(tmpdir, mini_model, json_schema_v1): +def test_save_json_model(tmpdir, mini_model): """Test the writing of JSON model.""" - jsonschema = pytest.importorskip("jsonschema") output_file = tmpdir.join("mini.json") cio.save_json_model(mini_model, output_file.strpath, pretty=True) # validate against JSONSchema - with open(str(output_file), "r") as infile: - loaded = json.load(infile) - assert jsonschema.validate(loaded, json_schema_v1) is None + errors = cio.validate_json_model(output_file, 1) + assert len(errors) == 0 def test_reaction_bounds_json(data_directory, tmp_path): diff --git a/src/cobra/test/test_io/test_mat.py b/src/cobra/test/test_io/test_mat.py index 9b9bee4a3..b18c9ccce 100644 --- a/src/cobra/test/test_io/test_mat.py +++ b/src/cobra/test/test_io/test_mat.py @@ -2,8 +2,6 @@ """Test functionalities provided by mat.py""" -from __future__ import absolute_import - from os.path import join from pickle import load diff --git a/src/cobra/test/test_io/test_notes.py b/src/cobra/test/test_io/test_notes.py deleted file mode 100644 index c57494a59..000000000 --- a/src/cobra/test/test_io/test_notes.py +++ /dev/null @@ -1,36 +0,0 @@ -from os.path import join - -import pytest - -import cobra -from cobra.io import read_sbml_model, write_sbml_model - - -def test_notes(tmp_path): - """Testing if model notes are written in SBML""" - path_to_file = join(str(tmp_path), "model_notes.xml") - - # making a minimal cobra model to test notes - model = cobra.Model("e_coli_core") - model.notes["Remark"] = "...Model Notes..." - met = cobra.Metabolite("pyr_c", compartment="c") - model.add_metabolites([met]) - met.notes["Remark"] = "Note with \n newline" - rxn = cobra.Reaction("R_ATPM") - model.add_reactions([rxn]) - rxn.notes["Remark"] = "What about me?" - model.objective_direction = "max" - model.objective = rxn - write_sbml_model(model, path_to_file) - - # reading the model back - model_after_reading = read_sbml_model(path_to_file) - met_after_reading = model_after_reading.metabolites.get_by_id("pyr_c") - reaction_after_reading = model_after_reading.reactions.get_by_id("R_ATPM") - - # checking if notes are written to model - assert model_after_reading.notes["Remark"] == "...Model Notes..." - - # checking notes for metabolite and reaction - assert met_after_reading.notes["Remark"] == "Note with \n newline" - assert reaction_after_reading.notes["Remark"] == "What about me?" diff --git a/src/cobra/test/test_io/test_pickle.py b/src/cobra/test/test_io/test_pickle.py index 56e1c5e59..fa2621b54 100644 --- a/src/cobra/test/test_io/test_pickle.py +++ b/src/cobra/test/test_io/test_pickle.py @@ -2,8 +2,6 @@ """Test data storage and recovery using pickle.""" -from __future__ import absolute_import - from os.path import join from pickle import dump, load @@ -13,10 +11,10 @@ try: - import cPickle + import pickle - cload = cPickle.load - cdump = cPickle.dump + cload = pickle.load + cdump = pickle.dump except ImportError: cload = None cdump = None diff --git a/src/cobra/test/test_io/test_sbml.py b/src/cobra/test/test_io/test_sbml.py index b76a07674..dcc20736f 100644 --- a/src/cobra/test/test_io/test_sbml.py +++ b/src/cobra/test/test_io/test_sbml.py @@ -3,8 +3,6 @@ Testing SBML functionality based on libsbml. """ -from __future__ import absolute_import - from collections import namedtuple from os import unlink from os.path import join, split @@ -15,6 +13,7 @@ import cobra from cobra import Model +from cobra.core.metadata import MetaData from cobra.io import read_sbml_model, validate_sbml_model, write_sbml_model @@ -235,20 +234,23 @@ def test_from_sbml_string(data_directory): TestCobraIO.compare_models(name="read from string", model1=model1, model2=model2) -@pytest.mark.skip(reason="Model history currently not written") def test_model_history(tmp_path): """Testing reading and writing of ModelHistory.""" model = Model("test") - model._sbml = { + history = { "creators": [ { - "familyName": "Mustermann", - "givenName": "Max", - "organisation": "Muster University", + "last_name": "Mustermann", + "first_name": "Max", + "organization_name": "Muster University", "email": "muster@university.com", } - ] + ], + "created_date": "2019-10-20T12:34:32Z", + "modified_dates": ["2019-10-20T12:35:32Z"], } + annotation = MetaData(history=history) + model._sbml = {"annotation": annotation} sbml_path = join(str(tmp_path), "test.xml") with open(sbml_path, "w") as f_out: @@ -257,13 +259,23 @@ def test_model_history(tmp_path): with open(sbml_path, "r") as f_in: model2 = read_sbml_model(f_in) - assert "creators" in model2._sbml - assert len(model2._sbml["creators"]) is 1 - c = model2._sbml["creators"][0] - assert c["familyName"] == "Mustermann" - assert c["givenName"] == "Max" - assert c["organisation"] == "Muster University" - assert c["email"] == "muster@university.com" + assert "annotation" in model2._sbml + assert len(model2._sbml["annotation"].history.creators) is 1 + c = model2._sbml["annotation"].history.creators[0] + assert c.last_name == "Mustermann" + assert c.first_name == "Max" + assert c.organization_name == "Muster University" + assert c.email == "muster@university.com" + + assert ( + model2._sbml["annotation"].history.created_date.datetime + == "2019-10-20T12:34:32Z" + ) + assert len(model2._sbml["annotation"].history._modified_dates) == 1 + assert ( + model2._sbml["annotation"].history._modified_dates[0].datetime + == "2019-10-20T12:35:32Z" + ) def test_groups(data_directory, tmp_path): @@ -450,41 +462,45 @@ def test_smbl_with_notes(data_directory, tmp_path): } metabolite_annotations = { "2hb_e": { - "sbo": "SBO:0000247", - "inchi": "InChI=1S/C4H8O3/c1-2-3(5)4(6)7/h3,5H,2H2,1H3," "(H,6,7)", - "chebi": "CHEBI:1148", + "sbo": ["SBO:0000247"], + "inchi": ["InChI=1S/C4H8O3/c1-2-3(5)4(6)7/h3,5H,2H2,1H3," "(H,6,7)"], + "chebi": ["CHEBI:1148"], }, "nad_e": { - "sbo": "SBO:0000247", - "inchi": "InChI=1S/C21H27N7O14P2/c22-17-12-19(" - "25-7-24-17)28(8-26-12)21-16(32)14(30)11(" - "41-21)6-39-44(36,37)42-43(34,35)38-5-10-13(29)15(" - "31)20(40-10)27-3-1-2-9(4-27)18(" - "23)33/h1-4,7-8,10-11,13-16,20-21,29-32H,5-6H2," - "(H5-,22,23,24,25,33,34,35,36,37)/p-1/t10-," - "11-,13-,14-,15-,16-,20-,21-/m1/s1", - "chebi": "CHEBI:57540", + "sbo": ["SBO:0000247"], + "inchi": [ + "InChI=1S/C21H27N7O14P2/c22-17-12-19(" + "25-7-24-17)28(8-26-12)21-16(32)14(30)11(" + "41-21)6-39-44(36,37)42-43(34,35)38-5-10-13(29)15(" + "31)20(40-10)27-3-1-2-9(4-27)18(" + "23)33/h1-4,7-8,10-11,13-16,20-21,29-32H,5-6H2," + "(H5-,22,23,24,25,33,34,35,36,37)/p-1/t10-," + "11-,13-,14-,15-,16-,20-,21-/m1/s1" + ], + "chebi": ["CHEBI:57540"], }, "h_e": { - "sbo": "SBO:0000247", - "inchi": "InChI=1S/p+1/i/hH", - "chebi": "CHEBI:24636", + "sbo": ["SBO:0000247"], + "inchi": ["InChI=1S/p+1/i/hH"], + "chebi": ["CHEBI:24636"], }, "2obut_e": { - "sbo": "SBO:0000247", - "inchi": "InChI=1S/C4H6O3/c1-2-3(5)4(6)7/h2H2,1H3,(H,6," "7)/p-1", - "chebi": "CHEBI:16763", + "sbo": ["SBO:0000247"], + "inchi": ["InChI=1S/C4H6O3/c1-2-3(5)4(6)7/h2H2,1H3,(H,6," "7)/p-1"], + "chebi": ["CHEBI:16763"], }, "nadh_e": { - "sbo": "SBO:0000247", - "inchi": "InChI=1S/C21H29N7O14P2/c22-17-12-19(" - "25-7-24-17)28(8-26-12)21-16(32)14(30)11(" - "41-21)6-39-44(36,37)42-43(34,35)38-5-10-13(" - "29)15(31)20(40-10)27-3-1-2-9(4-27)18(" - "23)33/h1,3-4,7-8,10-11,13-16,20-21,29-32H,2," - "5-6H2,(H2,23,33)(H,34,35)(H,36,37)(H2,22,24," - "25)/p-2/t10-,11-,13-,14-,15-,16-,20-,21-/m1/s1", - "chebi": "CHEBI:57945", + "sbo": ["SBO:0000247"], + "inchi": [ + "InChI=1S/C21H29N7O14P2/c22-17-12-19(" + "25-7-24-17)28(8-26-12)21-16(32)14(30)11(" + "41-21)6-39-44(36,37)42-43(34,35)38-5-10-13(" + "29)15(31)20(40-10)27-3-1-2-9(4-27)18(" + "23)33/h1,3-4,7-8,10-11,13-16,20-21,29-32H,2," + "5-6H2,(H2,23,33)(H,34,35)(H,36,37)(H2,22,24," + "25)/p-2/t10-,11-,13-,14-,15-,16-,20-,21-/m1/s1" + ], + "chebi": ["CHEBI:57945"], }, } reaction_notes = { @@ -494,8 +510,8 @@ def test_smbl_with_notes(data_directory, tmp_path): "GENE_ASSOCIATION": "(HGNC:8546 and HGNC:8548) or" " (HGNC:8547 and HGNC:8548)", } reaction_annotations = { - "sbo": "SBO:0000176", - "ec-code": "1.1.1.27", + "sbo": ["SBO:0000176"], + "ec-code": ["1.1.1.27"], "pubmed": ["10108", "21765"], } diff --git a/src/cobra/test/test_io/test_yaml.py b/src/cobra/test/test_io/test_yaml.py index 1cf42a7f3..10dad8314 100644 --- a/src/cobra/test/test_io/test_yaml.py +++ b/src/cobra/test/test_io/test_yaml.py @@ -2,12 +2,9 @@ """Test functionalities provided by yaml.py""" -from __future__ import absolute_import - import json from os.path import join -import pytest from ruamel.yaml import YAML from cobra import io as cio @@ -20,9 +17,7 @@ def test_load_yaml_model(data_directory, mini_model): assert compare_models(mini_model, yaml_model) is None -@pytest.mark.xfail(reason="schema outdated") def test_save_yaml_model(tmpdir, mini_model): - jsonschema = pytest.importorskip("jsonschema") """Test the writing of YAML model.""" output_file = tmpdir.join("mini.yml") cio.save_yaml_model(mini_model, output_file.strpath, sort=True) @@ -31,5 +26,5 @@ def test_save_yaml_model(tmpdir, mini_model): with open(output_file.strpath, "r") as infile: yaml_to_dict = yaml.load(infile) dict_to_json = json.dumps(yaml_to_dict) - loaded = json.loads(dict_to_json) - assert jsonschema.validate(loaded, cio.json.json_schema) + errors = cio.validate_json_model(filename=dict_to_json, json_schema_version=1) + assert len(errors) == 0 diff --git a/src/cobra/test/test_manipulation.py b/src/cobra/test/test_manipulation.py index 6c7a72e63..701c70107 100644 --- a/src/cobra/test/test_manipulation.py +++ b/src/cobra/test/test_manipulation.py @@ -172,11 +172,11 @@ def test_sbo_annotation(self, model): 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" + rxns.get_by_id("EX_h_e").annotation["sbo"] = ["SBO:0000628"] add_SBO(model) - assert rxns.EX_o2_e.annotation["sbo"] == "SBO:0000627" - assert rxns.DM_h_c.annotation["sbo"] == "SBO:0000628" - assert rxns.EX_h_e.annotation["sbo"] == "SBO:0000628" + assert rxns.EX_o2_e.annotation["sbo"] == ["SBO:0000627"] + assert rxns.DM_h_c.annotation["sbo"] == ["SBO:0000628"] + assert rxns.EX_h_e.annotation["sbo"] == ["SBO:0000628"] def test_validate_formula_compartment(self, model): model.metabolites[1].formula = "(a*.bcde)" diff --git a/src/cobra/test/test_summary/test_metabolite_summary.py b/src/cobra/test/test_summary/test_metabolite_summary.py index 1f543bfd0..5b49005ac 100644 --- a/src/cobra/test/test_summary/test_metabolite_summary.py +++ b/src/cobra/test/test_summary/test_metabolite_summary.py @@ -12,18 +12,13 @@ def test_metabolite_summary_interface(model, opt_solver): model.solver = opt_solver metabolite = model.metabolites.get_by_id("q8_c") MetaboliteSummary( - metabolite=metabolite, - model=model, + metabolite=metabolite, model=model, ) MetaboliteSummary( - metabolite=metabolite, - model=model, - solution=pfba(model), + metabolite=metabolite, model=model, solution=pfba(model), ) MetaboliteSummary( - metabolite=metabolite, - model=model, - fva=0.95, + metabolite=metabolite, model=model, fva=0.95, ) MetaboliteSummary( metabolite=metabolite, diff --git a/src/cobra/test/test_summary/test_model_summary.py b/src/cobra/test/test_summary/test_model_summary.py index c05e8ab00..7300642a3 100644 --- a/src/cobra/test/test_summary/test_model_summary.py +++ b/src/cobra/test/test_summary/test_model_summary.py @@ -10,16 +10,12 @@ def test_model_summary_interface(model, opt_solver): """Test that a summary can be created successfully.""" model.solver = opt_solver + ModelSummary(model=model,) ModelSummary( - model=model, + model=model, solution=pfba(model), ) ModelSummary( - model=model, - solution=pfba(model), - ) - ModelSummary( - model=model, - fva=0.95, + model=model, fva=0.95, ) ModelSummary( model=model, diff --git a/src/cobra/test/test_summary/test_reaction_summary.py b/src/cobra/test/test_summary/test_reaction_summary.py index 8926285a2..7f11d3219 100644 --- a/src/cobra/test/test_summary/test_reaction_summary.py +++ b/src/cobra/test/test_summary/test_reaction_summary.py @@ -12,18 +12,13 @@ def test_reaction_summary_interface(model, opt_solver): model.solver = opt_solver reaction = model.reactions.get_by_id("FUM") ReactionSummary( - reaction=reaction, - model=model, + reaction=reaction, model=model, ) ReactionSummary( - reaction=reaction, - model=model, - solution=pfba(model), + reaction=reaction, model=model, solution=pfba(model), ) ReactionSummary( - reaction=reaction, - model=model, - fva=0.95, + reaction=reaction, model=model, fva=0.95, ) ReactionSummary( reaction=reaction, diff --git a/src/cobra/util/array.py b/src/cobra/util/array.py index b14cb2cc8..79972fb19 100644 --- a/src/cobra/util/array.py +++ b/src/cobra/util/array.py @@ -136,9 +136,7 @@ def nullspace(A: np.ndarray, atol: float = 1e-13, rtol: float = 0.0) -> np.ndarr def constraint_matrices( - model: "Model", - array_type: str = "dense", - zero_tol: float = 1e-6, + model: "Model", array_type: str = "dense", zero_tol: float = 1e-6, ) -> NamedTuple: """Create a matrix representation of the problem. diff --git a/tox.ini b/tox.ini index 57ef29112..af74d07b7 100644 --- a/tox.ini +++ b/tox.ini @@ -100,6 +100,7 @@ known_third_party = scipy six swiglpk + jsonschema [flake8] exclude =