{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Well-Mixed Reaction Systems\n", "\n", "The simulation script described in this chapter is available at [STEPS_Example repository](https://github.com/CNS-OIST/STEPS_Example/blob/master/user_manual/source/well_mixed.ipynb).\n", "\n", "In this chapter, we'll use some simple classical reaction systems as examples\n", "to introduce the basics of using STEPS. More specifically, we'll focus on reaction\n", "systems that occur in a single, well-mixed reaction volume. The topics presented\n", "in later chapters (such as surface-volume interactions, diffusion, 3D environments,\n", "etc) will build on the material presented in this chapter.\n", "\n", "In our first STEPS simulation, we'll be working with the following simple system,\n", "which consists of a single reversible reaction:\n", "\n", "\\begin{equation}\n", "A+B\\underset{{k_{b}}}{\\overset{{k_{f}}}{{\\rightleftarrows}}}C\n", "\\end{equation}\n", "\n", "with 'forward' and 'backward' reaction constants $k_{f}$ and $k_{b}$,\n", "respectively.\n", "\n", "\n", "## Model Specification\n", "\n", "The first thing we need to do, is to write some Python code that “passesâ€\n", "this equation on to STEPS. This is called model specification, which in\n", "STEPS consists of building a hierarchy of Python objects that list the species\n", "occurring in your model, their relevant chemical and physical properties and\n", "their interactions. As explained in the chapter introduction, here we deal only\n", "with sets of reaction rules that occur together within one single chemical volume.\n", "\n", "### Model container\n", "\n", "The first step in model specification is to import package [steps.model](API_1/API_model.rst).\n", "This package contains all the definitions of the objects and functions you need\n", "to describe the physics and chemistry of your model within STEPS. This entire\n", "package has been written in c++ and exposed to Python through SWIG (Simplified\n", "Wrapper and Interface Generator) and Cython, like most packages in STEPS. We import the package\n", "using an alias, smodel, to reduce the required amount of typing (a common\n", "convention in Python):\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "import steps.model as smodel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`smodel` now refers to the [steps.model](API_1/API_model.rst) Python module containing the class\n", "definitions.\n", "\n", "Next, we're going to create a top-level container object for our\n", "model ([steps.model.Model](API_1/API_model.rst#steps.API_1.model.Model)). This top level container is required for\n", "all simulations in STEPS but itself does not contain much information and\n", "merely acts as a hub that allows the other objects in the model specification\n", "to reference each other. In the code listing below, we store our Model object\n", "in variable `mdl`. When you create an object in Python information inside the\n", "parenthesis is passed onto the class constructor. Each constructor requires\n", "specific information, though some information can be omitted and will be given\n", "default values, as we will see. However, for a [steps.model.Model](API_1/API_model.rst#steps.API_1.model.Model) object, the\n", "constructor does not require any information at all:\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "mdl = smodel.Model()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Species\n", "\n", "Our next task is to enumerate all the chemical species that can occur in the model.\n", "This means creating a number of objects of type [steps.model.Spec](API_1/API_model.rst#steps.API_1.model.Spec) and passing them\n", "on to the [steps.model.Model](API_1/API_model.rst#steps.API_1.model.Model) container. For our simple reaction the above equation,\n", "we create\n", "three [steps.model.Spec](API_1/API_model.rst#steps.API_1.model.Spec) objects (`molA`, `molB`, and `molC`) corresponding to our\n", "three chemical species:\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "molA = smodel.Spec('molA', mdl)\n", "molB = smodel.Spec('molB', mdl)\n", "molC = smodel.Spec('molC', mdl)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The initializer of class [steps.model.Spec](API_1/API_model.rst#steps.API_1.model.Spec) requires two arguments: first an\n", "identifier string that can be used later on to refer to this object. This\n", "identifier string has to be unique among all species objects. It's important\n", "to distinguish between the Python variable we use to store the reference to\n", "the newly created object on the one hand (e.g. `molA`), and the identifier\n", "string on the other (e.g. 'molA'). In this example they bear the same name,\n", "but this is not necessary. These identifier strings are a common requirement\n", "for STEPS objects at this level and we will see when and how they are necessary\n", "later in this chapter, when describing geometry and performing simulations with\n", "our model.\n", "\n", "We should note at this point that our object reference variables should be\n", "named differently also, though Python will allow you to reuse the same name\n", "(one could even use the same name to reference objects of different type because\n", "a variable in Python does not have to reference a specific type, as is the case\n", "in c++ for example). So this, for example, does not result in an error in Python:\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "spec = smodel.Spec('mol1', mdl)\n", "spec = smodel.Spec('mol2', mdl)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and since the identifier strings are different this is not a STEPS error either.\n", "However, in the above code in the first line `spec` at first references the\n", "'molA' object, but in the second line the object `spec` references changes\n", "to the 'molB' object, and the reference to the 'molA' object is lost.\n", "These object references are required when defining the species' interactions,\n", "as we will see, so as a rule in STEPS all variables should be given a unique\n", "name so that no object references are lost. Actually, we could use container\n", "methods to return references to objects, but let's keep things simple for now.\n", "\n", "The second argument in the [steps.model.Spec](API_1/API_model.rst#steps.API_1.model.Spec) initializer is an object reference\n", "to the model we just created (stored in variable `mdl`). This will allow the [steps.model.Spec](API_1/API_model.rst#steps.API_1.model.Spec)\n", "initializer to add itself to the [steps.model.Model](API_1/API_model.rst#steps.API_1.model.Model) container.\n", "\n", "### Volume System\n", "\n", "Next, we will create a *volume system*:\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "vsys = smodel.Volsys('vsys', mdl)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Volume systems (objects of class [steps.model.Volsys](API_1/API_model.rst#steps.API_1.model.Volsys)) are container\n", "objects that group a number of stoichiometric reaction rules\n", "(in later chapters we'll see how diffusion rules can also be added\n", "to these volume systems). The user has the option of grouping all\n", "reactions in the entire system into one single big volume system,\n", "or using multiple volume systems to organize reaction rules that\n", "belong together. The second option may be preferred for larger models,\n", "but for our simple example we only require one volume system.\n", "\n", "The arguments for the [steps.model.Volsys](API_1/API_model.rst#steps.API_1.model.Volsys) initializer are the same\n", "as for [steps.model.Spec](API_1/API_model.rst#steps.API_1.model.Spec):\n", "The first argument must be an identifier string, which can be used\n", "for future referencing. This identifier must be unique among all volume\n", "systems in the model. The second argument is the reference to the [steps.model.Model](API_1/API_model.rst#steps.API_1.model.Model)\n", "parent object of which this [steps.model.Volsys](API_1/API_model.rst#steps.API_1.model.Volsys) will be a child.\n", "\n", "### Reactions\n", "\n", "Finally, we need to create the reaction rules themselves.\n", "In STEPS a single reversible reaction has to be regarded as two separate\n", "reaction rules; the first rule corresponding to the _forward_ reaction and\n", "the second rule to the _backward_ reaction. So for our simple model in\n", "the above equation , we have to create two objects of class [steps.model.Reac](API_1/API_model.rst#steps.API_1.model.Reac)\n", "and add them to the [steps.model.Volsys](API_1/API_model.rst#steps.API_1.model.Volsys) object we just created:\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "kreac_f = smodel.Reac('kreac_f', vsys, lhs=[molA, molB], rhs=[molC], kcst=0.3e6)\n", "kreac_b = smodel.Reac('kreac_b', vsys, lhs=[molC], rhs=[molA, molB])\n", "kreac_b.kcst = 0.7" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The initializer for [steps.model.Reac](API_1/API_model.rst#steps.API_1.model.Reac) can be provided with a bit more information than the\n", "initializers for the other objects until now. Aside from the required identifier string (which is checked\n", "to be unique among all reactions in all volume systems) and a required reference\n", "to the [steps.model.Volsys](API_1/API_model.rst#steps.API_1.model.Volsys) object to which this reaction will be added, we can also specify\n", "reaction stoichiometry at this stage (alternatively we can create the object with\n", "the minimum information and set the stoichiometry with object methods). This\n", "stoichiometry is specified by two Python lists:\n", "\n", "* A list called `lhs`, which gives the left-hand side of the stoichiometry\n", " (i.e. the reactants). If a reactant occurs more than once, as can be the\n", " case in e.g. a dimerization reaction, the [steps.model.Spec](API_1/API_model.rst#steps.API_1.model.Spec) object has to be listed the\n", " required number of times.\n", "\n", "* A list called `rhs`, which gives the right hand side of the stoichiometry\n", " (i.e. the reaction products). The same remarks that applied for parameter\n", " `lhs` apply here.\n", "\n", "The lists must contain references to the required [steps.model.Spec](API_1/API_model.rst#steps.API_1.model.Spec) objects\n", "(and not identifier strings), so we can see why it was important\n", "not to lose these object references when we created our [steps.model.Spec](API_1/API_model.rst#steps.API_1.model.Spec) objects.\n", "Both lists can also be empty e.g. `lhs=[]` or `rhs=[]` (this is the default\n", "behavior if lists are not supplied to the constructor, but can be changed\n", "with object methods `setLHS` and `setRHS`). Care should be used in the case of\n", "empty lists because either situation could break physical laws such as the\n", "conservation of mass, although they are available because they can be useful\n", "for some simulation approximations. If the left hand side is empty, we have a\n", "zero order reaction that acts as a source, i.e. it creates molecules “out of\n", "thin airâ€. If the right hand side is empty, we have a sink reaction that\n", "merely destroys molecules. Obviously, within one single reaction rule,\n", "it doesn't make sense to set both `lhs` and `rhs` to an empty list.\n", "\n", "We can also already set the default rate constants for both the forward\n", "and backward reaction, by manipulating the `kcst` property of the Reac objects.\n", "As shown above these rate constants can be initialized as a parameter during\n", "object construction, or by using object methods after the object has been\n", "created, which is common to many properties of objects in STEPS. **Note**: *This is an example of an object property:* `kcst` *is a property of our* `Reac` *object. In this example* `kreac_f.kcst = 0.3e6` *is an indirect call to object method* `kreac_f.setKcst(0.3e6)`. *For more information on available property functions see* [API References](API_1/API_ref.ipynb).\n", "\n", "\n", "These rate constants can also be changed later on during the simulation, but values\n", "given here will be used as default values when a simulation state is initialized.\n", "*Generally speaking, physical constants in STEPS must be specified in SI units*.\n", "However, the s.i derived unit for volume is the cubic meter, which means that the s.i derived unit for concentration is mole per cubic meter, and reaction constants would be based on cubic meters, i.e. a second order reaction constant should have units of metres cubed per mole-second ($m^{3}\\left(mol.s\\right)^{-1}$). However, the convention in chemical kinetics is to base reaction parameters on Molar units (M = mol/litre) (i.e. based on the litre rather than the cubic metre) and this convention is followed in STEPS. The actual interpretation of the unit of a reaction rule depends on the order of that reaction.\n", "\n", "\n", "In other words, it depends on the number of species in the left hand side. **The constant for a zero order reaction in STEPS** **has units** $M.s^{-1}$; **for a first order reaction rule has units** $s^{-1}$; **for a second order reaction the units are** $\\left(M.s\\right)^{-1}$; **for a third order reaction** $\\left(M^{2}.s\\right)^{-1}$; and so on (while there is no upper limit on the order of the reaction when working with Reac objects within\n", "the context of package steps.model, STEPS simulators will not deal with any\n", "reaction rule that has an order larger than 4). These units are not strictly s.i. units, however **all parameters, other than reactions constants, in STEPS must be given in base or derived s.i. units**, which includes the unit of $m^{3}$ for volume. **Note**: *The units for a zero-order reaction have changed from previous versions of STEPS (*$s^{-1}$*)\n", " so as to follow convention. Zero-order reactions are NOT permitted on membranes (surface\n", " reactions, see later chapters) due to the ambiguity of the interpretation of the units.*\n", "\n", "Finally, the full Python code of our model description looks like this:\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "import steps.model as smodel\n", "mdl = smodel.Model()\n", "molA = smodel.Spec('molA', mdl)\n", "molB = smodel.Spec('molB', mdl)\n", "molC = smodel.Spec('molC', mdl)\n", "volsys = smodel.Volsys('vsys', mdl)\n", "kreac_f = smodel.Reac('kreac_f', volsys, lhs=[molA, molB], rhs=[molC], kcst = 0.3e6)\n", "kreac_b = smodel.Reac('kreac_b', volsys, lhs=[molC], rhs=[molA, molB])\n", "kreac_b.kcst = 0.7" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that we have said nothing about the actual geometry of our model at\n", "this point, nor have we said anything related to the simulation itself\n", "(initial conditions, special events during the simulation, etc).\n", "We have just created a hierarchy of Python objects that describes\n", "the interactions between chemical species and we have done this on a\n", "rather abstract level.\n", "\n", "## Preparing geometry for well-mixed simulation\n", "\n", "Before we can start doing simulations, we need to say something about\n", "the environment in which our reactions will occur. Specifically, we need\n", "to describe the volume compartments in which reactions take place, and sometimes\n", "also the surface patches around or in between these compartments (patches are described in more detail in the [next chapter](ip3.ipynb)). We then link\n", "each of these compartments with one or more of the volume systems defined\n", "in the kinetic model, in a process called annotation. There are currently\n", "two types of geometry that can be specified in STEPS:\n", "\n", "1. *Well-mixed geometry*. In this type of geometry description, compartments are described\n", " only by their volume in cubic meters and patches by their area in\n", " square meters and connectivity to compartments. Nothing is said\n", " about the actual shape.\n", "\n", "2. *Tetrahedral mesh geometry*. In this type of geometry, a compartment is a collection of 3D tetrahedral\n", " voxels and a patch is a 2D section between compartments composed of\n", " triangular surface connecting tetrahedrons.\n", "\n", "We will talk about tetrahedral meshes (and their relationship with\n", "well-mixed geometry) in the chapter on [Simulating Diffusion in Volumes](diffusion.ipynb).\n", "In this chapter, however, we will restrict ourselves to well-mixed geometry,\n", "because we will only use the well-mixed stochastic solver. Specifying a\n", "well-mixed compartment that can be used together with the kinetic model\n", "from the previous section is very easy. First, need we to import the STEPS\n", "module that contains the objects used to define the geometry, namely [steps.geom](API_1/API_geom.rst):\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "import steps.geom as swm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Like before we give the [steps.geom](API_1/API_geom.rst) module an alias `swm`, simply to reduce later\n", "typing. Next we generate a parent container object, that will collect and store\n", "the actual compartments. The purpose of this object is in many ways similar to\n", "the purpose of the [steps.model.Model](API_1/API_model.rst#steps.API_1.model.Model) object we discussed in the previous section,\n", "and the constructor does not require any information:\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "wmgeom = swm.Geom()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, the actual compartment we need for simulating our model must be created:\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "comp = swm.Comp('comp', wmgeom)\n", "comp.addVolsys('vsys')\n", "comp.setVol(1.6667e-21)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since our model is very simple, we only create one compartment, an object of\n", "type [steps.geom.Comp](API_1/API_geom.rst#steps.API_1.geom.Comp), and we store it in the variable called `comp`.\n", "The initializer takes two arguments here: first a unique identifier string\n", "(that will once again be used later on, during actual simulation) and a\n", "reference to the container object. Since we only have one compartment,\n", "we use the rather unimaginative identifier `comp`.\n", "\n", "The second line corresponds to the annotation, which in this case is very simple.\n", "It links the compartment we just created with a volume system that carries the\n", "identifier 'vsys'. At this stage, only the string is stored in the Comp object.\n", "In other words, STEPS makes no attempt to resolve the link by searching for a\n", "[steps.model.Volsys](API_1/API_model.rst#steps.API_1.model.Volsys) object that has the identifier 'vsys'. In fact, STEPS\n", "couldn't resolve the link at this point, because the kinetic model and the\n", "geometric model remain completely separated in memory. They will remain\n", "separated until the time we create an actual simulation; that is the point\n", "where these cross references between kinetic model and geometry will be resolved.\n", "\n", "This “workflow†enables us to build several kinetic model descriptions and geometry\n", "descriptions separately, and put them together as needed for simulation. The only\n", "requirement for any combination of kinetic model and geometry to work is that\n", "**the volume systems referenced from the geometry have been defined in the\n", "kinetic model**. An error will result when creating the simulation object\n", "(which we will do next) if any compartment contains a reference to a volume\n", "system that is unknown in the model description.\n", "\n", "The third line sets the volume of the compartment. Once again, SI units must be\n", "used, meaning that the volume is specified in $m^{\\text{3}}$. The volume of\n", "compartment 'comp' therefore has a volume of $1.6667\\cdot10^{-3}\\mu m^{3}$.\n", "This parameter can be set in the [steps.geom.Comp](API_1/API_geom.rst#steps.API_1.geom.Comp) object initializer, explicitly with the\n", "`setVol` method (as above), or with the property function `vol` (i.e.\n", "`comp.vol = 1.667e-21`).\n", "\n", "## Simulation with `Wmdirect`\n", "\n", "With all this in place, we can finally start performing simulations.\n", "Since STEPS is a set of Python packages and extensions, simulations\n", "can either be fully scripted and run automatically, or they can be\n", "controlled interactively from the Python prompt. In this text, we'll\n", "just run a simulation “automatically†from begin to end, without any\n", "interactive input.\n", "\n", "The simulator (or *solver*) we'll be using here is the `Wmdirect` solver.\n", "`Wmdirect` is\n", "an implementation of Gillespie's Direct Method (see Gillespie, *Exact stochastic simulation of coupled chemical reactions*, J Phys Chem 1977, 81:2340-2361) for stochastic simulation and\n", "has the following properties:\n", "\n", "* It's a *well-mixed* solver, meaning that you will need to present\n", " it with well-mixed geometry. **Note**: *if you present a well-mixed solver in STEPS with a tetrahedral\n", " mesh, the solver will automatically extract the well-mixed properties\n", " (i.e. the volumes of compartments, the areas of patches and their connectivity)\n", " from the mesh.* Well-mixed solvers have no\n", " concept of concentration gradients within a given compartment, but rather\n", " assume that all molecules in any given compartment are kept uniformly\n", " distributed by elastic (non-reactive) collisions between reaction events.\n", " Therefore there is also no concept of diffusion within a compartment.\n", " However, we will later see that even in simulations with well-mixed solvers,\n", " it is possible to implement diffusive fluxes in between compartments,\n", " by linking them with patches.\n", "\n", "\n", "* It's a *stochastic* solver, meaning that it uses random numbers to create\n", " possible “realizations†(also called “iterationsâ€) of the stochastic\n", " interpretation of the reaction system. In other words, for the same set\n", " of initial conditions, running the simulation multiple times (with different\n", " initial seed values for the random number generator) will generate different\n", " results each time.\n", "\n", "\n", "* It's a *discrete* stochastic solver, meaning that the amount of mass in the\n", " system is (at least internally) not being tracked over time as continuous\n", " concentrations, but as integer molecular counts. This may be a negligible\n", " distinction with large numbers of molecules present in the system, but it\n", " becomes very important when any species involved in the system has a small\n", " population of only a few molecules (especially when these particular molecules\n", " are involved in some feedback mechanism). Consequently, each realization is a\n", " sequence of discrete, singular reaction events.\n", "\n", "\n", "* It's an *exact* stochastic solver, which means that each iteration is exact\n", " with respect to the master equation governing the reaction system.\n", "\n", "To perform a simulation of the above kinetic model and geometry with `Wmdirect`,\n", "we first need to create a random number generator. This must be done explicitly by\n", "the user, because this allows you to choose which random number generator to use\n", "(even though that choice is rather limited right now) and, more importantly, how\n", "to use it. Random number generation objects can be found in package [steps.rng](API_1/API_rng.rst):\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "import steps.rng as srng\n", "r = srng.create('mt19937', 256)\n", "r.initialize(23412)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the first line, we import the [steps.rng](API_1/API_rng.rst) package with alias `srng`.\n", "In the next line, we actually generate a random number generator using the\n", "function [steps.rng.create](API_1/API_rng.rst#steps.API_1.rng.create). The first argument selects which type of random\n", "number generator we want. STEPS currently only implements one pseudo RNG\n", "algorithm, 'mt19937', also known as the “Mersenne Twisterâ€. The Mersenne\n", "Twister is supported because it is considered to be quite simply the current\n", "best choice for numerical simulations, because of its large period and fast\n", "runtime. The second argument selects how many random numbers are pre-generated\n", "and stored in a buffer.\n", "\n", "In the third line, we initialize the random number generator with a seed value.\n", "Here, we initialize the random number generator only once. You can, however,\n", "also re-initialize it prior to each iteration, for instance to ensure a\n", "simulation starts with some specific seed value. **Note**: *Solver* `Wmdirect` *guarantees that a stochastic simulation started with the\n", " same seed value will recreate the exact same chain of events. The same is true\n", " for solver* `Tetexact`. *This might not be the case in future solvers, particularly\n", " in solvers that have been parallellized using some form of “look-ahead†execution.*\n", "\n", "\n", "Next we will create the actual solver object. Since we will be doing\n", "simulations using solver `Wmdirect`, we first import the package in which all\n", "solvers have been implemented, then create the [steps.solver.Wmdirect](API_1/API_solver.rst#steps.API_1.solver.Wmdirect) object:\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "import steps.solver as ssolver\n", "sim = ssolver.Wmdirect(mdl, wmgeom, r)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For all [steps.solver](API_1/API_solver.rst) objects (currently `Wmdirect`, `Wmrk4` and `Tetexact`)\n", "the initializer requires three arguments. The first argument is the model\n", "description (a variable that references the [steps.model.Model](API_1/API_model.rst#steps.API_1.model.Model) object we\n", "created in the first section of this chapter), followed by the the\n", "well-mixed geometry description (a variable that references a [steps.geom.Geom](API_1/API_geom.rst#steps.API_1.geom.Geom)\n", "object) and finally also a variable that references the random number generator\n", "we just constructed. And that's it.\n", "\n", "The variable `sim` now references the solver object we just created which contains\n", "all the methods we require to run and control our simulation, so now we can\n", "start performing simulations. First we call the reset function on the solver object:\n" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "sim.reset()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This method sets all values within the solver “state†to their default values.\n", "This state includes the concentration of species in all compartments (set to 0\n", "everywhere), rate constants (set to their defaults from the [steps.model.Reac](API_1/API_model.rst#steps.API_1.model.Reac) objects)\n", "etc. If you want to re-initialize the random number generator prior to each\n", "individual iteration, setting the seed value right before calling the reset\n", "function would be a good choice. **Note**: *Since reset currently doesn't use any random numbers, in principle you\n", " might also initialize the random number generator's seed value right after\n", " calling it. This might change with future solvers, so as a rule you're better\n", " off if you make it a habit to initialize the random number generator before\n", " calling reset.*\n", "\n", "After the `reset` function call, we can start manipulating the “state†of the\n", "simulation, i.e. setting up the initial conditions of the simulation.\n", "Each solver implemented in STEPS includes a numbers of functions for doing that.\n", "Each solver, including the [steps.solver.Wmdirect](API_1/API_solver.rst#steps.API_1.solver.Wmdirect) solver that we're using here, implements a\n", "basic set of functions that allows you e.g. to get/set concentration of species\n", "in compartments and patches as a whole. In addition, solvers will typically\n", "implement additional functions that only make sense for their specific\n", "implementation. Due to the internal structure of the code, all solver methods\n", "are available for all solvers, but methods which don't make sense for a particular\n", "solver (e.g. getting/setting concentration in individual tetrahedrons doesn't\n", "make sense for a well-mixed solver) will display an error message if called. A detailed list of which methods\n", "are available for which solvers is available in [API_1/API_solver](API_1/API_solver.ipynb).\n", "\n", "Now let's set up our initial conditions with simulation object methods:\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "sim.setCompConc('comp', 'molA', 31.4e-6)\n", "sim.setCompConc('comp', 'molB', 22.3e-6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This means we're setting the concentration of molA to $31.4 \\mu M$ and the\n", "concentration of molB to $22.3 \\mu M$ in our compartment comp.\n", "We're setting these concentration values at simulation time $t = 0$,\n", "but these functions can be called at any point in time, to control the\n", "concentration of species during simulation. Here we see an example of why\n", "the identifier strings were necessary during our model specification.\n", "The simulation methods require the identifier strings to the [steps.model](API_1/API_model.rst) and\n", "[steps.geom](API_1/API_geom.rst) objects and not a variable that references the objects.\n", "This is necessary because the model and geometry specification are separated\n", "from the simulation and could be organised inside functions or even separate\n", "modules meaning a reference to the object will often not be available.\n", "\n", "Next we'll use NumPy to generate some auxiliary numerical arrays that will be\n", "used during simulation. **Note**: *Presently, all structures for storing simulation results are explicitly\n", " created by the user and it is also up to the user to include in their script,\n", " typically, a for loop that will run the simulation, collect data and store this\n", " data in an appropriate structure, such as a list or NumPy array. In the future\n", " we may implement the option to pass to the simulation object information about\n", " what data to store, which will then be collected internally and returned to the\n", " user or saved automatically in files. This will make it much simpler to run a\n", " simulation and improve runtime, for the cost of a slightly lengthier\n", " initialization process.*" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "import numpy\n", "tpnt = numpy.arange(0.0, 2.001, 0.001)\n", "res = numpy.zeros([2001, 3])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first array, `tpnt`, contains the time points at which we will pause the\n", "simulation. This range of numbers starts at 0.0 and runs to 2.0 seconds with\n", "$1ms$ intervals. That gives us a total of 2001 “time pointsâ€.\n", "The second array, `res`, will be used to store the concentrations of 'molA',\n", "'molB' and 'molC' over time: that's why the array has 2001 rows and 3 columns.\n", "We use NumPy's zeros function, which not only allocates the array but also\n", "initializes all elements to zero.\n", "\n", "Now it's time to actually run an iteration:\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "for t in range(0,2001):\n", " sim.run(tpnt[t])\n", " res[t,0] = sim.getCompCount('comp', 'molA')\n", " res[t,1] = sim.getCompCount('comp', 'molB')\n", " res[t,2] = sim.getCompCount('comp', 'molC')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We loop over all time points using a `range` to generate indices.\n", "Then we use the basic solver function run to forward the simulation\n", "until the time specified by the function's argument. Note that the first time the loop is executed, the current time is `0.0` because we called the `reset()` function earlier, so in this case, `sim.run(0.0)` doesn't move the simulation forward.\n", "\n", "After having forwarded the simulation one millisecond, we use function\n", "[steps.solver.Wmdirect.getCompCount](API_1/API_solver.rst#steps.API_1.solver.Wmdirect.getCompCount) to sample the number of molecules present in compartment\n", "comp for each of our three species. All of these functions are described\n", "in more detail in [API_1/API_solver](API_1/API_solver.ipynb).\n", "\n", "Finally, we can plot these values using Matplotlib. Due to the low numbersof molecules, we can clearly see the reactions occurring as discrete events.\n" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAAGtCAYAAADQwSggAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmYG9WVNvD3VpVK6r3tttt7e8MLGLwDZnfMTiDshIRA\nyBBgyEJWAskMgQyTASYBMiQhgXyQECBA4gBmD4ttFrPaxtjG2NgGG7d3u233rpKq7veHVGp1t9St\npUoqSe/vefy4VSpVXalb0tHVuecIKSWIiIiIiCh1Sr4HQERERERUaBhEExERERGliUE0EREREVGa\nGEQTEREREaWJQTQRERERUZoYRBMRERERpYlBNBERERFRmhhEExERERGliUE0EREREVGatHwPIBWD\nBg2SY8aMyfcwiIiIiKjILVu2bI+UcnB/+xVEED1mzBgsXbo038MgIiIioiInhNicyn5M5yAiIiIi\nShODaCIiIiKiNDGIJiIiIiJKU0HkRBMRERFRYQiFQmhsbERnZ2e+h9KnQCCAkSNHwufzZXR7BtFE\nRERE5JjGxkZUVVVhzJgxEELkezgJSSmxd+9eNDY2YuzYsRkdg+kcREREROSYzs5O1NXVeTaABgAh\nBOrq6rKaLWcQTURERESO8nIAbct2jAyiiYiIiIjSxCCaiIiIiIrOU089BSEE1q5d68rxGUQTERER\nUdF59NFHceyxx+LRRx915fgMoomIiIioqLS2tuLNN9/E/fffj8cee8yVc7DEHRERERG54hfPfIQ1\n25odPeYhw6tx01lT+txnwYIFOO200zBx4kTU1dVh2bJlmDVrlqPj4Ew0ERERERWVRx99FBdffDEA\n4OKLL3YlpYMz0URERETkiv5mjN3Q1NSEhQsXYtWqVRBCwDRNCCHwq1/9ytHSe5yJTuJARwjrdrRg\n3Y4WfLKzBWHTyveQiIiIiKgf8+fPx6WXXorNmzdj06ZN2LJlC8aOHYs33njD0fMwiE7i1Y934tTf\nvI5Tf/M6Trnrddy9cEO+h0RERERE/Xj00Udx7rnndtt2/vnnO57SwXSOJI4YOxD3XDITAHDDP1di\nd0swzyMiIiIiov4sWrSo17Zrr73W8fMwiE5i5IByjBxQDgD45XMfwwgznYOIiIiIIpjOkQK/psBg\nTjQRERERRTGIToGuKTDCZr6HQUREREQewSA6BbqmIMh0DiIiIiKKYhCdAl1VmBNNRERERDEMolMQ\nSedgEE1EREREEQyiU6BzYSERERFRwVBVFdOnT8e0adMwc+ZMvPXWW46fgyXuUqCrCoIhBtFERERE\nhaCsrAwrVqwAAPzrX//CT3/6U7z22muOnoMz0Snw+1Q0tRt4Ynkjnl+1HSHOShMREREVhObmZgwY\nMMDx43ImOgVDq/3Y3RLED//+IQDgz984HF+YVJ/nURERERF53As3ADtWOXvMoYcBp9/W5y4dHR2Y\nPn06Ojs7sX37dixcuNDZMYBBdEpuOP1gfG3OaGze247LHngPrZ3hfA+JiIiIiJKIT+d4++23cdll\nl2H16tUQQjh2DgbRKVAVgdF1FRCIPPCs1EFERESUgn5mjHPhqKOOwp49e7B7927U1zuXScCc6DTo\nWuThYqUOIiIiosKwdu1amKaJuro6R4/Lmeg02EF0MMQW4EREREReZedEA4CUEg8++CBUVXX0HAyi\n08CZaCIiIiLvM033JzyZzpEGXY0G0cyJJiIiIippDKLT4FMFhGAQTURERFTqXAuihRABIcR7QogP\nhRAfCSF+Ed0+VgjxrhBigxDicSGE7tYYnCaEiHQvZBBNREREVNLcnIkOApgnpZwGYDqA04QQcwDc\nDuAuKeVBAPYBuMLFMThO1xhEExEREZU614JoGdEaveiL/pMA5gGYH93+IIBz3BqDG3yqgsXrduV7\nGERERESUR67mRAshVCHECgC7ALwMYCOA/VJKu+VfI4ARSW57lRBiqRBi6e7du90cZlrajTB2twTz\nPQwiIiIiyiNXg2gppSmlnA5gJIAjAExO47b3SSlnSylnDx482LUxputrR46GzPcgiIiIiCipHTt2\n4OKLL8b48eMxa9YsnHHGGfjkk08cPUdOqnNIKfcDWATgKAC1Qgi7PvVIAFtzMQan+H3MiSYiIiLy\nKiklzj33XMydOxcbN27EsmXLcOutt2Lnzp2Onse1ZitCiMEAQlLK/UKIMgAnI7KocBGACwA8BuDr\nABa4NQY36KoK05IwLQlVEfkeDhERERHFWbRoEXw+H/793/89tm3atGmOn8fNjoXDADwohFARmfH+\nu5TyWSHEGgCPCSH+G8AHAO53cQyOi3UtDFso051tH0lERERUTG5/73asbVrr6DEnD5yM64+4Pun1\nq1evxqxZsxw9ZyKuBdFSypUAZiTY/iki+dEFiUE0EREREbk5E12U7CA6GDYRqdpHRERERIn0NWPs\n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\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f5b2c108a10>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "plt.figure(figsize=(12,7))\n", "# Plot number of molecules of 'molA' over the time range:\n", "plt.plot(tpnt, res[:,0], label = 'A')\n", "# Plot number of molecules of 'molB' over the time range:\n", "plt.plot(tpnt, res[:,1], label = 'B')\n", "# Plot number of molecules of 'molC' over the time range:\n", "plt.plot(tpnt, res[:,2], label = 'C')\n", "plt.xlabel('Time (sec)')\n", "plt.ylabel('#molecules')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we're using a stochastic simulation algorithm such as that implemented in\n", "solver `Wmdirect`, we're usually interested in analysing the range of behaviours\n", "produced by different iterations. One way of doing that is by taking the mean\n", "over multiple iterations (100 in this example), as is shown in the following\n", "simulation code. We plot the average of multiple (n = 100) iterations of our second order reaction." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.legend.Legend at 0x7f5aef70cfd0>" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f5b3c41f2d0>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "NITER = 100\n", "res = numpy.zeros([NITER, 2001, 3])\n", "tpnt = numpy.arange(0.0, 2.001, 0.001)\n", "\n", "for i in range(0, NITER):\n", " sim.reset()\n", " sim.setCompConc('comp', 'molA', 31.4e-6)\n", " sim.setCompConc('comp', 'molB', 22.3e-6)\n", "\n", " for t in range(0, 2001):\n", " sim.run(tpnt[t])\n", " res[i, t, 0] = sim.getCompCount('comp', 'molA')\n", " res[i, t, 1] = sim.getCompCount('comp', 'molB')\n", " res[i, t, 2] = sim.getCompCount('comp', 'molC')\n", "res_mean = numpy.mean(res, 0)\n", "\n", "plt.figure(figsize=(12,7))\n", "# Plot mean number of molecules of 'molA' over the time range:\n", "plt.plot(tpnt, res_mean[:,0], label = 'A')\n", "# Plot mean number of molecules of 'molB' over the time range:\n", "plt.plot(tpnt, res_mean[:,1], label = 'B')\n", "# Plot mean number of molecules of 'molC' over the time range:\n", "plt.plot(tpnt, res_mean[:,2], label = 'C')\n", "\n", "plt.xlabel('Time (sec)')\n", "plt.ylabel('#molecules')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, the array that will be used to store the simulation results\n", "(array res) is now a three dimensional array, with the first dimension set to\n", "record 100 iterations. The loop that runs over all time points is now embedded\n", "in a loop that runs over the iterations. The solver object is reset and the initial\n", "conditions are set at the beginning of each iteration. Since we don't need\n", "any detailed control over which iteration starts with which RNG seed value,\n", "we initialize the RNG just once, prior to everything else. Once the 100 iterations\n", "are completed, we call NumPy's mean function to compute the mean over the first\n", "dimension, and then plot these mean values.\n", "\n", "## Controlling the simulation\n", "\n", "In the previous section, we paused the simulation at regular time intervals\n", "only to record the concentrations of various molecules. The only time we actively\n", "changed the simulation state was at t=0, to set the initial conditions. However,\n", "the function calls we used to set initial conditions can be called at any time\n", "during the simulation.\n", "\n", "As an example, let's interrupt our simulation at t=1sec to add 10 molecules\n", "of species molA. We plot the mean behaviour of multiple (n = 100) iterations of our second order reaction, with an injection of 10 molecules of species A at t = 1.0.\n" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.legend.Legend at 0x7f5aef628350>" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAAGtCAYAAADQwSggAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd43eV9///nfZaOztE82sMatuS98MDYLLNiRglgkkBI\nICTwTbNK2rRJIWnTpE1TmtX0l7RkEUYIhB0SSBgu2xPbeFvekixZe2+dcf/+kC3seMm2jo5kvx7X\n5UvW0fl87rcMtl7nPu/7vo21FhERERERGTpHrAsQERERERlrFKJFRERERE6RQrSIiIiIyClSiBYR\nEREROUUK0SIiIiIip0ghWkRERETkFClEi4iIiIicIoVoEREREZFTpBAtIiIiInKKXLEuYCjS09Nt\nUVFRrMsQERERkbPcunXrGq21GSd73pgI0UVFRaxduzbWZYiIiIjIWc4YUzGU56mdQ0RERETkFClE\ni4iIiIicIoVoEREREZFTNCZ6okVERERkbAgGg1RVVdHb2xvrUk7I6/WSn5+P2+0+resVokVERERk\n2FRVVZGYmEhRURHGmFiXc0zWWpqamqiqqqK4uPi07qF2DhEREREZNr29vaSlpY3aAA1gjCEtLe2M\nZssVokVERERkWI3mAH3ImdaoEC0iIiIicooUokVERETkrPP73/8eYwxlZWVRub9CtIiIiIicdZ54\n4gkuuuginnjiiajcXyFaRERERM4qnZ2dvPvuuzz44IP87ne/i8oY2uJORERERKLi23/cyrYD7cN6\nz6m5SfzL9dNO+JwXXniBq6++mokTJ5KWlsa6deuYO3fusNahmWgREREROas88cQT3HrrrQDceuut\nUWnp0Ey0iIiIiETFyWaMo6G5uZnXX3+dzZs3Y4whHA5jjOH73//+sG69p5no4+jqC7G5qo1QOBLr\nUkRERERkiJ555hluv/12KioqKC8vZ//+/RQXF/POO+8M6zgK0cfx0qYarv/puxxoHd3nvouIiIjI\nB5544gluuummIx67+eabh72lQ+0cxzEu4AOgsrmbgjRfjKsRERERkaF44403jnrsnnvuGfZxNBN9\nHIeCc2Vzd4wrEREREZHRRiH6OHKSvHjdDnbXd8a6FBEREREZZRSij8PhMEzMSmRH3fDubSgiIiIi\nY59C9AlMykpkR21HrMsQERERkVFGIfoEJmUn0tjZT2NnX6xLEREREZFRRCH6BCZnJwGwU7PRIiIi\n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\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f5b2c15d650>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for i in range(NITER):\n", " sim.reset()\n", " sim.setCompConc('comp', 'molA', 31.4e-6)\n", " sim.setCompConc('comp', 'molB', 22.3e-6)\n", "\n", " for t in range(0,1001):\n", " sim.run(tpnt[t])\n", " res[i, t, 0] = sim.getCompCount('comp', 'molA')\n", " res[i, t, 1] = sim.getCompCount('comp', 'molB')\n", " res[i, t, 2] = sim.getCompCount('comp', 'molC')\n", "\n", " # Add 10 molecules of species A\n", " sim.setCompCount('comp', 'molA', sim.getCompCount('comp', 'molA') + 10)\n", " for t in range(1001, 2001):\n", " sim.run(tpnt[t])\n", " res[i, t, 0] = sim.getCompCount('comp', 'molA')\n", " res[i, t, 1] = sim.getCompCount('comp', 'molB')\n", " res[i, t, 2] = sim.getCompCount('comp', 'molC')\n", "\n", "res_mean = numpy.mean(res, 0)\n", "\n", "plt.figure(figsize=(12,7))\n", "# Plot mean number of molecules of 'molA' over the time range:\n", "plt.plot(tpnt, res_mean[:,0], label = 'A')\n", "# Plot mean number of molecules of 'molB' over the time range:\n", "plt.plot(tpnt, res_mean[:,1], label = 'B')\n", "# Plot mean number of molecules of 'molC' over the time range:\n", "plt.plot(tpnt, res_mean[:,2], label = 'C')\n", "\n", "plt.xlabel('Time (sec)')\n", "plt.ylabel('#molecules')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When you have to do these things regularly, you might want to encapsulate\n", "various parts of this code in separate functions to save yourself some coding time.\n", "\n", "Quite often, one does not want to simulate the sudden injection of molecules,\n", "but rather keep the concentration of some species constant at a controlled value.\n", "This means that any reaction involving the buffered molecule will still occur\n", "if the reactants are present in sufficiently large numbers, but the occurrence\n", "of this reaction will not actually change the amount of the buffered species\n", "that is present. The following code snippet shows how, during the time\n", "interval $0.1\\leq t<0.6$, the concentration of species `molA` is clamped to\n", "whatever its value was at $t=0.5$. We plot the result of a single iteration of the second order reaction, where the concentration of A is clamped during the interval $0.1\\leq t<0.6$\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.legend.Legend at 0x7f5aef5aab90>" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f5aeef90d90>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for i in range(1):\n", " sim.reset()\n", " sim.setCompConc('comp', 'molA', 31.4e-6)\n", " sim.setCompConc('comp', 'molB', 22.3e-6)\n", "\n", " for t in range(0, 101):\n", " sim.run(tpnt[t])\n", " res[i, t, 0] = sim.getCompCount('comp', 'molA')\n", " res[i, t, 1] = sim.getCompCount('comp', 'molB')\n", " res[i, t, 2] = sim.getCompCount('comp', 'molC')\n", "\n", " sim.setCompClamped('comp', 'molA', True)\n", "\n", " for t in range(101, 601):\n", " sim.run(tpnt[t])\n", " res[i, t, 0] = sim.getCompCount('comp', 'molA')\n", " res[i, t, 1] = sim.getCompCount('comp', 'molB')\n", " res[i, t, 2] = sim.getCompCount('comp', 'molC')\n", "\n", " sim.setCompClamped('comp', 'molA', False)\n", "\n", " for t in range(601,2001):\n", " sim.run(tpnt[t])\n", " res[i, t, 0] = sim.getCompCount('comp', 'molA')\n", " res[i, t, 1] = sim.getCompCount('comp', 'molB')\n", " res[i, t, 2] = sim.getCompCount('comp', 'molC')\n", "\n", "res = res[0,:,:]\n", "\n", "plt.figure(figsize=(12,7))\n", "# Plot mean number of molecules of 'molA' over the time range:\n", "plt.plot(tpnt, res[:,0], label='A')\n", "# Plot mean number of molecules of 'molB' over the time range:\n", "plt.plot(tpnt, res[:,1], label='B')\n", "# Plot mean number of molecules of 'molC' over the time range:\n", "plt.plot(tpnt, res[:,2], label='C')\n", "\n", "plt.xlabel('Time (sec)')\n", "plt.ylabel('#molecules')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The function [steps.solver.Wmdirect.setCompClamped](API_1/API_solver.rst#steps.API_1.solver.Wmdirect.setCompClamped) takes a boolean which is used to turn on or off\n", "the clamping of the species in the specified compartment.\n", "\n", "A final way in which we will control our simulation in this chapter is\n", "by activating/inactivating a reaction channel. Inactivating a reaction channel\n", "means that it will never occur, regardless of whether the required reactants\n", "are present in sufficient numbers. In the following simulation:\n", "\n", "* we will turn off the forward reaction of the above equation during\n", " interval $2.0\\leq t<4.0$;\n", "\n", "* turn it back on and let everything recover during $4.0\\leq t<6.0$;\n", "\n", "* turn off the backward reaction during $6.0\\leq t<8.0$;\n", "\n", "* turn it back on and let everything recover again during $8.0\\leq t<10.0$;\n", "\n", "* and finally turn off both the forward and backward channel during a final\n", " interval $10.0\\leq t<12.0$.\n", "\n", "This time, we'll wrap the “run-until-time-t“ part of the code in a separate\n", "function to save ourselves some writing, and we also have to alter our `tpnt`\n", "and `res` arrays to store data for 12 seconds:\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [ "def run(i, tp1, tp2):\n", " for t in range(tp1, tp2):\n", " sim.run(tpnt[t])\n", " res[i,t,0] = sim.getCompCount('comp', 'molA')\n", " res[i,t,1] = sim.getCompCount('comp', 'molB')\n", " res[i,t,2] = sim.getCompCount('comp', 'molC')\n", "res = numpy.zeros([NITER, 12001, 3])\n", "tpnt = numpy.arange(0.0, 12.001, 0.001)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The actual simulation code now becomes:\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.legend.Legend at 0x7f5aef51ed10>" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAAGtCAYAAADQwSggAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd81fX1x/HX547cbMIIe29EpgxxACpWwSoqVnDVibZa\nxfGrLW21trZ11dk6K04UalFxD1BEliLIHrL3CgGSkH3v/fz+uEkgkNzckNzcm+T9fDzyMHzv/X6/\nRyVw7vmez/kYay0iIiIiIhI6R6QDEBERERGpbZREi4iIiIhUkpJoEREREZFKUhItIiIiIlJJSqJF\nRERERCpJSbSIiIiISCUpiRYRERERqSQl0SIiIiIilaQkWkRERESkklyRDiAUTZo0se3bt490GCIi\nIiJSxy1evHi/tTa1ovfViiS6ffv2LFq0KNJhiIiIiEgdZ4zZGsr71M4hIiIiIlJJSqJFRERERCpJ\nSbSIiIiISCXVip5oEREREakdCgsL2bFjB3l5eZEOJajY2Fhat26N2+0+ofOVRIuIiIhItdmxYwdJ\nSUm0b98eY0ykwymTtZb09HR27NhBhw4dTugaaucQERERkWqTl5dH48aNozaBBjDG0Lhx4ypVy5VE\ni4iIiEi1iuYEulhVY1QSLSIiIiJSSUqiRURERKTOmT59OsYY1q5dG5brK4kWERERkTpnypQpnHHG\nGUyZMiUs11cSLSIiIiJ1yuHDh5k7dy6TJk1i6tSpYbmHRtyJiIiISFj85aNVrN6VWa3XPKllMn++\nsGfQ93zwwQecf/75dO3alcaNG7N48WJOOeWUao1DlWgRERERqVOmTJnCuHHjABg3blxYWjpUiRYR\nERGRsKioYhwOBw4c4Ouvv2bFihUYY/D5fBhjeOyxx6p19J4q0eXIyC1kze5MCrz+SIciIiIiIiGa\nNm0a11xzDVu3bmXLli1s376dDh06MGfOnGq9j5LocsxYvZeRT89hT0Z07/suIiIiIkdMmTKFSy65\npNSxMWPGVHtLh9o5yuFxBT5f5Ht9EY5EREREREI1a9as447dcccd1X4fVaLLcSSJVjuHiIiIiJSm\nJLocHrcTUBItIiIiIsdTEl0OtXOIiIiISHmURJcjRu0cIiIiIlIOJdHlKKlEFyqJFhEREZHSlESX\nw+Mq7olWO4eIiIiIlKYkuhzFlWhttiIiIiJSuzidTvr27UufPn3o378/8+fPr/Z7aE50OTxu9USL\n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\nTkSuQmCC\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f5aeef85290>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for i in range(NITER):\n", " sim.reset()\n", " sim.setCompConc('comp', 'molA', 31.4e-6)\n", " sim.setCompConc('comp', 'molB', 22.3e-6)\n", " run(i,0,2001)\n", " sim.setCompReacActive('comp', 'kreac_f', False)\n", " run(i,2001,4001)\n", " sim.setCompReacActive('comp', 'kreac_f', True)\n", " run(i,4001,6001)\n", " sim.setCompReacActive('comp', 'kreac_b', False)\n", " run(i,6001,8001)\n", " sim.setCompReacActive('comp', 'kreac_b', True)\n", " run(i,8001,10001)\n", " sim.setCompReacActive('comp', 'kreac_f', False)\n", " sim.setCompReacActive('comp', 'kreac_b', False)\n", " run(i,10001,12001)\n", " \n", "\n", "res_mean = numpy.mean(res, 0)\n", "\n", "plt.figure(figsize=(12,7))\n", "# Plot mean number of molecules of 'molA' over the time range:\n", "plt.plot(tpnt, res_mean[:,0], label = 'A')\n", "# Plot mean number of molecules of 'molB' over the time range:\n", "plt.plot(tpnt, res_mean[:,1], label = 'B')\n", "# Plot mean number of molecules of 'molC' over the time range:\n", "plt.plot(tpnt, res_mean[:,2], label = 'C')\n", "\n", "plt.xlabel('Time (sec)')\n", "plt.ylabel('#molecules')\n", "plt.legend()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }