diff --git a/.gitignore b/.gitignore index 6a94716bf..086d8d610 100644 --- a/.gitignore +++ b/.gitignore @@ -105,6 +105,7 @@ ipython_config.py .idea/**/dynamic.xml .idea/**/uiDesigner.xml .idea/**/dbnavigator.xml +.idea/** # Gradle .idea/**/gradle.xml @@ -303,8 +304,3 @@ gurobi.log /documentation_builder/test*\.* /.benchmarks /.testmondata -/.idea/cobrapy.iml -/.idea/misc.xml -/.idea/modules.xml -/.idea/inspectionProfiles/profiles_settings.xml -/.idea/vcs.xml 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..60adcbf46 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + \ 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 d8268a0e3..51e840892 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+) @@ -41,7 +41,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 @@ -53,7 +53,7 @@ keywords = [options] zip_safe = True -install_requires = +install_requires = appdirs ~=1.4 depinfo ~=1.7 diskcache ~=5.0 @@ -68,24 +68,25 @@ install_requires = rich >=8.0 ruamel.yaml ~=0.16 swiglpk -tests_require = + jsonschema +tests_require = tox packages = find: -package_dir = +package_dir = = src [options.packages.find] where = src [options.package_data] -cobra = +cobra = data/* io/*.json [options.extras_require] -array = +array = scipy -development = +development = black bumpversion isort @@ -97,7 +98,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 12e082517..69379f9a5 100644 --- a/src/cobra/core/__init__.py +++ b/src/cobra/core/__init__.py @@ -1,10 +1,13 @@ from cobra.core.configuration import Configuration from cobra.core.dictlist import DictList -from cobra.core.gene import Gene, GPR +from cobra.core.gene import GPR, Gene +from cobra.core.group import Group from cobra.core.metabolite import Metabolite +from cobra.core.metadata import MetaData +from cobra.core.metadata.cvterm import CVTerm, CVTermList, ExternalResources +from cobra.core.metadata.history import Creator, History 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, get_solution from cobra.core.species import Species diff --git a/src/cobra/core/group.py b/src/cobra/core/group.py index 501a3ffc2..ac2e508b3 100644 --- a/src/cobra/core/group.py +++ b/src/cobra/core/group.py @@ -3,7 +3,6 @@ from typing import Iterable, Optional, Set from warnings import warn -from .dictlist import DictList from .object import Object diff --git a/src/cobra/core/metadata/__init__.py b/src/cobra/core/metadata/__init__.py new file mode 100644 index 000000000..8bbb78957 --- /dev/null +++ b/src/cobra/core/metadata/__init__.py @@ -0,0 +1,7 @@ +"""Provide functions for loading, saving and modifying metadata annotations.""" + +from cobra.core.metadata.cvterm import CVTerm, CVTermList, ExternalResources, Qualifier +from cobra.core.metadata.helper import URL_IDENTIFIERS_PATTERN, parse_identifiers_uri +from cobra.core.metadata.history import Creator, History +from cobra.core.metadata.custompairs import KeyValuePairs +from cobra.core.metadata.metadata import MetaData diff --git a/src/cobra/core/metadata/custompairs.py b/src/cobra/core/metadata/custompairs.py new file mode 100644 index 000000000..22e61b28d --- /dev/null +++ b/src/cobra/core/metadata/custompairs.py @@ -0,0 +1,172 @@ +"""Class to deal with Key-Value pairs. + +Key-Value pairs are described in SBML FBC3. For the FBC3 standard, see +https://github.com/bgoli/sbml-fbc-spec/blob/main/sf_svn/spec/main.pdf +""" +import uuid +from collections import UserDict +from typing import Dict, Iterable, Optional, Union +from dataclasses import dataclass, field, fields, asdict + +from ...util import format_long_string + + +@dataclass +class KeyValueEntry: + """Single key-value entry. + + The key is an attribute on the entry. + + Parameters + ---------- + key: str + Defined as mandatory in the FBC3 standard. + id: str + optional. Default None. + name: str + optional. Default None. + value: str + optional. Default None. + uri: str + Can be a URN or URL. Optional (default None). + """ + key: str + id: Optional[str] = None + name: Optional[str] = None + value: Optional[str] = None + uri: Optional[str] = None + + @staticmethod + def from_data(data: Optional[Union[Dict, "KeyValueEntry"]]) -> "KeyValueEntry": + """Make a KeyValueDict object using the data passed. + + Parameters + ---------- + data - dict or KeyValueEntry + If dict, will use the values of the dictionary to populate a new + KeyValueEntry. If None, will return empty KeyValueEntry. + + Returns + ------- + KeyValueEntry + """ + if isinstance(data, KeyValueEntry): + return data + elif isinstance(data, dict): + if 'key' not in data: + data['key'] = uuid.uuid4().hex + return KeyValueEntry(**data) + else: + raise TypeError(f"Invalid format for KeyValueEntry: '{data}'") + + def __str__(self) -> str: + """Get string representation of the KeyValueEntry as dictionary. + + Returns + ------- + str + """ + return str(asdict(self)) + + def __repr__(self) -> str: + """Get string representation, including module and class name. + + Returns + ------- + str + """ + return ( + f"{self.__class__.__module__}.{self.__class__.__qualname__}" + f"({repr(self.key)}, {repr(self.id)}, {repr(self.name)}, {repr(self.value)}" + f", {repr(self.uri)})" + ) + + +class KeyValuePairs(UserDict): + """A UserDict to store KeyValueEntries. + + Parameters + ---------- + entries : Iterable + an iterable containing entry information + """ + + def __init__(self, entries: Iterable[Union[Dict, KeyValueEntry]] = None): + """Initialize the KeyValuePairs dictionary class. + + Parameters + ---------- + entries: Iterable + An iterable of dictionaries or KeyValueEntry, which will be inputted to the + dictionary. + """ + super().__init__() + if entries: + for item in entries: + entry = KeyValueEntry.from_data(item) + self.data[entry.key] = entry + + def __setitem__(self, key: str, item: Union[Dict, KeyValueEntry]) -> None: + """Set item. + + Parameters + ---------- + key: str + item: dictionary or KeyValueEntry + """ + entry = KeyValueEntry.from_data(item) + self.data[key] = entry + + def __str__(self) -> str: + """Convert KeyValuePairs to str. + + Parameters + ---------- + self : KeyValuePairs + UserDict defining key value pairs + + Returns + ------ + string + a string representation of a dictionary + """ + return str(self.to_dict()) + + def __repr__(self) -> str: + """Get string representation, including module and class name. + + Returns + ------- + str + """ + return ( + f"{self.__class__.__module__}.{self.__class__.__qualname__}" + f"({self.to_dict()!r})" + ) + + def _repr_html_(self) -> str: + """Get HTML representation. + + Returns + ------- + str + HTML formatted string + """ + return f"""

KeyValuePairs

{format_long_string( + self.__str__(), 100)}

""" + + def to_dict(self) -> dict: + """Get dictionary representation. + + Returns + ------- + dict + keys are the keys, and each value is the KeyValueEntry represented as + a dict. + """ + return {k: asdict(v) for k, v in self.data.items()} + + #query + + #add_key_value_pair + #delete_key_value_pair?? Maybe with query diff --git a/src/cobra/core/metadata/cvterm.py b/src/cobra/core/metadata/cvterm.py new file mode 100644 index 000000000..726a5056a --- /dev/null +++ b/src/cobra/core/metadata/cvterm.py @@ -0,0 +1,1148 @@ +"""Define the Controlled Vocabulary term class.""" + +import re +from collections import UserList +from enum import Enum +from typing import Callable, Dict, FrozenSet, Iterable, List, Optional, Pattern, Union + +from .helper import URL_IDENTIFIERS_PATTERN, parse_identifiers_uri + + +class Qualifier(Enum): + """The possible qualifiers inside a CVTerm. + + The qualifiers and their detailed description are present in + https://co.mbine.org/standards/qualifiers. + + Qualifiers are divided into two groups + bqb These kinds of qualifiers define the relationship between a biological + object represented by a model element and its annotation. + bqm These kinds of qualifiers define the relationship between a modelling + object and its annotation. + """ + + bqb_is = "bqb_is" + bqb_hasPart = "bqb_hasPart" + bqb_isPartOf = "bqb_isPartOf" + bqb_isVersionOf = "bqb_isVersionOf" + bqb_hasVersion = "bqb_hasVersion" + bqb_isHomologTo = "bqb_isHomologTo" + bqb_isDescribedBy = "bqb_isDescribedBy" + bqb_isEncodedBy = "bqb_isEncodedBy" + bqb_encodes = "bqb_encodes" + bqb_occursIn = "bqb_occursIn" + bqb_hasProperty = "bqb_hasProperty" + bqb_isPropertyOf = "bqb_isPropertyOf" + bqb_hasTaxon = "bqb_hasTaxon" + bqb_unknown = "bqb_unknown" + bqm_is = "bqm_is" + bqm_isDescribedBy = "bqm_isDescribedBy" + bqm_isDerivedFrom = "bqm_isDerivedFrom" + bqm_isInstanceOf = "bqm_isInstanceOf" + bqm_hasInstance = "bqm_hasInstance" + bqm_unknown = "bqm_unknown" + + +class CVTerm: + """CVTerm class, representing controlled vocabulary. + + Controlled Vocabulary (CVTerm) can be defined as a curated and controlled + relationship, described by Qualifier (see above) - the relationship between an + object and annotation must be part of the Qualifier class. These relationships + are based in biochemical or biological relationships. The qualifiers/relationships + are divided into bqbiol/bqb (biological qualification) and bqmodel/bqm (model + qualifications). See two examples: + "bqb_is" The biological entity represented by the SBML component is the subject + of the referenced resource. This could serve to link a reaction to its counterpart + in (e.g.) the ChEBI or Reactome databases. + "bqm_is" The modeling object encoded by the SBML component is the subject of + the referenced resource. This might be used, e.g., to link the model + to an entry in a model database. + See https://co.mbine.org/standards/qualifiers + For a definition of all qualifiers, see SBML Level 3, Version 2 Core, p 104 + (http://co.mbine.org/specifications/sbml.level-3.version-2.core.release-2.pdf) + + The annotation will have one or more URI, which are encapsulated in + ExternalResources class (see below). + + Each CVTerm has only ONE qualifier, and can have many URI in the resources. If + you need to use another qualifier, it can be nested data (if relevant), or it + should be in another CVTerm. + If an object has multiple CVTerms, they are placed in a CVTermList (see below). + + This is how a CVTerm object looks : + CVTerm.qualifier = "bqb_is" + CVTerm.ex_res = + {"resources": [ + "resource_uri", + ... + ], + "nested_data":CVTermList Object + } + + Examples of how CVTerms can be used + + Model examples (Each of these is a separate CVTerm) + qualifier=bqm_is + resources=["https://identifiers.org/biomodels.db/BIOMD0000000003"] + A model identifier + qualifier=bqm_isDescribed_by + resources=["https://identifiers.org/pubmed/1833774"] + A published article detailing the model + qualifier=bqm_isVersionOf + resources=["https://identifiers.org/wikipathways/WP179", + "https://identifiers.org/reactome/REACT_152"/] + Two links to what this model is a version of (in this case, cell cycle). + + Reaction examples + qualifier=bqb_is + resources=["https://identifiers.org/reactome/REACT_6327"/] + A link to a reaction database that details reactions. + qualifier=bqb_hasPart + resources=["http://identifiers.org/uniprot/P04551", + http://identifiers.org/uniprot/P10815"] + resources.nested_date = { + qualifier=bqb_isDescribedby + resources=["https://identifiers.org/pubmed/1111111"] + Two proteins that form part of the same complex. The nested data links to an + article describing the formation of the complex. + It is nested data because it is relevant to the hasPart CVTerm, but uses a + different qualifier. + """ + + def __init__( + self, + ex_res: Optional[Union["ExternalResources", Dict, str]] = None, + qualifier: Union[Qualifier, str] = Qualifier.bqb_is, + ): + """Initialize a CVTerm. + + Parameters + ---------- + ex_res: ExternalResources or dict + The external resources (URI format), which may include nested data. Can be + qualifier: Qualifier or str + The qualifier for the relationship. + """ + self._ex_res = None + self._qualifier = None + self._ex_res = self.check_ex_res_type(ex_res) + self._qualifier = self.check_qualifier_type(qualifier) + + @property + def qualifier(self) -> Qualifier: + """Get qualifier for CVTerm. + + Returns + ------- + Qualifier + """ + return self._qualifier + + @qualifier.setter + def qualifier(self, qualifier: Union[str, Qualifier]) -> None: + """Set Qualifier. + + Parameters + ---------- + qualifier - str, int or Qualifier + Is converted to the Qualifier class. + + See Also + -------- + CVTerm.check_qualifier_type() + """ + self._qualifier = self.check_qualifier_type(qualifier) + + @property + def external_resources(self) -> "ExternalResources": + """Get external resources. + + Returns + ------- + ExternalResources + """ + return self._ex_res + + @external_resources.setter + def external_resources( + self, external_resources: Union[dict, "ExternalResources"] + ) -> None: + """Set external resources. + + Parameters + ---------- + external_resources - dict or ExternalResources + Is converted to the ExternalResources class. + + See Also + -------- + CVTerm.check_ex_res_type() + """ + self._ex_res = self.check_ex_res_type(external_resources) + + @property + def resources(self) -> FrozenSet: + """Get all resources. + + Returns: + ------- + FrozenSet: + a set of all resources in the CVTerm as a set of strings + including external resources of nested data as strings + """ + return self.external_resources.resource_nested + + @staticmethod + def check_ex_res_type( + ex_res: Optional[Union["ExternalResources", Dict, str]] + ) -> "ExternalResources": + """Check and parse input to ExternalResources. + + Parameters + ---------- + ex_res: ExternalResources or dict or str, optional + Input data to check if it is or can be transformed to ExternalResources + class. String must start with http:// or https:// to be acceptable. + Dictionary must match the format required by from_dict. + If None is given, an empty ExternalResources is returned. + No parsing of identifiers/URIs is done, perhaps in future versions. + + Returns + ------- + ExternalResources + + Raises + ------ + TypeError + If given anything other than None, str, dict or ExternalResources. + Will raise this error if given a string that does not start with http(s):// + + See Also + -------- + ExternalResources.from_dict() + """ + if ex_res is None: + return ExternalResources() + elif isinstance(ex_res, ExternalResources): + return ex_res + elif isinstance(ex_res, dict): + return ExternalResources.from_dict(ex_res) + elif isinstance(ex_res, str) and ("http://" in ex_res or "https://" in ex_res): + return ExternalResources(resources=[ex_res]) + else: + raise TypeError( + f"Allowed types for CVTerm ex_res are ExternalResources, str, None, " + f"or dict, not {type(ex_res)}: {ex_res}" + ) + + @staticmethod + def check_qualifier_type(qual: Union[str, Qualifier]) -> Qualifier: + """Check and parse input to Qualifier class. + + Parameters + ---------- + qual: str or Qualifier, optional + Input data to check if it is or can be transformed to Qualifier class. + Strings must be a member of the Qualifier values. + If None is given, an empty Qualifier is returned. + + Returns + ------- + Qualifier + + Raises + ------ + TypeError + If given anything other than None, str, or Qualifier. + Will raise this error if given a string that does not match the defined + Qualifier members. + """ + if isinstance(qual, str) and qual not in Qualifier.__members__: + raise TypeError(f"{qual} is not a supported enum Qualifier") + elif isinstance(qual, Qualifier): + return qual + elif isinstance(qual, str): + return Qualifier[qual] + else: + raise TypeError( + f"Allowed types for CVTerm qualifier must be Qualifier," + f"str member of the Qualifier enum {type(qual)}, {qual}" + ) + + def to_dict(self) -> Dict: + """Represent a CVTerm object in python dict. + + Returns + ------- + dict: + A dict that has two keys + "qualifier" - the qualifier as a string + "external_resources" - the resources as a dictionary + + See Also + -------- + ExternalResources.to_dict() + + """ + return { + "qualifier": self.qualifier.value, + "external_resources": self.external_resources.to_dict(), + } + + @classmethod + def from_dict(cls, data_dict: Dict) -> "CVTerm": + """Generate a CVTerm object based on a python dict. + + Parameters + ---------- + data_dict: dict + A dict that has two keys + "qualifier" - the qualifier as a string, optional. If not present, the + qualifier is set to bqb_is. + "external_resources" - the resources as a dictionary, optional + + Returns + ------- + CVTerm + + See Also + -------- + ExternalResources.to_dict() + + """ + return cls( + ex_res=data_dict.get("external_resources", None), + qualifier=data_dict.get("qualifier", Qualifier["bqb_is"]), + ) + + def __eq__(self, other: Union["CVTerm", dict]) -> bool: + """Compare two CVTerm objects and return boolean for equality. + + If a dict is given, it is transformed to CVTerm. + First, the qualifier is compared. If they are not identical, False is returned. + Then the external resources are compared, see ExternalResources.__eq__(). + + Parameters + ---------- + other: dict or CVTerm + + Returns + ------- + bool + False if other is not CVTerm or dict. + False if qualifiers are different, or external resources are different. + True if qualifier and external resources are identical. + + See Also + -------- + CVTerm.from_dict() + ExternalResources.__eq__() + """ + if not isinstance(other, (CVTerm, dict)): + return False + if isinstance(other, dict): + return self == CVTerm.from_dict(other) + if self.qualifier != other.qualifier: + return False + if self.external_resources != other.external_resources: + return False + return True + + def __repr__(self) -> str: + """Return the CVTerm as str with module, class, and code to recreate it. + + Returns + ------- + str + """ + return ( + f"{self.__class__.__module__}.{self.__class__.__qualname__}" + f"({self.to_dict()})" + ) + + def _repr_html_(self) -> str: + """Return the CVTerm as HTML string with qualifier, resources and address. + + Returns + ------- + str + HTML formatted string + """ + return f""" + {self.qualifier.name}: + "

Resources" + {"

".join([res for res in self.external_resources.resources])} + Memory address{id(self):#x} + """ + + +class CVTermList(UserList): + """A list of CVTerm objects. + + Representation of multiple CVTerm objects in a list. It is list that contains + CVTerm objects. As a list, it means that objects can repeat, and that the order is + maintained. + + CVTermList is built using UserList, which means that the actual list can be + accessed using CVTermList.data. As a list, the order is kept, items may repeat. + __init__, __setitem__, __append__, __extend__ will check the data to make sure it + is a CVTerm or can be transformed to CVTerm using _check_CVTerm(). + All list functions that are not overloaded will behave like standard lists. + + Parameters + ---------- + data : list + a list containing qualifier and external resources in CVTerm format + + 1. The only way to add annotation data via old format is by + using the method "add_simple_annotations()". This will set all qualifiers as + "bqb_is". If you want to use other qualifiers and/or nested data, use + add_cvterms() or extend(). + 2. Multiple CVTerm data can be added by using add_cvterms() or extend(). Both + accept iterables, including CVTermList. + """ + + def __init__(self, data: Iterable[Union[CVTerm, Dict]] = None): + """Initialize CVTermList object. + + Parameters + ---------- + data: Iterable of dict or CVTerm + Dicts will be transformed to CVTerm via _check_CVTerm. + + Notes + ----- + _check_CVTerm will raise TypeError if given a class other than dict or CVTerm, + so initialization of CVTermList may raise TypeError. + """ + if data is None: + data = [] + data = [self._check_CVTerm(datum) for datum in data] + super().__init__(data) + + @staticmethod + def _check_CVTerm(cvterm: Union[CVTerm, Dict]) -> Optional["CVTerm"]: + if cvterm is None: + return + if isinstance(cvterm, CVTerm): + return cvterm + elif isinstance(cvterm, dict): + return CVTerm.from_dict(cvterm) + else: + raise TypeError( + f"Allowed types for CVTerm ex_res are CVTerm " + f"or dict, not {type(cvterm)}: {cvterm}" + ) + + @staticmethod + def from_data(data: Optional[Union[List, "CVTerm", "CVTermList"]]) -> "CVTermList": + """Parse a CVTermList object from given data. + + Parameters + ---------- + data: list, CVTerm or CVTermList or None, optional + This will be transformed to CVTermList class. + None will result in an empty CVTermList. + CVTerm will be placed in a list and become a CVTermList. + If given CVTermList, will return the data untransformed. + + Returns + ------- + CVTermList + + Raises + ------ + TypeError + If not given None, dict, CVTerm or CVTermList. + """ + if data is None: + return CVTermList() + elif isinstance(data, list): + return CVTermList(data) + elif isinstance(data, CVTerm): + return CVTermList([data]) + elif isinstance(data, CVTermList): + return data + else: + raise TypeError(f"Invalid format for CVTermList: '{data}'") + + def to_list_of_dicts(self) -> List[dict]: + """Represent a CVTermList object as a list of python dicts. + + Returns: + ------- + list: + a list where each item is a dict, made by CVTerm.to_dict(). Used for JSON + and YAML export. + + See Also + -------- + CVTerm.to_dict() + """ + return [cvterm.to_dict() for cvterm in self.data] + + def add_cvterms(self, cvterms: Iterable[Union["CVTerm", Dict]]) -> None: + """Add multiple CVTerm to CVTermList. + + Parameters + ---------- + cvterms : Iterable + CVTermList list of CVTerms or CVTerm dicts to be added to the CVTermList + """ + self.extend(cvterms) + + def add_simple_annotations(self, data: Dict = None) -> None: + """Add simple annotation. + + Adds standardized via old annotation format (dictionary like format). + The default qualifier, i.e "bqb_is", will be used. + This function will add identifiers.org to the keys given to form the URI. + If the annotation does not match the identifiers format, you should use + add_cvterms directly (and create the correct link) and/or use the + custompairs field of annotation. + + This function will skip "sbo" keys since they should be added via + annotation["sbo"], see MetaData. + + Parameters + ---------- + data : dict + the data in old annotation format + keys are str representing namespace + If the value is a list, each value is added to the namespace, making a + CVTerm with one ExternalResources object htat has mulitple URIs. If the + value is a string, then only one value will be added to the namespace. + + Examples + -------- + >>> from cobra import Species + >>> s = Species() + >>> s.annotation.standardized.add_simple_annotations({"chebi": "CHEBI:17234"}) + >>> s.annotation.standardized.add_simple_annotations({"chebi": ["CHBEI:1723456", "CHEBI:172345"]}) + >>> s.annotation + >>> s.annotation.standardized + >>> s.annotation.annotations + """ + if data is None: + data = {} + + if not isinstance(data, dict): + raise TypeError(f"The data passed must be of type dict: {data}") + + cvterm_list = [] + for key, value in data.items(): + + if not isinstance(value, (list, str)): + raise TypeError( + f"The value passed must be of type list or str: {value}" + ) + if key.lower() == "sbo": + continue + + qual = Qualifier["bqb_is"] + # if there is only one identifier i.e. annotation + # of the form { "chebi": ["CHEBI:17234"]} + if isinstance(value, str): + uri = ["https://identifiers.org/" + key + "/" + value] + # if there are multiple identifiers for this key i.e. annotation + # of the form { "chebi": ["CHEBI:124", "CHEBI:17234"]} + elif isinstance(value, list): + uri = [ + "https://identifiers.org/" + key + "/" + identifier + for identifier in value + ] + else: + raise TypeError( + f"The identifier passed must be of type string or list: {value}" + ) + cvterm_list.append(CVTerm(ex_res=ExternalResources(uri), qualifier=qual)) + self.add_cvterms(cvterm_list) + + def delete_annotation(self, resource: Union[str, Pattern]) -> None: + """Delete annotation - the converse of add_simple_annotation. + + This will go over the CVTerms, and delete all resources that match the pattern. + It will call the funciton recursively for ExternalResources that have + nested_data. + CVTerms that end with neither resources nor nested data are removed. + + Parameters + ---------- + resource: str or Pattern + + Examples + -------- + >>> from cobra.io import load_model + >>> e_coli = load_model('iJO1366') + >>> e_coli.annotation + >>> e_coli.annotation.standardized.delete_annotation('bigg') + >>> e_coli.annotation + >>> e_coli.annotation.annotations + >>> e_coli.metabolites[0].annotation.standardized + >>> e_coli.metabolites[0].annotation.standardized.delete_annotation(r'/bi\S+') + """ + regex_searcher = re.compile(resource) + tmp_cvterm_list = [] + for cvterm in self.data: + cvterm.external_resources.resources = [ + res + for res in cvterm.external_resources.resources + if not regex_searcher.findall(res) + ] + if cvterm.external_resources.nested_data: + cvterm.external_resources.nested_data.delete_annotation(resource) + if ( + cvterm.external_resources.resources + or cvterm.external_resources.nested_data + ): + tmp_cvterm_list.append(cvterm) + self.data = tmp_cvterm_list + + @property + def annotations(self) -> Dict: + """Return CVTermList as annotation dictionary. + + This function will return the CVTermList as a sorted annotation dictionary in + the older annotation format. In the dictionary, the keys are the namespaces, + while the values are lists of annotation identifiers. + + Qualifiers are not present in the annotation dictionary. This function will + use CVTermList.resources(), which will get all resources of all CVTerm objects, + including nested resources. + + Different CVTerms will be unified by namespace. Namespaces and values are + sorted in the dictionary, to avoid shifting caused by usage of sets. + + For example, a CVTermList that looks like + + [ + { + "external_resources": { + "resources": [ + "https://identifiers.org/uniprot/P69906", + "https://identifiers.org/uniprot/P68871", + "https://identifiers.org/kegg.compound/C00032", + ] + }, + "qualifier": "bqb_hasPart", + }, + { + "qualifier": "bqb_hasPart", + "external_resources": { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://www.uniprot.org/uniprot/P68871", + "https://identifiers.org/chebi/CHEBI:17627", + ], + "nested_data": { + "qualifier": "bqb_isDescribedBy", + "external_resources": { + "resources": [ + "https://identifiers.org/eco/000000", + ] + }, + }, + }, + ] + + Will be outputted as a dictionary that looks like + { + "chebi": ["CHEBI:17627"], + "eco": ["000000"], + "kegg.compound": ["C00032"], + "uniprot": ["P68871", "P69905", "P69906"], + } + + Returns + ------- + dict + Dictionary where keys are namespaces, sorted in ascending order. Values + are lists of identifiers, also sorted in ascentding order. + + """ + annotation_dict = {} + resources = self.resources + for res in resources: + if re.match(URL_IDENTIFIERS_PATTERN, res): + namespace, identifier = parse_identifiers_uri(res) + if namespace in annotation_dict.keys(): + annotation_dict[namespace].append(identifier) + else: + annotation_dict[namespace] = [identifier] + return {k: sorted(annotation_dict[k]) for k in sorted(annotation_dict.keys())} + + @property + def resources(self) -> FrozenSet[str]: + """Get all resources. + + Returns: + ------- + FrozenSet: + a set of all external resources in the original self.data list of CVTerms + including external resources of nested data. The Set contains the URIs as + strings, not in the ExternalResources format. + """ + resources = set() + for datum in self.data: + if ( + datum.external_resources.resources + or datum.external_resources.nested_data + ): + resources.update(datum.external_resources.resource_nested) + return frozenset(resources) + + @property + def qualifiers(self) -> FrozenSet[Qualifier]: + """Get all qualifiers used by CVTerm objects in the CVTermList. + + Returns: + ------- + FrozenSet: + a frozen set of all qualifiers in the original self.data list of CVTerms + """ + qualifier_set = set() + for datum in self.data: + qualifier_set.add(datum.qualifier) + return frozenset(qualifier_set) + + def query( + self, + search_function: Union[str, Pattern, Callable], + attribute: Union[str, None] = None, + ) -> "CVTermList": + """Query the CVTermList and return a list of CVTerm objects. + + Parameters + ---------- + search_function : a string, regular expression or function + Used to find the matching elements in the list. + - a regular expression (possibly compiled), in which case the + given attribute of the object should match the regular expression. + - a function which takes one argument and returns True for + desired values + + attribute : string or None + the name attribute of the object to passed as argument to the + `search_function`. If this is None and a regular expression/string is given, + will match the regular expression to both qualifier and resources. + + Returns + ------- + CVTermList + a new list of CVTerm objects which match the query + + Examples + -------- + >>> from cobra.io import load_model + >>> model = load_model('iJO1366') + >>> model.annotation.standardized.query('bqb', 'qualifier') + >>> import re + >>> regex = re.compile('^bqm') + >>> model.annotation.standardized.query(regex, 'qualifier') + """ + + def select_attribute( + x: CVTerm, + ) -> Union[CVTerm, ExternalResources, Qualifier, set]: + if attribute is None: + return x + else: + return getattr(x, attribute) + + try: + # if the search_function is a regular expression + regex_searcher = re.compile(search_function) + + if attribute is None: + attribute = "" + + if attribute == "qualifier": + matches = [ + cvterm + for cvterm in self.data + if regex_searcher.findall(select_attribute(cvterm).name) != [] + ] + elif attribute == "resources": + matches = [ + cvterm + for cvterm in self.data + if any( + regex_searcher.findall(res) for res in select_attribute(cvterm) + ) + ] + elif attribute == "external_resources": + matches = [ + cvterm + for cvterm in self.data + if any( + regex_searcher.findall(res) + for res in select_attribute(cvterm).resources + ) + ] + else: + matches = [ + cvterm + for cvterm in self.data + if regex_searcher.findall(cvterm.qualifier.name) != [] + or any(regex_searcher.findall(res) for res in cvterm.resources) + ] + except TypeError: + matches = [ + cvterm + for cvterm in self.data + if search_function(select_attribute(cvterm)) + ] + + results = self.__class__(matches) + return results + + def __setitem__(self, key: int, value: Union[CVTerm, Dict]) -> None: + """Set item in CVTermList. + + This function will check that it is a valid item, converting it to CVTerm if + necessary (see _check_CVTerm). + + Parameters + ---------- + key: int + value: CVTerm or dict + dict will be converted to CVTerm + """ + UserList.__setitem__(self, key, self._check_CVTerm(value)) + + def append(self, item: Union[CVTerm, Dict]) -> None: + """Append CVTerm to end. + + Parameters + ---------- + item: CVTerm or dict + dict will be converted to CVTerm. + """ + self._check_CVTerm(item) + UserList.append(self, item) + + def extend( + self, iterable: Union["CVTermList", Iterable[Union[CVTerm, Dict]]] + ) -> None: + """Extend data list by appending elements from the iterable. + + Parameters + ---------- + iterable : Iterable + """ + if isinstance(iterable, CVTermList): + self.data.extend(iterable.data) + elif isinstance(iterable, Iterable): + self.data.extend([self._check_CVTerm(i) for i in iterable]) + + def __eq__(self, other: [list, "CVTermList"]) -> bool: + """Compare two CVTermList objects to find out whether they are the same. + + Equality is defined as them having the same data, but not necessarily the same + objects. If the given item is not a CVTermList or list, this function will + return False. + + Parameters + ---------- + other: CVTermList or list + + Returns + ------- + bool: True if the data matches, False otherwise + """ + if isinstance(other, list): + return self.__eq__(CVTermList.from_data(other)) + if not isinstance(other, CVTermList): + return False + if len(self.data) != len(other.data): + return False + for self_i, other_i in zip(self.data, other.data): + if self_i != other_i: + return False + return True + + def _repr_html_(self) -> str: + """Generate CVTermList as HTML. + + Returns + ------- + str + HTML representation of the list of CVTerm resources. + """ + return f"""CVTermList{"

".join([cvterm._repr_html_() + for cvterm in self.data])}""" + + +class ExternalResources: + """Representation of a single set of resources and its nested annotation. + + Each resource in the resources fields is a URI that uniquely identifies both the + resource and the data within the resource. Since a URI is not a URL, it does not + have to map to a physical Web object; it simply needs to identify, uniquely, a + controlled vocabulary term or database object. + These URIs are MIRIAM identifiers, following the format defined in + https://identifiers.org/. + + The format allowed is + https://identifiers.org/[provider_code/]namespace:accession + + The optional parameter provider_code denotes the Provider Code part of the Prefix. + It is trailed by a slash, to separate it from the required namespace, + which is followed by a colon and the accession. + + Example Resources URIs + ---------------------- + https://identifiers.org/pubmed:22140103 + https://identifiers.org/ec-code:1.1.1.1 + + https://identifiers.org/epmc/pubmed:22140103 + https://identifiers.org/expasy/ec-code:1.1.1.1 + + + Parameters + ---------- + resources: list or str + A list of URIs (resources) + nested_data : CVTermList + Nested annotation, in CVTermList format + + Can also be created from dictionary, see ExternalResources.from_dict() + """ + + def __init__( + self, + resources: Optional[Union[List, str]] = None, + nested_data: Optional[Union[Dict, CVTerm, CVTermList]] = None, + ): + """Initialize ExternalResources object. + + Parameters + ---------- + resources: list or str, optional + A list of URIs (resources) or str. Str will be placed in a list if only + one resource is used. + nested_data : dict or CVTerm or CVTermList, optional + Nested annotation, in CVTermList format + + See Also + -------- + ExternalResources.resources() + ExternalResources.nested_data() + """ + self._resources = None + self._nested_data = None + self.resources = resources + if resources: + self.nested_data = nested_data + + @property + def resources(self) -> FrozenSet: + """Get resources of ExternalResources. + + Returns + ------- + frozenset: + The list of URIs in a frozenset. + """ + return frozenset(self._resources) + + @resources.setter + def resources(self, value: Union[List[str], str]) -> None: + """Set resources of ExternalResources. + + Will set the URIs of ExternalResources. + + Parameters + ---------- + value: str or list + Should be list of URIs. If only one string is given, the function + assumes it is one URI, and it is placed in a list. + If None is given, the resources field is set to an empty list. + + Raises + ------ + TypeError + If value is neither list nor str. + """ + if value is None: + value = [] + if isinstance(value, list): + self._resources = value + elif isinstance(value, str): + self._resources = [value] + else: + raise TypeError(f"The resources must be a string or a list: {value}") + + @property + def resource_nested(self) -> FrozenSet: + """Get resources, including resources of nested data. + + This will get resources of the current ExternalResource and all resources + of nested data, if they exist. + + Returns + ------- + FrozenSet: a frozen set of URIs + """ + resources = set() + resources.update(self.resources) + if self.nested_data: + resources.update(self.nested_data.resources) + return frozenset(resources) + + @property + def nested_data(self) -> Optional[CVTermList]: + """Get nested data of ExternalResources. + + Returns + ------- + CVTermList: optional + Will return None if this ExternalResources object has no nested data. + """ + return self._nested_data + + @nested_data.setter + def nested_data(self, value: Optional[Union[Dict, List, CVTerm, CVTermList]]): + """Set nested data of ExternalResources. + + This function will convert the given value to CVTermList as follows + - dict is converted to CVTerm via CVTerm.from_dict() + - list is converted via CVTermList.from_data() + - CVTerm is placed in a list and tranformed to CVTermList + - CVTermList is unchanged + - None will set the nested_data as an empty CVTermList (used for new + ExternalResources objects) + + Parameters + ---------- + value: dict or list or CVTerm or CVTermList, optional + + Raises + ------ + TypeError + If value is neither None, list, CVTerm or CVTermList. + """ + if value is None: + self._nested_data = CVTermList() + elif isinstance(value, CVTerm): + self._nested_data = CVTermList([value]) + elif isinstance(value, CVTermList): + self._nested_data = value + elif isinstance(value, list): + self._nested_data = CVTermList.from_data(value) + elif isinstance(value, dict): + self._nested_data = CVTermList.from_data(CVTerm.from_dict(value)) + else: + raise TypeError( + f"The nested data structure does not have valid CVTerm format: {value}" + ) + + def to_dict(self): + """Generate a dict representing an ExternalResource object. + + Returns + ------- + dict + A dictionary with two keys + "resources" - sorted list of resources. + "nested_data" - optional, dict of nested_data. See CVTermList.to_dict() + """ + ex_dic = {"resources": sorted(self._resources)} + if self.nested_data is not None and len(self.nested_data): + ex_dic["nested_data"] = self.nested_data.to_list_of_dicts() + return ex_dic + + @classmethod + def from_dict(cls, input_data: Dict) -> "ExternalResources": + """Generate ExternalResources object from dict. + + Parameters + ---------- + input_data: dict + Accepts a dictionary as input that has two keys + "resources", optional a list of URIs + "nested_data", optional - nested data. Nested data must be a list, + CVTerm or CVTermList. + + Returns + ------- + ExternalResources + + See Also + -------- + ExternalResources.nested_data + + """ + ex_res = cls( + resources=input_data.get("resources", None), + nested_data=input_data.get("nested_data", None), + ) + return ex_res + + def __eq__(self, other: "ExternalResources") -> bool: + """Compare two ExternalResources object. + + Compare two ExternalResources objects to find out whether + they are same (have same data) or not. + + Returns + ------- + bool + True if resources are equal in both objects, and both objects have the same + nested_data (None or identical CVTerm). False otherwise. + """ + 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 self.nested_data != other.nested_data: + return False + return True + + def __str__(self) -> str: + """Return ExternalResources dictionary as str. + + Returns + ------- + str + String output of to_dict(). + + See Also + -------- + ExternalResources.to_dict() + """ + return str(self.to_dict()) + + def __repr__(self) -> str: + """Generate ExternalResources as str, with class. + + Returns + ------- + str + """ + return ( + f"{self.__class__.__module__}.{self.__class__.__qualname__} " + f"{self.__str__()}" + ) + + def _repr_html_(self) -> str: + """Generate ExternalResources as HTML. + + Returns + ------- + str + HTML representation of the external resource. + """ + html_rep = f""" +

+ Resources{"

".join(self.resources)}

""" + if self.nested_data is not None and len(self.nested_data): + html_rep += f"""Nested Data{self.nested_data}

""" + + html_rep += f""" + Memory address{id(self):#x} +

""" + return html_rep diff --git a/src/cobra/core/metadata/helper.py b/src/cobra/core/metadata/helper.py new file mode 100644 index 000000000..9f1aa7e93 --- /dev/null +++ b/src/cobra/core/metadata/helper.py @@ -0,0 +1,45 @@ +"""Helper functions and properties for dealing with annotation data. + +This is a unification of helper functions from sbml.py and cvterm.py. + +""" +import logging +import re +from typing import Tuple, Union + + +LOGGER = logging.getLogger(__name__) + +__all__ = ["URL_IDENTIFIERS_PATTERN", "parse_identifiers_uri"] + +# the URL pattern to parse namespace and identifier +URL_IDENTIFIERS_PATTERN = re.compile(r"^https?://identifiers.org/(.+?)[:/](.+)") + + +def parse_identifiers_uri(uri: str) -> Union[None, Tuple[str, str]]: + """Parse namespace and term from given identifiers annotation uri. + + Parameters + ---------- + uri : str + uri (identifiers.org url) + + Returns + ------- + (namespace, identifier) if resolvable, None otherwise + """ + match = URL_IDENTIFIERS_PATTERN.match(uri) + if match: + namespace, identifier = match.group(1), match.group(2) + if namespace.isupper(): + identifier = f"{namespace}:{identifier}" + namespace = namespace.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 namespace, identifier diff --git a/src/cobra/core/metadata/history.py b/src/cobra/core/metadata/history.py new file mode 100644 index 000000000..8eb866eb7 --- /dev/null +++ b/src/cobra/core/metadata/history.py @@ -0,0 +1,392 @@ +"""Encodes History and Creator. + +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. +""" +import re +from datetime import datetime +from typing import Dict, Iterable, List, NamedTuple, Optional, Union + + +STRTIME_FORMAT = "%Y-%m-%dT%H:%M:%S%z" + + +class History: + """History object encoding object provenance. + + Parameters + ---------- + creators : list + A list of Creators + created_date : datetime + 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: Optional[List["Creator"]] = None, + created_date: Optional[Union[datetime, str]] = None, + modified_dates: Optional[List[Union[datetime, str]]] = None, + ): + """Initialize the class. + + Parameters + ---------- + creators: list + list of Creator class. Optional, default None. + created_date: datetime + Created date. Optional, default None. + modified_dates: list + Dates when this annotation was modified. List of datetime dates or strings. + Optional, default None. + """ + if modified_dates is None: + modified_dates = [] + if creators is None: + creators = [] + self._creators = [] + self._created_date = None + self._modified_dates = [] + + # use properties to set fields + self.creators = creators + self.created_date = created_date + self.modified_dates = modified_dates + + @property + def creators(self) -> List["Creator"]: + """Get creators for History. + + Returns + ------- + list + A list of Creator objects. + """ + return self._creators + + @creators.setter + def creators(self, values: Iterable[Union[Dict, "Creator"]]) -> None: + """Set creators for History. + + Parameters + ---------- + values: iterable + An iterable of dictionaries and/or Creator objects. + """ + self._creators = [Creator.from_data(v) for v in values] + + @staticmethod + def parse_datetime(value: Optional[Union[str, datetime]]) -> Optional[datetime]: + """Parse datetime into str. + + Parameters + ---------- + value: str or datetime + Optional. If None, the function will return None. + str is converted to datetime. + If given datetime, the format will be validated. + + Returns + ------- + datetime: optional + Returns None if given None. + + Raises + ------ + TypeError + If value is not None, or an instance of str, datetime. + """ + if value is None: + return None + if isinstance(value, datetime): + return value + elif isinstance(value, str): + return History.date_from_str(value) + else: + raise TypeError( + f"Invalid type passed for datetime. " + f"Accepted types are 'str' or 'datetime' objects: {value}" + ) + + @staticmethod + def date_from_str(datetime_str: str) -> datetime: + """Validate if the date format is of type w3cdtf ISO 8601. + + Parameters + ---------- + datetime_str: str + Datetime in string format. + + Returns + ------- + datetime if valid format + + Raises + ------ + ValueError if not valid. + """ + if not isinstance(datetime_str, str): + raise TypeError(f"The date passed must be of type string: {datetime_str}") + + # python 3.6 doesn't allow : (colon) in the utc offset. + try: + datetime_return = datetime.strptime(datetime_str, STRTIME_FORMAT) + return datetime_return + except ValueError as e: + datetime_str = datetime_str.replace("Z", "+0000") + datetime_str = re.sub(r"(\+\d\d):(\d\d)\Z", "\\1\\2", datetime_str) + try: + datetime_return = datetime.strptime(datetime_str, STRTIME_FORMAT) + except ValueError: + raise ValueError(str(e)) + return datetime_return + + @property + def created_date(self) -> Optional[datetime]: + """Get created date for History. + + Returns + ------- + datetime + """ + return self._created_date + + @created_date.setter + def created_date(self, date: Union[str, "datetime"]) -> None: + """Set created date for History. + + Parameters + ---------- + date: str or datetime + """ + self._created_date = self.parse_datetime(date) + + @property + def modified_dates(self) -> List[datetime]: + """Get modified dates. + + Returns + ------- + list + List of datetimes when this annotation was modified, if any exist. + List can be empty. + """ + return self._modified_dates + + @modified_dates.setter + def modified_dates(self, dates: Iterable[Union[str, datetime]]) -> None: + """Set modified dates. + + Parameters + ------- + list + List of datetimes or strings when this annotation was modified. + """ + self._modified_dates = [self.parse_datetime(d) for d in dates] + + @staticmethod + def from_data(data: Union[Dict, "History"]) -> "History": + """Parse history from data. + + Parameters + ---------- + data: dict or History + Dict will be parsed to History object. + + Returns + ------- + History + + Raises + ------ + TypeError + If data is neither dict, History or None. + """ + 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: + """Check if history is empty. + + Returns + ------- + bool + Returns False if at least one history attribute is set, else True. + """ + if self.creators: + return False + if self.created_date: + return False + if self.modified_dates: + return False + return True + + def __eq__(self, other: "History") -> bool: + """Check equality of two history objects. + + A history is equal if all attributes are equal. + If one and only one of self or other is empty will return False. + If both are empty, will return True. + + Returns + ------- + bool - True if equal, False otherwise. + """ + if self.is_empty() and other.is_empty(): + return True + elif (self.is_empty() and not other.is_empty()) or ( + not self.is_empty() and other.is_empty() + ): + return False + # check equality of creators + if len(self.creators) != len(other.creators): + return False + for k, creator in enumerate(self.creators): + if creator != other.creators[k]: + return False + + # checking equality of created_date + if self.created_date != other.created_date: + return False + + # checking equality of modified_dates + if len(self.modified_dates) != len(other.modified_dates): + return False + for k, modified_date in enumerate(self.modified_dates): + if modified_date != other.modified_dates[k]: + return False + + return True + + def to_dict(self) -> Dict: + """Return dictionary representation of History. + + Returns + ------- + dict - Dictionary representation, of this format + { + "creators": list[dict] + "created_date": str + "modified_dates": list[str] + } + """ + return { + "creators": [c.to_dict() for c in self.creators], + "created_date": self.created_date and self.created_date.isoformat(), + "modified_dates": [ + mod_date.isoformat() for mod_date in self._modified_dates + ], + } + + def __str__(self) -> str: + """Return a string representation. + + Returns + ------- + str + History in a flattened dictionary. + """ + return str(self.to_dict()) + + def __repr__(self): + """Return a string with module and class name. + + Returns + ------- + str + History in a string, with module and class name. + """ + return ( + f"{self.__class__.__module__}.{self.__class__.__qualname__}" + f"({self.creators}, {self.created_date}, {self.modified_dates})" + ) + + +class Creator(NamedTuple): + """Metadata for person who created an object. + + Parameters + ---------- + given_name: str + Optional. Default None. + family_name: str + Optional. Default None. + email: str + Optional. Default None. + organisation: str + Optional. Default None. + """ + + given_name: Optional[str] = None + family_name: Optional[str] = None + email: Optional[str] = None + organisation: Optional[str] = None + + @staticmethod + def from_data(data: Union[Dict, "Creator"]) -> "Creator": + """Parse creator from data. + + Parameters + ---------- + data: dict or Creator + Dictionary will be converted to Creator class. + + Returns + ------- + Creator - the creator in the Creator class + """ + 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 to_dict(self) -> Dict: + """Convert Creator to dictionary. + + Returns + ------- + dict in this format + { + "given_name": str, + "family_name": str, + "email": str, + "organisation": str, + } + """ + return dict(self._asdict()) + + def __str__(self) -> str: + """Return string representation of Creator. + + Returns + ------- + str + String version of flattened dictionary. + """ + return str(self.to_dict()) + + def __repr__(self): + """Return the Creator with module, class, and internal fields. + + Returns + ------- + str + """ + return ( + f"{self.__class__.__module__}.{self.__class__.__qualname__}" + f"('{self.given_name}', '{self.family_name}', '{self.email}', " + f"'{self.organisation}')" + ) diff --git a/src/cobra/core/metadata/metadata.py b/src/cobra/core/metadata/metadata.py new file mode 100644 index 000000000..463139b6a --- /dev/null +++ b/src/cobra/core/metadata/metadata.py @@ -0,0 +1,483 @@ +"""Define the cobra MetaData class.""" + +from collections import OrderedDict +from collections.abc import MutableMapping +from datetime import datetime +from typing import Dict, Iterable, Iterator, List, Optional, Union + +from ..metadata.custompairs import KeyValuePairs +from ..metadata.cvterm import CVTerm, CVTermList +from ..metadata.history import Creator, History + + +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 four components: + - standardized: storing resource:identifier annotation information in a CVTermList + object. The annotation information is exposed via the dict interface for + full backwards compatibility to the earlier object.annotation field. See + CVTermList.annotations() and MetaData.annotations() + - sbo - a single SBO term for the object. Can theoretically be placed in + standardized, but the most descriptive term should be kept in sbo. Right now, + cobrapy doesn't allow multiple sbo terms. + - History: storing the object history consisting of creators, created date, and + modified dates. + - custompairs (KeyValuePairs), a list of key-value pairs to + store additional information + + Parameters + ---------- + cvterms : dict or CVTermList object + The standardized store annotations to external resources + history : dict, History + The history stores information about the creator, + created and modified dates. + sbo: str + The sbo term to use for the entity. If you want to use more than one SBO term + (not recommended), use SBO in identifers.org format and put it in standardized. + 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, CVTermList] = None, + history: Union[Dict, History] = None, + sbo: str = "", + keyvaluepairs: List = None, + ): + """Initialize the MetaData class. + + Parameters + --------- + cvterms : dict or CVTermList, optional + Which controlled vocabulary terms does the metadata have. Default None. + history: dict or History, optional + History of annotation, including creation data, creators, and optional + modificiation date. Default None. + sbo: str + SBO term, if relevant. Default "". + keyvaluepairs: KeyValuePairs + For annotations that don't match the identifiers.org format. + + """ + self._standardized = CVTermList.from_data(cvterms) + self._history = History.from_data(history) + self._custompairs = KeyValuePairs(keyvaluepairs) + self._sbo = sbo + + # use setters + self.sbo = sbo + self.standardized = cvterms + self.history = history + self.custompairs = keyvaluepairs + + @property + def standardized(self) -> "CVTermList": + """Get standardized field of MetaData. + + Returns + ------- + CVTermList + """ + return self._standardized + + @standardized.setter + def standardized(self, cvterms: Union[Dict, CVTermList]) -> None: + """Set standardized field of MetaData with controlled vocabulary (CVTerm). + + Parameters + ---------- + cvterms: dict or CVTermList + dict is converted to CVTermList using CVTermList.from_data(). + The wrong type will lead to a TypeError being raised. + """ + self._standardized = CVTermList.from_data(cvterms) + + def add_cvterms(self, cvterms: Iterable[Union[Dict, CVTerm]]) -> None: + """Add one or more CVTerm objects to the standardized field. + + This method will add CVTerm objects to the standardized field. + + Parameters + ---------- + cvterms: Iterable + An iterable of CVTerm objects or CVTerm dict compatible objects. + CVTermList is an acceptable Iterable in this case. + + See Also + -------- + CVTermList.add_cvterms() + """ + self._standardized.add_cvterms(cvterms) + + @property + def annotations(self) -> Dict: + """Backwards compatible annotations.""" + anno_dict = self.standardized.annotations + if self.sbo: + anno_dict["sbo"] = self.sbo + return anno_dict + + @property + def history(self) -> History: + """Get history of the object. + + Returns + ------- + History + """ + return self._history + + @history.setter + def history(self, history: Optional[Union[Dict, History]]) -> None: + """Set history of the object. + + Parameters + ---------- + history: History or dict or None + If None is given, will set the History to be empty. + Dict is converted via History.from_data() + """ + self._history = History.from_data(history) + + def add_creators(self, creators: Iterable[Union[Creator, dict]]) -> None: + """Add one or more creators to the object history. + + The creators will be parsed and need to be a Creator object or a dictionary + in the correct format. + + Parameters + ---------- + creators: Iterable of dict or Creator + An iterable of dicts or Creator objects. + + See Also + -------- + Creator.from_data() + """ + self.history.creators.extend( + [Creator.from_data(creator) for creator in creators] + ) + + def add_modification_dates( + self, dates: Union[datetime, str, Iterable[Union[datetime, str]]] + ) -> None: + """Add modification dates to the object history. + + The dates will be parsed and need to be string in the acceptable format or + datetime. + + Parameters + ---------- + dates: Iterable or str or datetime + An iterable of strings or datetime objects, or one str or one datetime. + + See Also + -------- + History.parse_datetime() + """ + if isinstance(dates, (str, datetime)): + dates = [dates] + self.history.modified_dates.extend([History.parse_datetime(d) for d in dates]) + + @property + def sbo(self) -> str: + """Return the SBO term of the MetaData. + + Returns + ------- + str: SBO as string + """ + return self._sbo + + @sbo.setter + def sbo(self, value: str) -> None: + """Set the SBO term.""" + if isinstance(value, list): + value = value[0] + self._sbo = value + + @property + def keyvaluepairs(self) -> KeyValuePairs: + return self._custompairs + + @keyvaluepairs.setter + def keyvaluepairs(self, keyvaluepairs: Union[Dict, KeyValuePairs]) -> None: + self._custompairs = KeyValuePairs(keyvaluepairs) + + def __setitem__(self, key: str, value: Union[List, str]) -> None: + """Set the item for accessing metadata as dict (the old style annotation). + + Parameters + ---------- + key: str + provider key word. + value: List or str + A str that is one term or a list that will contain multiple terms + + This function will first delete the existing value for the key, and then set + it to the new value. Be careful - if you give this function incorrect input, + the deletion will happen anyway, and the value of the key will be empty! + + If the key is sbo, sets the self.sbo term to the first item in the list. The + rest of the items in the list are ignored. + Cobrapy support for multiple SBO terms is not implemented yet. + + See Also + -------- + `CVTermList().add_simple_annotations()` + """ + if key == "sbo": + if isinstance(value, list): + value = value[0] + self.sbo = value + else: + self.__delitem__(key) + self._standardized.add_simple_annotations(dict({key: value})) + + def __getitem__(self, key: str) -> List: + """Get item using old annotation type dictionary. + + If the key is sbo, will return the sbo field directly. + Otherwise, will query the annotations (old style) dictionary. + + Note, that __setitem__, __getitem__ and __delitem__ will ignore custompairs. If + you want to edit that field, use relevant functions for it. + + Parameters + ---------- + key: str + provider key word. + + Returns + ------- + list + """ + if key == "sbo": + return [self.sbo] + else: + return self.annotations[key] + + def __delitem__(self, key: str) -> None: + """Delete item using old annotation type dictionary as reference. + + If the key is sbo, will zero out the sbo field directly to an empty string. + Otherwise, will delete from the annotations (old style) dictionary, using + the value as a pattern to search in CVTermList resources. + See `CVTermList.delete_simple_annotation()` + + Parameters + ---------- + key: str + provider key word. + + Note, that __setitem__, __getitem__ and __delitem__ will ignore custompairs. If + you want to edit that field, use relevant functions for it. + """ + if key == "sbo": + self.sbo = "" + else: + self._standardized.delete_annotation(key) + + def __eq__(self, other: Union["MetaData", Dict]) -> bool: + """Compare two MetaData objects to find out whether they are the same. + + If given a dict, the dictionary is converted to MetaData and then compared. + + Equality is defined in two ways, depending if history and custompairs exist. + 1) If history or custompairs exist and are not empty/None, the two objects are + equal (the function will return True) if + - standardized (CVTermList) are equal + - all attributes of the history (History) are equal + - custompairs are identical + If one of these three conditions is not true, the function will return False. + 2) If only standardized exist, while history and custompairs are empty + (history.is_empty() is True and custompairs is None) for both objects, + then the annotations field (CVTermList.annotations()) is compared as two + dictionaries. + + Parameters + ---------- + other: MetaData or dict + + Returns + ------- + bool: True if equal, False otherwise. + """ + if isinstance(other, dict): + return self == MetaData.from_dict(other) + if ( + self.standardized + and self.history.is_empty() + and not self.custompairs + and other.standardized + and other.history.is_empty() + and not other.custompairs + ): + return self.annotations == other.annotations + + return ( + (self.standardized == other.standardized) + and (self.history == other.history) + and (self.custompairs == other.custompairs) + ) + + def __ne__(self, other) -> bool: + """Define not-equal to override default. + + Parameters + ---------- + other: MetaData or dict + + Returns + ------- + bool: False if equal, True otherwise. + + See Also + -------- + MetaData.__eq__() + """ + return not self.__eq__(other) + + def __iter__(self) -> Iterator: + """Iterate over the MetaData annotations dict. + + This function will iterate over the annotations (old-style) dictionary. + + Returns + ------- + Iterator + """ + return iter(self.annotations) + + def __len__(self) -> int: + """Return the length of the MetaData annotations dict. + + The length of the annotations dict will be returned as a int. + + Returns + ------- + int + result of running len on the annotations dict + """ + return len(self.annotations) + + def __str__(self) -> str: + """Return the MetaData as str. + + The annotations dict will be returned as a string. This does not include all + of the possible MetaData fields. + + Returns + ------- + str + """ + return str(dict(self.annotations)) + + def __repr__(self) -> str: + """Return the MetaData as str with module, class, and code to recreate it. + + If MetaData has standardized, history or custompairs, the dictionary will + contain them as keys. + If not, the dictionary will have only the annotations dictionary. + In either case, if sbo field is set, it will be outputted in the dictionary. + + Returns + ------- + str + + See Also + -------- + MetaData.from_dict() + """ + repr_str = ( + f"{self.__class__.__module__}.{self.__class__.__qualname__}.from_dict(" + ) + cvterms = self.standardized + history = self.history + keyValuepairs = self.keyvaluepairs + + if cvterms or not history.is_empty() or keyValuepairs: + repr_str += ( + f"'standardized': {self.standardized.to_list_of_dicts()}," + f"'history': {self.history.to_dict()}," + f"'custompairs': {self.custompairs}," + ) + if self.sbo: + repr_str += f"'sbo': {self.sbo})" + else: + anno_dict = self.annotations + if self.sbo: + anno_dict.update({"sbo": self.sbo}) + repr_str += f"{anno_dict})" + return repr_str + + def to_dict(self) -> Dict: + """Create string dictionary for serialization. + + Returns + ------- + dict + """ + d = OrderedDict() + if self.sbo: + # set first SBO term as sbo + d["sbo"] = self.sbo + + if self.standardized: + d["standardized"] = self.standardized.to_list_of_dicts() + + if self.history and not self.history.is_empty(): + d["history"] = self.history.to_dict() + + if self.keyvaluepairs: + d["custompairs"] = self.keyvaluepairs.to_dict() + + return d + + @staticmethod + def from_dict(data: Dict) -> "MetaData": + """Generate MetaData from dictionary. + + This function has two options + 1) If the dictionary has standardized, history, or custompairs, it uses + the relevant fields to create MetaData. + 2) If the dictionary has none of the above fields, it creates an empty + MetaData object, and then fills it using CVTermList.add_simple_annotation() + where the keys are namespaces and the values are identifiers. + In this case, all qualifiers will be "bqb_is". + + In either case, if "sbo" is present as one of the keys, this will fill the sbo + field of the MetaData using the value of "sbo" key. + + Parameters + ---------- + data: dict + Dictionary to transform into MetaData. + + Returns + ------- + MetaData + """ + cvterms = data.get("standardized", None) + history = data.get("history", None) + keyValuepairs = data.get("custompairs", None) + + if cvterms or history or keyValuepairs: + annotation = MetaData(cvterms, history, keyValuepairs) + else: + annotation = MetaData() + annotation.standardized.add_simple_annotations(data) + + if "sbo" in data: + annotation["sbo"] = data["sbo"] + + return annotation diff --git a/src/cobra/core/model.py b/src/cobra/core/model.py index 5abf5acaf..e332c44c5 100644 --- a/src/cobra/core/model.py +++ b/src/cobra/core/model.py @@ -324,7 +324,7 @@ def copy(self): "reactions", "genes", "notes", - "annotation", + "_annotation", "groups", } for attr in self.__dict__: @@ -334,13 +334,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 metabolite.__dict__.items(): 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() @@ -352,16 +353,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 reaction.__dict__.items(): 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 reaction._metabolites.items(): @@ -371,7 +374,7 @@ def copy(self): new_reaction.update_genes_from_gpr() 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: @@ -380,6 +383,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) @@ -393,7 +397,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 78d092d05..fb75c2777 100644 --- a/src/cobra/core/object.py +++ b/src/cobra/core/object.py @@ -2,6 +2,8 @@ from typing import Optional +from cobra.core.metadata import MetaData + class Object: """Defines common behavior of object in cobra.core.""" @@ -23,7 +25,7 @@ def __init__(self, id: Optional[str] = None, name: str = "") -> None: self.name = name self.notes = {} - self._annotation = {} + self._annotation = MetaData() @property def id(self) -> str: @@ -70,7 +72,7 @@ def _set_id_with_model(self, value) -> None: self._id = value @property - def annotation(self) -> dict: + def annotation(self) -> MetaData: """Get annotation dictionary. Returns @@ -93,10 +95,15 @@ def annotation(self, annotation): ------ TypeError if annotation not a dict. """ - if not isinstance(annotation, dict): - raise TypeError("Annotation must be a dict") - else: + if isinstance(annotation, MetaData): self._annotation = annotation + elif isinstance(annotation, dict): + self._annotation = MetaData().from_dict(annotation) + else: + raise TypeError( + f"The data passed for annotation must be inside " + f"a dictionary or MetaData: {annotation}" + ) def __getstate__(self) -> dict: """Get state of annotation. diff --git a/src/cobra/data/mini.json b/src/cobra/data/mini.json index df70c0a4f..35421b87d 100644 --- a/src/cobra/data/mini.json +++ b/src/cobra/data/mini.json @@ -5,1120 +5,1195 @@ }, "genes": [ { - "id": "b0755", + "id": "G_b0755", "name": "gpmA" }, { - "id": "b0875", + "id": "G_b0875", "name": "aqpZ" }, { - "id": "b1101", + "id": "G_b1101", "name": "ptsG" }, { - "id": "b1380", + "id": "G_b1380", "name": "ldhA" }, { - "id": "b1621", + "id": "G_b1621", "name": "malX" }, { "annotation": { - "ncbiprotein": [ - "1208453", - "1652654" - ] + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/ncbiprotein/1208453", + "http://identifiers.org/ncbiprotein/1652654" + ] + } + ] + } }, - "id": "b1676", + "id": "G_b1676", "name": "pykF" }, { - "id": "b1723", + "id": "G_b1723", "name": "pfkB" }, { - "id": "b1773", + "id": "G_b1773", "name": "ydjI" }, { - "id": "b1779", + "id": "G_b1779", "name": "gapA" }, { - "id": "b1817", + "id": "G_b1817", "name": "manX" }, { - "id": "b1818", + "id": "G_b1818", "name": "manY" }, { - "id": "b1819", + "id": "G_b1819", "name": "manZ" }, { - "id": "b1854", + "id": "G_b1854", "name": "pykA" }, { - "id": "b2097", + "id": "G_b2097", "name": "fbaB" }, { - "id": "b2133", + "id": "G_b2133", "name": "dld" }, { - "id": "b2415", + "id": "G_b2415", "name": "ptsH" }, { - "id": "b2416", + "id": "G_b2416", "name": "ptsI" }, { - "id": "b2417", + "id": "G_b2417", "name": "crr" }, { "annotation": { - "ncbiprotein": "1653839" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/ncbiprotein/1653839" + ] + } + ] + } }, - "id": "b2779", + "id": "G_b2779", "name": "eno" }, { - "id": "b2925", + "id": "G_b2925", "name": "fbaA" }, { "annotation": { - "ncbiprotein": "1653609" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/ncbiprotein/1653609" + ] + } + ] + } }, - "id": "b2926", + "id": "G_b2926", "name": "pgk" }, { - "id": "b2987", + "id": "G_b2987", "name": "pitB" }, { - "id": "b3493", + "id": "G_b3493", "name": "pitA" }, { - "id": "b3612", + "id": "G_b3612", "name": "gpmM" }, { "annotation": { - "ncbiprotein": [ - "1006614", - "1651919" - ] + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/ncbiprotein/1006614", + "http://identifiers.org/ncbiprotein/1651919" + ] + } + ] + } }, - "id": "b3916", + "id": "G_b3916", "name": "pfkA" }, { - "id": "b3919", + "id": "G_b3919", "name": "tpiA" }, { "annotation": { - "ncbiprotein": "1653253" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/ncbiprotein/1653253" + ] + } + ] + } }, - "id": "b4025", + "id": "G_b4025", "name": "pgi" }, { - "id": "b4395", + "id": "G_b4395", "name": "ytjC" }, { - "id": "s0001", + "id": "G_s0001", "name": "G_s0001" } ], + "groups": [], "id": "mini_textbook", "metabolites": [ { "annotation": { - "bigg.metabolite": "13dpg", - "biocyc": "DPG", - "chebi": [ - "CHEBI:16001", - "CHEBI:1658", - "CHEBI:20189", - "CHEBI:57604", - "CHEBI:11881" - ], - "hmdb": "HMDB01270", - "kegg.compound": "C00236", - "pubchem.substance": "3535", - "reactome": "REACT_29800", - "seed.compound": "cpd00203", - "unipathway.compound": "UPC00236" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/13dpg", + "http://identifiers.org/biocyc/DPG", + "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/chebi/CHEBI:11881", + "http://identifiers.org/hmdb/HMDB01270", + "http://identifiers.org/kegg.compound/C00236", + "http://identifiers.org/pubchem.substance/3535", + "http://identifiers.org/reactome/REACT_29800", + "http://identifiers.org/seed.compound/cpd00203", + "http://identifiers.org/unipathway.compound/UPC00236" + ] + } + ] + } }, "charge": -4, "compartment": "c", "formula": "C3H4O10P2", - "id": "13dpg_c", + "id": "M_13dpg_c", "name": "3-Phospho-D-glyceroyl phosphate" }, { "annotation": { - "bigg.metabolite": "2pg", - "biocyc": "2-PG", - "chebi": [ - "CHEBI:1267", - "CHEBI:58289", - "CHEBI:17835", - "CHEBI:21028", - "CHEBI:11651", - "CHEBI:12986", - "CHEBI:24344", - "CHEBI:39868" - ], - "hmdb": [ - "HMDB03391", - "HMDB00362" - ], - "kegg.compound": "C00631", - "pubchem.substance": "3904", - "reactome": "REACT_30485", - "seed.compound": "cpd00482", - "unipathway.compound": "UPC00631" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/2pg", + "http://identifiers.org/biocyc/2-PG", + "http://identifiers.org/chebi/CHEBI:1267", + "http://identifiers.org/chebi/CHEBI:58289", + "http://identifiers.org/chebi/CHEBI:17835", + "http://identifiers.org/chebi/CHEBI:21028", + "http://identifiers.org/chebi/CHEBI:11651", + "http://identifiers.org/chebi/CHEBI:12986", + "http://identifiers.org/chebi/CHEBI:24344", + "http://identifiers.org/chebi/CHEBI:39868", + "http://identifiers.org/hmdb/HMDB03391", + "http://identifiers.org/hmdb/HMDB00362", + "http://identifiers.org/kegg.compound/C00631", + "http://identifiers.org/pubchem.substance/3904", + "http://identifiers.org/reactome/REACT_30485", + "http://identifiers.org/seed.compound/cpd00482", + "http://identifiers.org/unipathway.compound/UPC00631" + ] + } + ] + } }, "charge": -3, "compartment": "c", "formula": "C3H4O7P", - "id": "2pg_c", + "id": "M_2pg_c", "name": "D-Glycerate 2-phosphate" }, { "annotation": { - "bigg.metabolite": "3pg", - "biocyc": "G3P", - "chebi": [ - "CHEBI:40016", - "CHEBI:58272", - "CHEBI:57998", - "CHEBI:11879", - "CHEBI:1657", - "CHEBI:1659", - "CHEBI:17050", - "CHEBI:21029", - "CHEBI:11882", - "CHEBI:11880", - "CHEBI:12987", - "CHEBI:17794", - "CHEBI:24345" - ], - "hmdb": "HMDB00807", - "kegg.compound": [ - "C00197", - "C00597" - ], - "pubchem.substance": "3497", - "reactome": "REACT_29728", - "seed.compound": "cpd00169", - "unipathway.compound": [ - "UPC00597", - "UPC00197" - ] + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/3pg", + "http://identifiers.org/biocyc/G3P", + "http://identifiers.org/chebi/CHEBI:40016", + "http://identifiers.org/chebi/CHEBI:58272", + "http://identifiers.org/chebi/CHEBI:57998", + "http://identifiers.org/chebi/CHEBI:11879", + "http://identifiers.org/chebi/CHEBI:1657", + "http://identifiers.org/chebi/CHEBI:1659", + "http://identifiers.org/chebi/CHEBI:17050", + "http://identifiers.org/chebi/CHEBI:21029", + "http://identifiers.org/chebi/CHEBI:11882", + "http://identifiers.org/chebi/CHEBI:11880", + "http://identifiers.org/chebi/CHEBI:12987", + "http://identifiers.org/chebi/CHEBI:17794", + "http://identifiers.org/chebi/CHEBI:24345", + "http://identifiers.org/hmdb/HMDB00807", + "http://identifiers.org/kegg.compound/C00197", + "http://identifiers.org/kegg.compound/C00597", + "http://identifiers.org/pubchem.substance/3497", + "http://identifiers.org/reactome/REACT_29728", + "http://identifiers.org/seed.compound/cpd00169", + "http://identifiers.org/unipathway.compound/UPC00597", + "http://identifiers.org/unipathway.compound/UPC00197" + ] + } + ] + } }, "charge": -3, "compartment": "c", "formula": "C3H4O7P", - "id": "3pg_c", + "id": "M_3pg_c", "name": "3-Phospho-D-glycerate" }, { "annotation": { - "bigg.metabolite": "adp", - "biocyc": [ - "ADP", - "ADP-GROUP" - ], - "cas": [ - "58-64-0" - ], - "chebi": [ - "CHEBI:13222", - "CHEBI:16761", - "CHEBI:2342", - "CHEBI:22244", - "CHEBI:40553", - "CHEBI:456216" - ], - "hmdb": "HMDB01341", - "kegg.compound": "C00008", - "kegg.glycan": "G11113", - "pubchem.substance": "3310", - "reactome": [ - "REACT_190072", - "REACT_481002", - "REACT_211606", - "REACT_429160", - "REACT_29370", - "REACT_196180", - "REACT_113581", - "REACT_113582", - "REACT_114564", - "REACT_114565", - "REACT_429153" - ], - "seed.compound": "cpd00008", - "unipathway.compound": "UPC00008" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/adp", + "http://identifiers.org/biocyc/ADP", + "http://identifiers.org/biocyc/ADP-GROUP", + "http://identifiers.org/cas/58-64-0", + "http://identifiers.org/cas/58-64-0", + "http://identifiers.org/chebi/CHEBI:13222", + "http://identifiers.org/chebi/CHEBI:16761", + "http://identifiers.org/chebi/CHEBI:2342", + "http://identifiers.org/chebi/CHEBI:22244", + "http://identifiers.org/chebi/CHEBI:40553", + "http://identifiers.org/chebi/CHEBI:456216", + "http://identifiers.org/hmdb/HMDB01341", + "http://identifiers.org/kegg.compound/C00008", + "http://identifiers.org/kegg.glycan/G11113", + "http://identifiers.org/pubchem.substance/3310", + "http://identifiers.org/reactome/REACT_190072", + "http://identifiers.org/reactome/REACT_481002", + "http://identifiers.org/reactome/REACT_211606", + "http://identifiers.org/reactome/REACT_429160", + "http://identifiers.org/reactome/REACT_29370", + "http://identifiers.org/reactome/REACT_196180", + "http://identifiers.org/reactome/REACT_113581", + "http://identifiers.org/reactome/REACT_113582", + "http://identifiers.org/reactome/REACT_114564", + "http://identifiers.org/reactome/REACT_114565", + "http://identifiers.org/reactome/REACT_429153", + "http://identifiers.org/seed.compound/cpd00008", + "http://identifiers.org/unipathway.compound/UPC00008" + ] + } + ] + } }, "charge": -3, "compartment": "c", "formula": "C10H12N5O10P2", - "id": "adp_c", + "id": "M_adp_c", "name": "ADP" }, { "annotation": { - "bigg.metabolite": "atp", - "biocyc": "ATP", - "cas": [ - "56-65-5" - ], - "chebi": [ - "CHEBI:40938", - "CHEBI:15422", - "CHEBI:57299", - "CHEBI:13236", - "CHEBI:10789", - "CHEBI:30616", - "CHEBI:22249", - "CHEBI:10841", - "CHEBI:2359" - ], - "hmdb": "HMDB00538", - "kegg.compound": "C00002", - "kegg.drug": "D08646", - "pubchem.substance": "3304", - "reactome": [ - "REACT_190078", - "REACT_113592", - "REACT_113593", - "REACT_114570", - "REACT_29358", - "REACT_389573", - "REACT_139836", - "REACT_211579" - ], - "seed.compound": "cpd00002", - "unipathway.compound": "UPC00002" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/atp", + "http://identifiers.org/biocyc/ATP", + "http://identifiers.org/cas/56-65-5", + "http://identifiers.org/cas/56-65-5", + "http://identifiers.org/chebi/CHEBI:40938", + "http://identifiers.org/chebi/CHEBI:15422", + "http://identifiers.org/chebi/CHEBI:57299", + "http://identifiers.org/chebi/CHEBI:13236", + "http://identifiers.org/chebi/CHEBI:10789", + "http://identifiers.org/chebi/CHEBI:30616", + "http://identifiers.org/chebi/CHEBI:22249", + "http://identifiers.org/chebi/CHEBI:10841", + "http://identifiers.org/chebi/CHEBI:2359", + "http://identifiers.org/hmdb/HMDB00538", + "http://identifiers.org/kegg.compound/C00002", + "http://identifiers.org/kegg.drug/D08646", + "http://identifiers.org/pubchem.substance/3304", + "http://identifiers.org/reactome/REACT_190078", + "http://identifiers.org/reactome/REACT_113592", + "http://identifiers.org/reactome/REACT_113593", + "http://identifiers.org/reactome/REACT_114570", + "http://identifiers.org/reactome/REACT_29358", + "http://identifiers.org/reactome/REACT_389573", + "http://identifiers.org/reactome/REACT_139836", + "http://identifiers.org/reactome/REACT_211579", + "http://identifiers.org/seed.compound/cpd00002", + "http://identifiers.org/unipathway.compound/UPC00002" + ] + } + ] + } }, "charge": -4, "compartment": "c", "formula": "C10H12N5O13P3", - "id": "atp_c", + "id": "M_atp_c", "name": "ATP" }, { "annotation": { - "bigg.metabolite": "dhap", - "biocyc": "DIHYDROXY-ACETONE-PHOSPHATE", - "cas": [ - "57-04-5" - ], - "chebi": [ - "CHEBI:14341", - "CHEBI:57642", - "CHEBI:14342", - "CHEBI:16108", - "CHEBI:5454", - "CHEBI:24355", - "CHEBI:39571" - ], - "hmdb": [ - "HMDB01473", - "HMDB11735" - ], - "kegg.compound": "C00111", - "pubchem.substance": "3411", - "reactome": [ - "REACT_188451", - "REACT_75970", - "REACT_390404" - ], - "seed.compound": "cpd00095", - "unipathway.compound": "UPC00111" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/dhap", + "http://identifiers.org/biocyc/DIHYDROXY-ACETONE-PHOSPHATE", + "http://identifiers.org/cas/57-04-5", + "http://identifiers.org/cas/57-04-5", + "http://identifiers.org/chebi/CHEBI:14341", + "http://identifiers.org/chebi/CHEBI:57642", + "http://identifiers.org/chebi/CHEBI:14342", + "http://identifiers.org/chebi/CHEBI:16108", + "http://identifiers.org/chebi/CHEBI:5454", + "http://identifiers.org/chebi/CHEBI:24355", + "http://identifiers.org/chebi/CHEBI:39571", + "http://identifiers.org/hmdb/HMDB01473", + "http://identifiers.org/hmdb/HMDB11735", + "http://identifiers.org/kegg.compound/C00111", + "http://identifiers.org/pubchem.substance/3411", + "http://identifiers.org/reactome/REACT_188451", + "http://identifiers.org/reactome/REACT_75970", + "http://identifiers.org/reactome/REACT_390404", + "http://identifiers.org/seed.compound/cpd00095", + "http://identifiers.org/unipathway.compound/UPC00111" + ] + } + ] + } }, "charge": -2, "compartment": "c", "formula": "C3H5O6P", - "id": "dhap_c", + "id": "M_dhap_c", "name": "Dihydroxyacetone phosphate" }, { "annotation": { - "bigg.metabolite": "f6p", - "biocyc": "FRUCTOSE-6P", - "cas": [ - "643-13-0" - ], - "chebi": [ - "CHEBI:57634", - "CHEBI:12352", - "CHEBI:45804", - "CHEBI:61527", - "CHEBI:61553", - "CHEBI:10375", - "CHEBI:16084", - "CHEBI:42378", - "CHEBI:22768" - ], - "hmdb": "HMDB03971", - "kegg.compound": [ - "C05345", - "C00085" - ], - "pubchem.substance": "3385", - "seed.compound": "cpd00072", - "unipathway.compound": [ - "UPC05345", - "UPC00085" - ] + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/f6p", + "http://identifiers.org/biocyc/FRUCTOSE-6P", + "http://identifiers.org/cas/643-13-0", + "http://identifiers.org/cas/643-13-0", + "http://identifiers.org/chebi/CHEBI:57634", + "http://identifiers.org/chebi/CHEBI:12352", + "http://identifiers.org/chebi/CHEBI:45804", + "http://identifiers.org/chebi/CHEBI:61527", + "http://identifiers.org/chebi/CHEBI:61553", + "http://identifiers.org/chebi/CHEBI:10375", + "http://identifiers.org/chebi/CHEBI:16084", + "http://identifiers.org/chebi/CHEBI:42378", + "http://identifiers.org/chebi/CHEBI:22768", + "http://identifiers.org/hmdb/HMDB03971", + "http://identifiers.org/kegg.compound/C05345", + "http://identifiers.org/kegg.compound/C00085", + "http://identifiers.org/pubchem.substance/3385", + "http://identifiers.org/seed.compound/cpd00072", + "http://identifiers.org/unipathway.compound/UPC05345", + "http://identifiers.org/unipathway.compound/UPC00085" + ] + } + ] + } }, "charge": -2, "compartment": "c", "formula": "C6H11O9P", - "id": "f6p_c", + "id": "M_f6p_c", "name": "D-Fructose 6-phosphate" }, { "annotation": { - "bigg.metabolite": "fdp", - "biocyc": "FRUCTOSE-16-DIPHOSPHATE", - "cas": [ - "488-69-7" - ], - "chebi": [ - "CHEBI:32968", - "CHEBI:49299", - "CHEBI:42553", - "CHEBI:32966", - "CHEBI:37736", - "CHEBI:28013", - "CHEBI:32967", - "CHEBI:41014", - "CHEBI:22767", - "CHEBI:10374", - "CHEBI:40595", - "CHEBI:40591" - ], - "kegg.compound": [ - "C05378", - "C00354" - ], - "pubchem.substance": "3647", - "seed.compound": "cpd00290", - "unipathway.compound": "UPC00354" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/fdp", + "http://identifiers.org/biocyc/FRUCTOSE-16-DIPHOSPHATE", + "http://identifiers.org/cas/488-69-7", + "http://identifiers.org/cas/488-69-7", + "http://identifiers.org/chebi/CHEBI:32968", + "http://identifiers.org/chebi/CHEBI:49299", + "http://identifiers.org/chebi/CHEBI:42553", + "http://identifiers.org/chebi/CHEBI:32966", + "http://identifiers.org/chebi/CHEBI:37736", + "http://identifiers.org/chebi/CHEBI:28013", + "http://identifiers.org/chebi/CHEBI:32967", + "http://identifiers.org/chebi/CHEBI:41014", + "http://identifiers.org/chebi/CHEBI:22767", + "http://identifiers.org/chebi/CHEBI:10374", + "http://identifiers.org/chebi/CHEBI:40595", + "http://identifiers.org/chebi/CHEBI:40591", + "http://identifiers.org/kegg.compound/C05378", + "http://identifiers.org/kegg.compound/C00354", + "http://identifiers.org/pubchem.substance/3647", + "http://identifiers.org/seed.compound/cpd00290", + "http://identifiers.org/unipathway.compound/UPC00354" + ] + } + ] + } }, "charge": -4, "compartment": "c", "formula": "C6H10O12P2", - "id": "fdp_c", + "id": "M_fdp_c", "name": "D-Fructose 1,6-bisphosphate" }, { "annotation": { - "bigg.metabolite": "g3p", - "cas": [ - "142-10-9" - ], - "chebi": [ - "CHEBI:17138", - "CHEBI:14333", - "CHEBI:5446", - "CHEBI:58027" - ], - "hmdb": "HMDB01112", - "kegg.compound": [ - "C00661", - "C00118" - ], - "pubchem.substance": "3930", - "seed.compound": "cpd00102", - "unipathway.compound": [ - "UPC00661", - "UPC00118" - ] + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/g3p", + "http://identifiers.org/cas/142-10-9", + "http://identifiers.org/cas/142-10-9", + "http://identifiers.org/chebi/CHEBI:17138", + "http://identifiers.org/chebi/CHEBI:14333", + "http://identifiers.org/chebi/CHEBI:5446", + "http://identifiers.org/chebi/CHEBI:58027", + "http://identifiers.org/hmdb/HMDB01112", + "http://identifiers.org/kegg.compound/C00661", + "http://identifiers.org/kegg.compound/C00118", + "http://identifiers.org/pubchem.substance/3930", + "http://identifiers.org/seed.compound/cpd00102", + "http://identifiers.org/unipathway.compound/UPC00661", + "http://identifiers.org/unipathway.compound/UPC00118" + ] + } + ] + } }, "charge": -2, "compartment": "c", "formula": "C3H5O6P", - "id": "g3p_c", + "id": "M_g3p_c", "name": "Glyceraldehyde 3-phosphate" }, { "annotation": { - "bigg.metabolite": "g6p", - "biocyc": [ - "D-glucose-6-phosphate", - "GLC-6-P" - ], - "cas": [ - "56-73-5" - ], - "chebi": [ - "CHEBI:10399", - "CHEBI:22797", - "CHEBI:41041", - "CHEBI:17719", - "CHEBI:4170", - "CHEBI:61548", - "CHEBI:58247", - "CHEBI:12375" - ], - "hmdb": [ - "HMDB03498", - "HMDB06793", - "HMDB01401", - "HMDB01549" - ], - "kegg.compound": [ - "C00092", - "C01172" - ], - "pubchem.substance": "3392", - "reactome": "REACT_1629756", - "seed.compound": "cpd00079", - "unipathway.compound": "UPC00092" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/g6p", + "http://identifiers.org/biocyc/D-glucose-6-phosphate", + "http://identifiers.org/biocyc/GLC-6-P", + "http://identifiers.org/cas/56-73-5", + "http://identifiers.org/cas/56-73-5", + "http://identifiers.org/chebi/CHEBI:10399", + "http://identifiers.org/chebi/CHEBI:22797", + "http://identifiers.org/chebi/CHEBI:41041", + "http://identifiers.org/chebi/CHEBI:17719", + "http://identifiers.org/chebi/CHEBI:4170", + "http://identifiers.org/chebi/CHEBI:61548", + "http://identifiers.org/chebi/CHEBI:58247", + "http://identifiers.org/chebi/CHEBI:12375", + "http://identifiers.org/hmdb/HMDB03498", + "http://identifiers.org/hmdb/HMDB06793", + "http://identifiers.org/hmdb/HMDB01401", + "http://identifiers.org/hmdb/HMDB01549", + "http://identifiers.org/kegg.compound/C00092", + "http://identifiers.org/kegg.compound/C01172", + "http://identifiers.org/pubchem.substance/3392", + "http://identifiers.org/reactome/REACT_1629756", + "http://identifiers.org/seed.compound/cpd00079", + "http://identifiers.org/unipathway.compound/UPC00092" + ] + } + ] + } }, "charge": -2, "compartment": "c", "formula": "C6H11O9P", - "id": "g6p_c", + "id": "M_g6p_c", "name": "D-Glucose 6-phosphate" }, { "annotation": { - "bigg.metabolite": "glc__D", - "cas": [ - "50-99-7" - ], - "kegg.compound": "C00031", - "pubchem.substance": "3333" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/glc__D", + "http://identifiers.org/cas/50-99-7", + "http://identifiers.org/cas/50-99-7", + "http://identifiers.org/kegg.compound/C00031", + "http://identifiers.org/pubchem.substance/3333" + ] + } + ] + } }, "charge": 0, "compartment": "e", "formula": "C6H12O6", - "id": "glc__D_e", + "id": "M_glc__D_e", "name": "D-Glucose" }, { "annotation": { - "bigg.metabolite": "h2o", - "biocyc": [ - "WATER", - "OH", - "OXONIUM" - ], - "cas": [ - "7732-18-5" - ], - "chebi": [ - "CHEBI:15377", - "CHEBI:13365", - "CHEBI:41979", - "CHEBI:16234", - "CHEBI:36385", - "CHEBI:42857", - "CHEBI:27313", - "CHEBI:44819", - "CHEBI:29373", - "CHEBI:10743", - "CHEBI:5594", - "CHEBI:29356", - "CHEBI:53442", - "CHEBI:29375", - "CHEBI:29374", - "CHEBI:13419", - "CHEBI:43228", - "CHEBI:44292", - "CHEBI:13352", - "CHEBI:41981", - "CHEBI:29412", - "CHEBI:42043", - "CHEBI:33811", - "CHEBI:33813", - "CHEBI:35511", - "CHEBI:5585", - "CHEBI:44641", - "CHEBI:44701" - ], - "hmdb": [ - "HMDB01039", - "HMDB02111" - ], - "kegg.compound": [ - "C01328", - "C00001", - "C18714", - "C18712" - ], - "kegg.drug": [ - "D00001", - "D06322", - "D03703" - ], - "pubchem.substance": "3303", - "reactome": [ - "REACT_947593", - "REACT_189422", - "REACT_141343", - "REACT_113518", - "REACT_1605715", - "REACT_109276", - "REACT_113521", - "REACT_113519", - "REACT_2022884", - "REACT_351603", - "REACT_29356" - ], - "seed.compound": [ - "cpd15275", - "cpd00001" - ], - "unipathway.compound": [ - "UPC00001", - "UPC01328" - ] + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/h2o", + "http://identifiers.org/biocyc/WATER", + "http://identifiers.org/biocyc/OH", + "http://identifiers.org/biocyc/OXONIUM", + "http://identifiers.org/cas/7732-18-5", + "http://identifiers.org/cas/7732-18-5", + "http://identifiers.org/chebi/CHEBI:15377", + "http://identifiers.org/chebi/CHEBI:13365", + "http://identifiers.org/chebi/CHEBI:41979", + "http://identifiers.org/chebi/CHEBI:16234", + "http://identifiers.org/chebi/CHEBI:36385", + "http://identifiers.org/chebi/CHEBI:42857", + "http://identifiers.org/chebi/CHEBI:27313", + "http://identifiers.org/chebi/CHEBI:44819", + "http://identifiers.org/chebi/CHEBI:29373", + "http://identifiers.org/chebi/CHEBI:10743", + "http://identifiers.org/chebi/CHEBI:5594", + "http://identifiers.org/chebi/CHEBI:29356", + "http://identifiers.org/chebi/CHEBI:53442", + "http://identifiers.org/chebi/CHEBI:29375", + "http://identifiers.org/chebi/CHEBI:29374", + "http://identifiers.org/chebi/CHEBI:13419", + "http://identifiers.org/chebi/CHEBI:43228", + "http://identifiers.org/chebi/CHEBI:44292", + "http://identifiers.org/chebi/CHEBI:13352", + "http://identifiers.org/chebi/CHEBI:41981", + "http://identifiers.org/chebi/CHEBI:29412", + "http://identifiers.org/chebi/CHEBI:42043", + "http://identifiers.org/chebi/CHEBI:33811", + "http://identifiers.org/chebi/CHEBI:33813", + "http://identifiers.org/chebi/CHEBI:35511", + "http://identifiers.org/chebi/CHEBI:5585", + "http://identifiers.org/chebi/CHEBI:44641", + "http://identifiers.org/chebi/CHEBI:44701", + "http://identifiers.org/hmdb/HMDB01039", + "http://identifiers.org/hmdb/HMDB02111", + "http://identifiers.org/kegg.compound/C01328", + "http://identifiers.org/kegg.compound/C00001", + "http://identifiers.org/kegg.compound/C18714", + "http://identifiers.org/kegg.compound/C18712", + "http://identifiers.org/kegg.drug/D00001", + "http://identifiers.org/kegg.drug/D06322", + "http://identifiers.org/kegg.drug/D03703", + "http://identifiers.org/pubchem.substance/3303", + "http://identifiers.org/reactome/REACT_947593", + "http://identifiers.org/reactome/REACT_189422", + "http://identifiers.org/reactome/REACT_141343", + "http://identifiers.org/reactome/REACT_113518", + "http://identifiers.org/reactome/REACT_1605715", + "http://identifiers.org/reactome/REACT_109276", + "http://identifiers.org/reactome/REACT_113521", + "http://identifiers.org/reactome/REACT_113519", + "http://identifiers.org/reactome/REACT_2022884", + "http://identifiers.org/reactome/REACT_351603", + "http://identifiers.org/reactome/REACT_29356", + "http://identifiers.org/seed.compound/cpd15275", + "http://identifiers.org/seed.compound/cpd00001", + "http://identifiers.org/unipathway.compound/UPC00001", + "http://identifiers.org/unipathway.compound/UPC01328" + ] + } + ] + } }, "charge": 0, "compartment": "c", "formula": "H2O", - "id": "h2o_c", + "id": "M_h2o_c", "name": "H2O" }, { "annotation": { - "bigg.metabolite": "h2o", - "biocyc": [ - "WATER", - "OH", - "OXONIUM" - ], - "cas": [ - "7732-18-5" - ], - "chebi": [ - "CHEBI:15377", - "CHEBI:13365", - "CHEBI:41979", - "CHEBI:16234", - "CHEBI:36385", - "CHEBI:42857", - "CHEBI:27313", - "CHEBI:44819", - "CHEBI:29373", - "CHEBI:10743", - "CHEBI:5594", - "CHEBI:29356", - "CHEBI:53442", - "CHEBI:29375", - "CHEBI:29374", - "CHEBI:13419", - "CHEBI:43228", - "CHEBI:44292", - "CHEBI:13352", - "CHEBI:41981", - "CHEBI:29412", - "CHEBI:42043", - "CHEBI:33811", - "CHEBI:33813", - "CHEBI:35511", - "CHEBI:5585", - "CHEBI:44641", - "CHEBI:44701" - ], - "hmdb": [ - "HMDB01039", - "HMDB02111" - ], - "kegg.compound": [ - "C01328", - "C00001", - "C18714", - "C18712" - ], - "kegg.drug": [ - "D00001", - "D06322", - "D03703" - ], - "pubchem.substance": "3303", - "reactome": [ - "REACT_947593", - "REACT_189422", - "REACT_141343", - "REACT_113518", - "REACT_1605715", - "REACT_109276", - "REACT_113521", - "REACT_113519", - "REACT_2022884", - "REACT_351603", - "REACT_29356" - ], - "seed.compound": [ - "cpd15275", - "cpd00001" - ], - "unipathway.compound": [ - "UPC00001", - "UPC01328" - ] + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/h2o", + "http://identifiers.org/biocyc/WATER", + "http://identifiers.org/biocyc/OH", + "http://identifiers.org/biocyc/OXONIUM", + "http://identifiers.org/cas/7732-18-5", + "http://identifiers.org/cas/7732-18-5", + "http://identifiers.org/chebi/CHEBI:15377", + "http://identifiers.org/chebi/CHEBI:13365", + "http://identifiers.org/chebi/CHEBI:41979", + "http://identifiers.org/chebi/CHEBI:16234", + "http://identifiers.org/chebi/CHEBI:36385", + "http://identifiers.org/chebi/CHEBI:42857", + "http://identifiers.org/chebi/CHEBI:27313", + "http://identifiers.org/chebi/CHEBI:44819", + "http://identifiers.org/chebi/CHEBI:29373", + "http://identifiers.org/chebi/CHEBI:10743", + "http://identifiers.org/chebi/CHEBI:5594", + "http://identifiers.org/chebi/CHEBI:29356", + "http://identifiers.org/chebi/CHEBI:53442", + "http://identifiers.org/chebi/CHEBI:29375", + "http://identifiers.org/chebi/CHEBI:29374", + "http://identifiers.org/chebi/CHEBI:13419", + "http://identifiers.org/chebi/CHEBI:43228", + "http://identifiers.org/chebi/CHEBI:44292", + "http://identifiers.org/chebi/CHEBI:13352", + "http://identifiers.org/chebi/CHEBI:41981", + "http://identifiers.org/chebi/CHEBI:29412", + "http://identifiers.org/chebi/CHEBI:42043", + "http://identifiers.org/chebi/CHEBI:33811", + "http://identifiers.org/chebi/CHEBI:33813", + "http://identifiers.org/chebi/CHEBI:35511", + "http://identifiers.org/chebi/CHEBI:5585", + "http://identifiers.org/chebi/CHEBI:44641", + "http://identifiers.org/chebi/CHEBI:44701", + "http://identifiers.org/hmdb/HMDB01039", + "http://identifiers.org/hmdb/HMDB02111", + "http://identifiers.org/kegg.compound/C01328", + "http://identifiers.org/kegg.compound/C00001", + "http://identifiers.org/kegg.compound/C18714", + "http://identifiers.org/kegg.compound/C18712", + "http://identifiers.org/kegg.drug/D00001", + "http://identifiers.org/kegg.drug/D06322", + "http://identifiers.org/kegg.drug/D03703", + "http://identifiers.org/pubchem.substance/3303", + "http://identifiers.org/reactome/REACT_947593", + "http://identifiers.org/reactome/REACT_189422", + "http://identifiers.org/reactome/REACT_141343", + "http://identifiers.org/reactome/REACT_113518", + "http://identifiers.org/reactome/REACT_1605715", + "http://identifiers.org/reactome/REACT_109276", + "http://identifiers.org/reactome/REACT_113521", + "http://identifiers.org/reactome/REACT_113519", + "http://identifiers.org/reactome/REACT_2022884", + "http://identifiers.org/reactome/REACT_351603", + "http://identifiers.org/reactome/REACT_29356", + "http://identifiers.org/seed.compound/cpd15275", + "http://identifiers.org/seed.compound/cpd00001", + "http://identifiers.org/unipathway.compound/UPC00001", + "http://identifiers.org/unipathway.compound/UPC01328" + ] + } + ] + } }, "charge": 0, "compartment": "e", "formula": "H2O", - "id": "h2o_e", + "id": "M_h2o_e", "name": "H2O" }, { "annotation": { - "bigg.metabolite": "h", - "biocyc": "PROTON", - "cas": [ - "12408-02-5" - ], - "chebi": [ - "CHEBI:24636", - "CHEBI:15378", - "CHEBI:10744", - "CHEBI:13357", - "CHEBI:5584" - ], - "kegg.compound": "C00080", - "pubchem.substance": "3380", - "reactome": [ - "REACT_194688", - "REACT_425978", - "REACT_193465", - "REACT_374900", - "REACT_74722", - "REACT_425999", - "REACT_428040", - "REACT_163953", - "REACT_372511", - "REACT_2000349", - "REACT_70106", - "REACT_1470067", - "REACT_113529", - "REACT_425969", - "REACT_428548", - "REACT_156540", - "REACT_1614597", - "REACT_351626", - "REACT_427899" - ], - "seed.compound": "cpd00067", - "unipathway.compound": "UPC00080" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/h", + "http://identifiers.org/biocyc/PROTON", + "http://identifiers.org/cas/12408-02-5", + "http://identifiers.org/cas/12408-02-5", + "http://identifiers.org/chebi/CHEBI:24636", + "http://identifiers.org/chebi/CHEBI:15378", + "http://identifiers.org/chebi/CHEBI:10744", + "http://identifiers.org/chebi/CHEBI:13357", + "http://identifiers.org/chebi/CHEBI:5584", + "http://identifiers.org/kegg.compound/C00080", + "http://identifiers.org/pubchem.substance/3380", + "http://identifiers.org/reactome/REACT_194688", + "http://identifiers.org/reactome/REACT_425978", + "http://identifiers.org/reactome/REACT_193465", + "http://identifiers.org/reactome/REACT_374900", + "http://identifiers.org/reactome/REACT_74722", + "http://identifiers.org/reactome/REACT_425999", + "http://identifiers.org/reactome/REACT_428040", + "http://identifiers.org/reactome/REACT_163953", + "http://identifiers.org/reactome/REACT_372511", + "http://identifiers.org/reactome/REACT_2000349", + "http://identifiers.org/reactome/REACT_70106", + "http://identifiers.org/reactome/REACT_1470067", + "http://identifiers.org/reactome/REACT_113529", + "http://identifiers.org/reactome/REACT_425969", + "http://identifiers.org/reactome/REACT_428548", + "http://identifiers.org/reactome/REACT_156540", + "http://identifiers.org/reactome/REACT_1614597", + "http://identifiers.org/reactome/REACT_351626", + "http://identifiers.org/reactome/REACT_427899", + "http://identifiers.org/seed.compound/cpd00067", + "http://identifiers.org/unipathway.compound/UPC00080" + ] + } + ] + } }, "charge": 1, "compartment": "c", "formula": "H", - "id": "h_c", + "id": "M_h_c", "name": "H+" }, { "annotation": { - "bigg.metabolite": "h", - "biocyc": "PROTON", - "cas": [ - "12408-02-5" - ], - "chebi": [ - "CHEBI:24636", - "CHEBI:15378", - "CHEBI:10744", - "CHEBI:13357", - "CHEBI:5584" - ], - "kegg.compound": "C00080", - "pubchem.substance": "3380", - "reactome": [ - "REACT_194688", - "REACT_425978", - "REACT_193465", - "REACT_374900", - "REACT_74722", - "REACT_425999", - "REACT_428040", - "REACT_163953", - "REACT_372511", - "REACT_2000349", - "REACT_70106", - "REACT_1470067", - "REACT_113529", - "REACT_425969", - "REACT_428548", - "REACT_156540", - "REACT_1614597", - "REACT_351626", - "REACT_427899" - ], - "seed.compound": "cpd00067", - "unipathway.compound": "UPC00080" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/h", + "http://identifiers.org/biocyc/PROTON", + "http://identifiers.org/cas/12408-02-5", + "http://identifiers.org/cas/12408-02-5", + "http://identifiers.org/chebi/CHEBI:24636", + "http://identifiers.org/chebi/CHEBI:15378", + "http://identifiers.org/chebi/CHEBI:10744", + "http://identifiers.org/chebi/CHEBI:13357", + "http://identifiers.org/chebi/CHEBI:5584", + "http://identifiers.org/kegg.compound/C00080", + "http://identifiers.org/pubchem.substance/3380", + "http://identifiers.org/reactome/REACT_194688", + "http://identifiers.org/reactome/REACT_425978", + "http://identifiers.org/reactome/REACT_193465", + "http://identifiers.org/reactome/REACT_374900", + "http://identifiers.org/reactome/REACT_74722", + "http://identifiers.org/reactome/REACT_425999", + "http://identifiers.org/reactome/REACT_428040", + "http://identifiers.org/reactome/REACT_163953", + "http://identifiers.org/reactome/REACT_372511", + "http://identifiers.org/reactome/REACT_2000349", + "http://identifiers.org/reactome/REACT_70106", + "http://identifiers.org/reactome/REACT_1470067", + "http://identifiers.org/reactome/REACT_113529", + "http://identifiers.org/reactome/REACT_425969", + "http://identifiers.org/reactome/REACT_428548", + "http://identifiers.org/reactome/REACT_156540", + "http://identifiers.org/reactome/REACT_1614597", + "http://identifiers.org/reactome/REACT_351626", + "http://identifiers.org/reactome/REACT_427899", + "http://identifiers.org/seed.compound/cpd00067", + "http://identifiers.org/unipathway.compound/UPC00080" + ] + } + ] + } }, "charge": 1, "compartment": "e", "formula": "H", - "id": "h_e", + "id": "M_h_e", "name": "H+" }, { "annotation": { - "bigg.metabolite": "lac__D", - "biocyc": "META:D-LACTATE", - "chebi": [ - "CHEBI:11001", - "CHEBI:16004", - "CHEBI:18684", - "CHEBI:341", - "CHEBI:42105", - "CHEBI:42111", - "CHEBI:43701" - ], - "hmdb": [ - "HMDB00171", - "HMDB01311" - ], - "kegg.compound": "C00256", - "metanetx.chemical": "MNXM285", - "seed.compound": "cpd00221" + "standardized": { + "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": -1, "compartment": "c", "formula": "C3H5O3", - "id": "lac__D_c", + "id": "M_lac__D_c", "name": "D-Lactate" }, { "annotation": { - "bigg.metabolite": "lac__D", - "biocyc": "META:D-LACTATE", - "chebi": [ - "CHEBI:11001", - "CHEBI:16004", - "CHEBI:18684", - "CHEBI:341", - "CHEBI:42105", - "CHEBI:42111", - "CHEBI:43701" - ], - "hmdb": [ - "HMDB00171", - "HMDB01311" - ], - "kegg.compound": "C00256", - "metanetx.chemical": "MNXM285", - "seed.compound": "cpd00221" + "standardized": { + "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": -1, "compartment": "e", "formula": "C3H5O3", - "id": "lac__D_e", + "id": "M_lac__D_e", "name": "D-Lactate" }, { "annotation": { - "bigg.metabolite": "nad", - "biocyc": "NAD", - "cas": [ - "53-84-9" - ], - "chebi": [ - "CHEBI:21901", - "CHEBI:7422", - "CHEBI:44214", - "CHEBI:15846", - "CHEBI:13394", - "CHEBI:13393", - "CHEBI:44215", - "CHEBI:13389", - "CHEBI:57540", - "CHEBI:44281" - ], - "hmdb": "HMDB00902", - "kegg.compound": "C00003", - "kegg.drug": "D00002", - "pubchem.substance": "3305", - "reactome": [ - "REACT_192307", - "REACT_29360", - "REACT_427523", - "REACT_194653", - "REACT_113526" - ], - "seed.compound": "cpd00003", - "unipathway.compound": "UPC00003" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/nad", + "http://identifiers.org/biocyc/NAD", + "http://identifiers.org/cas/53-84-9", + "http://identifiers.org/cas/53-84-9", + "http://identifiers.org/chebi/CHEBI:21901", + "http://identifiers.org/chebi/CHEBI:7422", + "http://identifiers.org/chebi/CHEBI:44214", + "http://identifiers.org/chebi/CHEBI:15846", + "http://identifiers.org/chebi/CHEBI:13394", + "http://identifiers.org/chebi/CHEBI:13393", + "http://identifiers.org/chebi/CHEBI:44215", + "http://identifiers.org/chebi/CHEBI:13389", + "http://identifiers.org/chebi/CHEBI:57540", + "http://identifiers.org/chebi/CHEBI:44281", + "http://identifiers.org/hmdb/HMDB00902", + "http://identifiers.org/kegg.compound/C00003", + "http://identifiers.org/kegg.drug/D00002", + "http://identifiers.org/pubchem.substance/3305", + "http://identifiers.org/reactome/REACT_192307", + "http://identifiers.org/reactome/REACT_29360", + "http://identifiers.org/reactome/REACT_427523", + "http://identifiers.org/reactome/REACT_194653", + "http://identifiers.org/reactome/REACT_113526", + "http://identifiers.org/seed.compound/cpd00003", + "http://identifiers.org/unipathway.compound/UPC00003" + ] + } + ] + } }, "charge": -1, "compartment": "c", "formula": "C21H26N7O14P2", - "id": "nad_c", + "id": "M_nad_c", "name": "Nicotinamide adenine dinucleotide" }, { "annotation": { - "bigg.metabolite": "nadh", - "biocyc": "NADH", - "cas": [ - "58-68-4" - ], - "chebi": [ - "CHEBI:13395", - "CHEBI:21902", - "CHEBI:16908", - "CHEBI:7423", - "CHEBI:44216", - "CHEBI:57945", - "CHEBI:13396" - ], - "hmdb": "HMDB01487", - "kegg.compound": "C00004", - "pubchem.substance": "3306", - "reactome": [ - "REACT_192305", - "REACT_73473", - "REACT_194697", - "REACT_29362" - ], - "seed.compound": "cpd00004", - "unipathway.compound": "UPC00004" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/nadh", + "http://identifiers.org/biocyc/NADH", + "http://identifiers.org/cas/58-68-4", + "http://identifiers.org/cas/58-68-4", + "http://identifiers.org/chebi/CHEBI:13395", + "http://identifiers.org/chebi/CHEBI:21902", + "http://identifiers.org/chebi/CHEBI:16908", + "http://identifiers.org/chebi/CHEBI:7423", + "http://identifiers.org/chebi/CHEBI:44216", + "http://identifiers.org/chebi/CHEBI:57945", + "http://identifiers.org/chebi/CHEBI:13396", + "http://identifiers.org/hmdb/HMDB01487", + "http://identifiers.org/kegg.compound/C00004", + "http://identifiers.org/pubchem.substance/3306", + "http://identifiers.org/reactome/REACT_192305", + "http://identifiers.org/reactome/REACT_73473", + "http://identifiers.org/reactome/REACT_194697", + "http://identifiers.org/reactome/REACT_29362", + "http://identifiers.org/seed.compound/cpd00004", + "http://identifiers.org/unipathway.compound/UPC00004" + ] + } + ] + } }, "charge": -2, "compartment": "c", "formula": "C21H27N7O14P2", - "id": "nadh_c", + "id": "M_nadh_c", "name": "Nicotinamide adenine dinucleotide - reduced" }, { "annotation": { - "bigg.metabolite": "pep", - "biocyc": "PHOSPHO-ENOL-PYRUVATE", - "cas": [ - "138-08-9" - ], - "chebi": [ - "CHEBI:44897", - "CHEBI:44894", - "CHEBI:14812", - "CHEBI:8147", - "CHEBI:26055", - "CHEBI:26054", - "CHEBI:58702", - "CHEBI:18021" - ], - "hmdb": "HMDB00263", - "kegg.compound": "C00074", - "pubchem.substance": "3374", - "reactome": [ - "REACT_29492", - "REACT_372364" - ], - "seed.compound": "cpd00061", - "unipathway.compound": "UPC00074" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/pep", + "http://identifiers.org/biocyc/PHOSPHO-ENOL-PYRUVATE", + "http://identifiers.org/cas/138-08-9", + "http://identifiers.org/cas/138-08-9", + "http://identifiers.org/chebi/CHEBI:44897", + "http://identifiers.org/chebi/CHEBI:44894", + "http://identifiers.org/chebi/CHEBI:14812", + "http://identifiers.org/chebi/CHEBI:8147", + "http://identifiers.org/chebi/CHEBI:26055", + "http://identifiers.org/chebi/CHEBI:26054", + "http://identifiers.org/chebi/CHEBI:58702", + "http://identifiers.org/chebi/CHEBI:18021", + "http://identifiers.org/hmdb/HMDB00263", + "http://identifiers.org/kegg.compound/C00074", + "http://identifiers.org/pubchem.substance/3374", + "http://identifiers.org/reactome/REACT_29492", + "http://identifiers.org/reactome/REACT_372364", + "http://identifiers.org/seed.compound/cpd00061", + "http://identifiers.org/unipathway.compound/UPC00074" + ] + } + ] + } }, "charge": -3, "compartment": "c", "formula": "C3H2O6P", - "id": "pep_c", + "id": "M_pep_c", "name": "Phosphoenolpyruvate" }, { "annotation": { - "bigg.metabolite": "pi", - "biocyc": [ - "Pi", - "PHOSPHATE-GROUP", - "CPD0-1421" - ], - "cas": [ - "14265-44-2" - ], - "chebi": [ - "CHEBI:37583", - "CHEBI:7793", - "CHEBI:37585", - "CHEBI:34683", - "CHEBI:14791", - "CHEBI:34855", - "CHEBI:29137", - "CHEBI:29139", - "CHEBI:63036", - "CHEBI:26020", - "CHEBI:39739", - "CHEBI:32597", - "CHEBI:32596", - "CHEBI:43474", - "CHEBI:63051", - "CHEBI:43470", - "CHEBI:9679", - "CHEBI:35433", - "CHEBI:4496", - "CHEBI:45024", - "CHEBI:18367", - "CHEBI:26078", - "CHEBI:39745", - "CHEBI:24838" - ], - "hmdb": "HMDB02142", - "kegg.compound": [ - "C13556", - "C13558", - "C00009" - ], - "kegg.drug": "D05467", - "pubchem.substance": "3311", - "reactome": [ - "REACT_947590", - "REACT_109277", - "REACT_113548", - "REACT_2255331", - "REACT_29372", - "REACT_113550", - "REACT_113551" - ], - "seed.compound": [ - "cpd09464", - "cpd09463", - "cpd00009" - ], - "unipathway.compound": "UPC00009" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/pi", + "http://identifiers.org/biocyc/Pi", + "http://identifiers.org/biocyc/PHOSPHATE-GROUP", + "http://identifiers.org/biocyc/CPD0-1421", + "http://identifiers.org/cas/14265-44-2", + "http://identifiers.org/cas/14265-44-2", + "http://identifiers.org/chebi/CHEBI:37583", + "http://identifiers.org/chebi/CHEBI:7793", + "http://identifiers.org/chebi/CHEBI:37585", + "http://identifiers.org/chebi/CHEBI:34683", + "http://identifiers.org/chebi/CHEBI:14791", + "http://identifiers.org/chebi/CHEBI:34855", + "http://identifiers.org/chebi/CHEBI:29137", + "http://identifiers.org/chebi/CHEBI:29139", + "http://identifiers.org/chebi/CHEBI:63036", + "http://identifiers.org/chebi/CHEBI:26020", + "http://identifiers.org/chebi/CHEBI:39739", + "http://identifiers.org/chebi/CHEBI:32597", + "http://identifiers.org/chebi/CHEBI:32596", + "http://identifiers.org/chebi/CHEBI:43474", + "http://identifiers.org/chebi/CHEBI:63051", + "http://identifiers.org/chebi/CHEBI:43470", + "http://identifiers.org/chebi/CHEBI:9679", + "http://identifiers.org/chebi/CHEBI:35433", + "http://identifiers.org/chebi/CHEBI:4496", + "http://identifiers.org/chebi/CHEBI:45024", + "http://identifiers.org/chebi/CHEBI:18367", + "http://identifiers.org/chebi/CHEBI:26078", + "http://identifiers.org/chebi/CHEBI:39745", + "http://identifiers.org/chebi/CHEBI:24838", + "http://identifiers.org/hmdb/HMDB02142", + "http://identifiers.org/kegg.compound/C13556", + "http://identifiers.org/kegg.compound/C13558", + "http://identifiers.org/kegg.compound/C00009", + "http://identifiers.org/kegg.drug/D05467", + "http://identifiers.org/pubchem.substance/3311", + "http://identifiers.org/reactome/REACT_947590", + "http://identifiers.org/reactome/REACT_109277", + "http://identifiers.org/reactome/REACT_113548", + "http://identifiers.org/reactome/REACT_2255331", + "http://identifiers.org/reactome/REACT_29372", + "http://identifiers.org/reactome/REACT_113550", + "http://identifiers.org/reactome/REACT_113551", + "http://identifiers.org/seed.compound/cpd09464", + "http://identifiers.org/seed.compound/cpd09463", + "http://identifiers.org/seed.compound/cpd00009", + "http://identifiers.org/unipathway.compound/UPC00009" + ] + } + ] + } }, "charge": -2, "compartment": "c", "formula": "HO4P", - "id": "pi_c", + "id": "M_pi_c", "name": "Phosphate" }, { "annotation": { - "bigg.metabolite": "pi", - "biocyc": [ - "Pi", - "PHOSPHATE-GROUP", - "CPD0-1421" - ], - "cas": [ - "14265-44-2" - ], - "chebi": [ - "CHEBI:37583", - "CHEBI:7793", - "CHEBI:37585", - "CHEBI:34683", - "CHEBI:14791", - "CHEBI:34855", - "CHEBI:29137", - "CHEBI:29139", - "CHEBI:63036", - "CHEBI:26020", - "CHEBI:39739", - "CHEBI:32597", - "CHEBI:32596", - "CHEBI:43474", - "CHEBI:63051", - "CHEBI:43470", - "CHEBI:9679", - "CHEBI:35433", - "CHEBI:4496", - "CHEBI:45024", - "CHEBI:18367", - "CHEBI:26078", - "CHEBI:39745", - "CHEBI:24838" - ], - "hmdb": "HMDB02142", - "kegg.compound": [ - "C13556", - "C13558", - "C00009" - ], - "kegg.drug": "D05467", - "pubchem.substance": "3311", - "reactome": [ - "REACT_947590", - "REACT_109277", - "REACT_113548", - "REACT_2255331", - "REACT_29372", - "REACT_113550", - "REACT_113551" - ], - "seed.compound": [ - "cpd09464", - "cpd09463", - "cpd00009" - ], - "unipathway.compound": "UPC00009" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/pi", + "http://identifiers.org/biocyc/Pi", + "http://identifiers.org/biocyc/PHOSPHATE-GROUP", + "http://identifiers.org/biocyc/CPD0-1421", + "http://identifiers.org/cas/14265-44-2", + "http://identifiers.org/cas/14265-44-2", + "http://identifiers.org/chebi/CHEBI:37583", + "http://identifiers.org/chebi/CHEBI:7793", + "http://identifiers.org/chebi/CHEBI:37585", + "http://identifiers.org/chebi/CHEBI:34683", + "http://identifiers.org/chebi/CHEBI:14791", + "http://identifiers.org/chebi/CHEBI:34855", + "http://identifiers.org/chebi/CHEBI:29137", + "http://identifiers.org/chebi/CHEBI:29139", + "http://identifiers.org/chebi/CHEBI:63036", + "http://identifiers.org/chebi/CHEBI:26020", + "http://identifiers.org/chebi/CHEBI:39739", + "http://identifiers.org/chebi/CHEBI:32597", + "http://identifiers.org/chebi/CHEBI:32596", + "http://identifiers.org/chebi/CHEBI:43474", + "http://identifiers.org/chebi/CHEBI:63051", + "http://identifiers.org/chebi/CHEBI:43470", + "http://identifiers.org/chebi/CHEBI:9679", + "http://identifiers.org/chebi/CHEBI:35433", + "http://identifiers.org/chebi/CHEBI:4496", + "http://identifiers.org/chebi/CHEBI:45024", + "http://identifiers.org/chebi/CHEBI:18367", + "http://identifiers.org/chebi/CHEBI:26078", + "http://identifiers.org/chebi/CHEBI:39745", + "http://identifiers.org/chebi/CHEBI:24838", + "http://identifiers.org/hmdb/HMDB02142", + "http://identifiers.org/kegg.compound/C13556", + "http://identifiers.org/kegg.compound/C13558", + "http://identifiers.org/kegg.compound/C00009", + "http://identifiers.org/kegg.drug/D05467", + "http://identifiers.org/pubchem.substance/3311", + "http://identifiers.org/reactome/REACT_947590", + "http://identifiers.org/reactome/REACT_109277", + "http://identifiers.org/reactome/REACT_113548", + "http://identifiers.org/reactome/REACT_2255331", + "http://identifiers.org/reactome/REACT_29372", + "http://identifiers.org/reactome/REACT_113550", + "http://identifiers.org/reactome/REACT_113551", + "http://identifiers.org/seed.compound/cpd09464", + "http://identifiers.org/seed.compound/cpd09463", + "http://identifiers.org/seed.compound/cpd00009", + "http://identifiers.org/unipathway.compound/UPC00009" + ] + } + ] + } }, "charge": -2, "compartment": "e", "formula": "HO4P", - "id": "pi_e", + "id": "M_pi_e", "name": "Phosphate" }, { "annotation": { - "bigg.metabolite": "pyr", - "biocyc": "PYRUVATE", - "cas": [ - "127-17-3" - ], - "chebi": [ - "CHEBI:15361", - "CHEBI:14987", - "CHEBI:8685", - "CHEBI:32816", - "CHEBI:45253", - "CHEBI:26466", - "CHEBI:26462" - ], - "hmdb": "HMDB00243", - "kegg.compound": "C00022", - "lipidmaps": "LMFA01060077", - "pubchem.substance": "3324", - "reactome": [ - "REACT_113557", - "REACT_389680", - "REACT_29398" - ], - "seed.compound": "cpd00020", - "unipathway.compound": "UPC00022" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.metabolite/pyr", + "http://identifiers.org/biocyc/PYRUVATE", + "http://identifiers.org/cas/127-17-3", + "http://identifiers.org/cas/127-17-3", + "http://identifiers.org/chebi/CHEBI:15361", + "http://identifiers.org/chebi/CHEBI:14987", + "http://identifiers.org/chebi/CHEBI:8685", + "http://identifiers.org/chebi/CHEBI:32816", + "http://identifiers.org/chebi/CHEBI:45253", + "http://identifiers.org/chebi/CHEBI:26466", + "http://identifiers.org/chebi/CHEBI:26462", + "http://identifiers.org/hmdb/HMDB00243", + "http://identifiers.org/kegg.compound/C00022", + "http://identifiers.org/lipidmaps/LMFA01060077", + "http://identifiers.org/pubchem.substance/3324", + "http://identifiers.org/reactome/REACT_113557", + "http://identifiers.org/reactome/REACT_389680", + "http://identifiers.org/reactome/REACT_29398", + "http://identifiers.org/seed.compound/cpd00020", + "http://identifiers.org/unipathway.compound/UPC00022" + ] + } + ] + } }, "charge": -1, "compartment": "c", "formula": "C3H3O3", - "id": "pyr_c", + "id": "M_pyr_c", "name": "Pyruvate" } ], "reactions": [ { "annotation": { - "bigg.reaction": "ATPM" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ATPM" + ] + } + ] + } }, "gene_reaction_rule": "", - "id": "ATPM", + "id": "R_ATPM", "lower_bound": 8.39, "metabolites": { - "adp_c": 1.0, - "atp_c": -1.0, - "h2o_c": -1.0, - "h_c": 1.0, - "pi_c": 1.0 + "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", "objective_coefficient": 1.0, @@ -1126,7 +1201,7 @@ }, { "gene_reaction_rule": "", - "id": "D_LACt2", + "id": "R_D_LACt2", "lower_bound": -1000.0, "metabolites": {}, "name": "", @@ -1134,148 +1209,218 @@ }, { "annotation": { - "bigg.reaction": "ENO" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/ENO" + ] + } + ] + } }, "gene_reaction_rule": "b2779", - "id": "ENO", + "id": "R_ENO", "lower_bound": -1000.0, "metabolites": { - "2pg_c": -1.0, - "h2o_c": 1.0, - "pep_c": 1.0 + "M_2pg_c": -1.0, + "M_h2o_c": 1.0, + "M_pep_c": 1.0 }, "name": "enolase", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "glc", - "sbo": "SBO:0000627" + "sbo": "SBO:0000627", + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/glc" + ] + } + ] + } }, "gene_reaction_rule": "", - "id": "EX_glc__D_e", + "id": "R_EX_glc__D_e", "lower_bound": -10.0, "metabolites": { - "glc__D_e": -1.0 + "M_glc__D_e": -1.0 }, "name": "D-Glucose exchange", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "h", - "sbo": "SBO:0000627" + "sbo": "SBO:0000627", + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/h" + ] + } + ] + } }, "gene_reaction_rule": "", - "id": "EX_h_e", + "id": "R_EX_h_e", "lower_bound": -1000.0, "metabolites": { - "h_e": -1.0 + "M_h_e": -1.0 }, "name": "H+ exchange", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "lac__D", - "sbo": "SBO:0000627" + "sbo": "SBO:0000627", + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/lac__D" + ] + } + ] + } }, "gene_reaction_rule": "", - "id": "EX_lac__D_e", + "id": "R_EX_lac__D_e", "lower_bound": 0.0, "metabolites": { - "lac__D_e": -1.0 + "M_lac__D_e": -1.0 }, "name": "D-lactate exchange", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "FBA" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/FBA" + ] + } + ] + } }, "gene_reaction_rule": "b1773 or b2097 or b2925", - "id": "FBA", + "id": "R_FBA", "lower_bound": -1000.0, "metabolites": { - "dhap_c": 1.0, - "fdp_c": -1.0, - "g3p_c": 1.0 + "M_dhap_c": 1.0, + "M_fdp_c": -1.0, + "M_g3p_c": 1.0 }, "name": "fructose-bisphosphate aldolase", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "GAPD" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/GAPD" + ] + } + ] + } }, "gene_reaction_rule": "b1779", - "id": "GAPD", + "id": "R_GAPD", "lower_bound": -1000.0, "metabolites": { - "13dpg_c": 1.0, - "g3p_c": -1.0, - "h_c": 1.0, - "nad_c": -1.0, - "nadh_c": 1.0, - "pi_c": -1.0 + "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": { - "bigg.reaction": "GLCpts" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/GLCpts" + ] + } + ] + } }, "gene_reaction_rule": "(b2415 and b2417 and b1101 and b2416) or (b2415 and b2417 and b1621 and b2416) or (b2415 and b1818 and b1817 and b1819 and b2416)", - "id": "GLCpts", + "id": "R_GLCpts", "lower_bound": 0.0, "metabolites": { - "g6p_c": 1.0, - "glc__D_e": -1.0, - "pep_c": -1.0, - "pyr_c": 1.0 + "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": { - "bigg.reaction": "H2Ot" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/H2Ot" + ] + } + ] + } }, "gene_reaction_rule": "b0875 or s0001", - "id": "H2Ot", + "id": "R_H2Ot", "lower_bound": -1000.0, "metabolites": { - "h2o_c": 1.0, - "h2o_e": -1.0 + "M_h2o_c": 1.0, + "M_h2o_e": -1.0 }, "name": "R H2O transport via - diffusion", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "LDH_D", - "biocyc": "META:DLACTDEHYDROGNAD-RXN", - "ec-code": "1.1.1.28", - "kegg.reaction": "R00704", - "metanetx.reaction": "MNXR101037", - "rhea": [ - "16369", - "16370", - "16371", - "16372" - ], - "sbo": "SBO:0000375" + "sbo": "SBO:0000375", + "standardized": { + "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": "LDH_D", + "id": "R_LDH_D", "lower_bound": -1000.0, "metabolites": { - "h_c": 1.0, - "lac__D_c": -1.0, - "nad_c": -1.0, - "nadh_c": 1.0, - "pyr_c": 1.0 + "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", "subsystem": "Pyruvate Metabolism", @@ -1283,17 +1428,25 @@ }, { "annotation": { - "bigg.reaction": "PFK" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PFK" + ] + } + ] + } }, "gene_reaction_rule": "b3916 or b1723", - "id": "PFK", + "id": "R_PFK", "lower_bound": 0.0, "metabolites": { - "adp_c": 1.0, - "atp_c": -1.0, - "f6p_c": -1.0, - "fdp_c": 1.0, - "h_c": 1.0 + "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", "objective_coefficient": 1.0, @@ -1301,91 +1454,139 @@ }, { "annotation": { - "bigg.reaction": "PGI" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PGI" + ] + } + ] + } }, "gene_reaction_rule": "b4025", - "id": "PGI", + "id": "R_PGI", "lower_bound": -1000.0, "metabolites": { - "f6p_c": 1.0, - "g6p_c": -1.0 + "M_f6p_c": 1.0, + "M_g6p_c": -1.0 }, "name": "glucose-6-phosphate isomerase", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PGK" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PGK" + ] + } + ] + } }, "gene_reaction_rule": "b2926", - "id": "PGK", + "id": "R_PGK", "lower_bound": -1000.0, "metabolites": { - "13dpg_c": 1.0, - "3pg_c": -1.0, - "adp_c": 1.0, - "atp_c": -1.0 + "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": { - "bigg.reaction": "PGM" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PGM" + ] + } + ] + } }, "gene_reaction_rule": "b4395 or b3612 or b0755", - "id": "PGM", + "id": "R_PGM", "lower_bound": -1000.0, "metabolites": { - "2pg_c": -1.0, - "3pg_c": 1.0 + "M_2pg_c": -1.0, + "M_3pg_c": 1.0 }, "name": "phosphoglycerate mutase", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PIt2r" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PIt2r" + ] + } + ] + } }, "gene_reaction_rule": "b2987 or b3493", - "id": "PIt2r", + "id": "R_PIt2r", "lower_bound": -1000.0, "metabolites": { - "h_c": 1.0, - "h_e": -1.0, - "pi_c": 1.0, - "pi_e": -1.0 + "M_h_c": 1.0, + "M_h_e": -1.0, + "M_pi_c": 1.0, + "M_pi_e": -1.0 }, "name": "R phosphate reversible transport via - symport", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PYK" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/PYK" + ] + } + ] + } }, "gene_reaction_rule": "b1854 or b1676", - "id": "PYK", + "id": "R_PYK", "lower_bound": 0.0, "metabolites": { - "adp_c": -1.0, - "atp_c": 1.0, - "h_c": -1.0, - "pep_c": -1.0, - "pyr_c": 1.0 + "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": { - "bigg.reaction": "TPI" + "standardized": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/TPI" + ] + } + ] + } }, "gene_reaction_rule": "b3919", - "id": "TPI", + "id": "R_TPI", "lower_bound": -1000.0, "metabolites": { - "dhap_c": -1.0, - "g3p_c": 1.0 + "M_dhap_c": -1.0, + "M_g3p_c": 1.0 }, "name": "triose-phosphate isomerase", "upper_bound": 1000.0 diff --git a/src/cobra/data/mini.mat b/src/cobra/data/mini.mat index 9f46abd4c..6f3a67bdc 100644 Binary files a/src/cobra/data/mini.mat and b/src/cobra/data/mini.mat differ diff --git a/src/cobra/data/mini.pickle b/src/cobra/data/mini.pickle index b0e0f1f40..864117c30 100644 Binary files a/src/cobra/data/mini.pickle and b/src/cobra/data/mini.pickle differ diff --git a/src/cobra/data/mini.yml b/src/cobra/data/mini.yml index cd9a28a41..6f75b9cf6 100644 --- a/src/cobra/data/mini.yml +++ b/src/cobra/data/mini.yml @@ -1,1168 +1,1233 @@ !!omap - metabolites: - !!omap - - id: 13dpg_c + - id: M_13dpg_c - name: 3-Phospho-D-glyceroyl phosphate - compartment: c - charge: -4 - formula: C3H4O10P2 - annotation: !!omap - - 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 - - !!omap - - id: 2pg_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/13dpg + - http://identifiers.org/biocyc/DPG + - 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/chebi/CHEBI:11881 + - http://identifiers.org/hmdb/HMDB01270 + - http://identifiers.org/kegg.compound/C00236 + - http://identifiers.org/pubchem.substance/3535 + - http://identifiers.org/reactome/REACT_29800 + - http://identifiers.org/seed.compound/cpd00203 + - http://identifiers.org/unipathway.compound/UPC00236 + - !!omap + - id: M_2pg_c - name: D-Glycerate 2-phosphate - compartment: c - charge: -3 - formula: C3H4O7P - annotation: !!omap - - bigg.metabolite: 2pg - - biocyc: 2-PG - - chebi: - - CHEBI:1267 - - CHEBI:58289 - - CHEBI:17835 - - CHEBI:21028 - - CHEBI:11651 - - CHEBI:12986 - - CHEBI:24344 - - CHEBI:39868 - - hmdb: - - HMDB03391 - - HMDB00362 - - kegg.compound: C00631 - - pubchem.substance: '3904' - - reactome: REACT_30485 - - seed.compound: cpd00482 - - unipathway.compound: UPC00631 - - !!omap - - id: 3pg_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/2pg + - http://identifiers.org/biocyc/2-PG + - http://identifiers.org/chebi/CHEBI:1267 + - http://identifiers.org/chebi/CHEBI:58289 + - http://identifiers.org/chebi/CHEBI:17835 + - http://identifiers.org/chebi/CHEBI:21028 + - http://identifiers.org/chebi/CHEBI:11651 + - http://identifiers.org/chebi/CHEBI:12986 + - http://identifiers.org/chebi/CHEBI:24344 + - http://identifiers.org/chebi/CHEBI:39868 + - http://identifiers.org/hmdb/HMDB03391 + - http://identifiers.org/hmdb/HMDB00362 + - http://identifiers.org/kegg.compound/C00631 + - http://identifiers.org/pubchem.substance/3904 + - http://identifiers.org/reactome/REACT_30485 + - http://identifiers.org/seed.compound/cpd00482 + - http://identifiers.org/unipathway.compound/UPC00631 + - !!omap + - id: M_3pg_c - name: 3-Phospho-D-glycerate - compartment: c - charge: -3 - formula: C3H4O7P - annotation: !!omap - - bigg.metabolite: 3pg - - biocyc: G3P - - chebi: - - CHEBI:40016 - - CHEBI:58272 - - CHEBI:57998 - - CHEBI:11879 - - CHEBI:1657 - - CHEBI:1659 - - CHEBI:17050 - - CHEBI:21029 - - CHEBI:11882 - - CHEBI:11880 - - CHEBI:12987 - - CHEBI:17794 - - CHEBI:24345 - - hmdb: HMDB00807 - - kegg.compound: - - C00197 - - C00597 - - pubchem.substance: '3497' - - reactome: REACT_29728 - - seed.compound: cpd00169 - - unipathway.compound: - - UPC00597 - - UPC00197 - - !!omap - - id: adp_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/3pg + - http://identifiers.org/biocyc/G3P + - http://identifiers.org/chebi/CHEBI:40016 + - http://identifiers.org/chebi/CHEBI:58272 + - http://identifiers.org/chebi/CHEBI:57998 + - http://identifiers.org/chebi/CHEBI:11879 + - http://identifiers.org/chebi/CHEBI:1657 + - http://identifiers.org/chebi/CHEBI:1659 + - http://identifiers.org/chebi/CHEBI:17050 + - http://identifiers.org/chebi/CHEBI:21029 + - http://identifiers.org/chebi/CHEBI:11882 + - http://identifiers.org/chebi/CHEBI:11880 + - http://identifiers.org/chebi/CHEBI:12987 + - http://identifiers.org/chebi/CHEBI:17794 + - http://identifiers.org/chebi/CHEBI:24345 + - http://identifiers.org/hmdb/HMDB00807 + - http://identifiers.org/kegg.compound/C00197 + - http://identifiers.org/kegg.compound/C00597 + - http://identifiers.org/pubchem.substance/3497 + - http://identifiers.org/reactome/REACT_29728 + - http://identifiers.org/seed.compound/cpd00169 + - http://identifiers.org/unipathway.compound/UPC00597 + - http://identifiers.org/unipathway.compound/UPC00197 + - !!omap + - id: M_adp_c - name: ADP - compartment: c - charge: -3 - formula: C10H12N5O10P2 - annotation: !!omap - - bigg.metabolite: adp - - biocyc: - - ADP - - ADP-GROUP - - cas: - - 58-64-0 - - chebi: - - CHEBI:13222 - - CHEBI:16761 - - CHEBI:2342 - - CHEBI:22244 - - CHEBI:40553 - - CHEBI:456216 - - hmdb: HMDB01341 - - kegg.compound: C00008 - - kegg.glycan: G11113 - - pubchem.substance: '3310' - - reactome: - - REACT_190072 - - REACT_481002 - - REACT_211606 - - REACT_429160 - - REACT_29370 - - REACT_196180 - - REACT_113581 - - REACT_113582 - - REACT_114564 - - REACT_114565 - - REACT_429153 - - seed.compound: cpd00008 - - unipathway.compound: UPC00008 - - !!omap - - id: atp_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/adp + - http://identifiers.org/biocyc/ADP + - http://identifiers.org/biocyc/ADP-GROUP + - http://identifiers.org/cas/58-64-0 + - http://identifiers.org/cas/58-64-0 + - http://identifiers.org/chebi/CHEBI:13222 + - http://identifiers.org/chebi/CHEBI:16761 + - http://identifiers.org/chebi/CHEBI:2342 + - http://identifiers.org/chebi/CHEBI:22244 + - http://identifiers.org/chebi/CHEBI:40553 + - http://identifiers.org/chebi/CHEBI:456216 + - http://identifiers.org/hmdb/HMDB01341 + - http://identifiers.org/kegg.compound/C00008 + - http://identifiers.org/kegg.glycan/G11113 + - http://identifiers.org/pubchem.substance/3310 + - http://identifiers.org/reactome/REACT_190072 + - http://identifiers.org/reactome/REACT_481002 + - http://identifiers.org/reactome/REACT_211606 + - http://identifiers.org/reactome/REACT_429160 + - http://identifiers.org/reactome/REACT_29370 + - http://identifiers.org/reactome/REACT_196180 + - http://identifiers.org/reactome/REACT_113581 + - http://identifiers.org/reactome/REACT_113582 + - http://identifiers.org/reactome/REACT_114564 + - http://identifiers.org/reactome/REACT_114565 + - http://identifiers.org/reactome/REACT_429153 + - http://identifiers.org/seed.compound/cpd00008 + - http://identifiers.org/unipathway.compound/UPC00008 + - !!omap + - id: M_atp_c - name: ATP - compartment: c - charge: -4 - formula: C10H12N5O13P3 - annotation: !!omap - - bigg.metabolite: atp - - biocyc: ATP - - cas: - - 56-65-5 - - chebi: - - CHEBI:40938 - - CHEBI:15422 - - CHEBI:57299 - - CHEBI:13236 - - CHEBI:10789 - - CHEBI:30616 - - CHEBI:22249 - - CHEBI:10841 - - CHEBI:2359 - - hmdb: HMDB00538 - - kegg.compound: C00002 - - kegg.drug: D08646 - - pubchem.substance: '3304' - - reactome: - - REACT_190078 - - REACT_113592 - - REACT_113593 - - REACT_114570 - - REACT_29358 - - REACT_389573 - - REACT_139836 - - REACT_211579 - - seed.compound: cpd00002 - - unipathway.compound: UPC00002 - - !!omap - - id: dhap_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/atp + - http://identifiers.org/biocyc/ATP + - http://identifiers.org/cas/56-65-5 + - http://identifiers.org/cas/56-65-5 + - http://identifiers.org/chebi/CHEBI:40938 + - http://identifiers.org/chebi/CHEBI:15422 + - http://identifiers.org/chebi/CHEBI:57299 + - http://identifiers.org/chebi/CHEBI:13236 + - http://identifiers.org/chebi/CHEBI:10789 + - http://identifiers.org/chebi/CHEBI:30616 + - http://identifiers.org/chebi/CHEBI:22249 + - http://identifiers.org/chebi/CHEBI:10841 + - http://identifiers.org/chebi/CHEBI:2359 + - http://identifiers.org/hmdb/HMDB00538 + - http://identifiers.org/kegg.compound/C00002 + - http://identifiers.org/kegg.drug/D08646 + - http://identifiers.org/pubchem.substance/3304 + - http://identifiers.org/reactome/REACT_190078 + - http://identifiers.org/reactome/REACT_113592 + - http://identifiers.org/reactome/REACT_113593 + - http://identifiers.org/reactome/REACT_114570 + - http://identifiers.org/reactome/REACT_29358 + - http://identifiers.org/reactome/REACT_389573 + - http://identifiers.org/reactome/REACT_139836 + - http://identifiers.org/reactome/REACT_211579 + - http://identifiers.org/seed.compound/cpd00002 + - http://identifiers.org/unipathway.compound/UPC00002 + - !!omap + - id: M_dhap_c - name: Dihydroxyacetone phosphate - compartment: c - charge: -2 - formula: C3H5O6P - annotation: !!omap - - bigg.metabolite: dhap - - biocyc: DIHYDROXY-ACETONE-PHOSPHATE - - cas: - - 57-04-5 - - chebi: - - CHEBI:14341 - - CHEBI:57642 - - CHEBI:14342 - - CHEBI:16108 - - CHEBI:5454 - - CHEBI:24355 - - CHEBI:39571 - - hmdb: - - HMDB01473 - - HMDB11735 - - kegg.compound: C00111 - - pubchem.substance: '3411' - - reactome: - - REACT_188451 - - REACT_75970 - - REACT_390404 - - seed.compound: cpd00095 - - unipathway.compound: UPC00111 - - !!omap - - id: f6p_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/dhap + - http://identifiers.org/biocyc/DIHYDROXY-ACETONE-PHOSPHATE + - http://identifiers.org/cas/57-04-5 + - http://identifiers.org/cas/57-04-5 + - http://identifiers.org/chebi/CHEBI:14341 + - http://identifiers.org/chebi/CHEBI:57642 + - http://identifiers.org/chebi/CHEBI:14342 + - http://identifiers.org/chebi/CHEBI:16108 + - http://identifiers.org/chebi/CHEBI:5454 + - http://identifiers.org/chebi/CHEBI:24355 + - http://identifiers.org/chebi/CHEBI:39571 + - http://identifiers.org/hmdb/HMDB01473 + - http://identifiers.org/hmdb/HMDB11735 + - http://identifiers.org/kegg.compound/C00111 + - http://identifiers.org/pubchem.substance/3411 + - http://identifiers.org/reactome/REACT_188451 + - http://identifiers.org/reactome/REACT_75970 + - http://identifiers.org/reactome/REACT_390404 + - http://identifiers.org/seed.compound/cpd00095 + - http://identifiers.org/unipathway.compound/UPC00111 + - !!omap + - id: M_f6p_c - name: D-Fructose 6-phosphate - compartment: c - charge: -2 - formula: C6H11O9P - annotation: !!omap - - bigg.metabolite: f6p - - biocyc: FRUCTOSE-6P - - cas: - - 643-13-0 - - chebi: - - CHEBI:57634 - - CHEBI:12352 - - CHEBI:45804 - - CHEBI:61527 - - CHEBI:61553 - - CHEBI:10375 - - CHEBI:16084 - - CHEBI:42378 - - CHEBI:22768 - - hmdb: HMDB03971 - - kegg.compound: - - C05345 - - C00085 - - pubchem.substance: '3385' - - seed.compound: cpd00072 - - unipathway.compound: - - UPC05345 - - UPC00085 - - !!omap - - id: fdp_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/f6p + - http://identifiers.org/biocyc/FRUCTOSE-6P + - http://identifiers.org/cas/643-13-0 + - http://identifiers.org/cas/643-13-0 + - http://identifiers.org/chebi/CHEBI:57634 + - http://identifiers.org/chebi/CHEBI:12352 + - http://identifiers.org/chebi/CHEBI:45804 + - http://identifiers.org/chebi/CHEBI:61527 + - http://identifiers.org/chebi/CHEBI:61553 + - http://identifiers.org/chebi/CHEBI:10375 + - http://identifiers.org/chebi/CHEBI:16084 + - http://identifiers.org/chebi/CHEBI:42378 + - http://identifiers.org/chebi/CHEBI:22768 + - http://identifiers.org/hmdb/HMDB03971 + - http://identifiers.org/kegg.compound/C05345 + - http://identifiers.org/kegg.compound/C00085 + - http://identifiers.org/pubchem.substance/3385 + - http://identifiers.org/seed.compound/cpd00072 + - http://identifiers.org/unipathway.compound/UPC05345 + - http://identifiers.org/unipathway.compound/UPC00085 + - !!omap + - id: M_fdp_c - name: D-Fructose 1,6-bisphosphate - compartment: c - charge: -4 - formula: C6H10O12P2 - annotation: !!omap - - bigg.metabolite: fdp - - biocyc: FRUCTOSE-16-DIPHOSPHATE - - cas: - - 488-69-7 - - chebi: - - CHEBI:32968 - - CHEBI:49299 - - CHEBI:42553 - - CHEBI:32966 - - CHEBI:37736 - - CHEBI:28013 - - CHEBI:32967 - - CHEBI:41014 - - CHEBI:22767 - - CHEBI:10374 - - CHEBI:40595 - - CHEBI:40591 - - kegg.compound: - - C05378 - - C00354 - - pubchem.substance: '3647' - - seed.compound: cpd00290 - - unipathway.compound: UPC00354 - - !!omap - - id: g3p_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/fdp + - http://identifiers.org/biocyc/FRUCTOSE-16-DIPHOSPHATE + - http://identifiers.org/cas/488-69-7 + - http://identifiers.org/cas/488-69-7 + - http://identifiers.org/chebi/CHEBI:32968 + - http://identifiers.org/chebi/CHEBI:49299 + - http://identifiers.org/chebi/CHEBI:42553 + - http://identifiers.org/chebi/CHEBI:32966 + - http://identifiers.org/chebi/CHEBI:37736 + - http://identifiers.org/chebi/CHEBI:28013 + - http://identifiers.org/chebi/CHEBI:32967 + - http://identifiers.org/chebi/CHEBI:41014 + - http://identifiers.org/chebi/CHEBI:22767 + - http://identifiers.org/chebi/CHEBI:10374 + - http://identifiers.org/chebi/CHEBI:40595 + - http://identifiers.org/chebi/CHEBI:40591 + - http://identifiers.org/kegg.compound/C05378 + - http://identifiers.org/kegg.compound/C00354 + - http://identifiers.org/pubchem.substance/3647 + - http://identifiers.org/seed.compound/cpd00290 + - http://identifiers.org/unipathway.compound/UPC00354 + - !!omap + - id: M_g3p_c - name: Glyceraldehyde 3-phosphate - compartment: c - charge: -2 - formula: C3H5O6P - annotation: !!omap - - bigg.metabolite: g3p - - cas: - - 142-10-9 - - chebi: - - CHEBI:17138 - - CHEBI:14333 - - CHEBI:5446 - - CHEBI:58027 - - hmdb: HMDB01112 - - kegg.compound: - - C00661 - - C00118 - - pubchem.substance: '3930' - - seed.compound: cpd00102 - - unipathway.compound: - - UPC00661 - - UPC00118 - - !!omap - - id: g6p_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/g3p + - http://identifiers.org/cas/142-10-9 + - http://identifiers.org/cas/142-10-9 + - http://identifiers.org/chebi/CHEBI:17138 + - http://identifiers.org/chebi/CHEBI:14333 + - http://identifiers.org/chebi/CHEBI:5446 + - http://identifiers.org/chebi/CHEBI:58027 + - http://identifiers.org/hmdb/HMDB01112 + - http://identifiers.org/kegg.compound/C00661 + - http://identifiers.org/kegg.compound/C00118 + - http://identifiers.org/pubchem.substance/3930 + - http://identifiers.org/seed.compound/cpd00102 + - http://identifiers.org/unipathway.compound/UPC00661 + - http://identifiers.org/unipathway.compound/UPC00118 + - !!omap + - id: M_g6p_c - name: D-Glucose 6-phosphate - compartment: c - charge: -2 - formula: C6H11O9P - annotation: !!omap - - bigg.metabolite: g6p - - biocyc: - - D-glucose-6-phosphate - - GLC-6-P - - cas: - - 56-73-5 - - chebi: - - CHEBI:10399 - - CHEBI:22797 - - CHEBI:41041 - - CHEBI:17719 - - CHEBI:4170 - - CHEBI:61548 - - CHEBI:58247 - - CHEBI:12375 - - hmdb: - - HMDB03498 - - HMDB06793 - - HMDB01401 - - HMDB01549 - - kegg.compound: - - C00092 - - C01172 - - pubchem.substance: '3392' - - reactome: REACT_1629756 - - seed.compound: cpd00079 - - unipathway.compound: UPC00092 - - !!omap - - id: glc__D_e + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/g6p + - http://identifiers.org/biocyc/D-glucose-6-phosphate + - http://identifiers.org/biocyc/GLC-6-P + - http://identifiers.org/cas/56-73-5 + - http://identifiers.org/cas/56-73-5 + - http://identifiers.org/chebi/CHEBI:10399 + - http://identifiers.org/chebi/CHEBI:22797 + - http://identifiers.org/chebi/CHEBI:41041 + - http://identifiers.org/chebi/CHEBI:17719 + - http://identifiers.org/chebi/CHEBI:4170 + - http://identifiers.org/chebi/CHEBI:61548 + - http://identifiers.org/chebi/CHEBI:58247 + - http://identifiers.org/chebi/CHEBI:12375 + - http://identifiers.org/hmdb/HMDB03498 + - http://identifiers.org/hmdb/HMDB06793 + - http://identifiers.org/hmdb/HMDB01401 + - http://identifiers.org/hmdb/HMDB01549 + - http://identifiers.org/kegg.compound/C00092 + - http://identifiers.org/kegg.compound/C01172 + - http://identifiers.org/pubchem.substance/3392 + - http://identifiers.org/reactome/REACT_1629756 + - http://identifiers.org/seed.compound/cpd00079 + - http://identifiers.org/unipathway.compound/UPC00092 + - !!omap + - id: M_glc__D_e - name: D-Glucose - compartment: e - charge: 0 - formula: C6H12O6 - annotation: !!omap - - bigg.metabolite: glc__D - - cas: - - 50-99-7 - - kegg.compound: C00031 - - pubchem.substance: '3333' - - !!omap - - id: h2o_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/glc__D + - http://identifiers.org/cas/50-99-7 + - http://identifiers.org/cas/50-99-7 + - http://identifiers.org/kegg.compound/C00031 + - http://identifiers.org/pubchem.substance/3333 + - !!omap + - id: M_h2o_c - name: H2O - compartment: c - charge: 0 - formula: H2O - annotation: !!omap - - bigg.metabolite: h2o - - biocyc: - - WATER - - OH - - OXONIUM - - cas: - - 7732-18-5 - - chebi: - - CHEBI:15377 - - CHEBI:13365 - - CHEBI:41979 - - CHEBI:16234 - - CHEBI:36385 - - CHEBI:42857 - - CHEBI:27313 - - CHEBI:44819 - - CHEBI:29373 - - CHEBI:10743 - - CHEBI:5594 - - CHEBI:29356 - - CHEBI:53442 - - CHEBI:29375 - - CHEBI:29374 - - CHEBI:13419 - - CHEBI:43228 - - CHEBI:44292 - - CHEBI:13352 - - CHEBI:41981 - - CHEBI:29412 - - CHEBI:42043 - - CHEBI:33811 - - CHEBI:33813 - - CHEBI:35511 - - CHEBI:5585 - - CHEBI:44641 - - CHEBI:44701 - - hmdb: - - HMDB01039 - - HMDB02111 - - kegg.compound: - - C01328 - - C00001 - - C18714 - - C18712 - - kegg.drug: - - D00001 - - D06322 - - D03703 - - pubchem.substance: '3303' - - reactome: - - REACT_947593 - - REACT_189422 - - REACT_141343 - - REACT_113518 - - REACT_1605715 - - REACT_109276 - - REACT_113521 - - REACT_113519 - - REACT_2022884 - - REACT_351603 - - REACT_29356 - - seed.compound: - - cpd15275 - - cpd00001 - - unipathway.compound: - - UPC00001 - - UPC01328 - - !!omap - - id: h2o_e + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/h2o + - http://identifiers.org/biocyc/WATER + - http://identifiers.org/biocyc/OH + - http://identifiers.org/biocyc/OXONIUM + - http://identifiers.org/cas/7732-18-5 + - http://identifiers.org/cas/7732-18-5 + - http://identifiers.org/chebi/CHEBI:15377 + - http://identifiers.org/chebi/CHEBI:13365 + - http://identifiers.org/chebi/CHEBI:41979 + - http://identifiers.org/chebi/CHEBI:16234 + - http://identifiers.org/chebi/CHEBI:36385 + - http://identifiers.org/chebi/CHEBI:42857 + - http://identifiers.org/chebi/CHEBI:27313 + - http://identifiers.org/chebi/CHEBI:44819 + - http://identifiers.org/chebi/CHEBI:29373 + - http://identifiers.org/chebi/CHEBI:10743 + - http://identifiers.org/chebi/CHEBI:5594 + - http://identifiers.org/chebi/CHEBI:29356 + - http://identifiers.org/chebi/CHEBI:53442 + - http://identifiers.org/chebi/CHEBI:29375 + - http://identifiers.org/chebi/CHEBI:29374 + - http://identifiers.org/chebi/CHEBI:13419 + - http://identifiers.org/chebi/CHEBI:43228 + - http://identifiers.org/chebi/CHEBI:44292 + - http://identifiers.org/chebi/CHEBI:13352 + - http://identifiers.org/chebi/CHEBI:41981 + - http://identifiers.org/chebi/CHEBI:29412 + - http://identifiers.org/chebi/CHEBI:42043 + - http://identifiers.org/chebi/CHEBI:33811 + - http://identifiers.org/chebi/CHEBI:33813 + - http://identifiers.org/chebi/CHEBI:35511 + - http://identifiers.org/chebi/CHEBI:5585 + - http://identifiers.org/chebi/CHEBI:44641 + - http://identifiers.org/chebi/CHEBI:44701 + - http://identifiers.org/hmdb/HMDB01039 + - http://identifiers.org/hmdb/HMDB02111 + - http://identifiers.org/kegg.compound/C01328 + - http://identifiers.org/kegg.compound/C00001 + - http://identifiers.org/kegg.compound/C18714 + - http://identifiers.org/kegg.compound/C18712 + - http://identifiers.org/kegg.drug/D00001 + - http://identifiers.org/kegg.drug/D06322 + - http://identifiers.org/kegg.drug/D03703 + - http://identifiers.org/pubchem.substance/3303 + - http://identifiers.org/reactome/REACT_947593 + - http://identifiers.org/reactome/REACT_189422 + - http://identifiers.org/reactome/REACT_141343 + - http://identifiers.org/reactome/REACT_113518 + - http://identifiers.org/reactome/REACT_1605715 + - http://identifiers.org/reactome/REACT_109276 + - http://identifiers.org/reactome/REACT_113521 + - http://identifiers.org/reactome/REACT_113519 + - http://identifiers.org/reactome/REACT_2022884 + - http://identifiers.org/reactome/REACT_351603 + - http://identifiers.org/reactome/REACT_29356 + - http://identifiers.org/seed.compound/cpd15275 + - http://identifiers.org/seed.compound/cpd00001 + - http://identifiers.org/unipathway.compound/UPC00001 + - http://identifiers.org/unipathway.compound/UPC01328 + - !!omap + - id: M_h2o_e - name: H2O - compartment: e - charge: 0 - formula: H2O - annotation: !!omap - - bigg.metabolite: h2o - - biocyc: - - WATER - - OH - - OXONIUM - - cas: - - 7732-18-5 - - chebi: - - CHEBI:15377 - - CHEBI:13365 - - CHEBI:41979 - - CHEBI:16234 - - CHEBI:36385 - - CHEBI:42857 - - CHEBI:27313 - - CHEBI:44819 - - CHEBI:29373 - - CHEBI:10743 - - CHEBI:5594 - - CHEBI:29356 - - CHEBI:53442 - - CHEBI:29375 - - CHEBI:29374 - - CHEBI:13419 - - CHEBI:43228 - - CHEBI:44292 - - CHEBI:13352 - - CHEBI:41981 - - CHEBI:29412 - - CHEBI:42043 - - CHEBI:33811 - - CHEBI:33813 - - CHEBI:35511 - - CHEBI:5585 - - CHEBI:44641 - - CHEBI:44701 - - hmdb: - - HMDB01039 - - HMDB02111 - - kegg.compound: - - C01328 - - C00001 - - C18714 - - C18712 - - kegg.drug: - - D00001 - - D06322 - - D03703 - - pubchem.substance: '3303' - - reactome: - - REACT_947593 - - REACT_189422 - - REACT_141343 - - REACT_113518 - - REACT_1605715 - - REACT_109276 - - REACT_113521 - - REACT_113519 - - REACT_2022884 - - REACT_351603 - - REACT_29356 - - seed.compound: - - cpd15275 - - cpd00001 - - unipathway.compound: - - UPC00001 - - UPC01328 - - !!omap - - id: h_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/h2o + - http://identifiers.org/biocyc/WATER + - http://identifiers.org/biocyc/OH + - http://identifiers.org/biocyc/OXONIUM + - http://identifiers.org/cas/7732-18-5 + - http://identifiers.org/cas/7732-18-5 + - http://identifiers.org/chebi/CHEBI:15377 + - http://identifiers.org/chebi/CHEBI:13365 + - http://identifiers.org/chebi/CHEBI:41979 + - http://identifiers.org/chebi/CHEBI:16234 + - http://identifiers.org/chebi/CHEBI:36385 + - http://identifiers.org/chebi/CHEBI:42857 + - http://identifiers.org/chebi/CHEBI:27313 + - http://identifiers.org/chebi/CHEBI:44819 + - http://identifiers.org/chebi/CHEBI:29373 + - http://identifiers.org/chebi/CHEBI:10743 + - http://identifiers.org/chebi/CHEBI:5594 + - http://identifiers.org/chebi/CHEBI:29356 + - http://identifiers.org/chebi/CHEBI:53442 + - http://identifiers.org/chebi/CHEBI:29375 + - http://identifiers.org/chebi/CHEBI:29374 + - http://identifiers.org/chebi/CHEBI:13419 + - http://identifiers.org/chebi/CHEBI:43228 + - http://identifiers.org/chebi/CHEBI:44292 + - http://identifiers.org/chebi/CHEBI:13352 + - http://identifiers.org/chebi/CHEBI:41981 + - http://identifiers.org/chebi/CHEBI:29412 + - http://identifiers.org/chebi/CHEBI:42043 + - http://identifiers.org/chebi/CHEBI:33811 + - http://identifiers.org/chebi/CHEBI:33813 + - http://identifiers.org/chebi/CHEBI:35511 + - http://identifiers.org/chebi/CHEBI:5585 + - http://identifiers.org/chebi/CHEBI:44641 + - http://identifiers.org/chebi/CHEBI:44701 + - http://identifiers.org/hmdb/HMDB01039 + - http://identifiers.org/hmdb/HMDB02111 + - http://identifiers.org/kegg.compound/C01328 + - http://identifiers.org/kegg.compound/C00001 + - http://identifiers.org/kegg.compound/C18714 + - http://identifiers.org/kegg.compound/C18712 + - http://identifiers.org/kegg.drug/D00001 + - http://identifiers.org/kegg.drug/D06322 + - http://identifiers.org/kegg.drug/D03703 + - http://identifiers.org/pubchem.substance/3303 + - http://identifiers.org/reactome/REACT_947593 + - http://identifiers.org/reactome/REACT_189422 + - http://identifiers.org/reactome/REACT_141343 + - http://identifiers.org/reactome/REACT_113518 + - http://identifiers.org/reactome/REACT_1605715 + - http://identifiers.org/reactome/REACT_109276 + - http://identifiers.org/reactome/REACT_113521 + - http://identifiers.org/reactome/REACT_113519 + - http://identifiers.org/reactome/REACT_2022884 + - http://identifiers.org/reactome/REACT_351603 + - http://identifiers.org/reactome/REACT_29356 + - http://identifiers.org/seed.compound/cpd15275 + - http://identifiers.org/seed.compound/cpd00001 + - http://identifiers.org/unipathway.compound/UPC00001 + - http://identifiers.org/unipathway.compound/UPC01328 + - !!omap + - id: M_h_c - name: H+ - compartment: c - charge: 1 - formula: H - annotation: !!omap - - bigg.metabolite: h - - biocyc: PROTON - - cas: - - 12408-02-5 - - chebi: - - CHEBI:24636 - - CHEBI:15378 - - CHEBI:10744 - - CHEBI:13357 - - CHEBI:5584 - - kegg.compound: C00080 - - pubchem.substance: '3380' - - reactome: - - REACT_194688 - - REACT_425978 - - REACT_193465 - - REACT_374900 - - REACT_74722 - - REACT_425999 - - REACT_428040 - - REACT_163953 - - REACT_372511 - - REACT_2000349 - - REACT_70106 - - REACT_1470067 - - REACT_113529 - - REACT_425969 - - REACT_428548 - - REACT_156540 - - REACT_1614597 - - REACT_351626 - - REACT_427899 - - seed.compound: cpd00067 - - unipathway.compound: UPC00080 - - !!omap - - id: h_e + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/h + - http://identifiers.org/biocyc/PROTON + - http://identifiers.org/cas/12408-02-5 + - http://identifiers.org/cas/12408-02-5 + - http://identifiers.org/chebi/CHEBI:24636 + - http://identifiers.org/chebi/CHEBI:15378 + - http://identifiers.org/chebi/CHEBI:10744 + - http://identifiers.org/chebi/CHEBI:13357 + - http://identifiers.org/chebi/CHEBI:5584 + - http://identifiers.org/kegg.compound/C00080 + - http://identifiers.org/pubchem.substance/3380 + - http://identifiers.org/reactome/REACT_194688 + - http://identifiers.org/reactome/REACT_425978 + - http://identifiers.org/reactome/REACT_193465 + - http://identifiers.org/reactome/REACT_374900 + - http://identifiers.org/reactome/REACT_74722 + - http://identifiers.org/reactome/REACT_425999 + - http://identifiers.org/reactome/REACT_428040 + - http://identifiers.org/reactome/REACT_163953 + - http://identifiers.org/reactome/REACT_372511 + - http://identifiers.org/reactome/REACT_2000349 + - http://identifiers.org/reactome/REACT_70106 + - http://identifiers.org/reactome/REACT_1470067 + - http://identifiers.org/reactome/REACT_113529 + - http://identifiers.org/reactome/REACT_425969 + - http://identifiers.org/reactome/REACT_428548 + - http://identifiers.org/reactome/REACT_156540 + - http://identifiers.org/reactome/REACT_1614597 + - http://identifiers.org/reactome/REACT_351626 + - http://identifiers.org/reactome/REACT_427899 + - http://identifiers.org/seed.compound/cpd00067 + - http://identifiers.org/unipathway.compound/UPC00080 + - !!omap + - id: M_h_e - name: H+ - compartment: e - charge: 1 - formula: H - annotation: !!omap - - bigg.metabolite: h - - biocyc: PROTON - - cas: - - 12408-02-5 - - chebi: - - CHEBI:24636 - - CHEBI:15378 - - CHEBI:10744 - - CHEBI:13357 - - CHEBI:5584 - - kegg.compound: C00080 - - pubchem.substance: '3380' - - reactome: - - REACT_194688 - - REACT_425978 - - REACT_193465 - - REACT_374900 - - REACT_74722 - - REACT_425999 - - REACT_428040 - - REACT_163953 - - REACT_372511 - - REACT_2000349 - - REACT_70106 - - REACT_1470067 - - REACT_113529 - - REACT_425969 - - REACT_428548 - - REACT_156540 - - REACT_1614597 - - REACT_351626 - - REACT_427899 - - seed.compound: cpd00067 - - unipathway.compound: UPC00080 - - !!omap - - id: lac__D_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/h + - http://identifiers.org/biocyc/PROTON + - http://identifiers.org/cas/12408-02-5 + - http://identifiers.org/cas/12408-02-5 + - http://identifiers.org/chebi/CHEBI:24636 + - http://identifiers.org/chebi/CHEBI:15378 + - http://identifiers.org/chebi/CHEBI:10744 + - http://identifiers.org/chebi/CHEBI:13357 + - http://identifiers.org/chebi/CHEBI:5584 + - http://identifiers.org/kegg.compound/C00080 + - http://identifiers.org/pubchem.substance/3380 + - http://identifiers.org/reactome/REACT_194688 + - http://identifiers.org/reactome/REACT_425978 + - http://identifiers.org/reactome/REACT_193465 + - http://identifiers.org/reactome/REACT_374900 + - http://identifiers.org/reactome/REACT_74722 + - http://identifiers.org/reactome/REACT_425999 + - http://identifiers.org/reactome/REACT_428040 + - http://identifiers.org/reactome/REACT_163953 + - http://identifiers.org/reactome/REACT_372511 + - http://identifiers.org/reactome/REACT_2000349 + - http://identifiers.org/reactome/REACT_70106 + - http://identifiers.org/reactome/REACT_1470067 + - http://identifiers.org/reactome/REACT_113529 + - http://identifiers.org/reactome/REACT_425969 + - http://identifiers.org/reactome/REACT_428548 + - http://identifiers.org/reactome/REACT_156540 + - http://identifiers.org/reactome/REACT_1614597 + - http://identifiers.org/reactome/REACT_351626 + - http://identifiers.org/reactome/REACT_427899 + - http://identifiers.org/seed.compound/cpd00067 + - http://identifiers.org/unipathway.compound/UPC00080 + - !!omap + - id: M_lac__D_c - name: D-Lactate - compartment: c - charge: -1 - formula: C3H5O3 - annotation: !!omap - - bigg.metabolite: lac__D - - biocyc: META:D-LACTATE - - chebi: - - CHEBI:11001 - - CHEBI:16004 - - CHEBI:18684 - - CHEBI:341 - - CHEBI:42105 - - CHEBI:42111 - - CHEBI:43701 - - hmdb: - - HMDB00171 - - HMDB01311 - - kegg.compound: C00256 - - metanetx.chemical: MNXM285 - - seed.compound: cpd00221 - - !!omap - - id: lac__D_e + - standardized: !!omap + - 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 + - !!omap + - id: M_lac__D_e - name: D-Lactate - compartment: e - charge: -1 - formula: C3H5O3 - annotation: !!omap - - bigg.metabolite: lac__D - - biocyc: META:D-LACTATE - - chebi: - - CHEBI:11001 - - CHEBI:16004 - - CHEBI:18684 - - CHEBI:341 - - CHEBI:42105 - - CHEBI:42111 - - CHEBI:43701 - - hmdb: - - HMDB00171 - - HMDB01311 - - kegg.compound: C00256 - - metanetx.chemical: MNXM285 - - seed.compound: cpd00221 - - !!omap - - id: nad_c + - standardized: !!omap + - 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 + - !!omap + - id: M_nad_c - name: Nicotinamide adenine dinucleotide - compartment: c - charge: -1 - formula: C21H26N7O14P2 - annotation: !!omap - - bigg.metabolite: nad - - biocyc: NAD - - cas: - - 53-84-9 - - chebi: - - CHEBI:21901 - - CHEBI:7422 - - CHEBI:44214 - - CHEBI:15846 - - CHEBI:13394 - - CHEBI:13393 - - CHEBI:44215 - - CHEBI:13389 - - CHEBI:57540 - - CHEBI:44281 - - hmdb: HMDB00902 - - kegg.compound: C00003 - - kegg.drug: D00002 - - pubchem.substance: '3305' - - reactome: - - REACT_192307 - - REACT_29360 - - REACT_427523 - - REACT_194653 - - REACT_113526 - - seed.compound: cpd00003 - - unipathway.compound: UPC00003 - - !!omap - - id: nadh_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/nad + - http://identifiers.org/biocyc/NAD + - http://identifiers.org/cas/53-84-9 + - http://identifiers.org/cas/53-84-9 + - http://identifiers.org/chebi/CHEBI:21901 + - http://identifiers.org/chebi/CHEBI:7422 + - http://identifiers.org/chebi/CHEBI:44214 + - http://identifiers.org/chebi/CHEBI:15846 + - http://identifiers.org/chebi/CHEBI:13394 + - http://identifiers.org/chebi/CHEBI:13393 + - http://identifiers.org/chebi/CHEBI:44215 + - http://identifiers.org/chebi/CHEBI:13389 + - http://identifiers.org/chebi/CHEBI:57540 + - http://identifiers.org/chebi/CHEBI:44281 + - http://identifiers.org/hmdb/HMDB00902 + - http://identifiers.org/kegg.compound/C00003 + - http://identifiers.org/kegg.drug/D00002 + - http://identifiers.org/pubchem.substance/3305 + - http://identifiers.org/reactome/REACT_192307 + - http://identifiers.org/reactome/REACT_29360 + - http://identifiers.org/reactome/REACT_427523 + - http://identifiers.org/reactome/REACT_194653 + - http://identifiers.org/reactome/REACT_113526 + - http://identifiers.org/seed.compound/cpd00003 + - http://identifiers.org/unipathway.compound/UPC00003 + - !!omap + - id: M_nadh_c - name: Nicotinamide adenine dinucleotide - reduced - compartment: c - charge: -2 - formula: C21H27N7O14P2 - annotation: !!omap - - bigg.metabolite: nadh - - biocyc: NADH - - cas: - - 58-68-4 - - chebi: - - CHEBI:13395 - - CHEBI:21902 - - CHEBI:16908 - - CHEBI:7423 - - CHEBI:44216 - - CHEBI:57945 - - CHEBI:13396 - - hmdb: HMDB01487 - - kegg.compound: C00004 - - pubchem.substance: '3306' - - reactome: - - REACT_192305 - - REACT_73473 - - REACT_194697 - - REACT_29362 - - seed.compound: cpd00004 - - unipathway.compound: UPC00004 - - !!omap - - id: pep_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/nadh + - http://identifiers.org/biocyc/NADH + - http://identifiers.org/cas/58-68-4 + - http://identifiers.org/cas/58-68-4 + - http://identifiers.org/chebi/CHEBI:13395 + - http://identifiers.org/chebi/CHEBI:21902 + - http://identifiers.org/chebi/CHEBI:16908 + - http://identifiers.org/chebi/CHEBI:7423 + - http://identifiers.org/chebi/CHEBI:44216 + - http://identifiers.org/chebi/CHEBI:57945 + - http://identifiers.org/chebi/CHEBI:13396 + - http://identifiers.org/hmdb/HMDB01487 + - http://identifiers.org/kegg.compound/C00004 + - http://identifiers.org/pubchem.substance/3306 + - http://identifiers.org/reactome/REACT_192305 + - http://identifiers.org/reactome/REACT_73473 + - http://identifiers.org/reactome/REACT_194697 + - http://identifiers.org/reactome/REACT_29362 + - http://identifiers.org/seed.compound/cpd00004 + - http://identifiers.org/unipathway.compound/UPC00004 + - !!omap + - id: M_pep_c - name: Phosphoenolpyruvate - compartment: c - charge: -3 - formula: C3H2O6P - annotation: !!omap - - bigg.metabolite: pep - - biocyc: PHOSPHO-ENOL-PYRUVATE - - cas: - - 138-08-9 - - chebi: - - CHEBI:44897 - - CHEBI:44894 - - CHEBI:14812 - - CHEBI:8147 - - CHEBI:26055 - - CHEBI:26054 - - CHEBI:58702 - - CHEBI:18021 - - hmdb: HMDB00263 - - kegg.compound: C00074 - - pubchem.substance: '3374' - - reactome: - - REACT_29492 - - REACT_372364 - - seed.compound: cpd00061 - - unipathway.compound: UPC00074 - - !!omap - - id: pi_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/pep + - http://identifiers.org/biocyc/PHOSPHO-ENOL-PYRUVATE + - http://identifiers.org/cas/138-08-9 + - http://identifiers.org/cas/138-08-9 + - http://identifiers.org/chebi/CHEBI:44897 + - http://identifiers.org/chebi/CHEBI:44894 + - http://identifiers.org/chebi/CHEBI:14812 + - http://identifiers.org/chebi/CHEBI:8147 + - http://identifiers.org/chebi/CHEBI:26055 + - http://identifiers.org/chebi/CHEBI:26054 + - http://identifiers.org/chebi/CHEBI:58702 + - http://identifiers.org/chebi/CHEBI:18021 + - http://identifiers.org/hmdb/HMDB00263 + - http://identifiers.org/kegg.compound/C00074 + - http://identifiers.org/pubchem.substance/3374 + - http://identifiers.org/reactome/REACT_29492 + - http://identifiers.org/reactome/REACT_372364 + - http://identifiers.org/seed.compound/cpd00061 + - http://identifiers.org/unipathway.compound/UPC00074 + - !!omap + - id: M_pi_c - name: Phosphate - compartment: c - charge: -2 - formula: HO4P - annotation: !!omap - - bigg.metabolite: pi - - biocyc: - - Pi - - PHOSPHATE-GROUP - - CPD0-1421 - - cas: - - 14265-44-2 - - chebi: - - CHEBI:37583 - - CHEBI:7793 - - CHEBI:37585 - - CHEBI:34683 - - CHEBI:14791 - - CHEBI:34855 - - CHEBI:29137 - - CHEBI:29139 - - CHEBI:63036 - - CHEBI:26020 - - CHEBI:39739 - - CHEBI:32597 - - CHEBI:32596 - - CHEBI:43474 - - CHEBI:63051 - - CHEBI:43470 - - CHEBI:9679 - - CHEBI:35433 - - CHEBI:4496 - - CHEBI:45024 - - CHEBI:18367 - - CHEBI:26078 - - CHEBI:39745 - - CHEBI:24838 - - hmdb: HMDB02142 - - kegg.compound: - - C13556 - - C13558 - - C00009 - - kegg.drug: D05467 - - pubchem.substance: '3311' - - reactome: - - REACT_947590 - - REACT_109277 - - REACT_113548 - - REACT_2255331 - - REACT_29372 - - REACT_113550 - - REACT_113551 - - seed.compound: - - cpd09464 - - cpd09463 - - cpd00009 - - unipathway.compound: UPC00009 - - !!omap - - id: pi_e + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/pi + - http://identifiers.org/biocyc/Pi + - http://identifiers.org/biocyc/PHOSPHATE-GROUP + - http://identifiers.org/biocyc/CPD0-1421 + - http://identifiers.org/cas/14265-44-2 + - http://identifiers.org/cas/14265-44-2 + - http://identifiers.org/chebi/CHEBI:37583 + - http://identifiers.org/chebi/CHEBI:7793 + - http://identifiers.org/chebi/CHEBI:37585 + - http://identifiers.org/chebi/CHEBI:34683 + - http://identifiers.org/chebi/CHEBI:14791 + - http://identifiers.org/chebi/CHEBI:34855 + - http://identifiers.org/chebi/CHEBI:29137 + - http://identifiers.org/chebi/CHEBI:29139 + - http://identifiers.org/chebi/CHEBI:63036 + - http://identifiers.org/chebi/CHEBI:26020 + - http://identifiers.org/chebi/CHEBI:39739 + - http://identifiers.org/chebi/CHEBI:32597 + - http://identifiers.org/chebi/CHEBI:32596 + - http://identifiers.org/chebi/CHEBI:43474 + - http://identifiers.org/chebi/CHEBI:63051 + - http://identifiers.org/chebi/CHEBI:43470 + - http://identifiers.org/chebi/CHEBI:9679 + - http://identifiers.org/chebi/CHEBI:35433 + - http://identifiers.org/chebi/CHEBI:4496 + - http://identifiers.org/chebi/CHEBI:45024 + - http://identifiers.org/chebi/CHEBI:18367 + - http://identifiers.org/chebi/CHEBI:26078 + - http://identifiers.org/chebi/CHEBI:39745 + - http://identifiers.org/chebi/CHEBI:24838 + - http://identifiers.org/hmdb/HMDB02142 + - http://identifiers.org/kegg.compound/C13556 + - http://identifiers.org/kegg.compound/C13558 + - http://identifiers.org/kegg.compound/C00009 + - http://identifiers.org/kegg.drug/D05467 + - http://identifiers.org/pubchem.substance/3311 + - http://identifiers.org/reactome/REACT_947590 + - http://identifiers.org/reactome/REACT_109277 + - http://identifiers.org/reactome/REACT_113548 + - http://identifiers.org/reactome/REACT_2255331 + - http://identifiers.org/reactome/REACT_29372 + - http://identifiers.org/reactome/REACT_113550 + - http://identifiers.org/reactome/REACT_113551 + - http://identifiers.org/seed.compound/cpd09464 + - http://identifiers.org/seed.compound/cpd09463 + - http://identifiers.org/seed.compound/cpd00009 + - http://identifiers.org/unipathway.compound/UPC00009 + - !!omap + - id: M_pi_e - name: Phosphate - compartment: e - charge: -2 - formula: HO4P - annotation: !!omap - - bigg.metabolite: pi - - biocyc: - - Pi - - PHOSPHATE-GROUP - - CPD0-1421 - - cas: - - 14265-44-2 - - chebi: - - CHEBI:37583 - - CHEBI:7793 - - CHEBI:37585 - - CHEBI:34683 - - CHEBI:14791 - - CHEBI:34855 - - CHEBI:29137 - - CHEBI:29139 - - CHEBI:63036 - - CHEBI:26020 - - CHEBI:39739 - - CHEBI:32597 - - CHEBI:32596 - - CHEBI:43474 - - CHEBI:63051 - - CHEBI:43470 - - CHEBI:9679 - - CHEBI:35433 - - CHEBI:4496 - - CHEBI:45024 - - CHEBI:18367 - - CHEBI:26078 - - CHEBI:39745 - - CHEBI:24838 - - hmdb: HMDB02142 - - kegg.compound: - - C13556 - - C13558 - - C00009 - - kegg.drug: D05467 - - pubchem.substance: '3311' - - reactome: - - REACT_947590 - - REACT_109277 - - REACT_113548 - - REACT_2255331 - - REACT_29372 - - REACT_113550 - - REACT_113551 - - seed.compound: - - cpd09464 - - cpd09463 - - cpd00009 - - unipathway.compound: UPC00009 - - !!omap - - id: pyr_c + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/pi + - http://identifiers.org/biocyc/Pi + - http://identifiers.org/biocyc/PHOSPHATE-GROUP + - http://identifiers.org/biocyc/CPD0-1421 + - http://identifiers.org/cas/14265-44-2 + - http://identifiers.org/cas/14265-44-2 + - http://identifiers.org/chebi/CHEBI:37583 + - http://identifiers.org/chebi/CHEBI:7793 + - http://identifiers.org/chebi/CHEBI:37585 + - http://identifiers.org/chebi/CHEBI:34683 + - http://identifiers.org/chebi/CHEBI:14791 + - http://identifiers.org/chebi/CHEBI:34855 + - http://identifiers.org/chebi/CHEBI:29137 + - http://identifiers.org/chebi/CHEBI:29139 + - http://identifiers.org/chebi/CHEBI:63036 + - http://identifiers.org/chebi/CHEBI:26020 + - http://identifiers.org/chebi/CHEBI:39739 + - http://identifiers.org/chebi/CHEBI:32597 + - http://identifiers.org/chebi/CHEBI:32596 + - http://identifiers.org/chebi/CHEBI:43474 + - http://identifiers.org/chebi/CHEBI:63051 + - http://identifiers.org/chebi/CHEBI:43470 + - http://identifiers.org/chebi/CHEBI:9679 + - http://identifiers.org/chebi/CHEBI:35433 + - http://identifiers.org/chebi/CHEBI:4496 + - http://identifiers.org/chebi/CHEBI:45024 + - http://identifiers.org/chebi/CHEBI:18367 + - http://identifiers.org/chebi/CHEBI:26078 + - http://identifiers.org/chebi/CHEBI:39745 + - http://identifiers.org/chebi/CHEBI:24838 + - http://identifiers.org/hmdb/HMDB02142 + - http://identifiers.org/kegg.compound/C13556 + - http://identifiers.org/kegg.compound/C13558 + - http://identifiers.org/kegg.compound/C00009 + - http://identifiers.org/kegg.drug/D05467 + - http://identifiers.org/pubchem.substance/3311 + - http://identifiers.org/reactome/REACT_947590 + - http://identifiers.org/reactome/REACT_109277 + - http://identifiers.org/reactome/REACT_113548 + - http://identifiers.org/reactome/REACT_2255331 + - http://identifiers.org/reactome/REACT_29372 + - http://identifiers.org/reactome/REACT_113550 + - http://identifiers.org/reactome/REACT_113551 + - http://identifiers.org/seed.compound/cpd09464 + - http://identifiers.org/seed.compound/cpd09463 + - http://identifiers.org/seed.compound/cpd00009 + - http://identifiers.org/unipathway.compound/UPC00009 + - !!omap + - id: M_pyr_c - name: Pyruvate - compartment: c - charge: -1 - formula: C3H3O3 - annotation: !!omap - - bigg.metabolite: pyr - - biocyc: PYRUVATE - - cas: - - 127-17-3 - - chebi: - - CHEBI:15361 - - CHEBI:14987 - - CHEBI:8685 - - CHEBI:32816 - - CHEBI:45253 - - CHEBI:26466 - - CHEBI:26462 - - hmdb: HMDB00243 - - kegg.compound: C00022 - - lipidmaps: LMFA01060077 - - pubchem.substance: '3324' - - reactome: - - REACT_113557 - - REACT_389680 - - REACT_29398 - - seed.compound: cpd00020 - - unipathway.compound: UPC00022 + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.metabolite/pyr + - http://identifiers.org/biocyc/PYRUVATE + - http://identifiers.org/cas/127-17-3 + - http://identifiers.org/cas/127-17-3 + - http://identifiers.org/chebi/CHEBI:15361 + - http://identifiers.org/chebi/CHEBI:14987 + - http://identifiers.org/chebi/CHEBI:8685 + - http://identifiers.org/chebi/CHEBI:32816 + - http://identifiers.org/chebi/CHEBI:45253 + - http://identifiers.org/chebi/CHEBI:26466 + - http://identifiers.org/chebi/CHEBI:26462 + - http://identifiers.org/hmdb/HMDB00243 + - http://identifiers.org/kegg.compound/C00022 + - http://identifiers.org/lipidmaps/LMFA01060077 + - http://identifiers.org/pubchem.substance/3324 + - http://identifiers.org/reactome/REACT_113557 + - http://identifiers.org/reactome/REACT_389680 + - http://identifiers.org/reactome/REACT_29398 + - http://identifiers.org/seed.compound/cpd00020 + - http://identifiers.org/unipathway.compound/UPC00022 - reactions: - !!omap - - id: ATPM + - id: R_ATPM - name: ATP maintenance requirement - - metabolites: !!omap - - 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: '' + - metabolites: !!omap + - M_atp_c: -1.0 + - M_h2o_c: -1.0 + - M_adp_c: 1.0 + - M_h_c: 1.0 + - M_pi_c: 1.0 - objective_coefficient: 1.0 - annotation: !!omap - - bigg.reaction: ATPM + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/ATPM - !!omap - - id: D_LACt2 + - id: R_D_LACt2 - name: '' - - metabolites: !!omap [] - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: '' + - metabolites: !!omap [] - !!omap - - id: ENO + - id: R_ENO - name: enolase - - metabolites: !!omap - - 2pg_c: -1.0 - - h2o_c: 1.0 - - pep_c: 1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b2779 + - metabolites: !!omap + - M_2pg_c: -1.0 + - M_pep_c: 1.0 + - M_h2o_c: 1.0 - annotation: !!omap - - bigg.reaction: ENO + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/ENO - !!omap - - id: EX_glc__D_e + - id: R_EX_glc__D_e - name: D-Glucose exchange - - metabolites: !!omap - - glc__D_e: -1.0 - lower_bound: -10.0 - upper_bound: 1000.0 - gene_reaction_rule: '' + - metabolites: !!omap + - M_glc__D_e: -1.0 - annotation: !!omap - - bigg.reaction: glc - sbo: SBO:0000627 + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/glc - !!omap - - id: EX_h_e + - id: R_EX_h_e - name: H+ exchange - - metabolites: !!omap - - h_e: -1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: '' + - metabolites: !!omap + - M_h_e: -1.0 - annotation: !!omap - - bigg.reaction: h - sbo: SBO:0000627 + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/h - !!omap - - id: EX_lac__D_e + - id: R_EX_lac__D_e - name: D-lactate exchange - - metabolites: !!omap - - lac__D_e: -1.0 - lower_bound: 0.0 - upper_bound: 1000.0 - gene_reaction_rule: '' + - metabolites: !!omap + - M_lac__D_e: -1.0 - annotation: !!omap - - bigg.reaction: lac__D - sbo: SBO:0000627 + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/lac__D - !!omap - - id: FBA + - id: R_FBA - name: fructose-bisphosphate aldolase - - metabolites: !!omap - - dhap_c: 1.0 - - fdp_c: -1.0 - - g3p_c: 1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b1773 or b2097 or b2925 + - metabolites: !!omap + - M_fdp_c: -1.0 + - M_dhap_c: 1.0 + - M_g3p_c: 1.0 - annotation: !!omap - - bigg.reaction: FBA + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/FBA - !!omap - - id: GAPD + - id: R_GAPD - name: glyceraldehyde-3-phosphate dehydrogenase - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_nad_c: -1.0 + - M_13dpg_c: 1.0 + - M_nadh_c: 1.0 + - M_g3p_c: -1.0 + - M_pi_c: -1.0 + - M_h_c: 1.0 - annotation: !!omap - - bigg.reaction: GAPD + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/GAPD - !!omap - - id: GLCpts + - id: R_GLCpts - name: D-glucose transport via PEP:Pyr PTS - - metabolites: !!omap - - 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: (b2415 and b2417 and b1101 and b2416) or (b2415 and b2417 and b1621 and b2416) or (b2415 and b1818 and b1817 and b1819 and b2416) + - metabolites: !!omap + - M_g6p_c: 1.0 + - M_pyr_c: 1.0 + - M_glc__D_e: -1.0 + - M_pep_c: -1.0 - annotation: !!omap - - bigg.reaction: GLCpts + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/GLCpts - !!omap - - id: H2Ot + - id: R_H2Ot - name: R H2O transport via - diffusion - - metabolites: !!omap - - h2o_c: 1.0 - - h2o_e: -1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b0875 or s0001 + - metabolites: !!omap + - M_h2o_e: -1.0 + - M_h2o_c: 1.0 - annotation: !!omap - - bigg.reaction: H2Ot + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/H2Ot - !!omap - - id: LDH_D + - id: R_LDH_D - name: D-lactate dehydrogenase - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_lac__D_c: -1.0 + - M_nad_c: -1.0 + - M_h_c: 1.0 + - M_nadh_c: 1.0 + - M_pyr_c: 1.0 - subsystem: Pyruvate Metabolism - annotation: !!omap - - bigg.reaction: LDH_D - - biocyc: META:DLACTDEHYDROGNAD-RXN - - ec-code: 1.1.1.28 - - kegg.reaction: R00704 - - metanetx.reaction: MNXR101037 - - rhea: - - '16369' - - '16370' - - '16371' - - '16372' - sbo: SBO:0000375 - - !!omap - - id: PFK + - standardized: !!omap + - 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 + - !!omap + - id: R_PFK - name: phosphofructokinase - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_f6p_c: -1.0 + - M_atp_c: -1.0 + - M_adp_c: 1.0 + - M_fdp_c: 1.0 + - M_h_c: 1.0 - objective_coefficient: 1.0 - annotation: !!omap - - bigg.reaction: PFK + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PFK - !!omap - - id: PGI + - id: R_PGI - name: glucose-6-phosphate isomerase - - metabolites: !!omap - - f6p_c: 1.0 - - g6p_c: -1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b4025 + - metabolites: !!omap + - M_g6p_c: -1.0 + - M_f6p_c: 1.0 - annotation: !!omap - - bigg.reaction: PGI + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PGI - !!omap - - id: PGK + - id: R_PGK - name: phosphoglycerate kinase - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_3pg_c: -1.0 + - M_atp_c: -1.0 + - M_13dpg_c: 1.0 + - M_adp_c: 1.0 - annotation: !!omap - - bigg.reaction: PGK + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PGK - !!omap - - id: PGM + - id: R_PGM - name: phosphoglycerate mutase - - metabolites: !!omap - - 2pg_c: -1.0 - - 3pg_c: 1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b4395 or b3612 or b0755 + - metabolites: !!omap + - M_2pg_c: -1.0 + - M_3pg_c: 1.0 - annotation: !!omap - - bigg.reaction: PGM + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PGM - !!omap - - id: PIt2r + - id: R_PIt2r - name: R phosphate reversible transport via - symport - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_pi_e: -1.0 + - M_h_e: -1.0 + - M_h_c: 1.0 + - M_pi_c: 1.0 - annotation: !!omap - - bigg.reaction: PIt2r + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PIt2r - !!omap - - id: PYK + - id: R_PYK - name: pyruvate kinase - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_adp_c: -1.0 + - M_h_c: -1.0 + - M_pep_c: -1.0 + - M_atp_c: 1.0 + - M_pyr_c: 1.0 - annotation: !!omap - - bigg.reaction: PYK + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PYK - !!omap - - id: TPI + - id: R_TPI - name: triose-phosphate isomerase - - metabolites: !!omap - - dhap_c: -1.0 - - g3p_c: 1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b3919 + - metabolites: !!omap + - M_dhap_c: -1.0 + - M_g3p_c: 1.0 - annotation: !!omap - - bigg.reaction: TPI + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/TPI - genes: - !!omap - - id: b0755 + - id: G_b0755 - name: gpmA - !!omap - - id: b0875 + - id: G_b0875 - name: aqpZ - !!omap - - id: b1101 + - id: G_b1101 - name: ptsG - !!omap - - id: b1380 + - id: G_b1380 - name: ldhA - !!omap - - id: b1621 + - id: G_b1621 - name: malX - !!omap - - id: b1676 + - id: G_b1676 - name: pykF - annotation: !!omap - - ncbiprotein: - - '1208453' - - '1652654' + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/ncbiprotein/1208453 + - http://identifiers.org/ncbiprotein/1652654 - !!omap - - id: b1723 + - id: G_b1723 - name: pfkB - !!omap - - id: b1773 + - id: G_b1773 - name: ydjI - !!omap - - id: b1779 + - id: G_b1779 - name: gapA - !!omap - - id: b1817 + - id: G_b1817 - name: manX - !!omap - - id: b1818 + - id: G_b1818 - name: manY - !!omap - - id: b1819 + - id: G_b1819 - name: manZ - !!omap - - id: b1854 + - id: G_b1854 - name: pykA - !!omap - - id: b2097 + - id: G_b2097 - name: fbaB - !!omap - - id: b2133 + - id: G_b2133 - name: dld - !!omap - - id: b2415 + - id: G_b2415 - name: ptsH - !!omap - - id: b2416 + - id: G_b2416 - name: ptsI - !!omap - - id: b2417 + - id: G_b2417 - name: crr - !!omap - - id: b2779 + - id: G_b2779 - name: eno - annotation: !!omap - - ncbiprotein: '1653839' + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/ncbiprotein/1653839 - !!omap - - id: b2925 + - id: G_b2925 - name: fbaA - !!omap - - id: b2926 + - id: G_b2926 - name: pgk - annotation: !!omap - - ncbiprotein: '1653609' + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/ncbiprotein/1653609 - !!omap - - id: b2987 + - id: G_b2987 - name: pitB - !!omap - - id: b3493 + - id: G_b3493 - name: pitA - !!omap - - id: b3612 + - id: G_b3612 - name: gpmM - !!omap - - id: b3916 + - id: G_b3916 - name: pfkA - annotation: !!omap - - ncbiprotein: - - '1006614' - - '1651919' + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/ncbiprotein/1006614 + - http://identifiers.org/ncbiprotein/1651919 - !!omap - - id: b3919 + - id: G_b3919 - name: tpiA - !!omap - - id: b4025 + - id: G_b4025 - name: pgi - annotation: !!omap - - ncbiprotein: '1653253' + - standardized: !!omap + - bqb_is: + - resources: + - http://identifiers.org/ncbiprotein/1653253 - !!omap - - id: b4395 + - id: G_b4395 - name: ytjC - !!omap - - id: s0001 + - id: G_s0001 - name: G_s0001 +- groups: [] - id: mini_textbook - compartments: !!omap - c: cytosol diff --git a/src/cobra/data/mini_cobra.xml b/src/cobra/data/mini_cobra.xml index bc0d31f38..a22f61a4a 100644 --- a/src/cobra/data/mini_cobra.xml +++ b/src/cobra/data/mini_cobra.xml @@ -21,19 +21,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -46,23 +46,23 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -75,29 +75,29 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -110,33 +110,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -149,32 +150,33 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -187,25 +189,26 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -218,25 +221,26 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -249,26 +253,27 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -281,19 +286,20 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -306,28 +312,29 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -340,10 +347,11 @@ - - - - + + + + + @@ -356,64 +364,65 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -426,64 +435,65 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -496,37 +506,38 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -539,37 +550,38 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -582,20 +594,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -608,20 +620,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -634,30 +646,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -670,25 +683,26 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -701,24 +715,25 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -731,52 +746,53 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -789,52 +805,53 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -847,25 +864,26 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -889,7 +907,7 @@ - + @@ -905,14 +923,14 @@ - + - + @@ -935,7 +953,7 @@ - + @@ -951,7 +969,7 @@ - + @@ -967,7 +985,7 @@ - + @@ -983,7 +1001,7 @@ - + @@ -1010,7 +1028,7 @@ - + @@ -1036,7 +1054,7 @@ - + @@ -1080,7 +1098,7 @@ - + @@ -1105,15 +1123,15 @@ - - - - - - - - - + + + + + + + + + @@ -1141,7 +1159,7 @@ - + @@ -1169,7 +1187,7 @@ - + @@ -1191,7 +1209,7 @@ - + @@ -1215,7 +1233,7 @@ - + @@ -1241,7 +1259,7 @@ - + @@ -1268,7 +1286,7 @@ - + @@ -1296,7 +1314,7 @@ - + @@ -1322,97 +1340,97 @@ - - - - - + + + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - - - + + + - - + + - + - + - - + + diff --git a/src/cobra/flux_analysis/reaction.py b/src/cobra/flux_analysis/reaction.py index d3f146d4a..ebc8a1e9a 100644 --- a/src/cobra/flux_analysis/reaction.py +++ b/src/cobra/flux_analysis/reaction.py @@ -58,13 +58,14 @@ def assess( if m.slim_optimize(error_value=0.0) >= flux_coefficient_cutoff: return True else: - results = {} - results["precursors"] = assess_component( - model, reaction, "reactants", flux_coefficient_cutoff - ) - results["products"] = assess_component( - model, reaction, "products", flux_coefficient_cutoff - ) + results = { + "precursors": assess_component( + model, reaction, "reactants", flux_coefficient_cutoff + ), + "products": assess_component( + model, reaction, "products", flux_coefficient_cutoff + ), + } return results diff --git a/src/cobra/io/__init__.py b/src/cobra/io/__init__.py index 66d8a1b92..4c7ac6135 100644 --- a/src/cobra/io/__init__.py +++ b/src/cobra/io/__init__.py @@ -2,8 +2,14 @@ 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.mat import load_matlab_model, save_matlab_model +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, create_mat_dict 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 from cobra.io.web import AbstractModelRepository, BiGGModels, BioModels, load_model diff --git a/src/cobra/io/dict.py b/src/cobra/io/dict.py index b0f009d4c..73f565dc9 100644 --- a/src/cobra/io/dict.py +++ b/src/cobra/io/dict.py @@ -1,12 +1,25 @@ """Provide functions for cobrapy objects to generic Python objects and vice-versa.""" - -from collections import OrderedDict -from operator import attrgetter, itemgetter -from typing import TYPE_CHECKING, Dict, List, Sequence, Set, Union +import itertools +import re +from collections import OrderedDict, defaultdict +from typing import TYPE_CHECKING, Dict, List, Sequence, Set, Tuple, Union import numpy as np -from ..core import Gene, Metabolite, Model, Reaction +from ..core import Gene, Group, Metabolite, Model, Reaction +from ..core.metadata import MetaData +from ..core.metadata.helper import URL_IDENTIFIERS_PATTERN, parse_identifiers_uri +from ..io.sbml import ( + F_GENE, + F_GENE_REV, + F_GROUP, + F_GROUP_REV, + F_REACTION, + F_REACTION_REV, + F_REPLACE, + F_SPECIE, + F_SPECIE_REV, +) from ..util.solver import set_objective @@ -16,7 +29,6 @@ _REQUIRED_REACTION_ATTRIBUTES = [ "id", "name", - "metabolites", "lower_bound", "upper_bound", "gene_reaction_rule", @@ -57,6 +69,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, @@ -67,9 +87,25 @@ } +def flatten(list_of_lists: Union[List, Tuple]) -> List: + """Flatten lists of lists. + + Parameters + ---------- + list_of_lists: List or Tuple + List or Tuple of lists or tuples to flatten. + + Returns + ------- + list: flattened list + + """ + return list(itertools.chain.from_iterable(list_of_lists)) + + def _fix_type( value: Union[str, np.float, np.bool, Set, Dict] -) -> Union[str, float, bool, List, OrderedDict]: +) -> Union[str, float, bool, List, OrderedDict, Dict]: """Convert possible types to correct Python types. Parameters @@ -86,6 +122,8 @@ def _fix_type( # Because numpy floats can not be pickled to json if isinstance(value, str): return str(value) + if isinstance(value, np.float) and (np.isnan(value) or np.isinf(value)): + return str(value) if isinstance(value, np.float): return float(value) if isinstance(value, np.bool): @@ -94,6 +132,8 @@ def _fix_type( return list(value) if isinstance(value, dict): return OrderedDict((key, value[key]) for key in sorted(value)) + if isinstance(value, MetaData): + return value.to_dict() # handle legacy Formula type if value.__class__.__name__ == "Formula": return str(value) @@ -131,19 +171,78 @@ def _update_optional( """ for key in ordered_keys: default = optional_attribute_dict[key] - value = getattr(cobra_object, key) + value = getattr(cobra_object, key, None) if value is None or value == default: continue new_dict[key] = _fix_type(value) -def _metabolite_to_dict(metabolite: Metabolite) -> OrderedDict: +def _fix_id_from_dict( + _id_to_fix: str, + _class_to_fix_to: str, + f_replace: dict = F_REPLACE, # noqa: W0102 +): + if f_replace is None: + f_replace = {} + if not f_replace: + return _id_to_fix + if _class_to_fix_to == "Metabolite": + return F_REPLACE[F_SPECIE](_id_to_fix) + elif _class_to_fix_to == "Reaction": + return F_REPLACE[F_REACTION](_id_to_fix) + elif _class_to_fix_to == "Gene": + return F_REPLACE[F_GENE](_id_to_fix) + elif _class_to_fix_to == "Group": + return F_REPLACE[F_GROUP](_id_to_fix) + + +def _fix_value_from_dict(_key: str, _value_to_fix: Union[List, str]): + if _key == "annotation": + # if annotation is in the form of list of list, modify the format + # https://github.com/opencobra/cobrapy/issues/736 + if isinstance(_value_to_fix, list) and isinstance(_value_to_fix[0], list): + _value_to_fix = flatten(_value_to_fix) + anno_dict = defaultdict(list) + if isinstance(_value_to_fix, list): + for item in _value_to_fix: + if re.match(URL_IDENTIFIERS_PATTERN, item): + provider, identifier = parse_identifiers_uri(item) + anno_dict[provider].append(identifier) + _value_to_fix = anno_dict + _value_to_fix = MetaData.from_dict(_value_to_fix) + elif _key == "lower_bound" or _key == "upper_bound": + _value_to_fix = float(_value_to_fix) + + return _value_to_fix + + +def _get_by_id( + _id: str, _object_to_get: str, model: Model +) -> Union[Gene, Metabolite, Group, Reaction]: + if _object_to_get == "Reaction": + return model.reactions.get_by_id(_id) + elif _object_to_get == "Metabolite": + return model.metabolites.get_by_id(_id) + elif _object_to_get == "Group": + return model.groups.get_by_id(_id) + elif _object_to_get == "Gene": + return model.genes.get_by_id(_id) + + +def _metabolite_to_dict( + metabolite: Metabolite, f_replace: dict = F_REPLACE # noqa: W0102 +) -> OrderedDict: """Convert a cobra Metabolite object to dictionary. Parameters ---------- metabolite : cobra.Metabolite The cobra.Metabolite to convert to dictionary. + f_replace : dict of replacement functions for id replacement + Dictionary of replacement functions for gene, specie, and reaction. + By default, the following id changes are performed on import: + clip G_ from genes, clip M_ from species, clip R_ from reactions + If no replacements should be performed, set f_replace={} or None Returns ------- @@ -155,9 +254,15 @@ def _metabolite_to_dict(metabolite: Metabolite) -> OrderedDict: _metabolite_from_dict : Convert a dictionary to cobra Metabolite object. """ + if f_replace is None: + f_replace = {} + new_metabolite = OrderedDict() for key in _REQUIRED_METABOLITE_ATTRIBUTES: - new_metabolite[key] = _fix_type(getattr(metabolite, key)) + if key == "id" and f_replace and F_SPECIE_REV in f_replace: + new_metabolite[key] = _fix_type(f_replace[F_SPECIE_REV](metabolite.id)) + else: + new_metabolite[key] = _fix_type(getattr(metabolite, key)) _update_optional( metabolite, new_metabolite, @@ -167,7 +272,9 @@ def _metabolite_to_dict(metabolite: Metabolite) -> OrderedDict: return new_metabolite -def _metabolite_from_dict(metabolite: Dict) -> Metabolite: +def _metabolite_from_dict( + metabolite: Dict, f_replace: dict = F_REPLACE # noqa: W0102 +) -> Metabolite: """Convert a dictionary to cobra Metabolite object. Parameters @@ -184,9 +291,17 @@ def _metabolite_from_dict(metabolite: Dict) -> Metabolite: _metabolite_to_dict : Convert a cobra Metabolite object to dictionary. """ - new_metabolite = Metabolite() - for k, v in metabolite.items(): - setattr(new_metabolite, k, v) + if f_replace is None: + f_replace = {} + + new_metabolite = Metabolite( + _fix_id_from_dict(metabolite["id"], "Metabolite", f_replace) + ) + [ + setattr(new_metabolite, k, _fix_value_from_dict(k, v)) + for k, v in metabolite.items() + if k != "id" + ] return new_metabolite @@ -210,14 +325,17 @@ def _gene_to_dict(gene: Gene) -> OrderedDict: """ 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 ) return new_gene -def gene_from_dict(gene: Dict) -> Gene: +def gene_from_dict(gene: Dict, f_replace: dict = F_REPLACE) -> Gene: # noqa: W0102 """Convert a dictionary to cobra Gene object. Parameters @@ -235,9 +353,15 @@ def gene_from_dict(gene: Dict) -> Gene: _gene_to_dict : Convert a cobra Gene object to a dictionary. """ - new_gene = Gene(gene["id"]) - for k, v in gene.items(): - setattr(new_gene, k, v) + if f_replace is None: + f_replace = {} + + new_gene = Gene(_fix_id_from_dict(gene["id"], "Gene", f_replace)) + [ + setattr(new_gene, k, _fix_value_from_dict(k, v)) + for k, v in gene.items() + if k != "id" + ] return new_gene @@ -261,22 +385,18 @@ def _reaction_to_dict(reaction: Reaction) -> OrderedDict: """ new_reaction = OrderedDict() for key in _REQUIRED_REACTION_ATTRIBUTES: - if key != "metabolites": - if key == "lower_bound" and ( - np.isnan(reaction.lower_bound) or np.isinf(reaction.lower_bound) - ): - new_reaction[key] = str(_fix_type(getattr(reaction, key))) - elif key == "upper_bound" and ( - np.isnan(reaction.upper_bound) or np.isinf(reaction.upper_bound) - ): - new_reaction[key] = str(_fix_type(getattr(reaction, key))) - 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] - new_reaction["metabolites"] = mets + if key == "id": + new_reaction[key] = _fix_type(F_REPLACE[F_REACTION_REV](reaction.id)) + else: + new_reaction[key] = _fix_type(getattr(reaction, key)) + if F_REPLACE and F_SPECIE_REV in F_REPLACE: + mets = { + F_REPLACE[F_SPECIE_REV](met.id): stoic + for met, stoic in reaction.metabolites.items() + } + else: + mets = {met.id: stoic for met, stoic in reaction.metabolites.items()} + new_reaction["metabolites"] = OrderedDict(mets) _update_optional( reaction, new_reaction, @@ -286,7 +406,9 @@ def _reaction_to_dict(reaction: Reaction) -> OrderedDict: return new_reaction -def _reaction_from_dict(reaction: Dict, model: Model) -> Reaction: +def _reaction_from_dict( + reaction: Dict, model: Model, f_replace: Dict = F_REPLACE # noqa: W0102 +) -> Reaction: """Convert a dictionary to a cobra Reaction object. Parameters @@ -306,26 +428,93 @@ def _reaction_from_dict(reaction: Dict, model: Model) -> Reaction: _reaction_to_dict : Convert a cobra Reaction object to a dictionary. """ - new_reaction = Reaction() - for k, v in reaction.items(): - if k in {"objective_coefficient", "reversibility", "reaction"}: - continue - elif k == "metabolites": - new_reaction.add_metabolites( - OrderedDict( - (model.metabolites.get_by_id(str(met)), coeff) - for met, coeff in v.items() - ) + if f_replace is None: + f_replace = {} + + new_reaction = Reaction(_fix_id_from_dict(reaction["id"], "Reaction", f_replace)) + [ + setattr(new_reaction, k, _fix_value_from_dict(k, v)) + for k, v in reaction.items() + if k + not in { + "id", + "objective_coefficient", + "reversibility", + "reaction", + "metabolites", + } + ] + + new_reaction.add_metabolites( + OrderedDict( + ( + model.metabolites.get_by_id( + _fix_id_from_dict(str(met), "Metabolite", f_replace) + ), + coeff, ) - else: - if k == "lower_bound" or k == "upper_bound": - setattr(new_reaction, k, float(v)) - else: - setattr(new_reaction, k, v) + for met, coeff in reaction.get("metabolites", {}).items() + ) + ) return new_reaction -def model_to_dict(model: Model, sort: bool = False) -> OrderedDict: +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, f_replace=F_REPLACE # noqa: W0102 +) -> Group: + if f_replace is None: + f_replace = {} + + new_group = Group(_fix_id_from_dict(group["id"], "Group")) + [ + setattr(new_group, k, _fix_value_from_dict(k, v)) + for k, v in group.items() + if k not in {"id", "members"} + ] + cobra_members = [ + _get_by_id( + _fix_id_from_dict(member["idRef"], member["type"], f_replace), + member["type"], + model, + ) + for member in group["members"] + ] + new_group.add_members(cobra_members) + return new_group + + +def model_to_dict( + model: Model, sort: bool = False, f_replace: dict = F_REPLACE # noqa: W0102 +) -> OrderedDict: """Convert a cobra Model to a dictionary. Parameters @@ -335,6 +524,11 @@ def model_to_dict(model: Model, sort: bool = False) -> OrderedDict: sort : bool, optional Whether to sort the metabolites, reactions, and genes or maintain the order defined in the model (default False). + f_replace : dict of replacement functions for id replacement + Dictionary of replacement functions for gene, specie, and reaction. + By default, the following id changes are performed on import: + clip G_ from genes, clip M_ from species, clip R_ from reactions + If no replacements should be performed, set f_replace={} or None Returns ------- @@ -349,19 +543,29 @@ def model_to_dict(model: Model, sort: bool = False) -> OrderedDict: model_from_dict : Convert a dictionary to a cobra Model. """ + if f_replace is None: + f_replace = {} + obj = OrderedDict() 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 + if hasattr(model, "_sbml"): + obj["sbml_info"] = OrderedDict( + {key: _fix_type(value) for key, value in model._sbml.items()} + ) obj["id"] = model.id _update_optional( model, obj, _OPTIONAL_MODEL_ATTRIBUTES, _ORDERED_OPTIONAL_MODEL_KEYS ) if sort: - get_id = itemgetter("id") - obj["metabolites"].sort(key=get_id) - obj["reactions"].sort(key=get_id) - obj["genes"].sort(key=get_id) + obj["metabolites"].sort(key=lambda x: x["id"]) + obj["reactions"].sort(key=lambda x: x["id"]) + obj["genes"].sort(key=lambda x: x["id"]) + obj["groups"].sort(key=lambda x: x["id"]) return obj @@ -408,11 +612,24 @@ def model_from_dict(obj: Dict) -> Model: 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) - for k, v in obj.items(): - if k in {"id", "name", "notes", "compartments", "annotation"}: - setattr(model, k, v) + + # sbml meta info + if "sbml_info" in obj: + meta = {k: _fix_value_from_dict(k, v) for k, v in obj["sbml_info"].items()} + model._sbml = meta + + [ + setattr(model, k, _fix_value_from_dict(k, v)) + for k, v in obj.items() + if k in {"id", "name", "compartments", "annotation", "notes"} + ] + return model diff --git a/src/cobra/io/json.py b/src/cobra/io/json.py index 8fec5191d..31c20be70 100644 --- a/src/cobra/io/json.py +++ b/src/cobra/io/json.py @@ -1,6 +1,11 @@ """Provide functions for I/O in JSON format.""" from pathlib import Path -from typing import TYPE_CHECKING, Any, Union +from typing import TYPE_CHECKING, Any, Dict, List, Union + +import jsonschema +from importlib_resources import files + +from cobra import io as cio from .dict import model_from_dict, model_to_dict @@ -17,6 +22,18 @@ JSON_SPEC = "1" +def json_schema_v1() -> Dict: + with files(cio).joinpath("schema_v1.json").open("r") as handle: + schema_v1 = json.load(handle) + return schema_v1 + + +def json_schema_v2() -> Dict: + with files(cio).joinpath("schema_v2.json").open("r") as handle: + schema_v2 = json.load(handle) + return schema_v2 + + def to_json(model: "Model", sort: bool = False, **kwargs: Any) -> str: """Return the model as a JSON string. @@ -72,7 +89,7 @@ def save_json_model( filename: Union[str, Path], sort: bool = False, pretty: bool = False, - **kwargs: Any + **kwargs: Any, ) -> None: """Write the cobra model to a file in JSON format. @@ -80,7 +97,7 @@ def save_json_model( ---------- 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 @@ -130,7 +147,7 @@ def load_json_model(filename: Union[str, Path]) -> "Model": 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. @@ -149,3 +166,48 @@ def load_json_model(filename: Union[str, Path]) -> "Model": 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." + ) + + # TODO - Should the validator be picked by schema? + # Something like validators.validator_for + validator = jsonschema.Draft7Validator(schema) + + try: + if isinstance(filename, (str, Path)): + 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/mat.py b/src/cobra/io/mat.py index ae436b646..6efe0d48b 100644 --- a/src/cobra/io/mat.py +++ b/src/cobra/io/mat.py @@ -908,7 +908,7 @@ def from_mat_struct( new_group = Group( id=g_name, name=g_name, members=group_members, kind="partonomy" ) - new_group.annotation["sbo"] = "SBO:0000633" + new_group.annotation["sbo"] = ["SBO:0000633"] new_groups.append(new_group) model.add_groups(new_groups) diff --git a/src/cobra/io/sbml.py b/src/cobra/io/sbml.py index 48eed544b..2f2cfd96b 100644 --- a/src/cobra/io/sbml.py +++ b/src/cobra/io/sbml.py @@ -9,6 +9,7 @@ Parsing of fbc models was implemented as efficient as possible, whereas (discouraged) fallback solutions are not optimized for efficiency. +#TODO - fix the following paragraph, which is incorrect. Load up keyvalue pairs from notes?? Notes are only supported in a minimal way relevant for constraint-based models. I.e., structured information from notes in the form

key: value

@@ -19,8 +20,6 @@ Annotations are read in the Object.annotation fields. Some SBML related issues are still open, please refer to the respective issue: -- update annotation format and support qualifiers (depends on decision - for new annotation format; https://github.com/opencobra/cobrapy/issues/684) - write compartment annotations and notes (depends on updated first-class compartments; see https://github.com/opencobra/cobrapy/issues/760) - support compression on file handles (depends on solution for @@ -36,13 +35,27 @@ from copy import deepcopy from io import StringIO from sys import platform -from typing import IO, Match, Optional, Pattern, Tuple, Type, Union +from typing import IO, List, Match, Optional, Pattern, Tuple, Type, Union +from warnings import warn import libsbml import cobra -from ..core import GPR, Gene, Group, Metabolite, Model, Reaction +from ..core import ( + GPR, + Creator, + CVTerm, + CVTermList, + ExternalResources, + Gene, + Group, + Metabolite, + MetaData, + Model, + Reaction, +) +from ..core.metadata.history import STRTIME_FORMAT from ..manipulation.validate import check_metabolite_compartment_formula from ..util.solver import linear_reaction_coefficients, set_objective @@ -600,40 +613,6 @@ def _sbml_to_model( cobra_model = Model(model_id) cobra_model.name = model.getName() or None - # meta information - meta = { - "model.id": model_id, - "level": model.getLevel(), - "version": model.getVersion(), - "packages": [], - } - # History - creators = [] - created = None - if model.isSetModelHistory(): - history: "libsbml.ModelHistory" = model.getModelHistory() - - if history.isSetCreatedDate(): - created = history.getCreatedDate() - - c: "libsbml.ModelCreator" - for c in history.getListCreators(): - 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 = f"<{model_id}> SBML L{model.getLevel()}V{model.getVersion()}" packages = {} for k in range(doc.getNumPlugins()): @@ -646,8 +625,17 @@ def _sbml_to_model( f"SBML package '{key}' not supported by cobrapy, " f"information is not parsed" ) - meta["info"] = info - meta["packages"] = packages + + # meta information + meta = { + "model.id": model_id, + "level": model.getLevel(), + "version": model.getVersion(), + "packages": packages, + "notes": _parse_notes_dict(doc), + "annotation": _parse_annotations(doc), + "info": info, + } cobra_model._sbml = meta # notes and annotations @@ -657,9 +645,8 @@ def _sbml_to_model( # Compartments # FIXME: update with new compartments compartments = {} - for ( - compartment - ) in model.getListOfCompartments(): # noqa: E501 type: libsbml.Compartment + compartment: libsbml.Compartment + for compartment in model.getListOfCompartments(): cid = _check_required(compartment, compartment.getIdAttribute(), "id") compartments[cid] = compartment.getName() cobra_model.compartments = compartments @@ -693,17 +680,16 @@ def _sbml_to_model( f"discouraged, use fbc:charge instead: {specie}" ) met.charge = specie.getCharge() - else: - if "CHARGE" in met.notes: - LOGGER.warning( - f"Use of CHARGE in the notes element is " - f"discouraged, use fbc:charge instead: {specie}" - ) - try: - met.charge = int(met.notes["CHARGE"]) - except ValueError: - # handle nan, na, NA, ... - pass + elif "CHARGE" in met.notes: + LOGGER.warning( + f"Use of CHARGE in the notes element is " + f"discouraged, use fbc:charge instead: {specie}" + ) + try: + met.charge = int(met.notes["CHARGE"]) + except ValueError: + # handle nan, na, NA, ... + pass if "FORMULA" in met.notes: LOGGER.warning( @@ -726,7 +712,7 @@ def _sbml_to_model( ex_rid = f"EX_{met.id}" ex_reaction = Reaction(ex_rid) ex_reaction.name = ex_rid - ex_reaction.annotation = {"sbo": SBO_EXCHANGE_REACTION} + ex_reaction.annotation = {"sbo": [SBO_EXCHANGE_REACTION]} ex_reaction.lower_bound = config.lower_bound ex_reaction.upper_bound = config.upper_bound LOGGER.warning( @@ -740,9 +726,8 @@ def _sbml_to_model( # Genes if model_fbc: - for ( - gp - ) in model_fbc.getListOfGeneProducts(): # noqa: E501 type: libsbml.GeneProduct + gp: "libsbml.GeneProduct" + for gp in model_fbc.getListOfGeneProducts(): gid = _check_required(gp, gp.getIdAttribute(), "id") if f_replace and F_GENE in f_replace: gid = f_replace[F_GENE](gid) @@ -755,18 +740,11 @@ def _sbml_to_model( cobra_model.genes.append(cobra_gene) else: - for ( - cobra_reaction - ) in model.getListOfReactions(): # noqa: E501 type: libsbml.Reaction + cobra_reaction: "libsbml.Reaction" + for cobra_reaction in model.getListOfReactions(): # fallback to notes information notes = _parse_notes_dict(cobra_reaction) - if "GENE ASSOCIATION" in notes: - gpr = notes["GENE ASSOCIATION"] - elif "GENE_ASSOCIATION" in notes: - gpr = notes["GENE_ASSOCIATION"] - else: - gpr = "" - + gpr = notes.get("GENE ASSOCIATION", "") or notes.get("GENE_ASSOCIATION", "") if len(gpr) > 0: gpr = gpr.replace("(", ";") gpr = gpr.replace(")", ";") @@ -861,14 +839,10 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: elif reaction.isSetKineticLaw(): # some legacy models encode bounds in kinetic laws klaw: "libsbml.KineticLaw" = reaction.getKineticLaw() - p_lb = klaw.getParameter( - "LOWER_BOUND" - ) # noqa: E501 type: libsbml.LocalParameter + p_lb: "libsbml.LocalParameter" = klaw.getParameter("LOWER_BOUND") if p_lb: cobra_reaction.lower_bound = p_lb.getValue() - p_ub = klaw.getParameter( - "UPPER_BOUND" - ) # noqa: E501 type: libsbml.LocalParameter + p_ub: "libsbml.LocalParameter" = klaw.getParameter("UPPER_BOUND") if p_ub: cobra_reaction.upper_bound = p_ub.getValue() @@ -902,9 +876,8 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: # parse equation stoichiometry = defaultdict(lambda: 0) - for ( - sref - ) in reaction.getListOfReactants(): # noqa: E501 type: libsbml.SpeciesReference + sref: "libsbml.SpeciesReference" + for sref in reaction.getListOfReactants(): sid = _check_required(sref, sref.getSpecies(), "species") if f_replace and F_SPECIE in f_replace: @@ -913,9 +886,7 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: _check_required(sref, sref.getStoichiometry(), "stoichiometry") ) - for ( - sref - ) in reaction.getListOfProducts(): # noqa: E501 type: libsbml.SpeciesReference + for sref in reaction.getListOfProducts(): sid = _check_required(sref, sref.getSpecies(), "species") if f_replace and F_SPECIE in f_replace: @@ -934,24 +905,15 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: # GPR if r_fbc: gpr = None - gpa = ( - r_fbc.getGeneProductAssociation() - ) # noqa: E501 type: libsbml.GeneProductAssociation + gpa: libsbml.GeneProductAssociation = r_fbc.getGeneProductAssociation() if gpa is not None: - association = ( - gpa.getAssociation() - ) # noqa: E501 type: libsbml.FbcAssociation + association: libsbml.FbcAssociation = gpa.getAssociation() gpr = Module(process_association(association)) cobra_reaction.gpr = GPR(gpr_from=gpr) else: # fallback to notes information notes = cobra_reaction.notes - if "GENE ASSOCIATION" in notes: - gpr = notes["GENE ASSOCIATION"] - elif "GENE_ASSOCIATION" in notes: - gpr = notes["GENE_ASSOCIATION"] - else: - gpr = "" + gpr = notes.get("GENE ASSOCIATION", "") or notes.get("GENE_ASSOCIATION", "") if len(gpr) > 0: LOGGER.warning( @@ -969,9 +931,7 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: obj_direction = "max" coefficients = {} if model_fbc: - obj_list = ( - model_fbc.getListOfObjectives() - ) # noqa: E501 type: libsbml.ListOfObjectives + obj_list: "libsbml.ListOfObjectives" = model_fbc.getListOfObjectives() if obj_list is None: LOGGER.warning("listOfObjectives element not found") elif obj_list.size() == 0: @@ -983,11 +943,8 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: obj: "libsbml.Objective" = model_fbc.getObjective(obj_id) obj_direction = LONG_SHORT_DIRECTION[obj.getType()] - for ( - flux_obj - ) in ( - obj.getListOfFluxObjectives() - ): # noqa: E501 type: libsbml.FluxObjective + flux_obj: "libsbml.FluxObjective" + for flux_obj in obj.getListOfFluxObjectives(): rid = flux_obj.getReaction() if f_replace and F_REACTION in f_replace: rid = f_replace[F_REACTION](rid) @@ -1121,7 +1078,7 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: if f_replace and F_GROUP in f_replace: gid = f_replace[F_GROUP](gid) cobra_group = Group(gid, name=gid, kind="partonomy") - cobra_group.annotation["sbo"] = "SBO:0000633" + cobra_group.annotation["sbo"] = ["SBO:0000633"] cobra_group.add_members(cobra_members) groups.append(cobra_group) @@ -1226,49 +1183,20 @@ def _model_to_sbml( if cobra_model.name is not None: model.setName(cobra_model.name) - # for parsing annotation corresponding to the model + # for parsing annotation corresponding to the model, including model history _sbase_annotations(model, cobra_model.annotation) # for parsing notes corresponding to the model _sbase_notes_dict(model, cobra_model.notes) # Meta information (ModelHistory) related to SBMLDocument - if hasattr(cobra_model, "_sbml"): - meta = cobra_model._sbml + meta = getattr(cobra_model, "_sbml", None) + if meta: if "annotation" in meta: _sbase_annotations(doc, meta["annotation"]) + if "notes" in meta: _sbase_notes_dict(doc, meta["notes"]) - history: "libsbml.ModelHistory" = 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') - # Units flux_udef = None if units: @@ -1379,16 +1307,12 @@ def _model_to_sbml( if f_replace and F_SPECIE_REV in f_replace: sid = f_replace[F_SPECIE_REV](sid) if stoichiometry < 0: - sref = ( - reaction.createReactant() - ) # noqa: E501 type: libsbml.SpeciesReference + sref: libsbml.SpeciesReference = reaction.createReactant() sref.setSpecies(sid) sref.setStoichiometry(-stoichiometry) sref.setConstant(True) else: - sref = ( - reaction.createProduct() - ) # noqa: E501 type: libsbml.SpeciesReference + sref: libsbml.SpeciesReference = reaction.createProduct() sref.setSpecies(sid) sref.setStoichiometry(stoichiometry) sref.setConstant(True) @@ -1426,18 +1350,14 @@ def _model_to_sbml( else: gpr_new = gpr.to_string() - gpa = ( - r_fbc.createGeneProductAssociation() - ) # noqa: E501 type: libsbml.GeneProductAssociation + gpa: libsbml.GeneProductAssociation = r_fbc.createGeneProductAssociation() # uses ids to identify GeneProducts (True), # does not create GeneProducts (False) _check(gpa.setAssociation(gpr_new, True, False), "set gpr: " + gpr_new) # objective coefficients if reaction_coefficients.get(cobra_reaction, 0) != 0: - flux_obj = ( - objective.createFluxObjective() - ) # noqa: E501 type: libsbml.FluxObjective + flux_obj: libsbml.FluxObjective = objective.createFluxObjective() flux_obj.setReaction(rid) flux_obj.setCoefficient(cobra_reaction.objective_coefficient) @@ -1447,9 +1367,7 @@ def _model_to_sbml( "http://www.sbml.org/sbml/level3/version1/groups/version1", "groups", True ) doc.setPackageRequired("groups", False) - model_group = model.getPlugin( - "groups" - ) # noqa: E501 type: libsbml.GroupsModelPlugin + model_group: libsbml.GroupsModelPlugin = model.getPlugin("groups") for cobra_group in cobra_model.groups: group: "libsbml.Group" = model_group.createGroup() if f_replace and F_GROUP_REV in f_replace: @@ -1469,15 +1387,12 @@ def _model_to_sbml( m_type = str(type(cobra_member)) # id replacements - if "Reaction" in m_type: - if f_replace and F_REACTION_REV in f_replace: - mid = f_replace[F_REACTION_REV](mid) - if "Metabolite" in m_type: - if f_replace and F_SPECIE_REV in f_replace: - mid = f_replace[F_SPECIE_REV](mid) - if "Gene" in m_type: - if f_replace and F_GENE_REV in f_replace: - mid = f_replace[F_GENE_REV](mid) + if "Reaction" in m_type and f_replace and F_REACTION_REV in f_replace: + mid = f_replace[F_REACTION_REV](mid) + if "Metabolite" in m_type and f_replace and F_SPECIE_REV in f_replace: + mid = f_replace[F_SPECIE_REV](mid) + if "Gene" in m_type and f_replace and F_GENE_REV in f_replace: + mid = f_replace[F_GENE_REV](mid) member.setIdRef(mid) if cobra_member.name and len(cobra_member.name) > 0: @@ -1733,21 +1648,21 @@ def _sbase_notes_dict(sbase: libsbml.SBase, notes: dict) -> None: 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, +QUALIFIER_TYPES_COBRA_SBML_DICT = { + "bqb_is": libsbml.BQB_IS, + "bqb_hasPart": libsbml.BQB_HAS_PART, + "bqb_isPartOf": libsbml.BQB_IS_PART_OF, + "bqb_isVersionOf": libsbml.BQB_IS_VERSION_OF, + "bqb_hasVersion": libsbml.BQB_HAS_VERSION, + "bqb_isHomologTo": libsbml.BQB_IS_HOMOLOG_TO, + "bqb_isDescribedBy": libsbml.BQB_IS_DESCRIBED_BY, + "bqb_isEncodedBy": libsbml.BQB_IS_ENCODED_BY, + "bqb_encodes": libsbml.BQB_ENCODES, + "bqb_occursIn": libsbml.BQB_OCCURS_IN, + "bqb_hasProperty": libsbml.BQB_HAS_PROPERTY, + "bqb_isPropertyOf": libsbml.BQB_IS_PROPERTY_OF, + "bqb_hasTaxon": libsbml.BQB_HAS_TAXON, + "bqb_unknown": libsbml.BQB_UNKNOWN, "bqm_is": libsbml.BQM_IS, "bqm_isDescribedBy": libsbml.BQM_IS_DESCRIBED_BY, "bqm_isDerivedFrom": libsbml.BQM_IS_DERIVED_FROM, @@ -1755,12 +1670,33 @@ def _sbase_notes_dict(sbase: libsbml.SBase, notes: dict) -> None: "bqm_hasInstance": libsbml.BQM_HAS_INSTANCE, "bqm_unknown": libsbml.BQM_UNKNOWN, } +BIOLOGY_QUALIFIER_TYPES_TO_COBRA_DICT = { + value: key + for key, value in QUALIFIER_TYPES_COBRA_SBML_DICT.items() + if re.match("bqb", key) +} +MODEL_QUALIFIER_TYPES_TO_COBRA_DICT = { + value: key + for key, value in QUALIFIER_TYPES_COBRA_SBML_DICT.items() + if re.match("bqm", key) +} -def _parse_annotations(sbase: libsbml.SBase) -> dict: +def _parse_annotations(sbase: libsbml.SBase) -> MetaData: """Parse 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 ---------- @@ -1769,15 +1705,13 @@ def _parse_annotations(sbase: libsbml.SBase) -> dict: Returns ------- - dict (annotation dictionary) + MetaData + a metadata object storing COBRA annotation """ - # FIXME: annotation format must be updated (this is a big collection of - # fixes) - see: https://github.com/opencobra/cobrapy/issues/684) - annotation = {} + annotation = MetaData() # SBO term if sbase.isSetSBOTerm(): - # FIXME: correct handling of annotations annotation["sbo"] = sbase.getSBOTermID() # RDF annotation @@ -1785,27 +1719,76 @@ def _parse_annotations(sbase: libsbml.SBase) -> dict: if cvterms is None: return annotation - cvterm: "libsbml.CVTerm" - for cvterm in cvterms: - for k in range(cvterm.getNumResources()): - # FIXME: read and store the qualifier + def _cvterm_to_cobra(_cvterm: "libsbml.CVTerm") -> Optional[CVTerm]: + """Parse the libsbml.CVTerm object to cobra CVTerm. - 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], str): - 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 + Parameters + ---------- + _cvterm : libsbml.CVTerm + The libsbml.CVTerm object from which data is to be parsed. + + Returns + ------- + CVTerm or None + The parsed data of the given libsbml.CVTerm object as CVTerm. + If the qualifier is unknown, this function will return None. + """ + qualifier_type = _cvterm.getQualifierType() + if qualifier_type == libsbml.BIOLOGICAL_QUALIFIER: + qualifier = BIOLOGY_QUALIFIER_TYPES_TO_COBRA_DICT[ + _cvterm.getBiologicalQualifierType() + ] + elif qualifier_type == libsbml.MODEL_QUALIFIER: + qualifier = MODEL_QUALIFIER_TYPES_TO_COBRA_DICT[ + _cvterm.getModelQualifierType() + ] + else: + LOGGER.warning(f"The cvterm {_cvterm} has an unkown qualifier. Ignoring it") + return None + ext_res = { + "resources": [ + _cvterm.getResourceURI(k) for k in range(_cvterm.getNumResources()) + ] + } + + nested_cv_terms = [ + _cvterm.getNestedCVTerm(index) + for index in range(_cvterm.getNumNestedCVTerms()) + ] + # This kludge is necessary since _cvterm.getListNestedCVTerms() doesn't give a + # python list, but a Swig List_t * and then SwigPyObject is not iterable + ext_res["nested_data"] = CVTermList( + [ + _cvterm_to_cobra(_nested_cvterm) + for _nested_cvterm in nested_cv_terms + if _nested_cvterm + ] + ) + return CVTerm(ExternalResources.from_dict(ext_res), qualifier) + + annotation.add_cvterms([_cvterm_to_cobra(cvterm) for cvterm in cvterms if cvterm]) + + # history of the component + if sbase.isSetModelHistory(): + model_history: "libsbml.ModelHistory" = sbase.getModelHistory() + + annotation.history.creators = [ + Creator( + creator.getGivenName() or None, + creator.getFamilyName() or None, + creator.getEmail() or None, + creator.getOrganisation() or None, + ) + for creator in model_history.getListCreators() + ] + + if model_history.isSetCreatedDate(): + date: libsbml.Date = model_history.getCreatedDate() + annotation.history.created_date = date.getDateAsString() + + annotation.history.modified_dates = [ + _date.getDateAsString() for _date in model_history.getListModifiedDates() + ] return annotation @@ -1821,7 +1804,15 @@ def _parse_annotation_info(uri: str) -> Union[None, Tuple[str, str]]: Returns ------- (provider, identifier) if resolvable, None otherwise + + .. deprecated :: + Use cobra.core.metadata.helper.parse_identifiers_uri() """ + warn( + "_parse_annotation_info() is being replaced by " + "cobra.core.metadata.helper.parse_identifiers_uri()", + DeprecationWarning, + ) match = URL_IDENTIFIERS_PATTERN.match(uri) if match: provider, identifier = match.group(1), match.group(2) @@ -1839,7 +1830,53 @@ def _parse_annotation_info(uri: str) -> Union[None, Tuple[str, str]]: return provider, identifier -def _sbase_annotations(sbase: libsbml.SBase, annotation: dict) -> None: +def _cvterms_to_sbml(cvterms: CVTermList) -> List["libsbml.CVTerm"]: + """Convert cobra CVTerms to libsbml.CVTerm list. + + Parameters + ---------- + cvterms: CVTermList + cobra CVTerms object + + Returns + ------- + list + List of libsbml.cvTerm objects + """ + cv_list = [] + for cvterm in cvterms: + qualifier = cvterm.qualifier + if qualifier.name.startswith("bqb"): + qualifier_type = libsbml.BIOLOGICAL_QUALIFIER + elif qualifier.name.startswith("bqm"): + qualifier_type = libsbml.MODEL_QUALIFIER + else: + raise CobraSBMLError(f"Unsupported qualifier: {qualifier}") + + cv: "libsbml.CVTerm" = libsbml.CVTerm() + cv.setQualifierType(qualifier_type) + if qualifier_type == libsbml.BIOLOGICAL_QUALIFIER: + cv.setBiologicalQualifierType( + QUALIFIER_TYPES_COBRA_SBML_DICT[qualifier.name] + ) + elif qualifier_type == libsbml.MODEL_QUALIFIER: + cv.setModelQualifierType(QUALIFIER_TYPES_COBRA_SBML_DICT[qualifier.name]) + else: + raise CobraSBMLError(f"Unsupported qualifier: {qualifier}") + for uri in sorted(cvterm.external_resources.resources): + cv.addResource(uri) + + [ + _check(cv.addNestedCVTerm(_cv), f"Adding nested cvterm: {_cv}") + for _cv in _cvterms_to_sbml(cvterm.external_resources.nested_data) + ] + + cv_list.append(cv) + + return cv_list + + +def _sbase_annotations(sbase: libsbml.SBase, annotation: MetaData) -> None: """Set SBase annotations based on cobra annotations. Parameters @@ -1853,73 +1890,78 @@ def _sbase_annotations(sbase: libsbml.SBase, annotation: dict) -> None: ------ CobraSBMLError for unsupported qualifier """ - # 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, str): - annotation_data[key] = [("is", value)] + if not isinstance(annotation_data, MetaData): + raise TypeError( + f"The annotation object must be of type 'Metadata': {annotation_data}" + ) + + if "SBO" in annotation_data: + LOGGER.warning( + "'SBO' provider is deprecated, use 'sbo' provider instead. Converting to" + "'sbo' for writing." + ) + annotation_data["sbo"] = annotation_data.pop("SBO") - for _key, value in annotation_data.items(): - for idx, item in enumerate(value): - if isinstance(item, str): - value[idx] = ("is", item) + if "sbo" in annotation and annotation.sbo: + sbo_term = annotation_data.sbo + if isinstance(sbo_term, list): + sbo_term = sbo_term[0] + _check(sbase.setSBOTerm(sbo_term), f"Setting SBOTerm: {sbo_term}") # set metaId meta_id = f"meta_{sbase.getId()}" sbase.setMetaId(meta_id) - # rdf_items = [] - for provider, data in annotation_data.items(): + # set standardized + [ + # Question for @matthiaskoenig - should I be using createCVTerms? + _check(sbase.addCVTerm(cv, newBag=True), f"Setting cvterm: {cv}") + for cv in _cvterms_to_sbml(annotation.standardized) + ] + + # 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.given_name) + comp_creator.setFamilyName(creator.family_name) + creator.email and comp_creator.setEmail(creator.email) + creator.organisation and comp_creator.setOrganisation(creator.organisation) + _check( + comp_history.addCreator(comp_creator), + f"adding creator to {sbase.getId}.", + ) - # 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), f"Setting SBOTerm: {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( - f"Qualifier type is not supported on annotation: '{qualifier_str}'" - ) + if annotation.history.created_date: + date = libsbml.Date( + annotation.history.created_date.strftime(STRTIME_FORMAT) + ) + _check( + comp_history.setCreatedDate(date), f"set creation date for {sbase.id}" + ) + elif isinstance(sbase, libsbml.SBMLDocument): + time = datetime.datetime.now() + timestr = time.strftime(STRTIME_FORMAT) + date = libsbml.Date(timestr) + _check(comp_history.setCreatedDate(date), "set creation date for document") - qualifier_type = libsbml.BIOLOGICAL_QUALIFIER - if qualifier_str.startswith("bqm_"): - qualifier_type = libsbml.MODEL_QUALIFIER - - cv: "libsbml.CVTerm" = libsbml.CVTerm() - cv.setQualifierType(qualifier_type) - if qualifier_type == libsbml.BIOLOGICAL_QUALIFIER: - cv.setBiologicalQualifierType(qualifier) - elif qualifier_type == libsbml.MODEL_QUALIFIER: - cv.setModelQualifierType(qualifier) - else: - raise CobraSBMLError(f"Unsupported qualifier: {qualifier}") - resource = f"{URL_IDENTIFIERS_PREFIX}/{provider}/{entity}" - cv.addResource(resource) + for modified_date in annotation.history.modified_dates: + date = libsbml.Date(modified_date.strftime(STRTIME_FORMAT)) _check( - sbase.addCVTerm(cv), - f"Setting cvterm: {cv}, resource: {resource}", + comp_history.addModifiedDate(date), + f"add modification date for {sbase.id}", ) + # finally add the compo_history + _check( + sbase.setModelHistory(comp_history), + f"Setting ModelHistory: {comp_history}", + ) + # ----------------------------------------------------------------------------- # Validation @@ -1965,17 +2007,30 @@ def validate_sbml_model( from the libsbml validator. COBRA_* types are from the cobrapy SBML parser. """ - keys = ( - "SBML_FATAL", - "SBML_ERROR", - "SBML_SCHEMA_ERROR", - "SBML_WARNING", - "COBRA_FATAL", - "COBRA_ERROR", - "COBRA_WARNING", - "COBRA_CHECK", - ) - errors = {key: [] for key in keys} + cobra_sbml_error_dict = { + "SBML_FATAL": libsbml.LIBSBML_SEV_FATAL, + "SBML_ERROR": libsbml.LIBSBML_SEV_ERROR, + "SBML_SCHEMA_ERROR": libsbml.LIBSBML_SEV_SCHEMA_ERROR, + "SBML_WARNING": libsbml.LIBSBML_SEV_WARNING, + "COBRA_FATAL": None, + "COBRA_ERROR": None, + "COBRA_WARNING": None, + "COBRA_CHECK": None, + } + sbml_severity_dict = { + value: key for key, value in cobra_sbml_error_dict.items() if value + } + errors = {key: [] for key in cobra_sbml_error_dict.keys()} + sbml_log_dict = { + "SBML_FATAL": "SBML errors", + "SBML_ERROR": "SBML errors", + "SBML_SCHEMA_ERROR": "SBML errors", + "SBML_WARNING": "SBML warnings", + "COBRA_FATAL": "COBRA errors", + "COBRA_ERROR": "COBRA errors", + "COBRA_WARNING": "COBRA warnings", + "COBRA_CHECK": "COBRA warnings", + } # [1] libsbml validation doc: "libsbml.SBMLDocument" = _get_doc_from_filename(filename) @@ -1997,14 +2052,7 @@ def validate_sbml_model( e: "libsbml.SBMLError" = doc.getError(k) msg = _error_string(e, k=k) sev = e.getSeverity() - if sev == libsbml.LIBSBML_SEV_FATAL: - errors["SBML_FATAL"].append(msg) - elif sev == libsbml.LIBSBML_SEV_ERROR: - errors["SBML_ERROR"].append(msg) - elif sev == libsbml.LIBSBML_SEV_SCHEMA_ERROR: - errors["SBML_SCHEMA_ERROR"].append(msg) - elif sev == libsbml.LIBSBML_SEV_WARNING: - errors["SBML_WARNING"].append(msg) + errors[sbml_severity_dict[sev]].append(msg) # [2] cobrapy validation (check that SBML can be read into model) # all warnings generated while loading will be logged as errors @@ -2021,10 +2069,10 @@ def validate_sbml_model( model = _sbml_to_model(doc, **kwargs) except CobraSBMLError as e: errors["COBRA_ERROR"].append(str(e)) - return None, errors + model = None # If we return, we won't get to the errors["COBRA_ERROR"] except Exception as e: errors["COBRA_FATAL"].append(str(e)) - return None, errors + model = None cobra_errors = log_stream.getvalue().split("\n") for cobra_error in cobra_errors: @@ -2045,21 +2093,11 @@ def validate_sbml_model( if check_model: errors["COBRA_CHECK"].extend(check_metabolite_compartment_formula(model)) - for key in ["SBML_FATAL", "SBML_ERROR", "SBML_SCHEMA_ERROR"]: - if len(errors[key]) > 0: - LOGGER.error("SBML errors in validation, check error log for details.") - break - for key in ["SBML_WARNING"]: + for key in sbml_log_dict.keys(): if len(errors[key]) > 0: - LOGGER.error("SBML warnings in validation, check error log for details.") - break - for key in ["COBRA_FATAL", "COBRA_ERROR"]: - if len(errors[key]) > 0: - LOGGER.error("COBRA errors in validation, check error log for details.") - break - for key in ["COBRA_WARNING", "COBRA_CHECK"]: - if len(errors[key]) > 0: - LOGGER.error("COBRA warnings in validation, check error log for details.") + LOGGER.error( + f"{sbml_log_dict[key]} in validation, check error log for details." + ) break return model, 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..2aaadfbe9 --- /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" + }, + "given_name": { + "type": "string" + }, + "family_name": { + "type": "string" + }, + "organisation": { + "type": "string" + } + }, + "required": [ + "given_name", + "family_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 6f989dd2a..9bad70d41 100644 --- a/src/cobra/manipulation/annotate.py +++ b/src/cobra/manipulation/annotate.py @@ -22,15 +22,18 @@ def add_SBO(model: "Model") -> None: The model whose demand and exchange reactions need to be annotated. """ + # ??? Should this be done with boundary? for r in model.reactions: # don't annotate already annotated reactions - if r.annotation.get("sbo"): + if len(r.annotation.get("sbo")) != 0 and r.annotation.sbo: continue # only doing exchanges if len(r.metabolites) != 1: continue met_id = list(r._metabolites)[0].id if r.id.startswith("EX_") and r.id == "EX_" + met_id: - r.annotation["sbo"] = "SBO:0000627" + 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"] + elif r.id.startswith("SK_") and r.id == "SK_" + met_id: + r.annotation["sbo"] = ["SBO:0000632"] diff --git a/src/cobra/manipulation/validate.py b/src/cobra/manipulation/validate.py index 344a05437..34c821690 100644 --- a/src/cobra/manipulation/validate.py +++ b/src/cobra/manipulation/validate.py @@ -33,7 +33,7 @@ def check_mass_balance(model: "Model") -> Dict["Reaction", Dict["Metabolite", fl """ unbalanced = {} for reaction in model.reactions: - if reaction.annotation.get("sbo") not in _NOT_MASS_BALANCED_TERMS: + if set(reaction.annotation.get("sbo", [])).isdisjoint(_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 0229b4bb4..2b327d82a 100644 --- a/src/cobra/medium/boundary_types.py +++ b/src/cobra/medium/boundary_types.py @@ -125,9 +125,9 @@ def is_boundary_type( """ # 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/tests/conftest.py b/tests/conftest.py index 0833f6d55..06792bba0 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -20,7 +20,7 @@ def create_test_model(model_name: str = "salmonella") -> Model: Parameters ---------- model_name: str - One of 'ecoli', 'textbook', or 'salmonella', or the + One of 'ecoli', 'textbook', or 'salmonella', 'ecoli_annotation' or the path to a pickled cobra.Model . Returns @@ -43,6 +43,9 @@ def create_test_model(model_name: str = "salmonella") -> Model: elif model_name == "mini": mini_sbml = str((data_dir / "mini_fbc2.xml").resolve()) return read_sbml_model(mini_sbml) + elif model_name == "ecoli_annotation": + ecoli_annotation_sbml = str((data_dir / "e_coli_core_for_annotation.xml").resolve()) + return read_sbml_model(ecoli_annotation_sbml) elif model_name == "salmonella": salmonella_pickle = str((data_dir / "salmonella.pickle").resolve()) model_name = salmonella_pickle @@ -104,6 +107,18 @@ def salmonella(medium_model: Model) -> Model: return medium_model.copy() +@pytest.fixture(scope="session") +def ecoli_annotation_model() -> Model: + """Provide session-level fixture for ecoli_annotation model.""" + return create_test_model("ecoli_annotation") + + +@pytest.fixture(scope="function") +def annotation_model(ecoli_annotation_model: Model) -> Model: + """Provide function-level fixture for ecoli_annotation model.""" + return ecoli_annotation_model.copy() + + @pytest.fixture(scope="function") def solved_model(data_directory: Path) -> Tuple[Solution, Model]: """Provide function-level fixture for solved textbook model.""" diff --git a/tests/data/cvterms_nested.json b/tests/data/cvterms_nested.json new file mode 100644 index 000000000..e6f169c78 --- /dev/null +++ b/tests/data/cvterms_nested.json @@ -0,0 +1,33 @@ +[ + { + "external_resources": { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://identifiers.org/uniprot/P68871", + "https://identifiers.org/kegg.compound/C00032" + ] + }, + "qualifier": "bqb_hasPart" + }, + { + "qualifier": "bqb_hasPart", + "external_resources": { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://www.uniprot.org/uniprot/P68871", + "https://identifiers.org/chebi/CHEBI:17627" + ], + "nested_data": [ + { + "qualifier": "bqb_isDescribedBy", + "external_resources": { + "resources": [ + "https://identifiers.org/pubmed/1111111", + "https://identifiers.org/eco/000000" + ] + } + } + ] + } + } +] diff --git a/tests/data/e_coli_core.json b/tests/data/e_coli_core.json new file mode 100644 index 000000000..39db77321 --- /dev/null +++ b/tests/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/tests/data/e_coli_core_for_annotation.xml b/tests/data/e_coli_core_for_annotation.xml new file mode 100644 index 000000000..5658f8fdb --- /dev/null +++ b/tests/data/e_coli_core_for_annotation.xml @@ -0,0 +1,8367 @@ + + + + + +
+

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 + + + + + Koenig + Matthias + + koenigmx@hu-berlin.de + + + + Koenig + Matthias + + + Humboldt-University Berlin, Institute for Theoretical Biology + + + + + Koenig + Matthias + + + + + + 2019-03-06T14:40:55Z + + + 2019-03-06T14:40:55Z + + + 2019-03-06T14:41:55Z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Key1 : Value1

+

Key2 : Value2

+
+

A Heading

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

Key3 : Value3

+
+ +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
diff --git a/tests/data/e_coli_new_format.json b/tests/data/e_coli_new_format.json new file mode 100644 index 000000000..450dcf9f4 --- /dev/null +++ b/tests/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", + "given_name": "Matthias", + "family_name": "Koenig", + "organisation": "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" +} diff --git a/tests/data/example_notes.xml b/tests/data/example_notes.xml index 13fcdff15..ccbb3b9fd 100644 --- a/tests/data/example_notes.xml +++ b/tests/data/example_notes.xml @@ -46,7 +46,6 @@ - @@ -72,7 +71,6 @@ - diff --git a/tests/data/iJO1366.pickle b/tests/data/iJO1366.pickle index 3856b85be..6e1185827 100644 Binary files a/tests/data/iJO1366.pickle and b/tests/data/iJO1366.pickle differ diff --git a/tests/data/mini.json b/tests/data/mini.json index df70c0a4f..0a054923e 100644 --- a/tests/data/mini.json +++ b/tests/data/mini.json @@ -5,1120 +5,1224 @@ }, "genes": [ { - "id": "b0755", + "id": "G_b0755", "name": "gpmA" }, { - "id": "b0875", + "id": "G_b0875", "name": "aqpZ" }, { - "id": "b1101", + "id": "G_b1101", "name": "ptsG" }, { - "id": "b1380", + "id": "G_b1380", "name": "ldhA" }, { - "id": "b1621", + "id": "G_b1621", "name": "malX" }, { "annotation": { - "ncbiprotein": [ - "1208453", - "1652654" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/ncbiprotein/1208453", + "http://identifiers.org/ncbiprotein/1652654" + ] + }, + "qualifier": "bqb_is" + } ] }, - "id": "b1676", + "id": "G_b1676", "name": "pykF" }, { - "id": "b1723", + "id": "G_b1723", "name": "pfkB" }, { - "id": "b1773", + "id": "G_b1773", "name": "ydjI" }, { - "id": "b1779", + "id": "G_b1779", "name": "gapA" }, { - "id": "b1817", + "id": "G_b1817", "name": "manX" }, { - "id": "b1818", + "id": "G_b1818", "name": "manY" }, { - "id": "b1819", + "id": "G_b1819", "name": "manZ" }, { - "id": "b1854", + "id": "G_b1854", "name": "pykA" }, { - "id": "b2097", + "id": "G_b2097", "name": "fbaB" }, { - "id": "b2133", + "id": "G_b2133", "name": "dld" }, { - "id": "b2415", + "id": "G_b2415", "name": "ptsH" }, { - "id": "b2416", + "id": "G_b2416", "name": "ptsI" }, { - "id": "b2417", + "id": "G_b2417", "name": "crr" }, { "annotation": { - "ncbiprotein": "1653839" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/ncbiprotein/1653839" + ] + }, + "qualifier": "bqb_is" + } + ] }, - "id": "b2779", + "id": "G_b2779", "name": "eno" }, { - "id": "b2925", + "id": "G_b2925", "name": "fbaA" }, { "annotation": { - "ncbiprotein": "1653609" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/ncbiprotein/1653609" + ] + }, + "qualifier": "bqb_is" + } + ] }, - "id": "b2926", + "id": "G_b2926", "name": "pgk" }, { - "id": "b2987", + "id": "G_b2987", "name": "pitB" }, { - "id": "b3493", + "id": "G_b3493", "name": "pitA" }, { - "id": "b3612", + "id": "G_b3612", "name": "gpmM" }, { "annotation": { - "ncbiprotein": [ - "1006614", - "1651919" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/ncbiprotein/1006614", + "http://identifiers.org/ncbiprotein/1651919" + ] + }, + "qualifier": "bqb_is" + } ] }, - "id": "b3916", + "id": "G_b3916", "name": "pfkA" }, { - "id": "b3919", + "id": "G_b3919", "name": "tpiA" }, { "annotation": { - "ncbiprotein": "1653253" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/ncbiprotein/1653253" + ] + }, + "qualifier": "bqb_is" + } + ] }, - "id": "b4025", + "id": "G_b4025", "name": "pgi" }, { - "id": "b4395", + "id": "G_b4395", "name": "ytjC" }, { - "id": "s0001", + "id": "G_s0001", "name": "G_s0001" } ], + "groups": [], "id": "mini_textbook", "metabolites": [ { "annotation": { - "bigg.metabolite": "13dpg", - "biocyc": "DPG", - "chebi": [ - "CHEBI:16001", - "CHEBI:1658", - "CHEBI:20189", - "CHEBI:57604", - "CHEBI:11881" - ], - "hmdb": "HMDB01270", - "kegg.compound": "C00236", - "pubchem.substance": "3535", - "reactome": "REACT_29800", - "seed.compound": "cpd00203", - "unipathway.compound": "UPC00236" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/13dpg", + "http://identifiers.org/biocyc/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/HMDB01270", + "http://identifiers.org/kegg.compound/C00236", + "http://identifiers.org/pubchem.substance/3535", + "http://identifiers.org/reactome/REACT_29800", + "http://identifiers.org/seed.compound/cpd00203", + "http://identifiers.org/unipathway.compound/UPC00236" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -4, "compartment": "c", "formula": "C3H4O10P2", - "id": "13dpg_c", + "id": "M_13dpg_c", "name": "3-Phospho-D-glyceroyl phosphate" }, { "annotation": { - "bigg.metabolite": "2pg", - "biocyc": "2-PG", - "chebi": [ - "CHEBI:1267", - "CHEBI:58289", - "CHEBI:17835", - "CHEBI:21028", - "CHEBI:11651", - "CHEBI:12986", - "CHEBI:24344", - "CHEBI:39868" - ], - "hmdb": [ - "HMDB03391", - "HMDB00362" - ], - "kegg.compound": "C00631", - "pubchem.substance": "3904", - "reactome": "REACT_30485", - "seed.compound": "cpd00482", - "unipathway.compound": "UPC00631" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/2pg", + "http://identifiers.org/biocyc/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/hmdb/HMDB00362", + "http://identifiers.org/hmdb/HMDB03391", + "http://identifiers.org/kegg.compound/C00631", + "http://identifiers.org/pubchem.substance/3904", + "http://identifiers.org/reactome/REACT_30485", + "http://identifiers.org/seed.compound/cpd00482", + "http://identifiers.org/unipathway.compound/UPC00631" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -3, "compartment": "c", "formula": "C3H4O7P", - "id": "2pg_c", + "id": "M_2pg_c", "name": "D-Glycerate 2-phosphate" }, { "annotation": { - "bigg.metabolite": "3pg", - "biocyc": "G3P", - "chebi": [ - "CHEBI:40016", - "CHEBI:58272", - "CHEBI:57998", - "CHEBI:11879", - "CHEBI:1657", - "CHEBI:1659", - "CHEBI:17050", - "CHEBI:21029", - "CHEBI:11882", - "CHEBI:11880", - "CHEBI:12987", - "CHEBI:17794", - "CHEBI:24345" - ], - "hmdb": "HMDB00807", - "kegg.compound": [ - "C00197", - "C00597" - ], - "pubchem.substance": "3497", - "reactome": "REACT_29728", - "seed.compound": "cpd00169", - "unipathway.compound": [ - "UPC00597", - "UPC00197" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/3pg", + "http://identifiers.org/biocyc/G3P", + "http://identifiers.org/chebi/CHEBI:11879", + "http://identifiers.org/chebi/CHEBI:11880", + "http://identifiers.org/chebi/CHEBI:11882", + "http://identifiers.org/chebi/CHEBI:12987", + "http://identifiers.org/chebi/CHEBI:1657", + "http://identifiers.org/chebi/CHEBI:1659", + "http://identifiers.org/chebi/CHEBI:17050", + "http://identifiers.org/chebi/CHEBI:17794", + "http://identifiers.org/chebi/CHEBI:21029", + "http://identifiers.org/chebi/CHEBI:24345", + "http://identifiers.org/chebi/CHEBI:40016", + "http://identifiers.org/chebi/CHEBI:57998", + "http://identifiers.org/chebi/CHEBI:58272", + "http://identifiers.org/hmdb/HMDB00807", + "http://identifiers.org/kegg.compound/C00197", + "http://identifiers.org/kegg.compound/C00597", + "http://identifiers.org/pubchem.substance/3497", + "http://identifiers.org/reactome/REACT_29728", + "http://identifiers.org/seed.compound/cpd00169", + "http://identifiers.org/unipathway.compound/UPC00197", + "http://identifiers.org/unipathway.compound/UPC00597" + ] + }, + "qualifier": "bqb_is" + } ] }, "charge": -3, "compartment": "c", "formula": "C3H4O7P", - "id": "3pg_c", + "id": "M_3pg_c", "name": "3-Phospho-D-glycerate" }, { "annotation": { - "bigg.metabolite": "adp", - "biocyc": [ - "ADP", - "ADP-GROUP" - ], - "cas": [ - "58-64-0" - ], - "chebi": [ - "CHEBI:13222", - "CHEBI:16761", - "CHEBI:2342", - "CHEBI:22244", - "CHEBI:40553", - "CHEBI:456216" - ], - "hmdb": "HMDB01341", - "kegg.compound": "C00008", - "kegg.glycan": "G11113", - "pubchem.substance": "3310", - "reactome": [ - "REACT_190072", - "REACT_481002", - "REACT_211606", - "REACT_429160", - "REACT_29370", - "REACT_196180", - "REACT_113581", - "REACT_113582", - "REACT_114564", - "REACT_114565", - "REACT_429153" - ], - "seed.compound": "cpd00008", - "unipathway.compound": "UPC00008" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/adp", + "http://identifiers.org/biocyc/ADP", + "http://identifiers.org/biocyc/ADP-GROUP", + "http://identifiers.org/cas/58-64-0", + "http://identifiers.org/cas/58-64-0", + "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/hmdb/HMDB01341", + "http://identifiers.org/kegg.compound/C00008", + "http://identifiers.org/kegg.glycan/G11113", + "http://identifiers.org/pubchem.substance/3310", + "http://identifiers.org/reactome/REACT_113581", + "http://identifiers.org/reactome/REACT_113582", + "http://identifiers.org/reactome/REACT_114564", + "http://identifiers.org/reactome/REACT_114565", + "http://identifiers.org/reactome/REACT_190072", + "http://identifiers.org/reactome/REACT_196180", + "http://identifiers.org/reactome/REACT_211606", + "http://identifiers.org/reactome/REACT_29370", + "http://identifiers.org/reactome/REACT_429153", + "http://identifiers.org/reactome/REACT_429160", + "http://identifiers.org/reactome/REACT_481002", + "http://identifiers.org/seed.compound/cpd00008", + "http://identifiers.org/unipathway.compound/UPC00008" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -3, "compartment": "c", "formula": "C10H12N5O10P2", - "id": "adp_c", + "id": "M_adp_c", "name": "ADP" }, { "annotation": { - "bigg.metabolite": "atp", - "biocyc": "ATP", - "cas": [ - "56-65-5" - ], - "chebi": [ - "CHEBI:40938", - "CHEBI:15422", - "CHEBI:57299", - "CHEBI:13236", - "CHEBI:10789", - "CHEBI:30616", - "CHEBI:22249", - "CHEBI:10841", - "CHEBI:2359" - ], - "hmdb": "HMDB00538", - "kegg.compound": "C00002", - "kegg.drug": "D08646", - "pubchem.substance": "3304", - "reactome": [ - "REACT_190078", - "REACT_113592", - "REACT_113593", - "REACT_114570", - "REACT_29358", - "REACT_389573", - "REACT_139836", - "REACT_211579" - ], - "seed.compound": "cpd00002", - "unipathway.compound": "UPC00002" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/atp", + "http://identifiers.org/biocyc/ATP", + "http://identifiers.org/cas/56-65-5", + "http://identifiers.org/cas/56-65-5", + "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:30616", + "http://identifiers.org/chebi/CHEBI:40938", + "http://identifiers.org/chebi/CHEBI:57299", + "http://identifiers.org/hmdb/HMDB00538", + "http://identifiers.org/kegg.compound/C00002", + "http://identifiers.org/kegg.drug/D08646", + "http://identifiers.org/pubchem.substance/3304", + "http://identifiers.org/reactome/REACT_113592", + "http://identifiers.org/reactome/REACT_113593", + "http://identifiers.org/reactome/REACT_114570", + "http://identifiers.org/reactome/REACT_139836", + "http://identifiers.org/reactome/REACT_190078", + "http://identifiers.org/reactome/REACT_211579", + "http://identifiers.org/reactome/REACT_29358", + "http://identifiers.org/reactome/REACT_389573", + "http://identifiers.org/seed.compound/cpd00002", + "http://identifiers.org/unipathway.compound/UPC00002" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -4, "compartment": "c", "formula": "C10H12N5O13P3", - "id": "atp_c", + "id": "M_atp_c", "name": "ATP" }, { "annotation": { - "bigg.metabolite": "dhap", - "biocyc": "DIHYDROXY-ACETONE-PHOSPHATE", - "cas": [ - "57-04-5" - ], - "chebi": [ - "CHEBI:14341", - "CHEBI:57642", - "CHEBI:14342", - "CHEBI:16108", - "CHEBI:5454", - "CHEBI:24355", - "CHEBI:39571" - ], - "hmdb": [ - "HMDB01473", - "HMDB11735" - ], - "kegg.compound": "C00111", - "pubchem.substance": "3411", - "reactome": [ - "REACT_188451", - "REACT_75970", - "REACT_390404" - ], - "seed.compound": "cpd00095", - "unipathway.compound": "UPC00111" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/dhap", + "http://identifiers.org/biocyc/DIHYDROXY-ACETONE-PHOSPHATE", + "http://identifiers.org/cas/57-04-5", + "http://identifiers.org/cas/57-04-5", + "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/pubchem.substance/3411", + "http://identifiers.org/reactome/REACT_188451", + "http://identifiers.org/reactome/REACT_390404", + "http://identifiers.org/reactome/REACT_75970", + "http://identifiers.org/seed.compound/cpd00095", + "http://identifiers.org/unipathway.compound/UPC00111" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -2, "compartment": "c", "formula": "C3H5O6P", - "id": "dhap_c", + "id": "M_dhap_c", "name": "Dihydroxyacetone phosphate" }, { "annotation": { - "bigg.metabolite": "f6p", - "biocyc": "FRUCTOSE-6P", - "cas": [ - "643-13-0" - ], - "chebi": [ - "CHEBI:57634", - "CHEBI:12352", - "CHEBI:45804", - "CHEBI:61527", - "CHEBI:61553", - "CHEBI:10375", - "CHEBI:16084", - "CHEBI:42378", - "CHEBI:22768" - ], - "hmdb": "HMDB03971", - "kegg.compound": [ - "C05345", - "C00085" - ], - "pubchem.substance": "3385", - "seed.compound": "cpd00072", - "unipathway.compound": [ - "UPC05345", - "UPC00085" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/f6p", + "http://identifiers.org/biocyc/FRUCTOSE-6P", + "http://identifiers.org/cas/643-13-0", + "http://identifiers.org/cas/643-13-0", + "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:45804", + "http://identifiers.org/chebi/CHEBI:57634", + "http://identifiers.org/chebi/CHEBI:61527", + "http://identifiers.org/chebi/CHEBI:61553", + "http://identifiers.org/hmdb/HMDB03971", + "http://identifiers.org/kegg.compound/C00085", + "http://identifiers.org/kegg.compound/C05345", + "http://identifiers.org/pubchem.substance/3385", + "http://identifiers.org/seed.compound/cpd00072", + "http://identifiers.org/unipathway.compound/UPC00085", + "http://identifiers.org/unipathway.compound/UPC05345" + ] + }, + "qualifier": "bqb_is" + } ] }, "charge": -2, "compartment": "c", "formula": "C6H11O9P", - "id": "f6p_c", + "id": "M_f6p_c", "name": "D-Fructose 6-phosphate" }, { "annotation": { - "bigg.metabolite": "fdp", - "biocyc": "FRUCTOSE-16-DIPHOSPHATE", - "cas": [ - "488-69-7" - ], - "chebi": [ - "CHEBI:32968", - "CHEBI:49299", - "CHEBI:42553", - "CHEBI:32966", - "CHEBI:37736", - "CHEBI:28013", - "CHEBI:32967", - "CHEBI:41014", - "CHEBI:22767", - "CHEBI:10374", - "CHEBI:40595", - "CHEBI:40591" - ], - "kegg.compound": [ - "C05378", - "C00354" - ], - "pubchem.substance": "3647", - "seed.compound": "cpd00290", - "unipathway.compound": "UPC00354" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/fdp", + "http://identifiers.org/biocyc/FRUCTOSE-16-DIPHOSPHATE", + "http://identifiers.org/cas/488-69-7", + "http://identifiers.org/cas/488-69-7", + "http://identifiers.org/chebi/CHEBI:10374", + "http://identifiers.org/chebi/CHEBI:22767", + "http://identifiers.org/chebi/CHEBI:28013", + "http://identifiers.org/chebi/CHEBI:32966", + "http://identifiers.org/chebi/CHEBI:32967", + "http://identifiers.org/chebi/CHEBI:32968", + "http://identifiers.org/chebi/CHEBI:37736", + "http://identifiers.org/chebi/CHEBI:40591", + "http://identifiers.org/chebi/CHEBI:40595", + "http://identifiers.org/chebi/CHEBI:41014", + "http://identifiers.org/chebi/CHEBI:42553", + "http://identifiers.org/chebi/CHEBI:49299", + "http://identifiers.org/kegg.compound/C00354", + "http://identifiers.org/kegg.compound/C05378", + "http://identifiers.org/pubchem.substance/3647", + "http://identifiers.org/seed.compound/cpd00290", + "http://identifiers.org/unipathway.compound/UPC00354" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -4, "compartment": "c", "formula": "C6H10O12P2", - "id": "fdp_c", + "id": "M_fdp_c", "name": "D-Fructose 1,6-bisphosphate" }, { "annotation": { - "bigg.metabolite": "g3p", - "cas": [ - "142-10-9" - ], - "chebi": [ - "CHEBI:17138", - "CHEBI:14333", - "CHEBI:5446", - "CHEBI:58027" - ], - "hmdb": "HMDB01112", - "kegg.compound": [ - "C00661", - "C00118" - ], - "pubchem.substance": "3930", - "seed.compound": "cpd00102", - "unipathway.compound": [ - "UPC00661", - "UPC00118" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/g3p", + "http://identifiers.org/cas/142-10-9", + "http://identifiers.org/cas/142-10-9", + "http://identifiers.org/chebi/CHEBI:14333", + "http://identifiers.org/chebi/CHEBI:17138", + "http://identifiers.org/chebi/CHEBI:5446", + "http://identifiers.org/chebi/CHEBI:58027", + "http://identifiers.org/hmdb/HMDB01112", + "http://identifiers.org/kegg.compound/C00118", + "http://identifiers.org/kegg.compound/C00661", + "http://identifiers.org/pubchem.substance/3930", + "http://identifiers.org/seed.compound/cpd00102", + "http://identifiers.org/unipathway.compound/UPC00118", + "http://identifiers.org/unipathway.compound/UPC00661" + ] + }, + "qualifier": "bqb_is" + } ] }, "charge": -2, "compartment": "c", "formula": "C3H5O6P", - "id": "g3p_c", + "id": "M_g3p_c", "name": "Glyceraldehyde 3-phosphate" }, { "annotation": { - "bigg.metabolite": "g6p", - "biocyc": [ - "D-glucose-6-phosphate", - "GLC-6-P" - ], - "cas": [ - "56-73-5" - ], - "chebi": [ - "CHEBI:10399", - "CHEBI:22797", - "CHEBI:41041", - "CHEBI:17719", - "CHEBI:4170", - "CHEBI:61548", - "CHEBI:58247", - "CHEBI:12375" - ], - "hmdb": [ - "HMDB03498", - "HMDB06793", - "HMDB01401", - "HMDB01549" - ], - "kegg.compound": [ - "C00092", - "C01172" - ], - "pubchem.substance": "3392", - "reactome": "REACT_1629756", - "seed.compound": "cpd00079", - "unipathway.compound": "UPC00092" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/g6p", + "http://identifiers.org/biocyc/D-glucose-6-phosphate", + "http://identifiers.org/biocyc/GLC-6-P", + "http://identifiers.org/cas/56-73-5", + "http://identifiers.org/cas/56-73-5", + "http://identifiers.org/chebi/CHEBI:10399", + "http://identifiers.org/chebi/CHEBI:12375", + "http://identifiers.org/chebi/CHEBI:17719", + "http://identifiers.org/chebi/CHEBI:22797", + "http://identifiers.org/chebi/CHEBI:41041", + "http://identifiers.org/chebi/CHEBI:4170", + "http://identifiers.org/chebi/CHEBI:58247", + "http://identifiers.org/chebi/CHEBI:61548", + "http://identifiers.org/hmdb/HMDB01401", + "http://identifiers.org/hmdb/HMDB01549", + "http://identifiers.org/hmdb/HMDB03498", + "http://identifiers.org/hmdb/HMDB06793", + "http://identifiers.org/kegg.compound/C00092", + "http://identifiers.org/kegg.compound/C01172", + "http://identifiers.org/pubchem.substance/3392", + "http://identifiers.org/reactome/REACT_1629756", + "http://identifiers.org/seed.compound/cpd00079", + "http://identifiers.org/unipathway.compound/UPC00092" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -2, "compartment": "c", "formula": "C6H11O9P", - "id": "g6p_c", + "id": "M_g6p_c", "name": "D-Glucose 6-phosphate" }, { "annotation": { - "bigg.metabolite": "glc__D", - "cas": [ - "50-99-7" - ], - "kegg.compound": "C00031", - "pubchem.substance": "3333" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/glc__D", + "http://identifiers.org/cas/50-99-7", + "http://identifiers.org/cas/50-99-7", + "http://identifiers.org/kegg.compound/C00031", + "http://identifiers.org/pubchem.substance/3333" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": 0, "compartment": "e", "formula": "C6H12O6", - "id": "glc__D_e", + "id": "M_glc__D_e", "name": "D-Glucose" }, { "annotation": { - "bigg.metabolite": "h2o", - "biocyc": [ - "WATER", - "OH", - "OXONIUM" - ], - "cas": [ - "7732-18-5" - ], - "chebi": [ - "CHEBI:15377", - "CHEBI:13365", - "CHEBI:41979", - "CHEBI:16234", - "CHEBI:36385", - "CHEBI:42857", - "CHEBI:27313", - "CHEBI:44819", - "CHEBI:29373", - "CHEBI:10743", - "CHEBI:5594", - "CHEBI:29356", - "CHEBI:53442", - "CHEBI:29375", - "CHEBI:29374", - "CHEBI:13419", - "CHEBI:43228", - "CHEBI:44292", - "CHEBI:13352", - "CHEBI:41981", - "CHEBI:29412", - "CHEBI:42043", - "CHEBI:33811", - "CHEBI:33813", - "CHEBI:35511", - "CHEBI:5585", - "CHEBI:44641", - "CHEBI:44701" - ], - "hmdb": [ - "HMDB01039", - "HMDB02111" - ], - "kegg.compound": [ - "C01328", - "C00001", - "C18714", - "C18712" - ], - "kegg.drug": [ - "D00001", - "D06322", - "D03703" - ], - "pubchem.substance": "3303", - "reactome": [ - "REACT_947593", - "REACT_189422", - "REACT_141343", - "REACT_113518", - "REACT_1605715", - "REACT_109276", - "REACT_113521", - "REACT_113519", - "REACT_2022884", - "REACT_351603", - "REACT_29356" - ], - "seed.compound": [ - "cpd15275", - "cpd00001" - ], - "unipathway.compound": [ - "UPC00001", - "UPC01328" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/h2o", + "http://identifiers.org/biocyc/OH", + "http://identifiers.org/biocyc/OXONIUM", + "http://identifiers.org/biocyc/WATER", + "http://identifiers.org/cas/7732-18-5", + "http://identifiers.org/cas/7732-18-5", + "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:33811", + "http://identifiers.org/chebi/CHEBI:33813", + "http://identifiers.org/chebi/CHEBI:35511", + "http://identifiers.org/chebi/CHEBI:36385", + "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:53442", + "http://identifiers.org/chebi/CHEBI:5585", + "http://identifiers.org/chebi/CHEBI:5594", + "http://identifiers.org/hmdb/HMDB01039", + "http://identifiers.org/hmdb/HMDB02111", + "http://identifiers.org/kegg.compound/C00001", + "http://identifiers.org/kegg.compound/C01328", + "http://identifiers.org/kegg.compound/C18712", + "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/pubchem.substance/3303", + "http://identifiers.org/reactome/REACT_109276", + "http://identifiers.org/reactome/REACT_113518", + "http://identifiers.org/reactome/REACT_113519", + "http://identifiers.org/reactome/REACT_113521", + "http://identifiers.org/reactome/REACT_141343", + "http://identifiers.org/reactome/REACT_1605715", + "http://identifiers.org/reactome/REACT_189422", + "http://identifiers.org/reactome/REACT_2022884", + "http://identifiers.org/reactome/REACT_29356", + "http://identifiers.org/reactome/REACT_351603", + "http://identifiers.org/reactome/REACT_947593", + "http://identifiers.org/seed.compound/cpd00001", + "http://identifiers.org/seed.compound/cpd15275", + "http://identifiers.org/unipathway.compound/UPC00001", + "http://identifiers.org/unipathway.compound/UPC01328" + ] + }, + "qualifier": "bqb_is" + } ] }, "charge": 0, "compartment": "c", "formula": "H2O", - "id": "h2o_c", + "id": "M_h2o_c", "name": "H2O" }, { "annotation": { - "bigg.metabolite": "h2o", - "biocyc": [ - "WATER", - "OH", - "OXONIUM" - ], - "cas": [ - "7732-18-5" - ], - "chebi": [ - "CHEBI:15377", - "CHEBI:13365", - "CHEBI:41979", - "CHEBI:16234", - "CHEBI:36385", - "CHEBI:42857", - "CHEBI:27313", - "CHEBI:44819", - "CHEBI:29373", - "CHEBI:10743", - "CHEBI:5594", - "CHEBI:29356", - "CHEBI:53442", - "CHEBI:29375", - "CHEBI:29374", - "CHEBI:13419", - "CHEBI:43228", - "CHEBI:44292", - "CHEBI:13352", - "CHEBI:41981", - "CHEBI:29412", - "CHEBI:42043", - "CHEBI:33811", - "CHEBI:33813", - "CHEBI:35511", - "CHEBI:5585", - "CHEBI:44641", - "CHEBI:44701" - ], - "hmdb": [ - "HMDB01039", - "HMDB02111" - ], - "kegg.compound": [ - "C01328", - "C00001", - "C18714", - "C18712" - ], - "kegg.drug": [ - "D00001", - "D06322", - "D03703" - ], - "pubchem.substance": "3303", - "reactome": [ - "REACT_947593", - "REACT_189422", - "REACT_141343", - "REACT_113518", - "REACT_1605715", - "REACT_109276", - "REACT_113521", - "REACT_113519", - "REACT_2022884", - "REACT_351603", - "REACT_29356" - ], - "seed.compound": [ - "cpd15275", - "cpd00001" - ], - "unipathway.compound": [ - "UPC00001", - "UPC01328" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/h2o", + "http://identifiers.org/biocyc/OH", + "http://identifiers.org/biocyc/OXONIUM", + "http://identifiers.org/biocyc/WATER", + "http://identifiers.org/cas/7732-18-5", + "http://identifiers.org/cas/7732-18-5", + "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:33811", + "http://identifiers.org/chebi/CHEBI:33813", + "http://identifiers.org/chebi/CHEBI:35511", + "http://identifiers.org/chebi/CHEBI:36385", + "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:53442", + "http://identifiers.org/chebi/CHEBI:5585", + "http://identifiers.org/chebi/CHEBI:5594", + "http://identifiers.org/hmdb/HMDB01039", + "http://identifiers.org/hmdb/HMDB02111", + "http://identifiers.org/kegg.compound/C00001", + "http://identifiers.org/kegg.compound/C01328", + "http://identifiers.org/kegg.compound/C18712", + "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/pubchem.substance/3303", + "http://identifiers.org/reactome/REACT_109276", + "http://identifiers.org/reactome/REACT_113518", + "http://identifiers.org/reactome/REACT_113519", + "http://identifiers.org/reactome/REACT_113521", + "http://identifiers.org/reactome/REACT_141343", + "http://identifiers.org/reactome/REACT_1605715", + "http://identifiers.org/reactome/REACT_189422", + "http://identifiers.org/reactome/REACT_2022884", + "http://identifiers.org/reactome/REACT_29356", + "http://identifiers.org/reactome/REACT_351603", + "http://identifiers.org/reactome/REACT_947593", + "http://identifiers.org/seed.compound/cpd00001", + "http://identifiers.org/seed.compound/cpd15275", + "http://identifiers.org/unipathway.compound/UPC00001", + "http://identifiers.org/unipathway.compound/UPC01328" + ] + }, + "qualifier": "bqb_is" + } ] }, "charge": 0, "compartment": "e", "formula": "H2O", - "id": "h2o_e", + "id": "M_h2o_e", "name": "H2O" }, { "annotation": { - "bigg.metabolite": "h", - "biocyc": "PROTON", - "cas": [ - "12408-02-5" - ], - "chebi": [ - "CHEBI:24636", - "CHEBI:15378", - "CHEBI:10744", - "CHEBI:13357", - "CHEBI:5584" - ], - "kegg.compound": "C00080", - "pubchem.substance": "3380", - "reactome": [ - "REACT_194688", - "REACT_425978", - "REACT_193465", - "REACT_374900", - "REACT_74722", - "REACT_425999", - "REACT_428040", - "REACT_163953", - "REACT_372511", - "REACT_2000349", - "REACT_70106", - "REACT_1470067", - "REACT_113529", - "REACT_425969", - "REACT_428548", - "REACT_156540", - "REACT_1614597", - "REACT_351626", - "REACT_427899" - ], - "seed.compound": "cpd00067", - "unipathway.compound": "UPC00080" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/h", + "http://identifiers.org/biocyc/PROTON", + "http://identifiers.org/cas/12408-02-5", + "http://identifiers.org/cas/12408-02-5", + "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:5584", + "http://identifiers.org/kegg.compound/C00080", + "http://identifiers.org/pubchem.substance/3380", + "http://identifiers.org/reactome/REACT_113529", + "http://identifiers.org/reactome/REACT_1470067", + "http://identifiers.org/reactome/REACT_156540", + "http://identifiers.org/reactome/REACT_1614597", + "http://identifiers.org/reactome/REACT_163953", + "http://identifiers.org/reactome/REACT_193465", + "http://identifiers.org/reactome/REACT_194688", + "http://identifiers.org/reactome/REACT_2000349", + "http://identifiers.org/reactome/REACT_351626", + "http://identifiers.org/reactome/REACT_372511", + "http://identifiers.org/reactome/REACT_374900", + "http://identifiers.org/reactome/REACT_425969", + "http://identifiers.org/reactome/REACT_425978", + "http://identifiers.org/reactome/REACT_425999", + "http://identifiers.org/reactome/REACT_427899", + "http://identifiers.org/reactome/REACT_428040", + "http://identifiers.org/reactome/REACT_428548", + "http://identifiers.org/reactome/REACT_70106", + "http://identifiers.org/reactome/REACT_74722", + "http://identifiers.org/seed.compound/cpd00067", + "http://identifiers.org/unipathway.compound/UPC00080" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": 1, "compartment": "c", "formula": "H", - "id": "h_c", + "id": "M_h_c", "name": "H+" }, { "annotation": { - "bigg.metabolite": "h", - "biocyc": "PROTON", - "cas": [ - "12408-02-5" - ], - "chebi": [ - "CHEBI:24636", - "CHEBI:15378", - "CHEBI:10744", - "CHEBI:13357", - "CHEBI:5584" - ], - "kegg.compound": "C00080", - "pubchem.substance": "3380", - "reactome": [ - "REACT_194688", - "REACT_425978", - "REACT_193465", - "REACT_374900", - "REACT_74722", - "REACT_425999", - "REACT_428040", - "REACT_163953", - "REACT_372511", - "REACT_2000349", - "REACT_70106", - "REACT_1470067", - "REACT_113529", - "REACT_425969", - "REACT_428548", - "REACT_156540", - "REACT_1614597", - "REACT_351626", - "REACT_427899" - ], - "seed.compound": "cpd00067", - "unipathway.compound": "UPC00080" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/h", + "http://identifiers.org/biocyc/PROTON", + "http://identifiers.org/cas/12408-02-5", + "http://identifiers.org/cas/12408-02-5", + "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:5584", + "http://identifiers.org/kegg.compound/C00080", + "http://identifiers.org/pubchem.substance/3380", + "http://identifiers.org/reactome/REACT_113529", + "http://identifiers.org/reactome/REACT_1470067", + "http://identifiers.org/reactome/REACT_156540", + "http://identifiers.org/reactome/REACT_1614597", + "http://identifiers.org/reactome/REACT_163953", + "http://identifiers.org/reactome/REACT_193465", + "http://identifiers.org/reactome/REACT_194688", + "http://identifiers.org/reactome/REACT_2000349", + "http://identifiers.org/reactome/REACT_351626", + "http://identifiers.org/reactome/REACT_372511", + "http://identifiers.org/reactome/REACT_374900", + "http://identifiers.org/reactome/REACT_425969", + "http://identifiers.org/reactome/REACT_425978", + "http://identifiers.org/reactome/REACT_425999", + "http://identifiers.org/reactome/REACT_427899", + "http://identifiers.org/reactome/REACT_428040", + "http://identifiers.org/reactome/REACT_428548", + "http://identifiers.org/reactome/REACT_70106", + "http://identifiers.org/reactome/REACT_74722", + "http://identifiers.org/seed.compound/cpd00067", + "http://identifiers.org/unipathway.compound/UPC00080" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": 1, "compartment": "e", "formula": "H", - "id": "h_e", + "id": "M_h_e", "name": "H+" }, { "annotation": { - "bigg.metabolite": "lac__D", - "biocyc": "META:D-LACTATE", - "chebi": [ - "CHEBI:11001", - "CHEBI:16004", - "CHEBI:18684", - "CHEBI:341", - "CHEBI:42105", - "CHEBI:42111", - "CHEBI:43701" - ], - "hmdb": [ - "HMDB00171", - "HMDB01311" - ], - "kegg.compound": "C00256", - "metanetx.chemical": "MNXM285", - "seed.compound": "cpd00221" + "standardized": [ + { + "external_resources": { + "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" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -1, "compartment": "c", "formula": "C3H5O3", - "id": "lac__D_c", + "id": "M_lac__D_c", "name": "D-Lactate" }, { "annotation": { - "bigg.metabolite": "lac__D", - "biocyc": "META:D-LACTATE", - "chebi": [ - "CHEBI:11001", - "CHEBI:16004", - "CHEBI:18684", - "CHEBI:341", - "CHEBI:42105", - "CHEBI:42111", - "CHEBI:43701" - ], - "hmdb": [ - "HMDB00171", - "HMDB01311" - ], - "kegg.compound": "C00256", - "metanetx.chemical": "MNXM285", - "seed.compound": "cpd00221" + "standardized": [ + { + "external_resources": { + "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" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -1, "compartment": "e", "formula": "C3H5O3", - "id": "lac__D_e", + "id": "M_lac__D_e", "name": "D-Lactate" }, { "annotation": { - "bigg.metabolite": "nad", - "biocyc": "NAD", - "cas": [ - "53-84-9" - ], - "chebi": [ - "CHEBI:21901", - "CHEBI:7422", - "CHEBI:44214", - "CHEBI:15846", - "CHEBI:13394", - "CHEBI:13393", - "CHEBI:44215", - "CHEBI:13389", - "CHEBI:57540", - "CHEBI:44281" - ], - "hmdb": "HMDB00902", - "kegg.compound": "C00003", - "kegg.drug": "D00002", - "pubchem.substance": "3305", - "reactome": [ - "REACT_192307", - "REACT_29360", - "REACT_427523", - "REACT_194653", - "REACT_113526" - ], - "seed.compound": "cpd00003", - "unipathway.compound": "UPC00003" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/nad", + "http://identifiers.org/biocyc/NAD", + "http://identifiers.org/cas/53-84-9", + "http://identifiers.org/cas/53-84-9", + "http://identifiers.org/chebi/CHEBI:13389", + "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: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/hmdb/HMDB00902", + "http://identifiers.org/kegg.compound/C00003", + "http://identifiers.org/kegg.drug/D00002", + "http://identifiers.org/pubchem.substance/3305", + "http://identifiers.org/reactome/REACT_113526", + "http://identifiers.org/reactome/REACT_192307", + "http://identifiers.org/reactome/REACT_194653", + "http://identifiers.org/reactome/REACT_29360", + "http://identifiers.org/reactome/REACT_427523", + "http://identifiers.org/seed.compound/cpd00003", + "http://identifiers.org/unipathway.compound/UPC00003" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -1, "compartment": "c", "formula": "C21H26N7O14P2", - "id": "nad_c", + "id": "M_nad_c", "name": "Nicotinamide adenine dinucleotide" }, { "annotation": { - "bigg.metabolite": "nadh", - "biocyc": "NADH", - "cas": [ - "58-68-4" - ], - "chebi": [ - "CHEBI:13395", - "CHEBI:21902", - "CHEBI:16908", - "CHEBI:7423", - "CHEBI:44216", - "CHEBI:57945", - "CHEBI:13396" - ], - "hmdb": "HMDB01487", - "kegg.compound": "C00004", - "pubchem.substance": "3306", - "reactome": [ - "REACT_192305", - "REACT_73473", - "REACT_194697", - "REACT_29362" - ], - "seed.compound": "cpd00004", - "unipathway.compound": "UPC00004" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/nadh", + "http://identifiers.org/biocyc/NADH", + "http://identifiers.org/cas/58-68-4", + "http://identifiers.org/cas/58-68-4", + "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/pubchem.substance/3306", + "http://identifiers.org/reactome/REACT_192305", + "http://identifiers.org/reactome/REACT_194697", + "http://identifiers.org/reactome/REACT_29362", + "http://identifiers.org/reactome/REACT_73473", + "http://identifiers.org/seed.compound/cpd00004", + "http://identifiers.org/unipathway.compound/UPC00004" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -2, "compartment": "c", "formula": "C21H27N7O14P2", - "id": "nadh_c", + "id": "M_nadh_c", "name": "Nicotinamide adenine dinucleotide - reduced" }, { "annotation": { - "bigg.metabolite": "pep", - "biocyc": "PHOSPHO-ENOL-PYRUVATE", - "cas": [ - "138-08-9" - ], - "chebi": [ - "CHEBI:44897", - "CHEBI:44894", - "CHEBI:14812", - "CHEBI:8147", - "CHEBI:26055", - "CHEBI:26054", - "CHEBI:58702", - "CHEBI:18021" - ], - "hmdb": "HMDB00263", - "kegg.compound": "C00074", - "pubchem.substance": "3374", - "reactome": [ - "REACT_29492", - "REACT_372364" - ], - "seed.compound": "cpd00061", - "unipathway.compound": "UPC00074" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/pep", + "http://identifiers.org/biocyc/PHOSPHO-ENOL-PYRUVATE", + "http://identifiers.org/cas/138-08-9", + "http://identifiers.org/cas/138-08-9", + "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/pubchem.substance/3374", + "http://identifiers.org/reactome/REACT_29492", + "http://identifiers.org/reactome/REACT_372364", + "http://identifiers.org/seed.compound/cpd00061", + "http://identifiers.org/unipathway.compound/UPC00074" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -3, "compartment": "c", "formula": "C3H2O6P", - "id": "pep_c", + "id": "M_pep_c", "name": "Phosphoenolpyruvate" }, { "annotation": { - "bigg.metabolite": "pi", - "biocyc": [ - "Pi", - "PHOSPHATE-GROUP", - "CPD0-1421" - ], - "cas": [ - "14265-44-2" - ], - "chebi": [ - "CHEBI:37583", - "CHEBI:7793", - "CHEBI:37585", - "CHEBI:34683", - "CHEBI:14791", - "CHEBI:34855", - "CHEBI:29137", - "CHEBI:29139", - "CHEBI:63036", - "CHEBI:26020", - "CHEBI:39739", - "CHEBI:32597", - "CHEBI:32596", - "CHEBI:43474", - "CHEBI:63051", - "CHEBI:43470", - "CHEBI:9679", - "CHEBI:35433", - "CHEBI:4496", - "CHEBI:45024", - "CHEBI:18367", - "CHEBI:26078", - "CHEBI:39745", - "CHEBI:24838" - ], - "hmdb": "HMDB02142", - "kegg.compound": [ - "C13556", - "C13558", - "C00009" - ], - "kegg.drug": "D05467", - "pubchem.substance": "3311", - "reactome": [ - "REACT_947590", - "REACT_109277", - "REACT_113548", - "REACT_2255331", - "REACT_29372", - "REACT_113550", - "REACT_113551" - ], - "seed.compound": [ - "cpd09464", - "cpd09463", - "cpd00009" - ], - "unipathway.compound": "UPC00009" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/pi", + "http://identifiers.org/biocyc/CPD0-1421", + "http://identifiers.org/biocyc/PHOSPHATE-GROUP", + "http://identifiers.org/biocyc/Pi", + "http://identifiers.org/cas/14265-44-2", + "http://identifiers.org/cas/14265-44-2", + "http://identifiers.org/chebi/CHEBI:14791", + "http://identifiers.org/chebi/CHEBI:18367", + "http://identifiers.org/chebi/CHEBI:24838", + "http://identifiers.org/chebi/CHEBI:26020", + "http://identifiers.org/chebi/CHEBI:26078", + "http://identifiers.org/chebi/CHEBI:29137", + "http://identifiers.org/chebi/CHEBI:29139", + "http://identifiers.org/chebi/CHEBI:32596", + "http://identifiers.org/chebi/CHEBI:32597", + "http://identifiers.org/chebi/CHEBI:34683", + "http://identifiers.org/chebi/CHEBI:34855", + "http://identifiers.org/chebi/CHEBI:35433", + "http://identifiers.org/chebi/CHEBI:37583", + "http://identifiers.org/chebi/CHEBI:37585", + "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:4496", + "http://identifiers.org/chebi/CHEBI:45024", + "http://identifiers.org/chebi/CHEBI:63036", + "http://identifiers.org/chebi/CHEBI:63051", + "http://identifiers.org/chebi/CHEBI:7793", + "http://identifiers.org/chebi/CHEBI:9679", + "http://identifiers.org/hmdb/HMDB02142", + "http://identifiers.org/kegg.compound/C00009", + "http://identifiers.org/kegg.compound/C13556", + "http://identifiers.org/kegg.compound/C13558", + "http://identifiers.org/kegg.drug/D05467", + "http://identifiers.org/pubchem.substance/3311", + "http://identifiers.org/reactome/REACT_109277", + "http://identifiers.org/reactome/REACT_113548", + "http://identifiers.org/reactome/REACT_113550", + "http://identifiers.org/reactome/REACT_113551", + "http://identifiers.org/reactome/REACT_2255331", + "http://identifiers.org/reactome/REACT_29372", + "http://identifiers.org/reactome/REACT_947590", + "http://identifiers.org/seed.compound/cpd00009", + "http://identifiers.org/seed.compound/cpd09463", + "http://identifiers.org/seed.compound/cpd09464", + "http://identifiers.org/unipathway.compound/UPC00009" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -2, "compartment": "c", "formula": "HO4P", - "id": "pi_c", + "id": "M_pi_c", "name": "Phosphate" }, { "annotation": { - "bigg.metabolite": "pi", - "biocyc": [ - "Pi", - "PHOSPHATE-GROUP", - "CPD0-1421" - ], - "cas": [ - "14265-44-2" - ], - "chebi": [ - "CHEBI:37583", - "CHEBI:7793", - "CHEBI:37585", - "CHEBI:34683", - "CHEBI:14791", - "CHEBI:34855", - "CHEBI:29137", - "CHEBI:29139", - "CHEBI:63036", - "CHEBI:26020", - "CHEBI:39739", - "CHEBI:32597", - "CHEBI:32596", - "CHEBI:43474", - "CHEBI:63051", - "CHEBI:43470", - "CHEBI:9679", - "CHEBI:35433", - "CHEBI:4496", - "CHEBI:45024", - "CHEBI:18367", - "CHEBI:26078", - "CHEBI:39745", - "CHEBI:24838" - ], - "hmdb": "HMDB02142", - "kegg.compound": [ - "C13556", - "C13558", - "C00009" - ], - "kegg.drug": "D05467", - "pubchem.substance": "3311", - "reactome": [ - "REACT_947590", - "REACT_109277", - "REACT_113548", - "REACT_2255331", - "REACT_29372", - "REACT_113550", - "REACT_113551" - ], - "seed.compound": [ - "cpd09464", - "cpd09463", - "cpd00009" - ], - "unipathway.compound": "UPC00009" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/pi", + "http://identifiers.org/biocyc/CPD0-1421", + "http://identifiers.org/biocyc/PHOSPHATE-GROUP", + "http://identifiers.org/biocyc/Pi", + "http://identifiers.org/cas/14265-44-2", + "http://identifiers.org/cas/14265-44-2", + "http://identifiers.org/chebi/CHEBI:14791", + "http://identifiers.org/chebi/CHEBI:18367", + "http://identifiers.org/chebi/CHEBI:24838", + "http://identifiers.org/chebi/CHEBI:26020", + "http://identifiers.org/chebi/CHEBI:26078", + "http://identifiers.org/chebi/CHEBI:29137", + "http://identifiers.org/chebi/CHEBI:29139", + "http://identifiers.org/chebi/CHEBI:32596", + "http://identifiers.org/chebi/CHEBI:32597", + "http://identifiers.org/chebi/CHEBI:34683", + "http://identifiers.org/chebi/CHEBI:34855", + "http://identifiers.org/chebi/CHEBI:35433", + "http://identifiers.org/chebi/CHEBI:37583", + "http://identifiers.org/chebi/CHEBI:37585", + "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:4496", + "http://identifiers.org/chebi/CHEBI:45024", + "http://identifiers.org/chebi/CHEBI:63036", + "http://identifiers.org/chebi/CHEBI:63051", + "http://identifiers.org/chebi/CHEBI:7793", + "http://identifiers.org/chebi/CHEBI:9679", + "http://identifiers.org/hmdb/HMDB02142", + "http://identifiers.org/kegg.compound/C00009", + "http://identifiers.org/kegg.compound/C13556", + "http://identifiers.org/kegg.compound/C13558", + "http://identifiers.org/kegg.drug/D05467", + "http://identifiers.org/pubchem.substance/3311", + "http://identifiers.org/reactome/REACT_109277", + "http://identifiers.org/reactome/REACT_113548", + "http://identifiers.org/reactome/REACT_113550", + "http://identifiers.org/reactome/REACT_113551", + "http://identifiers.org/reactome/REACT_2255331", + "http://identifiers.org/reactome/REACT_29372", + "http://identifiers.org/reactome/REACT_947590", + "http://identifiers.org/seed.compound/cpd00009", + "http://identifiers.org/seed.compound/cpd09463", + "http://identifiers.org/seed.compound/cpd09464", + "http://identifiers.org/unipathway.compound/UPC00009" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -2, "compartment": "e", "formula": "HO4P", - "id": "pi_e", + "id": "M_pi_e", "name": "Phosphate" }, { "annotation": { - "bigg.metabolite": "pyr", - "biocyc": "PYRUVATE", - "cas": [ - "127-17-3" - ], - "chebi": [ - "CHEBI:15361", - "CHEBI:14987", - "CHEBI:8685", - "CHEBI:32816", - "CHEBI:45253", - "CHEBI:26466", - "CHEBI:26462" - ], - "hmdb": "HMDB00243", - "kegg.compound": "C00022", - "lipidmaps": "LMFA01060077", - "pubchem.substance": "3324", - "reactome": [ - "REACT_113557", - "REACT_389680", - "REACT_29398" - ], - "seed.compound": "cpd00020", - "unipathway.compound": "UPC00022" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.metabolite/pyr", + "http://identifiers.org/biocyc/PYRUVATE", + "http://identifiers.org/cas/127-17-3", + "http://identifiers.org/cas/127-17-3", + "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:8685", + "http://identifiers.org/hmdb/HMDB00243", + "http://identifiers.org/kegg.compound/C00022", + "http://identifiers.org/lipidmaps/LMFA01060077", + "http://identifiers.org/pubchem.substance/3324", + "http://identifiers.org/reactome/REACT_113557", + "http://identifiers.org/reactome/REACT_29398", + "http://identifiers.org/reactome/REACT_389680", + "http://identifiers.org/seed.compound/cpd00020", + "http://identifiers.org/unipathway.compound/UPC00022" + ] + }, + "qualifier": "bqb_is" + } + ] }, "charge": -1, "compartment": "c", "formula": "C3H3O3", - "id": "pyr_c", + "id": "M_pyr_c", "name": "Pyruvate" } ], "reactions": [ { "annotation": { - "bigg.reaction": "ATPM" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/ATPM" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "", - "id": "ATPM", + "id": "R_ATPM", "lower_bound": 8.39, "metabolites": { - "adp_c": 1.0, - "atp_c": -1.0, - "h2o_c": -1.0, - "h_c": 1.0, - "pi_c": 1.0 + "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", "objective_coefficient": 1.0, @@ -1126,7 +1230,7 @@ }, { "gene_reaction_rule": "", - "id": "D_LACt2", + "id": "R_D_LACt2", "lower_bound": -1000.0, "metabolites": {}, "name": "", @@ -1134,148 +1238,227 @@ }, { "annotation": { - "bigg.reaction": "ENO" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/ENO" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b2779", - "id": "ENO", + "id": "R_ENO", "lower_bound": -1000.0, "metabolites": { - "2pg_c": -1.0, - "h2o_c": 1.0, - "pep_c": 1.0 + "M_2pg_c": -1.0, + "M_h2o_c": 1.0, + "M_pep_c": 1.0 }, "name": "enolase", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "glc", - "sbo": "SBO:0000627" + "sbo": "SBO:0000627", + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/glc" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "", - "id": "EX_glc__D_e", + "id": "R_EX_glc__D_e", "lower_bound": -10.0, "metabolites": { - "glc__D_e": -1.0 + "M_glc__D_e": -1.0 }, "name": "D-Glucose exchange", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "h", - "sbo": "SBO:0000627" + "sbo": "SBO:0000627", + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/h" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "", - "id": "EX_h_e", + "id": "R_EX_h_e", "lower_bound": -1000.0, "metabolites": { - "h_e": -1.0 + "M_h_e": -1.0 }, "name": "H+ exchange", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "lac__D", - "sbo": "SBO:0000627" + "sbo": "SBO:0000627", + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/lac__D" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "", - "id": "EX_lac__D_e", + "id": "R_EX_lac__D_e", "lower_bound": 0.0, "metabolites": { - "lac__D_e": -1.0 + "M_lac__D_e": -1.0 }, "name": "D-lactate exchange", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "FBA" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/FBA" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b1773 or b2097 or b2925", - "id": "FBA", + "id": "R_FBA", "lower_bound": -1000.0, "metabolites": { - "dhap_c": 1.0, - "fdp_c": -1.0, - "g3p_c": 1.0 + "M_dhap_c": 1.0, + "M_fdp_c": -1.0, + "M_g3p_c": 1.0 }, "name": "fructose-bisphosphate aldolase", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "GAPD" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/GAPD" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b1779", - "id": "GAPD", + "id": "R_GAPD", "lower_bound": -1000.0, "metabolites": { - "13dpg_c": 1.0, - "g3p_c": -1.0, - "h_c": 1.0, - "nad_c": -1.0, - "nadh_c": 1.0, - "pi_c": -1.0 + "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": { - "bigg.reaction": "GLCpts" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/GLCpts" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "(b2415 and b2417 and b1101 and b2416) or (b2415 and b2417 and b1621 and b2416) or (b2415 and b1818 and b1817 and b1819 and b2416)", - "id": "GLCpts", + "id": "R_GLCpts", "lower_bound": 0.0, "metabolites": { - "g6p_c": 1.0, - "glc__D_e": -1.0, - "pep_c": -1.0, - "pyr_c": 1.0 + "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": { - "bigg.reaction": "H2Ot" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/H2Ot" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b0875 or s0001", - "id": "H2Ot", + "id": "R_H2Ot", "lower_bound": -1000.0, "metabolites": { - "h2o_c": 1.0, - "h2o_e": -1.0 + "M_h2o_c": 1.0, + "M_h2o_e": -1.0 }, "name": "R H2O transport via - diffusion", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "LDH_D", - "biocyc": "META:DLACTDEHYDROGNAD-RXN", - "ec-code": "1.1.1.28", - "kegg.reaction": "R00704", - "metanetx.reaction": "MNXR101037", - "rhea": [ - "16369", - "16370", - "16371", - "16372" - ], - "sbo": "SBO:0000375" + "sbo": "SBO:0000375", + "standardized": [ + { + "external_resources": { + "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" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b2133 or b1380", - "id": "LDH_D", + "id": "R_LDH_D", "lower_bound": -1000.0, "metabolites": { - "h_c": 1.0, - "lac__D_c": -1.0, - "nad_c": -1.0, - "nadh_c": 1.0, - "pyr_c": 1.0 + "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", "subsystem": "Pyruvate Metabolism", @@ -1283,17 +1466,26 @@ }, { "annotation": { - "bigg.reaction": "PFK" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/PFK" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b3916 or b1723", - "id": "PFK", + "id": "R_PFK", "lower_bound": 0.0, "metabolites": { - "adp_c": 1.0, - "atp_c": -1.0, - "f6p_c": -1.0, - "fdp_c": 1.0, - "h_c": 1.0 + "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", "objective_coefficient": 1.0, @@ -1301,91 +1493,145 @@ }, { "annotation": { - "bigg.reaction": "PGI" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/PGI" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b4025", - "id": "PGI", + "id": "R_PGI", "lower_bound": -1000.0, "metabolites": { - "f6p_c": 1.0, - "g6p_c": -1.0 + "M_f6p_c": 1.0, + "M_g6p_c": -1.0 }, "name": "glucose-6-phosphate isomerase", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PGK" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/PGK" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b2926", - "id": "PGK", + "id": "R_PGK", "lower_bound": -1000.0, "metabolites": { - "13dpg_c": 1.0, - "3pg_c": -1.0, - "adp_c": 1.0, - "atp_c": -1.0 + "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": { - "bigg.reaction": "PGM" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/PGM" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b4395 or b3612 or b0755", - "id": "PGM", + "id": "R_PGM", "lower_bound": -1000.0, "metabolites": { - "2pg_c": -1.0, - "3pg_c": 1.0 + "M_2pg_c": -1.0, + "M_3pg_c": 1.0 }, "name": "phosphoglycerate mutase", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PIt2r" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/PIt2r" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b2987 or b3493", - "id": "PIt2r", + "id": "R_PIt2r", "lower_bound": -1000.0, "metabolites": { - "h_c": 1.0, - "h_e": -1.0, - "pi_c": 1.0, - "pi_e": -1.0 + "M_h_c": 1.0, + "M_h_e": -1.0, + "M_pi_c": 1.0, + "M_pi_e": -1.0 }, "name": "R phosphate reversible transport via - symport", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PYK" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/PYK" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b1854 or b1676", - "id": "PYK", + "id": "R_PYK", "lower_bound": 0.0, "metabolites": { - "adp_c": -1.0, - "atp_c": 1.0, - "h_c": -1.0, - "pep_c": -1.0, - "pyr_c": 1.0 + "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": { - "bigg.reaction": "TPI" + "standardized": [ + { + "external_resources": { + "resources": [ + "http://identifiers.org/bigg.reaction/TPI" + ] + }, + "qualifier": "bqb_is" + } + ] }, "gene_reaction_rule": "b3919", - "id": "TPI", + "id": "R_TPI", "lower_bound": -1000.0, "metabolites": { - "dhap_c": -1.0, - "g3p_c": 1.0 + "M_dhap_c": -1.0, + "M_g3p_c": 1.0 }, "name": "triose-phosphate isomerase", "upper_bound": 1000.0 diff --git a/tests/data/mini.mat b/tests/data/mini.mat index 9f46abd4c..72b16c5a7 100644 Binary files a/tests/data/mini.mat and b/tests/data/mini.mat differ diff --git a/tests/data/mini.pickle b/tests/data/mini.pickle index b0e0f1f40..1f99f5941 100644 Binary files a/tests/data/mini.pickle and b/tests/data/mini.pickle differ diff --git a/tests/data/mini.yml b/tests/data/mini.yml index cd9a28a41..de06f0f59 100644 --- a/tests/data/mini.yml +++ b/tests/data/mini.yml @@ -1,1168 +1,1278 @@ !!omap - metabolites: - !!omap - - id: 13dpg_c + - id: M_13dpg_c - name: 3-Phospho-D-glyceroyl phosphate - compartment: c - charge: -4 - formula: C3H4O10P2 - annotation: !!omap - - 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 - - !!omap - - id: 2pg_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/13dpg + - http://identifiers.org/biocyc/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/HMDB01270 + - http://identifiers.org/kegg.compound/C00236 + - http://identifiers.org/pubchem.substance/3535 + - http://identifiers.org/reactome/REACT_29800 + - http://identifiers.org/seed.compound/cpd00203 + - http://identifiers.org/unipathway.compound/UPC00236 + - !!omap + - id: M_2pg_c - name: D-Glycerate 2-phosphate - compartment: c - charge: -3 - formula: C3H4O7P - annotation: !!omap - - bigg.metabolite: 2pg - - biocyc: 2-PG - - chebi: - - CHEBI:1267 - - CHEBI:58289 - - CHEBI:17835 - - CHEBI:21028 - - CHEBI:11651 - - CHEBI:12986 - - CHEBI:24344 - - CHEBI:39868 - - hmdb: - - HMDB03391 - - HMDB00362 - - kegg.compound: C00631 - - pubchem.substance: '3904' - - reactome: REACT_30485 - - seed.compound: cpd00482 - - unipathway.compound: UPC00631 - - !!omap - - id: 3pg_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/2pg + - http://identifiers.org/biocyc/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/hmdb/HMDB00362 + - http://identifiers.org/hmdb/HMDB03391 + - http://identifiers.org/kegg.compound/C00631 + - http://identifiers.org/pubchem.substance/3904 + - http://identifiers.org/reactome/REACT_30485 + - http://identifiers.org/seed.compound/cpd00482 + - http://identifiers.org/unipathway.compound/UPC00631 + - !!omap + - id: M_3pg_c - name: 3-Phospho-D-glycerate - compartment: c - charge: -3 - formula: C3H4O7P - annotation: !!omap - - bigg.metabolite: 3pg - - biocyc: G3P - - chebi: - - CHEBI:40016 - - CHEBI:58272 - - CHEBI:57998 - - CHEBI:11879 - - CHEBI:1657 - - CHEBI:1659 - - CHEBI:17050 - - CHEBI:21029 - - CHEBI:11882 - - CHEBI:11880 - - CHEBI:12987 - - CHEBI:17794 - - CHEBI:24345 - - hmdb: HMDB00807 - - kegg.compound: - - C00197 - - C00597 - - pubchem.substance: '3497' - - reactome: REACT_29728 - - seed.compound: cpd00169 - - unipathway.compound: - - UPC00597 - - UPC00197 - - !!omap - - id: adp_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/3pg + - http://identifiers.org/biocyc/G3P + - http://identifiers.org/chebi/CHEBI:11879 + - http://identifiers.org/chebi/CHEBI:11880 + - http://identifiers.org/chebi/CHEBI:11882 + - http://identifiers.org/chebi/CHEBI:12987 + - http://identifiers.org/chebi/CHEBI:1657 + - http://identifiers.org/chebi/CHEBI:1659 + - http://identifiers.org/chebi/CHEBI:17050 + - http://identifiers.org/chebi/CHEBI:17794 + - http://identifiers.org/chebi/CHEBI:21029 + - http://identifiers.org/chebi/CHEBI:24345 + - http://identifiers.org/chebi/CHEBI:40016 + - http://identifiers.org/chebi/CHEBI:57998 + - http://identifiers.org/chebi/CHEBI:58272 + - http://identifiers.org/hmdb/HMDB00807 + - http://identifiers.org/kegg.compound/C00197 + - http://identifiers.org/kegg.compound/C00597 + - http://identifiers.org/pubchem.substance/3497 + - http://identifiers.org/reactome/REACT_29728 + - http://identifiers.org/seed.compound/cpd00169 + - http://identifiers.org/unipathway.compound/UPC00197 + - http://identifiers.org/unipathway.compound/UPC00597 + - !!omap + - id: M_adp_c - name: ADP - compartment: c - charge: -3 - formula: C10H12N5O10P2 - annotation: !!omap - - bigg.metabolite: adp - - biocyc: - - ADP - - ADP-GROUP - - cas: - - 58-64-0 - - chebi: - - CHEBI:13222 - - CHEBI:16761 - - CHEBI:2342 - - CHEBI:22244 - - CHEBI:40553 - - CHEBI:456216 - - hmdb: HMDB01341 - - kegg.compound: C00008 - - kegg.glycan: G11113 - - pubchem.substance: '3310' - - reactome: - - REACT_190072 - - REACT_481002 - - REACT_211606 - - REACT_429160 - - REACT_29370 - - REACT_196180 - - REACT_113581 - - REACT_113582 - - REACT_114564 - - REACT_114565 - - REACT_429153 - - seed.compound: cpd00008 - - unipathway.compound: UPC00008 - - !!omap - - id: atp_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/adp + - http://identifiers.org/biocyc/ADP + - http://identifiers.org/biocyc/ADP-GROUP + - http://identifiers.org/cas/58-64-0 + - http://identifiers.org/cas/58-64-0 + - 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/hmdb/HMDB01341 + - http://identifiers.org/kegg.compound/C00008 + - http://identifiers.org/kegg.glycan/G11113 + - http://identifiers.org/pubchem.substance/3310 + - http://identifiers.org/reactome/REACT_113581 + - http://identifiers.org/reactome/REACT_113582 + - http://identifiers.org/reactome/REACT_114564 + - http://identifiers.org/reactome/REACT_114565 + - http://identifiers.org/reactome/REACT_190072 + - http://identifiers.org/reactome/REACT_196180 + - http://identifiers.org/reactome/REACT_211606 + - http://identifiers.org/reactome/REACT_29370 + - http://identifiers.org/reactome/REACT_429153 + - http://identifiers.org/reactome/REACT_429160 + - http://identifiers.org/reactome/REACT_481002 + - http://identifiers.org/seed.compound/cpd00008 + - http://identifiers.org/unipathway.compound/UPC00008 + - !!omap + - id: M_atp_c - name: ATP - compartment: c - charge: -4 - formula: C10H12N5O13P3 - annotation: !!omap - - bigg.metabolite: atp - - biocyc: ATP - - cas: - - 56-65-5 - - chebi: - - CHEBI:40938 - - CHEBI:15422 - - CHEBI:57299 - - CHEBI:13236 - - CHEBI:10789 - - CHEBI:30616 - - CHEBI:22249 - - CHEBI:10841 - - CHEBI:2359 - - hmdb: HMDB00538 - - kegg.compound: C00002 - - kegg.drug: D08646 - - pubchem.substance: '3304' - - reactome: - - REACT_190078 - - REACT_113592 - - REACT_113593 - - REACT_114570 - - REACT_29358 - - REACT_389573 - - REACT_139836 - - REACT_211579 - - seed.compound: cpd00002 - - unipathway.compound: UPC00002 - - !!omap - - id: dhap_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/atp + - http://identifiers.org/biocyc/ATP + - http://identifiers.org/cas/56-65-5 + - http://identifiers.org/cas/56-65-5 + - 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:30616 + - http://identifiers.org/chebi/CHEBI:40938 + - http://identifiers.org/chebi/CHEBI:57299 + - http://identifiers.org/hmdb/HMDB00538 + - http://identifiers.org/kegg.compound/C00002 + - http://identifiers.org/kegg.drug/D08646 + - http://identifiers.org/pubchem.substance/3304 + - http://identifiers.org/reactome/REACT_113592 + - http://identifiers.org/reactome/REACT_113593 + - http://identifiers.org/reactome/REACT_114570 + - http://identifiers.org/reactome/REACT_139836 + - http://identifiers.org/reactome/REACT_190078 + - http://identifiers.org/reactome/REACT_211579 + - http://identifiers.org/reactome/REACT_29358 + - http://identifiers.org/reactome/REACT_389573 + - http://identifiers.org/seed.compound/cpd00002 + - http://identifiers.org/unipathway.compound/UPC00002 + - !!omap + - id: M_dhap_c - name: Dihydroxyacetone phosphate - compartment: c - charge: -2 - formula: C3H5O6P - annotation: !!omap - - bigg.metabolite: dhap - - biocyc: DIHYDROXY-ACETONE-PHOSPHATE - - cas: - - 57-04-5 - - chebi: - - CHEBI:14341 - - CHEBI:57642 - - CHEBI:14342 - - CHEBI:16108 - - CHEBI:5454 - - CHEBI:24355 - - CHEBI:39571 - - hmdb: - - HMDB01473 - - HMDB11735 - - kegg.compound: C00111 - - pubchem.substance: '3411' - - reactome: - - REACT_188451 - - REACT_75970 - - REACT_390404 - - seed.compound: cpd00095 - - unipathway.compound: UPC00111 - - !!omap - - id: f6p_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/dhap + - http://identifiers.org/biocyc/DIHYDROXY-ACETONE-PHOSPHATE + - http://identifiers.org/cas/57-04-5 + - http://identifiers.org/cas/57-04-5 + - 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/pubchem.substance/3411 + - http://identifiers.org/reactome/REACT_188451 + - http://identifiers.org/reactome/REACT_390404 + - http://identifiers.org/reactome/REACT_75970 + - http://identifiers.org/seed.compound/cpd00095 + - http://identifiers.org/unipathway.compound/UPC00111 + - !!omap + - id: M_f6p_c - name: D-Fructose 6-phosphate - compartment: c - charge: -2 - formula: C6H11O9P - annotation: !!omap - - bigg.metabolite: f6p - - biocyc: FRUCTOSE-6P - - cas: - - 643-13-0 - - chebi: - - CHEBI:57634 - - CHEBI:12352 - - CHEBI:45804 - - CHEBI:61527 - - CHEBI:61553 - - CHEBI:10375 - - CHEBI:16084 - - CHEBI:42378 - - CHEBI:22768 - - hmdb: HMDB03971 - - kegg.compound: - - C05345 - - C00085 - - pubchem.substance: '3385' - - seed.compound: cpd00072 - - unipathway.compound: - - UPC05345 - - UPC00085 - - !!omap - - id: fdp_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/f6p + - http://identifiers.org/biocyc/FRUCTOSE-6P + - http://identifiers.org/cas/643-13-0 + - http://identifiers.org/cas/643-13-0 + - 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:45804 + - http://identifiers.org/chebi/CHEBI:57634 + - http://identifiers.org/chebi/CHEBI:61527 + - http://identifiers.org/chebi/CHEBI:61553 + - http://identifiers.org/hmdb/HMDB03971 + - http://identifiers.org/kegg.compound/C00085 + - http://identifiers.org/kegg.compound/C05345 + - http://identifiers.org/pubchem.substance/3385 + - http://identifiers.org/seed.compound/cpd00072 + - http://identifiers.org/unipathway.compound/UPC00085 + - http://identifiers.org/unipathway.compound/UPC05345 + - !!omap + - id: M_fdp_c - name: D-Fructose 1,6-bisphosphate - compartment: c - charge: -4 - formula: C6H10O12P2 - annotation: !!omap - - bigg.metabolite: fdp - - biocyc: FRUCTOSE-16-DIPHOSPHATE - - cas: - - 488-69-7 - - chebi: - - CHEBI:32968 - - CHEBI:49299 - - CHEBI:42553 - - CHEBI:32966 - - CHEBI:37736 - - CHEBI:28013 - - CHEBI:32967 - - CHEBI:41014 - - CHEBI:22767 - - CHEBI:10374 - - CHEBI:40595 - - CHEBI:40591 - - kegg.compound: - - C05378 - - C00354 - - pubchem.substance: '3647' - - seed.compound: cpd00290 - - unipathway.compound: UPC00354 - - !!omap - - id: g3p_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/fdp + - http://identifiers.org/biocyc/FRUCTOSE-16-DIPHOSPHATE + - http://identifiers.org/cas/488-69-7 + - http://identifiers.org/cas/488-69-7 + - http://identifiers.org/chebi/CHEBI:10374 + - http://identifiers.org/chebi/CHEBI:22767 + - http://identifiers.org/chebi/CHEBI:28013 + - http://identifiers.org/chebi/CHEBI:32966 + - http://identifiers.org/chebi/CHEBI:32967 + - http://identifiers.org/chebi/CHEBI:32968 + - http://identifiers.org/chebi/CHEBI:37736 + - http://identifiers.org/chebi/CHEBI:40591 + - http://identifiers.org/chebi/CHEBI:40595 + - http://identifiers.org/chebi/CHEBI:41014 + - http://identifiers.org/chebi/CHEBI:42553 + - http://identifiers.org/chebi/CHEBI:49299 + - http://identifiers.org/kegg.compound/C00354 + - http://identifiers.org/kegg.compound/C05378 + - http://identifiers.org/pubchem.substance/3647 + - http://identifiers.org/seed.compound/cpd00290 + - http://identifiers.org/unipathway.compound/UPC00354 + - !!omap + - id: M_g3p_c - name: Glyceraldehyde 3-phosphate - compartment: c - charge: -2 - formula: C3H5O6P - annotation: !!omap - - bigg.metabolite: g3p - - cas: - - 142-10-9 - - chebi: - - CHEBI:17138 - - CHEBI:14333 - - CHEBI:5446 - - CHEBI:58027 - - hmdb: HMDB01112 - - kegg.compound: - - C00661 - - C00118 - - pubchem.substance: '3930' - - seed.compound: cpd00102 - - unipathway.compound: - - UPC00661 - - UPC00118 - - !!omap - - id: g6p_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/g3p + - http://identifiers.org/cas/142-10-9 + - http://identifiers.org/cas/142-10-9 + - http://identifiers.org/chebi/CHEBI:14333 + - http://identifiers.org/chebi/CHEBI:17138 + - http://identifiers.org/chebi/CHEBI:5446 + - http://identifiers.org/chebi/CHEBI:58027 + - http://identifiers.org/hmdb/HMDB01112 + - http://identifiers.org/kegg.compound/C00118 + - http://identifiers.org/kegg.compound/C00661 + - http://identifiers.org/pubchem.substance/3930 + - http://identifiers.org/seed.compound/cpd00102 + - http://identifiers.org/unipathway.compound/UPC00118 + - http://identifiers.org/unipathway.compound/UPC00661 + - !!omap + - id: M_g6p_c - name: D-Glucose 6-phosphate - compartment: c - charge: -2 - formula: C6H11O9P - annotation: !!omap - - bigg.metabolite: g6p - - biocyc: - - D-glucose-6-phosphate - - GLC-6-P - - cas: - - 56-73-5 - - chebi: - - CHEBI:10399 - - CHEBI:22797 - - CHEBI:41041 - - CHEBI:17719 - - CHEBI:4170 - - CHEBI:61548 - - CHEBI:58247 - - CHEBI:12375 - - hmdb: - - HMDB03498 - - HMDB06793 - - HMDB01401 - - HMDB01549 - - kegg.compound: - - C00092 - - C01172 - - pubchem.substance: '3392' - - reactome: REACT_1629756 - - seed.compound: cpd00079 - - unipathway.compound: UPC00092 - - !!omap - - id: glc__D_e + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/g6p + - http://identifiers.org/biocyc/D-glucose-6-phosphate + - http://identifiers.org/biocyc/GLC-6-P + - http://identifiers.org/cas/56-73-5 + - http://identifiers.org/cas/56-73-5 + - http://identifiers.org/chebi/CHEBI:10399 + - http://identifiers.org/chebi/CHEBI:12375 + - http://identifiers.org/chebi/CHEBI:17719 + - http://identifiers.org/chebi/CHEBI:22797 + - http://identifiers.org/chebi/CHEBI:41041 + - http://identifiers.org/chebi/CHEBI:4170 + - http://identifiers.org/chebi/CHEBI:58247 + - http://identifiers.org/chebi/CHEBI:61548 + - http://identifiers.org/hmdb/HMDB01401 + - http://identifiers.org/hmdb/HMDB01549 + - http://identifiers.org/hmdb/HMDB03498 + - http://identifiers.org/hmdb/HMDB06793 + - http://identifiers.org/kegg.compound/C00092 + - http://identifiers.org/kegg.compound/C01172 + - http://identifiers.org/pubchem.substance/3392 + - http://identifiers.org/reactome/REACT_1629756 + - http://identifiers.org/seed.compound/cpd00079 + - http://identifiers.org/unipathway.compound/UPC00092 + - !!omap + - id: M_glc__D_e - name: D-Glucose - compartment: e - charge: 0 - formula: C6H12O6 - annotation: !!omap - - bigg.metabolite: glc__D - - cas: - - 50-99-7 - - kegg.compound: C00031 - - pubchem.substance: '3333' - - !!omap - - id: h2o_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/glc__D + - http://identifiers.org/cas/50-99-7 + - http://identifiers.org/cas/50-99-7 + - http://identifiers.org/kegg.compound/C00031 + - http://identifiers.org/pubchem.substance/3333 + - !!omap + - id: M_h2o_c - name: H2O - compartment: c - charge: 0 - formula: H2O - annotation: !!omap - - bigg.metabolite: h2o - - biocyc: - - WATER - - OH - - OXONIUM - - cas: - - 7732-18-5 - - chebi: - - CHEBI:15377 - - CHEBI:13365 - - CHEBI:41979 - - CHEBI:16234 - - CHEBI:36385 - - CHEBI:42857 - - CHEBI:27313 - - CHEBI:44819 - - CHEBI:29373 - - CHEBI:10743 - - CHEBI:5594 - - CHEBI:29356 - - CHEBI:53442 - - CHEBI:29375 - - CHEBI:29374 - - CHEBI:13419 - - CHEBI:43228 - - CHEBI:44292 - - CHEBI:13352 - - CHEBI:41981 - - CHEBI:29412 - - CHEBI:42043 - - CHEBI:33811 - - CHEBI:33813 - - CHEBI:35511 - - CHEBI:5585 - - CHEBI:44641 - - CHEBI:44701 - - hmdb: - - HMDB01039 - - HMDB02111 - - kegg.compound: - - C01328 - - C00001 - - C18714 - - C18712 - - kegg.drug: - - D00001 - - D06322 - - D03703 - - pubchem.substance: '3303' - - reactome: - - REACT_947593 - - REACT_189422 - - REACT_141343 - - REACT_113518 - - REACT_1605715 - - REACT_109276 - - REACT_113521 - - REACT_113519 - - REACT_2022884 - - REACT_351603 - - REACT_29356 - - seed.compound: - - cpd15275 - - cpd00001 - - unipathway.compound: - - UPC00001 - - UPC01328 - - !!omap - - id: h2o_e + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/h2o + - http://identifiers.org/biocyc/OH + - http://identifiers.org/biocyc/OXONIUM + - http://identifiers.org/biocyc/WATER + - http://identifiers.org/cas/7732-18-5 + - http://identifiers.org/cas/7732-18-5 + - 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:33811 + - http://identifiers.org/chebi/CHEBI:33813 + - http://identifiers.org/chebi/CHEBI:35511 + - http://identifiers.org/chebi/CHEBI:36385 + - 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:53442 + - http://identifiers.org/chebi/CHEBI:5585 + - http://identifiers.org/chebi/CHEBI:5594 + - http://identifiers.org/hmdb/HMDB01039 + - http://identifiers.org/hmdb/HMDB02111 + - http://identifiers.org/kegg.compound/C00001 + - http://identifiers.org/kegg.compound/C01328 + - http://identifiers.org/kegg.compound/C18712 + - 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/pubchem.substance/3303 + - http://identifiers.org/reactome/REACT_109276 + - http://identifiers.org/reactome/REACT_113518 + - http://identifiers.org/reactome/REACT_113519 + - http://identifiers.org/reactome/REACT_113521 + - http://identifiers.org/reactome/REACT_141343 + - http://identifiers.org/reactome/REACT_1605715 + - http://identifiers.org/reactome/REACT_189422 + - http://identifiers.org/reactome/REACT_2022884 + - http://identifiers.org/reactome/REACT_29356 + - http://identifiers.org/reactome/REACT_351603 + - http://identifiers.org/reactome/REACT_947593 + - http://identifiers.org/seed.compound/cpd00001 + - http://identifiers.org/seed.compound/cpd15275 + - http://identifiers.org/unipathway.compound/UPC00001 + - http://identifiers.org/unipathway.compound/UPC01328 + - !!omap + - id: M_h2o_e - name: H2O - compartment: e - charge: 0 - formula: H2O - annotation: !!omap - - bigg.metabolite: h2o - - biocyc: - - WATER - - OH - - OXONIUM - - cas: - - 7732-18-5 - - chebi: - - CHEBI:15377 - - CHEBI:13365 - - CHEBI:41979 - - CHEBI:16234 - - CHEBI:36385 - - CHEBI:42857 - - CHEBI:27313 - - CHEBI:44819 - - CHEBI:29373 - - CHEBI:10743 - - CHEBI:5594 - - CHEBI:29356 - - CHEBI:53442 - - CHEBI:29375 - - CHEBI:29374 - - CHEBI:13419 - - CHEBI:43228 - - CHEBI:44292 - - CHEBI:13352 - - CHEBI:41981 - - CHEBI:29412 - - CHEBI:42043 - - CHEBI:33811 - - CHEBI:33813 - - CHEBI:35511 - - CHEBI:5585 - - CHEBI:44641 - - CHEBI:44701 - - hmdb: - - HMDB01039 - - HMDB02111 - - kegg.compound: - - C01328 - - C00001 - - C18714 - - C18712 - - kegg.drug: - - D00001 - - D06322 - - D03703 - - pubchem.substance: '3303' - - reactome: - - REACT_947593 - - REACT_189422 - - REACT_141343 - - REACT_113518 - - REACT_1605715 - - REACT_109276 - - REACT_113521 - - REACT_113519 - - REACT_2022884 - - REACT_351603 - - REACT_29356 - - seed.compound: - - cpd15275 - - cpd00001 - - unipathway.compound: - - UPC00001 - - UPC01328 - - !!omap - - id: h_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/h2o + - http://identifiers.org/biocyc/OH + - http://identifiers.org/biocyc/OXONIUM + - http://identifiers.org/biocyc/WATER + - http://identifiers.org/cas/7732-18-5 + - http://identifiers.org/cas/7732-18-5 + - 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:33811 + - http://identifiers.org/chebi/CHEBI:33813 + - http://identifiers.org/chebi/CHEBI:35511 + - http://identifiers.org/chebi/CHEBI:36385 + - 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:53442 + - http://identifiers.org/chebi/CHEBI:5585 + - http://identifiers.org/chebi/CHEBI:5594 + - http://identifiers.org/hmdb/HMDB01039 + - http://identifiers.org/hmdb/HMDB02111 + - http://identifiers.org/kegg.compound/C00001 + - http://identifiers.org/kegg.compound/C01328 + - http://identifiers.org/kegg.compound/C18712 + - 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/pubchem.substance/3303 + - http://identifiers.org/reactome/REACT_109276 + - http://identifiers.org/reactome/REACT_113518 + - http://identifiers.org/reactome/REACT_113519 + - http://identifiers.org/reactome/REACT_113521 + - http://identifiers.org/reactome/REACT_141343 + - http://identifiers.org/reactome/REACT_1605715 + - http://identifiers.org/reactome/REACT_189422 + - http://identifiers.org/reactome/REACT_2022884 + - http://identifiers.org/reactome/REACT_29356 + - http://identifiers.org/reactome/REACT_351603 + - http://identifiers.org/reactome/REACT_947593 + - http://identifiers.org/seed.compound/cpd00001 + - http://identifiers.org/seed.compound/cpd15275 + - http://identifiers.org/unipathway.compound/UPC00001 + - http://identifiers.org/unipathway.compound/UPC01328 + - !!omap + - id: M_h_c - name: H+ - compartment: c - charge: 1 - formula: H - annotation: !!omap - - bigg.metabolite: h - - biocyc: PROTON - - cas: - - 12408-02-5 - - chebi: - - CHEBI:24636 - - CHEBI:15378 - - CHEBI:10744 - - CHEBI:13357 - - CHEBI:5584 - - kegg.compound: C00080 - - pubchem.substance: '3380' - - reactome: - - REACT_194688 - - REACT_425978 - - REACT_193465 - - REACT_374900 - - REACT_74722 - - REACT_425999 - - REACT_428040 - - REACT_163953 - - REACT_372511 - - REACT_2000349 - - REACT_70106 - - REACT_1470067 - - REACT_113529 - - REACT_425969 - - REACT_428548 - - REACT_156540 - - REACT_1614597 - - REACT_351626 - - REACT_427899 - - seed.compound: cpd00067 - - unipathway.compound: UPC00080 - - !!omap - - id: h_e + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/h + - http://identifiers.org/biocyc/PROTON + - http://identifiers.org/cas/12408-02-5 + - http://identifiers.org/cas/12408-02-5 + - 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:5584 + - http://identifiers.org/kegg.compound/C00080 + - http://identifiers.org/pubchem.substance/3380 + - http://identifiers.org/reactome/REACT_113529 + - http://identifiers.org/reactome/REACT_1470067 + - http://identifiers.org/reactome/REACT_156540 + - http://identifiers.org/reactome/REACT_1614597 + - http://identifiers.org/reactome/REACT_163953 + - http://identifiers.org/reactome/REACT_193465 + - http://identifiers.org/reactome/REACT_194688 + - http://identifiers.org/reactome/REACT_2000349 + - http://identifiers.org/reactome/REACT_351626 + - http://identifiers.org/reactome/REACT_372511 + - http://identifiers.org/reactome/REACT_374900 + - http://identifiers.org/reactome/REACT_425969 + - http://identifiers.org/reactome/REACT_425978 + - http://identifiers.org/reactome/REACT_425999 + - http://identifiers.org/reactome/REACT_427899 + - http://identifiers.org/reactome/REACT_428040 + - http://identifiers.org/reactome/REACT_428548 + - http://identifiers.org/reactome/REACT_70106 + - http://identifiers.org/reactome/REACT_74722 + - http://identifiers.org/seed.compound/cpd00067 + - http://identifiers.org/unipathway.compound/UPC00080 + - !!omap + - id: M_h_e - name: H+ - compartment: e - charge: 1 - formula: H - annotation: !!omap - - bigg.metabolite: h - - biocyc: PROTON - - cas: - - 12408-02-5 - - chebi: - - CHEBI:24636 - - CHEBI:15378 - - CHEBI:10744 - - CHEBI:13357 - - CHEBI:5584 - - kegg.compound: C00080 - - pubchem.substance: '3380' - - reactome: - - REACT_194688 - - REACT_425978 - - REACT_193465 - - REACT_374900 - - REACT_74722 - - REACT_425999 - - REACT_428040 - - REACT_163953 - - REACT_372511 - - REACT_2000349 - - REACT_70106 - - REACT_1470067 - - REACT_113529 - - REACT_425969 - - REACT_428548 - - REACT_156540 - - REACT_1614597 - - REACT_351626 - - REACT_427899 - - seed.compound: cpd00067 - - unipathway.compound: UPC00080 - - !!omap - - id: lac__D_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/h + - http://identifiers.org/biocyc/PROTON + - http://identifiers.org/cas/12408-02-5 + - http://identifiers.org/cas/12408-02-5 + - 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:5584 + - http://identifiers.org/kegg.compound/C00080 + - http://identifiers.org/pubchem.substance/3380 + - http://identifiers.org/reactome/REACT_113529 + - http://identifiers.org/reactome/REACT_1470067 + - http://identifiers.org/reactome/REACT_156540 + - http://identifiers.org/reactome/REACT_1614597 + - http://identifiers.org/reactome/REACT_163953 + - http://identifiers.org/reactome/REACT_193465 + - http://identifiers.org/reactome/REACT_194688 + - http://identifiers.org/reactome/REACT_2000349 + - http://identifiers.org/reactome/REACT_351626 + - http://identifiers.org/reactome/REACT_372511 + - http://identifiers.org/reactome/REACT_374900 + - http://identifiers.org/reactome/REACT_425969 + - http://identifiers.org/reactome/REACT_425978 + - http://identifiers.org/reactome/REACT_425999 + - http://identifiers.org/reactome/REACT_427899 + - http://identifiers.org/reactome/REACT_428040 + - http://identifiers.org/reactome/REACT_428548 + - http://identifiers.org/reactome/REACT_70106 + - http://identifiers.org/reactome/REACT_74722 + - http://identifiers.org/seed.compound/cpd00067 + - http://identifiers.org/unipathway.compound/UPC00080 + - !!omap + - id: M_lac__D_c - name: D-Lactate - compartment: c - charge: -1 - formula: C3H5O3 - annotation: !!omap - - bigg.metabolite: lac__D - - biocyc: META:D-LACTATE - - chebi: - - CHEBI:11001 - - CHEBI:16004 - - CHEBI:18684 - - CHEBI:341 - - CHEBI:42105 - - CHEBI:42111 - - CHEBI:43701 - - hmdb: - - HMDB00171 - - HMDB01311 - - kegg.compound: C00256 - - metanetx.chemical: MNXM285 - - seed.compound: cpd00221 - - !!omap - - id: lac__D_e + - standardized: + - qualifier: bqb_is + external_resources: + 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 + - !!omap + - id: M_lac__D_e - name: D-Lactate - compartment: e - charge: -1 - formula: C3H5O3 - annotation: !!omap - - bigg.metabolite: lac__D - - biocyc: META:D-LACTATE - - chebi: - - CHEBI:11001 - - CHEBI:16004 - - CHEBI:18684 - - CHEBI:341 - - CHEBI:42105 - - CHEBI:42111 - - CHEBI:43701 - - hmdb: - - HMDB00171 - - HMDB01311 - - kegg.compound: C00256 - - metanetx.chemical: MNXM285 - - seed.compound: cpd00221 - - !!omap - - id: nad_c + - standardized: + - qualifier: bqb_is + external_resources: + 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 + - !!omap + - id: M_nad_c - name: Nicotinamide adenine dinucleotide - compartment: c - charge: -1 - formula: C21H26N7O14P2 - annotation: !!omap - - bigg.metabolite: nad - - biocyc: NAD - - cas: - - 53-84-9 - - chebi: - - CHEBI:21901 - - CHEBI:7422 - - CHEBI:44214 - - CHEBI:15846 - - CHEBI:13394 - - CHEBI:13393 - - CHEBI:44215 - - CHEBI:13389 - - CHEBI:57540 - - CHEBI:44281 - - hmdb: HMDB00902 - - kegg.compound: C00003 - - kegg.drug: D00002 - - pubchem.substance: '3305' - - reactome: - - REACT_192307 - - REACT_29360 - - REACT_427523 - - REACT_194653 - - REACT_113526 - - seed.compound: cpd00003 - - unipathway.compound: UPC00003 - - !!omap - - id: nadh_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/nad + - http://identifiers.org/biocyc/NAD + - http://identifiers.org/cas/53-84-9 + - http://identifiers.org/cas/53-84-9 + - http://identifiers.org/chebi/CHEBI:13389 + - 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: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/hmdb/HMDB00902 + - http://identifiers.org/kegg.compound/C00003 + - http://identifiers.org/kegg.drug/D00002 + - http://identifiers.org/pubchem.substance/3305 + - http://identifiers.org/reactome/REACT_113526 + - http://identifiers.org/reactome/REACT_192307 + - http://identifiers.org/reactome/REACT_194653 + - http://identifiers.org/reactome/REACT_29360 + - http://identifiers.org/reactome/REACT_427523 + - http://identifiers.org/seed.compound/cpd00003 + - http://identifiers.org/unipathway.compound/UPC00003 + - !!omap + - id: M_nadh_c - name: Nicotinamide adenine dinucleotide - reduced - compartment: c - charge: -2 - formula: C21H27N7O14P2 - annotation: !!omap - - bigg.metabolite: nadh - - biocyc: NADH - - cas: - - 58-68-4 - - chebi: - - CHEBI:13395 - - CHEBI:21902 - - CHEBI:16908 - - CHEBI:7423 - - CHEBI:44216 - - CHEBI:57945 - - CHEBI:13396 - - hmdb: HMDB01487 - - kegg.compound: C00004 - - pubchem.substance: '3306' - - reactome: - - REACT_192305 - - REACT_73473 - - REACT_194697 - - REACT_29362 - - seed.compound: cpd00004 - - unipathway.compound: UPC00004 - - !!omap - - id: pep_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/nadh + - http://identifiers.org/biocyc/NADH + - http://identifiers.org/cas/58-68-4 + - http://identifiers.org/cas/58-68-4 + - 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/pubchem.substance/3306 + - http://identifiers.org/reactome/REACT_192305 + - http://identifiers.org/reactome/REACT_194697 + - http://identifiers.org/reactome/REACT_29362 + - http://identifiers.org/reactome/REACT_73473 + - http://identifiers.org/seed.compound/cpd00004 + - http://identifiers.org/unipathway.compound/UPC00004 + - !!omap + - id: M_pep_c - name: Phosphoenolpyruvate - compartment: c - charge: -3 - formula: C3H2O6P - annotation: !!omap - - bigg.metabolite: pep - - biocyc: PHOSPHO-ENOL-PYRUVATE - - cas: - - 138-08-9 - - chebi: - - CHEBI:44897 - - CHEBI:44894 - - CHEBI:14812 - - CHEBI:8147 - - CHEBI:26055 - - CHEBI:26054 - - CHEBI:58702 - - CHEBI:18021 - - hmdb: HMDB00263 - - kegg.compound: C00074 - - pubchem.substance: '3374' - - reactome: - - REACT_29492 - - REACT_372364 - - seed.compound: cpd00061 - - unipathway.compound: UPC00074 - - !!omap - - id: pi_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/pep + - http://identifiers.org/biocyc/PHOSPHO-ENOL-PYRUVATE + - http://identifiers.org/cas/138-08-9 + - http://identifiers.org/cas/138-08-9 + - 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/pubchem.substance/3374 + - http://identifiers.org/reactome/REACT_29492 + - http://identifiers.org/reactome/REACT_372364 + - http://identifiers.org/seed.compound/cpd00061 + - http://identifiers.org/unipathway.compound/UPC00074 + - !!omap + - id: M_pi_c - name: Phosphate - compartment: c - charge: -2 - formula: HO4P - annotation: !!omap - - bigg.metabolite: pi - - biocyc: - - Pi - - PHOSPHATE-GROUP - - CPD0-1421 - - cas: - - 14265-44-2 - - chebi: - - CHEBI:37583 - - CHEBI:7793 - - CHEBI:37585 - - CHEBI:34683 - - CHEBI:14791 - - CHEBI:34855 - - CHEBI:29137 - - CHEBI:29139 - - CHEBI:63036 - - CHEBI:26020 - - CHEBI:39739 - - CHEBI:32597 - - CHEBI:32596 - - CHEBI:43474 - - CHEBI:63051 - - CHEBI:43470 - - CHEBI:9679 - - CHEBI:35433 - - CHEBI:4496 - - CHEBI:45024 - - CHEBI:18367 - - CHEBI:26078 - - CHEBI:39745 - - CHEBI:24838 - - hmdb: HMDB02142 - - kegg.compound: - - C13556 - - C13558 - - C00009 - - kegg.drug: D05467 - - pubchem.substance: '3311' - - reactome: - - REACT_947590 - - REACT_109277 - - REACT_113548 - - REACT_2255331 - - REACT_29372 - - REACT_113550 - - REACT_113551 - - seed.compound: - - cpd09464 - - cpd09463 - - cpd00009 - - unipathway.compound: UPC00009 - - !!omap - - id: pi_e + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/pi + - http://identifiers.org/biocyc/CPD0-1421 + - http://identifiers.org/biocyc/PHOSPHATE-GROUP + - http://identifiers.org/biocyc/Pi + - http://identifiers.org/cas/14265-44-2 + - http://identifiers.org/cas/14265-44-2 + - http://identifiers.org/chebi/CHEBI:14791 + - http://identifiers.org/chebi/CHEBI:18367 + - http://identifiers.org/chebi/CHEBI:24838 + - http://identifiers.org/chebi/CHEBI:26020 + - http://identifiers.org/chebi/CHEBI:26078 + - http://identifiers.org/chebi/CHEBI:29137 + - http://identifiers.org/chebi/CHEBI:29139 + - http://identifiers.org/chebi/CHEBI:32596 + - http://identifiers.org/chebi/CHEBI:32597 + - http://identifiers.org/chebi/CHEBI:34683 + - http://identifiers.org/chebi/CHEBI:34855 + - http://identifiers.org/chebi/CHEBI:35433 + - http://identifiers.org/chebi/CHEBI:37583 + - http://identifiers.org/chebi/CHEBI:37585 + - 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:4496 + - http://identifiers.org/chebi/CHEBI:45024 + - http://identifiers.org/chebi/CHEBI:63036 + - http://identifiers.org/chebi/CHEBI:63051 + - http://identifiers.org/chebi/CHEBI:7793 + - http://identifiers.org/chebi/CHEBI:9679 + - http://identifiers.org/hmdb/HMDB02142 + - http://identifiers.org/kegg.compound/C00009 + - http://identifiers.org/kegg.compound/C13556 + - http://identifiers.org/kegg.compound/C13558 + - http://identifiers.org/kegg.drug/D05467 + - http://identifiers.org/pubchem.substance/3311 + - http://identifiers.org/reactome/REACT_109277 + - http://identifiers.org/reactome/REACT_113548 + - http://identifiers.org/reactome/REACT_113550 + - http://identifiers.org/reactome/REACT_113551 + - http://identifiers.org/reactome/REACT_2255331 + - http://identifiers.org/reactome/REACT_29372 + - http://identifiers.org/reactome/REACT_947590 + - http://identifiers.org/seed.compound/cpd00009 + - http://identifiers.org/seed.compound/cpd09463 + - http://identifiers.org/seed.compound/cpd09464 + - http://identifiers.org/unipathway.compound/UPC00009 + - !!omap + - id: M_pi_e - name: Phosphate - compartment: e - charge: -2 - formula: HO4P - annotation: !!omap - - bigg.metabolite: pi - - biocyc: - - Pi - - PHOSPHATE-GROUP - - CPD0-1421 - - cas: - - 14265-44-2 - - chebi: - - CHEBI:37583 - - CHEBI:7793 - - CHEBI:37585 - - CHEBI:34683 - - CHEBI:14791 - - CHEBI:34855 - - CHEBI:29137 - - CHEBI:29139 - - CHEBI:63036 - - CHEBI:26020 - - CHEBI:39739 - - CHEBI:32597 - - CHEBI:32596 - - CHEBI:43474 - - CHEBI:63051 - - CHEBI:43470 - - CHEBI:9679 - - CHEBI:35433 - - CHEBI:4496 - - CHEBI:45024 - - CHEBI:18367 - - CHEBI:26078 - - CHEBI:39745 - - CHEBI:24838 - - hmdb: HMDB02142 - - kegg.compound: - - C13556 - - C13558 - - C00009 - - kegg.drug: D05467 - - pubchem.substance: '3311' - - reactome: - - REACT_947590 - - REACT_109277 - - REACT_113548 - - REACT_2255331 - - REACT_29372 - - REACT_113550 - - REACT_113551 - - seed.compound: - - cpd09464 - - cpd09463 - - cpd00009 - - unipathway.compound: UPC00009 - - !!omap - - id: pyr_c + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/pi + - http://identifiers.org/biocyc/CPD0-1421 + - http://identifiers.org/biocyc/PHOSPHATE-GROUP + - http://identifiers.org/biocyc/Pi + - http://identifiers.org/cas/14265-44-2 + - http://identifiers.org/cas/14265-44-2 + - http://identifiers.org/chebi/CHEBI:14791 + - http://identifiers.org/chebi/CHEBI:18367 + - http://identifiers.org/chebi/CHEBI:24838 + - http://identifiers.org/chebi/CHEBI:26020 + - http://identifiers.org/chebi/CHEBI:26078 + - http://identifiers.org/chebi/CHEBI:29137 + - http://identifiers.org/chebi/CHEBI:29139 + - http://identifiers.org/chebi/CHEBI:32596 + - http://identifiers.org/chebi/CHEBI:32597 + - http://identifiers.org/chebi/CHEBI:34683 + - http://identifiers.org/chebi/CHEBI:34855 + - http://identifiers.org/chebi/CHEBI:35433 + - http://identifiers.org/chebi/CHEBI:37583 + - http://identifiers.org/chebi/CHEBI:37585 + - 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:4496 + - http://identifiers.org/chebi/CHEBI:45024 + - http://identifiers.org/chebi/CHEBI:63036 + - http://identifiers.org/chebi/CHEBI:63051 + - http://identifiers.org/chebi/CHEBI:7793 + - http://identifiers.org/chebi/CHEBI:9679 + - http://identifiers.org/hmdb/HMDB02142 + - http://identifiers.org/kegg.compound/C00009 + - http://identifiers.org/kegg.compound/C13556 + - http://identifiers.org/kegg.compound/C13558 + - http://identifiers.org/kegg.drug/D05467 + - http://identifiers.org/pubchem.substance/3311 + - http://identifiers.org/reactome/REACT_109277 + - http://identifiers.org/reactome/REACT_113548 + - http://identifiers.org/reactome/REACT_113550 + - http://identifiers.org/reactome/REACT_113551 + - http://identifiers.org/reactome/REACT_2255331 + - http://identifiers.org/reactome/REACT_29372 + - http://identifiers.org/reactome/REACT_947590 + - http://identifiers.org/seed.compound/cpd00009 + - http://identifiers.org/seed.compound/cpd09463 + - http://identifiers.org/seed.compound/cpd09464 + - http://identifiers.org/unipathway.compound/UPC00009 + - !!omap + - id: M_pyr_c - name: Pyruvate - compartment: c - charge: -1 - formula: C3H3O3 - annotation: !!omap - - bigg.metabolite: pyr - - biocyc: PYRUVATE - - cas: - - 127-17-3 - - chebi: - - CHEBI:15361 - - CHEBI:14987 - - CHEBI:8685 - - CHEBI:32816 - - CHEBI:45253 - - CHEBI:26466 - - CHEBI:26462 - - hmdb: HMDB00243 - - kegg.compound: C00022 - - lipidmaps: LMFA01060077 - - pubchem.substance: '3324' - - reactome: - - REACT_113557 - - REACT_389680 - - REACT_29398 - - seed.compound: cpd00020 - - unipathway.compound: UPC00022 + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.metabolite/pyr + - http://identifiers.org/biocyc/PYRUVATE + - http://identifiers.org/cas/127-17-3 + - http://identifiers.org/cas/127-17-3 + - 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:8685 + - http://identifiers.org/hmdb/HMDB00243 + - http://identifiers.org/kegg.compound/C00022 + - http://identifiers.org/lipidmaps/LMFA01060077 + - http://identifiers.org/pubchem.substance/3324 + - http://identifiers.org/reactome/REACT_113557 + - http://identifiers.org/reactome/REACT_29398 + - http://identifiers.org/reactome/REACT_389680 + - http://identifiers.org/seed.compound/cpd00020 + - http://identifiers.org/unipathway.compound/UPC00022 - reactions: - !!omap - - id: ATPM + - id: R_ATPM - name: ATP maintenance requirement - - metabolites: !!omap - - 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: '' + - metabolites: !!omap + - M_atp_c: -1.0 + - M_h2o_c: -1.0 + - M_adp_c: 1.0 + - M_h_c: 1.0 + - M_pi_c: 1.0 - objective_coefficient: 1.0 - annotation: !!omap - - bigg.reaction: ATPM + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/ATPM - !!omap - - id: D_LACt2 + - id: R_D_LACt2 - name: '' - - metabolites: !!omap [] - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: '' + - metabolites: !!omap [] - !!omap - - id: ENO + - id: R_ENO - name: enolase - - metabolites: !!omap - - 2pg_c: -1.0 - - h2o_c: 1.0 - - pep_c: 1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b2779 + - metabolites: !!omap + - M_2pg_c: -1.0 + - M_pep_c: 1.0 + - M_h2o_c: 1.0 - annotation: !!omap - - bigg.reaction: ENO + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/ENO - !!omap - - id: EX_glc__D_e + - id: R_EX_glc__D_e - name: D-Glucose exchange - - metabolites: !!omap - - glc__D_e: -1.0 - lower_bound: -10.0 - upper_bound: 1000.0 - gene_reaction_rule: '' + - metabolites: !!omap + - M_glc__D_e: -1.0 - annotation: !!omap - - bigg.reaction: glc - sbo: SBO:0000627 + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/glc - !!omap - - id: EX_h_e + - id: R_EX_h_e - name: H+ exchange - - metabolites: !!omap - - h_e: -1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: '' + - metabolites: !!omap + - M_h_e: -1.0 - annotation: !!omap - - bigg.reaction: h - sbo: SBO:0000627 + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/h - !!omap - - id: EX_lac__D_e + - id: R_EX_lac__D_e - name: D-lactate exchange - - metabolites: !!omap - - lac__D_e: -1.0 - lower_bound: 0.0 - upper_bound: 1000.0 - gene_reaction_rule: '' + - metabolites: !!omap + - M_lac__D_e: -1.0 - annotation: !!omap - - bigg.reaction: lac__D - sbo: SBO:0000627 + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/lac__D - !!omap - - id: FBA + - id: R_FBA - name: fructose-bisphosphate aldolase - - metabolites: !!omap - - dhap_c: 1.0 - - fdp_c: -1.0 - - g3p_c: 1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b1773 or b2097 or b2925 + - metabolites: !!omap + - M_fdp_c: -1.0 + - M_dhap_c: 1.0 + - M_g3p_c: 1.0 - annotation: !!omap - - bigg.reaction: FBA + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/FBA - !!omap - - id: GAPD + - id: R_GAPD - name: glyceraldehyde-3-phosphate dehydrogenase - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_nad_c: -1.0 + - M_13dpg_c: 1.0 + - M_nadh_c: 1.0 + - M_g3p_c: -1.0 + - M_pi_c: -1.0 + - M_h_c: 1.0 - annotation: !!omap - - bigg.reaction: GAPD + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/GAPD - !!omap - - id: GLCpts + - id: R_GLCpts - name: D-glucose transport via PEP:Pyr PTS - - metabolites: !!omap - - 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: (b2415 and b2417 and b1101 and b2416) or (b2415 and b2417 and b1621 and b2416) or (b2415 and b1818 and b1817 and b1819 and b2416) + - metabolites: !!omap + - M_g6p_c: 1.0 + - M_pyr_c: 1.0 + - M_glc__D_e: -1.0 + - M_pep_c: -1.0 - annotation: !!omap - - bigg.reaction: GLCpts + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/GLCpts - !!omap - - id: H2Ot + - id: R_H2Ot - name: R H2O transport via - diffusion - - metabolites: !!omap - - h2o_c: 1.0 - - h2o_e: -1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b0875 or s0001 + - metabolites: !!omap + - M_h2o_e: -1.0 + - M_h2o_c: 1.0 - annotation: !!omap - - bigg.reaction: H2Ot + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/H2Ot - !!omap - - id: LDH_D + - id: R_LDH_D - name: D-lactate dehydrogenase - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_lac__D_c: -1.0 + - M_nad_c: -1.0 + - M_h_c: 1.0 + - M_nadh_c: 1.0 + - M_pyr_c: 1.0 - subsystem: Pyruvate Metabolism - annotation: !!omap - - bigg.reaction: LDH_D - - biocyc: META:DLACTDEHYDROGNAD-RXN - - ec-code: 1.1.1.28 - - kegg.reaction: R00704 - - metanetx.reaction: MNXR101037 - - rhea: - - '16369' - - '16370' - - '16371' - - '16372' - sbo: SBO:0000375 - - !!omap - - id: PFK + - standardized: + - qualifier: bqb_is + external_resources: + 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 + - !!omap + - id: R_PFK - name: phosphofructokinase - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_f6p_c: -1.0 + - M_atp_c: -1.0 + - M_adp_c: 1.0 + - M_fdp_c: 1.0 + - M_h_c: 1.0 - objective_coefficient: 1.0 - annotation: !!omap - - bigg.reaction: PFK + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/PFK - !!omap - - id: PGI + - id: R_PGI - name: glucose-6-phosphate isomerase - - metabolites: !!omap - - f6p_c: 1.0 - - g6p_c: -1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b4025 + - metabolites: !!omap + - M_g6p_c: -1.0 + - M_f6p_c: 1.0 - annotation: !!omap - - bigg.reaction: PGI + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/PGI - !!omap - - id: PGK + - id: R_PGK - name: phosphoglycerate kinase - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_3pg_c: -1.0 + - M_atp_c: -1.0 + - M_13dpg_c: 1.0 + - M_adp_c: 1.0 - annotation: !!omap - - bigg.reaction: PGK + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/PGK - !!omap - - id: PGM + - id: R_PGM - name: phosphoglycerate mutase - - metabolites: !!omap - - 2pg_c: -1.0 - - 3pg_c: 1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b4395 or b3612 or b0755 + - metabolites: !!omap + - M_2pg_c: -1.0 + - M_3pg_c: 1.0 - annotation: !!omap - - bigg.reaction: PGM + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/PGM - !!omap - - id: PIt2r + - id: R_PIt2r - name: R phosphate reversible transport via - symport - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_pi_e: -1.0 + - M_h_e: -1.0 + - M_h_c: 1.0 + - M_pi_c: 1.0 - annotation: !!omap - - bigg.reaction: PIt2r + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/PIt2r - !!omap - - id: PYK + - id: R_PYK - name: pyruvate kinase - - metabolites: !!omap - - 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 + - metabolites: !!omap + - M_adp_c: -1.0 + - M_h_c: -1.0 + - M_pep_c: -1.0 + - M_atp_c: 1.0 + - M_pyr_c: 1.0 - annotation: !!omap - - bigg.reaction: PYK + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/PYK - !!omap - - id: TPI + - id: R_TPI - name: triose-phosphate isomerase - - metabolites: !!omap - - dhap_c: -1.0 - - g3p_c: 1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b3919 + - metabolites: !!omap + - M_dhap_c: -1.0 + - M_g3p_c: 1.0 - annotation: !!omap - - bigg.reaction: TPI + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/bigg.reaction/TPI - genes: - !!omap - - id: b0755 + - id: G_b0755 - name: gpmA - !!omap - - id: b0875 + - id: G_b0875 - name: aqpZ - !!omap - - id: b1101 + - id: G_b1101 - name: ptsG - !!omap - - id: b1380 + - id: G_b1380 - name: ldhA - !!omap - - id: b1621 + - id: G_b1621 - name: malX - !!omap - - id: b1676 + - id: G_b1676 - name: pykF - annotation: !!omap - - ncbiprotein: - - '1208453' - - '1652654' - - !!omap - - id: b1723 + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/ncbiprotein/1208453 + - http://identifiers.org/ncbiprotein/1652654 + - !!omap + - id: G_b1723 - name: pfkB - !!omap - - id: b1773 + - id: G_b1773 - name: ydjI - !!omap - - id: b1779 + - id: G_b1779 - name: gapA - !!omap - - id: b1817 + - id: G_b1817 - name: manX - !!omap - - id: b1818 + - id: G_b1818 - name: manY - !!omap - - id: b1819 + - id: G_b1819 - name: manZ - !!omap - - id: b1854 + - id: G_b1854 - name: pykA - !!omap - - id: b2097 + - id: G_b2097 - name: fbaB - !!omap - - id: b2133 + - id: G_b2133 - name: dld - !!omap - - id: b2415 + - id: G_b2415 - name: ptsH - !!omap - - id: b2416 + - id: G_b2416 - name: ptsI - !!omap - - id: b2417 + - id: G_b2417 - name: crr - !!omap - - id: b2779 + - id: G_b2779 - name: eno - annotation: !!omap - - ncbiprotein: '1653839' + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/ncbiprotein/1653839 - !!omap - - id: b2925 + - id: G_b2925 - name: fbaA - !!omap - - id: b2926 + - id: G_b2926 - name: pgk - annotation: !!omap - - ncbiprotein: '1653609' + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/ncbiprotein/1653609 - !!omap - - id: b2987 + - id: G_b2987 - name: pitB - !!omap - - id: b3493 + - id: G_b3493 - name: pitA - !!omap - - id: b3612 + - id: G_b3612 - name: gpmM - !!omap - - id: b3916 + - id: G_b3916 - name: pfkA - annotation: !!omap - - ncbiprotein: - - '1006614' - - '1651919' - - !!omap - - id: b3919 + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/ncbiprotein/1006614 + - http://identifiers.org/ncbiprotein/1651919 + - !!omap + - id: G_b3919 - name: tpiA - !!omap - - id: b4025 + - id: G_b4025 - name: pgi - annotation: !!omap - - ncbiprotein: '1653253' + - standardized: + - qualifier: bqb_is + external_resources: + resources: + - http://identifiers.org/ncbiprotein/1653253 - !!omap - - id: b4395 + - id: G_b4395 - name: ytjC - !!omap - - id: s0001 + - id: G_s0001 - name: G_s0001 +- groups: [] - id: mini_textbook - compartments: !!omap - c: cytosol diff --git a/tests/data/mini_cobra.xml b/tests/data/mini_cobra.xml index bc0d31f38..fea4da98b 100644 --- a/tests/data/mini_cobra.xml +++ b/tests/data/mini_cobra.xml @@ -21,19 +21,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -46,23 +46,23 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -75,29 +75,29 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -110,33 +110,33 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -149,32 +149,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -187,25 +187,25 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -218,25 +218,25 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -249,26 +249,26 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -281,19 +281,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -306,28 +306,28 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -340,10 +340,10 @@ - - - - + + + + @@ -356,64 +356,64 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -426,64 +426,64 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -496,37 +496,37 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -539,37 +539,37 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -582,20 +582,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -608,20 +608,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -634,30 +634,30 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -670,25 +670,25 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -701,24 +701,24 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -731,52 +731,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -789,52 +789,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -847,25 +847,25 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -889,7 +889,7 @@ - + @@ -905,14 +905,14 @@ - + - + @@ -935,7 +935,7 @@ - + @@ -951,7 +951,7 @@ - + @@ -967,7 +967,7 @@ - + @@ -983,7 +983,7 @@ - + @@ -1010,7 +1010,7 @@ - + @@ -1036,7 +1036,7 @@ - + @@ -1080,7 +1080,7 @@ - + @@ -1105,15 +1105,15 @@ - - - - - - - - - + + + + + + + + + @@ -1141,7 +1141,7 @@ - + @@ -1169,7 +1169,7 @@ - + @@ -1191,7 +1191,7 @@ - + @@ -1215,7 +1215,7 @@ - + @@ -1241,7 +1241,7 @@ - + @@ -1268,7 +1268,7 @@ - + @@ -1296,7 +1296,7 @@ - + @@ -1322,97 +1322,97 @@ - - - - - + + + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - - - + + + - - + + - + - + - - + + diff --git a/tests/data/mini_fbc2.xml b/tests/data/mini_fbc2.xml index bc0d31f38..fea4da98b 100644 --- a/tests/data/mini_fbc2.xml +++ b/tests/data/mini_fbc2.xml @@ -21,19 +21,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -46,23 +46,23 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -75,29 +75,29 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -110,33 +110,33 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -149,32 +149,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -187,25 +187,25 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -218,25 +218,25 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -249,26 +249,26 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -281,19 +281,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -306,28 +306,28 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -340,10 +340,10 @@ - - - - + + + + @@ -356,64 +356,64 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -426,64 +426,64 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -496,37 +496,37 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -539,37 +539,37 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -582,20 +582,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -608,20 +608,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -634,30 +634,30 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -670,25 +670,25 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -701,24 +701,24 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -731,52 +731,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -789,52 +789,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -847,25 +847,25 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -889,7 +889,7 @@ - + @@ -905,14 +905,14 @@ - + - + @@ -935,7 +935,7 @@ - + @@ -951,7 +951,7 @@ - + @@ -967,7 +967,7 @@ - + @@ -983,7 +983,7 @@ - + @@ -1010,7 +1010,7 @@ - + @@ -1036,7 +1036,7 @@ - + @@ -1080,7 +1080,7 @@ - + @@ -1105,15 +1105,15 @@ - - - - - - - - - + + + + + + + + + @@ -1141,7 +1141,7 @@ - + @@ -1169,7 +1169,7 @@ - + @@ -1191,7 +1191,7 @@ - + @@ -1215,7 +1215,7 @@ - + @@ -1241,7 +1241,7 @@ - + @@ -1268,7 +1268,7 @@ - + @@ -1296,7 +1296,7 @@ - + @@ -1322,97 +1322,97 @@ - - - - - + + + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - - - + + + - - + + - + - + - - + + diff --git a/tests/data/mini_fbc2.xml.bz2 b/tests/data/mini_fbc2.xml.bz2 index 73cc7b9e0..ac2b19cf1 100644 Binary files a/tests/data/mini_fbc2.xml.bz2 and b/tests/data/mini_fbc2.xml.bz2 differ diff --git a/tests/data/mini_fbc2.xml.gz b/tests/data/mini_fbc2.xml.gz index 569cd4ffe..88ea12dad 100644 Binary files a/tests/data/mini_fbc2.xml.gz and b/tests/data/mini_fbc2.xml.gz differ diff --git a/tests/data/mini_wrong_key_caps.mat b/tests/data/mini_wrong_key_caps.mat index 017c0c53c..49177ea78 100644 Binary files a/tests/data/mini_wrong_key_caps.mat and b/tests/data/mini_wrong_key_caps.mat differ diff --git a/tests/data/raven.pickle b/tests/data/raven.pickle index 8d4b59859..1fcefc957 100644 Binary files a/tests/data/raven.pickle and b/tests/data/raven.pickle differ diff --git a/tests/data/salmonella.pickle b/tests/data/salmonella.pickle index 1f355d41c..224130e17 100644 Binary files a/tests/data/salmonella.pickle and b/tests/data/salmonella.pickle differ diff --git a/tests/data/salmonella_old.pickle b/tests/data/salmonella_old.pickle new file mode 100644 index 000000000..33b1e8f7a Binary files /dev/null and b/tests/data/salmonella_old.pickle differ diff --git a/tests/data/update_pickles.py b/tests/data/update_pickles.py index 035604c7c..2681f0260 100755 --- a/tests/data/update_pickles.py +++ b/tests/data/update_pickles.py @@ -14,8 +14,11 @@ from json import dump as json_dump from pickle import dump, load +import scipy.io as scipy_io + import cobra from cobra.io import ( + create_mat_dict, load_matlab_model, load_model, read_sbml_model, @@ -37,7 +40,7 @@ dump(ecoli_model, outfile, protocol=2) # salmonella - salmonella = load_model("salmonella") + salmonella = load_model("salmonella", cache=False) with open("salmonella.media", "rb") as infile: salmonella.media_compositions = load(infile) with open("salmonella.pickle", "wb") as outfile: @@ -109,6 +112,40 @@ with open("raven.pickle", "wb") as outfile: dump(raven, outfile, protocol=2) + # Make mat model with wrong fields, which needs to happen every time the mini.mat + # model changes, i.e. every time update_pickles.py runs. + mat_dict = create_mat_dict(mini) + + old_new_fields = { + "metUniPathway": "metUNIPathway", + "metKEGGID": "metKeggID", + "metHMDBID": "methmdbid", + "metMetaNetXID": "metMETANETXID", + "metKEGGDrugID": "metKEGGDrugid", + "metKEGGGlycanID": "metkeggGlycanID", + "metBiGGID": "metBIGGID", + "metLIPIDMAPSID": "metLipidMapsID", + "metSEEDID": "metSEEDID".casefold(), + "metBioCycID": "metBioCYCID", + "metPubChemSubstance": "metPubChemSUBSTANCE", + "metReactomeID": "metREACTOMEid", + "metCasNumber": "metCASNumber".upper(), + "rxnECNumbers": "rxnECNumbers".upper(), + "rxnMetaNetXID": "rxnMetaNetXID".casefold(), + "rxnKEGGID": "rxnKeggID", + "rxnRheaID": "rxnRHEAID", + "rxnBioCycID": "rxnBIOCycID", + "rxnBiGGID": "rxnBIGGID", + } + for _old, _new in old_new_fields.items(): + mat_dict[_new] = mat_dict.pop(_old) + scipy_io.savemat( + "mini_wrong_key_caps.mat", + {"mini_textbook": mat_dict}, + appendmat=True, + oned_as="column", + ) + # TODO:these need a reference solutions rather than circular solution checking! # fva results diff --git a/tests/data/valid_annotation_format.json b/tests/data/valid_annotation_format.json index 8bbb6a38c..38be556a7 100644 --- a/tests/data/valid_annotation_format.json +++ b/tests/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": ["PFK26"], + "kegg.reaction": ["R02732"], + "rhea": ["15656"] } } ], diff --git a/tests/test_core/test_group.py b/tests/test_core/test_group.py index 9768ca82f..f651bf0fa 100644 --- a/tests/test_core/test_group.py +++ b/tests/test_core/test_group.py @@ -1,10 +1,12 @@ """Test functions of group via model.py.""" +from os.path import join import pytest from cobra import Model 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: Model) -> None: @@ -34,3 +36,17 @@ def test_group_kind() -> None: 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/tests/test_core/test_metadata/test_history.py b/tests/test_core/test_metadata/test_history.py new file mode 100644 index 000000000..7c6f7d4d9 --- /dev/null +++ b/tests/test_core/test_metadata/test_history.py @@ -0,0 +1,217 @@ +import os +from datetime import datetime, timedelta, timezone + +import pytest + +from cobra.core.metadata.history import Creator, History +from cobra.io import read_sbml_model + + +JUNE_26TH = "2020-06-26T12:34:11+00:00" +JUNE_26TH_530 = "2020-06-26T00:34:11+05:30" +TEST_COM = "test@test.com" + + +def _read_ecoli_annotation_model(data_directory): + """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( + given_name="Matthias", + family_name="Koenig", + organisation="HU", + email=TEST_COM, + ), + Creator( + given_name="Andreas", + family_name="Draeger", + organisation="University of Tübingen", + email="test2@test2.com", + ), + ], + created_date=JUNE_26TH_530, + modified_dates=[ + JUNE_26TH, + JUNE_26TH_530, + ], + ) + assert len(history.creators) == 2 + assert history.created_date.isoformat() == JUNE_26TH_530 + assert history.created_date == History.parse_datetime(JUNE_26TH_530) + 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( + given_name="Matthias", + family_name="Koenig", + email="koenigmx@hu-berlin.de", + organisation="Humboldt-University Berlin, " + "Institute for Theoretical Biology", + ), + Creator( + given_name="Matthias", + family_name="Koenig", + email="koenigmx@hu-berlin.de", + ), + Creator( + given_name="Matthias", + family_name="Koenig", + organisation="Humboldt-University Berlin, " + "Institute for Theoretical Biology", + ), + Creator( + given_name="Matthias", + family_name="Koenig", + ), + ], + created_date="2019-03-06T14:40:55Z", + modified_dates=[ + "2019-03-06T14:40:55Z", + "2019-03-06T14:41:55Z", + ], + ) + assert model.annotation.history == history + model.annotation.history.created_date = None + assert model.annotation.history == History( + creators=[ + Creator( + given_name="Matthias", + family_name="Koenig", + email="koenigmx@hu-berlin.de", + organisation="Humboldt-University Berlin, " + "Institute for Theoretical Biology", + ), + Creator( + given_name="Matthias", + family_name="Koenig", + email="koenigmx@hu-berlin.de", + ), + Creator( + given_name="Matthias", + family_name="Koenig", + organisation="Humboldt-University Berlin, " + "Institute for Theoretical Biology", + ), + Creator( + given_name="Matthias", + family_name="Koenig", + ), + ], + modified_dates=[ + "2019-03-06T14:40:55Z", + "2019-03-06T14:41:55Z", + ], + ) + + +def test_create_creator(): + creator = Creator( + given_name="Matthias", + family_name="König", + organisation="HU", + email=TEST_COM, + ) + assert creator.given_name == "Matthias" + assert creator.family_name == "König" + assert creator.organisation == "HU" + assert creator.email == TEST_COM + + creator = Creator( + given_name="Matthias", + organisation="HU", + email=TEST_COM, + ) + assert creator.given_name == "Matthias" + assert creator.family_name is None + assert creator.organisation == "HU" + assert creator.email == TEST_COM + + creator = Creator( + **{ + "given_name": "Matthias", + "family_name": "König", + "organisation": "HU", + "email": TEST_COM, + } + ) + + assert creator.given_name == "Matthias" + assert creator.family_name == "König" + assert creator.organisation == "HU" + assert creator.email == TEST_COM + + creator = Creator( + **{ + "given_name": "Matthias", + "organisation": "HU", + "email": TEST_COM, + } + ) + + assert creator.given_name == "Matthias" + assert creator.family_name is None + assert creator.organisation == "HU" + assert creator.email == TEST_COM + + creator = Creator().from_data( + { + "given_name": "Matthias", + "family_name": "König", + "organisation": "HU", + "email": TEST_COM, + } + ) + + assert creator.given_name == "Matthias" + assert creator.family_name == "König" + assert creator.organisation == "HU" + assert creator.email == TEST_COM + + creator = Creator().from_data( + { + "given_name": "Matthias", + "organisation": "HU", + "email": TEST_COM, + } + ) + + assert creator.given_name == "Matthias" + assert creator.family_name is None + assert creator.organisation == "HU" + assert creator.email == TEST_COM + + +def test_historydatetime(): + # valid date + dt_str1 = JUNE_26TH_530 + datetime_obj = History(created_date=dt_str1) + assert datetime_obj.created_date.isoformat() == dt_str1 + + # valid date + datetime_obj = History(created_date=JUNE_26TH) + assert datetime_obj.created_date.isoformat() == JUNE_26TH + datetime_obj.created_date = None + assert datetime_obj.created_date is None + + # create from python datetime + datetime_obj.created_date = datetime.now() + assert datetime_obj.created_date is not None + + # incorrect format + with pytest.raises(ValueError): + datetime_obj.created_date = datetime.now(timezone(timedelta(hours=1))).strftime( + "%Y-%m-%dT%H:%M:%S%Z" + ) + + with pytest.raises(TypeError): + datetime_obj.created_date = {"date": "June 26th"} diff --git a/tests/test_core/test_metadata/test_keyvaluepair.py b/tests/test_core/test_metadata/test_keyvaluepair.py new file mode 100644 index 000000000..85d7cd5ba --- /dev/null +++ b/tests/test_core/test_metadata/test_keyvaluepair.py @@ -0,0 +1,46 @@ +from cobra.core.metadata.custompairs 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/tests/test_core/test_metadata/test_metadata.py b/tests/test_core/test_metadata/test_metadata.py new file mode 100644 index 000000000..99130bf21 --- /dev/null +++ b/tests/test_core/test_metadata/test_metadata.py @@ -0,0 +1,502 @@ +"""Tests for the metadata structures.""" + +import json +from pathlib import Path + +import pytest + +from cobra import Model +from cobra.core.metadata import CVTerm, CVTermList, ExternalResources, Qualifier +from cobra.core.species import Species +from cobra.io import load_json_model, read_sbml_model, save_json_model, write_sbml_model + +PUBMED_EXAMPLE = "https://identifiers.org/pubmed/1111111" +ECO_EXAMPLE = "https://identifiers.org/eco/ECO:0000004" +RESOURCE_LIST = [ + "http://identifiers.org/bigg.metabolite/13dpg", + "http://identifiers.org/biocyc/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/HMDB01270", + "http://identifiers.org/kegg.compound/C00236", + "http://identifiers.org/pubchem.substance/3535", + "http://identifiers.org/reactome/REACT_29800", + "http://identifiers.org/seed.compound/cpd00203", + "http://identifiers.org/unipathway.compound/UPC00236", +] + +ecoli_model_annotation = [ + { + "qualifier": "bqb_hasTaxon", + "external_resources": {"resources": ["http://identifiers.org/taxonomy/511145"]}, + }, + { + "qualifier": "bqm_is", + "external_resources": { + "resources": ["http://identifiers.org/bigg.model/e_coli_core"], + "nested_data": [ + { + "qualifier": "bqb_isDescribedBy", + "external_resources": {"resources": [PUBMED_EXAMPLE]}, + }, + { + "qualifier": "bqb_isDescribedBy", + "external_resources": {"resources": [ECO_EXAMPLE]}, + }, + ], + }, + }, + { + "qualifier": "bqm_isDescribedBy", + "external_resources": { + "resources": ["http://identifiers.org/doi/10.1128/ecosalplus.10.2.1"] + }, + }, + { + "qualifier": "bqm_isDescribedBy", + "external_resources": { + "resources": ["http://identifiers.org/ncbiprotein/16128336"] + }, + }, +] + + +def test_annotation() -> None: + """Test creating an annotation manually. + + This function will test the basic functionality of creating an annotation, + including: + - creating an empty annotation + - assigning via dictionary assingment (like the old annotation format) + - checking that this assigned annotation can match identifiers.org + - chekcing that the annotation can be transformed to CVTermsList + - zeroing out annotation, and chekcing it is empty + - assigning via CVTermList() + - adding an SBO term + + """ + # a cobra component + s = Species() + assert s.annotation == {} # nothing set for annotation, so empty dict + assert s.annotation.standardized == CVTermList() + assert not s.annotation.keys() + assert s.annotation.keyvaluepairs == {} + assert s.annotation.history.creators == [] + assert s.annotation.history.modified_dates == [] + + # setting annotation via old annotation format + s.annotation["chebi"] = ["CHEBI:43215", "CHEBI:11881"] + + assert s.annotation.standardized.resources == { + "https://identifiers.org/chebi/CHEBI:43215", + "https://identifiers.org/chebi/CHEBI:11881", + } + + # checking old (fixed) annotation format + assert s.annotation == {"chebi": sorted(["CHEBI:43215", "CHEBI:11881"])} + + # checking new standardized + cvt = CVTermList( + [ + CVTerm( + qualifier="bqb_is", + ex_res=ExternalResources( + resources=[ + "https://identifiers.org/chebi/CHEBI:43215", + "https://identifiers.org/chebi/CHEBI:11881", + ] + ), + ), + ] + ) + + assert s.annotation.standardized == cvt + s.annotation.standardized = [] + assert s.annotation.standardized == CVTermList() + assert s.annotation.standardized.resources == frozenset() + assert s.annotation == {} + + s.annotation.standardized = cvt + + assert s.annotation.standardized.resources == { + "https://identifiers.org/chebi/CHEBI:43215", + "https://identifiers.org/chebi/CHEBI:11881", + } + + # checking old (fixed) annotation format + assert s.annotation == {"chebi": sorted(["CHEBI:43215", "CHEBI:11881"])} + + # adding an SBO term + s.annotation["sbo"] = ["SBO:0000123"] + assert "chebi" in s.annotation + assert "sbo" in s.annotation + assert s.annotation == { + "chebi": sorted(["CHEBI:43215", "CHEBI:11881"]), + "sbo": ["SBO:0000123"], + } + + cvt2 = CVTermList( + [ + CVTerm( + qualifier="bqb_is", + ex_res=ExternalResources( + resources=["https://identifiers.org/chebi/CHEBI:11881"] + ), + ), + CVTerm(ex_res="https://identifiers.org/chebi/CHEBI:43215"), + ] + ) + + s.annotation.standardized = cvt2 + assert s.annotation.standardized.resources == { + "https://identifiers.org/chebi/CHEBI:43215", + "https://identifiers.org/chebi/CHEBI:11881", + } + s.annotation.__delitem__("sbo") + + # checking old (fixed) annotation format + assert s.annotation == {"chebi": sorted(["CHEBI:43215", "CHEBI:11881"])} + + +def test_old_style_annotation() -> None: + s = Species() + s.annotation.standardized.add_simple_annotations({"chebi": "CHEBI:17234"}) + s.annotation.standardized.add_simple_annotations( + {"chebi": ["CHBEI:1723456", "CHEBI:172345"]} + ) + with pytest.raises(TypeError): + s.annotation.standardized.add_simple_annotations( + {"chebi": [["CHEBI:123", "CHEBI:1234"]]} + ) + assert len(s.annotation.standardized.resources) == 3 + s.annotation["eco"] = "123" + assert len(s.annotation.standardized.resources) == 4 + assert s.annotation == { + "chebi": ["CHEBI:17234", "CHBEI:1723456", "CHEBI:172345"], + "eco": ["123"], + } + s.annotation.standardized.delete_annotation("CHEBI:172345") + assert len(s.annotation.standardized.resources) == 3 + assert s.annotation == { + "chebi": ["CHEBI:17234", "CHBEI:1723456"], + "eco": ["123"], + } + s.annotation.__delitem__("chebi") + assert len(s.annotation.standardized.resources) == 1 + s.annotation.standardized.add_simple_annotations({"chebi": "CHEBI:17234"}) + s.annotation.standardized.add_simple_annotations( + {"chebi": ["CHBEI:1723456", "CHEBI:172345"]} + ) + assert len(s.annotation.standardized.resources) == 4 + s.annotation["chebi"] = ["CHEBI:123", "CHEBI:1234"] + assert len(s.annotation.standardized.resources) == 3 + assert s.annotation == {"chebi": ["CHEBI:123", "CHEBI:1234"], "eco": ["123"]} + + assert len(s.annotation.keys()) == 2 + + s.annotation["chebi"] = [] + assert len(s.annotation.standardized.resources) == 1 + + s.annotation = {} + assert len(s.annotation.keys()) == 0 + s.annotation = {"chebi": ["CHEBI:123", "CHEBI:1234"], "eco": ["123"]} + assert len(s.annotation.standardized.resources) == 3 + s.annotation = { + "chebi": ["CHEBI:123", "CHEBI:1234"], + "eco": ["123"], + "sbo": ["SBO:0000123"], + } + assert len(s.annotation.standardized.resources) == 3 + + +def test_nested_annotation(data_directory: Path) -> None: + """Test reading annotation from JSON, including nested data. + + Parameters + ---------- + data_directory: Path + """ + # testing via standardized + with data_directory.joinpath("cvterms_nested.json").open("r") as f_cvterms: + cvterms_data = json.load(f_cvterms) + + s = Species() + s.annotation.add_cvterms(cvterms_data) + assert s.annotation == { + "chebi": ["CHEBI:17627"], + "eco": ["000000"], + "kegg.compound": ["C00032"], + "pubmed": ["1111111"], + "uniprot": ["P68871", "P69905"], + } + # check standardized + main_cvt = [ + { + "external_resources": { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://identifiers.org/uniprot/P68871", + "https://identifiers.org/kegg.compound/C00032", + ] + }, + "qualifier": "bqb_hasPart", + }, + { + "qualifier": "bqb_hasPart", + "external_resources": { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://www.uniprot.org/uniprot/P68871", + "https://identifiers.org/chebi/CHEBI:17627", + ], + "nested_data": { + "qualifier": "bqb_isDescribedBy", + "external_resources": { + "resources": [ + PUBMED_EXAMPLE, + "https://identifiers.org/eco/000000", + ] + }, + }, + }, + }, + ] + nested_cvt = [ + { + "qualifier": "bqb_isDescribedBy", + "external_resources": { + "resources": [PUBMED_EXAMPLE, "https://identifiers.org/eco/000000"] + }, + } + ] + assert s.annotation.standardized == main_cvt + nested_data = s.annotation.standardized[1].external_resources.nested_data + assert nested_data == nested_cvt + + +def test_cvterms_from_ecoli_xml(annotation_model: Model) -> None: + qualifier_set = { + Qualifier(qual) for qual in ["bqb_hasTaxon", "bqm_is", "bqm_isDescribedBy"] + } + nested_cvt = [ + { + "qualifier": "bqb_isDescribedBy", + "external_resources": {"resources": [PUBMED_EXAMPLE]}, + }, + { + "qualifier": "bqb_isDescribedBy", + "external_resources": {"resources": [ECO_EXAMPLE]}, + }, + ] + ecoli_model_cvterm = CVTermList.from_data(ecoli_model_annotation) + xml_model_cvterms = annotation_model.annotation.standardized + model_cvterms_qualifier_set = xml_model_cvterms.qualifiers + assert qualifier_set == model_cvterms_qualifier_set + assert xml_model_cvterms == ecoli_model_cvterm + assert ( + len( + annotation_model.annotation.standardized.query( + "bqm_isDescribedBy", "qualifier" + ) + ) + == 2 + ) + nested_data = annotation_model.annotation.standardized.query("bqm_is", "qualifier")[ + 0 + ].external_resources.nested_data + assert nested_data == nested_cvt + + # check backwards compatibility + assert annotation_model.annotation.annotations == { + "bigg.model": ["e_coli_core"], + "doi": ["10.1128/ecosalplus.10.2.1"], + "eco": ["ECO:0000004"], + "ncbiprotein": ["16128336"], + "pubmed": ["1111111"], + "taxonomy": ["511145"], + } + annotation_model.annotation.standardized.delete_annotation("coli") + assert annotation_model.annotation.annotations == { + "doi": ["10.1128/ecosalplus.10.2.1"], + "eco": ["ECO:0000004"], + "ncbiprotein": ["16128336"], + "pubmed": ["1111111"], + "taxonomy": ["511145"], + } + + +def test_writing_xml(annotation_model: Model, tmp_path): + assert ( + write_sbml_model( + annotation_model, str(tmp_path.joinpath("e_coli_core_writing.xml")) + ) + is None + ) + + +def test_read_write_json(annotation_model: Model, tmp_path: Path): + json_path = tmp_path / "e_coli_core_json_writing.json" + assert save_json_model(annotation_model, json_path, sort=False, pretty=True) is None + + model = load_json_model(json_path) + # Because of changes to eq, to compare using the old format, we need annotation.annotations + # TODO - get comments from cdiener + assert model.annotation.annotations == { + "bigg.model": ["e_coli_core"], + "doi": ["10.1128/ecosalplus.10.2.1"], + "eco": ["ECO:0000004"], + "ncbiprotein": ["16128336"], + "pubmed": ["1111111"], + "taxonomy": ["511145"], + } + assert model.annotation.standardized == CVTermList.from_data(ecoli_model_annotation) + assert model.annotation.standardized == ecoli_model_annotation + + for met_id in model.metabolites.list_attr("id"): + original_met_annot = annotation_model.metabolites.get_by_id(met_id).annotation + new_met_annot = model.metabolites.get_by_id(met_id).annotation + assert original_met_annot == new_met_annot + + for rxn_id in model.reactions.list_attr("id"): + original_rxn_annot = annotation_model.reactions.get_by_id(rxn_id).annotation + new_rxn_annot = model.reactions.get_by_id(rxn_id).annotation + assert original_rxn_annot == new_rxn_annot + + +def test_read_write_sbml(annotation_model: Model, tmp_path: Path): + out_path = tmp_path / "e_coli_core_json_writing.sbml" + assert write_sbml_model(annotation_model, str(out_path)) is None + + model = read_sbml_model(str(out_path)) + # Because of changes to eq, to compare using the old format, we need annotation.annotations + # TODO - get comments from cdiener + assert model.annotation.annotations == { + "bigg.model": ["e_coli_core"], + "doi": ["10.1128/ecosalplus.10.2.1"], + "eco": ["ECO:0000004"], + "ncbiprotein": ["16128336"], + "pubmed": ["1111111"], + "taxonomy": ["511145"], + } + assert model.annotation.standardized == CVTermList.from_data(ecoli_model_annotation) + assert model.annotation.standardized == ecoli_model_annotation + + for met_id in model.metabolites.list_attr("id"): + original_met_annot = annotation_model.metabolites.get_by_id(met_id).annotation + new_met_annot = model.metabolites.get_by_id(met_id).annotation + assert original_met_annot == new_met_annot + + for rxn_id in model.reactions.list_attr("id"): + original_rxn_annot = annotation_model.reactions.get_by_id(rxn_id).annotation + new_rxn_annot = model.reactions.get_by_id(rxn_id).annotation + assert original_rxn_annot == new_rxn_annot + + +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:11881", + "CHEBI:16001", + "CHEBI:1658", + "CHEBI:20189", + "CHEBI:57604", + ], + "hmdb": ["HMDB01270"], + "kegg.compound": ["C00236"], + "pubchem.substance": ["3535"], + "reactome": ["REACT_29800"], + "seed.compound": ["cpd00203"], + "unipathway.compound": ["UPC00236"], + } + + # testing standardized + expected_cvterms = CVTermList.from_data( + [{"qualifier": "bqb_is", "external_resources": {"resources": RESOURCE_LIST}}] + ) + assert meta.annotation.standardized == expected_cvterms + assert meta.annotation.standardized == [ + {"qualifier": "bqb_is", "external_resources": {"resources": RESOURCE_LIST}} + ] + + +def test_cvtermlist_query(): + resources = RESOURCE_LIST + resources.extend( + [ + "https://identifiers.org/uniprot/P69905", + "https://identifiers.org/uniprot/P68871", + "https://identifiers.org/kegg.compound/C00032", + "https://identifiers.org/chebi/CHEBI:17627", + "https://identifiers.org/chebi/CHEBI:43215", + "https://identifiers.org/CHebi/CHEBI:11881", + ] + ) + cvtermlist = CVTermList() + for i, res in enumerate(resources): + cvtermlist.extend( + [CVTerm(qualifier=list(Qualifier.__members__)[i], ex_res=resources[i])] + ) + + cvtermlist.append( + CVTerm( + ex_res={ + "resources": ECO_EXAMPLE, + "nested_data": CVTerm( + qualifier="bqb_isDescribedBy", ex_res=PUBMED_EXAMPLE + ), + }, + qualifier=list(Qualifier.__members__)[19], + ) + ) + assert isinstance( + cvtermlist.query(search_function="bqm", attribute="qualifier"), CVTermList + ) + assert len(cvtermlist.query(search_function="bqm", attribute="qualifier")) == 6 + assert ( + len(cvtermlist.query(search_function=r"bqm_is\S+", attribute="qualifier")) == 3 + ) + assert ( + len( + cvtermlist.query( + search_function=lambda x: list(Qualifier.__members__).index(x.value) + > 18, + attribute="qualifier", + ) + ) + == 1 + ) + + assert ( + len( + cvtermlist.query( + search_function=lambda x: x.nested_data, attribute="external_resources" + ) + ) + == 1 + ) + assert ( + len(cvtermlist.query(search_function="chebi", attribute="external_resources")) + == 7 + ) + + assert len(cvtermlist.query(search_function="chebi", attribute="resources")) == 7 + assert ( + len(cvtermlist.query(search_function=r"[cC][hH]EBI", attribute="resources")) + == 8 + ) + assert len(cvtermlist.query(search_function="pubmed", attribute="resources")) == 1 + + assert ( + len(cvtermlist.query(search_function=lambda x: x.qualifier.name == "bqm_is")) + == 1 + ) + + assert len(cvtermlist.query(search_function="chebi")) == 7 + assert len(cvtermlist.query(search_function=r"bqm_is\S+")) == 3 diff --git a/tests/test_core/test_metadata/test_notes.py b/tests/test_core/test_metadata/test_notes.py new file mode 100644 index 000000000..73e31145d --- /dev/null +++ b/tests/test_core/test_metadata/test_notes.py @@ -0,0 +1,110 @@ +import os +from pathlib import Path + +from cobra import Metabolite, Model, Reaction +from cobra.io import load_json_model, read_sbml_model, save_json_model, write_sbml_model + + +def test_notes_io(tmp_path: Path) -> None: + """Test if model notes are written and read from/to SBML. + + Parameters + ---------- + tmp_path : pathlib.Path + The path to the temporary test assets store. + + """ + path_to_file = tmp_path / "model_notes.xml" + + # making a minimal cobra model to test notes + model = Model("e_coli_core") + model.notes = {"Remark": "...Model Notes..."} + met = Metabolite("pyr_c", compartment="c") + model.add_metabolites([met]) + met.notes = {"Remark": "Note with \n newline"} + rxn = Reaction("R_ATPM") + model.add_reactions([rxn]) + rxn.notes = {"Remark": "What about me?"} + model.objective_direction = "max" + model.objective = rxn + write_sbml_model(model, str(path_to_file.resolve())) + + # reading the model back + model_after_reading = read_sbml_model(str(path_to_file.resolve())) + 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?" + + +NEW_VALUE1 = "New Value 1" +NEW_VALUE3 = "New Value 3" + + +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] + # 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_VALUE1 + rx1.notes["Key3"] = NEW_VALUE3 + + # trying to insert a new key-value + rx1.notes["Key4"] = NEW_VALUE3 + + # checking modified notes dict and string + assert rx1.notes["Key1"] == NEW_VALUE1 + assert rx1.notes["Key2"] == "Value2" + assert rx1.notes["Key3"] == NEW_VALUE3 + assert rx1.notes["Key4"] == NEW_VALUE3 + + # 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["Key1"] == NEW_VALUE1 + assert rx1_after_reading.notes["Key2"] == "Value2" + assert rx1_after_reading.notes["Key3"] == NEW_VALUE3 + + +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["Key1"] == "Value1" + assert rx1.notes["Key2"] == "Value2" + assert rx1.notes["Key3"] == "Value3" + + # 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["Key1"] == "Value1" + assert rx1_from_json.notes["Key2"] == "Value2" + assert rx1_from_json.notes["Key3"] == "Value3" diff --git a/tests/test_io/test_annotation.py b/tests/test_io/test_annotation.py index a1aca93bd..af20c0933 100644 --- a/tests/test_io/test_annotation.py +++ b/tests/test_io/test_annotation.py @@ -27,24 +27,28 @@ def _check_sbml_annotations(model: "Model") -> None: annotation = model.annotation assert annotation is not None 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 set(annotation.keys()) == {"bigg.model", "doi", "taxonomy"} + 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', - # 'ncbiprotein': 'gi:16129802', 'ecogene': 'EG11809'} + # 'ncbiprotein': '16129802', 'ecogene': 'EG11809'} annotation = model.genes.G1.annotation assert len(annotation) == 5 - for key in ["asap", "ncbigene", "uniprot", "ncbiprotein", "ecogene"]: - assert key in annotation - assert annotation["asap"] == "ABE-0006162" - assert annotation["ncbigene"] == "946368" - assert annotation["uniprot"] == "P33221" - assert annotation["ncbiprotein"] == "16129802" - assert annotation["ecogene"] == "EG11809" + assert set(annotation.keys()) == { + "asap", + "ncbigene", + "uniprot", + "ncbiprotein", + "ecogene", + } + assert annotation["asap"] == ["ABE-0006162"] + assert annotation["ncbigene"] == ["946368"] + assert annotation["uniprot"] == ["P33221"] + assert annotation["ncbiprotein"] == ["16129802"] + assert annotation["ecogene"] == ["EG11809"] # compartment annotation # FIXME: add tests with first class compartment model @@ -63,7 +67,7 @@ def _check_sbml_annotations(model: "Model") -> None: # 'seed.compound': 'cpd00203', 'hmdb': ['HMDB62758', 'HMDB06213'], # 'biocyc': 'META:DPG'} annotation = model.metabolites.A.annotation - for key in [ + assert set(annotation.keys()) == { "inchi", "bigg.metabolite", "chebi", @@ -72,11 +76,10 @@ def _check_sbml_annotations(model: "Model") -> None: "seed.compound", "hmdb", "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', @@ -84,7 +87,7 @@ def _check_sbml_annotations(model: "Model") -> None: # 'metanetx.reaction': 'MNXR95210', 'bigg.reaction': 'ACALD', # 'biocyc': 'META:ACETALD-DEHYDROG-RXN'} annotation = model.reactions.R1.annotation - for key in [ + assert set(annotation.keys()) == { "kegg.reaction", "sbo", "ec-code", @@ -92,9 +95,8 @@ def _check_sbml_annotations(model: "Model") -> None: "metanetx.reaction", "bigg.reaction", "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: Path) -> None: diff --git a/tests/test_io/test_annotation_format.py b/tests/test_io/test_annotation_format.py index 9b9d039cd..0a678bc28 100644 --- a/tests/test_io/test_annotation_format.py +++ b/tests/test_io/test_annotation_format.py @@ -2,8 +2,6 @@ from pathlib import Path -import pytest - from cobra.io import load_json_model, write_sbml_model @@ -19,9 +17,9 @@ def test_load_json_model_valid(data_directory: Path, tmp_path: Path) -> None: path_to_file = 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 @@ -37,5 +35,6 @@ def test_load_json_model_invalid(data_directory: Path) -> None: """ path = data_directory / "invalid_annotation_format.json" - with pytest.raises(TypeError): - load_json_model(path) + model = load_json_model(path) + anno = model.metabolites[0].annotation + assert anno == {"kegg.compound": ["C01468"], "chebi": ["CHEBI:11981"]} diff --git a/tests/test_io/test_json.py b/tests/test_io/test_json.py index 866a8f5b1..b2fee1f86 100644 --- a/tests/test_io/test_json.py +++ b/tests/test_io/test_json.py @@ -1,33 +1,32 @@ """Test functionalities of I/O in JSON format.""" -import json from os.path import join from pathlib import Path -from typing import Any, Callable, Dict, Union - -import pytest -from importlib_resources import files +from typing import Callable from cobra import Model from cobra import io as cio -@pytest.fixture(scope="module") -def json_schema_v1() -> Dict[str, Union[str, bool, Any]]: - """Fixture for cobra JSON-schema.""" - with files(cio).joinpath("schema_v1.json").open("r") as handle: - schema_v1 = json.load(handle) - return schema_v1 +def test_validate_json(data_directory: Path) -> None: + """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: Path, json_schema_v1: Dict[str, Union[str, bool, Any]] -) -> None: - """Validate file according to JSON-schema.""" - jsonschema = pytest.importorskip("jsonschema") - with open(data_directory.joinpath("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( @@ -38,30 +37,26 @@ def test_load_json_model( assert compare_models(mini_model, json_model) is None -def test_save_json_model( - tmp_path: Path, - mini_model: Model, - json_schema_v1: Dict[str, Union[str, bool, Any]], -) -> None: +def test_save_json_model(tmp_path: Path, mini_model: Model) -> None: """Test the writing of JSON model.""" - jsonschema = pytest.importorskip("jsonschema") output_file = tmp_path.joinpath("mini.json") cio.save_json_model(mini_model, output_file, 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: Path, tmp_path: Path) -> None: """Test reading and writing of model with inf bounds in JSON.""" - # Path to XML file with INF bounds + """Path to XML file with INF bounds""" path_to_xml_inf_file = join(data_directory, "fbc_ex1.xml") model_xml_inf = cio.read_sbml_model(path_to_xml_inf_file) path_to_output = tmp_path.joinpath("fbc_ex1_json.json") - # Saving model with inf bounds in json form without error + + """Saving model with inf bounds in json form without error""" cio.save_json_model(model_xml_inf, path_to_output) - # Path to JSON file with INF bounds + + """Path to JSON file with INF bounds""" path_to_JSON_inf_file = data_directory.joinpath("JSON_with_inf_bounds.json") model_json_inf = cio.load_json_model(path_to_JSON_inf_file) assert model_json_inf.reactions[0].upper_bound == float("inf") diff --git a/tests/test_io/test_mat.py b/tests/test_io/test_mat.py index a7d79a330..61163aa5c 100644 --- a/tests/test_io/test_mat.py +++ b/tests/test_io/test_mat.py @@ -282,7 +282,7 @@ def test_mat_model_wrong_caps(compare_models: Callable, data_directory: Path) -> str(Path(data_directory, "mini_wrong_key_caps.mat").resolve()) ) assert compare_models(mat_model, mat_wrong_caps_model) is None - assert mat_wrong_caps_model.reactions.get_by_id("LDH_D").annotation == { + EXPECTED_RXN_ANNOTATION = { "rhea": ["16369", "16370", "16371", "16372"], "metanetx.reaction": ["MNXR101037"], "kegg.reaction": ["R00704"], @@ -291,32 +291,51 @@ def test_mat_model_wrong_caps(compare_models: Callable, data_directory: Path) -> "biocyc": ["META:DLACTDEHYDROGNAD-RXN"], "sbo": ["SBO:0000375"], } + actual_rxn_annotation = dict( + mat_wrong_caps_model.reactions.get_by_id("LDH_D").annotation + ) + expected_rxn_keys = EXPECTED_RXN_ANNOTATION.keys() + actual_rxn_keys = actual_rxn_annotation.keys() + assert expected_rxn_keys == actual_rxn_keys + for key in actual_rxn_keys: + assert EXPECTED_RXN_ANNOTATION[key] == actual_rxn_annotation[key] for rxn in mat_model.reactions.list_attr("id"): assert ( mat_wrong_caps_model.reactions.get_by_id(rxn).annotation == mat_model.reactions.get_by_id(rxn).annotation ) - assert mat_wrong_caps_model.metabolites.get_by_id("pyr_c").annotation == { + + EXPECTED_MAT_ANNOTATION = { "seed.compound": ["cpd00020"], "unipathway.compound": ["UPC00022"], "lipidmaps": ["LMFA01060077"], - "reactome": ["REACT_113557", "REACT_389680", "REACT_29398"], + "reactome": sorted(["REACT_113557", "REACT_389680", "REACT_29398"]), "biocyc": ["PYRUVATE"], - "chebi": [ - "CHEBI:15361", - "CHEBI:14987", - "CHEBI:8685", - "CHEBI:32816", - "CHEBI:45253", - "CHEBI:26466", - "CHEBI:26462", - ], + "chebi": sorted( + [ + "CHEBI:15361", + "CHEBI:14987", + "CHEBI:8685", + "CHEBI:32816", + "CHEBI:45253", + "CHEBI:26466", + "CHEBI:26462", + ] + ), "pubchem.substance": ["3324"], "bigg.metabolite": ["pyr"], "cas": ["127-17-3"], "hmdb": ["HMDB00243"], "kegg.compound": ["C00022"], } + actual_met_annotation = mat_wrong_caps_model.metabolites.get_by_id( + "pyr_c" + ).annotation.annotations + expected_met_keys = EXPECTED_MAT_ANNOTATION.keys() + actual_met_keys = actual_met_annotation.keys() + assert expected_met_keys == actual_met_keys + for key in actual_met_keys: + assert EXPECTED_MAT_ANNOTATION[key] == actual_met_annotation[key] for met in mat_model.metabolites.list_attr("id"): assert ( mat_wrong_caps_model.metabolites.get_by_id(met).annotation diff --git a/tests/test_io/test_notes.py b/tests/test_io/test_notes.py deleted file mode 100644 index 7a15640c0..000000000 --- a/tests/test_io/test_notes.py +++ /dev/null @@ -1,43 +0,0 @@ -"""Test proper reading of SBML notes.""" - -from pathlib import Path - -from cobra import Metabolite, Model, Reaction -from cobra.io import read_sbml_model, write_sbml_model - - -def test_notes(tmp_path: Path) -> None: - """Test if model notes are written in SBML. - - Parameters - ---------- - tmp_path : pathlib.Path - The path to the temporary test assets store. - - """ - path_to_file = tmp_path / "model_notes.xml" - - # making a minimal cobra model to test notes - model = Model("e_coli_core") - model.notes["Remark"] = "...Model Notes..." - met = Metabolite("pyr_c", compartment="c") - model.add_metabolites([met]) - met.notes["Remark"] = "Note with \n newline" - rxn = Reaction("R_ATPM") - model.add_reactions([rxn]) - rxn.notes["Remark"] = "What about me?" - model.objective_direction = "max" - model.objective = rxn - write_sbml_model(model, str(path_to_file.resolve())) - - # reading the model back - model_after_reading = read_sbml_model(str(path_to_file.resolve())) - 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/tests/test_io/test_sbml.py b/tests/test_io/test_sbml.py index 658a62cd1..153512776 100644 --- a/tests/test_io/test_sbml.py +++ b/tests/test_io/test_sbml.py @@ -6,13 +6,14 @@ from pathlib import Path from pickle import load from tempfile import gettempdir -from typing import List, Tuple +from typing import Callable, List, Tuple import pytest from _pytest.fixtures import SubRequest 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 @@ -52,7 +53,7 @@ "mini_fbc2.xml.gz", read_sbml_model, write_sbml_model, - None, + None, # If None is replaced with validate_sbml_model, it seems to work ), IOTrial( "fbc2Bz2", @@ -318,7 +319,56 @@ def test_from_sbml_string(data_directory: str) -> None: TestCobraIO.compare_models(name="read from string", model1=model1, model2=model2) -@pytest.mark.skip(reason="Model history currently not written") +def test_document_history(tmp_path: Path) -> None: + """Testing reading and writing of ModelHistory for SBMLDocument. + + Parameters + ---------- + tmp_path: Path + Directory to use for temporary data. + """ + model = Model("test") + history = { + "creators": [ + { + "family_name": "Mustermann", + "given_name": "Max", + "organisation": "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: + write_sbml_model(model, f_out) + + with open(sbml_path, "r") as f_in: + model2 = read_sbml_model(f_in) + + assert "annotation" in model2._sbml + assert len(model2._sbml["annotation"].history.creators) == 1 + c = model2._sbml["annotation"].history.creators[0] + assert c.family_name == "Mustermann" + assert c.given_name == "Max" + assert c.organisation == "Muster University" + assert c.email == "muster@university.com" + + assert ( + model2._sbml["annotation"].history.created_date.isoformat() + == "2019-10-20T12:34:32+00:00" + ) + assert len(model2._sbml["annotation"].history._modified_dates) == 1 + assert ( + model2._sbml["annotation"].history._modified_dates[0].isoformat() + == "2019-10-20T12:35:32+00:00" + ) + + def test_model_history(tmp_path: Path) -> None: """Testing reading and writing of ModelHistory. @@ -328,16 +378,19 @@ def test_model_history(tmp_path: Path) -> None: Directory to use for temporary data. """ model = Model("test") - model._sbml = { + history = { "creators": [ { - "familyName": "Mustermann", - "givenName": "Max", + "family_name": "Mustermann", + "given_name": "Max", "organisation": "Muster University", "email": "muster@university.com", } - ] + ], + "created_date": "2019-10-20T12:34:32Z", + "modified_dates": ["2019-10-20T12:35:32Z"], } + model.annotation = MetaData(history=history) sbml_path = join(str(tmp_path), "test.xml") with open(sbml_path, "w") as f_out: @@ -346,13 +399,22 @@ def test_model_history(tmp_path: Path) -> None: with open(sbml_path, "r") as f_in: model2 = read_sbml_model(f_in) - assert "creators" in model2._sbml - assert len(model2._sbml["creators"]) == 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 len(model2.annotation.history.creators) == 1 + c = model2.annotation.history.creators[0] + assert c.family_name == "Mustermann" + assert c.given_name == "Max" + assert c.organisation == "Muster University" + assert c.email == "muster@university.com" + + assert ( + model2.annotation.history.created_date.isoformat() + == "2019-10-20T12:34:32+00:00" + ) + assert len(model2.annotation.history._modified_dates) == 1 + assert ( + model2.annotation.history._modified_dates[0].isoformat() + == "2019-10-20T12:35:32+00:00" + ) def test_groups(data_directory: str, tmp_path: Path) -> None: @@ -543,7 +605,7 @@ def test_gprs(data_directory: str, tmp_path: Path) -> None: def test_identifiers_annotation() -> None: """Test annotation with identifiers.""" - from cobra.io.sbml import _parse_annotation_info + from cobra.core.metadata.helper import parse_identifiers_uri for uri in [ "http://identifiers.org/chebi/CHEBI:000123", @@ -551,7 +613,7 @@ def test_identifiers_annotation() -> None: "http://identifiers.org/CHEBI:000123", "https://identifiers.org/CHEBI:000123", ]: - data = _parse_annotation_info(uri) + data = parse_identifiers_uri(uri) assert data assert data[0] == "chebi" assert data[1] == "CHEBI:000123" @@ -562,7 +624,7 @@ def test_identifiers_annotation() -> None: "http://identifiers.org/taxonomy:9602", "https://identifiers.org/taxonomy:9602", ]: - data = _parse_annotation_info(uri) + data = parse_identifiers_uri(uri) assert data assert data[0] == "taxonomy" assert data[1] == "9602" @@ -571,19 +633,17 @@ def test_identifiers_annotation() -> None: "http://identifier.org/taxonomy/9602", "https://test.com", ]: - data = _parse_annotation_info(uri) + data = parse_identifiers_uri(uri) assert data is None -def test_smbl_with_notes(data_directory: str, tmp_path: Path) -> None: +def test_smbl_with_notes(data_directory: str) -> None: """Test that NOTES in the RECON 2.2 style are written and read correctly. Parameters ---------- data_directory: str Directory where the data is. - tmp_path: Path - Directory to use for temporary data. """ sbml_path = join(data_directory, "example_notes.xml") model = read_sbml_model(sbml_path) @@ -609,52 +669,56 @@ def test_smbl_with_notes(data_directory: str, tmp_path: Path) -> None: } 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 = { "CONFIDENCE_LEVEL": "4", "NOTES": "NCD", "SUBSYSTEM": "Propanoate metabolism", - "GENE_ASSOCIATION": "(HGNC:8546 and HGNC:8548) or" " (HGNC:8547 and HGNC:8548)", + "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"], } @@ -708,3 +772,12 @@ def test_stable_gprs(data_directory: str, tmp_path: Path) -> None: assert ( fixed_model.reactions.GLCpts.gene_reaction_rule == "(b2415 and b2417) or b2416" ) + + +def test_writing_xml_with_annotation( + compare_models: Callable, data_directory: Path, tmp_path: Path +): + model = read_sbml_model(str(join(data_directory, "e_coli_core_for_annotation.xml"))) + write_sbml_model(model, str(join(tmp_path, "e_coli_core_writing.xml"))) + reread_model = read_sbml_model(str(join(tmp_path, "e_coli_core_writing.xml"))) + compare_models(model, reread_model) diff --git a/tests/test_io/test_yaml.py b/tests/test_io/test_yaml.py index 4bb2e593e..956e895a5 100644 --- a/tests/test_io/test_yaml.py +++ b/tests/test_io/test_yaml.py @@ -4,7 +4,6 @@ from pathlib import Path from typing import Callable -import pytest from ruamel.yaml import YAML from cobra import Model @@ -19,10 +18,8 @@ def test_load_yaml_model( assert compare_models(mini_model, yaml_model) is None -@pytest.mark.xfail(reason="schema outdated") def test_save_yaml_model(tmp_path: Path, mini_model: Model) -> None: """Test the writing of YAML model.""" - jsonschema = pytest.importorskip("jsonschema") output_file = tmp_path.joinpath("mini.yml") cio.save_yaml_model(mini_model, str(output_file), sort=True) # validate against JSONSchema @@ -30,5 +27,6 @@ def test_save_yaml_model(tmp_path: Path, mini_model: Model) -> None: with open(output_file, "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) + # Validate according to schema version 1 + errors = cio.validate_json_model(filename=dict_to_json, json_schema_version=1) + assert len(errors) == 0 diff --git a/tests/test_manipulation/test_annotate.py b/tests/test_manipulation/test_annotate.py index f1fa0d85e..c344d7255 100644 --- a/tests/test_manipulation/test_annotate.py +++ b/tests/test_manipulation/test_annotate.py @@ -7,7 +7,7 @@ def test_sbo_annotation(model: Model) -> None: """Test SBO annotation function.""" rxns = model.reactions - rxns.EX_o2_e.annotation.clear() + rxns.get_by_id("EX_o2_e").annotation.sbo = "" fake_DM = Reaction("DM_h_c") model.add_reactions([fake_DM]) fake_DM.add_metabolites({model.metabolites.get_by_id("h_c"): -1}) @@ -15,6 +15,6 @@ def test_sbo_annotation(model: Model) -> None: # an existing SBO annotation 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"] diff --git a/tests/test_manipulation/test_delete.py b/tests/test_manipulation/test_delete.py index c745a1efb..d79f48527 100644 --- a/tests/test_manipulation/test_delete.py +++ b/tests/test_manipulation/test_delete.py @@ -110,7 +110,7 @@ def test_gene_knockout(salmonella: Model) -> None: assert expected_reactions == knocked_out_reactions with salmonella: expected_reactions = [salmonella.reactions.get_by_id("4PEPTabcpp")] - knocked_out_reactions = knock_out_model_genes(salmonella, ["STM1746.S"]) + knocked_out_reactions = knock_out_model_genes(salmonella, ["STM1746_S"]) assert expected_reactions == knocked_out_reactions knocked_out_reactions = knock_out_model_genes(salmonella, gene_list) assert len(knocked_out_reactions) == 13 diff --git a/tox.ini b/tox.ini index adca66347..5d73515af 100644 --- a/tox.ini +++ b/tox.ini @@ -123,6 +123,7 @@ known_third_party = ruamel.yaml scipy swiglpk + jsonschema [flake8] exclude =