Last active
August 29, 2015 14:26
-
-
Save kaizu/628db6f3aee6315a43d8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 30, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline\n", | |
"import numpy\n", | |
"from ecell4 import *" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 35, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"with reaction_rules():\n", | |
" c_2pg == c_h2o + c_pep | (2 * 14.5869, 14.5869) # ENO, Glycolysis/Gluconeogenesis\n", | |
" c_fdp == c_dhap + c_g3p | (2 * 7.78419, 7.78419) # FBA, Glycolysis/Gluconeogenesis\n", | |
" c_g3p + c_nad + c_pi == c_13dpg + c_h + c_nadh | (2 * 16.2748, 16.2748) # GAPD, Glycolysis/Gluconeogenesis\n", | |
" c_glycogen + c_pi > c_g1p | 996.558 # GLCP, Glycolysis/Gluconeogenesis\n", | |
" c_adpglc > c_adp + c_glycogen + c_h | 996.558 # GLCS1, Glycolysis/Gluconeogenesis\n", | |
" c_atp + c_g1p + c_h > c_adpglc + c_ppi | 996.558 # GLGC, Glycolysis/Gluconeogenesis\n", | |
" c_coa + c_nad + c_pyr > c_accoa + c_co2 + c_nadh | 7.96919 # PDH, Glycolysis/Gluconeogenesis\n", | |
" c_atp + c_f6p > c_adp + c_fdp + c_h | 7.78419 # PFK, Glycolysis/Gluconeogenesis\n", | |
" c_g6p == c_f6p | (2 * 5.91807, 5.91807) # PGI, Glycolysis/Gluconeogenesis\n", | |
" c_3pg + c_atp == c_13dpg + c_adp | (16.2748, 2 * 16.2748) # PGK, Glycolysis/Gluconeogenesis\n", | |
" c_2pg == c_3pg | (14.5869, 2 * 14.5869) # PGM, Glycolysis/Gluconeogenesis\n", | |
" c_adp + c_h + c_pep > c_atp + c_pyr | 0.865375 # PYK, Glycolysis/Gluconeogenesis\n", | |
" c_dhap == c_g3p | (2 * 7.64537, 7.64537) # TPI, Glycolysis/Gluconeogenesis\n", | |
" c_g6p + c_nadp == c_6pgl + c_h + c_nadph | (2 * 4.08193, 4.08193) # G6PDH2r, Pentose Phosphate Pathway\n", | |
" c_6pgc + c_nadp > c_co2 + c_nadph + c_ru5p__D | 4.08193 # GND, Pentose Phosphate Pathway\n", | |
" c_6pgl + c_h2o > c_6pgc + c_h | 4.08193 # PGL, Pentose Phosphate Pathway\n", | |
" c_ru5p__D == c_xu5p__D | (2 * 1.95894, 1.95894) # RPE, Pentose Phosphate Pathway\n", | |
" c_r5p == c_ru5p__D | (2.08389, 2 * 2.08389) # RPI, Pentose Phosphate Pathway\n", | |
" c_g3p + c_s7p == c_e4p + c_f6p | (2 * 1.16678, 1.16678) # TALA, Pentose Phosphate Pathway\n", | |
" c_r5p + c_xu5p__D == c_g3p + c_s7p | (2 * 1.16678, 1.16678) # TKT1, Pentose Phosphate Pathway\n", | |
" c_e4p + c_xu5p__D == c_f6p + c_g3p | (2 * 0.792162, 0.792162) # TKT2, Pentose Phosphate Pathway\n", | |
" c_ac + c_atp == c_actp + c_adp | (2 * 0.572306, 0.572306) # ACKr, Pyruvate Metabolism\n", | |
" c_coa + 2.0 * c_flxso + c_pyr == c_accoa + c_co2 + 2.0 * c_flxr + c_h | (2 * 0.106838, 0.106838) # POR5, Pyruvate Metabolism\n", | |
" c_accoa + c_pi == c_actp + c_coa | (0.572306, 2 * 0.572306) # PTAr, Pyruvate Metabolism\n", | |
" ~c_g3p == c_g3p | (2 * 0.053078000000000625, 0.053078000000000625) # Influx, Boundary\n", | |
" ~c_coa == c_coa | (2 * 8.648334, 8.648334) # Influx, Boundary\n", | |
" c_f6p == ~c_f6p | (2 * 0.0928220000000004, 0.0928220000000004) # Outflux, Boundary\n", | |
" ~c_flxso == c_flxso | (2 * 0.213676, 0.213676) # Influx, Boundary\n", | |
" ~c_g6p == c_g6p | (3 * 10.0, 10.0) # Influx, Boundary\n", | |
" ~c_atp == c_atp | (2 * 987.774321, 987.774321) # Influx, Boundary\n", | |
" c_h2o == ~c_h2o | (2 * 10.50497, 10.50497) # Outflux, Boundary\n", | |
" ~c_pi == c_pi | (2 * 1012.260494, 1012.260494) # Influx, Boundary\n", | |
" c_r5p == ~c_r5p | (2 * 0.9171099999999999, 0.9171099999999999) # Outflux, Boundary\n", | |
" c_pep == ~c_pep | (2 * 13.721525, 13.721525) # Outflux, Boundary\n", | |
" c_nadph == ~c_nadph | (2 * 8.16386, 8.16386) # Outflux, Boundary\n", | |
" c_dhap == ~c_dhap | (2 * 0.13881999999999994, 0.13881999999999994) # Outflux, Boundary\n", | |
" c_ru5p__D == ~c_ru5p__D | (2 * 0.03909999999999991, 0.03909999999999991) # Outflux, Boundary\n", | |
" c_flxr == ~c_flxr | (2 * 0.213676, 0.213676) # Outflux, Boundary\n", | |
" c_3pg == ~c_3pg | (2 * 1.687899999999999, 1.687899999999999) # Outflux, Boundary\n", | |
" ~c_ac == c_ac | (2 * 0.572306, 0.572306) # Influx, Boundary\n", | |
" c_ppi == ~c_ppi | (2 * 996.558, 996.558) # Outflux, Boundary\n", | |
" ~c_nad == c_nad | (2 * 24.24399, 24.24399) # Influx, Boundary\n", | |
" c_nadh == ~c_nadh | (2 * 24.24399, 24.24399) # Outflux, Boundary\n", | |
" ~c_pyr == c_pyr | (2 * 7.210653, 7.210653) # Influx, Boundary\n", | |
" c_co2 == ~c_co2 | (2 * 12.157958, 12.157958) # Outflux, Boundary\n", | |
" c_e4p == ~c_e4p | (2 * 0.3746179999999999, 0.3746179999999999) # Outflux, Boundary\n", | |
" c_adp == ~c_adp | (2 * 987.774321, 987.774321) # Outflux, Boundary\n", | |
" c_h == ~c_h | (2 * 31.464313000000026, 31.464313000000026) # Outflux, Boundary\n", | |
" ~c_xu5p__D == c_xu5p__D | (2 * 2.0000000000575113e-06, 2.0000000000575113e-06) # Influx, Boundary\n", | |
" c_accoa == ~c_accoa | (2 * 8.648334, 8.648334) # Outflux, Boundary\n", | |
" ~c_nadp == c_nadp | (2 * 8.16386, 8.16386) # Influx, Boundary\n", | |
"\n", | |
"y0 = {\"p_glc__D\": 1, \"c_2ddg6p\": 1, \"c_s17bp\": 1, \"c_glycogen\": 1, \"c_lac__D\": 1, \"p_g1p\": 1, \"p_h2o\": 1, \"c_g3p\": 1,\n", | |
" \"c_actp\": 1, \"c_coa\": 1, \"c_fdp\": 1, \"c_f6p\": 1, \"c_6pgl\": 1, \"c_g6p\": 1, \"c_atp\": 1, \"c_h2o\": 1,\n", | |
" \"c_flxso\": 1, \"c_pi\": 1, \"c_dha\": 1, \"c_for\": 1, \"c_s7p\": 1, \"c_r5p\": 1, \"c_h2\": 1, \"c_pep\": 1,\n", | |
" \"c_bglycogen\": 1, \"c_g1p\": 1, \"c_amp\": 1, \"p_pi\": 1, \"c_nadph\": 1, \"c_dhap\": 1, \"c_nadh\": 1, \"c_adpglc\": 1,\n", | |
" \"c_accoa\": 1, \"c_e4p\": 1, \"c_acald\": 1, \"c_ru5p__D\": 1, \"c_2pg\": 1, \"c_flxr\": 1, \"c_3pg\": 1, \"c_13dpg\": 1,\n", | |
" \"c_ac\": 1, \"c_oaa\": 1, \"c_ppi\": 1, \"c_nad\": 1, \"c_pyr\": 1, \"c_etoh\": 1, \"c_glc__D\": 1, \"c_co2\": 1,\n", | |
" \"c_adp\": 1, \"c_h\": 1, \"c_xu5p__D\": 1, \"c_6pgc\": 1, \"c_nadp\": 1}\n", | |
"# 27/53" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 36, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"m = get_model()\n", | |
"species_list = [sp.serial() for sp in m.list_species()]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 37, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"94" | |
] | |
}, | |
"execution_count": 37, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m.num_reaction_rules()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 38, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7fe76e2b2ed0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"y = run_simulation(numpy.linspace(0, 10.0, 100), solver='ode2', with_legend=False, model=m,\n", | |
" y0=y0, species_list=species_list)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 39, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"retval = \"\"\n", | |
"for i, rr in enumerate(m.ode_reaction_rules()):\n", | |
" rr_name = \"rr{0:d}\".format(i)\n", | |
" for sp in rr.reactants():\n", | |
" retval += \"{0} cr {1}\\n\".format(sp.serial(), rr_name)\n", | |
" for sp in rr.products():\n", | |
" retval += \"{0} rc {1}\\n\".format(rr_name, sp.serial())\n", | |
"# with open(\"ijo1366.sif\", \"w\") as fout:\n", | |
"# fout.write(retval)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 42, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n0ybXAycBhwLbgXXAAfl164HTgXOBV0lTJ2dWH1OSVDRU77AcjJdSwzEdATFyDkZGMGfVhiNnJVvw\nHZaSNDwsb0kKyPKWpIAsb0kKyPKWpIAsb0kKyPKWpIAsb0kKyPKWpIAsb0kKyPKWpIAsb0kKyPKW\npIAsb0kKyPKWpIAsb0kKyPKWpIAsb0kKyPKWpIAsb0kKyPKWpIAsb0kKyPKWpIAsb0kKyPKWpIAs\nb0kKyPKWpIAsb0kKqEx5XwU8Czw4xTqXAo8D48CxFeSSJE2hTHlfDZwyxfWnAUcARwIfBy6vIJck\naQplyvsu4IUprl8LXJMvbwYOAZbOMpckaQpVzHkvA7YXzu8Alldwu5KkLkYqup1a2/lGp5XGxsb2\nLtfrder1ekWbl6ThkGUZWZb1XK+9dLtZCdwKvLPDdVcAGXBDfn4bcBJpJ2dRo9Ho2OmVqdVqdHne\nmEc1ev07zTkdU+ccjIxgzqoNR85KtlCrpQ21qWLaZANwVr68BtjFvsUtSapQmWmT60kj6UNJc9vr\ngAPy69YDG0lHnDwBvAycXX1MSVJR2WmTKjht0lzDnNMwHC+fzTldw5Gzki3M4bSJJGmeWd6SFJDl\nLUkBWd6SFJDlLUkBWd6SFJDlLUkBWd6SFJDlLUkBWd6SFJDlLUkBWd6SFJDlLUkBWd6SFJDlLUkB\nWd6SFJDlLUkBWd6SFJDlLUkBWd6SFJDlLUkBWd6SFJDlLUkBWd6SFJDlLUkBWd6SFJDlLUkBWd6S\nFFCZ8j4F2AY8DlzY4fo68CKwJT9dXFU4SVJnIz2u3x+4DHgf8DRwL7ABeLRtvTuBtZWnkyR11Gvk\nvRp4AngKeAW4AXh/h/Vq1caSJE2lV3kvA7YXzu/ILytqACcA48BGYFVl6SRJHfWaNmmUuI37gRXA\nHuBU4BbgqFnmkiRNoVd5P00q5qYVpNF30URh+XbgS8ASYGf7jY2Nje1drtfr1Ov18kklaQHIsows\ny3qu12uuegR4DDgZ+AlwD/BhJu+wXAo8RxqlrwZuBFZ2uK1Go1FmID9ztVqNci8W5jQFvf6d5pyO\nqXMORkYwZ9WGI2clW6jV0oba9Bp5vwp8Evg26ciTK0nFfU5+/XrgdODcfN09wJmVJJYkdTWfR4k4\n8m6uYc5pGI4RmDmnazhyVrKFLiNv32EpSQFZ3pIUkOUtSQFZ3pIUkOUtSQFZ3pIUkOUtSQFZ3pIU\nkOUtSQFZ3pIUkOUtSQFZ3pIUkOUtSQFZ3pIUkOUtSQFZ3pIUkOUtSQFZ3pIUkOUtSQFZ3pIUkOUt\nSQFZ3pIUkOUtSQFZ3pIUkOUtSQFZ3pIUkOUtSQFZ3pIUUJnyPgXYBjwOXNhlnUvz68eBY6uJJknq\npld57w9cRirwVcCHgV9sW+c04AjgSODjwOUVZ5xnWb8DlJT1O0AJWb8DlJT1O0BJWb8DlJT1O0BJ\nWb8DzEqv8l4NPAE8BbwC3AC8v22dtcA1+fJm4BBgaXUR51vW7wAlZf0OUELW7wAlZf0OUFLW7wAl\nZf0OUFLW7wCz0qu8lwHbC+d35Jf1Wmf57KNJkrrpVd6NkrdTm+HvSZLmwBrgXwvnP8O+Oy2vAM4s\nnN9G52mTraRS9+TJkydP5U9bmYER4D+BlcCB+Y102mG5MV9eA9w9kw1Jkqp1KvAYacflZ/LLzslP\nTZfl148D75rXdJIkSZIkSarYB4GHgYeAf+xzljJeyn/WgVv7mGM2fhV4Ffj9fgcB3kJ6X8J9wLtJ\n+3S+TJoifJTByAj75iz6KPCF+Q40DW8j5d5Ceqyd3984Uzoc+A7wCCnr2/obR90cCdwP/Fx+/tA+\nZilrIv9ZJ2Z57w98D7gN+ECfs0A6QuorhfN/Bfx14fyb5zdOV+05iz7KYJf3AfkJ4E2kN/sN6ntA\nMuDkfPmNwBv6F2XhOou043QrcG2XdT4P/EmHy+vA90kFs430Vv/mMewfI43KNpMeTM0HzVLg5nx7\nW4Ffqyjj24F/Ax4A/obJ5b0J+AZphHhd4Xf+ErgHeBBYX7g8Ay4hjYAeJI2Ap6tM5rcAN+UZ7gFO\nKFx3AfAJ4Gpa5b2S9P98HWnE8w2qedD0ynoM8N/Ac6Qn8YOAH3fZ9ldJh8PeS/r7/04F+WaT82xa\n98Mv07ofzlXOMn/3d5COMmu/rxYdSvr8oyX5+aeAv8t/Z3N+G/3KuQq4q8vvVJ1TXfwS6Y7bvIMs\n7rLezaQ/yA9IBfnb+eV14H9IpbIf6WXUB4DDgCdJb/0fIRX8pfnvfB04L1/eDxitKOMG4CP58ieY\nXN678kw14Ee0Xk4Xb+ta4Hfz5U20yvzXSQU+HWUz/1Mhy+GkQob0LtxNed6raU1JrARep/WEdyXw\n6Wlmm2nWP6b1NzyEVN7/QHqZfyPw8/l1X6V1KOwRpHcTHzjLjDPN+VZSmb+ZNKL9QeG6uchZNuNt\nwIfy5XOYXN7LScW3h3Q/bnqS1tFrf8TsXk3ONufv5dv/JulJ8vO03sBYZc5KDdtHwr6X9MDbmZ9/\noct6I6Q7+EmkD9v6Cq0plHtIz7avA9cDJ5JGqneSSvNV0gix6T20PozrdWB3RRlPyLcPk0fXzYw/\noXUA/8rCbTdHFu8ljSiamrd1F+kJpteTzEwyv4902OgW4FvAItLL5UuAv8jz1pj8jtztpCdQSP/O\nE6eRazZZizlGSCXzQ+C4PM/f59c18tuDdDjsf7Hvex3mK+fxpCfB50mfNfT1wnVzkbNsxjW0HhPX\nt123A/hl0oj1AiaPXJvr3kC5V6xzlXOENKj5NOmx/gukKamqc1ZqpN8BKtYsh152kF4CvUYq6v8g\nzYM3b6Op1na+ePlU56vIOJX/LSy/RppPPgj4Iql8ngbW5ZdNlaOssplrpIL5v7bLjyPd8SG9fD6V\nVD4PUO7/ezrKZi1u53nSyPCf8/M3kabJunl9ZtH22f50c7b/Tq/fn23OKu6rTT8lDRyOIb3xr9O2\nZmq2OXeQBkFP5edvIRX9VV22NRCGbeT9PeAMWi+flnRZ7xbS9AOkMjmK1h1qNa1pkw+S7nD3kkbp\nzWmT4g63O4Bz8+X96T2iLZvxh7Q+duAPe9wmtIr6eeDgfBtNNVovF08kvYLoNC/ZTdnM36E1hQTp\ngQppJPP2/HQT6f9rQ37d4aQHCsAf0H3useqsxQd7g/Ry+D35+ZNJRxw01zsj//kO0r/lsVlmnGnO\ne0j3wyWkaZMzaJXJXOQsm/Fu4PR8ufhRGcto7UdYTJpSK07Zfajw80d9zHkv6bHdPHCh+PevMmel\nhm3k/Qjwt6QpjtdI81eddkx+G/gt0h/oNeDPab3Uupf00v8I0p3i5vzyz5IePDtJO9ma0yPnk3Yc\nfSy/rT8ljepnm/F80hzyhaQpiPYRWLtdpOmfh4Bn2jI0gJ/l2xrpsr2plM18Hmn0P55v504mz3N2\n8hjwZ6RRzsPM/vPgy2Ztfm5E04XA10hTPM+Rdgw21/sx6W8/SporbX9lMV85fwqMkaZ1dpGmp4rr\nVZ2zbMYLSFNeF5EeWy/ml68iTT81/w2fJb3KbVpMuq/8jDR92a+czQ64g/Tk9+9MPsKnqpyaQ3W6\n75B4U/5zhDRqbP9c80G2icH82IKVTH/n6Xwr7mAdZP3MWTxK50xaA56pPEn3EfJciZKzlGEbec9W\n+2isaIy0Q+4g0rP2t+Yp07AbmDlEzdhxpFerNdIr2DKv7Prxd4+Ss5SqdkYMqouYPPcLaa/05/qQ\npZsIGdtFyhwla4ScETJCnJySJEmSJEmSJEmSJEnSPPl/E4qICrJUMwoAAAAASUVORK5CYII=\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7fe76e6fcfd0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"data = [(key, value) for key, value in zip(species_list, y[-1][1:]) if value > 1.5]\n", | |
"X = range(len(data))\n", | |
"plt.bar(X, [value for key, value in data], align=\"center\") # 中央寄せ\n", | |
"plt.xticks(X, [key for key, value in data])\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 2", | |
"language": "python", | |
"name": "python2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.6" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment