diff --git a/.gitignore b/.gitignore index cb914e644..7d12e1766 100644 --- a/.gitignore +++ b/.gitignore @@ -87,6 +87,7 @@ ipython_config.py # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 # User-specific stuff +.idea/**/*.iml .idea/**/workspace.xml .idea/**/tasks.xml .idea/**/usage.statistics.xml @@ -114,14 +115,15 @@ ipython_config.py # When using Gradle or Maven with auto-import, you should exclude module files, # since they will be recreated, and may cause churn. Uncomment if using # auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr + .idea/artifacts + .idea/compiler.xml + .idea/jarRepositories.xml + .idea/modules.xml + .idea/*.iml + .idea/*.xml + .idea/modules + *.iml + *.ipr # CMake cmake-build-*/ @@ -303,3 +305,5 @@ gurobi.log /documentation_builder/test*\.* /.benchmarks /.testmondata +/.idea/sonarlint/ +/.idea/sonarlint/issuestore/ 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/getting_started.ipynb b/documentation_builder/getting_started.ipynb index 9f2be895b..6663a80cf 100644 --- a/documentation_builder/getting_started.ipynb +++ b/documentation_builder/getting_started.ipynb @@ -40,7 +40,7 @@ "import cobra\n", "from cobra.io import load_model\n", "\n", - "# \"iJO1366\" and \"salmonella\" are also valid arguments\n", + "# \"iJO1366\" and \"iYS1720\" are also valid arguments\n", "model = load_model(\"textbook\")" ] }, diff --git a/documentation_builder/loopless.ipynb b/documentation_builder/loopless.ipynb index 98af41600..86b82b432 100644 --- a/documentation_builder/loopless.ipynb +++ b/documentation_builder/loopless.ipynb @@ -13014,7 +13014,7 @@ } ], "source": [ - "salmonella = load_model('salmonella')\n", + "salmonella = load_model('iYS1720')\n", "nominal = salmonella.optimize()\n", "loopless = loopless_solution(salmonella)" ] 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..5dff2a3fb 100644 --- a/src/cobra/core/__init__.py +++ b/src/cobra/core/__init__.py @@ -2,6 +2,7 @@ from cobra.core.dictlist import DictList from cobra.core.gene import Gene, GPR from cobra.core.metabolite import Metabolite +from cobra.core.metadata import * from cobra.core.model import Model from cobra.core.object import Object from cobra.core.reaction import Reaction diff --git a/src/cobra/core/gene.py b/src/cobra/core/gene.py index 0d1f86f29..a9911431a 100644 --- a/src/cobra/core/gene.py +++ b/src/cobra/core/gene.py @@ -751,7 +751,7 @@ def eval_gpr(expr: Union[Expression, GPR], knockouts: Union[DictList, set]) -> b otherwise false """ warn( - "eval_gpr() will be removed soon." "Use GPR().eval(knockouts) in the future", + "eval_gpr() will be removed soon. Use GPR().eval(knockouts) in the future", DeprecationWarning, ) if isinstance(expr, GPR): diff --git a/src/cobra/core/metadata/__init__.py b/src/cobra/core/metadata/__init__.py new file mode 100644 index 000000000..a103c4db2 --- /dev/null +++ b/src/cobra/core/metadata/__init__.py @@ -0,0 +1,13 @@ +"""Provide functions for loading, saving and modifying metadata annotations.""" + +from cobra.core.metadata.cvterm import ( + Qualifier, + CVTerms, + ExternalResources, + CVTerm, +) +from cobra.core.metadata.history import Creator, History, HistoryDatetime +from cobra.core.metadata.keyvaluepairs import KeyValuePairs +from cobra.core.metadata.metadata import MetaData +from cobra.core.metadata.notes import Notes +from cobra.core.metadata.helper import * diff --git a/src/cobra/core/metadata/cvterm.py b/src/cobra/core/metadata/cvterm.py new file mode 100644 index 000000000..81274d2c2 --- /dev/null +++ b/src/cobra/core/metadata/cvterm.py @@ -0,0 +1,625 @@ +"""Define the Controlled Vocabulary term class.""" + +import logging +import re +from collections import OrderedDict, 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 + + +logger = logging.getLogger(__name__) + + +class Qualifier(Enum): + """The possible qualifiers inside a CVTerm""" + + bqb_is = 0 + bqb_hasPart = 1 + bqb_isPartOf = 2 + bqb_isVersionOf = 3 + bqb_hasVersion = 4 + bqb_isHomologTo = 5 + bqb_isDescribedBy = 6 + bqb_isEncodedBy = 7 + bqb_encodes = 8 + bqb_occursIn = 9 + bqb_hasProperty = 10 + bqb_isPropertyOf = 11 + bqb_hasTaxon = 12 + bqb_unknown = 13 + bqm_is = 14 + bqm_isDescribedBy = 15 + bqm_isDerivedFrom = 16 + bqm_isInstanceOf = 17 + bqm_hasInstance = 18 + bqm_unknown = 19 + + +class CVTerm: + """ + Representation of one CVTerm of an object in their + dependency structure. It is a ???? + + + named tuple where the first named field is a qualifier and the second named field + is ExternalResources. + + UserList keeps the data in the property data, which is a real list. + + This is how a CVTerm looks : + CVTerm.qualifier = "bqb_is" + CVTerm.ex_res = + {"resources": [ + "resource_uri", + ... + ], + "nested_data": CVTerms Object + } + + + The internal dictionary is an ExternalResources + + 1. The only way to add annotation data via old format is by + using the method "add_simple_annotations()". + 2. Single CVTerm data can be added by using "add_cvterm()". + 3. Multiple CVTerm data can be added by using "add_cvterms()". + """ + + def __init__( + self, + ex_res: "ExternalResources" = None, + qualifier: Union[Qualifier, str] = Qualifier.bqb_is, + ): + 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: + return self._qualifier + + @qualifier.setter + def qualifier(self, qualifier: Union[str, int, Qualifier]) -> None: + self._qualifier = self.check_qualifier_type(qualifier) + + @property + def external_resources(self) -> "ExternalResources": + return self._ex_res + + @external_resources.setter + def external_resources( + self, external_resources: Union[dict, "ExternalResources"] + ) -> None: + self._ex_res = self.check_ex_res_type(external_resources) + + @staticmethod + def check_ex_res_type( + ex_res: Union["ExternalResources", Dict] + ) -> "ExternalResources": + 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) + else: + raise TypeError( + f"Allowed types for CVTerms ex_ress are ExternalResources " + f"or dict, not {type(ex_res)}: {ex_res}" + ) + + @staticmethod + def check_qualifier_type(qual: Union[int, str, Qualifier]) -> Qualifier: + if ( + isinstance(qual, str) + and qual not in Qualifier.__members__ + or (isinstance(qual, int) and not 0 <= qual < Qualifier.__len__()) + ): + raise TypeError(f"{qual} is not a supported enum Qualifier") + elif isinstance(qual, Qualifier): + return qual + elif isinstance(qual, str): + return Qualifier[qual] + elif isinstance(qual, int): + return Qualifier(qual) + else: + raise TypeError( + f"Allowed types for CVTerm qualifier must be Qualifier," + f"str member of the Qualifier enum " + f"or an int between 0 and the Qualifier enum length " + f"{type(qual)}, {qual}" + ) + + def to_ordered_dict(self) -> dict: + """Represent a CVTerms object in python dict. + + Returns: + ------- + dict: + a dict where each key has is a qualifier and has a list of all external + resources in the original self._cvterms dictionary for that key + + """ + return OrderedDict({self.qualifier: self.external_resources.to_dict()}) + + @classmethod + def from_dict(cls, data_dict: Dict): + return cls( + ex_res=data_dict.get("external_resources", None), + qualifier=data_dict.get("qualifier", Qualifier["bqb_is"]), + ) + + def __eq__(self, other: "CVTerm") -> bool: + if not isinstance(other, CVTerm): + return False + if self.qualifier != other.qualifier: + return False + if self.external_resources != other.external_resources: + return False + return True + + +class CVTerms(UserList): + """ + Representation of all CVTerms of an object in their + dependency structure. It is list that contains qualifiers and external resouces + for each CVTerm. + + Parameters + ---------- + data : list + a list containing qualifier and external resources in CVTerm forma + + This is how a CVTerms looks : + [ + "bqb_is": [ + { + "resources": [ + "resource_uri", + ... + ], + "nested_data": CVTerms Object + }, + ... + ], + ... + ] + + 1. The only way to add annotation data via old format is by + using the method "add_simple_annotations()". + 2. Single CVTerm data can be added by using "add_cvterm()". + 3. Multiple CVTerm data can be added by using "add_cvterms()". + """ + + def __init__(self, data=None): + + # storing data in new annotation format + # as described above + 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 CVTerms ex_ress are CVTerm " + f"or dict, not {type(cvterm)}: {cvterm}" + ) + + @staticmethod + def from_data(data: Union[List, Dict, "CVTerm"]) -> "CVTerms": + """Parses a CVTerms object from given data""" + if data is None: + return CVTerms() + if isinstance(data, dict): + # TODO - need to check dict.py + return CVTerms.from_dict(data) + elif isinstance(data, list): + return CVTerms(data) + elif isinstance(data, CVTerm): + return CVTerms([data]) + else: + raise TypeError(f"Invalid format for CVTerms: '{data}'") + + def to_dict(self) -> dict: + """Represent a CVTerms object in python dict. + + Returns: + ------- + dict: + a dict where each key has is a qualifier and has a list of all external + resources in the original self.data list that match that qualifier + + """ + qualifier_set = set() + for cvterm in self.data: + qualifier_set.add(cvterm.qualifier.name) + empty_lists = [[] for _ in qualifier_set] + qualifier_dict = dict(zip(qualifier_set, empty_lists)) + for cvterm in self.data: + qualifier_dict[cvterm.qualifier.name].append( + cvterm.external_resources.to_dict() + ) + return OrderedDict(qualifier_dict) + + @classmethod + def from_dict(cls, data_dict): + cvterms_list = [] + for qual, ex_resources in data_dict.items(): + cvterms = [ + CVTerm( + ex_res=ExternalResources.from_dict(ex_res), + qualifier=Qualifier[qual], + ) + for ex_res in ex_resources + ] + cvterms_list.extend(cvterms) + return cls(cvterms_list) + + def add_cvterms(self, cvterms: Iterable[Union[Dict, "CVTerm"]]) -> None: + """ + Adds multiple CVTerm to CVTerms. + + Parameters + ---------- + cvterms : CVTerms list of CVTerm or dict (to be added in CVTerms dict) + the cvterms to be added + """ + self.extend(cvterms) + + def add_simple_annotations(self, data: Union[Dict, List] = None) -> None: + """ + Adds cvterms via old annotation format. If no qualifier + is linked to the identifier, default qualifier i.e "bqb_is" + will be used. + This function will add identifiers.org to as the URI. + If the annotation does not match the identifier format, you should XXXXX????? + + Parameters + ---------- + data : dict + the data in old annotation format + """ + if data is None: + data = {} + + if not isinstance(data, (dict, list)): + raise TypeError(f"The data passed must be of type dict or list: {data}") + + cvterm_list = [] + for key, value in data.items(): + + # if single identifiers are put directly as string, + # put them inside a list. For eg: + # { "chebi": "CHEBI:17234"} -> { "chebi": ["CHEBI:17234"]} + if isinstance(value, str): + data[key] = [value] + value = [value] + if not isinstance(value, (list, str)): + raise TypeError( + f"The value passed must be of type list or str: {value}" + ) + + # adding data one by one + for identifier in value: + qual = Qualifier["bqb_is"] + # if no qualifier is linked to identifier i.e. annotation + # of the form { "chebi": "CHEBI:17234"} + if isinstance(identifier, str): + uri = "https://identifiers.org/" + key + "/" + identifier + # if some qualifier is linked to the identifier i.e. annotation + # of the form { "chebi": ["bqb_is", "CHEBI:17234"]} + elif isinstance(identifier, list): + uri = "https://identifiers.org/" + key + "/" + identifier[1] + qual = Qualifier[identifier[0]] + else: + raise TypeError( + f"The identifier passed must be of type string " + f"or list: {identifier}" + ) + cvterm_list.append( + CVTerm(ex_res=ExternalResources([uri]), qualifier=qual) + ) + self.add_cvterms(cvterm_list) + + @property + def annotations(self) -> Dict: + annotation_dict = {} + resources = self.resources + for res in resources: + if re.match(URL_IDENTIFIERS_PATTERN, res): + provider, identifier = parse_identifiers_uri(res) + if provider in annotation_dict.keys(): + annotation_dict[provider].append(identifier) + else: + annotation_dict[provider] = [identifier] + return {k: sorted(annotation_dict[k]) for k in sorted(annotation_dict.keys())} + + @property + def resources(self) -> FrozenSet: + """Get all resources. + + Returns: + ------- + FrozenSet: + a set of all external resources in the original self._cvterms dictionary + including external resources of nested data + """ + resources = set() + for datum in self.data: + if ( + datum.external_resources.resources + or datum.external_resources.nested_data + ): + resources.update(datum.external_resources.resource_set) + return frozenset(resources) + + @property + def qualifiers(self) -> FrozenSet: + qualifier_set = set() + for datum in self.data: + qualifier_set.add(datum.qualifier) + return frozenset(qualifier_set) + + def query_qualifier( + self, + search_function: Union[str, Pattern, Callable, Qualifier], + ) -> "CVTerms": + """Query the CV terms by Qualifier. + + Parameters + ---------- + search_function : a string, regular expression, function or Qualifier + 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 + + Returns + ------- + CVTerms + a new list of CVTerm objects which match the query + + """ + if isinstance(search_function, Pattern): + # if the search_function is a regular expression + regex_searcher = re.compile(search_function) + + matches = [ + cvterm + for cvterm in self.data + if regex_searcher.findall(cvterm.qualifier) != [] + ] + elif isinstance(search_function, (Qualifier, int, str)): + search_function = CVTerm.check_qualifier_type(search_function) + + matches = [cvterm for cvterm in self if cvterm.qualifier == search_function] + + else: + matches = [cvterm for cvterm in self if search_function(cvterm)] + + results = self.__class__(matches) + return results + + def query_resources( + self, + search_function: Union[str, Pattern, Callable, "ExternalResources"], + search_nested_data=False, + ) -> "CVTerms": + """Query the CV terms by External Resources. + + Parameters + ---------- + search_function : a string, regular expression, function or External Resources + 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 + + search_nested_data: bool + Should the nested_data of each resource be searched as well. Default False. + + Returns + ------- + CVTerms + a new list of CVTerm objects which match the query + + """ + if isinstance(search_function, (Pattern, str)): + # if the search_function is a regular expression + regex_searcher = re.compile(search_function) + + if search_nested_data: + + def _match_resources(x): + return [regex_searcher.findall(res) != [] for res in x.resource_set] + + else: + + def _match_resources(x): + return [regex_searcher.findall(res) != [] for res in x.resources] + + matches = [cvterm for cvterm in self.data if any(_match_resources(cvterm))] + elif isinstance(search_function, ExternalResources): + search_function = CVTerm.check_ex_res_type(search_function) + + if search_nested_data: + matches = [ + cvterm + for cvterm in self.data + if search_function in cvterm.resource_set + ] + else: + matches = [ + cvterm + for cvterm in self.data + if search_function in cvterm.external_resources + ] + + else: + matches = [cvterm for cvterm in self if search_function(cvterm)] + + results = self.__class__(matches) + return results + + def __setitem__(self, key: int, value: CVTerm) -> None: + UserList.__setitem__(self, key, self._check_CVTerm(value)) + + def append(self, item: CVTerm) -> None: + """Append CVTerm to end.""" + self._check_CVTerm(item) + UserList.append(self, item) + + def extend(self, iterable: Union["CVTerms", Iterable[Union[CVTerm, Dict]]]) -> None: + """Extend data list by appending elements from the iterable. + + Parameters + ---------- + iterable : Iterable + """ + if isinstance(iterable, CVTerms): + self.data.extend(iterable.data) + elif isinstance(iterable, Iterable): + self.data.extend([self._check_CVTerm(i) for i in iterable]) + + def __eq__(self, other: "CVTerms") -> bool: + """Compare two CVTerms objects to find out whether they + are same (have same data) or not + """ + if not isinstance(other, CVTerms): + 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 + + +class ExternalResources: + """ + Class representation of a single set of resources and its nested + annotation. + + Parameters + ---------- + resources: list + A list of URLs (resources) + nested_data : CVTerms + Nested annotation, in CVTerms format + + Can also be created from dictionary, see ExternalResources.from_dict() + """ + + def __init__(self, resources: List = None, nested_data=None): + self._resources = None + self._nested_data = None + self.resources = resources + if resources: + self.nested_data = nested_data + + @property + def resources(self) -> List: + return self._resources + + @resources.setter + def resources(self, value: List) -> None: + if value is None or isinstance(value, list): + self._resources = value + elif not isinstance(value, list): + raise TypeError(f"The resources must be wrapped inside a list: {value}") + + @property + def resource_set(self) -> FrozenSet: + resources = set() + resources.update(self.resources) + if self.nested_data: + resources.update(self.nested_data.resources) + return frozenset(resources) + + @property + def nested_data(self) -> CVTerms: + return self._nested_data + + @nested_data.setter + def nested_data(self, value: Union[Dict, CVTerm, CVTerms]): + if value is None: + self._nested_data = CVTerms() + elif isinstance(value, CVTerm): + self._nested_data = CVTerms([value]) + elif isinstance(value, CVTerms): + self._nested_data = value + elif isinstance(value, dict): + self._nested_data = CVTerms.from_dict(value) + else: + raise TypeError( + f"The nested data structure does not have valid CVTerm format: {value}" + ) + + def to_dict(self): + """Represents a ExternalResource object as python dict""" + ex_dic = {"resources": list(self._resources)} + if self.nested_data is not None and len(self.nested_data): + ex_dic["nested_data"] = self.nested_data.to_dict() + return ex_dic + + @classmethod + def from_dict(cls, input_data: Dict) -> "ExternalResources": + """ + + Parameters + ---------- + input_data: dict + + Returns + ------- + ExternalResources2: ExternalResources + + """ + 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 objects to find out whether + they are same (have same data) or not + """ + if self.resources != other.resources: + return False + if self.nested_data is None and other.nested_data is None: + return True + elif self.nested_data is None or other.nested_data is None: + return False + elif self.nested_data != other.nested_data: + return False + return True + + def __str__(self) -> str: + return str(self.to_dict()) + + def __repr__(self) -> str: + return self.__str__() + + def _repr_html_(self): + return f""" +

+ Resources{"

".join(self.resources)}

+ Nested Data{self.nested_data}

+ Memory address{id(self):#x} +

""" diff --git a/src/cobra/core/metadata/helper.py b/src/cobra/core/metadata/helper.py new file mode 100644 index 000000000..0420f30b3 --- /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 provider and identifier +URL_IDENTIFIERS_PATTERN = re.compile(r"^https?://identifiers.org/(.+?)[:/](.+)") + + +def parse_identifiers_uri(uri: str) -> Union[None, Tuple[str, str]]: + """Parse provider and term from given identifiers annotation uri. + + Parameters + ---------- + uri : str + uri (identifiers.org url) + + Returns + ------- + (provider, identifier) if resolvable, None otherwise + """ + match = URL_IDENTIFIERS_PATTERN.match(uri) + if match: + provider, identifier = match.group(1), match.group(2) + if provider.isupper(): + identifier = f"{provider}:{identifier}" + provider = provider.lower() + else: + LOGGER.warning( + f"{uri} does not conform to " + f"'http(s)://identifiers.org/collection/id' or" + f"'http(s)://identifiers.org/COLLECTION:id" + ) + return None + + return provider, identifier diff --git a/src/cobra/core/metadata/history.py b/src/cobra/core/metadata/history.py new file mode 100644 index 000000000..465c2511b --- /dev/null +++ b/src/cobra/core/metadata/history.py @@ -0,0 +1,286 @@ +"""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. +""" +from datetime import datetime +from typing import Dict, Iterable, List, 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 : HistoryDatetime + The datetime of creation in W3CDTF ISO 8601 format + modified_dates : list + A list of datetimes when the object was modified. + """ + + def __init__( + self, + creators: List["Creator"] = None, + created_date: "HistoryDatetime" = None, + modified_dates: List["HistoryDatetime"] = None, + ): + 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: + return self._creators + + @creators.setter + def creators(self, values: Iterable["Creator"]) -> None: + self._creators = [Creator.from_data(v) for v in values] + + @property + def created_date(self) -> "HistoryDatetime": + return self._created_date + + @created_date.setter + def created_date(self, date: Union[str, "HistoryDateTime"]) -> None: + self._created_date = HistoryDatetime(date) + + @property + def modified_dates(self) -> List: + return self._modified_dates + + @modified_dates.setter + def modified_dates(self, dates: Iterable[Union[str, "HistoryDateTime"]]) -> None: + self._modified_dates = [HistoryDatetime(d) for d in dates] + + @staticmethod + def from_data(data: Union[Dict, "History"]) -> "History": + """Parse history from data.""" + if data is None: + return History() + elif isinstance(data, History): + return data + elif isinstance(data, dict): + return History(**data) + else: + raise TypeError(f"Unsupported type for History: '{data}'") + + def is_empty(self) -> bool: + """Checks if history is empty. + + Returns False if at least one history attribute is set, else True. + """ + if self.creators: + return False + if self.created_date.datetime: + return False + if self.modified_dates: + return False + return True + + def __eq__(self, history: "History") -> bool: + """Checking equality of two history objects. + + A history is equal if all attributes are equal. + """ + # check equality of creators + if len(self.creators) != len(history.creators): + return False + for k, creator in enumerate(self.creators): + if creator != history.creators[k]: + return False + + # checking equality of created_date + if self.created_date != history.created_date: + return False + + # checking equality of modified_dates + if len(self.modified_dates) != len(history.modified_dates): + return False + for k, modified_date in enumerate(self.modified_dates): + if modified_date != history.modified_dates[k]: + return False + + return True + + def to_dict(self): + """Returns dictionary representation.""" + modified_dates = [] + for modified_date in self._modified_dates: + modified_dates.append(modified_date.datetime) + return { + "creators": [c.to_dict() for c in self.creators], + "created_date": self.created_date.datetime, + "modified_dates": modified_dates, + } + + def __str__(self) -> str: + return str(self.to_dict()) + + def __repr__(self): + return f"<{self.__class__.__name__} {self.creators}>" + + +class Creator: + """Metadata for person who created an object. + + Parameters + ---------- + given_name : str, + family_name : str, + email : str, + organisation : str + """ + + def __init__( + self, + given_name: str = None, + family_name: str = None, + email: str = None, + organisation: str = None, + ): + self.given_name = given_name # type: str + self.family_name = family_name # type: str + self.email = email # type: str + self.organisation = organisation # type: str + + @staticmethod + def from_data(data: Union[Dict, "Creator"]) -> "Creator": + """Parse creator from data.""" + if not data: + return Creator() + elif isinstance(data, Creator): + return data + elif isinstance(data, dict): + return Creator(**data) + else: + raise TypeError(f"Invalid format for Creator: {data}") + + def __eq__(self, creator_obj: "Creator") -> bool: + """Compare creator objects for equality + + Two creators are equal if all fields are equal. + """ + if ( + self.given_name != creator_obj.given_name + or self.family_name != creator_obj.family_name + or self.email != creator_obj.email + or self.organisation != creator_obj.organisation + ): + return False + + return True + + def to_dict(self): + return { + "given_name": self.given_name, + "family_name": self.family_name, + "email": self.email, + "organisation": self.organisation, + } + + def __str__(self) -> str: + return str(self.to_dict()) + + def __repr__(self): + return f"<{self.__class__.__name__} {self.given_name} {self.family_name}>" + + +class HistoryDatetime: + """Datetime allowed in a model history. + + This class make sure that datetimes are of the form: + %Y-%m-%dT%H:%M:%S%z + + Parameter + --------- + datetime: str, datetime + date in the form of a string + """ + + def __init__(self, history_datetime: str = None): + self._datetime: Optional[str] = None + self.datetime = history_datetime + + @property + def datetime(self) -> str: + return self._datetime + + @datetime.setter + def datetime(self, value: str) -> None: + self._datetime = self.parse_datetime(value) + + def parse_datetime(self, value: str) -> Optional[str]: + if value is None: + return None + if isinstance(value, HistoryDatetime): + return value.datetime + elif isinstance(value, str): + self.validate_datetime(value) + return value + elif isinstance(value, datetime): + return value.strftime(STRTIME_FORMAT) + else: + raise TypeError( + f"Invalid type passed for datetime. " + f"Accepted types are 'str' or " + f"'datetime' objects: {value}" + ) + + @staticmethod + def utcnow() -> "HistoryDatetime": + """HistoryDatetime with current UTC time.""" + return HistoryDatetime(datetime.utcnow().strftime(STRTIME_FORMAT)) + + @staticmethod + def validate_datetime(datetime_str: str) -> None: + """Validate if the date format is of type w3cdtf ISO 8601. + + Raises ValueError if not valid. + """ + if not isinstance(datetime_str, str): + raise TypeError(f"The date passed must be of type string: {datetime_str}") + + # python 3.6 doesn't allow : (colon) in the utc offset. + try: + datetime.strptime(datetime_str, STRTIME_FORMAT) + except ValueError as e: + # checking for python 3.6 + if "Z" in datetime_str: + try: + datetime.strptime( + datetime_str.replace("Z", ""), "%Y-%m-%dT%H:%M:%S" + ) + except ValueError as e1: + raise ValueError(str(e1)) + else: + utcoff = datetime_str[20:25] + utcoff_p36 = utcoff.replace(":", "") + date_p36 = datetime_str.replace(utcoff, utcoff_p36) + try: + datetime.strptime(date_p36, STRTIME_FORMAT) + except ValueError: + raise ValueError(str(e)) + + def __eq__(self, history_datetime: "HistoryDatetime") -> bool: + return self.datetime == history_datetime.datetime + + def __str__(self) -> str: + return self.datetime + + def __repr__(self): + return f"<{self.__class__.__name__} {self.datetime}>" diff --git a/src/cobra/core/metadata/keyvaluepairs.py b/src/cobra/core/metadata/keyvaluepairs.py new file mode 100644 index 000000000..5a2e6ad87 --- /dev/null +++ b/src/cobra/core/metadata/keyvaluepairs.py @@ -0,0 +1,109 @@ +from collections import UserDict +from typing import Dict, Iterable, Union + +from ...util import format_long_string + + +class KeyValueEntry: + """Single key-value entry. + + The key is an attribute on the entry. + + Parameters + ---------- + id : str + name : str + key : str + value : str + uri : str + """ + + def __init__( + self, + id: str = None, + name: str = None, + key: str = None, + value: str = None, + uri: str = None, + ): + self.id = id + self.name = name + self.key = key + self.value = value + self.uri = uri + + @staticmethod + def from_data(data: Union[Dict, "KeyValueEntry"]) -> "KeyValueEntry": + """Makes a KeyValueDict object using the data passed.""" + if data is None: + return KeyValueEntry() + elif isinstance(data, KeyValueEntry): + return data + elif isinstance(data, dict): + return KeyValueEntry(**data) + else: + raise TypeError(f"Invalid format for KeyValueEntry: '{data}'") + + def to_dict(self) -> dict: + return { + "id": self.id, + "name": self.name, + "key": self.key, + "value": self.value, + "uri": self.uri, + } + + def __str__(self) -> str: + return str(self.to_dict()) + + def __repr__(self) -> str: + return f"<{self.__class__.__name__} ({self.key}, {self.value}, {self.uri})>" + + +class KeyValuePairs(UserDict): + """An UserDict to store KeyValueEntries. + + Parameters + ---------- + entries : Iterable + an iterable containing entry information + """ + + def __init__(self, entries: Iterable[Union[Dict, KeyValueEntry]] = None): + 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: + 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: + return ( + f"{self.__class__.__module__}.{self.__class__.__qualname__}" + f"({self.to_dict()!r})" + ) + + def _repr_html_(self) -> str: + return f"""

KeyValuePairs

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

""" + + def to_dict(self) -> dict: + return {k: v.to_dict() for k, v in self.data.items()} diff --git a/src/cobra/core/metadata/metadata.py b/src/cobra/core/metadata/metadata.py new file mode 100644 index 000000000..37b81b1de --- /dev/null +++ b/src/cobra/core/metadata/metadata.py @@ -0,0 +1,213 @@ +"""Define the cobra MetaData class.""" + +from collections import OrderedDict +from collections.abc import MutableMapping +from typing import Dict, Iterable, Iterator, List, Union + +from ..metadata.cvterm import CVTerm, CVTerms +from ..metadata.history import Creator, History +from ..metadata.keyvaluepairs import KeyValuePairs + + +class MetaData(MutableMapping): + """Meta-data of a cobrapy object. + + Meta-data encodes additional information on an object such as annotations + or notes. Such information is currently stored in SBML on the notes and + annotation fields. + + Meta-data consists of three components: + - CVTerms: storing resource:identifier annotation information. The annotation + information is exposed via the dict interface for full backwards compatibility + to the earlier object.annotation field. + - History: storing the object history consisting of creators, created date, and + modified dates. + - KeyValuePairs, a list of key-value pairs to store additional information + + Parameters + ---------- + cvterms : dict or CVTerms object + The cvterms store annotations to external resources + history : dict, History + The history stores information about the creator, + created and modified dates. + 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 cvterms. + keyvaluepairs : list + Key-value pairs which are not suitable to be + represented anywhere else in the model. + Data is represented as an OrderedDict. + """ + + def __init__( + self, + cvterms: Union[Dict, CVTerms] = None, + history: Union[Dict, History] = None, + sbo: str = "", + keyvaluepairs: List = None, + ): + """Initialize the MetaData class. + + Parameters + --------- + cvterms : dict or CVTerms, 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 "". + If there are + keyvaluepairs: KeyValuePairs + For annotations that don't match the identifiers.org format. + + """ + self._cvterms = CVTerms.from_data(cvterms) + self._history = History.from_data(history) + self._keyvaluepairs = KeyValuePairs(keyvaluepairs) + self._sbo = sbo + + # use setters + self.sbo = sbo + self.cvterms = cvterms + self.history = history + self.keyvaluepairs = keyvaluepairs + + @property + def annotations(self) -> Dict: + """Backwards compatible annotations.""" + anno_dict = self.cvterms.annotations + if self.sbo: + anno_dict["sbo"] = self.sbo + return anno_dict + + @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.""" + self._sbo = value + + def __setitem__(self, key: str, value: List) -> None: + """Set the item for accessing metadata as dict (the old style annotation). + + Parameters + ---------- + key: str + provider key word. + value: List + A list that will contain either term(s) or qualifier and term(s). + + If the key is sbo, sets the self.sbo term to the first item in the list. If + you'd like to add multiple SBO terms, use the CVTerms() and add sbo as + identifiers.org formatted links. + + See Also + -------- + CVTerms().add_simple_annotations() + + """ + if key == "sbo": + if isinstance(value, list): + value = value[0] + self.sbo = value + else: + self._cvterms.add_simple_annotations(dict({key: value})) + + def __getitem__(self, key: str) -> Union[str, List]: + if key == "sbo": + return [self.sbo] + else: + return self.annotations[key] + + def __delitem__(self, key: str) -> None: + if key == "sbo": + self.sbo = "" + else: + del self.annotations[key] + + def __iter__(self) -> Iterator: + return iter(self.annotations) + + def __len__(self) -> int: + return len(self.annotations) + + def __str__(self) -> str: + return str(dict(self.annotations)) + + def __repr__(self) -> str: + return str(dict(self.annotations)) + + @property + def cvterms(self) -> "CVTerms": + return self._cvterms + + @cvterms.setter + def cvterms(self, cvterms: Union[Dict, CVTerms]) -> None: + self._cvterms = CVTerms.from_data(cvterms) + + def add_cvterms(self, cvterms: Iterable[Union[Dict, CVTerm]]) -> None: + self._cvterms.add_cvterms(cvterms) + + @property + def history(self) -> History: + return self._history + + @history.setter + def history(self, history: Union[Dict, History]) -> None: + self._history = History.from_data(history) + + def add_creator(self, creator: Creator): + self.history.creators.append(creator) + + @property + def keyvaluepairs(self) -> KeyValuePairs: + return self._keyvaluepairs + + @keyvaluepairs.setter + def keyvaluepairs(self, keyvaluepairs: Union[Dict, KeyValuePairs]) -> None: + self._keyvaluepairs = KeyValuePairs(keyvaluepairs) + + def to_dict(self) -> Dict: + """Creates string dictionary for serialization""" + d = OrderedDict() + if self.sbo: + # set first SBO term as sbo + d["sbo"] = self.sbo + + if self.cvterms: + d["cvterms"] = self.cvterms.to_dict() + + if self.history and not self.history.is_empty(): + d["history"] = self.history.to_dict() + + if self.keyvaluepairs: + d["keyvaluepairs"] = self.keyvaluepairs.to_dict() + + return d + + @staticmethod + def from_dict(data: Dict) -> "MetaData": + cvterms = data["cvterms"] if "cvterms" in data else None + history = data["history"] if "history" in data else None + keyValuepairs = data["keyvaluepairs"] if "keyvaluepairs" in data else None + + if cvterms or history or keyValuepairs: + annotation = MetaData(cvterms, history, keyValuepairs) + else: + annotation = MetaData() + annotation.cvterms.add_simple_annotations(data) + + if "sbo" in data: + annotation["sbo"] = data["sbo"] + + return annotation diff --git a/src/cobra/core/metadata/notes.py b/src/cobra/core/metadata/notes.py new file mode 100644 index 000000000..bdaf27b1e --- /dev/null +++ b/src/cobra/core/metadata/notes.py @@ -0,0 +1,206 @@ +import logging +import re +from collections.abc import MutableMapping +from typing import Dict, Iterator + + +logger = logging.getLogger(__name__) + + +class Notes(MutableMapping): + """Class representation of 'notes' of an object. + + The previous version of COBRApy was parsing entries of + the form '

key : value

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

key1: value1

" +

key2: value2

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

key : value

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

key : oldvalue

', then it will be updated to store the new value. + But if that 'key' is not present, an ValueError will be thrown. + """ + # if notes string is empty + if self._notes_xhtml is None: + raise ValueError( + "Notes string is not a right place to store key value pairs. " + "Store them at appropriate place in the document." + ) + + if not isinstance(value, str): + logger.warning( + f"The value must be of type string. \n" + f"Converting value {value} to 'string' type and " + f"then putting in notes string...." + ) + value = str(value) + + # pattern to search for inside notes string + pattern = re.compile( + rf"<(?P(\w+:)?)p[^>]*>(\s*)" + rf"{key}(\s*):(\s*)(?P.*?)(\s*)", + re.IGNORECASE | re.DOTALL, + ) + match = re.search(pattern, self._notes_xhtml) + + # if no such key-value substring is + # already present inside notes string + if match is None: + del self._data[key] + raise ValueError( + "Notes string is not the right place to store key value pairs." + "Store them at appropriate place in the document." + ) + # otherwise update the content + else: + start = match.start("content") + end = match.end("content") + modified_str = self._notes_xhtml[:start] + value + self._notes_xhtml[end:] + self._notes_xhtml = modified_str + + @classmethod + def notes_from_dict(cls, data_dict: Dict) -> "Notes": + """Creates a new note based on a dictionary. + + This method can be used to create a completely new Notes object from a + dictionary. It should be used when creating notes from scratch (such as import + if the function already sets up a dict). + + Parameters + ---------- + data_dict: dict + A dictionary that will be transformed to string. + + Returns + ------- + Notes + A new Notes object. + """ + # TODO - make it warn about annotion terms and/or use a local version of + # identifiers for that. See slamonella.xml for an example, since metabolites + # have PUBCHEM, KEGG. Also, some KEGG values are 0, which is invalid. + # TODO - Some metabolites in salmonella.xml have CHARGE in notes that disagrees + # with charge in the object (I think). Should warn/log. + str_list = [''] + str_suffix = "" + for k, v in data_dict.items(): + str_list.append(f"

{k}: {v}

") + str_list.append(str_suffix) + return cls("\n".join(str_list)) diff --git a/src/cobra/core/model.py b/src/cobra/core/model.py index 5abf5acaf..2efc8d0e9 100644 --- a/src/cobra/core/model.py +++ b/src/cobra/core/model.py @@ -97,6 +97,7 @@ def __init__(self, id_or_model=None, name=None): self.reactions = DictList() # A list of cobra.Reactions self.metabolites = DictList() # A list of cobra.Metabolites self.groups = DictList() # A list of cobra.Groups + self._const_ids = set() # genes based on their ids {Gene.id: Gene} self._compartments = {} self._contexts = [] @@ -324,7 +325,7 @@ def copy(self): "reactions", "genes", "notes", - "annotation", + "_annotation", "groups", } for attr in self.__dict__: @@ -334,13 +335,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 +354,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 +375,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 +384,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 +398,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..acc2751e2 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, Notes + class Object: """Defines common behavior of object in cobra.core.""" @@ -22,8 +24,8 @@ def __init__(self, id: Optional[str] = None, name: str = "") -> None: self._id = id self.name = name - self.notes = {} - self._annotation = {} + self._notes = Notes() + 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,26 @@ 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}" + ) + + @property + def notes(self): + return getattr(self, "_notes", None) + + @notes.setter + def notes(self, data): + if isinstance(data, Notes): + self._notes = data + return + self._notes.notes_xhtml = data def __getstate__(self) -> dict: """Get state of annotation. diff --git a/src/cobra/data/mini.json b/src/cobra/data/mini.json index 658bd26c1..e4f3da62c 100644 --- a/src/cobra/data/mini.json +++ b/src/cobra/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": { - "ncbigi": [ - "GI:1208453", - "GI:1652654" - ] + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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": { - "ncbigi": "GI:1653839" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "resources": [ + "http://identifiers.org/ncbiprotein/1653839" + ] + } + ] + } }, - "id": "b2779", + "id": "G_b2779", "name": "eno" }, { - "id": "b2925", + "id": "G_b2925", "name": "fbaA" }, { "annotation": { - "ncbigi": "GI:1653609" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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": { - "ncbigi": [ - "GI:1006614", - "GI:1651919" - ] + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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": { - "ncbigi": "GI:1653253" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" - ] + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" - ] + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" - ] + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" - ] + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" - ] + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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 +1230,7 @@ }, { "gene_reaction_rule": "", - "id": "D_LACt2", + "id": "R_D_LACt2", "lower_bound": -1000.0, "metabolites": {}, "name": "", @@ -1134,165 +1238,254 @@ }, { "annotation": { - "bigg.reaction": "ENO" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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", + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "resources": [ + "http://identifiers.org/bigg.reaction/glc" + ] + } + ] + }, "sbo": "SBO:0000627" }, "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", + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "resources": [ + "http://identifiers.org/bigg.reaction/h" + ] + } + ] + }, "sbo": "SBO:0000627" }, "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", + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "resources": [ + "http://identifiers.org/bigg.reaction/lac__D" + ] + } + ] + }, "sbo": "SBO:0000627" }, "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" - ], + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + ] + } + ] + }, "sbo": "SBO:0000375" }, "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", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PFK" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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, @@ -1300,91 +1493,145 @@ }, { "annotation": { - "bigg.reaction": "PGI" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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" + "cvterms": { + "bqb_is": [ + { + "nested_data": {}, + "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 a470f0f50..27d43ce08 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 135ce225e..9c591745b 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 e5e9e3b05..36dc27232 100644 --- a/src/cobra/data/mini.yml +++ b/src/cobra/data/mini.yml @@ -1,1167 +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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] + - !!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 + - cvterms: !!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 + nested_data: !!omap [] - 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 + - 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 - lower_bound: 8.39 - upper_bound: 1000.0 - gene_reaction_rule: '' - objective_coefficient: 1.0 - annotation: !!omap - - bigg.reaction: ATPM + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/ATPM + nested_data: !!omap [] - !!omap - - id: D_LACt2 + - id: R_D_LACt2 - name: '' - metabolites: !!omap [] - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: '' - !!omap - - id: ENO + - id: R_ENO - name: enolase - metabolites: !!omap - - 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 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b2779 - annotation: !!omap - - bigg.reaction: ENO + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/ENO + nested_data: !!omap [] - !!omap - - id: EX_glc__D_e + - id: R_EX_glc__D_e - name: D-Glucose exchange - metabolites: !!omap - - glc__D_e: -1.0 + - M_glc__D_e: -1.0 - lower_bound: -10.0 - upper_bound: 1000.0 - gene_reaction_rule: '' - annotation: !!omap - - bigg.reaction: glc + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/glc + nested_data: !!omap [] - sbo: SBO:0000627 - !!omap - - id: EX_h_e + - id: R_EX_h_e - name: H+ exchange - metabolites: !!omap - - h_e: -1.0 + - M_h_e: -1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: '' - annotation: !!omap - - bigg.reaction: h + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/h + nested_data: !!omap [] - sbo: SBO:0000627 - !!omap - - id: EX_lac__D_e + - id: R_EX_lac__D_e - name: D-lactate exchange - metabolites: !!omap - - lac__D_e: -1.0 + - M_lac__D_e: -1.0 - lower_bound: 0.0 - upper_bound: 1000.0 - gene_reaction_rule: '' - annotation: !!omap - - bigg.reaction: lac__D + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/lac__D + nested_data: !!omap [] - sbo: SBO:0000627 - !!omap - - id: FBA + - id: R_FBA - name: fructose-bisphosphate aldolase - metabolites: !!omap - - 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 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b1773 or b2097 or b2925 - annotation: !!omap - - bigg.reaction: FBA + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/FBA + nested_data: !!omap [] - !!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 + - 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 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b1779 - annotation: !!omap - - bigg.reaction: GAPD + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/GAPD + nested_data: !!omap [] - !!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 + - M_g6p_c: 1.0 + - M_glc__D_e: -1.0 + - M_pep_c: -1.0 + - M_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) - annotation: !!omap - - bigg.reaction: GLCpts + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/GLCpts + nested_data: !!omap [] - !!omap - - id: H2Ot + - id: R_H2Ot - name: R H2O transport via - diffusion - metabolites: !!omap - - h2o_c: 1.0 - - h2o_e: -1.0 + - M_h2o_c: 1.0 + - M_h2o_e: -1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b0875 or s0001 - annotation: !!omap - - bigg.reaction: H2Ot + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/H2Ot + nested_data: !!omap [] - !!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 + - 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 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b2133 or b1380 + - 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' + - cvterms: !!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 + nested_data: !!omap [] - sbo: SBO:0000375 - !!omap - - id: PFK + - 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 + - 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 - lower_bound: 0.0 - upper_bound: 1000.0 - gene_reaction_rule: b3916 or b1723 - objective_coefficient: 1.0 - annotation: !!omap - - bigg.reaction: PFK + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PFK + nested_data: !!omap [] - !!omap - - id: PGI + - id: R_PGI - name: glucose-6-phosphate isomerase - metabolites: !!omap - - f6p_c: 1.0 - - g6p_c: -1.0 + - M_f6p_c: 1.0 + - M_g6p_c: -1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b4025 - annotation: !!omap - - bigg.reaction: PGI + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PGI + nested_data: !!omap [] - !!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 + - M_13dpg_c: 1.0 + - M_3pg_c: -1.0 + - M_adp_c: 1.0 + - M_atp_c: -1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b2926 - annotation: !!omap - - bigg.reaction: PGK + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PGK + nested_data: !!omap [] - !!omap - - id: PGM + - id: R_PGM - name: phosphoglycerate mutase - metabolites: !!omap - - 2pg_c: -1.0 - - 3pg_c: 1.0 + - M_2pg_c: -1.0 + - M_3pg_c: 1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b4395 or b3612 or b0755 - annotation: !!omap - - bigg.reaction: PGM + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PGM + nested_data: !!omap [] - !!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 + - M_h_c: 1.0 + - M_h_e: -1.0 + - M_pi_c: 1.0 + - M_pi_e: -1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b2987 or b3493 - annotation: !!omap - - bigg.reaction: PIt2r + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PIt2r + nested_data: !!omap [] - !!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 + - 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 - lower_bound: 0.0 - upper_bound: 1000.0 - gene_reaction_rule: b1854 or b1676 - annotation: !!omap - - bigg.reaction: PYK + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PYK + nested_data: !!omap [] - !!omap - - id: TPI + - id: R_TPI - name: triose-phosphate isomerase - metabolites: !!omap - - dhap_c: -1.0 - - g3p_c: 1.0 + - M_dhap_c: -1.0 + - M_g3p_c: 1.0 - lower_bound: -1000.0 - upper_bound: 1000.0 - gene_reaction_rule: b3919 - annotation: !!omap - - bigg.reaction: TPI + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/TPI + nested_data: !!omap [] - 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 - - ncbigi: - - GI:1208453 - - GI:1652654 - - !!omap - - id: b1723 + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/ncbiprotein/1208453 + - http://identifiers.org/ncbiprotein/1652654 + nested_data: !!omap [] + - !!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 - - ncbigi: GI:1653839 + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/ncbiprotein/1653839 + nested_data: !!omap [] - !!omap - - id: b2925 + - id: G_b2925 - name: fbaA - !!omap - - id: b2926 + - id: G_b2926 - name: pgk - annotation: !!omap - - ncbigi: GI:1653609 + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/ncbiprotein/1653609 + nested_data: !!omap [] - !!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 - - ncbigi: - - GI:1006614 - - GI:1651919 - - !!omap - - id: b3919 + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/ncbiprotein/1006614 + - http://identifiers.org/ncbiprotein/1651919 + nested_data: !!omap [] + - !!omap + - id: G_b3919 - name: tpiA - !!omap - - id: b4025 + - id: G_b4025 - name: pgi - annotation: !!omap - - ncbigi: GI:1653253 + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/ncbiprotein/1653253 + nested_data: !!omap [] - !!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 5f2e7b547..7163c331a 100644 --- a/src/cobra/data/mini_cobra.xml +++ b/src/cobra/data/mini_cobra.xml @@ -1,5 +1,5 @@ - + @@ -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 @@ - + - + @@ -929,13 +947,13 @@ - + - + @@ -945,13 +963,13 @@ - + - + @@ -961,13 +979,13 @@ - + - + @@ -983,7 +1001,7 @@ - + @@ -1010,7 +1028,7 @@ - + @@ -1036,7 +1054,7 @@ - + @@ -1080,7 +1098,7 @@ - + @@ -1099,21 +1117,21 @@ - + - - - - - - - - - + + + + + + + + + @@ -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/data/textbook.xml.gz b/src/cobra/data/textbook.xml.gz index a5d1fbc51..40452b55b 100644 Binary files a/src/cobra/data/textbook.xml.gz and b/src/cobra/data/textbook.xml.gz differ 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..8dde2d916 100644 --- a/src/cobra/io/dict.py +++ b/src/cobra/io/dict.py @@ -1,75 +1,96 @@ """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 functools import partial +from typing import TYPE_CHECKING, Callable, Dict, List, 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, Notes +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 if TYPE_CHECKING: from cobra import Object -_REQUIRED_REACTION_ATTRIBUTES = [ - "id", - "name", - "metabolites", - "lower_bound", - "upper_bound", - "gene_reaction_rule", -] -_ORDERED_OPTIONAL_REACTION_KEYS = [ - "objective_coefficient", - "subsystem", - "notes", - "annotation", -] -_OPTIONAL_REACTION_ATTRIBUTES = { - "objective_coefficient": 0, +_REACTION_DICT = { + "id": "", + "name": None, + "lower_bound": None, + "upper_bound": None, "subsystem": "", - "notes": {}, + "notes": Notes(), "annotation": {}, } -_REQUIRED_METABOLITE_ATTRIBUTES = ["id", "name", "compartment"] -_ORDERED_OPTIONAL_METABOLITE_KEYS = [ - "charge", - "formula", - "_bound", - "notes", - "annotation", -] -_OPTIONAL_METABOLITE_ATTRIBUTES = { +_METABOLITE_DICT = { + "id": "", + "name": None, + "compartment": None, "charge": None, "formula": None, "_bound": 0, - "notes": {}, + "notes": Notes(), + "annotation": {}, +} + +_GENE_DICT = { + "id": "", + "name": None, + "notes": Notes(), "annotation": {}, } -_REQUIRED_GENE_ATTRIBUTES = ["id", "name"] -_ORDERED_OPTIONAL_GENE_KEYS = ["notes", "annotation"] -_OPTIONAL_GENE_ATTRIBUTES = { - "notes": {}, +_GROUP_DICT = { + "id": "", + "name": "", + "kind": "", + "notes": Notes(), "annotation": {}, } -_ORDERED_OPTIONAL_MODEL_KEYS = ["name", "compartments", "notes", "annotation"] -_OPTIONAL_MODEL_ATTRIBUTES = { +_MODEL_DICT = { + "id": "", "name": None, - # "description": None, should not actually be included "compartments": [], - "notes": {}, + "notes": Notes(), "annotation": {}, } +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 +107,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 +117,10 @@ def _fix_type( return list(value) if isinstance(value, dict): return OrderedDict((key, value[key]) for key in sorted(value)) + if isinstance(value, Notes): + return str(value) + if isinstance(value, MetaData): + return value.to_dict() # handle legacy Formula type if value.__class__.__name__ == "Formula": return str(value) @@ -102,24 +129,86 @@ def _fix_type( return value -def _update_optional( - cobra_object: "Object", - new_dict: Dict, - optional_attribute_dict: Dict, - ordered_keys: Sequence, -) -> None: +def _f_replace_object_id(cobra_object, f_replace=F_REPLACE) -> str: # noqa: W0102 + if f_replace is None: + f_replace = {} + if f_replace: + if isinstance(cobra_object, Reaction): + return F_REPLACE[F_REACTION_REV](cobra_object.id) + elif isinstance(cobra_object, Gene): + return F_REPLACE[F_GENE_REV](cobra_object.id) + elif isinstance(cobra_object, Metabolite): + return F_REPLACE[F_SPECIE_REV](cobra_object.id) + elif isinstance(cobra_object, Group): + return F_REPLACE[F_GROUP_REV](cobra_object.id) + return cobra_object.id + + +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 == "notes": + _value_to_fix = Notes(_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 _object_to_dict( + cobra_object: "Object", optional_attribute_dict: Dict, _f_replace_function: Callable +) -> OrderedDict: """Update `new_dict` with optional attributes from `cobra_object`. Parameters ---------- cobra_object : cobra.Object The cobra Object to update optional attributes from. - new_dict : dict - The dictionary to update optional attributes for. optional_attribute_dict : dict The dictionary to use as default value lookup store. - ordered_keys : list, tuple - The keys to update values for. Raises ------ @@ -129,21 +218,51 @@ def _update_optional( If key in `ordered_keys` is not found in `cobra_object`. """ - for key in ordered_keys: - default = optional_attribute_dict[key] - value = getattr(cobra_object, key) - if value is None or value == default: - continue - new_dict[key] = _fix_type(value) + state = cobra_object.__getstate__() + state["id"] = _f_replace_function(cobra_object) + state_fixed = { + (re.sub("^_", "", key) if key != "_bound" else key): state[key] + for key in state.keys() + } + cobra_dict = OrderedDict( + { + key: _fix_type(state_fixed[key]) + for key, default in optional_attribute_dict.items() + if state_fixed[key] is not None and state_fixed[key] != default + } + ) + return cobra_dict + + +def object_from_dict(new_object: "Object", object_dict: Dict): + [ + setattr(new_object, k, _fix_value_from_dict(k, v)) + for k, v in object_dict.items() + if k + not in { + "id", + "objective_coefficient", + "reversibility", + "reaction", + "metabolites", + "members", + } + ] -def _metabolite_to_dict(metabolite: Metabolite) -> OrderedDict: +def _metabolite_to_dict( + metabolite: Metabolite, f_replace_func: Callable +) -> OrderedDict: """Convert a cobra Metabolite object to dictionary. Parameters ---------- metabolite : cobra.Metabolite The cobra.Metabolite to convert to dictionary. + f_replace_func : partial replacement function for id replacement + 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,19 +274,14 @@ def _metabolite_to_dict(metabolite: Metabolite) -> OrderedDict: _metabolite_from_dict : Convert a dictionary to cobra Metabolite object. """ - new_metabolite = OrderedDict() - for key in _REQUIRED_METABOLITE_ATTRIBUTES: - new_metabolite[key] = _fix_type(getattr(metabolite, key)) - _update_optional( - metabolite, - new_metabolite, - _OPTIONAL_METABOLITE_ATTRIBUTES, - _ORDERED_OPTIONAL_METABOLITE_KEYS, + return _object_to_dict( + metabolite, _METABOLITE_DICT, _f_replace_function=f_replace_func ) - 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,19 +298,28 @@ 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) + ) + object_from_dict(new_metabolite, metabolite) return new_metabolite -def _gene_to_dict(gene: Gene) -> OrderedDict: +def _gene_to_dict(gene: Gene, f_replace_func: Callable) -> OrderedDict: """Convert a cobra Gene object to dictionary. Parameters ---------- gene : cobra.Gene The cobra.Gene to convert to dictionary. + f_replace_func : Callable + partial replacement function for id replacement + 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 ------- @@ -208,16 +331,10 @@ def _gene_to_dict(gene: Gene) -> OrderedDict: _gene_from_dict : Convert a dictionary to cobra Gene object. """ - new_gene = OrderedDict() - for key in _REQUIRED_GENE_ATTRIBUTES: - new_gene[key] = _fix_type(getattr(gene, key)) - _update_optional( - gene, new_gene, _OPTIONAL_GENE_ATTRIBUTES, _ORDERED_OPTIONAL_GENE_KEYS - ) - return new_gene + return _object_to_dict(gene, _GENE_DICT, _f_replace_function=f_replace_func) -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,19 +352,26 @@ 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)) + object_from_dict(new_gene, gene) return new_gene -def _reaction_to_dict(reaction: Reaction) -> OrderedDict: +def _reaction_to_dict(reaction: Reaction, f_replace_func: Callable) -> OrderedDict: """Convert a cobra Reaction object to a dictionary. Parameters ---------- reaction : cobra.Reaction The cobra.Reaction to convert to dictionary. + f_replace_func : Callable + partial replacement function for id replacement + 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 ------- @@ -259,34 +383,20 @@ def _reaction_to_dict(reaction: Reaction) -> OrderedDict: _reaction_from_dict : Convert a dictionary to a cobra Reaction object. """ - 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 - _update_optional( - reaction, - new_reaction, - _OPTIONAL_REACTION_ATTRIBUTES, - _ORDERED_OPTIONAL_REACTION_KEYS, + new_reaction = _object_to_dict( + reaction, _REACTION_DICT, _f_replace_function=f_replace_func + ) + new_reaction["metabolites"] = OrderedDict( + {f_replace_func(met): stoic for met, stoic in reaction.metabolites.items()} ) + new_reaction["gene_reaction_rule"] = _fix_type(reaction.gene_reaction_rule) + new_reaction["objective_coefficient"] = _fix_type(reaction.objective_coefficient) 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 +416,55 @@ 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() - ) - ) - else: - if k == "lower_bound" or k == "upper_bound": - setattr(new_reaction, k, float(v)) - else: - setattr(new_reaction, k, v) + if f_replace is None: + f_replace = {} + + new_reaction = Reaction(_fix_id_from_dict(reaction["id"], "Reaction", f_replace)) + object_from_dict(new_reaction, reaction) + + new_reaction.add_metabolites( + { + model.metabolites.get_by_id( + _fix_id_from_dict(str(met), "Metabolite", f_replace) + ): coeff + 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", f_replace_func: Callable) -> Dict: + new_group = _object_to_dict(group, _GROUP_DICT, _f_replace_function=f_replace_func) + new_group["members"] = [ + {"idRef": f_replace_func(member), "type": type(member).__name__} + for member in group.members + ] + 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")) + object_from_dict(new_group, group) + 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 +474,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,23 +493,37 @@ def model_to_dict(model: Model, sort: bool = False) -> OrderedDict: model_from_dict : Convert a dictionary to a cobra Model. """ - 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["id"] = model.id - _update_optional( - model, obj, _OPTIONAL_MODEL_ATTRIBUTES, _ORDERED_OPTIONAL_MODEL_KEYS - ) + if f_replace is None: + f_replace = {} + + _f_replace_function = partial(_f_replace_object_id, f_replace=f_replace) + + obj = _object_to_dict(model, _MODEL_DICT, _f_replace_function) + obj["metabolites"] = [ + _metabolite_to_dict(met, _f_replace_function) for met in model.metabolites + ] + obj["reactions"] = [ + _reaction_to_dict(rxn, _f_replace_function) for rxn in model.reactions + ] + obj["genes"] = [_gene_to_dict(gene, _f_replace_function) for gene in model.genes] + obj["groups"] = [ + group_to_dict(group, _f_replace_function) for group in model.groups + ] + + # sbml meta info + if hasattr(model, "_sbml"): + obj["sbml_info"] = OrderedDict( + {key: _fix_type(value) for key, value in model._sbml.items()} + ) 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 -def model_from_dict(obj: Dict) -> Model: +def model_from_dict(obj: Dict, f_replace=F_REPLACE) -> Model: """Build a cobra Model from a dictionary. Models stored in JSON are first formulated as a dictionary that can be read @@ -408,11 +566,25 @@ 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( + _fix_id_from_dict(rxn["id"], "Reaction", f_replace) + ): 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: + model._sbml = { + k: _fix_value_from_dict(k, v) for k, v in obj["sbml_info"].items() + } + + [ + 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..42fa7f3c2 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 IO, TYPE_CHECKING, Any, Dict, List, Union + +import jsonschema +from importlib_resources import open_text + +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 open_text(cio, "schema_v1.json") as handle: + schema_v1 = json.load(handle) + return schema_v1 + + +def json_schema_v2() -> Dict: + with open_text(cio, "schema_v2.json") as handle: + schema_v2 = json.load(handle) + return schema_v2 + + def to_json(model: "Model", sort: bool = False, **kwargs: Any) -> str: """Return the model as a JSON string. @@ -69,10 +86,10 @@ def from_json(document: str) -> "Model": def save_json_model( model: "Model", - filename: Union[str, Path], + filename: Union[str, Path, IO[str]], sort: bool = False, pretty: bool = False, - **kwargs: Any + **kwargs: Any, ) -> None: """Write the cobra model to a file in JSON format. @@ -80,8 +97,8 @@ def save_json_model( ---------- model : cobra.Model The cobra model to represent. - filename : str or file-like - File path or descriptor that the JSON representation should be + filename : str or file-like (IO[str]) or Path + File path or file handle or str that the JSON representation should be written to. sort : bool, optional Whether to sort the metabolites, reactions, and genes or maintain the @@ -125,12 +142,12 @@ def save_json_model( json.dump(obj, filename, **dump_opts) -def load_json_model(filename: Union[str, Path]) -> "Model": +def load_json_model(filename: Union[str, Path, IO[str]]) -> "Model": """Load a cobra model from a file in JSON format. 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, Path, IO[str]], json_schema_version: int = 1 +) -> List: + """ + Validate a model in json format against the schema with given version + Parameters + ---------- + filename : str or Path 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 73f52e417..84f6ddcea 100644 --- a/src/cobra/io/mat.py +++ b/src/cobra/io/mat.py @@ -7,7 +7,7 @@ import numpy as np -from ..core import Gene, Group, Metabolite, Model, Object, Reaction +from ..core import Gene, Group, Metabolite, Model, Notes, Object, Reaction from ..util import create_stoichiometric_matrix from ..util.solver import set_objective @@ -35,7 +35,7 @@ "metUniPathway": "unipathway.compound", "metPubChemID": "pubchem.compound", "metPubChemSubstance": "pubchem.substance", - "metCHEBIID": "CHEBI", + "metCHEBIID": "chebi", "metMetaNetXID": "metanetx.chemical", "metSEEDID": "seed.compound", "metBiGGID": "bigg.metabolite", @@ -44,9 +44,9 @@ "metLIPIDMAPSID": "lipidmaps", "metReactomeID": "reactome", "metSABIORKID": "sabiork.compound", - "metSLMID": "SLM", + "metSLMID": "slm", "metSMILES": "SMILES", - "metSBOTerm": "SBO", + "metSBOTerms": "sbo", "metCasNumber": "cas", } @@ -73,21 +73,22 @@ "rxnReactomeID": "reactome", "rxnSABIORKID": "sabiork.reaction", "rxnBRENDAID": "brenda", - "rxnSBOTerms": "SBO", + "rxnSBOTerms": "sbo", } RXN_PROVIDERS_TO_MATLAB = { RXN_MATLAB_TO_PROVIDERS[k]: k for k in RXN_MATLAB_TO_PROVIDERS.keys() } +CONFIDENCE_STR = "Confidence Level" RXN_MATLAB_TO_NOTES = { "rxnReferences": "References", "rxnNotes": "NOTES", - "rxnConfidenceScores": "Confidence Level", + "rxnConfidenceScores": CONFIDENCE_STR, } RXN_NOTES_TO_MATLAB = { - "Confidence Level": "rxnConfidenceScores", + CONFIDENCE_STR: "rxnConfidenceScores", "NOTES": "rxnNotes", "References": "rxnNotes", } @@ -141,6 +142,7 @@ _double_punctuation_re = re.compile(r"[;,.'\"]{2,}") _ec_re = re.compile(r"([\d\-]+.[\d\-]+.[\d\-]+.[\d-]+)") _chebi_re = re.compile(r"\D*(\d+),?") +_sbo_re = re.compile(r"\D*(\d+),?") def _get_id_compartment(_id: str) -> str: @@ -233,7 +235,9 @@ def _cell_to_str_list( def _cell_to_float_list( - m_cell: np.ndarray, empty_value: Optional[float] = None + m_cell: np.ndarray, + empty_value: Optional[float] = None, + inf_value: Optional[float] = None, ) -> List: """Turn an ndarray (cell) to a list of floats. @@ -242,13 +246,41 @@ def _cell_to_float_list( m_cell: np.ndarray empty_value: float, optional What value to replace empty cells with. Default None. + inf_value: float, optional + Replace infinite values with defined inf. Default None (don't replace), will be + replaced by given value if given. Returns ------- List A list of processed floats. """ - return [float(x[0]) if np.size(x[0]) else empty_value for x in m_cell] + + def fix_inf(val: str, _inf_value: float): + """Fix inf value, used for rxn.lb and rxn.ub. + + Parameters + ---------- + val: str + the str to process into float + _inf_value: float + A value to replace infite values with. + """ + val = float(val) + if np.isinf(val) and val < 0: + return -_inf_value + elif np.isinf(val) and val > 0: + return _inf_value + else: + return val + + if inf_value: + return [ + fix_inf(x[0], _inf_value=inf_value) if np.size(x[0]) else empty_value + for x in m_cell + ] + else: + return [float(x[0]) if np.size(x[0]) else empty_value for x in m_cell] def load_matlab_model( @@ -302,7 +334,6 @@ def load_matlab_model( except ValueError as e: print(f"Some problem with the model, causing error {e}") # TODO: use custom cobra exception to handle exception - pass # If code here is executed, then no model was found. raise IOError(f"No COBRA model found at {infile_path}.") @@ -382,6 +413,14 @@ def mat_parse_annotations( annotations[name] = _cell_to_str_list( mat_struct[caseunfold[mat_key]][0, 0], None, _chebi_re, "CHEBI:" ) + elif mat_key == "metSBOTerms".casefold() or mat_key == "rxnSBOTerms".casefold(): + annotations[name] = _cell_to_str_list( + mat_struct[caseunfold[mat_key]][0, 0], None, _sbo_re, "SBO:" + ) + elif mat_key == "metSLMID".casefold(): + annotations[name] = _cell_to_str_list( + mat_struct[caseunfold[mat_key]][0, 0], None, _sbo_re, "SLM:" + ) else: # If it something else, which may have commas, turn it into a list annotations[name] = [ @@ -395,9 +434,6 @@ def mat_parse_annotations( prov: annotations[prov][i] for prov in providers if annotations[prov][i] } - # TODO - When cobrapy.notes are revised not be a dictionary (possibly when - # annotations are fully SBML compliant, revise this function. - def mat_parse_notes( target_list: List[Object], @@ -454,7 +490,9 @@ def mat_parse_notes( for x in notes[name] ] for i, obj in enumerate(target_list): - obj.notes = {prov: notes[prov][i] for prov in note_providers if notes[prov][i]} + obj.notes = Notes.notes_from_dict( + {prov: notes[prov][i] for prov in note_providers if notes[prov][i]} + ) def annotations_to_mat( @@ -479,42 +517,36 @@ def annotations_to_mat( """ providers_used = set() for i in range(len(annotation_list)): - if annotation_list[i]: - providers_used.update(annotation_list[i].keys()) + providers_used.update(annotation_list[i].keys()) providers_used = providers_used.intersection(DICT_REPLACE[d_replace].keys()) providers_used = list(providers_used) annotation_matlab = {prov: DICT_REPLACE[d_replace][prov] for prov in providers_used} - empty_lists = [[""] * len(annotation_list) for x in annotation_matlab] + empty_lists = [[""] * len(annotation_list) for _ in annotation_matlab] annotation_cells_to_be = dict(zip(annotation_matlab.values(), empty_lists)) for i in range(len(annotation_list)): - if annotation_list[i]: - for provider_key, v in annotation_list[i].items(): - if isinstance(v, str): - v = [v] - if provider_key == "pubmed": - v = ", ".join( - [ - "PMID:" + annot if "PMID:" not in annot else annot - for annot in v - ] - ) - elif provider_key == "CHEBI": - v = ", ".join( - [ - "CHEBI:" + annot if "CHBEI:" not in annot else annot - for annot in v - ] - ) - elif provider_key == "ec-code": - v = " or ".join(v) - else: - v = ", ".join(v) - if provider_key not in providers_used: - continue - annotation_cells_to_be[annotation_matlab[provider_key]][i] = v + for provider_key, v in annotation_list[i].items(): + if isinstance(v, str): + v = [v] + if provider_key == "pubmed": + v = ", ".join( + ["PMID:" + annot if "PMID:" not in annot else annot for annot in v] + ) + elif provider_key == "CHEBI": + v = ", ".join( + [ + "CHEBI:" + annot if "CHBEI:" not in annot else annot + for annot in v + ] + ) + elif provider_key == "ec-code": + v = " or ".join(v) + else: + v = ", ".join(v) + if provider_key not in providers_used: + continue + annotation_cells_to_be[annotation_matlab[provider_key]][i] = v for annotation_key, item_list in annotation_cells_to_be.items(): - if annotation_key not in mat_dict: - mat_dict[annotation_key] = _cell(item_list) + mat_dict[annotation_key] = _cell(item_list) # TODO - When cobrapy.notes are revised not be a dictionary (possibly when # annotations are fully SBML compliant, revise this function. @@ -542,28 +574,26 @@ def notes_to_mat( """ providers_used = set() for i in range(len(note_list)): - if note_list[i]: - providers_used.update(note_list[i].keys()) + providers_used.update(note_list[i].keys()) providers_used = providers_used.intersection(DICT_REPLACE[d_replace].keys()) providers_used = list(providers_used) annotation_matlab = {prov: DICT_REPLACE[d_replace][prov] for prov in providers_used} - empty_lists = [[""] * len(note_list) for x in annotation_matlab] + empty_lists = [[""] * len(note_list) for _ in annotation_matlab] annotation_cells_to_be = dict(zip(annotation_matlab.values(), empty_lists)) for i in range(len(note_list)): - if note_list[i]: - for provider_key, v in note_list[i].items(): - if provider_key not in providers_used: - continue - if provider_key == "Confidence Level": - v = float(v) - if not len(annotation_cells_to_be[annotation_matlab[provider_key]][i]): - annotation_cells_to_be[annotation_matlab[provider_key]][i] = v - else: - # References that aren't MIRIAM compliant will go to rxnNotes - annotation_cells_to_be[annotation_matlab[provider_key]][i] = ( - annotation_cells_to_be[annotation_matlab[provider_key]][i] - + f"; {v}" - ) + for provider_key, v in note_list[i].items(): + if provider_key not in providers_used: + continue + if provider_key == CONFIDENCE_STR: + v = float(v) + if not len(annotation_cells_to_be[annotation_matlab[provider_key]][i]): + annotation_cells_to_be[annotation_matlab[provider_key]][i] = v + else: + # References that aren't MIRIAM compliant will go to rxnNotes + annotation_cells_to_be[annotation_matlab[provider_key]][i] = ( + annotation_cells_to_be[annotation_matlab[provider_key]][i] + + f"; {v}" + ) for annotation_key, item_list in annotation_cells_to_be.items(): mat_dict[annotation_key] = _cell(item_list) @@ -588,13 +618,11 @@ def create_mat_dict(model: Model) -> OrderedDict: mat = OrderedDict() mat["mets"] = _cell(mets.list_attr("id")) model_has_compartment_names = False - for comp, compName in model.compartments.items(): - if comp != compName: - model_has_compartment_names = True - if ( - set([_get_id_compartment(met_id) for met_id in mets.list_attr("id")]) == {None} - or model_has_compartment_names - ): + if list(model.compartments.keys()) != list(model.compartments.values()): + model_has_compartment_names = True + if {_get_id_compartment(met_id) for met_id in mets.list_attr("id")} == { + None + } or model_has_compartment_names: comps = list(model.compartments.keys()) mat["comps"] = _cell(comps) mat["compNames"] = _cell([model.compartments[comp] for comp in comps]) @@ -629,7 +657,28 @@ def create_mat_dict(model: Model) -> OrderedDict: mat["rxnNames"] = _cell(rxns.list_attr("name")) annotations_to_mat(mat, rxns.list_attr("annotation"), DICT_REACTION_REV) notes_to_mat(mat, rxns.list_attr("notes"), DICT_REACTION_NOTES_REV) - mat["subSystems"] = _cell(rxns.list_attr("subsystem")) # TODO - output groups + rxn_subsystems = _cell(rxns.list_attr("subsystem")) + group_ids = model.groups.list_attr("id") + group_names = model.groups.list_attr("name") + group_ids = [ + _id if not _name else _name for _id, _name in zip(group_ids, group_names) + ] + group_members_list = model.groups.list_attr("members") + if set(rxn_subsystems) == {""} and set(group_ids) != {""}: + subsystems = [[] for _ in rxns] + for group_id, group_members in zip(group_ids, group_members_list): + group = model.groups.get_by_id(group_id) + if group.kind == "partonomy": + for member in group_members: + if isinstance(member, Reaction): + rxn_ind = model.reactions.index(member) + # noinspection PyTypeChecker + subsystems[rxn_ind].append(group_id) + mat["subSystems"] = _cell( + [", ".join(subsystem_list) for subsystem_list in subsystems] + ) + else: + mat["subSystems"] = _cell(rxns.list_attr("subsystem")) stoich_mat = create_stoichiometric_matrix(model) mat["S"] = stoich_mat if stoich_mat is not None else [[]] # multiply by 1 to convert to float, working around scipy bug @@ -674,9 +723,7 @@ def from_mat_struct( """ m = mat_struct - if m.dtype.names is None or not {"rxns", "mets", "S", "lb", "ub"} <= set( - m.dtype.names - ): + if m.dtype.names is None or {"rxns", "mets", "S", "lb", "ub"} > set(m.dtype.names): raise ValueError("Invalid MATLAB struct.") old_cobratoolbox_fields = [ @@ -705,7 +752,9 @@ def from_mat_struct( new_names[new_names.index(old_field)] = new_field m.dtype.names = new_names - model = Model() + model = ( + Model() + ) # TODO - Model() creates models with name=None, while SBML creates them with name='' if model_id is not None: model.id = model_id elif "description" in m.dtype.names: @@ -721,7 +770,7 @@ def from_mat_struct( model.name = m["modelName"][0, 0][0] met_ids = _cell_to_str_list(m["mets"][0, 0]) - if all(var in m.dtype.names for var in ["metComps", "comps", "compNames"]): + if {"metComps", "comps", "compNames"}.issubset(m.dtype.names): met_comp_index = [x[0] - 1 for x in m["metComps"][0][0]] comps = _cell_to_str_list(m["comps"][0, 0]) comp_names = _cell_to_str_list(m["compNames"][0][0]) @@ -760,7 +809,7 @@ def from_mat_struct( except (IndexError, ValueError): # TODO: use custom cobra exception to handle exception pass - new_metabolites = list() + new_metabolites = [] for i in range(len(met_ids)): new_metabolite = Metabolite(met_ids[i], compartment=met_comps[i]) if met_names: @@ -775,7 +824,6 @@ def from_mat_struct( model.add_metabolites(new_metabolites) if "genes" in m.dtype.names: - new_genes = [] gene_names = None gene_ids = _cell_to_str_list(m["genes"][0, 0]) try: @@ -783,12 +831,10 @@ def from_mat_struct( except (IndexError, ValueError): # TODO: use custom cobra exception to handle exception pass - for i in range(len(gene_ids)): - if gene_names: - new_gene = Gene(gene_ids[i], name=gene_names[i]) - else: - new_gene = Gene(gene_ids[i]) - new_genes.append(new_gene) + new_genes = [ + Gene(gene_ids[i], name=gene_names[i]) if gene_names else Gene(gene_ids[i]) + for i in range(len(gene_ids)) + ] mat_parse_annotations(new_genes, m, d_replace=DICT_GENE) for current_gene in new_genes: current_gene._model = model @@ -796,10 +842,8 @@ def from_mat_struct( new_reactions = [] rxn_ids = _cell_to_str_list(m["rxns"][0, 0]) - rxn_lbs = _cell_to_float_list(m["lb"][0, 0]) - rxn_lbs = [-inf if np.isinf(x) and x < 0 else x for x in rxn_lbs] - rxn_ubs = _cell_to_float_list(m["ub"][0, 0]) - rxn_ubs = [inf if np.isinf(x) and x > 0 else x for x in rxn_ubs] + rxn_lbs = _cell_to_float_list(m["lb"][0, 0], empty_value=None, inf_value=inf) + rxn_ubs = _cell_to_float_list(m["ub"][0, 0], empty_value=None, inf_value=inf) rxn_gene_rules, rxn_names, rxn_subsystems = None, None, None try: rxn_gene_rules = _cell_to_str_list(m["grRules"][0, 0], "") @@ -815,14 +859,16 @@ def from_mat_struct( # RECON3.0 mat has an array within an array for subsystems. # If we find a model that has multiple subsytems per reaction, this should be # modified - if isinstance(m["subSystems"][0, 0][0][0][0], np.ndarray): + if np.sctype2char(m["subSystems"][0, 0][0][0]) == "O" and isinstance( + m["subSystems"][0, 0][0][0][0], np.ndarray + ): rxn_subsystems = [ - each_cell[0][0][0][0] if each_cell else None + each_cell[0][0][0][0] if each_cell else "" for each_cell in m["subSystems"][0, 0] ] # Other matlab files seem normal. else: - rxn_subsystems = _cell_to_str_list(m["subSystems"][0, 0]) + rxn_subsystems = _cell_to_str_list(m["subSystems"][0, 0], "") except (IndexError, ValueError): # TODO: use custom cobra exception to handle exception pass @@ -856,11 +902,13 @@ def from_mat_struct( rxn_group_names = set(rxn_subsystems).difference({None}) new_groups = [] for g_name in sorted(rxn_group_names): - group_members = model.reactions.query(lambda x: x.subsystem == g_name) + group_members = model.reactions.query( + lambda x, g_n=g_name: x.subsystem == g_n + ) 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 081d8f672..ce6a07699 100644 --- a/src/cobra/io/sbml.py +++ b/src/cobra/io/sbml.py @@ -19,8 +19,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 @@ -35,14 +33,30 @@ from collections import defaultdict, namedtuple from copy import deepcopy from io import StringIO +from pathlib import Path 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, + CVTerms, + ExternalResources, + Gene, + Group, + HistoryDatetime, + Metabolite, + MetaData, + Model, + Notes, + Reaction, +) from ..manipulation.validate import check_metabolite_compartment_formula from ..util.solver import linear_reaction_coefficients, set_objective @@ -394,7 +408,7 @@ def _f_group_rev(sid: str, prefix: str = "G_") -> str: # ----------------------------------------------------------------------------- # noinspection PyDefaultArgument def read_sbml_model( - filename: Union[str, IO], + filename: Union[str, IO, Path], number: Type = float, f_replace: dict = F_REPLACE, **kwargs, @@ -472,7 +486,7 @@ def read_sbml_model( raise cobra_error from original_error -def _get_doc_from_filename(filename: Union[str, IO]) -> "libsbml.SBMLDocument": +def _get_doc_from_filename(filename: Union[str, IO, Path]) -> "libsbml.SBMLDocument": """Get SBMLDocument from given filename. Parameters @@ -517,6 +531,8 @@ def _get_doc_from_filename(filename: Union[str, IO]) -> "libsbml.SBMLDocument": doc = libsbml.readSBMLFromString( filename.read() ) # noqa: E501 type: libsbml.SBMLDocument + elif isinstance(filename, Path): + doc = libsbml.readSBMLFromString(filename.read_text()) else: raise CobraSBMLError( f"Input type '{type(filename)}' for '{filename}' is not supported." @@ -598,41 +614,7 @@ def _sbml_to_model( if not libsbml.SyntaxChecker.isValidSBMLSId(model_id): LOGGER.error(f"'{model_id}' is not a valid SBML 'SId'.") cobra_model = Model(model_id) - cobra_model.name = model.getName() - - # meta information - meta = { - "model.id": model_id, - "level": model.getLevel(), - "version": model.getVersion(), - "packages": [], - } - # History - creators = [] - created = None - if model.isSetModelHistory(): - history: "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) + cobra_model.name = model.getName() or None info = f"<{model_id}> SBML L{model.getLevel()}V{model.getVersion()}" packages = {} @@ -646,20 +628,28 @@ 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_info(doc), + "annotation": _parse_annotations(doc), + "info": info, + } cobra_model._sbml = meta # notes and annotations - cobra_model.notes = _parse_notes_dict(model) + cobra_model.notes = _parse_notes_info(model) cobra_model.annotation = _parse_annotations(model) # Compartments # 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 @@ -678,14 +668,14 @@ def _sbml_to_model( met = Metabolite(sid) met.name = specie.getName() - met.notes = _parse_notes_dict(specie) + met.notes = _parse_notes_info(specie) met.annotation = _parse_annotations(specie) met.compartment = specie.getCompartment() specie_fbc: "libsbml.FbcSpeciesPlugin" = specie.getPlugin("fbc") if specie_fbc: met.charge = specie_fbc.getCharge() - met.formula = specie_fbc.getChemicalFormula() + met.formula = specie_fbc.getChemicalFormula() or None else: if specie.isSetCharge(): LOGGER.warning( @@ -693,24 +683,23 @@ 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( f"Use of FORMULA in the notes element is " f"discouraged, use fbc:chemicalFormula instead: {specie}" ) - met.formula = met.notes["FORMULA"] + met.formula = met.notes["FORMULA"] or None # Detect boundary metabolites if specie.getBoundaryCondition() is True: @@ -726,7 +715,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( @@ -751,7 +740,7 @@ def _sbml_to_model( if cobra_gene.name is None: cobra_gene.name = gid cobra_gene.annotation = _parse_annotations(gp) - cobra_gene.notes = _parse_notes_dict(gp) + cobra_gene.notes = _parse_notes_info(gp) cobra_model.genes.append(cobra_gene) else: @@ -759,7 +748,7 @@ def _sbml_to_model( cobra_reaction ) in model.getListOfReactions(): # noqa: E501 type: libsbml.Reaction # fallback to notes information - notes = _parse_notes_dict(cobra_reaction) + notes = _parse_notes_info(cobra_reaction) if "GENE ASSOCIATION" in notes: gpr = notes["GENE ASSOCIATION"] elif "GENE_ASSOCIATION" in notes: @@ -829,9 +818,9 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: if f_replace and F_REACTION in f_replace: rid = f_replace[F_REACTION](rid) cobra_reaction = Reaction(rid) - cobra_reaction.name = reaction.getName() + cobra_reaction.name = reaction.getName().strip() cobra_reaction.annotation = _parse_annotations(reaction) - cobra_reaction.notes = _parse_notes_dict(reaction) + cobra_reaction.notes = _parse_notes_info(reaction) # set bounds p_ub, p_lb = None, None @@ -1065,7 +1054,7 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: if group.isSetKind(): cobra_group.kind = group.getKindAsString() cobra_group.annotation = _parse_annotations(group) - cobra_group.notes = _parse_notes_dict(group) + cobra_group.notes = _parse_notes_info(group) cobra_members = [] member: "libsbml.Member" @@ -1089,6 +1078,7 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: if f_replace and F_REACTION in f_replace: obj_id = f_replace[F_REACTION](obj_id) cobra_member = cobra_model.reactions.get_by_id(obj_id) + cobra_member.subsystem = group.name elif typecode == libsbml.SBML_FBC_GENEPRODUCT: if f_replace and F_GENE in f_replace: obj_id = f_replace[F_GENE](obj_id) @@ -1110,6 +1100,7 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: for cobra_reaction in cobra_model.reactions: if "SUBSYSTEM" in cobra_reaction.notes: g_name = cobra_reaction.notes["SUBSYSTEM"] + cobra_reaction.subsystem = g_name if g_name in groups_dict: groups_dict[g_name].append(cobra_reaction) else: @@ -1118,7 +1109,8 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: for gid, cobra_members in groups_dict.items(): if f_replace and F_GROUP in f_replace: gid = f_replace[F_GROUP](gid) - cobra_group = Group(gid, name=gid, kind="collection") + cobra_group = Group(gid, name=gid, kind="partonomy") + cobra_group.annotation["sbo"] = ["SBO:0000633"] cobra_group.add_members(cobra_members) groups.append(cobra_group) @@ -1140,7 +1132,10 @@ def process_association(ass: "libsbml.FbcAssociation") -> Union[BoolOp, Name]: # ----------------------------------------------------------------------------- # noinspection PyDefaultArgument def write_sbml_model( - cobra_model: Model, filename: Union[str, IO], f_replace: dict = F_REPLACE, **kwargs + cobra_model: Model, + filename: Union[str, IO, Path], + f_replace: dict = F_REPLACE, + **kwargs, ) -> None: """Write cobra model to filename. @@ -1182,6 +1177,10 @@ def write_sbml_model( sbml_str = libsbml.writeSBMLToString(doc) filename.write(sbml_str) + elif isinstance(filename, Path): + sbml_str = libsbml.writeSBMLToString(doc) + filename.write_text(sbml_str) + def _model_to_sbml( cobra_model: Model, f_replace: Optional[dict] = None, units: bool = True @@ -1226,7 +1225,7 @@ def _model_to_sbml( # for parsing annotation corresponding to the model _sbase_annotations(model, cobra_model.annotation) # for parsing notes corresponding to the model - _sbase_notes_dict(model, cobra_model.notes) + _set_notes(model, cobra_model.notes) # Meta information (ModelHistory) related to SBMLDocument if hasattr(cobra_model, "_sbml"): @@ -1234,7 +1233,7 @@ def _model_to_sbml( if "annotation" in meta: _sbase_annotations(doc, meta["annotation"]) if "notes" in meta: - _sbase_notes_dict(doc, meta["notes"]) + _set_notes(doc, meta["notes"]) history: "libsbml.ModelHistory" = libsbml.ModelHistory() if "created" in meta and meta["created"]: @@ -1251,10 +1250,10 @@ def _model_to_sbml( "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("family_name", None): + creator.setFamilyName(cobra_creator["family_name"]) + if cobra_creator.get("given_name", None): + creator.setGivenName(cobra_creator["given_name"]) if cobra_creator.get("organisation", None): creator.setOrganisation(cobra_creator["organisation"]) if cobra_creator.get("email", None): @@ -1264,6 +1263,7 @@ def _model_to_sbml( # TODO: Will be implemented as part of # https://github.com/opencobra/cobrapy/issues/810 + # I think this should be uncommented and under the if, like # _check(model.setModelHistory(history), 'set model history') # Units @@ -1332,7 +1332,7 @@ def _model_to_sbml( s_fbc.setChemicalFormula(metabolite.formula) _sbase_annotations(specie, metabolite.annotation) - _sbase_notes_dict(specie, metabolite.notes) + _set_notes(specie, metabolite.notes) # Genes for cobra_gene in cobra_model.genes: @@ -1348,7 +1348,7 @@ def _model_to_sbml( gp.setLabel(gid) _sbase_annotations(gp, cobra_gene.annotation) - _sbase_notes_dict(gp, cobra_gene.notes) + _set_notes(gp, cobra_gene.notes) # Objective objective: "libsbml.Objective" = model_fbc.createObjective() @@ -1368,7 +1368,7 @@ def _model_to_sbml( reaction.setFast(False) reaction.setReversible((cobra_reaction.lower_bound < 0)) _sbase_annotations(reaction, cobra_reaction.annotation) - _sbase_notes_dict(reaction, cobra_reaction.notes) + _set_notes(reaction, cobra_reaction.notes) # stoichiometry for metabolite, stoichiometry in cobra_reaction.metabolites.items(): @@ -1444,9 +1444,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: @@ -1457,7 +1455,7 @@ def _model_to_sbml( group.setName(cobra_group.name) group.setKind(cobra_group.kind) - _sbase_notes_dict(group, cobra_group.notes) + _set_notes(group, cobra_group.notes) _sbase_annotations(group, cobra_group.annotation) for cobra_member in cobra_group.members: @@ -1466,15 +1464,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: @@ -1612,9 +1607,8 @@ def _check_required(sbase: "libsbml.Base", value: str, attribute: str) -> str: elif hasattr(sbase, "getMetaId") and sbase.getMetaId(): msg += f" with metaId '{sbase.getName()}'" raise CobraSBMLError(msg) - if attribute == "id": - if not libsbml.SyntaxChecker.isValidSBMLSId(value): - LOGGER.error(f"'{value}' is not a valid SBML 'SId'.") + if attribute == "id" and not libsbml.SyntaxChecker.isValidSBMLSId(value): + LOGGER.error(f"'{value}' is not a valid SBML 'SId'.") return value @@ -1656,8 +1650,8 @@ def _check(value: Union[None, int], message: str) -> None: # ----------------------------------------------------------------------------- # Notes # ----------------------------------------------------------------------------- -def _parse_notes_dict(sbase) -> dict: - """Create dictionary of COBRA notes. +def _parse_notes_info(sbase: libsbml.SBase) -> Notes: + """Create COBRA Notes object. Parameters ---------- @@ -1665,28 +1659,15 @@ def _parse_notes_dict(sbase) -> dict: Returns ------- - dict of notes + Notes object """ - notes = sbase.getNotesString() - if notes and len(notes) > 0: - notes_store = dict() - for match in pattern_notes.finditer(notes): - _content = match.group("content") - try: - # Python 2.7 does not allow keywords for split. - # Python 3 can have (":", maxsplit=1) - key, value = _content.split(":", maxsplit=1) - except ValueError: - LOGGER.debug(f"Unexpected content format '{_content}'.") - continue - notes_store[key.strip()] = value.strip() - return {k: v for k, v in notes_store.items() if len(v) > 0} - else: - return {} + notes = sbase.getNotesString() or None + cobra_notes = Notes(notes) + return cobra_notes -def _sbase_notes_dict(sbase: libsbml.SBase, notes: dict) -> None: - """Set SBase notes based on dictionary. +def _set_notes(sbase: libsbml.SBase, notes: Notes) -> None: + """Set SBase notes based on the COBRA notes object. Parameters ---------- @@ -1695,16 +1676,11 @@ def _sbase_notes_dict(sbase: libsbml.SBase, notes: dict) -> None: notes : dict Notes information from cobra object. """ - if notes and len(notes) > 0: - tokens = ( - [''] - + [f"

{k}: {v}

" for (k, v) in notes.items()] - + [""] - ) - _check( - sbase.setNotes("\n".join(tokens)), - f"Setting notes on sbase: {sbase}", - ) + if notes.notes_xhtml is None or len(notes.notes_xhtml) == 0: + return + _check( + sbase.setNotes(notes.notes_xhtml), "Setting notes on sbase: {}".format(sbase) + ) # ----------------------------------------------------------------------------- @@ -1731,21 +1707,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,10 +1731,21 @@ def _sbase_notes_dict(sbase: libsbml.SBase, notes: dict) -> None: } -def _parse_annotations(sbase: libsbml.SBase) -> dict: - """Parse cobra annotations from a given SBase object. +def _parse_annotations(sbase: libsbml.SBase) -> MetaData: + """Parses cobra annotations from a given SBase object. - Annotations are dictionaries with the providers as keys. + The annotation format has been changed. We no longer have + simple dictionaries for storing annotation data. Dedicated + classes for storing CVTerm data, History data and key-value + pair data corresponding to an SBase object have been made. + The metadata classes inside cobra.core directory contains + of them. All the existing issues in old annotation format have + been solved. The new format annotation is completely backward + compatible. It can read models with old annotation format, + can convert old format annotation to new format annotation, + and writes annotation in new format only (for JSON and other + formats). The JSON schema v2 specifies the new format annotation + whereas JSON schema v1 have annotation data defined in old format. Parameters ---------- @@ -1767,15 +1754,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 @@ -1783,27 +1768,69 @@ 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") -> CVTerm: + """Parses 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 + The parsed data of the given libsbml.CVTerm object as CVTerm. + """ + qualifier_type = _cvterm.getQualifierType() + if qualifier_type == 0: + mq_type = _cvterm.getModelQualifierType() + qualifier = "bqm_" + libsbml.ModelQualifierType_toString(mq_type) + elif qualifier_type == 1: + bq_type = _cvterm.getBiologicalQualifierType() + qualifier = "bqb_" + libsbml.BiolQualifierType_toString(bq_type) + else: + qualifier = "unknown_qualifier" + ext_res = {"resources": []} + for k in range(_cvterm.getNumResources()): + uri = _cvterm.getResourceURI(k) + ext_res["resources"].append(uri) + 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"] = CVTerms( + [_cvterm_to_cobra(_nested_cvterm) for _nested_cvterm in nested_cv_terms] + ) + return CVTerm(ExternalResources.from_dict(ext_res), qualifier) + + annotation.add_cvterms([_cvterm_to_cobra(cvterm) for cvterm in cvterms]) + + # history of the component + if sbase.isSetModelHistory(): + model_history: "libsbml.ModelHistory" = sbase.getModelHistory() + + annotation.history.creators = [ + Creator.from_data( + { + "family_name": creator.getFamilyName() or None, + "given_name": creator.getGivenName() or None, + "organisation": creator.getOrganisation() or None, + "email": creator.getEmail() or None, + } + ) + for creator in model_history.getListCreators() + ] + + if model_history.isSetCreatedDate(): + date: libsbml.Date = model_history.getCreatedDate() + annotation.history.created_date = HistoryDatetime(date.getDateAsString()) + + annotation.history.modified_dates = [ + HistoryDatetime(_date.getDateAsString()) + for _date in model_history.getListModifiedDates() + ] return annotation @@ -1819,7 +1846,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) @@ -1837,7 +1872,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: CVTerms) -> List["libsbml.CVTerm"]: + """Convert cobra CVTerms to libsbml.CVTerm list. + + Parameters + ---------- + cvterms: CVTerms + 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 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 @@ -1851,72 +1932,62 @@ 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) + # TODO - devel has formatting of float and to str, and str to ["is", str] - does this happen in CVterm? + + if not isinstance(annotation_data, MetaData): + raise TypeError( + f"The annotation object must be of type 'Metadata': {annotation_data}" + ) - 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 "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 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}'" - ) - - 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) - _check( - sbase.addCVTerm(cv), - f"Setting cvterm: {cv}, resource: {resource}", - ) + # set cvterms + [ + _check(sbase.addCVTerm(cv), f"Setting cvterm: {cv}") + for cv in _cvterms_to_sbml(annotation.cvterms) + ] + + # 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) + comp_history.addCreator(comp_creator) + + if annotation.history.created_date.datetime is not None: + date = libsbml.Date(annotation.history.created_date.datetime) + comp_history.setCreatedDate(date) + + for modified_date in annotation.history.modified_dates: + date = libsbml.Date(modified_date.datetime) + comp_history.addModifiedDate(date) + + # finally add the compo_history + _check( + sbase.setModelHistory(comp_history), + f"Setting ModelHistory: {comp_history}", + ) # ----------------------------------------------------------------------------- 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/data/annotation.xml b/tests/data/annotation.xml index 8be18e5b1..ae00ba3c5 100644 --- a/tests/data/annotation.xml +++ b/tests/data/annotation.xml @@ -148,7 +148,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + diff --git a/tests/data/cvterms_nested.json b/tests/data/cvterms_nested.json new file mode 100644 index 000000000..4c0ff5996 --- /dev/null +++ b/tests/data/cvterms_nested.json @@ -0,0 +1,32 @@ +{ + "bqb_hasPart": [ + { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://identifiers.org/uniprot/P68871", + "https://identifiers.org/kegg.compound/C00032" + ] + }, + { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://www.uniprot.org/uniprot/P68871", + "https://identifiers.org/chebi/CHEBI:17627" + ], + "nested_data": { + "bqb_isDescribedBy": [ + { + "resources": [ + "https://identifiers.org/pubmed/1111111" + ] + }, + { + "resources": [ + "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.xml b/tests/data/e_coli_core.xml index a50651aae..ab2494b5c 100644 --- a/tests/data/e_coli_core.xml +++ b/tests/data/e_coli_core.xml @@ -19,35 +19,35 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="

Description

-

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

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 +
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 +
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: + 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: +

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. 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.
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 +

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 +

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. +
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
@@ -94,7 +94,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -115,7 +115,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -137,7 +137,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -158,7 +158,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -179,7 +179,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -200,7 +200,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -221,7 +221,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -242,7 +242,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -263,7 +263,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -284,7 +284,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -305,7 +305,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -326,7 +326,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -347,7 +347,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -368,7 +368,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -389,7 +389,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -410,7 +410,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -431,7 +431,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -452,7 +452,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -473,7 +473,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -494,7 +494,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -515,7 +515,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -536,7 +536,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -557,7 +557,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -578,7 +578,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -599,7 +599,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -620,7 +620,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -641,7 +641,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -662,7 +662,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -683,7 +683,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -704,7 +704,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -725,7 +725,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -746,7 +746,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -767,7 +767,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -788,7 +788,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -809,7 +809,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -830,7 +830,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -851,7 +851,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -872,7 +872,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -893,7 +893,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -914,7 +914,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -935,7 +935,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -956,7 +956,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -977,7 +977,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -998,7 +998,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1019,7 +1019,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1040,7 +1040,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1061,7 +1061,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1082,7 +1082,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1103,7 +1103,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1124,7 +1124,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1145,7 +1145,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1166,7 +1166,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1187,7 +1187,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1208,7 +1208,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1229,7 +1229,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1250,7 +1250,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1271,7 +1271,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1292,7 +1292,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1313,7 +1313,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1334,7 +1334,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1355,7 +1355,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1376,7 +1376,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1397,7 +1397,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1418,7 +1418,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1439,7 +1439,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1460,7 +1460,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1481,7 +1481,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1502,7 +1502,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1523,7 +1523,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1544,7 +1544,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1565,7 +1565,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1586,7 +1586,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1607,7 +1607,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1628,7 +1628,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1649,7 +1649,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1670,7 +1670,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1691,7 +1691,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1712,7 +1712,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1733,7 +1733,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1754,7 +1754,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1775,7 +1775,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1796,7 +1796,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1817,7 +1817,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1838,7 +1838,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1859,7 +1859,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1880,7 +1880,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1901,7 +1901,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1922,7 +1922,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1943,7 +1943,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1964,7 +1964,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -1985,7 +1985,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2006,7 +2006,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2027,7 +2027,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2048,7 +2048,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2069,7 +2069,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2090,7 +2090,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2111,7 +2111,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2132,7 +2132,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2153,7 +2153,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2174,7 +2174,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2195,7 +2195,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2216,7 +2216,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2237,7 +2237,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2258,7 +2258,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2279,7 +2279,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2300,7 +2300,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2321,7 +2321,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2342,7 +2342,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2363,7 +2363,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2384,7 +2384,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2405,7 +2405,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2426,7 +2426,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2447,7 +2447,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2468,7 +2468,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2489,7 +2489,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2510,7 +2510,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2531,7 +2531,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2552,7 +2552,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2573,7 +2573,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2594,7 +2594,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2615,7 +2615,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2636,7 +2636,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2657,7 +2657,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2678,7 +2678,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2699,7 +2699,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2720,7 +2720,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2741,7 +2741,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2762,7 +2762,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2783,7 +2783,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2804,7 +2804,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2825,7 +2825,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2846,7 +2846,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2867,7 +2867,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2888,7 +2888,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2909,7 +2909,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -2930,7 +2930,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6035,7 +6035,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6052,7 +6052,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6069,7 +6069,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6086,7 +6086,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6103,7 +6103,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6120,7 +6120,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6137,7 +6137,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6154,7 +6154,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6171,7 +6171,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6188,7 +6188,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6205,7 +6205,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6238,7 +6238,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6255,7 +6255,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6272,7 +6272,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6289,7 +6289,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6305,7 +6305,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6322,7 +6322,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6339,7 +6339,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -6356,7 +6356,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - + @@ -7423,7 +7423,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups=" - 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..3358ad622 --- /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 9d4680f2d..13fcdff15 100644 --- a/tests/data/example_notes.xml +++ b/tests/data/example_notes.xml @@ -15,19 +15,6 @@ - - - - - - - - - - - - - @@ -41,98 +28,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -151,7 +46,7 @@ - + @@ -177,7 +72,7 @@ - + @@ -288,7 +183,7 @@ - + @@ -307,7 +202,7 @@ - + FLUX_VALUE diff --git a/tests/data/iJO1366.pickle b/tests/data/iJO1366.pickle index c35e3fa24..ff7792da9 100644 Binary files a/tests/data/iJO1366.pickle and b/tests/data/iJO1366.pickle differ diff --git a/tests/data/iYS1720.xml.gz b/tests/data/iYS1720.xml.gz new file mode 100644 index 000000000..82b618ba2 Binary files /dev/null and b/tests/data/iYS1720.xml.gz differ diff --git a/tests/data/mini.json b/tests/data/mini.json index 658bd26c1..02cbea4a1 100644 --- a/tests/data/mini.json +++ b/tests/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": { - "ncbigi": [ - "GI:1208453", - "GI:1652654" - ] + "cvterms": { + "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": { - "ncbigi": "GI:1653839" + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/ncbiprotein/1653839" + ] + } + ] + } }, - "id": "b2779", + "id": "G_b2779", "name": "eno" }, { - "id": "b2925", + "id": "G_b2925", "name": "fbaA" }, { "annotation": { - "ncbigi": "GI:1653609" + "cvterms": { + "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": { - "ncbigi": [ - "GI:1006614", - "GI:1651919" - ] + "cvterms": { + "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": { - "ncbigi": "GI:1653253" + "cvterms": { + "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" + "cvterms": { + "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" + "cvterms": { + "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" - ] + "cvterms": { + "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" + "cvterms": { + "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" + "cvterms": { + "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" + "cvterms": { + "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" - ] + "cvterms": { + "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" + "cvterms": { + "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" - ] + "cvterms": { + "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" + "cvterms": { + "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" + "cvterms": { + "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" - ] + "cvterms": { + "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" - ] + "cvterms": { + "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" + "cvterms": { + "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" + "cvterms": { + "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" + "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": -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" + "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": -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" + "cvterms": { + "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" + "cvterms": { + "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" + "cvterms": { + "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" + "cvterms": { + "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" + "cvterms": { + "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" + "cvterms": { + "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" + "cvterms": { + "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,173 +1201,262 @@ }, { "gene_reaction_rule": "", - "id": "D_LACt2", + "id": "R_D_LACt2", "lower_bound": -1000.0, "metabolites": {}, "name": "", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "ENO" + "cvterms": { + "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "glc", + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/glc" + ] + } + ] + }, "sbo": "SBO:0000627" }, "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "h", + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/h" + ] + } + ] + }, "sbo": "SBO:0000627" }, "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "lac__D", + "cvterms": { + "bqb_is": [ + { + "resources": [ + "http://identifiers.org/bigg.reaction/lac__D" + ] + } + ] + }, "sbo": "SBO:0000627" }, "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "FBA" + "cvterms": { + "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "GAPD" + "cvterms": { + "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "GLCpts" + "cvterms": { + "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "H2Ot" + "cvterms": { + "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", + "objective_coefficient": 0.0, "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" - ], + "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" + ] + } + ] + }, "sbo": "SBO:0000375" }, "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", + "objective_coefficient": 0.0, + "subsystem": "Pyruvate Metabolism", "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PFK" + "cvterms": { + "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, @@ -1300,93 +1464,147 @@ }, { "annotation": { - "bigg.reaction": "PGI" + "cvterms": { + "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PGK" + "cvterms": { + "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PGM" + "cvterms": { + "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PIt2r" + "cvterms": { + "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "PYK" + "cvterms": { + "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 }, { "annotation": { - "bigg.reaction": "TPI" + "cvterms": { + "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", + "objective_coefficient": 0.0, "upper_bound": 1000.0 } ], diff --git a/tests/data/mini.mat b/tests/data/mini.mat index a92a1570b..7f1aeb3d7 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 135ce225e..861da1e13 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 e5e9e3b05..bf8697043 100644 --- a/tests/data/mini.yml +++ b/tests/data/mini.yml @@ -1,1169 +1,1251 @@ !!omap +- id: mini_textbook +- compartments: !!omap + - c: cytosol + - e: extracellular - 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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - cvterms: !!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 + - annotation: !!omap + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/ATPM + - 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 - gene_reaction_rule: '' - objective_coefficient: 1.0 - - annotation: !!omap - - bigg.reaction: ATPM - !!omap - - id: D_LACt2 + - id: R_D_LACt2 - name: '' - - metabolites: !!omap [] - lower_bound: -1000.0 - upper_bound: 1000.0 + - metabolites: !!omap [] - gene_reaction_rule: '' + - objective_coefficient: 0.0 - !!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 - annotation: !!omap - - bigg.reaction: ENO + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/ENO + - metabolites: !!omap + - M_2pg_c: -1.0 + - M_pep_c: 1.0 + - M_h2o_c: 1.0 + - gene_reaction_rule: b2779 + - objective_coefficient: 0.0 - !!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: '' - annotation: !!omap - - bigg.reaction: glc - sbo: SBO:0000627 + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/glc + - metabolites: !!omap + - M_glc__D_e: -1.0 + - gene_reaction_rule: '' + - objective_coefficient: 0.0 - !!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: '' - annotation: !!omap - - bigg.reaction: h - sbo: SBO:0000627 + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/h + - metabolites: !!omap + - M_h_e: -1.0 + - gene_reaction_rule: '' + - objective_coefficient: 0.0 - !!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: '' - annotation: !!omap - - bigg.reaction: lac__D - sbo: SBO:0000627 + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/lac__D + - metabolites: !!omap + - M_lac__D_e: -1.0 + - gene_reaction_rule: '' + - objective_coefficient: 0.0 - !!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 - annotation: !!omap - - bigg.reaction: FBA + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/FBA + - metabolites: !!omap + - M_fdp_c: -1.0 + - M_dhap_c: 1.0 + - M_g3p_c: 1.0 + - gene_reaction_rule: b1773 or b2097 or b2925 + - objective_coefficient: 0.0 - !!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 - annotation: !!omap - - bigg.reaction: GAPD + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/GAPD + - 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 + - gene_reaction_rule: b1779 + - objective_coefficient: 0.0 - !!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 + - annotation: !!omap + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/GLCpts + - metabolites: !!omap + - M_g6p_c: 1.0 + - M_pyr_c: 1.0 + - M_glc__D_e: -1.0 + - M_pep_c: -1.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) - - annotation: !!omap - - bigg.reaction: GLCpts + - objective_coefficient: 0.0 - !!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 - annotation: !!omap - - bigg.reaction: H2Ot + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/H2Ot + - metabolites: !!omap + - M_h2o_e: -1.0 + - M_h2o_c: 1.0 + - gene_reaction_rule: b0875 or s0001 + - objective_coefficient: 0.0 - !!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 + - 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 + - cvterms: !!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 + - 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 + - gene_reaction_rule: b2133 or b1380 + - objective_coefficient: 0.0 - !!omap - - id: PFK + - 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 + - annotation: !!omap + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PFK + - 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 - gene_reaction_rule: b3916 or b1723 - objective_coefficient: 1.0 - - annotation: !!omap - - 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 - annotation: !!omap - - bigg.reaction: PGI + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PGI + - metabolites: !!omap + - M_g6p_c: -1.0 + - M_f6p_c: 1.0 + - gene_reaction_rule: b4025 + - objective_coefficient: 0.0 - !!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 - annotation: !!omap - - bigg.reaction: PGK + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PGK + - metabolites: !!omap + - M_3pg_c: -1.0 + - M_atp_c: -1.0 + - M_13dpg_c: 1.0 + - M_adp_c: 1.0 + - gene_reaction_rule: b2926 + - objective_coefficient: 0.0 - !!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 - annotation: !!omap - - bigg.reaction: PGM + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PGM + - metabolites: !!omap + - M_2pg_c: -1.0 + - M_3pg_c: 1.0 + - gene_reaction_rule: b4395 or b3612 or b0755 + - objective_coefficient: 0.0 - !!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 - annotation: !!omap - - bigg.reaction: PIt2r + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PIt2r + - metabolites: !!omap + - M_pi_e: -1.0 + - M_h_e: -1.0 + - M_h_c: 1.0 + - M_pi_c: 1.0 + - gene_reaction_rule: b2987 or b3493 + - objective_coefficient: 0.0 - !!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 - annotation: !!omap - - bigg.reaction: PYK + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/PYK + - 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 + - gene_reaction_rule: b1854 or b1676 + - objective_coefficient: 0.0 - !!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 - annotation: !!omap - - bigg.reaction: TPI + - cvterms: !!omap + - bqb_is: + - resources: + - http://identifiers.org/bigg.reaction/TPI + - metabolites: !!omap + - M_dhap_c: -1.0 + - M_g3p_c: 1.0 + - gene_reaction_rule: b3919 + - objective_coefficient: 0.0 - 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 - - ncbigi: - - GI:1208453 - - GI:1652654 + - cvterms: !!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 - - ncbigi: GI:1653839 + - cvterms: !!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 - - ncbigi: GI:1653609 + - cvterms: !!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 - - ncbigi: - - GI:1006614 - - GI:1651919 + - cvterms: !!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 - - ncbigi: GI:1653253 + - cvterms: !!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 -- id: mini_textbook -- compartments: !!omap - - c: cytosol - - e: extracellular +- groups: [] - version: '1.2' diff --git a/tests/data/mini_cobra.xml b/tests/data/mini_cobra.xml index e64a625b8..a22f61a4a 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,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/tests/data/mini_fbc2.xml b/tests/data/mini_fbc2.xml index e64a625b8..a22f61a4a 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,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/tests/data/mini_fbc2.xml.bz2 b/tests/data/mini_fbc2.xml.bz2 index cdfa3736a..487855e44 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 efdb5e4c5..a52c29193 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 ef093934e..59931eb36 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 5bb891e73..a33a8e701 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 644fa8ee8..12db2a493 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/textbook.xml.gz b/tests/data/textbook.xml.gz index a5d1fbc51..40452b55b 100644 Binary files a/tests/data/textbook.xml.gz and b/tests/data/textbook.xml.gz differ diff --git a/tests/data/update_pickles.py b/tests/data/update_pickles.py index 035604c7c..b1270e984 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, @@ -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..84107b755 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": [["bqb_is", "PFK26"]], + "kegg.reaction": [["bqb_is", "R02732"]], + "rhea": [["bqb_is", "15656"]] } } ], diff --git a/tests/test_core/test_group.py b/tests/test_core/test_group.py index 543df5960..9a0125c02 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 def test_group_add_elements(model: Model) -> None: @@ -38,3 +40,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..fda29e135 --- /dev/null +++ b/tests/test_core/test_metadata/test_history.py @@ -0,0 +1,119 @@ +import os +from datetime import datetime, timedelta, timezone + +import pytest + +from cobra.core.metadata.history import Creator, History, HistoryDatetime +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=HistoryDatetime(JUNE_26TH_530), + modified_dates=[ + HistoryDatetime(JUNE_26TH), + HistoryDatetime(JUNE_26TH_530), + ], + ) + assert len(history.creators) == 2 + assert isinstance(history.created_date, HistoryDatetime) + assert history.created_date.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=HistoryDatetime("2019-03-06T14:40:55Z"), + modified_dates=[ + HistoryDatetime("2019-03-06T14:40:55Z"), + HistoryDatetime("2019-03-06T14:41:55Z"), + ], + ) + assert model.annotation.history == history + + +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 + + +def test_historydatetime(): + # valid date + dt_str1 = JUNE_26TH_530 + datetime_obj = HistoryDatetime(dt_str1) + assert datetime_obj.datetime == dt_str1 + + # valid date + datetime_obj.datetime = JUNE_26TH + assert datetime_obj.datetime == JUNE_26TH + datetime_obj.datetime = None + assert datetime_obj.datetime is None + + # create from python datetime + datetime_obj.datetime = datetime.now() + assert datetime_obj.datetime is not None + + # incorrect format + with pytest.raises(ValueError): + datetime_obj.datetime = datetime.now(timezone(timedelta(hours=1))).strftime( + "%Y-%m-%dT%H:%M:%S%Z" + ) 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..7f58250e4 --- /dev/null +++ b/tests/test_core/test_metadata/test_keyvaluepair.py @@ -0,0 +1,64 @@ +from cobra.core.metadata.keyvaluepairs import KeyValueEntry, KeyValuePairs + + +EXAMPLE_URL = "https://tinyurl.com/ybyr7b62" + + +def test_keyvalueentry(): + keyvaluedict = KeyValueEntry.from_data( + { + "id": "KV_id", + "name": "abc_xyz", + "key": "keyX", + "value": "45", + "uri": EXAMPLE_URL, + } + ) + 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 == EXAMPLE_URL + + +def test_keyvalueentry_empty_uri(): + keyvaluedict = KeyValueEntry.from_data( + { + "id": "KV_id", + "name": "abc_xyz", + "key": "keyX", + "value": "45", + } + ) + 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 is None + + +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": EXAMPLE_URL, + } + ) + + kvp = KeyValuePairs(entries=[entry1, entry2]) + assert len(kvp) == 2 + for key in ["key1", "key2"]: + 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..2d0869069 --- /dev/null +++ b/tests/test_core/test_metadata/test_metadata.py @@ -0,0 +1,249 @@ +"""Tests for the metadata structures.""" + +import json +import os +from os.path import join +from pathlib import Path + +from cobra.core.metadata import CVTerm, CVTerms, ExternalResources +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" + +ecoli_model_annotation = { + "bqb_hasTaxon": [{"resources": ["http://identifiers.org/taxonomy/511145"]}], + "bqm_is": [ + { + "nested_data": { + "bqb_isDescribedBy": [ + {"resources": [PUBMED_EXAMPLE]}, + {"resources": [ECO_EXAMPLE]}, + ] + }, + "resources": ["http://identifiers.org/bigg.model/e_coli_core"], + } + ], + "bqm_isDescribedBy": [ + {"resources": ["http://identifiers.org/doi/10.1128/ecosalplus.10.2.1"]}, + {"resources": ["http://identifiers.org/ncbigi/gi:16128336"]}, + ], +} + + +def test_annotation(): + # a cobra component + s = Species() + assert s.annotation == {} # nothing set for annotation, so empty dict + assert s.annotation.cvterms == CVTerms() + 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.cvterms.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 cvterms + cvt = CVTerms( + [ + CVTerm( + qualifier="bqb_is", + ex_res=ExternalResources( + resources=["https://identifiers.org/chebi/CHEBI:43215"] + ), + ), + CVTerm( + qualifier="bqb_is", + ex_res=ExternalResources( + resources=["https://identifiers.org/chebi/CHEBI:11881"] + ), + ), + ] + ) + + assert s.annotation.cvterms == cvt + + # adding an SBO term + s.annotation["sbo"] = ["SBO:0000123"] + assert "chebi" in s.annotation + assert "sbo" in s.annotation + assert s.annotation == { + "chebi": sorted(["CHEBI:43215", "CHEBI:11881"]), + "sbo": ["SBO:0000123"], + } + + +def test_nested_annotation(data_directory): + # testing via cvterms + with open(join(data_directory, "cvterms_nested.json"), "r") as f_cvterms: + cvterms_data = json.load(f_cvterms) + + s = Species() + s.annotation.add_cvterms(CVTerms.from_dict(cvterms_data)) + assert s.annotation == { + "chebi": ["CHEBI:17627"], + "eco": ["000000"], + "kegg.compound": ["C00032"], + "pubmed": ["1111111"], + "uniprot": ["P68871", "P69905"], + } + # check cvterms + main_cvt = CVTerms.from_dict( + { + "bqb_hasPart": [ + { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://identifiers.org/uniprot/P68871", + "https://identifiers.org/kegg.compound/C00032", + ] + }, + { + "resources": [ + "https://identifiers.org/uniprot/P69905", + "https://www.uniprot.org/uniprot/P68871", + "https://identifiers.org/chebi/CHEBI:17627", + ], + "nested_data": { + "bqb_isDescribedBy": [ + {"resources": [PUBMED_EXAMPLE]}, + {"resources": ["https://identifiers.org/eco/000000"]}, + ], + }, + }, + ] + } + ) + nested_cvt = CVTerms.from_dict( + { + "bqb_isDescribedBy": [ + {"resources": [PUBMED_EXAMPLE]}, + {"resources": ["https://identifiers.org/eco/000000"]}, + ] + } + ) + assert s.annotation.cvterms == main_cvt + nested_data = s.annotation.cvterms.query_qualifier("bqb_hasPart")[ + 1 + ].external_resources.nested_data + assert nested_data == nested_cvt + + +def _read_ecoli_annotation_model(data_directory): + test_xml = os.path.join(data_directory, "e_coli_core_for_annotation.xml") + model = read_sbml_model(test_xml) + return model + + +def test_cvterms_from_ecoli_xml(data_directory): + model = _read_ecoli_annotation_model(data_directory) + qualifier_set = {"bqb_hasTaxon", "bqm_is", "bqm_isDescribedBy"} + nested_cvt = CVTerms.from_dict( + { + "bqb_isDescribedBy": [ + {"resources": [PUBMED_EXAMPLE]}, + {"resources": [ECO_EXAMPLE]}, + ] + } + ) + ecoli_model_cvterm = CVTerms.from_dict(ecoli_model_annotation) + xml_model_cvterms = model.annotation.cvterms + model_cvterms_qualifier_set = {qual.name for qual in xml_model_cvterms.qualifiers} + assert qualifier_set == model_cvterms_qualifier_set + assert xml_model_cvterms == ecoli_model_cvterm + assert len(xml_model_cvterms.query_qualifier("bqm_isDescribedBy")) == 2 + nested_data = xml_model_cvterms.query_qualifier("bqm_is")[ + 0 + ].external_resources.nested_data + assert nested_data == nested_cvt + + # check backwards compatibility + assert model.annotation == { + "bigg.model": ["e_coli_core"], + "doi": ["10.1128/ecosalplus.10.2.1"], + "eco": ["ECO:0000004"], + "ncbigi": ["gi:16128336"], + "pubmed": ["1111111"], + "taxonomy": ["511145"], + } + + +def test_writing_xml(data_directory, tmp_path): + model = _read_ecoli_annotation_model(data_directory) + assert write_sbml_model(model, tmp_path.joinpath("e_coli_core_writing.xml")) is None + + +def test_read_write_json(data_directory, tmp_path): + model = _read_ecoli_annotation_model(data_directory) + json_path = join(tmp_path, "e_coli_core_json_writing.json") + assert save_json_model(model, json_path, sort=False, pretty=True) is None + + model = load_json_model(json_path) + assert model.annotation == { + "bigg.model": ["e_coli_core"], + "doi": ["10.1128/ecosalplus.10.2.1"], + "eco": ["ECO:0000004"], + "ncbigi": ["gi:16128336"], + "pubmed": ["1111111"], + "taxonomy": ["511145"], + } + assert model.annotation.cvterms == CVTerms.from_dict(ecoli_model_annotation) + + +def test_read_old_json_model(data_directory): + model = load_json_model(Path(data_directory) / "mini.json") + meta = model.metabolites[0] + assert meta.annotation == { + "bigg.metabolite": ["13dpg"], + "biocyc": ["DPG"], + "chebi": [ + "CHEBI: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 cvterms + expected_cvterms = CVTerms.from_dict( + { + "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", + ] + } + ] + } + ) + assert meta.annotation.cvterms == expected_cvterms 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..aeea75265 --- /dev/null +++ b/tests/test_core/test_metadata/test_notes.py @@ -0,0 +1,154 @@ +from pathlib import Path + +import pytest + +from cobra import Metabolite, Model, Reaction +from cobra.core import Notes +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 = Notes().notes_from_dict({"Remark": "...Model Notes..."}) + met = Metabolite("pyr_c", compartment="c") + model.add_metabolites([met]) + met.notes = Notes().notes_from_dict({"Remark": "Note with \n newline"}) + rxn = Reaction("R_ATPM") + model.add_reactions([rxn]) + rxn.notes = Notes().notes_from_dict({"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" + + +incoming_notes_str = ( + '\ +\n\ + \n\ +
\n\ +

Key1 : Value1

\n\ +

Key2 : Value2

\n\ +
\n\ +

A Heading

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

Key3 : Value3

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

Key1 : New Value 1

\n\ +

Key2 : Value2

\n\ +
\n\ +

A Heading

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

Key3 : New Value 3

\n\ +
\n\ + \n\ +
" +) + + +def test_notes(data_directory, tmp_path): + """Test creating notes from SBML to cobra model.""" + model_path = data_directory / "e_coli_core_for_annotation.xml" + assert model_path.exists() + model = read_sbml_model(model_path) + rx1 = model.reactions[0] + # making notes object to test equality check of + # two notes object + notes = Notes(incoming_notes_str) + + assert rx1.notes.notes_xhtml == incoming_notes_str + assert rx1.notes == notes + + # keys inside notes dict + list_of_keys = ["Key1", "Key2", "Key3"] + + for key in list_of_keys: + assert key in rx1.notes + + assert rx1.notes["Key1"] == "Value1" + assert rx1.notes["Key2"] == "Value2" + assert rx1.notes["Key3"] == "Value3" + + # modifying already present key-value + rx1.notes["Key1"] = NEW_VALUE1 + rx1.notes["Key3"] = NEW_VALUE3 + + # trying to insert a new key-value + with pytest.raises(ValueError): + rx1.notes["Key4"] = NEW_VALUE3 + + # checking modified notes dict and string + assert rx1.notes.notes_xhtml == modified_notes_str + assert rx1.notes["Key1"] == NEW_VALUE1 + assert rx1.notes["Key2"] == "Value2" + assert rx1.notes["Key3"] == NEW_VALUE3 + + # writing and reading back the model + path_to_file = tmp_path / "model_notes.xml" + write_sbml_model(model, path_to_file) + + model_after_reading = read_sbml_model(path_to_file) + rx1_after_reading = model_after_reading.reactions[0] + + # checks after reading model back again + assert rx1_after_reading.notes.notes_xhtml == modified_notes_str + assert rx1_after_reading.notes["Key1"] == NEW_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(data_directory / "e_coli_core_for_annotation.xml") + + # checking notes data + rx1 = model.reactions[0] + assert rx1.notes.notes_xhtml == incoming_notes_str + + # reading and writing in json format + path_to_json = tmp_path / "json_notes.json" + save_json_model(model, path_to_json) + model_from_json = load_json_model(path_to_json) + rx1_from_json = model_from_json.reactions[0] + assert rx1_from_json.notes.notes_xhtml == incoming_notes_str diff --git a/tests/test_io/test_annotation.py b/tests/test_io/test_annotation.py index f58e267ec..9fd005e4f 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', - # 'ncbigi': 'gi:16129802', 'ecogene': 'EG11809'} + # 'ncbiprotein': 'gi:16129802', 'ecogene': 'EG11809'} annotation = model.genes.G1.annotation assert len(annotation) == 5 - for key in ["asap", "ncbigene", "uniprot", "ncbigi", "ecogene"]: - assert key in annotation - assert annotation["asap"] == "ABE-0006162" - assert annotation["ncbigene"] == "946368" - assert annotation["uniprot"] == "P33221" - assert annotation["ncbigi"] == "gi:16129802" - assert annotation["ecogene"] == "EG11809" + assert 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 4e392e92e..4f540e6e9 100644 --- a/tests/test_io/test_mat.py +++ b/tests/test_io/test_mat.py @@ -14,10 +14,12 @@ except ImportError: scipy = None - if TYPE_CHECKING: from cobra import Model +MINI_MAT = "mini.mat" +RAVEN_MAT = "raven.mat" + @pytest.fixture(scope="function") def raven_model(data_directory: Path) -> "Model": @@ -29,9 +31,9 @@ def raven_model(data_directory: Path) -> "Model": @pytest.mark.skipif(scipy is None, reason="scipy unavailable") # @pytest.mark.parametrize("ref_model, filename", # [(pytest.fixture_request("mini_model"), -# "mini.mat"), +# MINI_MAT), # (pytest.fixture_request("raven_model"), -# "raven.mat")]) +# RAVEN_MAT)]) # TODO: wait for pytest.fixture_request() to get approved def test_load_matlab_model( compare_models: Callable, @@ -49,8 +51,8 @@ def test_load_matlab_model( The path to the test data directory. """ - mini_mat_model = load_matlab_model(str((data_directory / "mini.mat").resolve())) - raven_mat_model = load_matlab_model(str((data_directory / "raven.mat").resolve())) + mini_mat_model = load_matlab_model(str((data_directory / MINI_MAT).resolve())) + raven_mat_model = load_matlab_model(str((data_directory / RAVEN_MAT).resolve())) assert compare_models(mini_model, mini_mat_model) is None assert compare_models(raven_model, raven_mat_model) is None @@ -59,9 +61,9 @@ def test_load_matlab_model( @pytest.mark.skipif(scipy is None, reason="scipy unavailable") # @pytest.mark.parametrize("model, filename", # [(pytest.fixture_request("mini_model"), -# "mini.mat"), +# MINI_MAT), # (pytest.fixture_request("raven_model"), -# "raven.mat")]) +# RAVEN_MAT)]) # TODO: wait for pytest.fixture_request() to get approved def test_save_matlab_model( tmp_path: Path, mini_model: "Model", raven_model: "Model" @@ -78,8 +80,8 @@ def test_save_matlab_model( The RAVEN model. """ - mini_output_file = tmp_path / "mini.mat" - raven_output_file = tmp_path / "raven.mat" + mini_output_file = tmp_path / MINI_MAT + raven_output_file = tmp_path / RAVEN_MAT # scipy.io.savemat() doesn't support anything other than # str or file-stream object, hence the str conversion save_matlab_model(mini_model, str(mini_output_file.resolve())) @@ -123,10 +125,10 @@ def test_read_rewrite_matlab_model( The path to the test data directory. """ - mini_mat_model = load_matlab_model(str((data_directory / "mini.mat").resolve())) - raven_mat_model = load_matlab_model(str((data_directory / "raven.mat").resolve())) - mini_output_file = tmp_path.joinpath("mini.mat") - raven_output_file = tmp_path.joinpath("raven.mat") + mini_mat_model = load_matlab_model(str((data_directory / MINI_MAT).resolve())) + raven_mat_model = load_matlab_model(str((data_directory / RAVEN_MAT).resolve())) + mini_output_file = tmp_path.joinpath(MINI_MAT) + raven_output_file = tmp_path.joinpath(RAVEN_MAT) # scipy.io.savemat() doesn't support anything other than # str or file-stream object, hence the str conversion save_matlab_model(mini_mat_model, str(mini_output_file)) @@ -137,60 +139,12 @@ def test_read_rewrite_matlab_model( assert compare_models(raven_mat_model, raven_mat_model_reload) is None -def _fix_xml_annotation_to_identifiers(model: "Model") -> None: - """Fix XML annotations to respect identifiers.org . - - This function will fix the dict keys of annotations to match identifiers.org. - Eventually, the XML models should be fixed and cobrapy should be strict, but this is - part of SBML rewriting of annotations - see: https://github.com/opencobra/cobrapy/issues/684 - - It also changes met formulas from empty string to None (which is the default - when creating a metabolite with no fomula given) and strips spaces from reaction - names. - - Parameters - ---------- - model : cobra.Model - The model to fix. - - """ - for met in model.metabolites: - if met.formula == "": - met.formula = None - if len(met.annotation): - if "chebi" in met.annotation.keys(): - met.annotation["CHEBI"] = met.annotation.pop("chebi") - if "sbo" in met.annotation.keys(): - met.annotation["SBO"] = met.annotation.pop("sbo") - for annot, val in met.annotation.items(): - if isinstance(val, str): - met.annotation[annot] = [val] - for rxn in model.reactions: - rxn.name = rxn.name.strip() - if "sbo" in rxn.annotation.keys(): - rxn.annotation["SBO"] = rxn.annotation.pop("sbo") - if len(rxn.annotation): - for annot, val in rxn.annotation.items(): - if isinstance(val, str): - rxn.annotation[annot] = [val] - for gene in model.genes: - if len(gene.annotation): - if "ncbigi" in gene.annotation.keys(): - gene.annotation["ncbiprotein"] = gene.annotation.pop("ncbigi") - for annot, val in gene.annotation.items(): - if isinstance(val, str): - gene.annotation[annot] = [val] - - @pytest.mark.skipif(scipy is None, reason="scipy unavailable") @pytest.mark.parametrize( "xml_file", ["e_coli_core.xml", "salmonella.xml", "mini_cobra.xml", "mini_fbc2.xml"] ) # When using a better comparison function, can run test on # "annotation.xml", "example_notes.xml", "fbc_ex1.xml", "fbc_ex2.xml", "validation.xml" -# "example_notes.xml" contains a group and groups are not yet correctly exported to -# matlab # "valid_annotation_output.xml" has reaction annotations in a metabolite, so they would # be thrown out by matlab def test_compare_xml_to_written_matlab_model( @@ -214,11 +168,8 @@ def test_compare_xml_to_written_matlab_model( """ xml_model = read_sbml_model(str((data_directory / xml_file).resolve())) - _fix_xml_annotation_to_identifiers(xml_model) mat_output_file = tmp_path / xml_file.replace(".xml", ".mat") - save_matlab_model( - xml_model, str(mat_output_file.resolve()) - ) # lac__D_e_boundary confuses the reading of matlab + save_matlab_model(xml_model, str(mat_output_file.resolve())) mat_model = load_matlab_model(str(mat_output_file.resolve())) assert compare_models(xml_model, mat_model) is None @@ -326,36 +277,65 @@ def test_mat_model_wrong_caps(compare_models: Callable, data_directory: Path) -> The path to the test data directory. """ - mat_model = load_matlab_model(str(Path(data_directory / "mini.mat").resolve())) + mat_model = load_matlab_model(str(Path(data_directory / MINI_MAT).resolve())) mat_wrong_caps_model = load_matlab_model( 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"], "bigg.reaction": ["LDH_D"], "ec-code": ["1.1.1.28"], "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": 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 776c3dcb8..c633e962f 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 @@ -23,6 +24,8 @@ except ImportError: jsonschema = None +TEST_XML = "test.xml" + # ---------------------------------- # Definition of SBML files to test # ---------------------------------- @@ -76,7 +79,7 @@ def test_validate(trial: IOTrial, data_directory: str) -> None: Parameters ---------- - IOTrial: + trial: IOTrial Which model trial to check. data_directory: str Directory where the data is. @@ -318,7 +321,6 @@ 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_model_history(tmp_path: Path) -> None: """Testing reading and writing of ModelHistory. @@ -328,31 +330,45 @@ 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"], } + annotation = MetaData(history=history) + model._sbml = {"annotation": annotation} - sbml_path = join(str(tmp_path), "test.xml") + 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 "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 "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.datetime + == "2019-10-20T12:34:32Z" + ) + assert len(model2._sbml["annotation"].history._modified_dates) == 1 + assert ( + model2._sbml["annotation"].history._modified_dates[0].datetime + == "2019-10-20T12:35:32Z" + ) def test_groups(data_directory: str, tmp_path: Path) -> None: @@ -372,7 +388,7 @@ def test_groups(data_directory: str, tmp_path: Path) -> None: g1 = model.groups[0] assert len(g1.members) == 6 - temp_path = join(str(tmp_path), "test.xml") + temp_path = join(str(tmp_path), TEST_XML) with open(temp_path, "w") as f_out: write_sbml_model(model, f_out) @@ -478,7 +494,7 @@ def test_infinity_bounds(data_directory: str, tmp_path: Path) -> None: assert r.lower_bound == -float("Inf") assert r.upper_bound == float("Inf") - temp_path = join(str(tmp_path), "test.xml") + temp_path = join(str(tmp_path), TEST_XML) with open(temp_path, "w") as f_out: write_sbml_model(model, f_out) @@ -525,7 +541,7 @@ def test_gprs(data_directory: str, tmp_path: Path) -> None: """ model1 = read_sbml_model(join(data_directory, "iJO1366.xml.gz")) - sbml_path = join(str(tmp_path), "test.xml") + sbml_path = join(str(tmp_path), TEST_XML) with open(sbml_path, "w") as f_out: write_sbml_model(model1, f_out) @@ -543,7 +559,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 +567,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 +578,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 +587,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 +623,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 +726,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(data_directory.joinpath("e_coli_core_for_annotation.xml")) + write_sbml_model(model, tmp_path.joinpath("e_coli_core_writing.xml")) + reread_model = read_sbml_model(tmp_path.joinpath("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..cc18a4865 100644 --- a/tests/test_manipulation/test_delete.py +++ b/tests/test_manipulation/test_delete.py @@ -11,6 +11,13 @@ ) +A_AND_B_OR_C_AND_A = "(a and b) or (c and a)" +A_AND_B_AND_D_AND_E = "(a and b and d and e)" +A_AND_B_OR_B_AND_C = "(a and b) or (b and c)" +F_AND_B_OR_B_AND_C = "(f and b) or (b and c)" +B_AND_C = "b and c" + + def test_prune_unused_metabolites_output_type(model: Model) -> None: """Test the output type of unused metabolites pruning.""" [model.reactions.get_by_id(x).remove_from_model() for x in ["RPI", "RPE", "GND"]] @@ -110,7 +117,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 @@ -128,7 +135,7 @@ def test_gene_knockout(salmonella: Model) -> None: test_model.add_reactions([test_reaction_1]) with test_model: knocked_out_reactions = knock_out_model_genes(test_model, ["eggs"]) - assert knocked_out_reactions == list() + assert knocked_out_reactions == [] with test_model: knocked_out_reactions = knock_out_model_genes(test_model, ["eggs", "spam"]) expected_reactions = [test_model.reactions.get_by_id("test1")] @@ -137,13 +144,13 @@ def test_gene_knockout(salmonella: Model) -> None: test_reaction_1.gene_reaction_rule = "g1 and g2 and (g3 or g4 or (g5 and g6))" with test_model: knocked_out_reactions = knock_out_model_genes(test_model, ["g3"]) - assert knocked_out_reactions == list() + assert knocked_out_reactions == [] with test_model: knocked_out_reactions = knock_out_model_genes(test_model, ["g1"]) assert knocked_out_reactions == [test_reaction_1] with test_model: knocked_out_reactions = knock_out_model_genes(test_model, ["g5"]) - assert knocked_out_reactions == list() + assert knocked_out_reactions == [] with test_model: knocked_out_reactions = knock_out_model_genes(test_model, ["g3", "g4", "g5"]) assert knocked_out_reactions == [test_reaction_1] @@ -154,7 +161,7 @@ def test_gene_knockout(salmonella: Model) -> None: assert knocked_out_reactions == [test_reaction_1] with test_model: knocked_out_reactions = knock_out_model_genes(test_model, ["for"]) - assert knocked_out_reactions == list() + assert knocked_out_reactions == [] test_reaction_1.gene_reaction_rule = "g1 and g2 and g2.conjugate" with test_model: knocked_out_reactions = knock_out_model_genes(test_model, ["g2"]) @@ -179,10 +186,10 @@ def test_remove_genes() -> None: m.add_reactions([Reaction("r" + str(i + 1)) for i in range(8)]) assert len(m.reactions) == 8 rxns = m.reactions - rxns.r1.gene_reaction_rule = "(a and b) or (c and a)" - rxns.r2.gene_reaction_rule = "(a and b and d and e)" - rxns.r3.gene_reaction_rule = "(a and b) or (b and c)" - rxns.r4.gene_reaction_rule = "(f and b) or (b and c)" + rxns.r1.gene_reaction_rule = A_AND_B_OR_C_AND_A + rxns.r2.gene_reaction_rule = A_AND_B_AND_D_AND_E + rxns.r3.gene_reaction_rule = A_AND_B_OR_B_AND_C + rxns.r4.gene_reaction_rule = F_AND_B_OR_B_AND_C rxns.r5.gene_reaction_rule = "x" rxns.r6.gene_reaction_rule = "y" rxns.r7.gene_reaction_rule = "x or z" @@ -194,8 +201,8 @@ def test_remove_genes() -> None: assert "x" in m.genes assert rxns.r1.gene_reaction_rule == "" assert rxns.r2.gene_reaction_rule == "" - assert rxns.r3.gene_reaction_rule == "b and c" - assert rxns.r4.gene_reaction_rule == "(f and b) or (b and c)" + assert rxns.r3.gene_reaction_rule == B_AND_C + assert rxns.r4.gene_reaction_rule == F_AND_B_OR_B_AND_C assert rxns.r5.gene_reaction_rule == "x" assert rxns.r6.gene_reaction_rule == "y" assert rxns.r7.genes == {m.genes.x, m.genes.z} @@ -206,8 +213,8 @@ def test_remove_genes() -> None: assert "x" not in m.genes assert rxns.r1.gene_reaction_rule == "" assert rxns.r2.gene_reaction_rule == "" - assert rxns.r3.gene_reaction_rule == "b and c" - assert rxns.r4.gene_reaction_rule == "(f and b) or (b and c)" + assert rxns.r3.gene_reaction_rule == B_AND_C + assert rxns.r4.gene_reaction_rule == F_AND_B_OR_B_AND_C assert rxns.r6.gene_reaction_rule == "y" assert rxns.r7.gene_reaction_rule == "z" assert rxns.r7.genes == {m.genes.z} @@ -220,10 +227,10 @@ def test_remove_genes_with_context() -> None: m.add_reactions([Reaction("r" + str(i + 1)) for i in range(8)]) assert len(m.reactions) == 8 rxns = m.reactions - rxns.r1.gene_reaction_rule = "(a and b) or (c and a)" - rxns.r2.gene_reaction_rule = "(a and b and d and e)" - rxns.r3.gene_reaction_rule = "(a and b) or (b and c)" - rxns.r4.gene_reaction_rule = "(f and b) or (b and c)" + rxns.r1.gene_reaction_rule = A_AND_B_OR_C_AND_A + rxns.r2.gene_reaction_rule = A_AND_B_AND_D_AND_E + rxns.r3.gene_reaction_rule = A_AND_B_OR_B_AND_C + rxns.r4.gene_reaction_rule = F_AND_B_OR_B_AND_C rxns.r5.gene_reaction_rule = "x" rxns.r6.gene_reaction_rule = "y" rxns.r7.gene_reaction_rule = "x or z" @@ -234,18 +241,18 @@ def test_remove_genes_with_context() -> None: assert "x" in m.genes assert rxns.r1.gene_reaction_rule == "" assert rxns.r2.gene_reaction_rule == "" - assert rxns.r3.gene_reaction_rule == "b and c" - assert rxns.r4.gene_reaction_rule == "(f and b) or (b and c)" + assert rxns.r3.gene_reaction_rule == B_AND_C + assert rxns.r4.gene_reaction_rule == F_AND_B_OR_B_AND_C assert rxns.r5.gene_reaction_rule == "x" assert rxns.r6.gene_reaction_rule == "y" assert rxns.r7.genes == {m.genes.x, m.genes.z} assert rxns.r8.gene_reaction_rule == "" assert "a" in m.genes assert "x" in m.genes - assert rxns.r1.gene_reaction_rule == "(a and b) or (c and a)" - assert rxns.r2.gpr == GPR.from_string("(a and b and d and e)") - assert rxns.r3.gene_reaction_rule == "(a and b) or (b and c)" - assert rxns.r4.gene_reaction_rule == "(f and b) or (b and c)" + assert rxns.r1.gene_reaction_rule == A_AND_B_OR_C_AND_A + assert rxns.r2.gpr == GPR.from_string(A_AND_B_AND_D_AND_E) + assert rxns.r3.gene_reaction_rule == A_AND_B_OR_B_AND_C + assert rxns.r4.gene_reaction_rule == F_AND_B_OR_B_AND_C assert rxns.r5.gene_reaction_rule == "x" assert rxns.r6.gene_reaction_rule == "y" assert rxns.r7.genes == {m.genes.x, m.genes.z} @@ -259,8 +266,8 @@ def test_remove_genes_with_context() -> None: assert "x" not in m.genes assert rxns.r1.gene_reaction_rule == "" assert rxns.r2.gene_reaction_rule == "" - assert rxns.r3.gene_reaction_rule == "b and c" - assert rxns.r4.gene_reaction_rule == "(f and b) or (b and c)" + assert rxns.r3.gene_reaction_rule == B_AND_C + assert rxns.r4.gene_reaction_rule == F_AND_B_OR_B_AND_C assert rxns.r6.gene_reaction_rule == "y" assert rxns.r7.gene_reaction_rule == "z" assert rxns.r7.genes == {m.genes.z} @@ -268,10 +275,10 @@ def test_remove_genes_with_context() -> None: assert "a" in m.genes assert "x" in m.genes assert len(m.reactions) == 8 - assert rxns.r1.gene_reaction_rule == "(a and b) or (c and a)" - assert rxns.r2.gpr == GPR.from_string("(a and b and d and e)") - assert rxns.r3.gene_reaction_rule == "(a and b) or (b and c)" - assert rxns.r4.gene_reaction_rule == "(f and b) or (b and c)" + assert rxns.r1.gene_reaction_rule == A_AND_B_OR_C_AND_A + assert rxns.r2.gpr == GPR.from_string(A_AND_B_AND_D_AND_E) + assert rxns.r3.gene_reaction_rule == A_AND_B_OR_B_AND_C + assert rxns.r4.gene_reaction_rule == F_AND_B_OR_B_AND_C assert rxns.r5.gene_reaction_rule == "x" assert rxns.r6.gene_reaction_rule == "y" assert rxns.r7.genes == {m.genes.x, m.genes.z} 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 =