{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "STEPS for Matlab\n", "---------------\n", "\n", "STEPS for MATLAB is an auxiliary module for STEPS that allows it to be integrated into Matlab. It implements a subset of the Matlab Simbiology toolbox functionality. Please refer to the _[Matlab Simbiology documentation](https://www.mathworks.com/help/simbio/)_ for further details.\n", "\n", "This tutorial builds a model with multiple compartments and several events. The events change the number of a molecular species or the reaction rate of a reaction.\n", "\n", "Matlab Simbiology is in contrast to STEPS not a spatial solver but a well-mixed solver. It supports multiple compartments that may be nested and allows reaction events between the molecular species of different compartments. The STEPS well-mixed solvers 'wmrk4' and 'wmdirect' \n", "\n", "STEPS requires volumes, molecular concentrations, and reaction rates to have units while Matlab \n", "\n", "### Major differences between STEPS and Matlab Simbiology:\n", "- STEPS is inherently a spatial similator but also offers the simulation of well-mixed reation systems using the Runge-Kutta-based deterministic solver 'wmrk4' and the stochastic solver implementing the SSA 'wmdirect',\n", "- Matlab Simbiology is a well-mixed solver not aware of complex spatial geometries. However, it is supported multiple, potentially nested, compartments,\n", "- STEPS is aware what happens on the surface of compartments, Matlab focuses on simulating the reactions within,\n", "- Matlab supports various kinetic laws while STEPS requires the law of mass action. \n", "\n", "### Limitations:\n", "- no repeated assignments in events,\n", "- only supports the '[t, x, names]' return value format. While Matlab Simbiology only supports a single realisation using this convention, STEPS for Matlab supports ensembles. 'x' is extended from a Matlab array to a cell array where each cell contains the time evolution data of one realisation. The time vector 't' and the list of molecular species 'names' are unchanged,\n", "- if a reaction rate is changed by an event, the same units as in the model are assumed,\n", "- only volume - volume reactions since Matlab does not support the concept of molecules embedded in surfaces,\n", "- the volume of compartments is assumed to be constant.\n", "\n", "### Reaction rate units supported:\n", "- '1/second',\n", "- '1/(micromolarity*second)',\n", "- '1/(nanomolarity*second)',\n", "- 'micromol/second',\n", "- 'nanomol/second'.\n", "\n", "### Compartment volume units supported:\n", "- 'l' or 'liter',\n", "- 'ml' or milliliter',\n", "- 'mul' or 'microliter',\n", "- 'nl' or 'nanoliter'.\n", "\n", "STEPS requires a unit to be attached to each value while Matlab does not. Please see the _[STEPS tutorial on simulating a well mixed system](well_mixed.ipynb)_ for details.\n", "\n", "### Installation\n", "In order to run this tutorial, Matlab and the [Matlab API for Python](https://www.mathworks.com/help/matlab/matlab-engine-for-python.html) needs to be installed.\n", "\n", "Also, STEPS for Matlab need to be in the Matlab search path. The steps.utilities.matlab_support Python module exposes the abs_path variable readable by Matlab:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "steps_mod = py.importlib.import_module('steps.utilities.matlab_support');\n", "addpath(char(steps_mod.abs_path))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dimerisation-decay model\n", "\n", "This example is taken from Gillespie(1977). Construct the model and add a compartment. STEPS requires each part of the model such as a compartment or reaction rate to have a unit. For compartments, STEPS uses SI units with is m3m3 . STEPS for Matlab converts the unit given in the Matlab model automatically:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "model = sbiomodel('Decaying-Dimerizing Reaction Set');\n", "c = addcompartment(model, 'c');\n", "c.CapacityUnits = 'nanoliter';\n", "c.Capacity = 1;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Add the molecular species 's1', 's2', and 's3'. Matlab assigns species to compartments. STEPS assigns them to the top level model but allows different initial conditions per compartment. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "s1 = addspecies(c, 's1', 'InitialAmount', 1e-4, 'InitialAmountUnits', 'micromolarity');\n", "s2 = addspecies(c, 's2', 'InitialAmount', 0, 'InitialAmountUnits', 'micromolarity');\n", "s3 = addspecies(c, 's3', 'InitialAmount', 0, 'InitialAmountUnits', 'micromolarity');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Add the reactions. Species 's1' either decays or dimerises forming 's2' in reaction 'r1' and 'r2', respectively. Reaction 'r3' converts species 's2' into 's3'. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "r1 = addreaction(model, 's1 -> null');\n", "r2a = addreaction(model, 's1 + s1 -> s2');\n", "r2b = addreaction(model, 's2 -> 2 s1');\n", "r3 = addreaction(model, 's2 -> s3');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next four cells set up the reaction Kinetics. STEPS only supports the law of mass action while Matlab supports a broader range. This tutorial follows the Matlab approach to create a kinetic law objetc per reaction:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "kl1 = addkineticlaw(r1, 'MassAction');\n", "kl2a = addkineticlaw(r2a, 'MassAction');\n", "kl2b = addkineticlaw(r2b, 'MassAction');\n", "kl3 = addkineticlaw(r3, 'MassAction');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Add the parameters for the reaction rates. Please be ware, they need to have a unit attached to it:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "p1 = addparameter(kl1, 'c1', 'Value', 1.0, 'ValueUnits', '1/second');\n", "p2f = addparameter(kl2a, 'c2f', 'Value', 0.2, 'ValueUnits', '1/(micromolarity*second)');\n", "p2r = addparameter(kl2b, 'c2r', 'Value', 0.5, 'ValueUnits', '1/second');\n", "p3 = addparameter(kl3, 'c3', 'Value', 0.04, 'ValueUnits', '1/second');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and link the parameters to the kinetic " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "kl1.ParameterVariableNames = {'c1'};\n", "kl2a.ParameterVariableNames = {'c2f'};\n", "kl2b.ParameterVariableNames = {'c2r'};\n", "kl3.ParameterVariableNames = {'c3'};" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Introspection of the model to verify all the required components are in place." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Annotation: ''\n", " ConstantValue: 1\n", " Name: 'c1'\n", " Notes: ''\n", " Parent: [1×1 SimBiology.KineticLaw]\n", " Tag: ''\n", " Type: 'parameter'\n", " UserData: []\n", " Value: 1\n", " ValueUnits: '1/second'\n", "\n", " Annotation: ''\n", " ConstantValue: 1\n", " Name: 'c2f'\n", " Notes: ''\n", " Parent: [1×1 SimBiology.KineticLaw]\n", " Tag: ''\n", " Type: 'parameter'\n", " UserData: []\n", " Value: 0.2000\n", " ValueUnits: '1/(micromolarity*second)'\n", "\n" ] } ], "source": [ "r = model.get('Reactions');\n", "r(1).get('KineticLaw').get('Parameters').get()\n", "r(2).get('KineticLaw').get('Parameters').get()\n", "p = model.get('Parameters');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Simulate the model using Matlab's 'sbiosimulate' using the stochastic 'SSA' solver and plot the results. Please be aware that the sequence of species in the data is not necessarily the same as in Matlab's 'sbiosimulate':" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Warning: Reported from Stochastic Compilation:\n", "Stochastic solvers expect integer initial amounts for species. A fractional initial amount was found for species named 's1'. It was rounded to the nearest integer.\n", "\n", "> In sbiosimulate (line 140)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cs = getconfigset(model,'active');\n", "p2f.Value = 6.022e6;\n", "p2f.ValueUnits = '1/(micromolarity*second)';\n", "cs.SolverType = 'ssa';\n", "cs.StopTime = 30;\n", "\n", "co = get(cs,'CompileOptions');\n", "set(co,'UnitConversion', true);\n", "\n", "%solver = cs.SolverOptions;\n", "%solver.LogDecimation = 10;\n", "%cs.CompileOptions.DimensionalAnalysis = false;\n", "[t_ssa, x_ssa] = sbiosimulate(model);\n", "\n", "% scale to the numer of molecules\n", "x_ssa = x_ssa .* (6.022e23 * 1e-6 *1e-9);\n", "\n", "h1 = subplot(2,1,1);\n", "plot(h1, t_ssa, x_ssa(:,1));\n", "h2 = subplot(2,1,2);\n", "plot(h2, t_ssa, x_ssa(:,2:3));\n", "grid(h1,'on'); \n", "grid(h2,'on');\n", "title(h1,'Decay Dimerizing Reactions');\n", "ylabel(h1,'Amount of S1');\n", "ylabel(h2,'Amount of S2 & S3');\n", "xlabel(h2,'Time');\n", "legend(h2, 'S2', 'S3');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Simulate using STEPS for Matlab using STEPS stochastic 'wmdirect' solver:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " SimBiology Parameter Array\n", "\n", " Index: Name: Value: ValueUnits:\n", " 1 c2f 6.022e+06 1/(micromolarity*second)\n", "\n", " dt: 0.1000\n", " modeltofile: 1\n", " realisations: 1\n", " rk4dt: 1.0000e-05\n", " seed: 0\n", " solver: 'wmdirect'\n", " stoptime: 30\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", "value =\n", "\n", " 1\n", "\n", "\n", "value_unit =\n", "\n", "1/second\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", "value =\n", "\n", " 6022000\n", "\n", "\n", "value_unit =\n", "\n", "1/(micromolarity*second)\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", "value =\n", "\n", " 0.5000\n", "\n", "\n", "value_unit =\n", "\n", "1/second\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", " SimBiology Compartment - c \n", "\n", " Compartment Components:\n", " Capacity: 1\n", " CapacityUnits: nanoliter\n", " Compartments: 0\n", " ConstantCapacity: true\n", " Owner: \n", " Species: 3\n", "\n", "\n", "value =\n", "\n", " 0.0400\n", "\n", "\n", "value_unit =\n", "\n", "1/second\n", "\n", "log level: info\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "{\"species\": [\"s1\", \"s2\", \"s3\"], \"data\": [[[[60222.0, 0.0, 0.0], [60222.0, 0.0, 0.0], [1227.0, 29259.0, 117.0], [1191.0, 29070.0, 265.0], [1204.0, 28887.0, 385.0], [1133.0, 28721.0, 529.0], [1122.0, 28554.0, 634.0], [1221.0, 28327.0, 746.0], [1177.0, 28180.0, 856.0], [1179.0, 28009.0, 970.0], [1159.0, 27842.0, 1095.0], [1149.0, 27680.0, 1208.0], [1151.0, 27504.0, 1326.0], [1156.0, 27356.0, 1419.0], [1104.0, 27232.0, 1511.0], [1070.0, 27078.0, 1628.0], [1139.0, 26873.0, 1744.0], [1154.0, 26701.0, 1847.0], [1172.0, 26552.0, 1937.0], [1163.0, 26388.0, 2049.0], [1100.0, 26244.0, 2167.0], [1051.0, 26128.0, 2260.0], [1105.0, 25935.0, 2365.0], [1136.0, 25769.0, 2466.0], [1078.0, 25653.0, 2560.0], [1120.0, 25464.0, 2670.0], [1071.0, 25312.0, 2786.0], [1082.0, 25163.0, 2879.0], [1107.0, 24992.0, 2983.0], [1060.0, 24852.0, 3099.0], [1118.0, 24660.0, 3198.0], [1093.0, 24517.0, 3304.0], [1097.0, 24352.0, 3399.0], [1090.0, 24218.0, 3489.0], [1073.0, 24071.0, 3595.0], [1100.0, 23905.0, 3695.0], [1097.0, 23757.0, 3795.0], [996.0, 23652.0, 3902.0], [1052.0, 23470.0, 4016.0], [1063.0, 23323.0, 4111.0], [1064.0, 23190.0, 4191.0], [1001.0, 23066.0, 4290.0], [1064.0, 22900.0, 4376.0], [1044.0, 22759.0, 4471.0], [1063.0, 22609.0, 4554.0], [1025.0, 22471.0, 4650.0], [1017.0, 22332.0, 4734.0], [1047.0, 22174.0, 4825.0], [1052.0, 22037.0, 4906.0], [1059.0, 21907.0, 4976.0], [1015.0, 21796.0, 5069.0], [1001.0, 21667.0, 5150.0], [993.0, 21533.0, 5239.0], [1035.0, 21370.0, 5329.0], [993.0, 21247.0, 5425.0], [1061.0, 21073.0, 5518.0], [940.0, 20999.0, 5601.0], [963.0, 20861.0, 5677.0], [983.0, 20731.0, 5752.0], [1007.0, 20568.0, 5854.0], [970.0, 20471.0, 5926.0], [942.0, 20348.0, 6010.0], [986.0, 20194.0, 6092.0], [920.0, 20108.0, 6166.0], [979.0, 19951.0, 6248.0], [934.0, 19838.0, 6341.0], [948.0, 19705.0, 6421.0], [970.0, 19546.0, 6514.0], [955.0, 19436.0, 6582.0], [1003.0, 19284.0, 6661.0], [972.0, 19173.0, 6735.0], [937.0, 19065.0, 6807.0], [917.0, 18954.0, 6882.0], [936.0, 18831.0, 6951.0], [954.0, 18702.0, 7017.0], [970.0, 18571.0, 7095.0], [913.0, 18462.0, 7182.0], [953.0, 18322.0, 7248.0], [887.0, 18250.0, 7308.0], [992.0, 18080.0, 7385.0], [966.0, 17961.0, 7464.0], [963.0, 17840.0, 7544.0], [908.0, 17756.0, 7613.0], [898.0, 17647.0, 7677.0], [860.0, 17550.0, 7752.0], [955.0, 17399.0, 7819.0], [907.0, 17307.0, 7890.0], [922.0, 17192.0, 7959.0], [849.0, 17119.0, 8019.0], [879.0, 17002.0, 8076.0], [896.0, 16882.0, 8140.0], [854.0, 16780.0, 8220.0], [904.0, 16651.0, 8285.0], [870.0, 16571.0, 8342.0], [889.0, 16449.0, 8406.0], [847.0, 16356.0, 8475.0], [937.0, 16184.0, 8557.0], [883.0, 16100.0, 8623.0], [882.0, 16000.0, 8684.0], [865.0, 15899.0, 8747.0], [913.0, 15768.0, 8809.0], [892.0, 15659.0, 8875.0], [861.0, 15575.0, 8933.0], [863.0, 15464.0, 8997.0], [873.0, 15349.0, 9063.0], [835.0, 15264.0, 9119.0], [843.0, 15171.0, 9166.0], [879.0, 15033.0, 9237.0], [907.0, 14920.0, 9291.0], [812.0, 14860.0, 9353.0], [791.0, 14773.0, 9411.0], [843.0, 14645.0, 9472.0], [861.0, 14534.0, 9540.0], [824.0, 14454.0, 9597.0], [841.0, 14347.0, 9656.0], [791.0, 14271.0, 9710.0], [808.0, 14170.0, 9770.0], [869.0, 14051.0, 9826.0], [819.0, 13973.0, 9881.0], [833.0, 13880.0, 9928.0], [841.0, 13789.0, 9970.0], [821.0, 13691.0, 10037.0], [788.0, 13613.0, 10093.0], [787.0, 13528.0, 10138.0], [792.0, 13438.0, 10187.0], [788.0, 13367.0, 10230.0], [789.0, 13278.0, 10278.0], [785.0, 13205.0, 10318.0], [805.0, 13105.0, 10364.0], [752.0, 13020.0, 10424.0], [785.0, 12924.0, 10470.0], [745.0, 12872.0, 10516.0], [755.0, 12780.0, 10562.0], [749.0, 12697.0, 10608.0], [805.0, 12559.0, 10671.0], [708.0, 12502.0, 10727.0], [735.0, 12411.0, 10770.0], [727.0, 12319.0, 10817.0], [721.0, 12237.0, 10860.0], [723.0, 12138.0, 10916.0], [706.0, 12067.0, 10960.0], [773.0, 11944.0, 11005.0], [783.0, 11865.0, 11041.0], [765.0, 11795.0, 11091.0], [769.0, 11728.0, 11125.0], [732.0, 11679.0, 11162.0], [741.0, 11591.0, 11213.0], [753.0, 11510.0, 11250.0], [737.0, 11425.0, 11298.0], [754.0, 11331.0, 11345.0], [766.0, 11251.0, 11384.0], [757.0, 11185.0, 11424.0], [729.0, 11122.0, 11469.0], [730.0, 11055.0, 11507.0], [699.0, 10987.0, 11553.0], [703.0, 10908.0, 11599.0], [672.0, 10850.0, 11636.0], [702.0, 10750.0, 11679.0], [715.0, 10668.0, 11716.0], [695.0, 10592.0, 11765.0], [706.0, 10497.0, 11817.0], [673.0, 10430.0, 11868.0], [680.0, 10359.0, 11902.0], [684.0, 10290.0, 11936.0], [713.0, 10222.0, 11962.0], [722.0, 10138.0, 12008.0], [726.0, 10063.0, 12049.0], [656.0, 10019.0, 12096.0], [681.0, 9926.0, 12140.0], [677.0, 9851.0, 12190.0], [640.0, 9800.0, 12226.0], [675.0, 9712.0, 12265.0], [645.0, 9662.0, 12299.0], [636.0, 9589.0, 12339.0], [690.0, 9487.0, 12383.0], [660.0, 9429.0, 12422.0], [691.0, 9343.0, 12460.0], [658.0, 9293.0, 12496.0], [640.0, 9227.0, 12532.0], [665.0, 9149.0, 12566.0], [648.0, 9094.0, 12601.0], [658.0, 9026.0, 12629.0], [679.0, 8948.0, 12663.0], [616.0, 8902.0, 12704.0], [636.0, 8820.0, 12739.0], [650.0, 8740.0, 12779.0], [663.0, 8661.0, 12823.0], [627.0, 8612.0, 12854.0], [627.0, 8543.0, 12892.0], [618.0, 8479.0, 12928.0], [613.0, 8419.0, 12967.0], [631.0, 8340.0, 13005.0], [671.0, 8264.0, 13031.0], [594.0, 8233.0, 13073.0], [617.0, 8148.0, 13117.0], [602.0, 8099.0, 13144.0], [588.0, 8038.0, 13179.0], [665.0, 7937.0, 13215.0], [595.0, 7909.0, 13242.0], [578.0, 7853.0, 13270.0], [591.0, 7785.0, 13304.0], [590.0, 7724.0, 13337.0], [601.0, 7647.0, 13378.0], [560.0, 7609.0, 13404.0], [568.0, 7548.0, 13432.0], [612.0, 7452.0, 13474.0], [588.0, 7401.0, 13507.0], [587.0, 7344.0, 13531.0], [546.0, 7308.0, 13561.0], [558.0, 7243.0, 13592.0], [525.0, 7214.0, 13617.0], [540.0, 7150.0, 13646.0], [573.0, 7081.0, 13671.0], [570.0, 7025.0, 13699.0], [587.0, 6960.0, 13729.0], [594.0, 6900.0, 13754.0], [614.0, 6838.0, 13774.0], [574.0, 6799.0, 13802.0], [541.0, 6763.0, 13827.0], [603.0, 6667.0, 13861.0], [543.0, 6646.0, 13890.0], [534.0, 6595.0, 13924.0], [541.0, 6540.0, 13947.0], [540.0, 6489.0, 13973.0], [540.0, 6434.0, 13999.0], [541.0, 6377.0, 14033.0], [507.0, 6342.0, 14058.0], [510.0, 6287.0, 14082.0], [570.0, 6203.0, 14115.0], [520.0, 6180.0, 14139.0], [536.0, 6123.0, 14162.0], [510.0, 6090.0, 14179.0], [520.0, 6028.0, 14207.0], [522.0, 5980.0, 14227.0], [517.0, 5935.0, 14251.0], [504.0, 5901.0, 14271.0], [489.0, 5864.0, 14291.0], [501.0, 5814.0, 14309.0], [543.0, 5740.0, 14334.0], [547.0, 5692.0, 14357.0], [531.0, 5650.0, 14378.0], [509.0, 5614.0, 14397.0], [473.0, 5583.0, 14419.0], [512.0, 5521.0, 14437.0], [502.0, 5473.0, 14464.0], [485.0, 5433.0, 14488.0], [466.0, 5393.0, 14509.0], [457.0, 5347.0, 14535.0], [471.0, 5285.0, 14564.0], [492.0, 5232.0, 14580.0], [488.0, 5183.0, 14602.0], [471.0, 5133.0, 14630.0], [492.0, 5073.0, 14658.0], [465.0, 5045.0, 14673.0], [497.0, 4984.0, 14697.0], [475.0, 4957.0, 14713.0], [497.0, 4900.0, 14741.0], [459.0, 4878.0, 14758.0], [497.0, 4815.0, 14781.0], [444.0, 4808.0, 14795.0], [463.0, 4759.0, 14813.0], [449.0, 4719.0, 14835.0], [451.0, 4671.0, 14859.0], [483.0, 4610.0, 14879.0], [448.0, 4582.0, 14896.0], [481.0, 4536.0, 14906.0], [444.0, 4506.0, 14930.0], [462.0, 4454.0, 14952.0], [456.0, 4413.0, 14971.0], [460.0, 4370.0, 14990.0], [451.0, 4333.0, 15009.0], [479.0, 4285.0, 15020.0], [461.0, 4260.0, 15034.0], [440.0, 4233.0, 15049.0], [414.0, 4215.0, 15062.0], [403.0, 4187.0, 15076.0], [376.0, 4163.0, 15091.0], [385.0, 4124.0, 15109.0], [437.0, 4066.0, 15122.0], [427.0, 4036.0, 15140.0], [394.0, 4021.0, 15152.0], [389.0, 3980.0, 15171.0], [438.0, 3919.0, 15187.0], [438.0, 3873.0, 15210.0], [412.0, 3854.0, 15221.0], [416.0, 3814.0, 15234.0], [426.0, 3778.0, 15247.0], [380.0, 3779.0, 15252.0], [429.0, 3724.0, 15263.0], [376.0, 3704.0, 15280.0], [407.0, 3650.0, 15295.0], [377.0, 3633.0, 15308.0], [389.0, 3595.0, 15319.0], [385.0, 3552.0, 15341.0], [381.0, 3518.0, 15354.0], [386.0, 3483.0, 15364.0], [386.0, 3441.0, 15386.0], [391.0, 3409.0, 15396.0], [438.0, 3356.0, 15404.0], [385.0, 3352.0, 15418.0]]]], \"compartments\": [\"c\"]}STEPS exit status:\n", " 0\n", "\n", "t, x, names output convention.\n" ] } ], "source": [ "p2f.Value = 6.022e6;\n", "p2f.ValueUnits = '1/(micromolarity*second)'\n", "\n", "[t, x, names] = run_steps(model, 'stoptime', 30, 'realisations', 1, 'modeltofile', true);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and also plot the results:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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ZatFzKqysjK2Q2gT9lovYr9VQ724LyUlpaKigplWqVSsxvJgnEhIqampCxcunDlzplAofMhVPv7449GjR/fs2bOFhBQYGLh3794Xvsr5YtrcVoqUK5RKJdshtAl7rRex36qhXhy3ceNG63R8fDyLkTwM9hMSRVGEkFmzZj38M6TLly+npaX997//1Wq1er2eoiitVouxKgAAbBr7CYnP53t5eanV6qCgoIdcZe/evTqdbsyYMYQQo9FoMpni4uLOnj3blmECAEDbYj8hEULWr18/evTof//7315eXvXLe/bs2eTyq1evZtqLE0L27dt36tQpNPsGALB1nEhIs2fPFolE8+bNq1/I4/GysrLYCgkAANoZJxLShQsXHnvdZ5555plnnmnFYAAAgBWcSEjFxcVNlnt7e7dzJAAAwBZOJKTRo0frdLoGhS2/hwQAAHaGEwkpIyOjQcnq1astFgw9DgDQgXBi+AnHRt555539+/ezHRcAALQfTiSk5mA8JACAjoMTt+wajBhrNpvfeuuthxwPCQAA7AMnElJ8fLxer69f4ubmduDAAbbiAQCA9seJhPT777+zHQIAALCM08+QAACg4+DEFRIhpKSkZM6cOSUlJYQQd3f39evXBwYGsh0UAAC0H05cIZ05c2bYsGEajWbp0qVLliwxm80jR45MS0tjOy4AAGg/nLhCWrx4cXJyckJCAjM7efLk48ePv/766+hcFQCg42D/ComiqKqqqqlTp9YvHDFihNlsxntIAAAdB/sJic/n8/n8e/fu1S/UarVmsxmDwAIAdBzsJyRCyNixY2NiYnJyckwmk8lkKioqio6OjouL4/E4ER4AALQDTjxD+uijj4xG46RJk6wlUVFRmzZtYjEkAABoZ5xISISQdevWVVRUlJaW0jQtl8tlMllNTY2LiwvbcQEAQDvhREI6efJkUlKS0WisX4jxkAAAOhROJKSkpKQxY8YkJSUJhUK2YwEAAHawn5BMJpPRaExOTkabOgCAjoz9ZmxCoVAikTTo7RsAADoa9q+QCCFr1qwZP378zp07JRJJ/XIfHx+2QgIAgHbGiYRUXV1dXl4+evTo+oVo1AAA0KFwIiG99957L7/88uzZs0UiEduxAAAAO9hPSBRFURQ1Z86cRx2wPCcnJz8/383NbdCgQS0vqTfTEgH7T8sAAKAF7CckPp/v5uam1+sfKSGtXLny7NmzYWFhubm5Mplsx44dLfQzpK4xBrpLmvsrAABwAfsJiRCyatWqESNG7N69u0F5z549m1w+MzPzu+++O3XqlLOzs8FgiIuLO3ny5PDhw5tcWCnDbUAAABvAiYT01ltv6fX6KVOm1C90cHC4evVqk8srFIrU1FTmikosFgcEBJjN5uY2LsbNOgAAW8CJhPT7778/0vL+/v7+/v7MdF5eXl5e3rBhwxovplKp4uPjr7pE/Lr9Wme5aOXKla0QKweUlZWxHUKbsNd6EfutGurFfSkpKRUVFcy0SqViNZYH40RCaoym6e+//37MmDEtL1ZZWTl37tzmenkIDAzcu3fvqh9uPz/A286eISmVSrZDaBP2Wi9iv1VDvThu48aN1un4+HgWI3kYnEtIRUVFb7zxxoULF/h8fssJSafTzZ07d8KECePGjWu38AAAoI1wJSFptdrPP/98+/btNTU1vr6+n332WZN34axoml6wYEFISMiCBQvaLUgAAGg77CekrKysJUuW5Ofnu7i4zJo1a/PmzXv37vX09Gx5raVLl0ql0pSUlIfZhd5Mt0akAADQhthMSG+99dbhw4dpmh4+fPj27du9vb0JIZs3b37giufPnz906JBAIOjbty9TEhkZuWXLluaWV9caenihK3EAAE5jMyGVlZUZjUZ/f/8ZM2Yw2eghDRw48Nq1a20XGAAAtD8239HZsmXLuXPn/vKXv7zyyishISGJiYlFRUUsxgMAACxi+aVRuVy+bNmyixcv/vDDD5WVlU8//bTRaPzkk09a8T0AiRAvxgIA2ACufFkHBgZ+9913ly5dWrFixalTp6Kjo4cMGdIqW0bXQQAANoErCYkhFosTExMzMjJOnToVFhbGdjgAANB+uJWQrLy9vdevX892FAAA0H44mpBal96E95AAALiuQyQkda2R7RAAAOABOkRCAgAA7kNCAgAATkBCAgAATkBCAgAATkBCAgAATrD/hCQR2H8dAQDsgP1/WStdRHgPCQCA++w/IRG8hwQAYAs6REICAADuQ0ICAABOQEICAABOQEICAABOQEICAABOQEICAABOsP+EJOA5UBYL21EAAMAD2H9C8nOV3K02sB0FAAA8gP0nJAAAsAk2nJBu3br1/fffnzt3rrkFVCpVO4bTflJSUtgOoU3Ya72I/VYN9bIt3P9KFLAd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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figure;\n", "h1 = subplot(2,1,1);\n", "plot(t, x{1}(:,1));\n", "h2 = subplot(2,1,2);\n", "plot(t, x{1}(:,2), t, x{1}(:,3));\n", "grid(h1,'on'); \n", "grid(h2,'on');\n", "title(h1,'Decay Dimerizing Reactions');\n", "ylabel(h1,'Amount of S1');\n", "ylabel(h2,'Amount of S2 & S3');\n", "xlabel(h2,'Time');\n", "legend(h2, 'S2', 'S3');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Diffusion between compartments and events\n", "\n", "Construct the model and add two compartments 'a' and 'b' with the volume of 1 liter each to it:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "model = sbiomodel('Two_compartment_diffusion');\n", "a = addcompartment(model, 'a');\n", "b = addcompartment(model, 'b');\n", "a.CapacityUnits = 'liter';\n", "b.CapacityUnits = 'liter';" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Add the molecular species 'x', 'y', 'z'. The species 'n' is the sink for decyed molecules. Matlab assigns species to compartments. STEPS assigns them to the top level model but allows different initial conditions per compartment. " ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "% species\n", "x_a = addspecies(a, 'x', 'InitialAmount', 1000, 'InitialAmountUnits', 'molecule');\n", "x_b = addspecies(b, 'x', 'InitialAmount', 0, 'InitialAmountUnits', 'molecule');\n", "y_a = addspecies(a, 'y', 'InitialAmount', 0, 'InitialAmountUnits', 'molecule');\n", "y_b = addspecies(b, 'y', 'InitialAmount', 1000, 'InitialAmountUnits', 'molecule');\n", "z_a = addspecies(a, 'z', 'InitialAmount', 2000, 'InitialAmountUnits', 'molecule');\n", "n_a = addspecies(a, 'n', 'InitialAmount', 0, 'InitialAmountUnits', 'molecule');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Matlab uses a 'compartment.specie' notation distinguish molecular species within different compartments. Reactions involving two compartments are translated into STEPS surface reactions. A STEPS patch is automatically created. Reactions involving more than two compartments are not supported.\n", "\n", "There are two compartments 'a' and 'b' in this example. Molecules of species 'x' and 'y' can diffuse from one compartment to the other as given in reaction 'r1' to 'r4'. Furthermore, species 'z' is limited to compartment 'a' and decays." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "% reactions\n", "r1 = addreaction(model, 'a.x -> b.x');\n", "r2 = addreaction(model, 'b.x -> a.x');\n", "r3 = addreaction(model, 'a.y -> b.y');\n", "r4 = addreaction(model, 'b.y -> a.y');\n", "r5 = addreaction(model, 'a.z -> a.n');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As in the previous example, the next four cells set up the reaction Kinetics. STEPS only supports the law of mass action while Matlab supports a broader range. This tutorial follows the Matlab approach to create a kinetic law objetc per reaction:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "% Set the kinetic law\n", "kl1 = addkineticlaw(r1, 'MassAction');\n", "kl2 = addkineticlaw(r2, 'MassAction');\n", "kl3 = addkineticlaw(r3, 'MassAction');\n", "kl4 = addkineticlaw(r4, 'MassAction');\n", "kl5 = addkineticlaw(r5, 'MassAction');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "as well as a parameter for the reation rate of each reaction. In order to modify the reaction rates by an event during the course of the simulation, the parameters have to be defined as non-constant: " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "% Add rate constant parameter, c2, to kinetic law with value = 0.01\n", "p1 = addparameter(model, 'c1', 'Value', 0.25, 'ConstantValue', false);\n", "p2 = addparameter(model, 'c2', 'Value', 0.25, 'ConstantValue', false);\n", "p3 = addparameter(model, 'c3', 'Value', 0.25, 'ConstantValue', false);\n", "p4 = addparameter(model, 'c4', 'Value', 0.25, 'ConstantValue', false);\n", "p5 = addparameter(model, 'c5', 'value', 0.1, 'ConstantValue', false);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The reaction rates are linked to the kinetic laws and with it to the reaction by setting the \\ParameterVariableNames\\ property of the kinetic law to the name of the desired parameter:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "set(kl1, 'ParameterVariableNames', {'c1'});\n", "set(kl2, 'ParameterVariableNames', {'c2'});\n", "set(kl3, 'ParameterVariableNames', {'c3'});\n", "set(kl4, 'ParameterVariableNames', {'c4'});\n", "set(kl5, 'ParameterVariableNames', {'c5'});" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "STEPS requires units for each part of the model. For reaction rates steps requires the molecular concentration part of the rate to be given in $\\frac{Mol}{liter}$. STEPS for Matlab automatically converts the units." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "% Add units to c2\n", "p1.ValueUnits = '1/second';\n", "p2.ValueUnits = '1/second';\n", "p3.ValueUnits = '1/second';\n", "p4.ValueUnits = '1/second';\n", "p5.ValueUnits = '1/second';" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Add the events. An event has a trigger \\time\\ which gives the simulation time when the event occurs and a string defining what shall happen. Matlab supports arbitrary Matlab code such as function call in events. STEPS for Matlab only supports assigning a value to a molecular species and reaction rates. \n", "\n", "It is assumed that the variables changed by the event have the same units as in molecular concentration as in the earlier model definition." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "% add a simple event, at t=15 we set x_a=1000 and y_b=1000\n", "e1 = addevent(model, 'time>=15', {'a.x = 1000', 'b.y = 1000'});\n", "e2 = addevent(model, 'time>=10', 'a.x = 0');\n", "e3 = addevent(model, 'time>=20', 'a.z = 0');\n", "e4 = addevent(model, 'time>=5', 'c5 = 0');\n", "e5 = addevent(model, 'time>=15', 'c5 = 0.1');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Introspect the model and the parameters. The model got 2 compartments, 5 reactions with a parameter each, 6 molecular species, and 5 events:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "model\n", "model.get('Events')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Simulate the model using Matlab's Simbiology solver up to 't = 30' seconds:" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [], "source": [ "% this would be running the simulation using Matlab simbiology\n", "cs = getconfigset(model,'active');\n", "% cs.SolverType = 'ssa';\n", "cs.StopTime = 30;\n", "[t, x, names] = sbiosimulate(model);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and plot the results. STEPS for Matlab only supports the '[t, x, name]' return value convention of 'sbiosimulate' where 'x' denotes the vector of time points, 'x' the array containing the time evoluton data, and 'names' the column or species names of 'x'. However, it has been extended to support ensembles of realisations by using a cell array for the time evolution data 'x'. Each cell contains a single realisation of the ensemble computed." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "% plot\n", "h1 = subplot(2,1,1);\n", "plot(h1, t, x(:,1:3));\n", "h2 = subplot(2,1,2);\n", "plot(h2, t, x(:,5:6));\n", "grid(h1,'on'); \n", "grid(h2,'on');\n", "title(h1,'Diffusion between 2 compartments');\n", "ylabel(h1,'Amount compartment a');\n", "ylabel(h2,'Amount compartment b');\n", "xlabel(h2,'Time');\n", "legend(h1, 'x', 'y', 'z');\n", "legend(h2, 'x', 'y');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, simulate the reaction system using STEPS for Matlab.\n", "\n", "STEPS for Matlab does not yet support returning Simbiology SimData objects. Only the [t, x, names] convention is supported where t is a vector of time points, x the corresponding state data, and names the list of molecular species names. However, while Matlab Simbiology only supports a single realisation using this return data format convention, STEPS for Matlab also supports ensembles by extending x to a cell array, one cell per realisation. \n", "\n", "Input arguments. They are given as name, value pair.\n", "- solver - 'wmdirect' or 'wmrk4', default: 'wmdirect'. Please see the STEPS documentation for details (TODO: links missing) \n", "- seed - set an explicit see for the pseudo random number generator. If '0' or nothing given, a seed will be generated,\n", "- realisations - the number of realisations to be computed, default: '1',\n", "- rk4dt - internal time step of the Runge-Kutta solver wmrk4, default: '1e-5',\n", "- dt - increment between the time points at which the molecular populations are stored,\n", "- stoptime - the final time up to which the simulation will be computed,\n", "- modeltofile - boolean flag, 'True' or False'. If set to 'True', the generated STEPS model is written to a file." ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " dt: 0.1000\n", " modeltofile: 1\n", " realisations: 1\n", " rk4dt: 1.0000e-05\n", " seed: 0\n", " solver: 'wmrk4'\n", " stoptime: 30\n", "\n", "log level: info\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "{\"species\": [\"n\", \"x\", \"y\", \"z\"], \"compartments\": [\"a\", \"b\"], \"data\": [[[[0.0, 1000.0, 0.0, 2000.0], [19.90033250166516, 975.6147122503535, 24.385287749644604, 1980.0996674983344], [39.602653386477755, 952.4187090179876, 47.58129098200664, 1960.3973466135199], [59.10893290295271, 930.3539882125621, 69.64601178743695, 1940.8910670970472], [78.4211216953039, 909.3653765390447, 90.63462346095645, 1921.5788783046935], [97.54115099850381, 889.4003915357748, 110.599608464228, 1902.4588490015014], [116.4709328315207, 870.4091103408471, 129.59088965915853, 1883.5290671684909], [135.2123601882068, 852.3440448592605, 147.65595514073863, 1864.7876398118033], [153.76730722691497, 835.1600230176457, 164.8399769823471, 1846.2326927731], [172.13762945781397, 818.8140758106466, 181.18592418934406, 1827.862370542212], [190.32516392843098, 803.2653298560192, 196.73467014397087, 1809.6748360715892], [208.33172940717319, 788.4749051900565, 211.52509480993587, 1791.6682705928429], [226.1591265657978, 774.4058180469231, 225.59418195306748, 1773.8408734342177], [243.809138158874, 761.0228883805103, 238.9771116194831, 1756.1908618411344], [261.2835292022703, 748.2926518957844, 251.70734810420598, 1738.716470797729], [278.584047149655, 736.1832763706657, 263.8167236293327, 1721.4159528503335], [295.71242206723906, 724.6644820588297, 275.3355179411633, 1704.287577932744], [312.67036680678734, 713.7074659746414, 286.29253402535204, 1687.3296331931995], [329.4595771769043, 703.2848298706275, 296.71517012936374, 1670.5404228230818], [346.0817321126198, 693.3705117276219, 306.6294882723626, 1653.9182678873535], [362.53849384328197, 683.9397205861319, 316.0602794138498, 1637.4615061566938], [378.83150805877, 674.9688745560269, 325.03112544395674, 1621.1684919411962], [394.9624040740887, 666.4355418495181, 333.56445815046214, 1605.0375959258731], [410.93279499228305, 658.3183846900345, 341.6816153099475, 1589.0672050076735], [426.7442778657516, 650.5971059566292, 349.40289404334607, 1573.2557221342113], [442.39843385595805, 643.2523984306437, 356.7476015693309, 1557.6015661440094], [457.8968283915442, 636.265896517572, 363.7341034824005, 1542.1031716084126], [473.24101132488164, 629.6201303235254, 370.3798696764458, 1526.758988675073], [488.4325170870523, 623.2984819713996, 376.70151802857896, 1511.5674829128964], [503.4728648412896, 617.2851440475029, 382.71485595247776, 1496.5271351586648], [518.363558634902, 611.5650800748268, 388.43491992515703, 1481.6364413650438], [533.1060875496751, 606.1239869139864, 393.8760130859939, 1466.8939124502626], [547.7019258507949, 600.948258997945, 399.0517410020348, 1452.298074149144], [562.1525331342448, 596.0249543109958, 403.97504568898444, 1437.8474668656995], [576.4593544728039, 591.3417620269867, 408.65823797299464, 1423.5406455271493], [590.623820560522, 586.8869717258339, 413.11302827414204, 1409.3761794394215], [604.6473478558139, 582.6494441114049, 417.3505558885734, 1395.352652144116], [618.531338723096, 578.6185831574171, 421.38141684255476, 1381.4686612768323], [632.2771815730255, 574.7843096119121, 425.21569038805643, 1367.7228184268995], [645.8862510013373, 571.1370357938449, 428.86296420612354, 1354.1137489985701], [659.3599079263199, 567.6676416188881, 432.33235838108067, 1340.6400920735864], [672.6994997254828, 564.367451794333, 435.6325482056341, 1327.3005002744108], [685.906360368522, 561.2282141267846, 438.7717858731845, 1314.0936396313678], [698.9818105525007, 558.2420788869237, 441.75792111305424, 1301.0181894473797], [711.9271578333409, 555.401579181229, 444.59842081875064, 1288.0728421665392], [724.7436967565596, 552.6996122808923, 447.3003877190888, 1275.256303243304], [737.4327089867338, 550.1294218612736, 449.8705781387141, 1262.5672910131339], [749.9954634356516, 547.6845811075598, 452.31541889242624, 1250.004536564216], [762.4332163892308, 545.358976644416, 454.64102335557095, 1237.5667836106365], [774.747211633127, 543.1467932493252, 456.85320675066214, 1225.2527883667367], [786.9386805771248, 541.0424993115267, 458.9575006884586, 1213.0613194227276], [786.9386805771248, 539.0408330001038, 460.95916699988487, 1213.0613194227276], [786.9386805771248, 537.136789106647, 462.86321089333927, 1213.0613194227276], [786.9386805771248, 535.3256065296537, 464.6743934703326, 1213.0613194227276], [786.9386805771248, 533.6027563692702, 466.39724363070616, 1213.0613194227276], [786.9386805771248, 531.9639306027153, 468.0360693972579, 1213.0613194227276], [786.9386805771248, 530.4050313119418, 469.5949686880279, 1213.0613194227276], [786.9386805771248, 528.9221604367306, 471.07783956324107, 1213.0613194227276], [786.9386805771248, 527.5116100274931, 472.4883899724764, 1213.0613194227276], [786.9386805771248, 526.1698529734878, 473.83014702648126, 1213.0613194227276], [786.9386805771248, 524.8935341831955, 475.10646581677827, 1213.0613194227276], [786.9386805771248, 523.6794621948196, 476.3205378051492, 1213.0613194227276], [786.9386805771248, 522.5246011960201, 477.4753988039468, 1213.0613194227276], [786.9386805771248, 521.4260634327542, 478.5739365672075, 1213.0613194227276], [786.9386805771248, 520.3811019884156, 479.61889801154473, 1213.0613194227276], [786.9386805771248, 519.3871039150878, 480.6128960848649, 1213.0613194227276], [786.9386805771248, 518.4415836998478, 481.5584163001054, 1213.0613194227276], [786.9386805771248, 517.5421770496563, 482.4578229503009, 1213.0613194227276], [786.9386805771248, 516.6866349793986, 483.31336502055484, 1213.0613194227276], [786.9386805771248, 515.8728181882801, 484.1271818116788, 1213.0613194227276], [786.9386805771248, 515.098691710412, 484.90130828954875, 1213.0613194227276], [786.9386805771248, 514.3623198263783, 485.6376801735785, 1213.0613194227276], [786.9386805771248, 513.6618612229156, 486.3381387770423, 1213.0613194227276], [786.9386805771248, 512.9955643886559, 487.0044356113015, 1213.0613194227276], [786.9386805771248, 512.361763234458, 487.63823676549873, 1213.0613194227276], [786.9386805771248, 511.758872927304, 488.2411270726523, 1213.0613194227276], [786.9386805771248, 511.1853859273938, 488.81461407256256, 1213.0613194227276], [786.9386805771248, 510.6398682185114, 489.3601317814449, 1213.0613194227276], [786.9386805771248, 510.1209557222374, 489.87904427771895, 1213.0613194227276], [786.9386805771248, 509.62735088704045, 490.3726491129159, 1213.0613194227276], [786.9386805771248, 509.15781944372833, 490.842180556228, 1213.0613194227276], [786.9386805771248, 508.71118731912236, 491.288812680834, 1213.0613194227276], [786.9386805771248, 508.28633770026977, 491.7136622996866, 1213.0613194227276], [786.9386805771248, 507.8822082418305, 492.11779175812586, 1213.0613194227276], [786.9386805771248, 507.4977884096595, 492.50221159029684, 1213.0613194227276], [786.9386805771248, 507.1321169539339, 492.8678830460224, 1213.0613194227276], [786.9386805771248, 506.784279505548, 493.21572049440834, 1213.0613194227276], [786.9386805771248, 506.4534062897011, 493.54659371025525, 1213.0613194227276], [786.9386805771248, 506.1386699510089, 493.8613300489474, 1213.0613194227276], [786.9386805771248, 505.8392834846901, 494.16071651526624, 1213.0613194227276], [786.9386805771248, 505.5544982686291, 494.4455017313272, 1213.0613194227276], [786.9386805771248, 505.2836021914455, 494.71639780851086, 1213.0613194227276], [786.9386805771248, 505.0259178718517, 494.97408212810467, 1213.0613194227276], [786.9386805771248, 504.78080096481796, 495.2191990351384, 1213.0613194227276], [786.9386805771248, 504.5476385504059, 495.45236144955044, 1213.0613194227276], [786.9386805771248, 504.3258476011318, 495.67415239882456, 1213.0613194227276], [786.9386805771248, 504.1148735240878, 495.88512647586856, 1213.0613194227276], [786.9386805771248, 503.91418877420347, 496.0858112257529, 1213.0613194227276], [786.9386805771248, 503.7232915350678, 496.27670846488854, 1213.0613194227276], [786.9386805771248, 503.5417044641445, 496.4582955358118, 1213.0613194227276], [786.9386805771248, 0.0, 496.6310265007839, 1213.0613194227276], [786.9386805771248, 12.1104904870695, 496.79533327718667, 1213.0613194227276], [786.9386805771248, 23.630345383484027, 496.95162671754963, 1213.0613194227276], [786.9386805771248, 34.588370326911324, 497.10029763687254, 1213.0613194227276], [786.9386805771248, 45.011966087492326, 497.2417177899049, 1213.0613194227276], [786.9386805771248, 54.92719708403933, 497.3762408006862, 1213.0613194227276], [786.9386805771248, 64.35885655865842, 497.50420304681165, 1213.0613194227276], [786.9386805771248, 73.33052857277052, 497.6259245005515, 1213.0613194227276], [786.9386805771248, 81.86464697954652, 497.74170952894303, 1213.0613194227276], [786.9386805771248, 89.9825515202295, 497.85184765486304, 1213.0613194227276], [786.9386805771248, 97.70454118460093, 497.9566142809976, 1213.0613194227276], [786.9386805771248, 105.0499249690269, 498.05627137848273, 1213.0613194227276], [786.9386805771248, 112.03707015901003, 498.1510681419714, 1213.0613194227276], [786.9386805771248, 118.68344825696833, 498.24124161274926, 1213.0613194227276], [786.9386805771248, 125.00567867009187, 498.32701727146014, 1213.0613194227276], [786.9386805771248, 131.01957026751506, 498.40860960193635, 1213.06131942272" ] }, { "name": "stdout", "output_type": "stream", "text": [ "76], [786.9386805771248, 136.74016091073344, 498.48622262749507, 1213.0613194227276], [786.9386805771248, 142.18175505607462, 498.5600504211309, 1213.0613194227276], [786.9386805771248, 147.35795952330537, 498.63027759078125, 1213.0613194227276], [786.9386805771248, 152.28171751975592, 498.6970797409559, 1213.0613194227276], [786.9386805771248, 156.9653410050924, 498.7606239118216, 1213.0613194227276], [786.9386805771248, 161.42054147761772, 498.8210689969028, 1213.0613194227276], [786.9386805771248, 165.65845925912512, 498.8785661403983, 1213.0613194227276], [786.9386805771248, 169.68969135150292, 498.9332591151163, 1213.0613194227276], [786.9386805771248, 173.52431793475722, 498.985284681984, 1213.0613194227276], [786.9386805771248, 177.17192757271408, 499.03477293200933, 1213.0613194227276], [786.9386805771248, 180.64164118942531, 499.0818476116073, 1213.0613194227276], [786.9386805771248, 183.94213487622466, 499.12662643198667, 1213.0613194227276], [786.9386805771248, 187.0816615864808, 499.1692213635249, 1213.0613194227276], [786.9386805771248, 190.06807177227728, 499.2097389157407, 1213.0613194227276], [786.9386805771248, 192.9088330146304, 499.2482804036135, 1213.0613194227276], [786.9386805771248, 195.61104869633155, 499.2849422009434, 1213.0613194227276], [786.9386805771248, 198.18147576411036, 499.31981598132046, 1213.0613194227276], [786.9386805771248, 200.62654162451034, 499.3529889473555, 1213.0613194227276], [786.9386805771248, 202.95236021575894, 499.38454404874756, 1213.0613194227276], [786.9386805771248, 205.16474729580207, 499.41456018968375, 1213.0613194227276], [786.9386805771248, 207.2692349847197, 499.44311242615015, 1213.0613194227276], [786.9386805771248, 209.27108559791367, 499.47027215361584, 1213.0613194227276], [786.9386805771248, 211.1753048046358, 499.49610728554177, 1213.0613194227276], [786.9386805771248, 212.986654144766, 499.52068242321434, 1213.0613194227276], [786.9386805771248, 214.7096629351437, 499.5440590172801, 1213.0613194227276], [786.9386805771248, 216.3486395952215, 499.56629552139896, 1213.0613194227276], [786.9386805771248, 217.90768242035477, 499.58744753841574, 1213.0613194227276], [786.9386805771248, 219.3906898296744, 499.60756795939085, 1213.0613194227276], [786.9386805771248, 220.8013701141695, 499.62670709585376, 1213.0613194227276], [786.9386805771248, 222.14325070934308, 499.6449128056171, 1213.0613194227276], [786.9386805771248, 223.41968701563394, 499.66223061243943, 1213.0613194227276], [786.9386805771248, 224.6338707886766, 499.6787038198558, 1213.0613194227276], [786.9386805771248, 225.78883812034567, 499.69437361946484, 1213.0613194227276], [786.9386805771248, 226.88747703056407, 499.7092791939299, 1213.0613194227276], [786.9386805771248, 1000.0, 499.7234578149499, 1213.0613194227276], [799.0088423782859, 982.1670022904323, 511.9228452509801, 1200.9911576215673], [810.9589040628483, 965.2037301420586, 523.5272615409956, 1189.0410959369922], [822.7900606469403, 949.0677665387456, 534.5657237701912, 1177.2099393529013], [834.5034952560812, 933.7187631666342, 545.0658338438201, 1165.4965047437775], [846.1003792434841, 919.1183395223445, 555.0538475063375, 1153.8996207563703], [857.5818723072141, 905.2299869417437, 564.5547399944185, 1142.418127692639], [868.9491226061436, 892.0189773092726, 573.5922684880798, 1131.0508773936917], [880.2032668747844, 879.4522762195205, 582.1890315160024, 1119.796733125052], [891.3454305369386, 867.4984603740727, 590.3665254636059, 1108.654569462898], [902.3767278182497, 856.1276390068371, 598.1451983252239, 1097.6232721815823], [913.2982618576507, 845.3113791416023, 605.5445008347475, 1086.7017381421895], [924.1111248176428, 835.0226344947594, 612.5829351025754, 1075.8888751822014], [934.816397993528, 825.2356778455237, 619.2781008805352, 1065.1836020063117], [945.4151519215482, 815.9260367044807, 625.6467395704316, 1054.584848078287], [955.9084464859321, 807.0704321195924, 631.7047760862672, 1044.091553513909], [966.2973310248757, 798.6467204667205, 637.4673586748154, 1033.7026689749712], [976.5828444354955, 790.6338380790154, 642.9488967941452, 1023.4171555643502], [986.7660152776947, 783.0117485767757, 648.1630971447612, 1013.233984722151], [996.8478618770534, 775.7613927660924, 653.1229979435061, 1003.1521381227923], [1006.8293924266309, 768.8646409808816, 657.8410015258685, 993.1706075732149], [1016.711605087792, 762.3042477493232, 662.3289053582989, 983.2883949120537], [1026.495488090041, 756.0638086711803, 666.5979315380287, 973.5045119097947], [1036.1820198298442, 750.1277193982532, 670.6587548541388, 963.8179801699833], [1045.7721689684352, 744.481136615398, 674.5215294801187, 954.2278310313886], [1055.266894528717, 739.109940924476, 678.1959143645539, 944.7331054710993], [1064.6671459911536, 734.0007015385293, 681.6910973835676, 935.3328540086413], [1073.9738633887423, 729.1406426978086, 685.0158183152582, 926.0261366110363], [1083.187977400981, 724.5176117237189, 688.1783906937342, 916.8120225987916], [1092.3104094469456, 720.1200486307933, 691.1867225972509, 907.6895905528269], [1101.3420717774347, 715.9369572207122, 694.0483364225291, 898.6579282223396], [1110.2838675662094, 711.9578775860709, 696.7703876946832, 889.7161324335606], [1119.1366910003042, 708.1728599551833, 699.3596829597591, 880.8633089994686], [1127.9014273694415, 704.5724398124307, 701.8226968046062, 872.0985726303398], [1136.5789531545622, 701.147614232088, 704.1655880467835, 863.4210468452318], [1145.1701361154653, 697.8898193662885, 706.3942151347327, 854.829863884329], [1153.6758353776117, 694.7909090309579, 708.5141507970297, 846.3241646221828], [1162.0969015180133, 691.8431343361132, 710.5306959770562, 837.9030984817739], [1170.4341766503082, 689.039124309574, 712.4488930881236, 829.5658233494777], [1178.6884945089575, 686.3718674657403, 714.2735386221636, 821.3115054908327], [1186.8606805326388, 683.8346942731936, 716.0091951434177, 813.1393194671722], [1194.951551946727, 681.4212604773949, 717.6602026972597, 805.0484480530841], [1202.9619178451348, 679.1255312367472, 719.230689662544, 797.0380821546753], [1210.8925792711307, 676.9417660323594, 720.7245830747163, 789.1074207286988], [1218.7443292974299, 674.8645043137549, 722.1456184454435, 781.255670702385], [1226.5179531055946, 672.8885518446258, 723.4973491033286, 773.4820468941984], [1234.2142280645041, 671.0089677145852, 724.7831550790982, 765.7857719352766], [1241.8339238080766, 669.2210519842699, 726.0062515574587, 758.1660761917133], [1249.3778023122093, 667.5203339330707, 727.1696969166769, 750.6221976875808], [1256.8466179710445, 665.9025608799838, 728.2764003761564, 743.1533820287422], [1264.2411176723833, 664.3636875497335, 729.3291292710056, 0.0], [1264.2411176723833, 662.899865957419, 730.3305159718072, 0.0], [1264.2411176723833, 661.5074357865943, 731.2830644669144, 0.0], [1264.2411176723833, 660.1829152365493, 732.1891566237241, 0.0], [1264.2411176723833, 658.9229923159962, 733.0510581445864, 0.0], [1264.2411176723833, 657.7245165613622, 733.8709242322524, 0.0], [1264.2411176723833, 656.584491159007, 734.6508049789905, 0.0], [1264.2411176723833, 655.5000654516059, 735.3926504928847, 0.0], [1264.2411176723833, 654.4685278100385, 736.0983157741405, 0.0], [1264.2411176723833, 653.4872988529086, 736.7695653535154, 0.0], [1264.2411176723833, 652.5539249967155, 737.408077704596, 0.0], [1264.2411176723833, 651.6660723206508, 738.0154494408522, 0.0], [1264.2411176723833, 650.821520730556, 738.5931993079886, 0.0], [1264.2411176723833, 650.0181584075443, 739.1427719816097, 0.0], [1264.2411176723833, 649.2539765273622, 739.6655416796535, 0.0], [1264.2411176723833, 648.5270642372622, 740.1628155986713, 0.0], [1264.2411176723833, 647.8356038778883, 740.6358371824773, 0.0], [1264.2411176723833, 647.1778664381842, 741.08578923142, 0.0], [1264.2411176723833, 646.5522072319454, 741.5137968599907, 0.0], [1264.2411176723833, 645.9570617852544, 741.9209303101919, 0.0], [1264.2411176723833, 645.3909419245122, 742.3082076277221, 0.0], [1264.2411176723833, 644.8524320551733, 742.6765972075999, 0.0], [1264.2411176723833, 644.34018562207, 743.027020215655, 0.0], [1264.2411176723833, 643.852921742323, 743.3603528919432, 0.0], [1264.2411176723833, 643.3894220024093, 743.677428741765, 0.0], [1264.2411176723833, 642.9485274115594, 743.979040619922, 0.0], [1264.2411176723833, 642.5291355036361, 744.265942713194, 0.0], [1264.2411176723833, 642.1301975804223, 744.5388524262692, 0.0], [1264.2411176723833, 641.7507160893144, 744.7984521755791, 0.0], [1264.2411176723833, 641.3897421289169, 745.045391095718, 0.0], [1264.2411176723833, 641.0463730763064, 745.2802866626063, 0.0], [1264.2411176723833, 640.719750329999, 745.503726237516, 0.0], [1264.2411176723833, 640.4090571630062, 745.716268535768, 0.0], [1264.2411176723833, 640.1135166805731, 745.9184450238179, 0.0], [1264.2411176723833, 639.83238987755, 746.1107612481917, 0.0], [1264.2411176723833, 639.5649737904981, 746.2936980996222, 0.0], [1264.2411176723833, 639.3105997399099, 746.467713015523, 0.0], [1264.2411176723833, 639.0686316581639, 746.6332411238299, 0.0], [1264.2411176723833, 638.8384644990111, 746.790696331034, 0.0], [1264.2411176723833, 638.6195227246784, 746.940472357" ] }, { "name": "stdout", "output_type": "stream", "text": [ "1728, 0.0], [1264.2411176723833, 638.411258866679, 747.0829437203206, 0.0], [1264.2411176723833, 638.2131521568912, 747.2184666730917, 0.0], [1264.2411176723833, 638.0247072253516, 747.3473800934628, 0.0], [1264.2411176723833, 637.8454528615714, 747.4700063321377, 0.0], [1264.2411176723833, 637.6749408362716, 747.5866520185677, 0.0], [1264.2411176723833, 637.5127447805779, 747.6976088277454, 0.0], [1264.2411176723833, 637.3584591198661, 747.8031542094901, 0.0], [1264.2411176723833, 637.2116980596228, 747.9035520822202, 0.0], [1264.2411176723833, 637.07209462075, 747.9990534929211, 0.0], [1264.2411176723833, 636.9392997219234, 748.0898972448597, 0.0], [1264.2411176723833, 636.8129813067418, 748.1763104947322, 0.0], [1264.2411176723833, 636.6928235133624, 748.2585093206872, 0.0], [1264.2411176723833, 636.5785258847159, 748.3366992625898, 0.0], [1264.2411176723833, 636.4698026171967, 748.4110758360275, 0.0], [1264.2411176723833, 636.3663818460032, 748.4818250211748, 0.0], [1264.2411176723833, 636.2680049653479, 748.549123727847, 0.0], [1264.2411176723833, 636.1744259817802, 748.6131402378604, 0.0], [1264.2411176723833, 636.0854108990909, 748.6740346258409, 0.0], [1264.2411176723833, 636.0007371332117, 748.7319591594684, 0.0], [1264.2411176723833, 635.9201929556262, 748.787058680258, 0.0], [1264.2411176723833, 635.8435769639336, 748.8394709657183, 0.0], [1264.2411176723833, 635.7706975782479, 748.8893270738433, 0.0], [1264.2411176723833, 635.7013725621447, 748.9367516708933, 0.0], [1264.2411176723833, 635.6354285669726, 748.981863343047, 0.0], [1264.2411176723833, 635.572700698395, 749.024774892987, 0.0], [1264.2411176723833, 635.5130321040651, 749.0655936219355, 0.0], [1264.2411176723833, 635.4562735814261, 749.1044215979875, 0.0], [1264.2411176723833, 635.4022832045958, 749.1413559113037, 0.0], [1264.2411176723833, 635.3509259695184, 749.1764889168986, 0.0], [1264.2411176723833, 635.3020734563472, 749.2099084655963, 0.0], [1264.2411176723833, 635.255603508359, 749.2416981236739, 0.0], [1264.2411176723833, 635.211399926484, 749.2719373818327, 0.0], [1264.2411176723833, 635.1693521787312, 749.300701853966, 0.0], [1264.2411176723833, 635.1293551238406, 749.328063466241, 0.0], [1264.2411176723833, 635.0913087483301, 749.3540906369333, 0.0], [1264.2411176723833, 635.0551179164501, 749.3788484475349, 0.0], [1264.2411176723833, 635.0206921322705, 749.4023988054615, 0.0], [1264.2411176723833, 634.9879453133914, 749.424800598885, 0.0], [1264.2411176723833, 634.9567955757169, 749.4461098439455, 0.0], [1264.2411176723833, 634.9271650286722, 749.4663798248648, 0.0], [1264.2411176723833, 634.8989795804601, 749.4856612271508, 0.0], [1264.2411176723833, 634.872168752787, 749.5040022643457, 0.0], [1264.2411176723833, 634.8466655046067, 749.5214487986079, 0.0], [1264.2411176723833, 634.8224060645166, 749.5380444553498, 0.0], [1264.2411176723833, 634.799329771279, 749.5538307323591, 0.0], [1264.2411176723833, 634.777378922142, 749.5688471035554, 0.0], [1264.2411176723833, 634.7564986285503, 749.5831311176847, 0.0], [1264.2411176723833, 634.736636678892, 749.596718492224, 0.0], [1264.2411176723833, 634.7177434079455, 749.6096432026928, 0.0], [1264.2411176723833, 634.6997715727028, 749.621937567588, 0.0], [1264.2411176723833, 634.6826762342046, 749.6336323292398, 0.0], [1264.2411176723833, 634.6664146452022, 749.6447567306277, 0.0], [1264.2411176723833, 634.650946143261, 749.6553385885629, 0.0], [1264.2411176723833, 634.6362320490537, 749.6654043631958, 0.0], [1264.2411176723833, 634.6222355696964, 749.6749792242097, 0.0], [1264.2411176723833, 634.6089217066874, 749.6840871137404, 0.0], [1264.2411176723833, 634.5962571684444, 749.6927508062569, 0.0], [1264.2411176723833, 634.5842102870192, 749.7009919654973, 0.0], [1264.2411176723833, 634.5727509389329, 749.7088311986555, 0.0], [1264.2411176723833, 634.5618504698452, 749.7162881079041, 0.0]], [[0.0, 0.0, 1000.0, 0.0], [0.0, 24.385287749644604, 975.6147122503535, 0.0], [0.0, 47.58129098200664, 952.4187090179876, 0.0], [0.0, 69.64601178743695, 930.3539882125621, 0.0], [0.0, 90.63462346095645, 909.3653765390447, 0.0], [0.0, 110.599608464228, 889.4003915357748, 0.0], [0.0, 129.59088965915853, 870.4091103408471, 0.0], [0.0, 147.65595514073863, 852.3440448592605, 0.0], [0.0, 164.8399769823471, 835.1600230176457, 0.0], [0.0, 181.18592418934406, 818.8140758106466, 0.0], [0.0, 196.73467014397087, 803.2653298560192, 0.0], [0.0, 211.52509480993587, 788.4749051900565, 0.0], [0.0, 225.59418195306748, 774.4058180469231, 0.0], [0.0, 238.9771116194831, 761.0228883805103, 0.0], [0.0, 251.70734810420598, 748.2926518957844, 0.0], [0.0, 263.8167236293327, 736.1832763706657, 0.0], [0.0, 275.3355179411633, 724.6644820588297, 0.0], [0.0, 286.29253402535204, 713.7074659746414, 0.0], [0.0, 296.71517012936374, 703.2848298706275, 0.0], [0.0, 306.6294882723626, 693.3705117276219, 0.0], [0.0, 316.0602794138498, 683.9397205861319, 0.0], [0.0, 325.03112544395674, 674.9688745560269, 0.0], [0.0, 333.56445815046214, 666.4355418495181, 0.0], [0.0, 341.6816153099475, 658.3183846900345, 0.0], [0.0, 349.40289404334607, 650.5971059566292, 0.0], [0.0, 356.7476015693309, 643.2523984306437, 0.0], [0.0, 363.7341034824005, 636.265896517572, 0.0], [0.0, 370.3798696764458, 629.6201303235254, 0.0], [0.0, 376.70151802857896, 623.2984819713996, 0.0], [0.0, 382.71485595247776, 617.2851440475029, 0.0], [0.0, 388.43491992515703, 611.5650800748268, 0.0], [0.0, 393.8760130859939, 606.1239869139864, 0.0], [0.0, 399.0517410020348, 600.948258997945, 0.0], [0.0, 403.97504568898444, 596.0249543109958, 0.0], [0.0, 408.65823797299464, 591.3417620269867, 0.0], [0.0, 413.11302827414204, 586.8869717258339, 0.0], [0.0, 417.3505558885734, 582.6494441114049, 0.0], [0.0, 421.38141684255476, 578.6185831574171, 0.0], [0.0, 425.21569038805643, 574.7843096119121, 0.0], [0.0, 428.86296420612354, 571.1370357938449, 0.0], [0.0, 432.33235838108067, 567.6676416188881, 0.0], [0.0, 435.6325482056341, 564.367451794333, 0.0], [0.0, 438.7717858731845, 561.2282141267846, 0.0], [0.0, 441.75792111305424, 558.2420788869237, 0.0], [0.0, 444.59842081875064, 555.401579181229, 0.0], [0.0, 447.3003877190888, 552.6996122808923, 0.0], [0.0, 449.8705781387141, 550.1294218612736, 0.0], [0.0, 452.31541889242624, 547.6845811075598, 0.0], [0.0, 454.64102335557095, 545.358976644416, 0.0], [0.0, 456.85320675066214, 543.1467932493252, 0.0], [0.0, 458.9575006884586, 541.0424993115267, 0.0], [0.0, 460.95916699988487, 539.0408330001038, 0.0], [0.0, 462.86321089333927, 537.136789106647, 0.0], [0.0, 464.6743934703326, 535.3256065296537, 0.0], [0.0, 466.39724363070616, 533.6027563692702, 0.0], [0.0, 468.0360693972579, 531.9639306027153, 0.0], [0.0, 469.5949686880279, 530.4050313119418, 0.0], [0.0, 471.07783956324107, 528.9221604367306, 0.0], [0.0, 472.4883899724764, 527.5116100274931, 0.0], [0.0, 473.83014702648126, 526.1698529734878, 0.0], [0.0, 475.10646581677827, 524.8935341831955, 0.0], [0.0, 476.3205378051492, 523.6794621948196, 0.0], [0.0, 477.4753988039468, 522.5246011960201, 0.0], [0.0, 478.5739365672075, 521.4260634327542, 0.0], [0.0, 479.61889801154473, 520.3811019884156, 0.0], [0.0, 480.6128960848649, 519.3871039150878, 0.0], [0.0, 481.5584163001054, 518.4415836998478, 0.0], [0.0, 482.4578229503009, 517.5421770496563, 0.0], [0.0, 483.31336502055484, 516.6866349793986, 0.0], [0.0, 484.1271818116788, 515.8728181882801, 0.0], [0.0, 484.90130828954875, 515.098691710412, 0.0], [0.0, 485.6376801735785, 514.3623198263783, 0.0], [0.0, 486.3381387770423, 513.6618612229156, 0.0], [0.0, 487.0044356113015, 512.9955643886559, 0.0], [0.0, 487.63823676549873, 512.361763234458, 0.0], [0.0, 488.2411270726523, 511.758872927304, 0.0], [0.0, 488.81461407256256, 511.1853859273938, 0.0], [0.0, 489.3601317814449, 510.6398682185114, 0.0], [0.0, 489.87904427771895, 510.1209557222374, 0.0], [0.0, 490.3726491129159, 509.62735088704045, 0.0], [0.0, 490.842180556228, 509.15781944372833, 0.0], [0.0, 491.288812680834, 508.71118731912236, 0.0], [0.0, 491.7136622996866, 508.28633770026977, 0.0], [0.0, 492.11779175812586, 507.8822082418305, 0.0], [0.0, 492.50221159029684, 507.4977884096595, 0.0], [0.0, 492.8678830460224, 507.1321169539339, 0.0], [0.0, 493.21572049440834, 506.784279505548, 0.0], [0.0, 493.54659371025525, 506.4534062897011, 0.0], [0.0, 493.8613300489474, 506.1386699510089, 0.0], [0.0, 494.16071651526624, 505.8392834846901, 0.0], [0.0, 494.4455017313272, 505.5544982686291, 0.0], [0.0, 494.71639780851086, 505.2836021914455, 0.0], [0.0, 494.97408212810467, 505.0259178718517, 0.0], [0.0, 495.2191990351384, 504.78080096481796, 0.0], [0.0, 495.45236144955044, 504.5476385504059, 0.0], [0.0, 495.67415239882456, 504.3258476011318, 0.0], [0.0, 495.88512647586856, 504.1148735240878, 0.0], [0.0, 496.0858112257529, 503.91418877420347, 0.0], [0.0, 496.27670846488854, 503.7232915350678, 0.0], [0.0, 496.4582955358118, 503.5417044641445, 0.0], [0.0, 496.6310265007839, 503.36897349917245, 0.0], [0.0, 484.5205360137144, 503.2046667227697, 0.0], [0.0, 473.0006811172995, 503.0483732824067, 0.0], [0.0, 462.04265617387466, 502.8997023630838, 0.0], [0.0, 451.61906041328996, 502.75828221005145, 0.0], [0.0, 441.7038294167416, 502.6237591992701, 0.0]," ] }, { "name": "stdout", "output_type": "stream", "text": [ " [0.0, 432.2721699421206, 502.4957969531447, 0.0], [0.0, 423.3004979280067, 502.37407549940485, 0.0], [0.0, 414.7663795212317, 502.2582904710133, 0.0], [0.0, 406.6484749805476, 502.1481523450933, 0.0], [0.0, 398.92648531617556, 502.04338571895875, 0.0], [0.0, 391.58110153175016, 501.9437286214736, 0.0], [0.0, 384.5939563417668, 501.84893185798495, 0.0], [0.0, 377.9475782438105, 501.7587583872071, 0.0], [0.0, 371.6253478306873, 501.6729827284962, 0.0], [0.0, 365.61145623326325, 501.59139039802, 0.0], [0.0, 359.89086559004437, 501.5137773724613, 0.0], [0.0, 354.44927144470245, 501.43994957882546, 0.0], [0.0, 349.2730669774716, 501.3697224091751, 0.0], [0.0, 344.34930898101794, 501.3029202590004, 0.0], [0.0, 339.66568549568257, 501.23937608813475, 0.0], [0.0, 335.2104850231556, 501.17893100305355, 0.0], [0.0, 330.97256724164396, 501.12143385955807, 0.0], [0.0, 326.94133514926494, 501.06674088484004, 0.0], [0.0, 323.1067085660125, 501.01471531797233, 0.0], [0.0, 319.4590989280547, 500.965227067947, 0.0], [0.0, 315.9893853113456, 500.91815238834903, 0.0], [0.0, 312.68889162454525, 500.8733735679697, 0.0], [0.0, 309.54936491428793, 500.83077863643143, 0.0], [0.0, 306.56295472849195, 500.7902610842157, 0.0], [0.0, 303.7221934861389, 500.75171959634287, 0.0], [0.0, 301.0199778044349, 500.7150577990129, 0.0], [0.0, 298.4495507366559, 500.6801840186359, 0.0], [0.0, 296.0044848762573, 500.6470110526008, 0.0], [0.0, 293.6786662850094, 500.6154559512088, 0.0], [0.0, 291.4662792049691, 500.5854398102726, 0.0], [0.0, 289.3617915160528, 500.5568875738062, 0.0], [0.0, 287.35994090285965, 500.5297278463405, 0.0], [0.0, 285.4557216961375, 500.5038927144146, 0.0], [0.0, 283.6443723560091, 500.479317576742, 0.0], [0.0, 281.9213635656296, 500.4559409826762, 0.0], [0.0, 280.2823869055499, 500.4337044785574, 0.0], [0.0, 278.7233440804172, 500.4125524615406, 0.0], [0.0, 277.240336671098, 500.3924320405655, 0.0], [0.0, 275.8296563865997, 500.3732929041026, 0.0], [0.0, 274.4877757914256, 500.35508719433926, 0.0], [0.0, 273.21133948513295, 500.3377693875169, 0.0], [0.0, 271.99715571208947, 500.32129618010055, 0.0], [0.0, 270.84218838042455, 500.3056263804915, 0.0], [0.0, 269.74354947020527, 500.29072080602646, 0.0], [0.0, 268.69849181190637, 1000.0, 0.0], [0.0, 286.5314895214798, 987.8006125639724, 0.0], [0.0, 303.4947616698483, 976.1961962739567, 0.0], [0.0, 319.630725273156, 965.1577340447611, 0.0], [0.0, 334.97972864526645, 954.6576239711322, 0.0], [0.0, 349.58015228955446, 944.6696103086148, 0.0], [0.0, 363.4685048701451, 935.1687178205339, 0.0], [0.0, 376.679514502624, 926.1311893268726, 0.0], [0.0, 389.24621559237477, 917.5344262989499, 0.0], [0.0, 401.20003143782793, 909.3569323513465, 0.0], [0.0, 412.57085280506493, 901.5782594897285, 0.0], [0.0, 423.3871126703025, 894.1789569802048, 0.0], [0.0, 433.6758573171411, 887.1405227123769, 0.0], [0.0, 443.4628139663714, 880.4453569344171, 0.0], [0.0, 452.77245510741346, 874.0767182445207, 0.0], [0.0, 461.62805969229777, 868.0186817286851, 0.0], [0.0, 470.05177134516543, 862.2560991401369, 0.0], [0.0, 478.06465373286926, 856.7745610208071, 0.0], [0.0, 485.68674323510317, 851.5603606701911, 0.0], [0.0, 492.93709904579214, 846.6004598714462, 0.0], [0.0, 499.83385083100615, 841.8824562890838, 0.0], [0.0, 506.3942440625692, 837.3945524566534, 0.0], [0.0, 512.6346831407145, 833.1255262769237, 0.0], [0.0, 518.5707724136415, 829.0647029608135, 0.0], [0.0, 524.2173551964968, 825.2019283348336, 0.0], [0.0, 529.5885508874188, 821.5275434503984, 0.0], [0.0, 534.6977902733655, 818.0323604313847, 0.0], [0.0, 539.5578491140861, 814.7076394996941, 0.0], [0.0, 544.1808800881759, 811.5450671212182, 0.0], [0.0, 548.5784431811014, 808.5367352177014, 0.0], [0.0, 552.7615345911826, 805.6751213924232, 0.0], [0.0, 556.7406142258238, 802.9530701202691, 0.0], [0.0, 560.5256318567115, 800.3637748551932, 0.0], [0.0, 564.126051999464, 797.9007610103462, 0.0], [0.0, 567.5508775798068, 795.5578697681689, 0.0], [0.0, 570.8086724456062, 793.3292426802196, 0.0], [0.0, 573.9075827809369, 791.2093070179226, 0.0], [0.0, 576.8553574757816, 789.1927618378961, 0.0], [0.0, 579.6593675023207, 787.2745647268288, 0.0], [0.0, 582.3266243461545, 785.4499191927887, 0.0], [0.0, 584.8637975387012, 783.7142626715346, 0.0], [0.0, 587.2772313344999, 782.0632551176926, 0.0], [0.0, 589.5729605751476, 780.4927681524083, 0.0], [0.0, 591.7567257795354, 778.998874740236, 0.0], [0.0, 593.8339874981399, 777.5778393695089, 0.0], [0.0, 595.809939967269, 776.2261087116237, 0.0], [0.0, 597.6895240973096, 774.9403027358542, 0.0], [0.0, 599.4774398276248, 773.7172062574937, 0.0], [0.0, 601.1781578788241, 772.5537608982754, 0.0], [0.0, 602.795930931911, 771.4470574387959, 0.0], [0.0, 604.3348042621612, 770.3943285439467, 0.0], [0.0, 605.7986258544757, 769.3929418431451, 0.0], [0.0, 607.1910560253004, 768.4403933480379, 0.0], [0.0, 608.5155765753454, 767.5343011912282, 0.0], [0.0, 609.7754994958985, 766.672399670366, 0.0], [0.0, 610.9739752505326, 765.8525335827, 0.0], [0.0, 612.1140006528877, 765.0726528359618, 0.0], [0.0, 613.1984263602889, 764.3308073220676, 0.0], [0.0, 614.2299640018563, 763.6251420408119, 0.0], [0.0, 615.2111929589862, 762.9538924614369, 0.0], [0.0, 616.1445668151792, 762.3153801103563, 0.0], [0.0, 617.032419491244, 761.7080083741001, 0.0], [0.0, 617.8769710813388, 761.1302585069637, 0.0], [0.0, 618.6803334043504, 760.5806858333426, 0.0], [0.0, 619.4445152845326, 760.0579161352988, 0.0], [0.0, 620.1714275746326, 759.560642216281, 0.0], [0.0, 620.8628879340065, 759.087620632475, 0.0], [0.0, 621.5206253737106, 758.6376685835323, 0.0], [0.0, 622.1462845799493, 758.2096609549616, 0.0], [0.0, 622.7414300266404, 757.8025275047604, 0.0], [0.0, 623.3075498873826, 757.4152501872302, 0.0], [0.0, 623.8460597567215, 757.0468606073524, 0.0], [0.0, 624.3583061898248, 756.6964375992973, 0.0], [0.0, 624.8455700695717, 756.3631049230091, 0.0], [0.0, 625.3090698094854, 756.0460290731874, 0.0], [0.0, 625.7499644003353, 755.7444171950303, 0.0], [0.0, 626.1693563082587, 755.4575151017583, 0.0], [0.0, 626.5682942314725, 755.1846053886832, 0.0], [0.0, 626.9477757225803, 754.9250056393732, 0.0], [0.0, 627.3087496829779, 754.6780667192344, 0.0], [0.0, 627.6521187355884, 754.443171152346, 0.0], [0.0, 627.9787414818958, 754.2197315774363, 0.0], [0.0, 628.2894346488886, 754.0071892791843, 0.0], [0.0, 628.5849751313217, 753.8050127911345, 0.0], [0.0, 628.8661019343448, 753.6126965667606, 0.0], [0.0, 629.1335180213966, 753.4297597153301, 0.0], [0.0, 629.3878920719849, 753.2557447994293, 0.0], [0.0, 629.6298601537309, 753.0902166911225, 0.0], [0.0, 629.8600273128836, 752.9327614839183, 0.0], [0.0, 630.0789690872164, 752.7829854577795, 0.0], [0.0, 630.2872329452158, 752.6405140946317, 0.0], [0.0, 630.4853396550036, 752.5049911418606, 0.0], [0.0, 630.6737845865432, 752.3760777214895, 0.0], [0.0, 630.8530389503234, 752.2534514828146, 0.0], [0.0, 631.0235509756232, 752.1368057963846, 0.0], [0.0, 631.1857470313169, 752.0258489872069, 0.0], [0.0, 631.3400326920287, 751.9203036054622, 0.0], [0.0, 631.486793752272, 751.8199057327321, 0.0], [0.0, 631.6263971911447, 751.7244043220312, 0.0], [0.0, 631.7591920899714, 751.6335605700926, 0.0], [0.0, 631.885510505153, 751.5471473202201, 0.0], [0.0, 632.0056682985323, 751.4649484942652, 0.0], [0.0, 632.1199659271789, 751.3867585523625, 0.0], [0.0, 632.2286891946981, 751.3123819789248, 0.0], [0.0, 632.3321099658916, 751.2416327937775, 0.0], [0.0, 632.4304868465468, 751.1743340871053, 0.0], [0.0, 632.5240658301145, 751.1103175770919, 0.0], [0.0, 632.6130809128039, 751.0494231891114, 0.0], [0.0, 632.697754678683, 750.991498655484, 0.0], [0.0, 632.7782988562685, 750.9363991346943, 0.0], [0.0, 632.8549148479611, 750.883986849234, 0.0], [0.0, 632.9277942336469, 750.834130741109, 0.0], [0.0, 632.9971192497501, 750.786706144059, 0.0], [0.0, 633.0630632449222, 750.7415944719053, 0.0], [0.0, 633.1257911134998, 750.6986829219653, 0.0], [0.0, 633.1854597078296, 750.6578641930168, 0.0], [0.0, 633.2422182304687, 750.6190362169648, 0.0], [0.0, 633.2962086072989, 750.5821019036487, 0.0], [0.0, 633.3475658423764, 750.5469688980537, 0.0], [0.0, 633.3964183555476, 750.513549349356, 0.0], [0.0, 633.4428883035358, 750.4817596912784, 0.0], [0.0, 633.4870918854108, 750.4515204331196, 0.0], [0.0, 633.5291396331636, 750.4227559609864, 0.0], [0.0, 633.5691366880542, 750.3953943487113, 0.0], [0.0, 633.6071830635647, 750.369367178019, 0.0], [0.0, 633.6433738954447, 750.3446093674174, 0.0], [0.0, 633.6777996796243, 750.3210590094908, 0.0], [0.0, 633.7105464985034, 750.2986572160673, 0.0], [0.0, 633.7416962361779, 750.2773479710069, 0.0], [0.0, 633.7713267832225, 750.2570779900875, 0.0], [0.0, 633.7995122314346, 750.2377965878015, 0.0], [0.0, 633.8263230591077, 750.2194555506067, 0.0], [0.0, 633.8518263072881, 750.2020090163444, 0.0], [0.0, 633.8760857473782, 750.1854133596025, 0.0], [0.0, 633.8991620406158, 750.1696270825933, 0.0], [0.0, 633.9211128897527, 750.1546107113969, 0.0], [0.0, 633.9419931833445, 750.1403266972676, 0.0], [0.0, 633.9618551330028, 750.1267393227283, 0.0], [0.0, 633.9807484039493, 750.1138146122595, 0.0], [0.0, 633.9987202391919, 750.1015202473643, 0.0], [" ] }, { "name": "stdout", "output_type": "stream", "text": [ "0.0, 634.0158155776902, 750.0898254857125, 0.0], [0.0, 634.0320771666926, 750.0787010843246, 0.0], [0.0, 634.0475456686338, 750.0681192263894, 0.0], [0.0, 634.0622597628411, 750.0580534517566, 0.0], [0.0, 634.0762562421984, 750.0484785907427, 0.0], [0.0, 634.0895701052074, 750.039370701212, 0.0], [0.0, 634.1022346434504, 750.0307070086955, 0.0], [0.0, 634.1142815248755, 750.022465849455, 0.0], [0.0, 634.1257408729618, 750.0146266162968, 0.0], [0.0, 634.1366413420495, 750.0071697070482, 0.0]]]]}STEPS exit status:\n", " 0\n", "\n", "t, x, names output convention.\n" ] } ], "source": [ "[t,x, names] = run_steps(model, 'stoptime', 30, 'realisations', 1, 'modeltofile', true, 'solver', 'wmrk4');\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot the results. Please be aware that the sequence of species in the data is not necessarily the same as in Matlab's 'sbiosimulate'." ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "image/png": "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QQ84ZDb3C7n/IXv8+PEvv/xCPvb19Y2Ojn7y5InrHy9PK0ievTLFrl27du7ciRAyGo179+7t2bMn3Rk5kgcfOw84cEuXLuXz+atWrbIOesAhs7lfyP0PWV1dXUZGBrlMnVwuv3r1avv27V3/eHng5KoevDLFw4cP582bV1dXV1tbm5iY+OGHH3K5XLqTomTVqlUajabBeB0POHYN9svdD9zFixdnzJjBYrEs13zi4+PJISxufcia2C93P2QIoa+//jo3N1ckEikUivnz58+aNQu5/PHywIJE8uCVKcgrCda9ZTyMpx47Dz5wcMhcls1D47LHy2MLEgAAAPfichUSAABA2wQFCQAAgEuAggQAAMAlQEECAADgEqAgAQAAcAlQkAAAALgEKEgAAABcAhQkAAAALgEKEgAAAJcABQkAAIBLgIIEAADAJUBBAgAA4BKgIAEAAHAJUJAAAAC4BChIAAAAXAIUJAAAAC4BChIAAACXAAWjOls4AAAgAElEQVQJAACAS4CCBAAAwCVAQQIAAOASoCABAABwCVCQAAAAuAQoSAAAAFwCFCQAAAAuAQoSAAAAlwAFCQAAgEuAggQAAMAlQEECAADgEljUm6ioqFi5cuX9+/fNZnNYWNjq1auDgoKoNwsAAKBNoXqG9MUXXwwZMuT69etcLpfP5xcVFQ0dOjQvL685ry0pKWkQuX///rFjx3755ZenBpuIAwAAcEcMgiCovL5nz56vv/76rFmzLJF9+/a98847d+7csfeS4uLiQ4cOHT58OCEhIScnxxLfs2fP5s2bExIS7t275+fnt337dnvBJuIAAADcFUGBwWCIjIysr69vEI+MjFSpVPZelZKSkpubO2fOnDfeeMMSxHE8Njb22rVrZLNDhw49d+6czaC9jansCAAAANpRumTHZrMlEolcLrcOKhQKPp/v7e1t71VHjhzJysoKCQmxDhYWFur1+ujoaLLZmJiYa9eu2Qza25jKjgAAAKBdCzs1FBYWkg+WL18+fPjwL774QiKRIIR0Ot306dNXrlz5rA3K5XI2m215ymazZTKZzaC9jRu3OS2uy22zyLJNeHj4s2blmkpKSiIiIujOwvE8db8QQv1qrt2R9KhFHLoTcTBPPWSetF8PHz40Go3kY61We+vWLXrzaVpLClJZWdnkyZMtTzkczj//+U/LUyaT+d57702c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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "% plot\n", "h1 = subplot(2,1,1);\n", "plot(h1, t, x{1}(:,2:4));\n", "h2 = subplot(2,1,2);\n", "plot(h2, t, x{1}(:,6:7));\n", "grid(h1,'on'); \n", "grid(h2,'on');\n", "title(h1,'Diffusion between 2 compartments');\n", "ylabel(h1,'Amount compartment a');\n", "ylabel(h2,'Amount compartment b');\n", "xlabel(h2,'Time');\n", "legend(h1, 'x', 'y', 'z');\n", "legend(h2, 'x', 'y');" ] } ], "metadata": { "kernelspec": { "display_name": "Matlab", "language": "matlab", "name": "matlab" }, "language_info": { "codemirror_mode": "octave", "file_extension": ".m", "help_links": [ { "text": "MetaKernel Magics", "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" } ], "mimetype": "text/x-octave", "name": "matlab", "version": "0.15.0" } }, "nbformat": 4, "nbformat_minor": 2 }