{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# AMICI Python example \"Experimental Conditions\"\n",
"In this example we will explore some more options for the initialization of experimental conditions, including how to reset initial conditions based on changing values for `fixedParameters` as well as an additional presimulation phase on top of preequilibration. This notebook is expected to run from the `python/example_presimulation` directory."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# SBML model we want to import\n",
"sbml_file = \"model_presimulation.xml\"\n",
"# Name of the model that will also be the name of the python module\n",
"model_name = \"model_presimulation\"\n",
"# Directory to which the generated model code is written\n",
"model_output_dir = model_name\n",
"\n",
"from pprint import pprint\n",
"\n",
"import libsbml\n",
"import numpy as np\n",
"\n",
"import amici.plotting"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Model Loading\n",
"Here we load a simple model of protein phosphorylation that can be inhibited by a drug. This model was created using PySB (see `createModel.py`)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Species:\n",
"[('__s0', \"PROT(kin=None, drug=None, phospho='u')\"),\n",
" ('__s1', 'DRUG(bound=None)'),\n",
" ('__s2', 'KIN(bound=None)'),\n",
" ('__s3', \"DRUG(bound=1) ._br_PROT(kin=None, drug=1, phospho='u')\"),\n",
" ('__s4', \"KIN(bound=1) ._br_PROT(kin=1, drug=None, phospho='u')\"),\n",
" ('__s5', \"PROT(kin=None, drug=None, phospho='p')\")]\n",
"\n",
"Reactions:\n",
"PROT_DRUG_bind: __s0 + __s1 <-> __s3\t\t[-(koff_prot_drug * __s3) + kon_prot_drug * __s0 * __s1]\n",
"PROT_KIN_bind: __s0 + __s2 -> __s4\t\t[kon_prot_kin * __s0 * __s2]\n",
"PROT_KIN_phospho: __s4 -> __s2 + __s5\t\t[kphospho_prot_kin * __s4]\n",
"PROT_dephospho: __s5 -> __s0\t\t[kdephospho_prot * __s5]\n",
"Parameters:\n",
"[('initProt', 'initProt'),\n",
" ('initDrug', 'initDrug'),\n",
" ('initKin', 'initKin'),\n",
" ('pPROT_obs', 'pPROT_obs'),\n",
" ('PROT_0', 'PROT_0'),\n",
" ('DRUG_0', 'DRUG_0'),\n",
" ('KIN_0', 'KIN_0'),\n",
" ('kon_prot_drug', 'kon_prot_drug'),\n",
" ('koff_prot_drug', 'koff_prot_drug'),\n",
" ('kon_prot_kin', 'kon_prot_kin'),\n",
" ('kphospho_prot_kin', 'kphospho_prot_kin'),\n",
" ('kdephospho_prot', 'kdephospho_prot'),\n",
" ('__obs0', 'pPROT'),\n",
" ('__obs1', 'tPROT')]\n"
]
}
],
"source": [
"sbml_reader = libsbml.SBMLReader()\n",
"sbml_doc = sbml_reader.readSBML(sbml_file)\n",
"sbml_model = sbml_doc.getModel()\n",
"\n",
"print(\"Species:\")\n",
"pprint([(s.getId(), s.getName()) for s in sbml_model.getListOfSpecies()])\n",
"\n",
"print(\"\\nReactions:\")\n",
"for reaction in sbml_model.getListOfReactions():\n",
" reactants = \" + \".join(\n",
" [\n",
" \"{} {}\".format(\n",
" int(r.getStoichiometry()) if r.getStoichiometry() > 1 else \"\",\n",
" r.getSpecies(),\n",
" )\n",
" for r in reaction.getListOfReactants()\n",
" ]\n",
" )\n",
" products = \" + \".join(\n",
" [\n",
" \"{} {}\".format(\n",
" int(r.getStoichiometry()) if r.getStoichiometry() > 1 else \"\",\n",
" r.getSpecies(),\n",
" )\n",
" for r in reaction.getListOfProducts()\n",
" ]\n",
" )\n",
" reversible = \"<\" if reaction.getReversible() else \"\"\n",
" print(\n",
" \"%3s: %10s %1s->%10s\\t\\t[%s]\" # noqa: UP031\n",
" % (\n",
" reaction.getName(),\n",
" reactants,\n",
" reversible,\n",
" products,\n",
" libsbml.formulaToL3String(reaction.getKineticLaw().getMath()),\n",
" )\n",
" )\n",
"\n",
"print(\"Parameters:\")\n",
"pprint([(p.getId(), p.getName()) for p in sbml_model.getListOfParameters()])"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"# Create an SbmlImporter instance for our SBML model\n",
"sbml_importer = amici.SbmlImporter(sbml_file)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For this example we want to specify the initial drug and kinase concentrations as experimental conditions. Accordingly, we specify them as `fixedParameters`. The meaning of `fixedParameters` is defined in the [Glossary](https://amici.readthedocs.io/en/latest/glossary.html#term-fixed-parameters), which we display here for convenience."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from IPython.display import IFrame\n",
"\n",
"IFrame(\n",
" \"https://amici.readthedocs.io/en/latest/glossary.html#term-fixed-parameters\",\n",
" width=600,\n",
" height=175,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"fixedParameters = [\"DRUG_0\", \"KIN_0\"]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The SBML model specifies a single observable named `pPROT` which describes the fraction of phosphorylated Protein. We load this observable using [amici.assignmentRules2observables](https://amici.readthedocs.io/en/latest/generated/amici.sbml_import.html#amici.sbml_import.assignmentRules2observables)."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Observables:\n",
"{'__obs0': {'formula': '__s5', 'name': 'pPROT'}}\n"
]
}
],
"source": [
"# Retrieve model output names and formulae from AssignmentRules and remove the respective rules\n",
"observables = amici.assignmentRules2observables(\n",
" sbml_importer.sbml, # the libsbml model object\n",
" filter_function=lambda variable: variable.getName() == \"pPROT\",\n",
")\n",
"print(\"Observables:\")\n",
"pprint(observables)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now the model is ready for compilation using [sbml2amici](https://amici.readthedocs.io/en/latest/generated/amici.sbml_import.SbmlImporter.html#amici.sbml_import.SbmlImporter.sbml2amici). Note that we here pass `fixedParameters` as arguments to `constant_parameters`, which ensures that amici is aware that we want to have them as `fixedParameters`:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"sbml_importer.sbml2amici(\n",
" model_name,\n",
" model_output_dir,\n",
" verbose=False,\n",
" observables=observables,\n",
" constant_parameters=fixedParameters,\n",
")\n",
"# load the generated module\n",
"model_module = amici.import_model_module(model_name, model_output_dir)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To simulate the model we need to create an instance via the `getModel()` method in the generated model module."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# Create Model instance\n",
"model = model_module.getModel()\n",
"\n",
"# Create solver instance\n",
"solver = model.getSolver()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The only thing we need to simulate the model is a timepoint vector, which can be specified using the [setTimepoints](https://amici.readthedocs.io/en/latest/generated/amici.amici.Model.html#amici.amici.Model.setTimepoints) method. If we do not specify any additional options, the default values for `fixedParameters` and `parameters` that were specified in the SBML file will be used."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Run simulation using default model parameters and solver options\n",
"model.setTimepoints(np.linspace(0, 60, 60))\n",
"rdata = amici.runAmiciSimulation(model, solver)\n",
"amici.plotting.plotObservableTrajectories(rdata)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Simulation options can be specified either in the [Model](https://amici.readthedocs.io/en/latest/generated/amici.amici.Model.html) or in an [ExpData](https://amici.readthedocs.io/en/latest/generated/amici.amici.ExpData.html) instance. The `ExpData` instance can also carry experimental data. To initialize an `ExpData` instance from simulation results, amici offers some [convenient constructors](https://amici.readthedocs.io/en/latest/generated/amici.amici.ExpData.html#amici.amici.ExpData). In the following we will initialize an `ExpData` object from simulation results, but add noise with standard deviation `0.1` and specify the standard deviation accordingly. Moreover, we will specify custom values for `DRUG_0=0` and `KIN_0=2`. If `fixedParameter` is specified in an `ExpData` instance, [runAmiciSimulation](https://amici.readthedocs.io/en/latest/generated/amici.html#amici.runAmiciSimulation) will use those parameters instead of the ones specified in the `Model` instance."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEZCAYAAACEkhK6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAsvElEQVR4nO3deZxU1Z3//9end3bobtZmaRAUEASkRaMmkbgEjUvCJBMw+jVRw0xGnZjvxImOicYkv/maSb5ZvjNZBsc9UQzGhbihMSZGDWizyCqKzdZNszbQ0E2v9fn9Ube1aLuhGrrqdnW9n49HPerec++t+7lY9qfuOeeeY+6OiIjIsWSEHYCIiKQGJQwREYmLEoaIiMRFCUNEROKihCEiInFRwhARkbgoYYgAZvZdM/tN2HEczbFiNLPNZnZBMmOS9KKEIWnDzL5sZqvNrNbMdpjZr8ysf9hxiaQKJQxJC2b2L8APgVuAfsBZwCjgJTPLSVIMWck4j0iiKGFIt2dmfYG7gJvc/QV3b3T3zcDfA8XAVcGueWb2mJkdNLPlZjYl5jO+ZWYVwbYNZnZ+UJ5hZrea2ftmttfMfmdm+cG2YjNzM7vOzLYCfzKz583sxlbxvW1ms4Pln5vZNjOrNrNlZvbxVpfTboytPvNoceWZ2W+C8v1m9paZDT6xf2VJB0oYkg7OBvKAJ2IL3f0Q8BxwYVB0BbAQyAceAZ4ys2wzOwW4ETjD3fsAnwY2B8fcBHwW+CQwDNgH/KLV+T8JTAiOexSY27LBzCYSvdN5Nih6C5gaE8NCM8uL+aw2Y2zjmo8W1zVE77JGAAXAPwKH2/gMkSMoYUg6KAT2uHtTG9sqg+0Ay9z9cXdvBH5CNMmcBTQDucBEM8t2983u/n5wzD8Ct7t7ubvXA98FPt+q+um77l7j7oeBJ4GpZjYq2PYl4IngWNz9N+6+192b3P3/Buc9Jeaz2ouxtaPF1Ug0UYx192Z3X+bu1cf+Z5R0p4Qh6WAPUNhOG8LQYDvAtpZCd48A5cAwd98I3Ez0j+4uM1tgZsOCXUcBTwZVO/uB9UQTTGwVT+znHiR6NzEnKJoL/LZlu5l908zWm9mB4PP68WFCazfGNq7raHE9DCwGFpjZdjP7j3buUkSOoIQh6eBvQD0wO7bQzHoDFwMvB0UjYrZlAMOB7QDu/oi7n0v0D7ETbUCH6B/wi929f8wrz90rYk7VekjoR4G5ZvYxoncIrwTn/Djwr0TbVga4e3/gAGAxx7YbYyvtxhW04dzl7hOJVtddCvyvNv/lRGIoYUi35+4HiDZ6/6eZzQraJYqB3xH9hf5wsOt0M5sd3IncTDTJLDGzU8zsU2aWC9QRre+PBMf8Gvj/WqqYzGygmV1xjJCeI5p4vgc8FtwpAPQBmoDdQJaZ3QH0bXVsmzG2cY524zKzmWY22cwygWqiVVSRNj5D5AhKGJIW3P0/gH8Dfkz0j+RSor/Cz29pPwCeBr5ItIH4amB20FaQC9xNtOpqBzAIuC045ufAIuBFMztI9I/3mceIpZ5oA/wFRBuuWywGXgDeBbYQTU7bWh3eXoytHS2uIcDjwb/DeuAvfJg0RdplmkBJRETioTsMERGJixKGiIjERQlDRETiooQhIiJx6daDoRUWFnpxcXHYYYiIpIxly5btcfeBbW3r1gmjuLiY0tLSsMMQEUkZZralvW2qkhIRkbgoYYiISFyUMEREJC5Ja8Mws/uIDnK2y90ntbH9FqJDPbfENQEY6O5VZrYZOEh0tM0mdy853jgaGxspLy+nrq7ueD+iS8nLy2P48OFkZ2uwURFJrGQ2ej8A/BfwUFsb3f1HwI8AzOwy4BvuXhWzy0x339PWsR1RXl5Onz59KC4uxsyOfUAX5u7s3buX8vJyRo8eHXY4ItLNJa1Kyt1fBaqOuWPUXKJDQHe6uro6CgoKUj5ZAJgZBQUF3eZuSUS6ti7XhmFmPYFZwO9jip3oqJvLzGzeMY6fZ2alZla6e/fu9vbptHjD1p2uRUS6tq74HMZlwOutqqPOdfcKMxsEvGRm7wR3LB/h7vOB+QAlJSUaildEEsbdaYo4Tc1OYyRCc/De1Ow0R6LbmiORD/b5sOzDV1MkQsSd5gg0RyLRd3ciLfu0LAfvEYfmiAfHRNcjMdsi7vTIyeQfP3lSp19vV0wYc2hVHdUye5m77zKzJ4EZQJsJQ0S6t6bmCHVNEQ43NFPX2PKKUNf04XJ904fvDU0R6psi1Ldab2iK0ND84XtjsNzYHKGh2WkMlqMv/2C5KSYpNEW65m/SgX1yu3/CMLN+wCeBq2LKegEZ7n4wWL6I6Exl3d6DDz7ID37wAwC+/e1vc80114QckUjH1TU2c7CuiUP1TRysa+RQXRPVdU3U1DdR0xAtPxSs1zY0U9vQTE1DE7X10ffDQdnhxmYONzTT0Hz8kwNmZRg5WRnRV2bGEcu5WRlkZ0ZfPXMyyM6M7puV0VJuZGXaB/tkZRhZmRlkt7xnGlkZRmZQlpkR3TczIyiPeWVlBOWZRobZB/u0LGdm8MHyh2UWUwYZGUamRcsyWvY3wyxxVdXJ7Fb7KHAeUGhm5cCdQDaAu/862O1zwIvuXhNz6GCik9m3xPuIu7+QrLjDUlVVxV133UVpaSlmxvTp07n88ssZMGBA2KFJGnJ3quua2FfTQFVtA/tqGthX28j+2gYOHG5kf20j+w83cuBwI9WHG6mua6T6cBPVdY00NB37D3xmhtErJ5NeuVn0jHkf3DePnjmZ9MjOjL7nZNEjO5MeORn0yM4kNzu6LS87k7zsjOh7Via52RnkZWWSk5VBXnYGucFyZoba/E5E0hKGu8+NY58HiHa/jS0rA6YkIqa7/rCWddurO/UzJw7ry52Xndru9jvuuIP8/HxuvvlmAG6//XYGDRrE17/+9SP2W7x4MRdeeCH5+fkAXHjhhbzwwgvMnXvMf0aRuEQizr7aBnYdrI++quvYfaiePQcb2FtTz95DDew5VM+eQw3sq22guZ3qlwyDfj2y6d8zh749sunXI5vhA3rQt0c2ffOy6ZOXRd+8LPrkZdM7N4s+eVn0zsuid24WvXKj77lZGerAkQK6VJVUOrj22muZPXs2N998M5FIhAULFvDmm29+ZL+KigpGjBjxwfrw4cOpqKhIZqiSwiIRZ8+hesr3H6Zi32EqDxym8kAdO6vr2HGgjp3V9eysrmuzDr5nTiaFvXMp6J3D8AE9mTqiPwW9cxjQM4f8XjkM6JVDfs8c+veMJok+uVlk6Jd7WkjrhHG0O4FEKS4upqCggBUrVrBz506mTZtGQUFB0uOQ1HegtpEtVTVsrapla1Ut26pq2VZ1mG37aqncX/eRuv6eOZkM6ZfHkL55nDkmn8F98xjcJ5eBffIY1DeXQX1yGdgnl545af1nQY5C34wQXH/99TzwwAPs2LGDa6+9ts19ioqK+POf//zBenl5Oeedd15yApQuo7E5wpa9Nby38xBle2rYFPOqqmk4Yt+CXjmMyO/J5KJ+zJo0hOH9ezCsfw+KBvRgaL8e9M3LUrWPnBBz75rdwjpDSUmJt54PY/369UyYMCGkiKIaGhqYPHkyjY2NvPfee2RmZn5kn6qqKqZPn87y5csBOP3001m2bNkHbRqxusI1yYmJRJwtVbW8U1nN+h0HeW/nQd7bdYjNe2qOqDYa3DeX0YW9GF3Ym9GFPRlV0ItRBT0ZMaAnvXL1+09OnJkta2+8Pn3DQpCTk8PMmTPp379/m8kCID8/n+985zucccYZwIeN5ZL6GpoivLvzIKsrDrC64gDrK6vZsOMgtQ3NQLQReVRBL8YO6s1FEwczbnBvxg7sw5iBvZQUJFT69oUgEomwZMkSFi5ceNT9rr322narrCQ1uDub99ayfMs+Vmzbx+ryA6yvPPhB+0LfvCwmDuvL35eMYOLQvowf2oeTB/chL7vtHxIiYVLCSLJ169Zx6aWX8rnPfY5x48aFHY50svqmZlaVH+DNTVWs2LqP5Vv3f9DW0Cc3i0lF/fjKOcVMHt6P04r6MyK/h9oVJGUoYSTZxIkTKSsr+2B99erVXH311Ufsk5uby9KlS5MdmhyHhqYIK7ftZ0nZXpZu2suyLfuoa4zePYwZ2Ivzxw/i9FEDmD5qAGMH9lb3U0lpaZkw3L3L/KqbPHkyK1euPO7ju3Onha7I3dm0p4ZX393Nq+/tYUnZ3g/aHiYM7cvcGSM5c3QBM0bnk98rJ+RoRTpX2iWMvLw89u7d2y3mxGiZQCkvLy/sULq1+qZmlpRV8cd1O/nzu7vYVnUYgJH5PZl9ehHnjh3ImaPzGaAEId1c2iWM4cOHU15eTntzZaSalilapXMdqG3klQ27eGn9Tv6yYTeH6pvokZ3JOWML+OrHx/CJcQMpLuwVdpgiSZV2CSM7O1vTmUqbDtU38dK6HTzzdiWvvrebxmansHcul542lAsnDuacsYXqvSRpLe0Shkis+qZmXl6/iz+8vZ0/vbOL+qYIw/rl8eWzi5k1aSjTRvRXQ7VIQAlD0o67s3Z7NQtLt/HUyu0cONxIYe9c5pwxgsumDOP0kQOUJETaoIQhaWN/bQNPLK/gd6XbeGfHQXKyMvj0qUP4wvThnDO2UHMliByDEoZ0e+srq3nwjc08tbKCusYIpw3vx/evOJXLpxTRr2d22OGJpAwlDOmWmpojLF67kwff2Mybm6vIy87gs1OLuPpjozh1WL+wwxNJSUoY0q0cbmhm4bJtzH+1jPJ9hxmR34PbL5nAF0qG07+nnpMQORFKGNItHKht5OElm7n/9c3srWlg+qgB3HnZqXxq/CC1TYh0kqQlDDO7D7gU2OXuk9rYfh7wNLApKHrC3b8XbJsF/BzIBP7H3e9ORszS9e2vbWD+q2U8+MZmahqamXnKQL523lhmjNZQ8CKdLZl3GA8A/wU8dJR9/urul8YWmFkm8AvgQqAceMvMFrn7ukQFKl3fofom7n9tE/P/Wsah+iY+M3ko/3TeWCYO6xt2aCLdVtIShru/ambFx3HoDGCju5cBmNkC4ApACSMN1TU289ulW/nlKxvZW9PABRMG8y8XncyEoUoUIonW1dowPmZmbwPbgW+6+1qgCNgWs085cGYYwUl43J3nVu/g359bT8X+w5wztoBvXnQK00YOCDs0kbTRlRLGcmCUux8ys0uAp4AOzzBkZvOAeQAjR47s1AAlHOu2V3PXH9aydFMV44f04bfXn8k5YwvDDksk7XSZhOHu1THLz5nZL82sEKgARsTsOjwoa+9z5gPzAUpKSjRZRAqrqmng/764gUff3Eq/Htn84LOTmDtjpHo9iYSkyyQMMxsC7HR3N7MZQAawF9gPjDOz0UQTxRzgytAClYRzd36/vIIfPLuOg3VNXHN2MTeff7KeyhYJWTK71T4KnAcUmlk5cCeQDeDuvwY+D3zNzJqAw8Acj04n12RmNwKLiXarvS9o25BuaFtVLf/25Gr++t4eSkYN4N9nT+bkwX3CDktEAOvOU3yWlJR4aWlp2GFIHJojzgNvbObHizeQYXDrxeP50pmjNGqsSJKZ2TJ3L2lrW5epkpL0tWlPDd94bCUrt+1n5ikD+cHnJlPUv0fYYYlIK0oYEhp3Z2FpOd/9w1qyMzP4+ZypXD5lWMrPtS7SXSlhSCgO1Dbyb0+u5tnVlXxsTAE/+eIUhvbTXYVIV6aEIUm3tGwv33hsJbsO1vOtWeOZ94kx6iorkgKUMCRp3J1f/vl9fvziBkbl9+T3XzubKSP6hx2WiMRJCUOS4lB9E7csfJvn1+zgsinDuHv2ZHrl6usnkkr0f6wkXNnuQ/zDw8t4f/chvv2ZCVx37mg1bIukICUMSaiX1+/k5gUryc7K4DfXncnZGgNKJGUpYUhCuDv//WoZdz//DpOK+vLrq6YzfEDPsMMSkROghCGdrjni3PWHtTz0ty1cetpQfvyFKeRlZ4YdloicICUM6VSHG5r55wUreGndTv7hE2P41qzxGt5DpJtQwpBOU1XTwHUPvsXKbfv57mUT+fI5o8MOSUQ6kRKGdIqte2u55v432b7/ML/60nRmTRoSdkgi0smUMOSEle0+xJX3LKWuqZlHvnom00flhx2SiCSAEoackI27DnHlPUtojjgL5p3F+CF9ww5JRBJECUOO27s7D3LlPUsAY8G8sxiniY5EurWMsAOQ1LS+spo585eQYUoWIulCdxjSYWsqDnDVvUvpkZ3JI189i9GFvcIOSUSSQAlDOmTjrkNcfe9SeuVk8ehXz2JkgZ7eFkkXqpKSuFUeOMz/uncpmRnGb68/U8lCJM0kLWGY2X1mtsvM1rSz/UtmtsrMVpvZG2Y2JWbb5qB8pZmVJitm+dC+mgauvvdNDtY18cBXZlCsaiiRtJPMO4wHgFlH2b4J+KS7Twa+D8xvtX2mu09195IExSftqKlv4isPvMXWqlruuaaESUX9wg5JREKQtDYMd3/VzIqPsv2NmNUlwPCEByXH1NAU4Wu/Xc6q8v386qrpnDWmIOyQRCQkXbUN4zrg+Zh1B140s2VmNu9oB5rZPDMrNbPS3bt3JzTI7s7dueXxt3n13d38n9mT+fSpGu5DJJ11uV5SZjaTaMI4N6b4XHevMLNBwEtm9o67v9rW8e4+n6A6q6SkxBMecDf2n3/ayNMrt3PLp0/hi2eMDDscEQlZl7rDMLPTgP8BrnD3vS3l7l4RvO8CngRmhBNh+nhhTSU/eeldZk8r4p/OOynscESkC+gyCcPMRgJPAFe7+7sx5b3MrE/LMnAR0GZPK+kca7cf4BuPvc3UEf3599mTNf+2iABJrJIys0eB84BCMysH7gSyAdz918AdQAHwy+APVFPQI2ow8GRQlgU84u4vJCvudLPnUD3zHlpGvx7ZzL96umbKE5EPJLOX1NxjbL8euL6N8jJgykePkM5W39TMPz68jL019Sz8h7MZ1Dcv7JBEpAvpco3eEg535ztPraF0yz7+c+40Jg/XsxYicqQu04Yh4VpYWs7vSsu5ceZYLpsyLOxwRKQLUsIQ3t15kDsWreHskwr4xoUnhx2OiHRRShhprrahiRt+u5zeuVn8bM5UMjPUI0pE2qY2jDT33UVr2bj7EA9feyaD+qiRW0TapzuMNPbkimi7xQ3njeXccYVhhyMiXZwSRpoq232I259cw4zifG6+YFzY4YhIClDCSEN1jc3c8MgKcrMy+PncqWRl6msgIsemNow09NM/vsv6ymru+3IJQ/v1CDscEUkR+mmZZpZv3cc9r5Yxd8YIPjV+cNjhiEgKUcJII3WNzXxz4dsM7deDf7tkQtjhiEiKUZVUGvnJS+9StruGh6+bQZ+87LDDEZEUozuMNLFsSxX3/LWMK88cycfHDQw7HBFJQUoYaaCusZlbFq5imKqiROQEqEoqDfx48QbK9tTw2+vPpHeu/pOLyPHRHUY3t2zLPu59fRNXnTWSc8bqaW4ROX5KGN1YU3OEbz+1hqF987j1YlVFiciJ6XDCCObY1rydKeDhJVtYX1nNdy6dqKooETlhx0wYZpZhZlea2bNmtgt4B6g0s3Vm9iMzG5v4MKWjdh2s4ycvvssnTh7IrElDwg5HRLqBeO4wXgFOAm4Dhrj7CHcfBJwLLAF+aGZXJTBGOQ53P/cO9U0R7rr8VMw0x4WInLh4EsYF7v59d1/l7pGWQnevcvffu/vfAY/FczIzu8/MdpnZmna2m5n9PzPbaGarzOz0mG3XmNl7weuaeM6XrpaW7eWJFRXM+8QYRhf2CjscEekm4qnYvqnVL1QH9gCvufsmAHdvjPN8DwD/BTzUzvaLgXHB60zgV8CZZpYP3AmUBOdfZmaL3H1fnOdNG43NEe54ei1F/Xtww0zVFopI54nnDqNPq1dfon+4nzezOR05mbu/ClQdZZcrgIc8agnQ38yGAp8GXgruavYBLwGzOnLudPHQ37awYedB7rxsIj1y1DdBRDrPMe8w3P2utsqDX/1/BBZ0YjxFwLaY9fKgrL3ytuKaB8wDGDlyZCeG1vXtrK7jpy+9y8xTBnLhRI1EKyKd67ifw3D3KqDLtaa6+3x3L3H3koED02vMpP94YQMNzRHuvEwN3SLS+Y47YZjZTKCz2xAqgBEx68ODsvbKJbC+sponVpTzlbOLKVZDt4gkwDGrpMxsNdGG5lj5wHags3srLQJuNLMFRBu9D7h7pZktBv7dzAYE+11EtJuvBH74wjv0yc3in85TQ7eIJEY8vaQubbXuwF53r+noyczsUeA8oNDMyon2fMoGcPdfA88BlwAbgVrgK8G2KjP7PvBW8FHfC6rEBHjj/T38ecNubrt4PP16ap4LEUmMeBq9t7RVbmbnAnPd/YZ4T+buc4+x3YE2P8/d7wPui/dc6SISce5+/h2G9cvjmrOLww5HRLqxDg0wZGbTgCuBLwCbgCcSEZTE79nVlawqP8CPvzCFvGx1oxWRxImnDeNkYG7w2kP0qW5z95kJjk2OoaEpwo8Wb2D8kD58blqbvYxFRDpNPHcY7wB/BS51940AZvaNhEYlcXlk6Ra2VtVy/1fOIDND3WhFJLHi6VY7G6gEXjGze8zsfLrg8xfp5mBdI//vTxv52JgCzjs5vZ43EZFwHDNhuPtT7j4HGE905NqbgUFm9iszuyjB8Uk77nm1jKqaBm67ZLwe0hORpIj7wT13r3H3R9z9MqIPzq0AvpWwyKRd+2sbuO/1zVwyeQinDe8fdjgikibimUDpIz9f3X1fMATH+e3tI4lz/+ubOVTfxE2fGhd2KCKSRuKaQMnMbjKzI0byM7McM/uUmT1I5z/xLe2ormvk/tc3ceHEwUwY2jfscEQkjcTTS2oWcC3wqJmNBvYDeUAm8CLwM3dfkbAI5QgPvbGZ6rom/ll3FyKSZPE86V0H/BL4pZllA4XAYXffn+DYpJWa+ibufW0TM08ZyOTh/cIOR0TSTIee9A5m1qtMUCxyDL9ZsoV9tY3cdL7uLkQk+Y57eHNJrsMNzdzz1zI+Pq6Q00cOOPYBIiKdTAkjRTzy5lb2HGpQzygRCU2HE4aZ9TIzjXKXRHWNzfz3X97nzNH5zBidH3Y4IpKm4nkOI8PMrjSzZ81sF9GxpSrNbJ2Z/cjMNGNPgi0s3caug/X8s9ouRCREcT2HAZxEdIa7Ie4+wt0HAecCS4AfmtlVCYwxrTU1R/j1X8o4fWR/zj6pIOxwRCSNxdNL6gJ3bzSzYnePtBQGM979Hvh90N1WEuCFtTuo2H+YOy6bqDGjRCRU8Qw+2BgsfmSyJDM7q9U+0snufW0TI/N7csGEwWGHIiJpLp42jL83s7uBPmY2wcxij5mfuNBk+dZ9rNi6n2vPKdZ8FyISunjaMF4H1gEDgJ8AG81suZk9AxzuyMnMbJaZbTCzjWZ2axvbf2pmK4PXu2a2P2Zbc8y2RR05b6q697VN9MnL4gslI8IORUQkrqFBKoCHzOx9d38dwMwKgGKiPabiEnTF/QVwIVAOvGVmi9x9Xcy5vhGz/03AtJiPOOzuU+M9X6qr2H+YF9bs4LpzR9Mrt0MP5IuIJETcw5u3JItgea+7L3P3mth9jmEGsNHdy9y9AVgAXHGU/ecCj8bxud3Sg29sBuCas4tDjUNEpEUyhzcvArbFrJcHZR9hZqOA0cCfYorzzKzUzJaY2WfbO4mZzQv2K929e3ccYXU9NfVNPPrmVmZNGkJR/x5hhyMiAhz/8OY9iCabRA1vPgd43N2bY8pGuXuFmY0B/mRmq939/dYHuvt8gsb4kpIS7+S4kmJh6TYO1jVx3bmjww5FROQDyRzevAKIbb0dHpS1ZQ5wQ6s4KoL3MjP7M9H2jY8kjFTXHHHuf2Mz00b21yCDItKldGgsqeB5i68B/xp0tz25A4e/BYwzs9FmlkM0KXykt5OZjSfaI+tvMWUDzCw3WC4EziHac6vbeXn9TrbsrdXdhYh0OR3ufuPud5jZYGAq8DkzG+vuX43juCYzuxFYTHS2vvvcfa2ZfQ8odfeW5DEHWODusdVJE4D/NrMI0SR3d2zvqu7k3tc2UdS/B7NOHRJ2KCIiR4g7YZjZS8A33f1td99J9A//4o6czN2fA55rVXZHq/XvtnHcG8DkjpwrFW3YcZClm6q47eLxZGVq5HkR6Vo68lfpW8DPzOx+MxuaqIDS2aNvbiUnM0MP6olIlxR3wnD35e4+E3gGeMHM7jQz9fnsJHWNzTyxvJxZk4aQ3ysn7HBERD6iQ/UewQN6G4BfATcB75nZ1YkILN08u6qS6rom5s4YeeydRURCEHfCMLPXiXaD/SnRB+6+DJwHzDAzDUJ4gh55cytjCntx1hjNqCciXVNHeknNA9a16r0EcJOZre/EmNLOhh0HWbZlH7dfMkFzXohIlxV3wnD3tUfZ/JlOiCVttTR2/9304WGHIiLSrk7pu+nuZZ3xOelIjd0ikirU2T9kauwWkVShhBEyNXaLSKpQwghRS2P33Bkj1dgtIl2eEkaI1NgtIqlECSMkauwWkVSjhBGSxWt3UF3XxJwzNG6UiKQGJYyQPLmigmH98jhrTEHYoYiIxEUJIwS7Dtbx1/f28NlpRWRkqLFbRFKDEkYIFq3cTnPEmX16UdihiIjETQkjBE+uqGByUT/GDuoTdigiInFTwkiyDTsOsnZ7te4uRCTlKGEk2RMrysnMMC6bMizsUEREOkQJI4maI87TK7bzyZMHUtg7N+xwREQ6JKkJw8xmmdkGM9toZre2sf3LZrbbzFYGr+tjtl1jZu8Fr2uSGXdn+dv7e9lRXafqKBFJSR2ZQOmEmFkm8AvgQqAceMvMFrn7ula7PubuN7Y6Nh+4EygBHFgWHLsvCaF3midWlNMnN4sLJgwOOxQRkQ5L5h3GDGCju5e5ewOwALgizmM/Dbzk7lVBkngJmJWgOBOitqGJF9bs4JLJQ8nLzgw7HBGRDktmwigCtsWslwdlrf2dma0ys8fNrGXcjHiPxczmmVmpmZXu3r27M+LuFIvX7qC2oVnVUSKSsrpao/cfgGJ3P43oXcSDHf0Ad5/v7iXuXjJw4MBOD/B4PbG8gqL+PTijWPNeiEhqSmbCqABiR9obHpR9wN33unt9sPo/wPR4j+3KdlbX8frGPcw+XUOBiEjqSmbCeAsYZ2ajzSwHmAMsit3BzIbGrF4OrA+WFwMXmdkAMxsAXBSUpYQ/vL2diMNnp6k6SkRSV9J6Sbl7k5ndSPQPfSZwn7uvNbPvAaXuvgj4ZzO7HGgCqoAvB8dWmdn3iSYdgO+5e1WyYj9Rz66uZOLQvpw0sHfYoYiIHLekJQwAd38OeK5V2R0xy7cBt7Vz7H3AfQkNMAHK99WyYut+bvn0KWGHIiJyQrpao3e389zqSgAuPW3oMfYUEenalDAS7NlVlUwu6seogl5hhyIickKUMBJoW1Utb5cf4DO6uxCRbkAJI4GeWRWtjvrMZCUMEUl9ShgJ9Ozq7UwZ0Z8R+T3DDkVE5IQpYSTI5j01rKmo5jJVR4lIN6GEkSDPBr2jLlF1lIh0E0oYCfLMqkqmjxrAsP49wg5FRKRTKGEkwPu7D7G+slqN3SLSrShhJMCzqyoxU3WUiHQvShgJ8OyqSs4Ylc+QfnlhhyIi0mmUMDrZezsPsmHnQT2sJyLdjhJGJ3smqI66ePKQsEMREelUShid7IU1OzijOJ9BfVQdJSLdixJGJ3p/9yE27DzIxZN0dyEi3Y8SRid6Yc0OAGYpYYhIN6SE0YmeX1PJtJH9GdpPD+uJSPejhNFJtlXVsqaiWtVRItJtKWF0kufXRMeOuniSutOKSPeU1IRhZrPMbIOZbTSzW9vY/r/NbJ2ZrTKzl81sVMy2ZjNbGbwWJTPueDy/ZgeTivpqKHMR6baSljDMLBP4BXAxMBGYa2YTW+22Aihx99OAx4H/iNl22N2nBq/LkxJ0nCoPHGbF1v26uxCRbi2ZdxgzgI3uXubuDcAC4IrYHdz9FXevDVaXAMOTGN9xW6zeUSKSBpKZMIqAbTHr5UFZe64Dno9ZzzOzUjNbYmafbe8gM5sX7Fe6e/fuEwo4Xs+t2cHJg3tz0sDeSTmfiEgYumSjt5ldBZQAP4opHuXuJcCVwM/M7KS2jnX3+e5e4u4lAwcOTHisuw/W89bmKlVHiUi3l8yEUQGMiFkfHpQdwcwuAG4HLnf3+pZyd68I3suAPwPTEhlsvF5ctwN3jR0lIt1fMhPGW8A4MxttZjnAHOCI3k5mNg34b6LJYldM+QAzyw2WC4FzgHVJi/wonl+9g9GFvThlcJ+wQxERSaikJQx3bwJuBBYD64HfuftaM/uembX0evoR0BtY2Kr77ASg1MzeBl4B7nb30BPGvpoG/la2l1mThmBmYYcjIpJQWck8mbs/BzzXquyOmOUL2jnuDWByYqPruJfW76Q54lyi9gsRSQNdstE7VTy7qpKi/j2YVNQ37FBERBJOCeM47T1Uz2sb93D51GGqjhKRtKCEcZyeW11Jc8S5YuqwsEMREUkKJYzj9PTK7ZwyuA/jh6g6SkTSgxLGcdhWVUvpln1crrsLEUkjShjH4Q+rtgNw+RQlDBFJH0oYx2HRyu1MHzVAQ5mLSFpRwuigd3ZU886Og2rsFpG0o4TRQYtWbiczw7hksh7WE5H0ooTRAe7O0yu3c+7YQgp754YdjohIUilhdMCyLfuo2H9Y1VEikpaUMDrg6ZXbyc3K4KJTNZS5iKQfJYw4NTZHeHZ1JRdMHEzv3KSO2Sgi0iUoYcTptY17qKpp4Ao9eyEiaUoJI05Praigb14Wnzwl8dO+ioh0RUoYcVi2pYpFb2/n89NHkJuVGXY4IiKhUMI4hrrGZm55fBXD+vXgf190ctjhiIiERq23x/DTP75L2e4aHrp2hhq7RSSt6Q7jKFZu2889r5bxxZIRfOJktV2ISHpTwmhHfVMztyx8m0F98rj90glhhyMiErqkJgwzm2VmG8xso5nd2sb2XDN7LNi+1MyKY7bdFpRvMLNPJzrW/3x5I+/tOsT/mT2ZvnnZiT6diEiXl7SEYWaZwC+Ai4GJwFwzm9hqt+uAfe4+Fvgp8MPg2InAHOBUYBbwy+DzEmJNxQF+9Zf3mX16ETPHD0rUaUREUkoy7zBmABvdvczdG4AFwBWt9rkCeDBYfhw438wsKF/g7vXuvgnYGHxep2toivDNhW+T3yuHOy5tnc9ERNJXMrv9FAHbYtbLgTPb28fdm8zsAFAQlC9pdWxRWycxs3nAPICRI0d2OMjG5giTivpx0cTB9O+Z0+HjRUS6q27XT9Td5wPzAUpKSryjx/fKzeLHX5jS6XGJiKS6ZFZJVQAjYtaHB2Vt7mNmWUA/YG+cx4qISAIlM2G8BYwzs9FmlkO0EXtRq30WAdcEy58H/uTuHpTPCXpRjQbGAW8mKW4RESGJVVJBm8SNwGIgE7jP3dea2feAUndfBNwLPGxmG4EqokmFYL/fAeuAJuAGd29OVuwiIgIW/QHfPZWUlHhpaWnYYYiIpAwzW+buJW1t05PeIiISFyUMERGJixKGiIjERQlDRETi0q0bvc1sN7DlOA8vBPZ0Yjhh6i7X0l2uA3QtXVF3uQ44sWsZ5e5tzufQrRPGiTCz0vZ6CqSa7nIt3eU6QNfSFXWX64DEXYuqpEREJC5KGCIiEhcljPbNDzuATtRdrqW7XAfoWrqi7nIdkKBrURuGiIjERXcYIiISFyUMERGJixJGK2Y2y8w2mNlGM7s17Hg6wszuM7NdZrYmpizfzF4ys/eC9wFhxhgvMxthZq+Y2TozW2tmXw/KU+p6zCzPzN40s7eD67grKB9tZkuD79ljwZD/KcHMMs1shZk9E6yn5LWY2WYzW21mK82sNChLqe9XCzPrb2aPm9k7ZrbezD6WiGtRwohhZpnAL4CLgYnAXDNLpYm9HwBmtSq7FXjZ3ccBLwfrqaAJ+Bd3nwicBdwQ/LdIteupBz7l7lOAqcAsMzsL+CHwU3cfC+wDrgsvxA77OrA+Zj2Vr2Wmu0+NeWYh1b5fLX4OvODu44EpRP/7dP61uLtewQv4GLA4Zv024Law4+rgNRQDa2LWNwBDg+WhwIawYzzO63oauDCVrwfoCSwnOpf9HiArKD/ie9eVX0Rnu3wZ+BTwDGApfC2bgcJWZSn3/SI6M+kmgk5MibwW3WEcqQjYFrNeHpSlssHuXhks7wAGhxnM8TCzYmAasJQUvJ6gCmclsAt4CXgf2O/uTcEuqfQ9+xnwr0AkWC8gda/FgRfNbJmZzQvKUu77BYwGdgP3B1WF/2NmvUjAtShhpBGP/tRIqX7UZtYb+D1ws7tXx25Lletx92Z3n0r01/kMYHy4ER0fM7sU2OXuy8KOpZOc6+6nE62CvsHMPhG7MVW+X0RnTj0d+JW7TwNqaFX91FnXooRxpApgRMz68KAsle00s6EAwfuukOOJm5llE00Wv3X3J4LilL0ed98PvEK02qa/mbVMkZwq37NzgMvNbDOwgGi11M9JzWvB3SuC913Ak0STeSp+v8qBcndfGqw/TjSBdPq1KGEc6S1gXNDrI4fonOKLQo7pRC0CrgmWryHaFtDlmZkRneN9vbv/JGZTSl2PmQ00s/7Bcg+i7TDriSaOzwe7dfnrAHD329x9uLsXE/1/40/u/iVS8FrMrJeZ9WlZBi4C1pBi3y8Ad98BbDOzU4Ki84F1JOJawm6w6Wov4BLgXaL1zLeHHU8HY38UqAQaif7quI5oHfPLwHvAH4H8sOOM81rOJXoLvQpYGbwuSbXrAU4DVgTXsQa4IygfA7wJbAQWArlhx9rB6zoPeCZVryWI+e3gtbbl//VU+37FXM9UoDT4nj0FDEjEtWhoEBERiYuqpEREJC5KGCIiEhclDBERiYsShoiIxEUJQ0RE4qKEISIicVHCEBGRuChhiHQyMxtuZl9sZ1sPM/tLMJR+W9tzzOzVmKE2RLoMJQyRznc+0bF82nIt8IS7N7e10d0biD6d22bCEQmTEoZIJzKzc4GfAJ8PZnIb02qXLxGM6ROMZ/RsMBvfmpi7kqeC/US6FN32inQid3/NzN4Cvunua2K3BQNajnH3zUHRLGC7u38m2N4vKF8DnJGkkEXipjsMkc53CvBOG+WFwP6Y9dXAhWb2QzP7uLsfgOj8GUBDy2iqIl2FEoZIJzKzQuCAfzgDXazDQF7Liru/S7StYzXwAzO7I2bfXKAukbGKdJSqpEQ6VzGwva0N7r4vmK41z93rzGwYUOXuvzGz/cD1AGZWAOxx98ZkBS0SD91hiHSud4DCoBH77Da2v0h0rg+AycCbwXzfdwI/CMpnAs8mOlCRjtJ8GCJJZGanA99w96uPss8TwK1BlZVIl6E7DJEkcvflwCtHe3APeErJQroi3WGIiEhcdIchIiJxUcIQEZG4KGGIiEhclDBERCQuShgiIhIXJQwREYnL/w+spMjVWaHeRAAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"edata = amici.ExpData(rdata, 0.1, 0.0)\n",
"edata.fixedParameters = [0, 2]\n",
"rdata = amici.runAmiciSimulation(model, solver, edata)\n",
"amici.plotting.plotObservableTrajectories(rdata)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For many biological systems, it is reasonable to assume that they start in a\n",
" steady state. In this example we want to specify an experiment where a pretreatment with a drug is performed _before_ the kinase is added. We assume that the pretreatment is sufficiently long such that the system reaches steadystate before the kinase is added. To implement this in amici, we can specify `fixedParametersPreequilibration` in the `ExpData` object. This automatically adds a preequilibration phase where the model is run to steadystate, before regular simulation starts. Here we set `DRUG_0=3` and `KIN_0=0` for the preequilibration. This means that there is no kinase available in the preequilibration phase."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"edata.fixedParametersPreequilibration = [3, 0]\n",
"rdata = amici.runAmiciSimulation(model, solver, edata)\n",
"amici.plotting.plotObservableTrajectories(rdata)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The resulting trajectory is definitely not what one may expect. The problem is that the `DRUG_0` and `KIN_0` set initial conditions for species in the model. By default, these initial conditions are only applied at the very beginning of the simulation, i.e., before the preequilibration. Accordingly, the `fixedParameters` that we specified do not have any effect. To fix this, we need to set the `reinitializeFixedParameterInitialStates` attribute to `True`, to specify that AMICI reinitializes all states that have `fixedParameter`-dependent initial states."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"edata.reinitializeFixedParameterInitialStates = True"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With this option activated, the kinase concentration will be reinitialized after the preequilibration and we will see the expected change in fractional phosphorylation:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"rdata = amici.runAmiciSimulation(model, solver, edata)\n",
"amici.plotting.plotObservableTrajectories(rdata)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On top of preequilibration, we can also specify presimulation. This option can be used to specify pretreatments where the system is not assumed to reach steadystate. Presimulation can be activated by specifying `t_presim` and `edata.fixedParametersPresimulation`. If both `fixedParametersPresimulation` and `fixedParametersPreequilibration` are specified, preequilibration will be performed first, followed by presimulation, followed by regular simulation. For this example we specify `DRUG_0=10` and `KIN_0=0` for the presimulation and `DRUG_0=10` and `KIN_0=2` for the regular simulation. We do not overwrite the `DRUG_0=3` and `KIN_0=0` that was previously specified for preequilibration."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(3.0, 0.0)\n",
"(10.0, 0.0)\n",
"(10.0, 2.0)\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"edata.t_presim = 10\n",
"edata.fixedParametersPresimulation = [10.0, 0.0]\n",
"edata.fixedParameters = [10.0, 2.0]\n",
"print(edata.fixedParametersPreequilibration)\n",
"print(edata.fixedParametersPresimulation)\n",
"print(edata.fixedParameters)\n",
"rdata = amici.runAmiciSimulation(model, solver, edata)\n",
"amici.plotting.plotObservableTrajectories(rdata)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python3",
"language": "python",
"name": "python"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.2"
},
"pycharm": {
"stem_cell": {
"cell_type": "raw",
"metadata": {
"collapsed": false
},
"source": []
}
}
},
"nbformat": 4,
"nbformat_minor": 1
}