...
  View open merge request
Commits (5)
...@@ -35,19 +35,18 @@ The easiest way to get eQuilibrator-API up and running is using virtualenv, PyPI ...@@ -35,19 +35,18 @@ The easiest way to get eQuilibrator-API up and running is using virtualenv, PyPI
``` ```
virtualenv -p python3 equilibrator virtualenv -p python3 equilibrator
source equilibrator/bin/activate source equilibrator/bin/activate
pip install equilibrator-api jupyter pip install equilibrator-api
curl https://gitlab.com/elad.noor/equilibrator-api/raw/develop/scripts/equilibrator_cmd.ipynb > equilibrator_cmd.ipynb
jupyter notebook
``` ```
Then select the notebook called `equilibrator_cmd.ipynb` and follow the examples in it. You can then either follow the examples below and write your own code, or start by opening the
provided jupyter notebook:
Alternatively, you could install from source. Make sure you have [git-lfs](https://git-lfs.github.com/)
installed before cloning the repository:
```
git clone https://gitlab.com/elad.noor/equilibrator-api.git
cd equilibrator-api
python setup.py install
``` ```
pip install jupyter
curl https://gitlab.com/elad.noor/equilibrator-api/raw/develop/scripts/equilibrator_cmd.ipynb > equilibrator_cmd.ipynb
jupyter notebook
```
Then select the notebook called `equilibrator_cmd.ipynb` and follow the examples in it.
## Example Usage ## Example Usage
...@@ -63,7 +62,7 @@ You can parse a reaction from a KEGG-style reaction string. The example given ...@@ -63,7 +62,7 @@ You can parse a reaction from a KEGG-style reaction string. The example given
is ATP hydrolysis to ADP and inorganic phosphate. is ATP hydrolysis to ADP and inorganic phosphate.
```python ```python
rxn_str = "KEGG:C00002 + KEGG:C00001 = KEGG:C00008 + KEGG:C00009" rxn_str = "kegg:C00002 + kegg:C00001 = kegg:C00008 + kegg:C00009"
rxn = Reaction.parse_formula(rxn_str) rxn = Reaction.parse_formula(rxn_str)
``` ```
...@@ -84,14 +83,14 @@ calculate the standard change in Gibbs potential due to this reaction. ...@@ -84,14 +83,14 @@ calculate the standard change in Gibbs potential due to this reaction.
# You control the pH and ionic strength! # You control the pH and ionic strength!
# ionic strength is in Molar units. # ionic strength is in Molar units.
standard_dg_prime, uncertainty = eq_api.standard_dg_prime(rxn) standard_dg_prime, uncertainty = eq_api.standard_dg_prime(rxn)
print("dG0' = %s \u00B1 %s\n" % (standard_dg_prime, uncertainty)) print(f"dG0' = {standard_dg_prime:.1f} \u00B1 {uncertainty:1.f}")
``` ```
You can also calculate the [reversibility index](https://doi.org/10.1093/bioinformatics/bts317) for this reaction. You can also calculate the [reversibility index](https://doi.org/10.1093/bioinformatics/bts317) for this reaction.
```python ```python
ln_RI = eq_api.ln_reversibility_index(rxn) ln_RI = eq_api.ln_reversibility_index(rxn)
print('ln(Reversibility Index) = %s\n' % ln_RI) print(f"ln(Reversibility Index) = {ln_RI:.1f}")
``` ```
The reversibility index is a measure of the degree of the reversibility of the The reversibility index is a measure of the degree of the reversibility of the
......
...@@ -37,8 +37,7 @@ import pandas as pd ...@@ -37,8 +37,7 @@ import pandas as pd
def main(args): def main(args):
"""Run main script, calculates the reaction Gibbs energy change.""" """Run main script, calculates the reaction Gibbs energy change."""
from equilibrator_api import ( from equilibrator_api import (
Q_, ComponentContribution, Reaction, ureg) # isort:skip Q_, ComponentContribution, Reaction) # isort:skip
ureg.default_format = ".2f"
p_h = Q_(args.ph) p_h = Q_(args.ph)
assert p_h.check(None) assert p_h.check(None)
...@@ -115,3 +114,4 @@ if __name__ == '__main__': ...@@ -115,3 +114,4 @@ if __name__ == '__main__':
logging.getLogger().setLevel(logging.WARNING) logging.getLogger().setLevel(logging.WARNING)
args = parser.parse_args() args = parser.parse_args()
main(args)
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
"name": "stdout", "name": "stdout",
"output_type": "stream", "output_type": "stream",
"text": [ "text": [
"MNXM2 + MNXM3 = MNXM7 + MNXM9\n", "MNXM2(l) + MNXM3(aq) = MNXM7(aq) + MNXM9(aq)\n",
"ΔG'° = -25.8 kilojoule / mole ± 0.6 kilojoule / mole\n", "ΔG'° = -25.8 kilojoule / mole ± 0.6 kilojoule / mole\n",
"ΔG'm = -42.9 kilojoule / mole ± 0.6 kilojoule / mole\n", "ΔG'm = -42.9 kilojoule / mole ± 0.6 kilojoule / mole\n",
"ΔG' = -45.9 kilojoule / mole ± 0.6 kilojoule / mole\n" "ΔG' = -45.9 kilojoule / mole ± 0.6 kilojoule / mole\n"
...@@ -100,65 +100,65 @@ ...@@ -100,65 +100,65 @@
" <tbody>\n", " <tbody>\n",
" <tr>\n", " <tr>\n",
" <th>0</th>\n", " <th>0</th>\n",
" <td>MNXM2</td>\n", " <td>MNXM2(l)</td>\n",
" <td>0.0 molar</td>\n", " <td>0.0 molar</td>\n",
" <td>0.5</td>\n", " <td>5.000000e-01</td>\n",
" <td>100.0 micromolar</td>\n", " <td>100.0 micromolar</td>\n",
" <td>10.0 millimolar</td>\n", " <td>10.0 millimolar</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>1</th>\n", " <th>1</th>\n",
" <td>MNXM5</td>\n", " <td>MNXM5(aq)</td>\n",
" <td>0.0 molar</td>\n", " <td>0.0 molar</td>\n",
" <td>0.5</td>\n", " <td>5.000000e-01</td>\n",
" <td>100.0 micromolar</td>\n", " <td>100.0 micromolar</td>\n",
" <td>10.0 millimolar</td>\n", " <td>10.0 millimolar</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>2</th>\n", " <th>2</th>\n",
" <td>MNXM6</td>\n", " <td>MNXM6(aq)</td>\n",
" <td>0.0 molar</td>\n", " <td>0.0 molar</td>\n",
" <td>-0.5</td>\n", " <td>-5.000000e-01</td>\n",
" <td>100.0 micromolar</td>\n", " <td>100.0 micromolar</td>\n",
" <td>10.0 millimolar</td>\n", " <td>10.0 millimolar</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>3</th>\n", " <th>3</th>\n",
" <td>MNXM13</td>\n", " <td>MNXM13(aq)</td>\n",
" <td>0.0 molar</td>\n", " <td>0.0 molar</td>\n",
" <td>0.0</td>\n", " <td>0.000000e+00</td>\n",
" <td>100.0 micromolar</td>\n", " <td>100.0 micromolar</td>\n",
" <td>10.0 millimolar</td>\n", " <td>10.0 millimolar</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>4</th>\n", " <th>4</th>\n",
" <td>MNXM145</td>\n", " <td>MNXM145(aq)</td>\n",
" <td>0.0 molar</td>\n", " <td>0.0 molar</td>\n",
" <td>0.0</td>\n", " <td>1.110223e-16</td>\n",
" <td>100.0 micromolar</td>\n", " <td>100.0 micromolar</td>\n",
" <td>10.0 millimolar</td>\n", " <td>10.0 millimolar</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>5</th>\n", " <th>5</th>\n",
" <td>MNXM160</td>\n", " <td>MNXM160(aq)</td>\n",
" <td>0.0 molar</td>\n", " <td>0.0 molar</td>\n",
" <td>0.5</td>\n", " <td>5.000000e-01</td>\n",
" <td>100.0 micromolar</td>\n", " <td>100.0 micromolar</td>\n",
" <td>10.0 millimolar</td>\n", " <td>10.0 millimolar</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>6</th>\n", " <th>6</th>\n",
" <td>MNXM325</td>\n", " <td>MNXM325(aq)</td>\n",
" <td>0.0 molar</td>\n", " <td>0.0 molar</td>\n",
" <td>-0.5</td>\n", " <td>-5.000000e-01</td>\n",
" <td>100.0 micromolar</td>\n", " <td>100.0 micromolar</td>\n",
" <td>10.0 millimolar</td>\n", " <td>10.0 millimolar</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>7</th>\n", " <th>7</th>\n",
" <td>MNXM429</td>\n", " <td>MNXM429(aq)</td>\n",
" <td>0.0 molar</td>\n", " <td>0.0 molar</td>\n",
" <td>0.0</td>\n", " <td>0.000000e+00</td>\n",
" <td>100.0 micromolar</td>\n", " <td>100.0 micromolar</td>\n",
" <td>10.0 millimolar</td>\n", " <td>10.0 millimolar</td>\n",
" </tr>\n", " </tr>\n",
...@@ -167,15 +167,15 @@ ...@@ -167,15 +167,15 @@
"</div>" "</div>"
], ],
"text/plain": [ "text/plain": [
" compound concentration shadow_price lower_bound upper_bound\n", " compound concentration shadow_price lower_bound upper_bound\n",
"0 MNXM2 0.0 molar 0.5 100.0 micromolar 10.0 millimolar\n", "0 MNXM2(l) 0.0 molar 5.000000e-01 100.0 micromolar 10.0 millimolar\n",
"1 MNXM5 0.0 molar 0.5 100.0 micromolar 10.0 millimolar\n", "1 MNXM5(aq) 0.0 molar 5.000000e-01 100.0 micromolar 10.0 millimolar\n",
"2 MNXM6 0.0 molar -0.5 100.0 micromolar 10.0 millimolar\n", "2 MNXM6(aq) 0.0 molar -5.000000e-01 100.0 micromolar 10.0 millimolar\n",
"3 MNXM13 0.0 molar 0.0 100.0 micromolar 10.0 millimolar\n", "3 MNXM13(aq) 0.0 molar 0.000000e+00 100.0 micromolar 10.0 millimolar\n",
"4 MNXM145 0.0 molar 0.0 100.0 micromolar 10.0 millimolar\n", "4 MNXM145(aq) 0.0 molar 1.110223e-16 100.0 micromolar 10.0 millimolar\n",
"5 MNXM160 0.0 molar 0.5 100.0 micromolar 10.0 millimolar\n", "5 MNXM160(aq) 0.0 molar 5.000000e-01 100.0 micromolar 10.0 millimolar\n",
"6 MNXM325 0.0 molar -0.5 100.0 micromolar 10.0 millimolar\n", "6 MNXM325(aq) 0.0 molar -5.000000e-01 100.0 micromolar 10.0 millimolar\n",
"7 MNXM429 0.0 molar 0.0 100.0 micromolar 10.0 millimolar" "7 MNXM429(aq) 0.0 molar 0.000000e+00 100.0 micromolar 10.0 millimolar"
] ]
}, },
"execution_count": 2, "execution_count": 2,
...@@ -243,7 +243,7 @@ ...@@ -243,7 +243,7 @@
"outputs": [ "outputs": [
{ {
"data": { "data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkoAAAGoCAYAAAC5R8qNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xt4FdXZ///PnQTYJICAJIIoAgoJNBKQAIJV0GprpQWeauEneMBjD2ptC1ZbK0Z9PFStCu3Pq1+krVp5lIOCiD58UYuioIVAjSAYRKUWAQmKJIGEnO7vH5nY7SZDAiTZAd6v68qVmbVmrX3PNMRP10z2NncXAAAA9pUQ7wIAAACaK4ISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABAiKR4F9DUOnXq5N27dz/kefbu3SL3skMvCGgmzFqqVavj411Gs8a/+8NPQ/1cr1q1aoe7pzZASTjMHHVBqXv37srNzT3kedavn6hIpPuhFwQ0E6Wlm9Snz+PxLqNZ49/94aehfq7N7F+HXg0OR9x6AwAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAgAACEFQAnDY2122W79783fq/6f+GvbnYXrq3afk7vEuC8ARoM6gZGbdzczN7NKotj+b2cdmNtHMSsysS9A+wsxmBNuPm9lFwXaamb1jZm3MLMfMCs2sddCXHOznxLzua1FzDTCzZWa21Mz+bmY9g/bjzGyRmS0xsyfMrFUDXRcAh4myyjKd8ZczdMfrdyjvszy9tfkt/Xjhj3XNC9fEuzQAR4D6riit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m5sb6d+/f8aQIUN6n3XWWb0kadeuXYmjR4/u0bdv3z533nlnmiRt3bo1aejQob0HDx6cftppp2W8++67rSorKzV69OgegwYNSr/qqqtOrJmzqqpK48ePP2ngwIHpAwYMyFiyZEmyJE2aNKnLk08+2b6qqkodO3bMmj17druKigplZmb2ia4pPz+/Zd++ffuMHDmyZ2ZmZp+77rorraY9MzOzz5gxY3p885vf7B298vWTn/yka815PPvss+0k6brrrus6aNCg9P79+2c8/fTTx+zvOrz88sspkyZNOqGqat/PBF66dGnKkCFDiiORiGdkZJQVFxcnlpSU2MFec1aUAAA4TCxcuPCYSy65ZMfkyZN3VFZWauPGjS0LCgpavP322/mJiYneq1evzClTpmzv2LFj5ZIlSz6IRCI+e/bsdnfddVeX73//+1+mpKRUrVy5Mn/x4sUpixYtai9JM2fObF9eXm6rVq3KX7duXctx48advGbNmvXnnXde0dNPP92hV69eewcMGFD86quvtuvUqVNlv3799sTWtXXr1pbLli3LT05O9qysrD5XXnnlF5L06aeftly6dGl+QUFB0hVXXNFdkmbNmnXM5s2bW65evfr9hIQEVVRUaO7cue127tyZuHLlyvyioqKE7OzsjHHjxu1KSKhez6moqFD//v37SFJRUVFiYWFhYteuXctuuummLr///e+3RtdSUFCQ1KFDh8qa/Xbt2lVu37496aSTTio/mGvOihIAAIeJ6667bseGDRsio0aN6jFlypTOknTyySeXtm3btio5OdkTExNdkj7//PPEH/zgBz2ys7PT77777uM//fTTFvn5+ZFBgwbtlqSzzz57d82c77//fmTo0KHFktS3b9+ywsLCxJpjVq9e3ebll19ue/311xds2LAh8sorr7Q9++yzC2Pr6tmzZ2mHDh2qWrVq5enp6SX5+fmtJKl3794lHTt2/Nqyz5o1ayIjRowoqglBSUlJysvLa/3222+3HTx4cPq3vvWtXmVlZfbZZ599tZiTlJSktWvXrn/33XfXn3zyyaXPP//8B2vXrl0fG5IkqVOnThVffvllYs1+UVFRYlpaWsXBXnOCEgAAB8t9VaN8hYhEIj59+vTNCxYs+HjJkiXtdu3alWi2712lxx57rGNWVtae3Nzc/N/85jdbJVnv3r1Lc3NzkyXp9ddf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71lJZ9SsKtVw9x2SHgqOjbj7gqju2ZLGBttjg/2acR8Em2WqDmPegOcB4Gg2Z47kIb9S3nuvaWsBEBeN+YzSHFWHmnGSnolqd0kPSLqlljGLJQ2R9ERMe4GkJDPrpeqad9Qy9teSnnH3vbEdZnatmeWaWW5BQcEBnwiAo9SuXVJZ2b7tlZXVzy0BOOI1ZlBaIOliScnuvi2mb46kYZK6xLRPlTRJ1bfQkmL65kqaGXz/GjO7TFI/SXfUVoi7T3f3bHfPTk1NPeATAXCUOu88qVWrfdsTE6WeJzd9PQCaXKMFJXcvkTRP0qO19Lmk+xX1rJKZjQz6pklaKOmXMcPmSdooaX50o5mNljRe0qXuXtWApwDgaJedLV14oZSS8p+2li2kvn2l44+PX10Amkzsqk2DcvcH99M9V9JtkmRmKZLulXR+0HefpLfMbFbUXMWqDkQys+h5Zkp6X9LioH2Cu3/aQKcA4Gj3xBPVYemJJ6RuudKIYVJ6eryrAtBEGjwoufsmSefW0n5KzL6r+nZZjX5RfWWSBga7ObXM9VTUdptDKhgA9sdMGj26+mv9RCnSPd4VAWhCvOEkAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACIISAABACHP3eNfQpMysQNK/4l1HI+gkaUe8i2jmuEb7x/WpG9eobkfqNTrJ3VPjXQSa3lEXlI5UZpbr7tnxrqM54xrtH9enblyjunGNcKTh1hsAAEAIghIAAEAIgtKRY3q8CzgMcI32j+tTN65R3bhGOKLwjBIAAEAIVpQAAABCEJQAAABCEJQAAABCEJQAAABCEJSOAmbWzczmm9lfzOyW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\n", "image/png": "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weUA69atizfffLO0a9euG30IXdu2bdOMGTO2+hZcp06dNsyYMeODhzpXrlxZ0qVLl1wfbLfFAJVSWgx8up72w+rsJ6BfUVO/or51FFaRAMbXM9dtRduTKQSgzdUzvmj7Z8DP6jlmZkRcEBEdUkrPA/3rOeYRYABARPywqGsUcHrd4yVJ2lo7+1mlsrKydOONN74KMHTo0J4jR45cXrw4Ueumm27q2L9///evvPLKJXfeeedeEyZM2Kdnz55rHnzwwfYAjz766Acf49OrV6819957797Asvnz57do165dNUDLli1Thw4dNvz+97/v8P3vf3/hr3/964733Xdfh6lTp75Y93wvvfRS2fLly5u1bt26prKyslV5efnaVatWNSup5w0phx9++Jrf/OY3HceOHbsMoLq6mr59+64ZNmzYiptvvvnvAGvWrImysrJNnkHOuwI1bNiw98aPH99t7dq18corrzRv06ZNdatWrXI929xkP0gzpTR6y0fVO+4fd3QtkiQ1pIkTJ3a87bbbPhYRdOnSZX1ZWVk97/iAk046acWYMWMOmT59ertevXqtBhgzZsy7U6ZM6TBo0KDygQMHvle7WnXqqae++4c//GGvgQMHlldXV8eECRNeqZ1n2LBhK6ZOnbp327Zt07Bhw1bOnTu3Tbdu3TZZwenWrdu600477aCXX3657JRTTlnWrVu3DZWVlS3qq2306NHLp02b1u6II47oVVZWVnPBBRcsGT169PLp06e3GTx4cHlEpK5du66/5557Xq47Nu8KVOfOnavPOeecpUcddVR5RHD99de/suVRG4vCwpHyqqioSDNn1v1EhfwWLDiLsrLu21+QtJOtWbOY3r1vaewydkn+XO/6dsSf34iYlVLa6M1Lc+bMWdy/f/9l2zVxE1FZWdniq1/9avcnn3xyYWPXsq3mzJnTqX///t3r6/N34UmSJOVkgJIkSTtceXn5ut159WlLDFCSJEk5GaAkSZJyMkBJkiTlZICSJEnKyQAlSZKUkwFKkiQpJwOUJElSTgYoSZKamMrKyhZDhw7d5HfDbY0DDzyw746uZ3NeeeWV0nPPPXf/nXW+G2644WMDBgzo9YlPfKLXE0880Xp75mqyvwtPkqRGEzGwQeZNO/eXFDe0/fbbb8NNN9306o6cc968eS379u27tm57VVVVyc9//vMus2fPfmHx4sXNx4wZc/CsWbO2+vfn1eUKlCRJu7mZM2eWHXHEEb2OPPLInscee2wPgOXLl5eMHDny4D59+vS+7LLLugC88cYbpUOGDOk5ePDg8k984hO9/vrXv7asrq5m5MiRBw8aNKj8a1/72gG1c9bU1HDqqaceNHDgwPIBAwb0mjZtWmuAsWPHdr311lv3rqmpoWPHjv0nTZrUfsOGDfTt27d3cU2VlZUt+vTp0/ukk046pG/fvr0vv/zyLrXtffv27X3yyScf/MlPfrJn8UrZt771rW61r+Ouu+5qD3Deeed1GzRoUPkRRxzR64477tjro67Dn/70pzZjx47dv6Zm09+l/Nhjj7U58sgjV5WVlaVevXqtW7VqVcnq1atjW6+5K1CSJO3m7r///r1OO+20Zeeff/6y6upqFi1a1KKqqqr5008/XVlSUpJ69OjRd9y4cUs7duxYPW3atBfLysrSpEmT2l9++eVdv/CFL7zbpk2bmmeffbbywQcfbDN16tS9AW6//fa9169fH7NmzaqcP39+i9GjRx86d+7cBSeccMLKO+64o0OPHj3WDhgwYNXDDz/cvlOnTtX9+vV7v25db7zxRovp06dXtm7dOvXv37/32Wef/TbAa6+91uKxxx6rrKqqKv3qV7/aHeDOO+/c69VXX20xe/bsF5o1a8aGDRuYMmVK+3feeafk2WefrVy5cmWzioqKXqNHj17erFlh/WfDhg0cccQRvQFWrlxZsmLFipJu3bqtu+CCC7r+5Cc/eaO4lqqqqtIOHTpU1+63b9++eunSpaUHHXTQ+m255q5ASZK0mzvvvPOWLVy4sGzEiBEHjxs3bl+AQw89dE27du1qWrdunUpKShLAW2+9VfLFL37x4IqKivIrrrhiv9dee615ZWVl2aBBg94DOO64496rnfOFF14oGzJkyCqAPn36rFuxYkVJ7TGzZ89u+6c//andd77znaqFCxeWPfTQQ+2OO+64FXXrOuSQQ9Z06NChpmXLlqm8vHx1ZWVlS4CePXuu7tix40bLRHPnzi0bPnz4ytpwVFpaypw5c1o9/fTT7QYPHlz+qU99qse6devizTff/GDxp7S0lHnz5i3461//uuDQQw9d8/vf//7FefPmLagbngA6deq04d133y2p3V+5cmVJly5dNmzrNTdASZK0o6U0q0G+NqOsrCzdeOONr957770v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\n",
"text/plain": [ "text/plain": [
"<Figure size 648x432 with 1 Axes>" "<Figure size 648x432 with 1 Axes>"
] ]
......
...@@ -62,7 +62,6 @@ def main(args): ...@@ -62,7 +62,6 @@ def main(args):
from equilibrator_api import ( from equilibrator_api import (
Q_, ComponentContribution, Reaction, ureg) # isort:skip Q_, ComponentContribution, Reaction, ureg) # isort:skip
ureg.default_format = ".2f"
p_h = Q_(args.ph) p_h = Q_(args.ph)
assert p_h.check(None) assert p_h.check(None)
...@@ -80,7 +79,7 @@ def main(args): ...@@ -80,7 +79,7 @@ def main(args):
assert temperature.check("[temperature]") assert temperature.check("[temperature]")
sys.stderr.write(f"pH = {p_h}\n") sys.stderr.write(f"pH = {p_h}\n")
sys.stderr.write(f"I = {ionic_strength:.2g}\n") sys.stderr.write(f"I = {ionic_strength}\n")
sys.stderr.write(f"T = {temperature}\n") sys.stderr.write(f"T = {temperature}\n")
sys.stderr.flush() sys.stderr.flush()
......
...@@ -32,58 +32,103 @@ import sys ...@@ -32,58 +32,103 @@ import sys
from numpy import nan, sqrt from numpy import nan, sqrt
from equilibrator_api import ComponentContribution, Reaction
def main(args):
from equilibrator_api import (
Q_, ComponentContribution, Reaction) # isort:skip
if __name__ == '__main__': p_h = Q_(args.ph)
assert p_h.check(None)
parser = argparse.ArgumentParser( ionic_strength = Q_(args.i)
description='Calculate potentials for a number of reactions.') if ionic_strength.check(None):
parser.add_argument( ionic_strength *= Q_("M")
'outfile', type=argparse.FileType('w'), else:
help='path to output file') assert ionic_strength.check("[concentration]")
parser.add_argument('--i', type=float,
help='ionic strength in M',
default=0.1)
parser.add_argument('--ph', type=float, help='pH level', default=7.0)
logging.getLogger().setLevel(logging.WARNING)
args = parser.parse_args() temperature = Q_(args.t)
if temperature.check(None):
temperature *= Q_("K")
else:
assert temperature.check("[temperature]")
sys.stderr.write(f"pH = {p_h}\n")
sys.stderr.write(f"I = {ionic_strength}\n")
sys.stderr.write(f"T = {temperature}\n")
sys.stderr.write('pH = %.1f\n' % args.ph) sys.stderr.write("Initializing the Component Contribution estimator.\n")
sys.stderr.write('I = %.1f M\n' % args.i) eq_api = ComponentContribution(p_h=p_h, ionic_strength=ionic_strength,
temperature=temperature)
ids = [] sys.stderr.write("Parsing model reactions.\n")
reactions = []
with open('data/iJO1366_reactions.csv', 'r') as f: all_ids = []
comments = []
balanced_ids = [] # only those of real and balanced reactions
balanced_reactions = [] # a list of the reaction objects that are balanced
with open('iJO1366_reactions.csv', 'r') as f:
for row in csv.DictReader(f): for row in csv.DictReader(f):
ids.append(row['bigg.reaction']) all_ids.append(row['bigg.reaction'])
try: try:
reactions.append(Reaction.parse_formula(row['formula'])) rxn = Reaction.parse_formula(row['formula'])
sys.stderr.write(f"Reaction {row['bigg.reaction']}: {rxn}\n")
if rxn.is_empty():
comments.append("reaction is empty")
elif not rxn.is_balanced():
comments.append("reaction is not chemically balanced")
else:
balanced_ids.append(row['bigg.reaction'])
balanced_reactions.append(rxn)
comments.append("")
except ValueError as e: except ValueError as e:
print('warning: cannot parse reaction %s because of %s' % print('warning: cannot parse reaction %s because of %s' %
(row['bigg.reaction'], str(e))) (row['bigg.reaction'], str(e)))
reactions.append(Reaction({}))
continue
cc = ComponentContribution(pH=args.ph, ionic_strength=args.i) sys.stderr.write("Calculating the ΔG'0 of all reactions in the model.\n")
dG0_prime, U = eq_api.standard_dg_prime_multi(balanced_reactions)
dG0_prime, U = cc.standard_dg_prime_multi(reactions) rid_to_reaction = dict(zip(balanced_ids, balanced_reactions))
rid_to_dg0_prime = dict(zip(balanced_ids, dG0_prime))
rid_to_uncertainty = dict(zip(balanced_ids, U.diagonal().flat))
sys.stderr.write("Writing the results to .csv file.\n")
writer = csv.writer(args.outfile) writer = csv.writer(args.outfile)
header = ['reaction', 'pH', 'ionic strength [M]', 'dG\'0 [kJ/mol]', header = ["reaction", "pH", "ionic strength [M]", "ΔG'0",
'uncertainty [kJ/mol]', 'ln(Reversibility Index)', 'comment'] "uncertainty", "ln(Reversibility Index)", "comment"]
writer.writerow(header) writer.writerow(header)
for s, r, dg0, u in zip(ids, reactions,
dG0_prime.flat, U.diagonal().flat): for rid, comment in zip(all_ids, comments):
row = [s, args.ph, args.i] dg0 = nan
if r.is_empty(): sigma = nan
row += [nan, nan, nan, 'reaction is empty'] ln_RI = nan
elif r.check_full_reaction_balancing(): if rid in balanced_ids:
ln_RI = cc.reversibility_index(r) sigma = sqrt(rid_to_uncertainty[rid])
row += ['%.2f' % dg0, '%.2f' % sqrt(u), '%.2f' % ln_RI, ''] if sigma < Q_(100, "kJ/mol"):
else: dg0 = rid_to_dg0_prime[rid]
row += [nan, nan, nan, 'reaction is not chemically balanced'] ln_RI = eq_api.ln_reversibility_index(rid_to_reaction[rid])
writer.writerow(row)
writer.writerow([rid, args.ph, args.i, dg0, sigma, ln_RI, comment])
args.outfile.flush() args.outfile.flush()
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='Calculate potentials for a number of reactions.')
parser.add_argument(
'outfile', type=argparse.FileType('w'),
help='path to output file')
parser.add_argument('--ph', type=str,
help='pH level',
default="7.0")
parser.add_argument('--i', type=str,
help='ionic strength (in molar, default 0.25 M)',
default="0.25M")
parser.add_argument('--t', type=str,
help='temperature (in kalvin, default 298.15 K)',
default="298.15K")
logging.getLogger().setLevel(logging.WARNING)
args = parser.parse_args()
main(args)
bigg.reaction,formula
ex_14glucan_e,KEGG:C00718 <=>
ex_fe3hox_e,KEGG:C06227 <=>
ex_mobd_e,KEGG:C06232 <=>
14glucanabcpp,KEGG:C00001 + KEGG:C00002 + KEGG:C00718 <=> KEGG:C00008 + KEGG:C00009
14glucantexi, <=> KEGG:C00718
23pde2pp,KEGG:C00001 + KEGG:C02355 <=> KEGG:C01368
23pde4pp,KEGG:C00001 + KEGG:C02354 <=> KEGG:C05822
23pde7pp,KEGG:C00001 + KEGG:C02353 <=> KEGG:C01367
23pde9pp,KEGG:C00001 + KEGG:C06194 <=> KEGG:C06193
2mahmp,KEGG:C00001 + KEGG:C04752 <=> KEGG:C00009 + KEGG:C04556
3hcinnmh,KEGG:C00004 + KEGG:C00007 + KEGG:C12621 <=> KEGG:C00001 + KEGG:C00003 + KEGG:C12623
3hpppnh,KEGG:C00004 + KEGG:C00007 + KEGG:C11457 <=> KEGG:C00001 + KEGG:C00003 + KEGG:C04044
3kgk,KEGG:C00002 + KEGG:C00618 <=> KEGG:C00008 + KEGG:C14899
3ntd2pp,KEGG:C00001 + KEGG:C01368 <=> KEGG:C00009 + KEGG:C00299
3ntd4pp,KEGG:C00001 + KEGG:C05822 <=> KEGG:C00009 + KEGG:C00475
3ntd7pp,KEGG:C00001 + KEGG:C01367 <=> KEGG:C00009 + KEGG:C00212
3ntd9pp,KEGG:C00001 + KEGG:C06193 <=> KEGG:C00009 + KEGG:C00387
3oxcoat,KEGG:C00010 + KEGG:C02232 <=> KEGG:C00024 + KEGG:C00091
4hthrs,KEGG:C00001 + KEGG:C06055 <=> KEGG:C00009 + KEGG:C06056
5dglcnr,KEGG:C00005 + KEGG:C01062 <=> KEGG:C00006 + KEGG:C00257
abutd,KEGG:C00001 + KEGG:C00003 + KEGG:C00555 <=> KEGG:C00004 + KEGG:C00334
acacct,KEGG:C00024 + KEGG:C00164 <=> KEGG:C00033 + KEGG:C00332
acact1r,2 KEGG:C00024 <=> KEGG:C00010 + KEGG:C00332
acact2r,KEGG:C00024 + KEGG:C00136 <=> KEGG:C00010 + KEGG:C05269
acact3r,KEGG:C00024 + KEGG:C05270 <=> KEGG:C00010 + KEGG:C05267
acact4r,KEGG:C00024 + KEGG:C01944 <=> KEGG:C00010 + KEGG:C05265
acact5r,KEGG:C00024 + KEGG:C05274 <=> KEGG:C00010 + KEGG:C05263
acact6r,KEGG:C00024 + KEGG:C01832 <=> KEGG:C00010 + KEGG:C05261
acact7r,KEGG:C00024 + KEGG:C02593 <=> KEGG:C00010 + KEGG:C05259
acact8r,KEGG:C00010 + KEGG:C16216 <=> KEGG:C00024 + KEGG:C00154
acald,KEGG:C00003 + KEGG:C00010 + KEGG:C00084 <=> KEGG:C00004 + KEGG:C00024
acanthat,KEGG:C00024 + KEGG:C00108 <=> KEGG:C00010 + KEGG:C06332
acbipgt,KEGG:C00044 + KEGG:C06509 <=> KEGG:C00013 + KEGG:C06510
accoac,KEGG:C00002 + KEGG:C00024 + KEGG:C00288 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C00083
accoal,KEGG:C00002 + KEGG:C00010 + KEGG:C00163 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C00100
acgal1pppp,KEGG:C00001 + KEGG:C18060 <=> KEGG:C00009 + KEGG:C01132
acgam1pppp,KEGG:C00001 + KEGG:C04256 <=> KEGG:C00009 + KEGG:C00140
acgamk,KEGG:C00002 + KEGG:C00140 <=> KEGG:C00008 + KEGG:C00357
acgaptspp,KEGG:C00074 + KEGG:C00140 <=> KEGG:C00022 + KEGG:C00357
acgk,KEGG:C00002 + KEGG:C00624 <=> KEGG:C00008 + KEGG:C04133
achbs,KEGG:C00022 + KEGG:C00109 <=> KEGG:C00011 + KEGG:C00659
ackr,KEGG:C00002 + KEGG:C00033 <=> KEGG:C00008 + KEGG:C00227
acmanaptspp,KEGG:C00074 + KEGG:C00645 <=> KEGG:C00022 + KEGG:C04257
acmumptspp,KEGG:C00074 + KEGG:C02713 <=> KEGG:C00022 + KEGG:C16698
acnml,KEGG:C00270 <=> KEGG:C00022 + KEGG:C00645
acoad1f,KEGG:C00016 + KEGG:C00136 <=> KEGG:C00877 + KEGG:C01352
acoad2f,KEGG:C00016 + KEGG:C05270 <=> KEGG:C01352 + KEGG:C05271
acoad3f,KEGG:C00016 + KEGG:C01944 <=> KEGG:C01352 + KEGG:C05276
acoad4f,KEGG:C00016 + KEGG:C05274 <=> KEGG:C01352 + KEGG:C05275
acoad5f,KEGG:C00016 + KEGG:C01832 <=> KEGG:C01352 + KEGG:C03221
acoad6f,KEGG:C00016 + KEGG:C02593 <=> KEGG:C01352 + KEGG:C05273
acoad7f,KEGG:C00016 + KEGG:C00154 <=> KEGG:C01352 + KEGG:C05272
acoad8f,KEGG:C00016 + KEGG:C00412 <=> KEGG:C01352 + KEGG:C16218
acoda,KEGG:C00001 + KEGG:C00437 <=> KEGG:C00033 + KEGG:C00077
aconis,KEGG:C02341 <=> KEGG:C00417
aconmt,KEGG:C00019 + KEGG:C02341 <=> KEGG:C00021 + KEGG:C11514
aconta,KEGG:C00158 <=> KEGG:C00001 + KEGG:C00417
acontb,KEGG:C00001 + KEGG:C00417 <=> KEGG:C00311
acs,KEGG:C00002 + KEGG:C00010 + KEGG:C00033 <=> KEGG:C00013 + KEGG:C00020 + KEGG:C00024
adcl,KEGG:C11355 <=> KEGG:C00022 + KEGG:C00568
adk1,KEGG:C00002 + KEGG:C00020 <=> 2 KEGG:C00008
adk3,KEGG:C00020 + KEGG:C00044 <=> KEGG:C00008 + KEGG:C00035
adk4,KEGG:C00020 + KEGG:C00081 <=> KEGG:C00008 + KEGG:C00104
admdc,KEGG:C00019 <=> KEGG:C00011 + KEGG:C01137
adncyc,KEGG:C00002 <=> KEGG:C00013 + KEGG:C00575
adnk1,KEGG:C00002 + KEGG:C00212 <=> KEGG:C00008 + KEGG:C00020
adocbik,KEGG:C00002 + KEGG:C06508 <=> KEGG:C00008 + KEGG:C06509
adocbls,KEGG:C05775 + KEGG:C06510 <=> KEGG:C00144 + KEGG:C00194
adprdp,KEGG:C00001 + KEGG:C00301 <=> KEGG:C00020 + KEGG:C03736
adpt,KEGG:C00119 + KEGG:C00147 <=> KEGG:C00013 + KEGG:C00020
adsk,KEGG:C00002 + KEGG:C00224 <=> KEGG:C00008 + KEGG:C00053
adsl1r,KEGG:C03794 <=> KEGG:C00020 + KEGG:C00122
adsl2r,KEGG:C04823 <=> KEGG:C00122 + KEGG:C04677
agdc,KEGG:C00001 + KEGG:C00357 <=> KEGG:C00033 + KEGG:C00352
agmhe,KEGG:C06397 <=> KEGG:C06398
agmt,KEGG:C00001 + KEGG:C00179 <=> KEGG:C00086 + KEGG:C00134
agpr,KEGG:C00006 + KEGG:C00009 + KEGG:C01250 <=> KEGG:C00005 + KEGG:C04133
aicart,KEGG:C00234 + KEGG:C04677 <=> KEGG:C00101 + KEGG:C04734
airc2,KEGG:C00002 + KEGG:C00288 + KEGG:C03373 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C15667
airc3,KEGG:C04751 <=> KEGG:C15667
akgdh,KEGG:C00003 + KEGG:C00010 + KEGG:C00026 <=> KEGG:C00004 + KEGG:C00011 + KEGG:C00091
alcd19,KEGG:C00004 + KEGG:C00577 <=> KEGG:C00003 + KEGG:C00116
alcd2x,KEGG:C00003 + KEGG:C00469 <=> KEGG:C00004 + KEGG:C00084
aldd19xr,KEGG:C00001 + KEGG:C00003 + KEGG:C00601 <=> KEGG:C00004 + KEGG:C00548
aldd2x,KEGG:C00001 + KEGG:C00003 + KEGG:C00084 <=> KEGG:C00004 + KEGG:C00033
aldd2y,KEGG:C00001 + KEGG:C00006 + KEGG:C00084 <=> KEGG:C00005 + KEGG:C00033
aldd3y,KEGG:C00001 + KEGG:C00006 + KEGG:C00479 <=> KEGG:C00005 + KEGG:C00163
aldd4,KEGG:C00001 + KEGG:C00003 + KEGG:C01412 <=> KEGG:C00004 + KEGG:C00246
alltn,KEGG:C00001 + KEGG:C01551 <=> KEGG:C00499
alr2,KEGG:C00005 + KEGG:C00546 <=> KEGG:C00006 + KEGG:C05235
altrh,KEGG:C00817 <=> KEGG:C00001 + KEGG:C00204
amanaper,KEGG:C04257 <=> KEGG:C00357
amank,KEGG:C00002 + KEGG:C00645 <=> KEGG:C00008 + KEGG:C04257
amaotr,KEGG:C00019 + KEGG:C01092 <=> KEGG:C01037 + KEGG:C04425
ampms2,KEGG:C00001 + KEGG:C00003 + KEGG:C03373 <=> KEGG:C00004 + 2 KEGG:C00058 + KEGG:C04556
ampn,KEGG:C00001 + KEGG:C00020 <=> KEGG:C00147 + KEGG:C03736
anprt,KEGG:C00108 + KEGG:C00119 <=> KEGG:C00013 + KEGG:C04302
aobutds,KEGG:C03214 <=> KEGG:C00011 + KEGG:C01888
ap4ah,KEGG:C00001 + KEGG:C01260 <=> 2 KEGG:C00008
ap4as,2 KEGG:C00002 <=> KEGG:C00013 + KEGG:C01260
ap5ah,KEGG:C00001 + KEGG:C04058 <=> KEGG:C00002 + KEGG:C00008
apcs,KEGG:C01137 + KEGG:C01672 <=> KEGG:C00170 + KEGG:C16565
appldhr,KEGG:C00004 + KEGG:C01888 <=> KEGG:C00003 + KEGG:C05771
apraur,KEGG:C00005 + KEGG:C01268 <=> KEGG:C00006 + KEGG:C04454
arbtptspp,KEGG:C00074 + KEGG:C06186 <=> KEGG:C00022 + KEGG:C06187
asad,KEGG:C00006 + KEGG:C00009 + KEGG:C00441 <=> KEGG:C00005 + KEGG:C03082
ascbpl,KEGG:C00001 + KEGG:C16186 <=> KEGG:C14899
atpm,KEGG:C00001 + KEGG:C00002 <=> KEGG:C00008 + KEGG:C00009
atpprt,KEGG:C00002 + KEGG:C00119 <=> KEGG:C00013 + KEGG:C02739
atps4rpp,KEGG:C00008 + KEGG:C00009 <=> KEGG:C00001 + KEGG:C00002
betaldhx,KEGG:C00001 + KEGG:C00003 + KEGG:C00576 <=> KEGG:C00004 + KEGG:C00719
betaldhy,KEGG:C00001 + KEGG:C00006 + KEGG:C00576 <=> KEGG:C00005 + KEGG:C00719
bpnt,KEGG:C00001 + KEGG:C00054 <=> KEGG:C00009 + KEGG:C00020
butct,KEGG:C00024 + KEGG:C00246 <=> KEGG:C00033 + KEGG:C00136
cat,2 KEGG:C00027 <=> 2 KEGG:C00001 + KEGG:C00007
cdgr,2 KEGG:C00005 + KEGG:C15996 <=> 2 KEGG:C00006 + KEGG:C16675
cdpmek,KEGG:C00002 + KEGG:C11435 <=> KEGG:C00008 + KEGG:C11436
chold,KEGG:C00003 + KEGG:C00114 <=> KEGG:C00004 + KEGG:C00576
chorm,KEGG:C00251 <=> KEGG:C00254
chors,KEGG:C01269 <=> KEGG:C00009 + KEGG:C00251
chrpl,KEGG:C00251 <=> KEGG:C00022 + KEGG:C00156
cinndo,KEGG:C00004 + KEGG:C00007 + KEGG:C00423 <=> KEGG:C00003 + KEGG:C12622
citl,KEGG:C00158 <=> KEGG:C00033 + KEGG:C00036
cmpn,KEGG:C00001 + KEGG:C00055 <=> KEGG:C00380 + KEGG:C03736
cpmps,KEGG:C00001 + KEGG:C00044 <=> KEGG:C00013 + KEGG:C18239
cpppgo,KEGG:C00007 + KEGG:C03263 <=> 2 KEGG:C00001 + 2 KEGG:C00011 + KEGG:C01079
cs,KEGG:C00001 + KEGG:C00024 + KEGG:C00036 <=> KEGG:C00010 + KEGG:C00158
cyanst,KEGG:C00177 + KEGG:C00320 <=> KEGG:C00094 + KEGG:C01755
cyanstpp,KEGG:C00177 + KEGG:C00320 <=> KEGG:C00094 + KEGG:C01755
cytdk2,KEGG:C00044 + KEGG:C00475 <=> KEGG:C00035 + KEGG:C00055
cytk1,KEGG:C00002 + KEGG:C00055 <=> KEGG:C00008 + KEGG:C00112
cytk2,KEGG:C00002 + KEGG:C00239 <=> KEGG:C00008 + KEGG:C00705
dadk,KEGG:C00002 + KEGG:C00360 <=> KEGG:C00008 + KEGG:C00206
dbts,KEGG:C00002 + KEGG:C00011 + KEGG:C01037 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C01909
ddgalk,KEGG:C00002 + KEGG:C01216 <=> KEGG:C00008 + KEGG:C01286
ddglk,KEGG:C00002 + KEGG:C00204 <=> KEGG:C00008 + KEGG:C04442
ddpa,KEGG:C00001 + KEGG:C00074 + KEGG:C00279 <=> KEGG:C00009 + KEGG:C04691
ddpgala,KEGG:C01286 <=> KEGG:C00022 + KEGG:C00118
dgk1,KEGG:C00002 + KEGG:C00362 <=> KEGG:C00008 + KEGG:C00361
dhad1,KEGG:C04272 <=> KEGG:C00001 + KEGG:C00141
dhad2,KEGG:C04104 <=> KEGG:C00001 + KEGG:C00671
dhapt,KEGG:C00074 + KEGG:C00184 <=> KEGG:C00022 + KEGG:C00111
dhbd,KEGG:C00003 + KEGG:C04171 <=> KEGG:C00004 + KEGG:C00196
dhbs,KEGG:C00002 + KEGG:C00196 <=> KEGG:C00013 + KEGG:C04030
dhcind,KEGG:C00003 + KEGG:C12622 <=> KEGG:C00004 + KEGG:C12623
dhdpry,KEGG:C00005 + KEGG:C03340 <=> KEGG:C00006 + KEGG:C03972
dhdps,KEGG:C00022 + KEGG:C00441 <=> 2 KEGG:C00001 + KEGG:C03340
dhfr,KEGG:C00005 + KEGG:C00415 <=> KEGG:C00006 + KEGG:C00101
dhnpa2r,KEGG:C04874 <=> KEGG:C00266 + KEGG:C01300
dhppd,KEGG:C00003 + KEGG:C11588 <=> KEGG:C00004 + KEGG:C04044
dhps2,KEGG:C00568 + KEGG:C04807 <=> KEGG:C00013 + KEGG:C00921
dhptdnr,KEGG:C00005 + KEGG:C05649 <=> KEGG:C00006 + KEGG:C05650
dhptdnrn,KEGG:C00004 + KEGG:C05649 <=> KEGG:C00003 + KEGG:C05650
dhqs,KEGG:C04691 <=> KEGG:C00009 + KEGG:C00944
dhqti,KEGG:C00944 <=> KEGG:C00001 + KEGG:C02637
dkglcnr2x,KEGG:C00004 + KEGG:C02780 <=> KEGG:C00003 + KEGG:C01062
dkglcnr2y,KEGG:C00005 + KEGG:C02780 <=> KEGG:C00006 + KEGG:C01062
dmatt,KEGG:C00129 + KEGG:C00235 <=> KEGG:C00013 + KEGG:C00341
dmpps,KEGG:C00004 + KEGG:C11811 <=> KEGG:C00001 + KEGG:C00003 + KEGG:C00235
dnmppa,KEGG:C00001 + KEGG:C05925 <=> KEGG:C00009 + KEGG:C04874
dntppa,KEGG:C00001 + KEGG:C04895 <=> KEGG:C00013 + KEGG:C05925
dogulnr,KEGG:C00004 + KEGG:C04575 <=> KEGG:C00003 + KEGG:C00618
dpcoak,KEGG:C00002 + KEGG:C00882 <=> KEGG:C00008 + KEGG:C00010
drpa,KEGG:C00673 <=> KEGG:C00084 + KEGG:C00118
dtmpk,KEGG:C00002 + KEGG:C00364 <=> KEGG:C00008 + KEGG:C00363
duradx,KEGG:C00003 + KEGG:C00429 <=> KEGG:C00004 + KEGG:C00106
durik1,KEGG:C00002 + KEGG:C00526 <=> KEGG:C00008 + KEGG:C00365
duripp,KEGG:C00009 + KEGG:C00526 <=> KEGG:C00106 + KEGG:C00672
dutpdp,KEGG:C00001 + KEGG:C00460 <=> KEGG:C00013 + KEGG:C00365
dxprii,KEGG:C00005 + KEGG:C11437 <=> KEGG:C00006 + KEGG:C11434
dxps,KEGG:C00022 + KEGG:C00118 <=> KEGG:C00011 + KEGG:C11437
dxylk,KEGG:C00002 + KEGG:C06257 <=> KEGG:C00008 + KEGG:C11437
e4pd,KEGG:C00001 + KEGG:C00003 + KEGG:C00279 <=> KEGG:C00004 + KEGG:C03393
ecoah1,KEGG:C01144 <=> KEGG:C00001 + KEGG:C00877
ecoah2,KEGG:C05268 <=> KEGG:C00001 + KEGG:C05271
ecoah3,KEGG:C05266 <=> KEGG:C00001 + KEGG:C05276
ecoah4,KEGG:C05264 <=> KEGG:C00001 + KEGG:C05275
ecoah5,KEGG:C05262 <=> KEGG:C00001 + KEGG:C03221
ecoah6,KEGG:C05260 <=> KEGG:C00001 + KEGG:C05273
ecoah7,KEGG:C05258 <=> KEGG:C00001 + KEGG:C05272
ecoah8,KEGG:C16217 <=> KEGG:C00001 + KEGG:C16218
eda,KEGG:C04442 <=> KEGG:C00022 + KEGG:C00118
edd,KEGG:C00345 <=> KEGG:C00001 + KEGG:C04442
eno,KEGG:C00631 <=> KEGG:C00001 + KEGG:C00074
entcs,3 KEGG:C04030 + 3 KEGG:C05820 <=> 6 KEGG:C00020 + KEGG:C05821
f6pa,KEGG:C00085 <=> KEGG:C00118 + KEGG:C00184
f6pp,KEGG:C00001 + KEGG:C00085 <=> KEGG:C00009 + KEGG:C00095
facoae100,KEGG:C00001 + KEGG:C05274 <=> KEGG:C00010 + KEGG:C01571
facoae120,KEGG:C00001 + KEGG:C01832 <=> KEGG:C00010 + KEGG:C02679
facoae140,KEGG:C00001 + KEGG:C02593 <=> KEGG:C00010 + KEGG:C06424
facoae160,KEGG:C00001 + KEGG:C00154 <=> KEGG:C00010 + KEGG:C00249
facoae180,KEGG:C00001 + KEGG:C00412 <=> KEGG:C00010 + KEGG:C01530
facoae60,KEGG:C00001 + KEGG:C05270 <=> KEGG:C00010 + KEGG:C01585
facoae80,KEGG:C00001 + KEGG:C01944 <=> KEGG:C00010 + KEGG:C06423
facoal100t2pp,KEGG:C00002 + KEGG:C00010 + KEGG:C01571 <=> KEGG:C00013 + KEGG:C00020 + KEGG:C05274
facoal120t2pp,KEGG:C00002 + KEGG:C00010 + KEGG:C02679 <=> KEGG:C00013 + KEGG:C00020 + KEGG:C01832
facoal140t2pp,KEGG:C00002 + KEGG:C00010 + KEGG:C06424 <=> KEGG:C00013 + KEGG:C00020 + KEGG:C02593
facoal160t2pp,KEGG:C00002 + KEGG:C00010 + KEGG:C00249 <=> KEGG:C00013 + KEGG:C00020 + KEGG:C00154
facoal180t2pp,KEGG:C00002 + KEGG:C00010 + KEGG:C01530 <=> KEGG:C00013 + KEGG:C00020 + KEGG:C00412
facoal60t2pp,KEGG:C00002 + KEGG:C00010 + KEGG:C01585 <=> KEGG:C00013 + KEGG:C00020 + KEGG:C05270
facoal80t2pp,KEGG:C00002 + KEGG:C00010 + KEGG:C06423 <=> KEGG:C00013 + KEGG:C00020 + KEGG:C01944
fadrx,KEGG:C00004 + KEGG:C00016 <=> KEGG:C00003 + KEGG:C01352
fadrx2,KEGG:C00005 + KEGG:C00016 <=> KEGG:C00006 + KEGG:C01352
fba,KEGG:C00354 <=> KEGG:C00111 + KEGG:C00118
fba3,KEGG:C00447 <=> KEGG:C00111 + KEGG:C00279
fbp,KEGG:C00001 + KEGG:C00354 <=> KEGG:C00009 + KEGG:C00085
fdmo,KEGG:C00007 + KEGG:C01847 + KEGG:C05123 <=> KEGG:C00001 + KEGG:C00061 + KEGG:C00094 + KEGG:C00266
fdmo2,KEGG:C00007 + KEGG:C01847 + KEGG:C11145 <=> KEGG:C00001 + KEGG:C00061 + KEGG:C00067 + KEGG:C00094
fdmo6,KEGG:C00007 + KEGG:C01847 + KEGG:C14179 <=> KEGG:C00001 + KEGG:C00048 + KEGG:C00061 + KEGG:C00094
fe3hoxabcpp,KEGG:C00001 + KEGG:C00002 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C06227
fe3hoxtonex,KEGG:C06227 <=>
fe3ri,KEGG:C01352 + 2 KEGG:C14819 <=> KEGG:C00016 + 2 KEGG:C14818
feropp,KEGG:C00007 + 4 KEGG:C14818 <=> 2 KEGG:C00001 + 4 KEGG:C14819
ffsd,KEGG:C00001 + KEGG:C02591 <=> KEGG:C00092 + KEGG:C00095
fhl,KEGG:C00058 <=> KEGG:C00011 + KEGG:C00282
flvr,KEGG:C00005 + KEGG:C00255 <=> KEGG:C00006 + KEGG:C01007
flvrx,KEGG:C00004 + KEGG:C00255 <=> KEGG:C00003 + KEGG:C01007
fmnat,KEGG:C00002 + KEGG:C00061 <=> KEGG:C00013 + KEGG:C00016
fmnrx,KEGG:C00004 + KEGG:C00061 <=> KEGG:C00003 + KEGG:C01847
fmnrx2,KEGG:C00005 + KEGG:C00061 <=> KEGG:C00006 + KEGG:C01847
fometri,KEGG:C03479 <=> KEGG:C00001 + KEGG:C00445
forct,KEGG:C00209 + KEGG:C00798 <=> KEGG:C00058 + KEGG:C00313
frupts2pp,KEGG:C00074 + KEGG:C00095 <=> KEGG:C00022 + KEGG:C00085
fthfd,KEGG:C00001 + KEGG:C00234 <=> KEGG:C00058 + KEGG:C00101
fthfli,KEGG:C00002 + KEGG:C00058 + KEGG:C00101 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C00234
g1pact,KEGG:C00024 + KEGG:C03783 <=> KEGG:C00010 + KEGG:C04256
g1ptt,KEGG:C00103 + KEGG:C00459 <=> KEGG:C00013 + KEGG:C00842
g1sat,KEGG:C03741 <=> KEGG:C00430
g2pp,KEGG:C00001 + KEGG:C02979 <=> KEGG:C00009 + KEGG:C00116
g2pppp,KEGG:C00001 + KEGG:C02979 <=> KEGG:C00009 + KEGG:C00116
g3pd2,KEGG:C00006 + KEGG:C00093 <=> KEGG:C00005 + KEGG:C00111
g3pt,KEGG:C00001 + KEGG:C00093 <=> KEGG:C00009 + KEGG:C00116
g5sads,KEGG:C01165 <=> KEGG:C00001 + KEGG:C03912
g5sd,KEGG:C00005 + KEGG:C03287 <=> KEGG:C00006 + KEGG:C00009 + KEGG:C01165
g6pdh2r,KEGG:C00006 + KEGG:C00092 <=> KEGG:C00005 + KEGG:C01236
gal1pppp,KEGG:C00001 + KEGG:C00446 <=> KEGG:C00009 + KEGG:C00124
galkr,KEGG:C00002 + KEGG:C00124 <=> KEGG:C00008 + KEGG:C00446
galm2pp,KEGG:C00962 <=> KEGG:C00124
galtptspp,KEGG:C00074 + KEGG:C01697 <=> KEGG:C00022 + KEGG:C06311
galui,KEGG:C00075 + KEGG:C00103 <=> KEGG:C00013 + KEGG:C00029
gamptspp,KEGG:C00074 + KEGG:C00329 <=> KEGG:C00022 + KEGG:C00352
gapd,KEGG:C00003 + KEGG:C00009 + KEGG:C00118 <=> KEGG:C00004 + KEGG:C00236
garft,KEGG:C00234 + KEGG:C03838 <=> KEGG:C00101 + KEGG:C04376
gart,KEGG:C00002 + KEGG:C00058 + KEGG:C03838 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C04376
gcaldd,KEGG:C00001 + KEGG:C00003 + KEGG:C00266 <=> KEGG:C00004 + KEGG:C00160
gdmane,KEGG:C01222 <=> KEGG:C14830
gdpdpk,KEGG:C00002 + KEGG:C00035 <=> KEGG:C00020 + KEGG:C01228
gdpmnh,KEGG:C00001 + KEGG:C00096 <=> KEGG:C00035 + KEGG:C00159
gdpmnp,KEGG:C00001 + KEGG:C00096 <=> KEGG:C00144 + KEGG:C00636
gdptpdp,KEGG:C00001 + KEGG:C04494 <=> KEGG:C00013 + KEGG:C00044
gggabadr,KEGG:C00001 + KEGG:C00006 + KEGG:C15700 <=> KEGG:C00005 + KEGG:C15767
ghbdhx,KEGG:C00004 + KEGG:C00232 <=> KEGG:C00003 + KEGG:C00989
gk1,KEGG:C00002 + KEGG:C00144 <=> KEGG:C00008 + KEGG:C00035
glcral,KEGG:C00679 <=> KEGG:C00022 + KEGG:C01146
glcrd,KEGG:C00818 <=> KEGG:C00001 + KEGG:C00679
glgc,KEGG:C00002 + KEGG:C00103 <=> KEGG:C00013 + KEGG:C00498
glxcl,2 KEGG:C00048 <=> KEGG:C00011 + KEGG:C01146
glyat,KEGG:C00024 + KEGG:C00037 <=> KEGG:C00010 + KEGG:C03214
glycdx,KEGG:C00003 + KEGG:C00116 <=> KEGG:C00004 + KEGG:C00184
glycltdx,KEGG:C00004 + KEGG:C00048 <=> KEGG:C00003 + KEGG:C00160
glycltdy,KEGG:C00005 + KEGG:C00048 <=> KEGG:C00006 + KEGG:C00160
glyk,KEGG:C00002 + KEGG:C00116 <=> KEGG:C00008 + KEGG:C00093
gmand,KEGG:C00096 <=> KEGG:C00001 + KEGG:C01222
gmhepat,KEGG:C00002 + KEGG:C07838 <=> KEGG:C00013 + KEGG:C06397
gmhepk,KEGG:C00002 + KEGG:C07836 <=> KEGG:C00008 + KEGG:C11472
gmheppa,KEGG:C00001 + KEGG:C11472 <=> KEGG:C00009 + KEGG:C07838
gnk,KEGG:C00002 + KEGG:C00257 <=> KEGG:C00008 + KEGG:C00345
gofucr,KEGG:C00005 + KEGG:C14830 <=> KEGG:C00006 + KEGG:C00325
gp4gh,KEGG:C00001 + KEGG:C01261 <=> 2 KEGG:C00035
gpdda1,KEGG:C00001 + KEGG:C00670 <=> KEGG:C00093 + KEGG:C00114
gpdda1pp,KEGG:C00001 + KEGG:C00670 <=> KEGG:C00093 + KEGG:C00114
gpdda2,KEGG:C00001 + KEGG:C01233 <=> KEGG:C00093 + KEGG:C00189
gpdda2pp,KEGG:C00001 + KEGG:C01233 <=> KEGG:C00093 + KEGG:C00189
gpdda4,KEGG:C00001 + KEGG:C03274 <=> KEGG:C00093 + KEGG:C00116
gpdda4pp,KEGG:C00001 + KEGG:C03274 <=> KEGG:C00093 + KEGG:C00116
gpdda5,KEGG:C00001 + KEGG:C01225 <=> KEGG:C00093 + KEGG:C00137
gpdda5pp,KEGG:C00001 + KEGG:C01225 <=> KEGG:C00093 + KEGG:C00137
grtt,KEGG:C00129 + KEGG:C00341 <=> KEGG:C00013 + KEGG:C00448
gsnk,KEGG:C00002 + KEGG:C00387 <=> KEGG:C00008 + KEGG:C00144
gtpci,KEGG:C00001 + KEGG:C00044 <=> KEGG:C00058 + KEGG:C04895
gtpcii2,3 KEGG:C00001 + KEGG:C00044 <=> KEGG:C00013 + KEGG:C00058 + KEGG:C01304
gtpdpdp,KEGG:C00001 + KEGG:C04494 <=> KEGG:C00009 + KEGG:C01228
gtpdpk,KEGG:C00002 + KEGG:C00044 <=> KEGG:C00020 + KEGG:C04494
guacyc,KEGG:C00044 <=> KEGG:C00013 + KEGG:C00942
guaprt,KEGG:C00119 + KEGG:C00242 <=> KEGG:C00013 + KEGG:C00144
gui1,KEGG:C00191 <=> KEGG:C00905
gur1pppp,KEGG:C00001 + KEGG:C05385 <=> KEGG:C00009 + KEGG:C00191
h2so,2 KEGG:C00007 + KEGG:C00283 <=> KEGG:C00059
hacd1,KEGG:C00004 + KEGG:C00332 <=> KEGG:C00003 + KEGG:C01144
hacd2,KEGG:C00004 + KEGG:C05269 <=> KEGG:C00003 + KEGG:C05268
hacd3,KEGG:C00004 + KEGG:C05267 <=> KEGG:C00003 + KEGG:C05266
hacd4,KEGG:C00004 + KEGG:C05265 <=> KEGG:C00003 + KEGG:C05264
hacd5,KEGG:C00004 + KEGG:C05263 <=> KEGG:C00003 + KEGG:C05262
hacd6,KEGG:C00004 + KEGG:C05261 <=> KEGG:C00003 + KEGG:C05260
hacd7,KEGG:C00004 + KEGG:C05259 <=> KEGG:C00003 + KEGG:C05258
hacd8,KEGG:C00004 + KEGG:C16216 <=> KEGG:C00003 + KEGG:C16217
hadpcoadh3,KEGG:C00003 + KEGG:C14145 <=> KEGG:C00004 + KEGG:C02232
hbzopt,KEGG:C00156 + KEGG:C04146 <=> KEGG:C00013 + KEGG:C05809
hco3e,KEGG:C00001 + KEGG:C00011 <=> KEGG:C00288
hetzk,KEGG:C00002 + KEGG:C04294 <=> KEGG:C00008 + KEGG:C04327
hex4,KEGG:C00002 + KEGG:C00159 <=> KEGG:C00008 + KEGG:C00275
hex7,KEGG:C00002 + KEGG:C00095 <=> KEGG:C00008 + KEGG:C00085
histp,KEGG:C00001 + KEGG:C01100 <=> KEGG:C00009 + KEGG:C00860
hknddh,KEGG:C00001 + KEGG:C04479 <=> KEGG:C00042 + KEGG:C00596
hmpk1,KEGG:C00002 + KEGG:C01279 <=> KEGG:C00008 + KEGG:C04556
hopntal,KEGG:C03589 <=> KEGG:C00022 + KEGG:C00084
hppk2,KEGG:C00002 + KEGG:C01300 <=> KEGG:C00020 + KEGG:C04807
hpppndo,KEGG:C00007 + KEGG:C04044 <=> KEGG:C04479
hpyri,KEGG:C00168 <=> KEGG:C01146
hxand,KEGG:C00001 + KEGG:C00003 + KEGG:C00262 <=> KEGG:C00004 + KEGG:C00385
hxct,KEGG:C00024 + KEGG:C01585 <=> KEGG:C00033 + KEGG:C05270
hxprt,KEGG:C00119 + KEGG:C00262 <=> KEGG:C00013 + KEGG:C00130
hypoe,KEGG:C00001 + KEGG:C00647 <=> KEGG:C00009 + KEGG:C00534
icdhyr,KEGG:C00006 + KEGG:C00311 <=> KEGG:C00005 + KEGG:C00011 + KEGG:C00026
ichors,KEGG:C00251 <=> KEGG:C00885
ichorsi,KEGG:C00251 <=> KEGG:C00885
ichort,KEGG:C00001 + KEGG:C00885 <=> KEGG:C00022 + KEGG:C04171
icl,KEGG:C00311 <=> KEGG:C00042 + KEGG:C00048
igpdh,KEGG:C04666 <=> KEGG:C00001 + KEGG:C01267
igps,KEGG:C01302 <=> KEGG:C00001 + KEGG:C00011 + KEGG:C03506
impc,KEGG:C00001 + KEGG:C00130 <=> KEGG:C04734
impd,KEGG:C00001 + KEGG:C00003 + KEGG:C00130 <=> KEGG:C00004 + KEGG:C00655
insk,KEGG:C00002 + KEGG:C00294 <=> KEGG:C00008 + KEGG:C00130
ipddi,KEGG:C00129 <=> KEGG:C00235
ipdps,KEGG:C00004 + KEGG:C11811 <=> KEGG:C00001 + KEGG:C00003 + KEGG:C00129
ipmd,KEGG:C00003 + KEGG:C04411 <=> KEGG:C00004 + KEGG:C04236
ippmia,KEGG:C04411 <=> KEGG:C00001 + KEGG:C02631
ippmib,KEGG:C00001 + KEGG:C02631 <=> KEGG:C02504
ipps,KEGG:C00001 + KEGG:C00024 + KEGG:C00141 <=> KEGG:C00010 + KEGG:C02504
kara2,KEGG:C00005 + KEGG:C00659 <=> KEGG:C00006 + KEGG:C04104
kdoct2,KEGG:C00063 + KEGG:C01187 <=> KEGG:C00013 + KEGG:C04121
kdopp,KEGG:C00001 + KEGG:C04478 <=> KEGG:C00009 + KEGG:C01187
kdops,KEGG:C00001 + KEGG:C00074 + KEGG:C01112 <=> KEGG:C00009 + KEGG:C04478
lipatpt,KEGG:C00002 + KEGG:C00725 <=> KEGG:C00013 + KEGG:C16238
m1pd,KEGG:C00003 + KEGG:C00644 <=> KEGG:C00004 + KEGG:C00085
maltatr,KEGG:C00024 + KEGG:C00208 <=> KEGG:C00010 + KEGG:C02130
maltptspp,KEGG:C00074 + KEGG:C00208 <=> KEGG:C00022 + KEGG:C02995
man1pt2,KEGG:C00035 + KEGG:C00636 <=> KEGG:C00009 + KEGG:C00096
man6pi,KEGG:C00275 <=> KEGG:C00085
manao,KEGG:C00003 + KEGG:C00514 <=> KEGG:C00004 + KEGG:C00905
manglycptspp,KEGG:C00074 + KEGG:C11544 <=> KEGG:C00022 + KEGG:C16699
manptspp,KEGG:C00074 + KEGG:C00159 <=> KEGG:C00022 + KEGG:C00275
mcitd,KEGG:C02225 <=> KEGG:C00001 + KEGG:C04225
mcitl2,KEGG:C04593 <=> KEGG:C00022 + KEGG:C00042
mcits,KEGG:C00001 + KEGG:C00036 + KEGG:C00100 <=> KEGG:C00010 + KEGG:C02225
mcpst,KEGG:C00177 + KEGG:C00957 <=> KEGG:C00022 + KEGG:C01755
mecdps,KEGG:C11436 <=> KEGG:C00055 + KEGG:C11453
mepct,KEGG:C00063 + KEGG:C11434 <=> KEGG:C00013 + KEGG:C11435
mgsa,KEGG:C00111 <=> KEGG:C00009 + KEGG:C00546
micitdr,KEGG:C00001 + KEGG:C04225 <=> KEGG:C04593
mltp1,KEGG:C00009 + KEGG:C06218 <=> KEGG:C00103 + KEGG:C02013
mltp2,KEGG:C00009 + KEGG:C01936 <=> KEGG:C00103 + KEGG:C06218
mltp3,KEGG:C00009 + KEGG:C06216 <=> KEGG:C00103 + KEGG:C01936
mn6pp,KEGG:C00001 + KEGG:C00275 <=> KEGG:C00009 + KEGG:C00159
mnlptspp,KEGG:C00074 + KEGG:C00392 <=> KEGG:C00022 + KEGG:C00644
mnnh,KEGG:C00514 <=> KEGG:C00001 + KEGG:C00204
moat,KEGG:C04121 + KEGG:C04919 <=> KEGG:C00055 + KEGG:C06024
moat2,KEGG:C04121 + KEGG:C06024 <=> KEGG:C00055 + KEGG:C06025
mobdabcpp,KEGG:C00001 + KEGG:C00002 + KEGG:C06232 <=> KEGG:C00008 + KEGG:C00009
mobdtex, <=> KEGG:C06232
mohmt,KEGG:C00001 + KEGG:C00141 + KEGG:C00143 <=> KEGG:C00101 + KEGG:C00966
msar,KEGG:C00005 + KEGG:C00222 <=> KEGG:C00006 + KEGG:C01013
mtan,KEGG:C00001 + KEGG:C00170 <=> KEGG:C00147 + KEGG:C03089
mthfc,KEGG:C00001 + KEGG:C00445 <=> KEGG:C00234
mthfd,KEGG:C00006 + KEGG:C00143 <=> KEGG:C00005 + KEGG:C00445
mthfr2,KEGG:C00004 + KEGG:C00143 <=> KEGG:C00003 + KEGG:C00440
nacoda,KEGG:C00001 + KEGG:C01250 <=> KEGG:C00033 + KEGG:C01165
naddp,KEGG:C00001 + KEGG:C00003 <=> KEGG:C00020 + KEGG:C00455
nadk,KEGG:C00002 + KEGG:C00003 <=> KEGG:C00006 + KEGG:C00008
nadn,KEGG:C00001 + KEGG:C00003 <=> KEGG:C00153 + KEGG:C00301
nadppps,KEGG:C00001 + KEGG:C00006 <=> KEGG:C00003 + KEGG:C00009
nadtrhd,KEGG:C00003 + KEGG:C00005 <=> KEGG:C00004 + KEGG:C00006
namnpp,KEGG:C00001 + KEGG:C00002 + KEGG:C00119 + KEGG:C00253 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C00013 + KEGG:C01185
ndpk1,KEGG:C00002 + KEGG:C00035 <=> KEGG:C00008 + KEGG:C00044
ndpk2,KEGG:C00002 + KEGG:C00015 <=> KEGG:C00008 + KEGG:C00075
ndpk3,KEGG:C00002 + KEGG:C00112 <=> KEGG:C00008 + KEGG:C00063
ndpk4,KEGG:C00002 + KEGG:C00363 <=> KEGG:C00008 + KEGG:C00459
ndpk5,KEGG:C00002 + KEGG:C00361 <=> KEGG:C00008 + KEGG:C00286
ndpk6,KEGG:C00002 + KEGG:C01346 <=> KEGG:C00008 + KEGG:C00460
ndpk7,KEGG:C00002 + KEGG:C00705 <=> KEGG:C00008 + KEGG:C00458
ndpk8,KEGG:C00002 + KEGG:C00206 <=> KEGG:C00008 + KEGG:C00131
nhfrbo,KEGG:C00004 + 2 KEGG:C00533 <=> KEGG:C00001 + KEGG:C00003 + KEGG:C00887
nmnat,KEGG:C00002 + KEGG:C00455 <=> KEGG:C00003 + KEGG:C00013
nmnn,KEGG:C00001 + KEGG:C00455 <=> KEGG:C00153 + KEGG:C03736
nmnt7pp,KEGG:C00001 + KEGG:C00455 <=> KEGG:C00153 + KEGG:C03736
nnatr,KEGG:C00002 + KEGG:C01185 <=> KEGG:C00013 + KEGG:C00857
nndmbrt,KEGG:C01185 + KEGG:C03114 <=> KEGG:C00253 + KEGG:C04778
nndpr,KEGG:C00119 + KEGG:C03722 <=> KEGG:C00011 + KEGG:C00013 + KEGG:C01185
nodox,KEGG:C00004 + 2 KEGG:C00007 + 2 KEGG:C00533 <=> KEGG:C00003 + 2 KEGG:C00244
nodoy,KEGG:C00005 + 2 KEGG:C00007 + 2 KEGG:C00533 <=> KEGG:C00006 + 2 KEGG:C00244
ntd1,KEGG:C00001 + KEGG:C00365 <=> KEGG:C00009 + KEGG:C00526
ntd10,KEGG:C00001 + KEGG:C00655 <=> KEGG:C00009 + KEGG:C01762
ntd10pp,KEGG:C00001 + KEGG:C00655 <=> KEGG:C00009 + KEGG:C01762
ntd11,KEGG:C00001 + KEGG:C00130 <=> KEGG:C00009 + KEGG:C00294
ntd11pp,KEGG:C00001 + KEGG:C00130 <=> KEGG:C00009 + KEGG:C00294
ntd12,KEGG:C00001 + KEGG:C06196 <=> KEGG:C00009 + KEGG:C05512
ntd12pp,KEGG:C00001 + KEGG:C06196 <=> KEGG:C00009 + KEGG:C05512
ntd1pp,KEGG:C00001 + KEGG:C00365 <=> KEGG:C00009 + KEGG:C00526
ntd2,KEGG:C00001 + KEGG:C00105 <=> KEGG:C00009 + KEGG:C00299
ntd2pp,KEGG:C00001 + KEGG:C00105 <=> KEGG:C00009 + KEGG:C00299
ntd3,KEGG:C00001 + KEGG:C00239 <=> KEGG:C00009 + KEGG:C00881
ntd3pp,KEGG:C00001 + KEGG:C00239 <=> KEGG:C00009 + KEGG:C00881
ntd4,KEGG:C00001 + KEGG:C00055 <=> KEGG:C00009 + KEGG:C00475
ntd4pp,KEGG:C00001 + KEGG:C00055 <=> KEGG:C00009 + KEGG:C00475
ntd5,KEGG:C00001 + KEGG:C00364 <=> KEGG:C00009 + KEGG:C00214
ntd5pp,KEGG:C00001 + KEGG:C00364 <=> KEGG:C00009 + KEGG:C00214
ntd6,KEGG:C00001 + KEGG:C00360 <=> KEGG:C00009 + KEGG:C00559
ntd6pp,KEGG:C00001 + KEGG:C00360 <=> KEGG:C00009 + KEGG:C00559
ntd7,KEGG:C00001 + KEGG:C00020 <=> KEGG:C00009 + KEGG:C00212
ntd7pp,KEGG:C00001 + KEGG:C00020 <=> KEGG:C00009 + KEGG:C00212
ntd8,KEGG:C00001 + KEGG:C00362 <=> KEGG:C00009 + KEGG:C00330
ntd8pp,KEGG:C00001 + KEGG:C00362 <=> KEGG:C00009 + KEGG:C00330
ntd9,KEGG:C00001 + KEGG:C00144 <=> KEGG:C00009 + KEGG:C00387
ntd9pp,KEGG:C00001 + KEGG:C00144 <=> KEGG:C00009 + KEGG:C00387
ntp1,KEGG:C00001 + KEGG:C00002 <=> KEGG:C00008 + KEGG:C00009
ntp10,KEGG:C00001 + KEGG:C00081 <=> KEGG:C00009 + KEGG:C00104
ntp11,KEGG:C00001 + KEGG:C01345 <=> KEGG:C00009 + KEGG:C01344
ntp3,KEGG:C00001 + KEGG:C00044 <=> KEGG:C00009 + KEGG:C00035
ntp3pp,KEGG:C00001 + KEGG:C00044 <=> KEGG:C00009 + KEGG:C00035
ntp5,KEGG:C00001 + KEGG:C00063 <=> KEGG:C00009 + KEGG:C00112
ntpp1,KEGG:C00001 + KEGG:C00286 <=> KEGG:C00013 + KEGG:C00362
ntpp10,KEGG:C00001 + KEGG:C01345 <=> KEGG:C00013 + KEGG:C06196
ntpp11,KEGG:C00001 + KEGG:C00700 <=> KEGG:C00013 + KEGG:C00655
ntpp2,KEGG:C00001 + KEGG:C00044 <=> KEGG:C00013 + KEGG:C00144
ntpp3,KEGG:C00001 + KEGG:C00458 <=> KEGG:C00013 + KEGG:C00239
ntpp4,KEGG:C00001 + KEGG:C00063 <=> KEGG:C00013 + KEGG:C00055
ntpp5,KEGG:C00001 + KEGG:C00131 <=> KEGG:C00013 + KEGG:C00360
ntpp6,KEGG:C00001 + KEGG:C00002 <=> KEGG:C00013 + KEGG:C00020
ntpp7,KEGG:C00001 + KEGG:C00459 <=> KEGG:C00013 + KEGG:C00364
ntpp8,KEGG:C00001 + KEGG:C00075 <=> KEGG:C00013 + KEGG:C00105
ntpp9,KEGG:C00001 + KEGG:C00081 <=> KEGG:C00013 + KEGG:C00130
ntptp1,KEGG:C00001 + KEGG:C00286 <=> KEGG:C00330 + KEGG:C00536
ntptp2,KEGG:C00001 + KEGG:C00044 <=> KEGG:C00387 + KEGG:C00536
oaadc,KEGG:C00036 <=> KEGG:C00011 + KEGG:C00022
obtfl,KEGG:C00010 + KEGG:C00109 <=> KEGG:C00058 + KEGG:C00100
octdps,5 KEGG:C00129 + KEGG:C00448 <=> 5 KEGG:C00013 + KEGG:C04146
ohphm,KEGG:C00019 + KEGG:C05811 <=> KEGG:C00021 + KEGG:C05812
omcdc,KEGG:C04236 <=> KEGG:C00011 + KEGG:C00233
ompdc,KEGG:C01103 <=> KEGG:C00011 + KEGG:C00105
op4enh,KEGG:C00001 + KEGG:C00596 <=> KEGG:C03589
ophbdc,KEGG:C05809 <=> KEGG:C00011 + KEGG:C05810
ophhx,0.5 KEGG:C00007 + KEGG:C05810 <=> KEGG:C05811
ophhx3,3 KEGG:C00001 + 2 KEGG:C00002 + KEGG:C00003 + KEGG:C05810 <=> KEGG:C00004 + 2 KEGG:C00008 + 2 KEGG:C00009 + KEGG:C05811
orndc,KEGG:C00077 <=> KEGG:C00011 + KEGG:C00134
orpt,KEGG:C00013 + KEGG:C01103 <=> KEGG:C00119 + KEGG:C00295
oxamtc,KEGG:C00009 + KEGG:C00802 <=> KEGG:C00169 + KEGG:C01444
oxcdc,KEGG:C00313 <=> KEGG:C00011 + KEGG:C00798
paccoal,KEGG:C00002 + KEGG:C00010 + KEGG:C00548 <=> KEGG:C00013 + KEGG:C00020 + KEGG:C00582
papsr,KEGG:C00053 + KEGG:C00342 <=> KEGG:C00054 + KEGG:C00094 + KEGG:C00343
pde1,KEGG:C00001 + KEGG:C00575 <=> KEGG:C00020
pde4,KEGG:C00001 + KEGG:C00942 <=> KEGG:C00144
pdh,KEGG:C00003 + KEGG:C00010 + KEGG:C00022 <=> KEGG:C00004 + KEGG:C00011 + KEGG:C00024
pdx5po2,KEGG:C00003 + KEGG:C00627 <=> KEGG:C00004 + KEGG:C00018
pdx5poi,KEGG:C00007 + KEGG:C00627 <=> KEGG:C00018 + KEGG:C00027
pdx5ps,KEGG:C00003 + KEGG:C06055 + KEGG:C11437 <=> 2 KEGG:C00001 + KEGG:C00004 + KEGG:C00009 + KEGG:C00011 + KEGG:C00627
pdxpp,KEGG:C00001 + KEGG:C00627 <=> KEGG:C00009 + KEGG:C00314
perd,KEGG:C00003 + KEGG:C03393 <=> KEGG:C00004 + KEGG:C06054
pfk,KEGG:C00002 + KEGG:C00085 <=> KEGG:C00008 + KEGG:C00354
pfk_3,KEGG:C00002 + KEGG:C05382 <=> KEGG:C00008 + KEGG:C00447
pfl,KEGG:C00010 + KEGG:C00022 <=> KEGG:C00024 + KEGG:C00058
pgamt,KEGG:C03783 <=> KEGG:C00352
pgcd,KEGG:C00003 + KEGG:C00197 <=> KEGG:C00004 + KEGG:C03232
pgi,KEGG:C00092 <=> KEGG:C00085
pgk,KEGG:C00002 + KEGG:C00197 <=> KEGG:C00008 + KEGG:C00236
pgl,KEGG:C00001 + KEGG:C01236 <=> KEGG:C00345
pglycp,KEGG:C00001 + KEGG:C00988 <=> KEGG:C00009 + KEGG:C00160
pgm,KEGG:C00631 <=> KEGG:C00197
pgmt,KEGG:C00103 <=> KEGG:C00092
phytspp,6 KEGG:C00001 + KEGG:C01204 <=> 6 KEGG:C00009 + KEGG:C00137
pmanm,KEGG:C00636 <=> KEGG:C00275
pmdpht,KEGG:C00001 + KEGG:C04454 <=> KEGG:C00009 + KEGG:C04732
pmpk,KEGG:C00002 + KEGG:C04556 <=> KEGG:C00008 + KEGG:C04752
ppa,KEGG:C00001 + KEGG:C00013 <=> 2 KEGG:C00009
ppa2,KEGG:C00001 + KEGG:C00536 <=> KEGG:C00009 + KEGG:C00013
ppakr,KEGG:C00008 + KEGG:C02876 <=> KEGG:C00002 + KEGG:C00163
ppbngs,2 KEGG:C00430 <=> 2 KEGG:C00001 + KEGG:C00931
ppc,KEGG:C00001 + KEGG:C00011 + KEGG:C00074 <=> KEGG:C00009 + KEGG:C00036
ppcdc,KEGG:C04352 <=> KEGG:C00011 + KEGG:C01134
ppck,KEGG:C00002 + KEGG:C00036 <=> KEGG:C00008 + KEGG:C00011 + KEGG:C00074
ppcsct,KEGG:C00042 + KEGG:C00100 <=> KEGG:C00091 + KEGG:C00163
ppgppdp,KEGG:C00001 + KEGG:C01228 <=> KEGG:C00013 + KEGG:C00035
ppk2r,KEGG:C00002 + KEGG:C00013 <=> KEGG:C00008 + KEGG:C00536
ppkr,KEGG:C00002 + KEGG:C00009 <=> KEGG:C00008 + KEGG:C00013
ppm,KEGG:C00620 <=> KEGG:C03736
ppm2,KEGG:C00672 <=> KEGG:C00673
ppndh,KEGG:C00254 <=> KEGG:C00001 + KEGG:C00011 + KEGG:C00166
pppgo,1.5 KEGG:C00007 + KEGG:C01079 <=> 3 KEGG:C00001 + KEGG:C02191
pppgo3,3 KEGG:C00122 + KEGG:C01079 <=> 3 KEGG:C00042 + KEGG:C02191
pppndo,KEGG:C00004 + KEGG:C00007 + KEGG:C05629 <=> KEGG:C00003 + KEGG:C11588
pps,KEGG:C00001 + KEGG:C00002 + KEGG:C00022 <=> KEGG:C00009 + KEGG:C00020 + KEGG:C00074
ppthpp,KEGG:C00001 + KEGG:C06701 <=> KEGG:C00009 + KEGG:C00282
pragsr,KEGG:C00002 + KEGG:C00037 + KEGG:C03090 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C03838
prais,KEGG:C00002 + KEGG:C04640 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C03373
praii,KEGG:C04302 <=> KEGG:C01302
prampc,KEGG:C00001 + KEGG:C02741 <=> KEGG:C04896
pratpp,KEGG:C00001 + KEGG:C02739 <=> KEGG:C00013 + KEGG:C02741
prmici,KEGG:C04896 <=> KEGG:C04916
prpps,KEGG:C00002 + KEGG:C03736 <=> KEGG:C00020 + KEGG:C00119
pscvt,KEGG:C00074 + KEGG:C03175 <=> KEGG:C00009 + KEGG:C01269
pta2,KEGG:C00009 + KEGG:C00100 <=> KEGG:C00010 + KEGG:C02876
ptar,KEGG:C00009 + KEGG:C00024 <=> KEGG:C00010 + KEGG:C00227
ptpati,KEGG:C00002 + KEGG:C01134 <=> KEGG:C00013 + KEGG:C00882
punp1,KEGG:C00009 + KEGG:C00212 <=> KEGG:C00147 + KEGG:C00620
punp2,KEGG:C00009 + KEGG:C00559 <=> KEGG:C00147 + KEGG:C00672
punp3,KEGG:C00009 + KEGG:C00387 <=> KEGG:C00242 + KEGG:C00620
punp4,KEGG:C00009 + KEGG:C00330 <=> KEGG:C00242 + KEGG:C00672
punp5,KEGG:C00009 + KEGG:C00294 <=> KEGG:C00262 + KEGG:C00620
punp6,KEGG:C00009 + KEGG:C05512 <=> KEGG:C00262 + KEGG:C00672
punp7,KEGG:C00009 + KEGG:C01762 <=> KEGG:C00385 + KEGG:C00620
pydamk,KEGG:C00002 + KEGG:C00534 <=> KEGG:C00008 + KEGG:C00647
pydxk,KEGG:C00002 + KEGG:C00250 <=> KEGG:C00008 + KEGG:C00018
pydxnk,KEGG:C00002 + KEGG:C00314 <=> KEGG:C00008 + KEGG:C00627
pydxpp,KEGG:C00001 + KEGG:C00018 <=> KEGG:C00009 + KEGG:C00250
pyk,KEGG:C00008 + KEGG:C00074 <=> KEGG:C00002 + KEGG:C00022
pynp2r,KEGG:C00009 + KEGG:C00299 <=> KEGG:C00106 + KEGG:C00620
quindh,KEGG:C00003 + KEGG:C00296 <=> KEGG:C00004 + KEGG:C00944
qulns,KEGG:C00111 + KEGG:C05840 <=> 2 KEGG:C00001 + KEGG:C00009 + KEGG:C03722
r15bpk,KEGG:C00002 + KEGG:C01151 <=> KEGG:C00008 + KEGG:C00119
r1pk,KEGG:C00002 + KEGG:C00620 <=> KEGG:C00008 + KEGG:C01151
rbfk,KEGG:C00002 + KEGG:C00255 <=> KEGG:C00008 + KEGG:C00061
rbfsa,KEGG:C04732 + KEGG:C15556 <=> 2 KEGG:C00001 + KEGG:C00009 + KEGG:C04332
rbfsb,2 KEGG:C04332 <=> KEGG:C00255 + KEGG:C04732
rmi,KEGG:C00507 <=> KEGG:C00861
rmk,KEGG:C00002 + KEGG:C00861 <=> KEGG:C00008 + KEGG:C01131
rndr1,KEGG:C00008 + KEGG:C00342 <=> KEGG:C00001 + KEGG:C00206 + KEGG:C00343
rndr2,KEGG:C00035 + KEGG:C00342 <=> KEGG:C00001 + KEGG:C00343 + KEGG:C00361
rndr3,KEGG:C00112 + KEGG:C00342 <=> KEGG:C00001 + KEGG:C00343 + KEGG:C00705
rndr4,KEGG:C00015 + KEGG:C00342 <=> KEGG:C00001 + KEGG:C00343 + KEGG:C01346
rz5pp,KEGG:C00001 + KEGG:C04778 <=> KEGG:C00009 + KEGG:C05775
s7pi,KEGG:C05382 <=> KEGG:C07836
sadt2,KEGG:C00001 + KEGG:C00002 + KEGG:C00044 + KEGG:C00059 <=> KEGG:C00009 + KEGG:C00013 + KEGG:C00035 + KEGG:C00224
sarcox,KEGG:C00001 + KEGG:C00007 + KEGG:C00213 <=> KEGG:C00027 + KEGG:C00037 + KEGG:C00067
sbtpd,KEGG:C00003 + KEGG:C01096 <=> KEGG:C00004 + KEGG:C00085
sdpds,KEGG:C00001 + KEGG:C04421 <=> KEGG:C00042 + KEGG:C00666
selnps,KEGG:C00001 + KEGG:C00002 + KEGG:C01528 <=> KEGG:C00009 + KEGG:C00020 + KEGG:C05172
sephchcs,KEGG:C00026 + KEGG:C00885 <=> KEGG:C00011 + KEGG:C16519
sgsad,KEGG:C00001 + KEGG:C00003 + KEGG:C05932 <=> KEGG:C00004 + KEGG:C05931
shchcs3,KEGG:C16519 <=> KEGG:C00022 + KEGG:C05817
shchd2,KEGG:C00003 + KEGG:C02463 <=> KEGG:C00004 + KEGG:C05778
shk3dr,KEGG:C00005 + KEGG:C02637 <=> KEGG:C00006 + KEGG:C00493
shkk,KEGG:C00002 + KEGG:C00493 <=> KEGG:C00008 + KEGG:C03175
spmdat1,KEGG:C00024 + KEGG:C00315 <=> KEGG:C00010 + KEGG:C00612
spmdat2,KEGG:C00024 + KEGG:C00315 <=> KEGG:C00010 + KEGG:C01029
spms,KEGG:C00134 + KEGG:C01137 <=> KEGG:C00170 + KEGG:C00315
spodm,2 KEGG:C00704 <=> KEGG:C00007 + KEGG:C00027
spodmpp,2 KEGG:C00704 <=> KEGG:C00007 + KEGG:C00027
ssalx,KEGG:C00001 + KEGG:C00003 + KEGG:C00232 <=> KEGG:C00004 + KEGG:C00042
ssaly,KEGG:C00001 + KEGG:C00006 + KEGG:C00232 <=> KEGG:C00005 + KEGG:C00042
sucbzl,KEGG:C00002 + KEGG:C00010 + KEGG:C02730 <=> KEGG:C00013 + KEGG:C00020 + KEGG:C03160
sucbzs,KEGG:C05817 <=> KEGG:C00001 + KEGG:C02730
sucoas,KEGG:C00002 + KEGG:C00010 + KEGG:C00042 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C00091
sucptspp,KEGG:C00074 + KEGG:C00089 <=> KEGG:C00022 + KEGG:C02591
sulri,3 KEGG:C00005 + KEGG:C00094 <=> 3 KEGG:C00001 + 3 KEGG:C00006 + KEGG:C00283
tagurr,KEGG:C00003 + KEGG:C00817 <=> KEGG:C00004 + KEGG:C00558
tala,KEGG:C00118 + KEGG:C05382 <=> KEGG:C00085 + KEGG:C00279
taudo,KEGG:C00007 + KEGG:C00026 + KEGG:C00245 <=> KEGG:C00011 + KEGG:C00042 + KEGG:C00094 + KEGG:C06735
tdp,KEGG:C00001 + KEGG:C00068 <=> KEGG:C00009 + KEGG:C01081
tdpdre,KEGG:C11907 <=> KEGG:C00688
tdpdrr,KEGG:C00005 + KEGG:C00688 <=> KEGG:C00006 + KEGG:C03319
tdpgdh,KEGG:C00842 <=> KEGG:C00001 + KEGG:C11907
tdsk,KEGG:C00002 + KEGG:C04932 <=> KEGG:C00008 + KEGG:C04919
thd2pp,KEGG:C00004 + KEGG:C00006 <=> KEGG:C00003 + KEGG:C00005
thdps,KEGG:C00001 + KEGG:C00091 + KEGG:C03972 <=> KEGG:C00010 + KEGG:C04462
thfat,KEGG:C00001 + KEGG:C00445 <=> KEGG:C03479
thiordxi,KEGG:C00027 + KEGG:C00342 <=> 2 KEGG:C00001 + KEGG:C00343
tmdk1,KEGG:C00002 + KEGG:C00214 <=> KEGG:C00008 + KEGG:C00364
tmdpp,KEGG:C00009 + KEGG:C00214 <=> KEGG:C00178 + KEGG:C00672
tmds,KEGG:C00143 + KEGG:C00365 <=> KEGG:C00364 + KEGG:C00415
tmk,KEGG:C00002 + KEGG:C00378 <=> KEGG:C00008 + KEGG:C01081
tmpk,KEGG:C00002 + KEGG:C01081 <=> KEGG:C00008 + KEGG:C00068
tmppp,KEGG:C04327 + KEGG:C04752 <=> KEGG:C00013 + KEGG:C01081
tpi,KEGG:C00111 <=> KEGG:C00118
trdr,KEGG:C00005 + KEGG:C00343 <=> KEGG:C00006 + KEGG:C00342
tre6pp,KEGG:C00001 + KEGG:C00689 <=> KEGG:C00009 + KEGG:C01083
tre6ps,KEGG:C00029 + KEGG:C00092 <=> KEGG:C00015 + KEGG:C00689
treptspp,KEGG:C00074 + KEGG:C01083 <=> KEGG:C00022 + KEGG:C00689
trps3,KEGG:C03506 <=> KEGG:C00118 + KEGG:C00463
uacgalppp,KEGG:C00001 + KEGG:C00203 <=> KEGG:C00105 + KEGG:C18060
uacgamppp,KEGG:C00001 + KEGG:C00043 <=> KEGG:C00105 + KEGG:C04256
uacmamo,KEGG:C00001 + 2 KEGG:C00003 + KEGG:C01170 <=> 2 KEGG:C00004 + KEGG:C06240
uag2e,KEGG:C00043 <=> KEGG:C01170
uagcvt,KEGG:C00043 + KEGG:C00074 <=> KEGG:C00009 + KEGG:C04631
uagdp,KEGG:C00075 + KEGG:C04256 <=> KEGG:C00013 + KEGG:C00043
uapgr,KEGG:C00005 + KEGG:C04631 <=> KEGG:C00006 + KEGG:C01050
udpg4e,KEGG:C00029 <=> KEGG:C00052
udpgalm,KEGG:C00052 <=> KEGG:C03733
udpgalppp,KEGG:C00001 + KEGG:C00052 <=> KEGG:C00105 + KEGG:C00446
udpgd,KEGG:C00001 + 2 KEGG:C00003 + KEGG:C00029 <=> 2 KEGG:C00004 + KEGG:C00167
udpgppp,KEGG:C00001 + KEGG:C00029 <=> KEGG:C00103 + KEGG:C00105
uglcurppp,KEGG:C00001 + KEGG:C00167 <=> KEGG:C00105 + KEGG:C05385
uglt,KEGG:C00029 + KEGG:C00446 <=> KEGG:C00052 + KEGG:C00103
ugmdds,KEGG:C00002 + KEGG:C00993 + KEGG:C04877 <=> KEGG:C00008 + KEGG:C00009 + KEGG:C04882
uhgada,KEGG:C00001 + KEGG:C04738 <=> KEGG:C00033 + KEGG:C06022
ula4nft,KEGG:C00234 + KEGG:C16153 <=> KEGG:C00101 + KEGG:C16154
umpk,KEGG:C00002 + KEGG:C00105 <=> KEGG:C00008 + KEGG:C00015
upp3mt,2 KEGG:C00019 + KEGG:C01051 <=> 2 KEGG:C00021 + KEGG:C02463
upp3s,KEGG:C01024 <=> KEGG:C00001 + KEGG:C01051
uppdc1,KEGG:C01051 <=> 4 KEGG:C00011 + KEGG:C03263
upprt,KEGG:C00106 + KEGG:C00119 <=> KEGG:C00013 + KEGG:C00105
urdglycd,KEGG:C00003 + KEGG:C00603 <=> KEGG:C00004 + KEGG:C00802
uric,2 KEGG:C00001 + KEGG:C00007 + KEGG:C00366 <=> KEGG:C00011 + KEGG:C00027 + KEGG:C01551
urik2,KEGG:C00044 + KEGG:C00299 <=> KEGG:C00035 + KEGG:C00105
xand,KEGG:C00001 + KEGG:C00003 + KEGG:C00385 <=> KEGG:C00004 + KEGG:C00366
xppt,KEGG:C00119 + KEGG:C00385 <=> KEGG:C00013 + KEGG:C00655
...@@ -30,13 +30,15 @@ del get_versions ...@@ -30,13 +30,15 @@ del get_versions
import numpy as np import numpy as np
from equilibrator_cache import Compound from equilibrator_cache import CompoundCache, BaseCompound, BaseReaction
from equilibrator_cache import CompoundCache
from equilibrator_cache.thermodynamic_constants import ( from equilibrator_cache.thermodynamic_constants import (
FARADAY, POSSIBLE_REACTION_ARROWS, Q_, R, default_I, default_pH, FARADAY, POSSIBLE_REACTION_ARROWS, Q_, R, default_I, default_pH,
default_pMg, default_T, physiological_concentration, default_pMg, default_T, physiological_concentration,
standard_concentration, ureg) standard_concentration, ureg)
ureg.default_format = ".2f"
ureg.setup_matplotlib(True)
ccache = CompoundCache() ccache = CompoundCache()
default_phase = 'aqueous' default_phase = 'aqueous'
...@@ -49,6 +51,7 @@ def strip_units(v: np.array) -> np.array: ...@@ -49,6 +51,7 @@ def strip_units(v: np.array) -> np.array:
from equilibrator_api.bounds import Bounds from equilibrator_api.bounds import Bounds
from equilibrator_api.pathway import Pathway from equilibrator_api.pathway import Pathway
from equilibrator_api.phased_reaction import PhasedReaction as Reaction from equilibrator_api.phased_compound import Compound
from equilibrator_api.phased_reaction import Reaction
from equilibrator_api.component_contribution import ComponentContribution from equilibrator_api.component_contribution import ComponentContribution
from equilibrator_api.thermo_models import PathwayThermoModel from equilibrator_api.thermo_models import PathwayThermoModel
...@@ -33,7 +33,7 @@ import pkg_resources ...@@ -33,7 +33,7 @@ import pkg_resources
from numpy import log from numpy import log
from . import ( from . import (
Q_, Compound, ccache, default_conc_lb, default_conc_ub, Q_, BaseCompound, ccache, default_conc_lb, default_conc_ub,
standard_concentration, ureg) standard_concentration, ureg)
...@@ -44,7 +44,7 @@ class BaseBounds(object): ...@@ -44,7 +44,7 @@ class BaseBounds(object):
"""Return a (deep) copy of self.""" """Return a (deep) copy of self."""
raise NotImplementedError raise NotImplementedError
def GetLowerBound(self, compound: Compound): def GetLowerBound(self, compound: BaseCompound):
"""Get the lower bound for this key. """Get the lower bound for this key.
Args: Args:
...@@ -52,7 +52,7 @@ class BaseBounds(object): ...@@ -52,7 +52,7 @@ class BaseBounds(object):
""" """
raise NotImplementedError raise NotImplementedError
def GetUpperBound(self, compound: Compound): def GetUpperBound(self, compound: BaseCompound):
"""Get the upper bound for this key. """Get the upper bound for this key.
Args: Args:
...@@ -62,7 +62,7 @@ class BaseBounds(object): ...@@ -62,7 +62,7 @@ class BaseBounds(object):
def GetLowerBounds( def GetLowerBounds(
self, self,
compounds: Iterable[Compound] compounds: Iterable[BaseCompound]
) -> Iterable[float]: ) -> Iterable[float]:
"""Get the bounds for a set of keys in order. """Get the bounds for a set of keys in order.
...@@ -73,7 +73,7 @@ class BaseBounds(object): ...@@ -73,7 +73,7 @@ class BaseBounds(object):
def GetUpperBounds( def GetUpperBounds(
self, self,
compounds: Iterable[Compound] compounds: Iterable[BaseCompound]
) -> Iterable[float]: ) -> Iterable[float]:
"""Get the bounds for a set of keys in order. """Get the bounds for a set of keys in order.
...@@ -82,17 +82,17 @@ class BaseBounds(object): ...@@ -82,17 +82,17 @@ class BaseBounds(object):
""" """
return map(self.GetUpperBound, compounds) return map(self.GetUpperBound, compounds)
def GetBoundTuple(self, compound: Compound) -> Tuple[float, float]: def GetBoundTuple(self, compound: BaseCompound) -> Tuple[float, float]:
"""Get both upper and lower bounds for this key. """Get both upper and lower bounds for this key.
:param compound: a Compound object :param compound: a BaseCompound object
:return: a 2-tuple (lower bound, upper bound) :return: a 2-tuple (lower bound, upper bound)
""" """
return self.GetLowerBound(compound), self.GetUpperBound(compound) return self.GetLowerBound(compound), self.GetUpperBound(compound)
def GetBounds( def GetBounds(
self, self,
compounds: Iterable[Compound] compounds: Iterable[BaseCompound]
) -> Tuple[Iterable[float], Iterable[float]]: ) -> Tuple[Iterable[float], Iterable[float]]:
"""Get the bounds for a set of compounds. """Get the bounds for a set of compounds.
...@@ -115,7 +115,7 @@ class BaseBounds(object): ...@@ -115,7 +115,7 @@ class BaseBounds(object):
def GetLnBounds( def GetLnBounds(
self, self,
compounds: Iterable[Compound] compounds: Iterable[BaseCompound]
) -> Tuple[Iterable[float], Iterable[float]]: ) -> Tuple[Iterable[float], Iterable[float]]:
"""Get the log-bounds for a set of compounds. """Get the log-bounds for a set of compounds.
...@@ -128,7 +128,7 @@ class BaseBounds(object): ...@@ -128,7 +128,7 @@ class BaseBounds(object):
def GetLnLowerBounds( def GetLnLowerBounds(
self, self,
compounds: Iterable[Compound] compounds: Iterable[BaseCompound]
) -> Iterable[float]: ) -> Iterable[float]:
"""Get the log lower bounds for a set of compounds. """Get the log lower bounds for a set of compounds.
...@@ -140,7 +140,7 @@ class BaseBounds(object): ...@@ -140,7 +140,7 @@ class BaseBounds(object):
def GetLnUpperBounds( def GetLnUpperBounds(
self, self,
compounds: Iterable[Compound] compounds: Iterable[BaseCompound]
) -> Iterable[float]: ) -> Iterable[float]:
"""Get the log upper bounds for a set of compounds. """Get the log upper bounds for a set of compounds.
...@@ -151,7 +151,7 @@ class BaseBounds(object): ...@@ -151,7 +151,7 @@ class BaseBounds(object):
return map(self.conc2ln_conc, ubs) return map(self.conc2ln_conc, ubs)
@ureg.check(None, None, '[concentration]', '[concentration]') @ureg.check(None, None, '[concentration]', '[concentration]')
def SetBounds(self, compound: Compound, lb: float, ub: float): def SetBounds(self, compound: BaseCompound, lb: float, ub: float):
"""Set bounds for a specific key. """Set bounds for a specific key.
Args: Args:
...@@ -173,8 +173,8 @@ class Bounds(BaseBounds): ...@@ -173,8 +173,8 @@ class Bounds(BaseBounds):
@ureg.check(None, None, None, '[concentration]', '[concentration]') @ureg.check(None, None, None, '[concentration]', '[concentration]')
def __init__(self, def __init__(self,
lower_bounds: Dict[Compound, float] = None, lower_bounds: Dict[BaseCompound, float] = None,
upper_bounds: Dict[Compound, float] = None, upper_bounds: Dict[BaseCompound, float] = None,
default_lb: float = default_conc_lb, default_lb: float = default_conc_lb,
default_ub: float = default_conc_ub) -> object: default_ub: float = default_conc_ub) -> object:
"""Initialize the bounds object. """Initialize the bounds object.
...@@ -212,8 +212,8 @@ class Bounds(BaseBounds): ...@@ -212,8 +212,8 @@ class Bounds(BaseBounds):
provided provided
:return: a Bounds object :return: a Bounds object
""" """
lbs: Dict[Compound, float] = dict() lbs: Dict[BaseCompound, float] = dict()
ubs: Dict[Compound, float] = dict() ubs: Dict[BaseCompound, float] = dict()
bounds_df = pd.read_csv(f) bounds_df = pd.read_csv(f)
for row in bounds_df.itertuples(): for row in bounds_df.itertuples():
...@@ -244,7 +244,7 @@ class Bounds(BaseBounds): ...@@ -244,7 +244,7 @@ class Bounds(BaseBounds):
bounds_unit: str = None, bounds_unit: str = None,
default_lb: float = default_conc_lb, default_lb: float = default_conc_lb,
default_ub: float = default_conc_ub default_ub: float = default_conc_ub
) -> Tuple[object, Dict[Compound, str]]: ) -> Tuple[object, Dict[BaseCompound, str]]:
"""Read bounds from a Pandas DataFrame. """Read bounds from a Pandas DataFrame.
:param df: a pandas.DataFrame with the bounds :param df: a pandas.DataFrame with the bounds
...@@ -318,7 +318,7 @@ class Bounds(BaseBounds): ...@@ -318,7 +318,7 @@ class Bounds(BaseBounds):
self.default_lb, self.default_lb,
self.default_ub) self.default_ub)
def GetLowerBound(self, compound: Compound) -> float: def GetLowerBound(self, compound: BaseCompound) -> float:
"""Get the lower bound for this key. """Get the lower bound for this key.
:param compound: a compound :param compound: a compound
...@@ -326,7 +326,7 @@ class Bounds(BaseBounds): ...@@ -326,7 +326,7 @@ class Bounds(BaseBounds):
""" """
return self.lower_bounds.get(compound, self.default_lb) return self.lower_bounds.get(compound, self.default_lb)
def GetUpperBound(self, compound: Compound): def GetUpperBound(self, compound: BaseCompound):
"""Get the upper bound for this key. """Get the upper bound for this key.
:param compound: a compound :param compound: a compound
......
...@@ -32,7 +32,7 @@ import numpy as np ...@@ -32,7 +32,7 @@ import numpy as np
from component_contribution import GibbsEnergyPredictor from component_contribution import GibbsEnergyPredictor
from . import FARADAY, R, default_I, default_pH, default_pMg, default_T, ureg from . import FARADAY, R, default_I, default_pH, default_pMg, default_T, ureg
from .phased_reaction import PhasedReaction from .phased_reaction import Reaction
class ComponentContribution(object): class ComponentContribution(object):
...@@ -69,7 +69,7 @@ class ComponentContribution(object): ...@@ -69,7 +69,7 @@ class ComponentContribution(object):
return R * self.temperature return R * self.temperature
@staticmethod @staticmethod
def standard_dg(reaction: PhasedReaction) -> Tuple[float, float]: def standard_dg(reaction: Reaction) -> Tuple[float, float]:
"""Calculate the chemical reaction energies of a reaction. """Calculate the chemical reaction energies of a reaction.
:param reaction: the input Reaction object :param reaction: the input Reaction object
...@@ -87,7 +87,7 @@ class ComponentContribution(object): ...@@ -87,7 +87,7 @@ class ComponentContribution(object):
@staticmethod @staticmethod
def standard_dg_multi( def standard_dg_multi(
reactions: List[PhasedReaction]) -> Tuple[np.array, np.array]: reactions: List[Reaction]) -> Tuple[np.array, np.array]:
"""Calculate the chemical reaction energies of a list of reactions. """Calculate the chemical reaction energies of a list of reactions.
Using the major microspecies of each of the reactants. Using the major microspecies of each of the reactants.
...@@ -106,7 +106,7 @@ class ComponentContribution(object): ...@@ -106,7 +106,7 @@ class ComponentContribution(object):
def standard_dg_prime( def standard_dg_prime(
self, self,
reaction: PhasedReaction reaction: Reaction
) -> Tuple[float, float]: ) -> Tuple[float, float]:
"""Calculate the transformed reaction energies of a reaction. """Calculate the transformed reaction energies of a reaction.
...@@ -134,7 +134,7 @@ class ComponentContribution(object): ...@@ -134,7 +134,7 @@ class ComponentContribution(object):
def dg_prime( def dg_prime(
self, self,
reaction: PhasedReaction reaction: Reaction
) -> Tuple[float, float]: ) -> Tuple[float, float]:
"""Calculate the dG'0 of a single reaction. """Calculate the dG'0 of a single reaction.
...@@ -150,7 +150,7 @@ class ComponentContribution(object): ...@@ -150,7 +150,7 @@ class ComponentContribution(object):
def standard_dg_prime_multi( def standard_dg_prime_multi(
self, self,
reactions: List[PhasedReaction] reactions: List[Reaction]
) -> Tuple[np.array, np.array]: ) -> Tuple[np.array, np.array]:
"""Calculate the transformed reaction energies of a list of reactions. """Calculate the transformed reaction energies of a list of reactions.
...@@ -179,14 +179,14 @@ class ComponentContribution(object): ...@@ -179,14 +179,14 @@ class ComponentContribution(object):
def physiological_dg_prime( def physiological_dg_prime(
self, self,
reaction: PhasedReaction reaction: Reaction
) -> Tuple[float, float]: ) -> Tuple[float, float]:
"""Calculate the dG'm of a single reaction. """Calculate the dG'm of a single reaction.
Assume all aqueous reactants are at 1 mM, gas reactants at 1 mbar and Assume all aqueous reactants are at 1 mM, gas reactants at 1 mbar and
the rest at their standard concentration. the rest at their standard concentration.
:param reaction: an object of type PhasedReaction :param reaction: an object of type Reaction
:return: a tuple (dG_r_prime, dG_uncertainty) where dG_r_prime is :return: a tuple (dG_r_prime, dG_uncertainty) where dG_r_prime is
the estimated Gibbs free energy of reaction and dG_uncertainty is the the estimated Gibbs free energy of reaction and dG_uncertainty is the
standard deviation of estimation. Multiply it by 1.96 to get a 95% standard deviation of estimation. Multiply it by 1.96 to get a 95%
...@@ -198,7 +198,7 @@ class ComponentContribution(object): ...@@ -198,7 +198,7 @@ class ComponentContribution(object):
self.RT * reaction.physiological_dg_correction() self.RT * reaction.physiological_dg_correction()
return physiological_dg_prime, dg_uncertainty return physiological_dg_prime, dg_uncertainty
def ln_reversibility_index(self, reaction: PhasedReaction) -> float: def ln_reversibility_index(self, reaction: Reaction) -> float:
"""Calculate the reversibility index (ln Gamma) of a single reaction. """Calculate the reversibility index (ln Gamma) of a single reaction.
:return: ln_RI - The reversibility index (in natural log scale). :return: ln_RI - The reversibility index (in natural log scale).
...@@ -211,10 +211,10 @@ class ComponentContribution(object): ...@@ -211,10 +211,10 @@ class ComponentContribution(object):
ln_RI = (2.0 / abs_sum_coeff) * physiological_dg_prime / self.RT ln_RI = (2.0 / abs_sum_coeff) * physiological_dg_prime / self.RT
return ln_RI return ln_RI
def standard_e_prime(self, reaction: PhasedReaction) -> Tuple[float, float]: def standard_e_prime(self, reaction: Reaction) -> Tuple[float, float]:
"""Calculate the E'0 of a single half-reaction. """Calculate the E'0 of a single half-reaction.
:param reaction: a PhasedReaction object :param reaction: a Reaction object
:return: a tuple (E0_prime, E0_uncertainty) where E0_prime is :return: a tuple (E0_prime, E0_uncertainty) where E0_prime is
the estimated standard electrostatic potential of reaction and the estimated standard electrostatic potential of reaction and
E0_uncertainty is the standard deviation of estimation. Multiply it E0_uncertainty is the standard deviation of estimation. Multiply it
...@@ -237,11 +237,11 @@ class ComponentContribution(object): ...@@ -237,11 +237,11 @@ class ComponentContribution(object):
def physiological_e_prime( def physiological_e_prime(
self, self,
reaction: PhasedReaction reaction: Reaction
) -> Tuple[float, float]: ) -> Tuple[float, float]:
"""Calculate the E'0 of a single half-reaction. """Calculate the E'0 of a single half-reaction.
:param reaction: a PhasedReaction object :param reaction: a Reaction object
:return: a tuple (E0_prime, E0_uncertainty) where E0_prime is :return: a tuple (E0_prime, E0_uncertainty) where E0_prime is
the estimated standard electrostatic potential of reaction and the estimated standard electrostatic potential of reaction and
E0_uncertainty is the standard deviation of estimation. Multiply it E0_uncertainty is the standard deviation of estimation. Multiply it
...@@ -264,11 +264,11 @@ class ComponentContribution(object): ...@@ -264,11 +264,11 @@ class ComponentContribution(object):
def e_prime( def e_prime(
self, self,
reaction: PhasedReaction reaction: Reaction
) -> Tuple[float, float]: ) -> Tuple[float, float]:
"""Calculate the E'0 of a single half-reaction. """Calculate the E'0 of a single half-reaction.
:param reaction: a PhasedReaction object :param reaction: a Reaction object
:return: a tuple (E0_prime, E0_uncertainty) where E0_prime is :return: a tuple (E0_prime, E0_uncertainty) where E0_prime is
the estimated standard electrostatic potential of reaction and the estimated standard electrostatic potential of reaction and
E0_uncertainty is the standard deviation of estimation. Multiply it E0_uncertainty is the standard deviation of estimation. Multiply it
...@@ -291,19 +291,19 @@ class ComponentContribution(object): ...@@ -291,19 +291,19 @@ class ComponentContribution(object):
def dg_analysis( def dg_analysis(
self, self,
reaction: PhasedReaction reaction: Reaction
) -> List[Dict[str, object]]: ) -> List[Dict[str, object]]:
"""Get the analysis of the component contribution estimation process. """Get the analysis of the component contribution estimation process.
:param reaction: a PhasedReaction object. :param reaction: a Reaction object.
:return: the analysis results as a list of dictionaries :return: the analysis results as a list of dictionaries
""" """
return ComponentContribution.predictor.get_dg_analysis(reaction) return ComponentContribution.predictor.get_dg_analysis(reaction)
def is_using_group_contribution(self, reaction: PhasedReaction) -> bool: def is_using_group_contribution(self, reaction: Reaction) -> bool:
"""Check whether group contribution is needed to get this reactions' dG. """Check whether group contribution is needed to get this reactions' dG.
:param reaction: a PhasedReaction object. :param reaction: a Reaction object.
:return: true iff group contribution is needed :return: true iff group contribution is needed
""" """
return ComponentContribution.predictor.is_using_group_contribution( return ComponentContribution.predictor.is_using_group_contribution(
......
bigg.reaction,formula
ex_14glucan_e,C00718 <=>
ex_fe3hox_e,C06227 <=>
ex_mobd_e,C06232 <=>
14glucanabcpp,C00001 + C00002 + C00718 <=> C00008 + C00009
14glucantexi, <=> C00718
23pde2pp,C00001 + C02355 <=> C01368
23pde4pp,C00001 + C02354 <=> C05822
23pde7pp,C00001 + C02353 <=> C01367
23pde9pp,C00001 + C06194 <=> C06193
2mahmp,C00001 + C04752 <=> C00009 + C04556
3hcinnmh,C00004 + C00007 + C12621 <=> C00001 + C00003 + C12623
3hpppnh,C00004 + C00007 + C11457 <=> C00001 + C00003 + C04044
3kgk,C00002 + C00618 <=> C00008 + C14899
3ntd2pp,C00001 + C01368 <=> C00009 + C00299
3ntd4pp,C00001 + C05822 <=> C00009 + C00475
3ntd7pp,C00001 + C01367 <=> C00009 + C00212
3ntd9pp,C00001 + C06193 <=> C00009 + C00387
3oxcoat,C00010 + C02232 <=> C00024 + C00091
4hthrs,C00001 + C06055 <=> C00009 + C06056
5dglcnr,C00005 + C01062 <=> C00006 + C00257
abutd,C00001 + C00003 + C00555 <=> C00004 + C00334
acacct,C00024 + C00164 <=> C00033 + C00332
acact1r,2 C00024 <=> C00010 + C00332
acact2r,C00024 + C00136 <=> C00010 + C05269
acact3r,C00024 + C05270 <=> C00010 + C05267
acact4r,C00024 + C01944 <=> C00010 + C05265
acact5r,C00024 + C05274 <=> C00010 + C05263
acact6r,C00024 + C01832 <=> C00010 + C05261
acact7r,C00024 + C02593 <=> C00010 + C05259
acact8r,C00010 + C16216 <=> C00024 + C00154
acald,C00003 + C00010 + C00084 <=> C00004 + C00024
acanthat,C00024 + C00108 <=> C00010 + C06332
acbipgt,C00044 + C06509 <=> C00013 + C06510
accoac,C00002 + C00024 + C00288 <=> C00008 + C00009 + C00083
accoal,C00002 + C00010 + C00163 <=> C00008 + C00009 + C00100
acgal1pppp,C00001 + C18060 <=> C00009 + C01132
acgam1pppp,C00001 + C04256 <=> C00009 + C00140
acgamk,C00002 + C00140 <=> C00008 + C00357
acgaptspp,C00074 + C00140 <=> C00022 + C00357
acgk,C00002 + C00624 <=> C00008 + C04133
achbs,C00022 + C00109 <=> C00011 + C00659
ackr,C00002 + C00033 <=> C00008 + C00227
acmanaptspp,C00074 + C00645 <=> C00022 + C04257
acmumptspp,C00074 + C02713 <=> C00022 + C16698
acnml,C00270 <=> C00022 + C00645
acoad1f,C00016 + C00136 <=> C00877 + C01352
acoad2f,C00016 + C05270 <=> C01352 + C05271
acoad3f,C00016 + C01944 <=> C01352 + C05276
acoad4f,C00016 + C05274 <=> C01352 + C05275
acoad5f,C00016 + C01832 <=> C01352 + C03221
acoad6f,C00016 + C02593 <=> C01352 + C05273
acoad7f,C00016 + C00154 <=> C01352 + C05272
acoad8f,C00016 + C00412 <=> C01352 + C16218
acoda,C00001 + C00437 <=> C00033 + C00077
aconis,C02341 <=> C00417
aconmt,C00019 + C02341 <=> C00021 + C11514
aconta,C00158 <=> C00001 + C00417
acontb,C00001 + C00417 <=> C00311
acs,C00002 + C00010 + C00033 <=> C00013 + C00020 + C00024
adcl,C11355 <=> C00022 + C00568
adk1,C00002 + C00020 <=> 2 C00008
adk3,C00020 + C00044 <=> C00008 + C00035
adk4,C00020 + C00081 <=> C00008 + C00104
admdc,C00019 <=> C00011 + C01137
adncyc,C00002 <=> C00013 + C00575
adnk1,C00002 + C00212 <=> C00008 + C00020
adocbik,C00002 + C06508 <=> C00008 + C06509
adocbls,C05775 + C06510 <=> C00144 + C00194
adprdp,C00001 + C00301 <=> C00020 + C03736
adpt,C00119 + C00147 <=> C00013 + C00020
adsk,C00002 + C00224 <=> C00008 + C00053
adsl1r,C03794 <=> C00020 + C00122
adsl2r,C04823 <=> C00122 + C04677
agdc,C00001 + C00357 <=> C00033 + C00352
agmhe,C06397 <=> C06398
agmt,C00001 + C00179 <=> C00086 + C00134
agpr,C00006 + C00009 + C01250 <=> C00005 + C04133
aicart,C00234 + C04677 <=> C00101 + C04734
airc2,C00002 + C00288 + C03373 <=> C00008 + C00009 + C15667
airc3,C04751 <=> C15667
akgdh,C00003 + C00010 + C00026 <=> C00004 + C00011 + C00091
alcd19,C00004 + C00577 <=> C00003 + C00116
alcd2x,C00003 + C00469 <=> C00004 + C00084
aldd19xr,C00001 + C00003 + C00601 <=> C00004 + C00548
aldd2x,C00001 + C00003 + C00084 <=> C00004 + C00033
aldd2y,C00001 + C00006 + C00084 <=> C00005 + C00033
aldd3y,C00001 + C00006 + C00479 <=> C00005 + C00163
aldd4,C00001 + C00003 + C01412 <=> C00004 + C00246
alltn,C00001 + C01551 <=> C00499
alr2,C00005 + C00546 <=> C00006 + C05235
altrh,C00817 <=> C00001 + C00204
amanaper,C04257 <=> C00357
amank,C00002 + C00645 <=> C00008 + C04257
amaotr,C00019 + C01092 <=> C01037 + C04425
ampms2,C00001 + C00003 + C03373 <=> C00004 + 2 C00058 + C04556
ampn,C00001 + C00020 <=> C00147 + C03736
anprt,C00108 + C00119 <=> C00013 + C04302
aobutds,C03214 <=> C00011 + C01888
ap4ah,C00001 + C01260 <=> 2 C00008
ap4as,2 C00002 <=> C00013 + C01260
ap5ah,C00001 + C04058 <=> C00002 + C00008
apcs,C01137 + C01672 <=> C00170 + C16565
appldhr,C00004 + C01888 <=> C00003 + C05771
apraur,C00005 + C01268 <=> C00006 + C04454
arbtptspp,C00074 + C06186 <=> C00022 + C06187
asad,C00006 + C00009 + C00441 <=> C00005 + C03082
ascbpl,C00001 + C16186 <=> C14899
atpm,C00001 + C00002 <=> C00008 + C00009
atpprt,C00002 + C00119 <=> C00013 + C02739
atps4rpp,C00008 + C00009 <=> C00001 + C00002
betaldhx,C00001 + C00003 + C00576 <=> C00004 + C00719
betaldhy,C00001 + C00006 + C00576 <=> C00005 + C00719
bpnt,C00001 + C00054 <=> C00009 + C00020
butct,C00024 + C00246 <=> C00033 + C00136
cat,2 C00027 <=> 2 C00001 + C00007
cdgr,2 C00005 + C15996 <=> 2 C00006 + C16675
cdpmek,C00002 + C11435 <=> C00008 + C11436
chold,C00003 + C00114 <=> C00004 + C00576
chorm,C00251 <=> C00254
chors,C01269 <=> C00009 + C00251
chrpl,C00251 <=> C00022 + C00156
cinndo,C00004 + C00007 + C00423 <=> C00003 + C12622
citl,C00158 <=> C00033 + C00036
cmpn,C00001 + C00055 <=> C00380 + C03736
cpmps,C00001 + C00044 <=> C00013 + C18239
cpppgo,C00007 + C03263 <=> 2 C00001 + 2 C00011 + C01079
cs,C00001 + C00024 + C00036 <=> C00010 + C00158
cyanst,C00177 + C00320 <=> C00094 + C01755
cyanstpp,C00177 + C00320 <=> C00094 + C01755
cytdk2,C00044 + C00475 <=> C00035 + C00055
cytk1,C00002 + C00055 <=> C00008 + C00112
cytk2,C00002 + C00239 <=> C00008 + C00705
dadk,C00002 + C00360 <=> C00008 + C00206
dbts,C00002 + C00011 + C01037 <=> C00008 + C00009 + C01909
ddgalk,C00002 + C01216 <=> C00008 + C01286
ddglk,C00002 + C00204 <=> C00008 + C04442
ddpa,C00001 + C00074 + C00279 <=> C00009 + C04691
ddpgala,C01286 <=> C00022 + C00118
dgk1,C00002 + C00362 <=> C00008 + C00361
dhad1,C04272 <=> C00001 + C00141
dhad2,C04104 <=> C00001 + C00671
dhapt,C00074 + C00184 <=> C00022 + C00111
dhbd,C00003 + C04171 <=> C00004 + C00196
dhbs,C00002 + C00196 <=> C00013 + C04030
dhcind,C00003 + C12622 <=> C00004 + C12623
dhdpry,C00005 + C03340 <=> C00006 + C03972
dhdps,C00022 + C00441 <=> 2 C00001 + C03340
dhfr,C00005 + C00415 <=> C00006 + C00101
dhnpa2r,C04874 <=> C00266 + C01300
dhppd,C00003 + C11588 <=> C00004 + C04044
dhps2,C00568 + C04807 <=> C00013 + C00921
dhptdnr,C00005 + C05649 <=> C00006 + C05650
dhptdnrn,C00004 + C05649 <=> C00003 + C05650
dhqs,C04691 <=> C00009 + C00944
dhqti,C00944 <=> C00001 + C02637
dkglcnr2x,C00004 + C02780 <=> C00003 + C01062
dkglcnr2y,C00005 + C02780 <=> C00006 + C01062
dmatt,C00129 + C00235 <=> C00013 + C00341
dmpps,C00004 + C11811 <=> C00001 + C00003 + C00235
dnmppa,C00001 + C05925 <=> C00009 + C04874
dntppa,C00001 + C04895 <=> C00013 + C05925
dogulnr,C00004 + C04575 <=> C00003 + C00618
dpcoak,C00002 + C00882 <=> C00008 + C00010
drpa,C00673 <=> C00084 + C00118
dtmpk,C00002 + C00364 <=> C00008 + C00363
duradx,C00003 + C00429 <=> C00004 + C00106
durik1,C00002 + C00526 <=> C00008 + C00365
duripp,C00009 + C00526 <=> C00106 + C00672
dutpdp,C00001 + C00460 <=> C00013 + C00365
dxprii,C00005 + C11437 <=> C00006 + C11434
dxps,C00022 + C00118 <=> C00011 + C11437
dxylk,C00002 + C06257 <=> C00008 + C11437
e4pd,C00001 + C00003 + C00279 <=> C00004 + C03393
ecoah1,C01144 <=> C00001 + C00877
ecoah2,C05268 <=> C00001 + C05271
ecoah3,C05266 <=> C00001 + C05276
ecoah4,C05264 <=> C00001 + C05275
ecoah5,C05262 <=> C00001 + C03221
ecoah6,C05260 <=> C00001 + C05273
ecoah7,C05258 <=> C00001 + C05272
ecoah8,C16217 <=> C00001 + C16218
eda,C04442 <=> C00022 + C00118
edd,C00345 <=> C00001 + C04442
eno,C00631 <=> C00001 + C00074
entcs,3 C04030 + 3 C05820 <=> 6 C00020 + C05821
f6pa,C00085 <=> C00118 + C00184
f6pp,C00001 + C00085 <=> C00009 + C00095
facoae100,C00001 + C05274 <=> C00010 + C01571
facoae120,C00001 + C01832 <=> C00010 + C02679
facoae140,C00001 + C02593 <=> C00010 + C06424
facoae160,C00001 + C00154 <=> C00010 + C00249
facoae180,C00001 + C00412 <=> C00010 + C01530
facoae60,C00001 + C05270 <=> C00010 + C01585
facoae80,C00001 + C01944 <=> C00010 + C06423
facoal100t2pp,C00002 + C00010 + C01571 <=> C00013 + C00020 + C05274
facoal120t2pp,C00002 + C00010 + C02679 <=> C00013 + C00020 + C01832
facoal140t2pp,C00002 + C00010 + C06424 <=> C00013 + C00020 + C02593
facoal160t2pp,C00002 + C00010 + C00249 <=> C00013 + C00020 + C00154
facoal180t2pp,C00002 + C00010 + C01530 <=> C00013 + C00020 + C00412
facoal60t2pp,C00002 + C00010 + C01585 <=> C00013 + C00020 + C05270
facoal80t2pp,C00002 + C00010 + C06423 <=> C00013 + C00020 + C01944
fadrx,C00004 + C00016 <=> C00003 + C01352
fadrx2,C00005 + C00016 <=> C00006 + C01352
fba,C00354 <=> C00111 + C00118
fba3,C00447 <=> C00111 + C00279
fbp,C00001 + C00354 <=> C00009 + C00085
fdmo,C00007 + C01847 + C05123 <=> C00001 + C00061 + C00094 + C00266
fdmo2,C00007 + C01847 + C11145 <=> C00001 + C00061 + C00067 + C00094
fdmo6,C00007 + C01847 + C14179 <=> C00001 + C00048 + C00061 + C00094
fe3hoxabcpp,C00001 + C00002 <=> C00008 + C00009 + C06227
fe3hoxtonex,C06227 <=>
fe3ri,C01352 + 2 C14819 <=> C00016 + 2 C14818
feropp,C00007 + 4 C14818 <=> 2 C00001 + 4 C14819
ffsd,C00001 + C02591 <=> C00092 + C00095
fhl,C00058 <=> C00011 + C00282
flvr,C00005 + C00255 <=> C00006 + C01007
flvrx,C00004 + C00255 <=> C00003 + C01007
fmnat,C00002 + C00061 <=> C00013 + C00016
fmnrx,C00004 + C00061 <=> C00003 + C01847
fmnrx2,C00005 + C00061 <=> C00006 + C01847
fometri,C03479 <=> C00001 + C00445
forct,C00209 + C00798 <=> C00058 + C00313
frupts2pp,C00074 + C00095 <=> C00022 + C00085
fthfd,C00001 + C00234 <=> C00058 + C00101
fthfli,C00002 + C00058 + C00101 <=> C00008 + C00009 + C00234
g1pact,C00024 + C03783 <=> C00010 + C04256
g1ptt,C00103 + C00459 <=> C00013 + C00842
g1sat,C03741 <=> C00430
g2pp,C00001 + C02979 <=> C00009 + C00116
g2pppp,C00001 + C02979 <=> C00009 + C00116
g3pd2,C00006 + C00093 <=> C00005 + C00111
g3pt,C00001 + C00093 <=> C00009 + C00116
g5sads,C01165 <=> C00001 + C03912
<