{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Reversible (Diffusion-limited)\n", "\n", "This is for an integrated test of E-Cell4. Here, we test a simple reversible association/dissociation model in volume." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "from ecell4.prelude import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parameters are given as follows. `D`, `radius`, `N_A`, `U`, and `ka_factor` mean a diffusion constant, a radius of molecules, an initial number of molecules of `A` and `B`, a ratio of dissociated form of `A` at the steady state, and a ratio between an intrinsic association rate and collision rate defined as `ka` and`kD` below, respectively. Dimensions of length and time are assumed to be micro-meter and second." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "D = 1\n", "radius = 0.005\n", "N_A = 60\n", "U = 0.5\n", "ka_factor = 10 # 10 is for diffusion-limited" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "N = 20 # a number of samples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculating optimal reaction rates. `ka` and `kd` are intrinsic, `kon` and `koff` are effective reaction rates." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import numpy\n", "kD = 4 * numpy.pi * (radius * 2) * (D * 2)\n", "ka = kD * ka_factor\n", "kd = ka * N_A * U * U / (1 - U)\n", "kon = ka * kD / (ka + kD)\n", "koff = kd * kon / ka" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Start with no `C` molecules, and simulate 3 seconds." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "y0 = {'A': N_A, 'B': N_A}\n", "duration = 0.35\n", "opt_kwargs = {'legend': True}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Make a model with effective rates. This model is for macroscopic simulation algorithms." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "with species_attributes():\n", " A | B | C | {'radius': radius, 'D': D}\n", "\n", "with reaction_rules():\n", " A + B == C | (kon, koff)\n", "\n", "m = get_model()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Save a result with `ode` as `obs`, and plot it:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEGCAYAAABiq/5QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deXxU9dn//9c1kz0kIQkhYTWssgpiQK1Qd8Vdvtje2Fatdbm7atv79lZvvX+tvftV68OH1n5rW3HFWrEUxaUqioha3FhkX2RfQ0IWyL7NzPX7Y05iDCQZkkzOJHM923nMOWfO8s4IVw6fc87nI6qKMcaY6OFxO4AxxpjuZYXfGGOijBV+Y4yJMlb4jTEmyljhN8aYKBPjdoBQ9OvXT3Nzc92OYYwxPcrq1auLVTWr5fIeUfhzc3NZtWqV2zGMMaZHEZG9x1tuTT3GGBNlrPAbY0yUscJvjDFRpke08RtjjBvq6+vZuXMn1dXVbkdpU1JSEiNGjCAuLi6k9a3wG2NMK3bu3Enfvn05+eST8Xgis4EkEAhQWFjIjh07GDduXEjbhPUnEZG+IrJQRLaKyBYROVNEMkRkiYhsd97Tw5nBGGM6qrq6muzs7Igt+gAej4fs7Gyqq6spKCgIbZswZ3oMWKyqY4BJwBbgLmCpqo4CljrzxhgTkSK56DfyeDyICK+99hp+v7/99cMVRERSgW8CTwOoar2qHgWuAuY5q80Drg5XhtVvPsXn/3g4XLs3xpiIUltbS01NTbvrhfNX2XCgCHhWRNaIyFMikgxkq+ohAOe9//E2FpFbRWSViKwqKirqUADZ8hojN/0BX0N9B38EY4xx36JFixARtm7d2uZ6IhLS/sJZ+GOAKcCfVfVUoIoTaNZR1bmqmqeqeVlZxzxxHJoJs8mkjK2fvd2x7Y0xJgLMnz+f6dOn89JLL3XJ/sJZ+A8AB1T1c2d+IcFfBIUiMgDAeT8crgDjvnkNVZpA9Zp/hOsQxhgTVpWVlXz88cc8/fTTXVb4w3Y7p6oWiMh+ETlZVb8Ezgc2O68bgAed99fClSEhqQ+r0qYzunQZDfV1xMbFh+tQxphe7r43NrE5v7xL9zluYCq/umJ8m+u8+uqrzJw5k9GjR5ORkcEXX3zBlClTOnXccF+u/hnwNxFZD0wG7idY8C8Uke3Ahc582MRMnE1fKtn88evhPIwxxoTF/PnzmTNnDgBz5sxh/vz5nd5nWB/gUtW1QN5xPjo/nMdtbuyMqyn/+D+oX7sQzv1Wdx3WGNPLtHdmHg4lJSW8//77bNy4ERHB7/cjIjz00EMhX8g9nsi/QbWT4hOS+LLv2Zxc9hF1tZH92LUxxjS3cOFCrr/+evbu3cuePXvYv38/w4YNY/ny5Z3ab68v/ADxk64hlWq2/OtVt6MYY0zI5s+fz6xZs762bPbs2bz44oud2m9U9NUz9qwrOPJhCr4NL8OF33E7jjHGhOSDDz44Ztltt93W6f1GxRl/bFw82zLPY1zZv6goK3U7jjHGuCoqCj9A3zO/T5LUseW9ee2vbIwxvVjUFP7RU85hr2cIqVsXuB3FGGNcFTWFXzweDg2fzZiGzez9cq3bcYwxxjVRU/gBRl5wMz71kP/Bk25HMcYY10RV4e+XM4QNyWcw6tA/rcdOY0zUiqrCD8Dk79KPo2z86BW3kxhjTLu8Xi+TJ09m0qRJTJkyhU8++aTT+4y6wj/hnG9RQhq6+nm3oxhjTLsSExNZu3Yt69at44EHHuDuu+/u9D6jrvDHxsWzPedyJlZ9SuGBnW7HMcaYkJWXl5Oe3vlhyqPiyd2Whs68HXn2RXa9/Qeyb3nM7TjGmJ7g7bugYEPX7jNnIlzSdgfFNTU1TJ48mdraWg4dOsT777/f6cNG3Rk/wMDck1mffCZjDr5CbU2V23GMMaZVjU09W7duZfHixVx//fWoaqf2GZVn/ACx3/gR6e9dx4rFzzBt1s/cjmOMiXTtnJl3hzPPPJPi4mKKioro3/+4w5WHJCrP+AHGf+Ny9niGkrHxWTQQcDuOMca0a+vWrfj9fjIzMzu1n6g94xePh8KxN3D6pv9l68r3GHP6RW5HMsaYYzS28QOoKvPmzcPr9XZqn1Fb+AEmXnIL5Zseoepfj4MVfmNMBPL7/V2+z6ht6gFI6pPG5pyrmVTxEfm7t7odxxhjukVUF36A4VfcQQAP+//5gNtRjDGmW0R94e8/aBhrMy9hcvGbFBfsczuOMcaEXdQXfoCBl95FDD62v/Y7t6MYY0zYWeEHBo+cwJrU8zglfyFlpUVuxzHGmLCywu/IuPhOkqWWza897HYUY4wJq7AWfhHZIyIbRGStiKxylmWIyBIR2e68d77HoS4wfMLprE06k7F7X7AB2Y0xEaOgoIA5c+YwYsQIxo0bx6WXXsq2bds6tc/uOOM/V1Unq2qeM38XsFRVRwFLnfmIkHzRPfSlko0L73c7ijHGoKrMmjWLc845h507d7J582buv/9+CgsLO7VfN5p6rgLmOdPzgKtdyHBcoybP4Is+3+SUfX+lpPCA23GMMVFu2bJlxMbG8sMf/rBp2eTJk5kxY0an9hvuJ3cVeFdEFHhCVecC2ap6CEBVD4nIcXsaEpFbgVsBhg4dGuaYX8m84n9JePEcNrx8H5k/trF5jTFBv1vxO7aWdu2DnmMyxnDntDtb/Xzjxo2cdtppXXpMCP8Z/1mqOgW4BPiJiHwz1A1Vda6q5qlqXlZWVvgStnDSyZNZnXEpUwpf4dDeL7vtuMYY013CesavqvnO+2ERWQRMAwpFZIBztj8AOBzODB0x9P/8Bn3qXQ4s+hUDfv6S23GMMRGgrTPzcBk/fjwLFy7s8v2G7YxfRJJFJKVxGrgI2Ai8DtzgrHYD8Fq4MnRUzpCRrMm5hilHFrNzfecHNjbGmI4477zzqKur48knv2p2XrlyJR9++GGn9hvOpp5sYLmIrANWAG+q6mLgQeBCEdkOXOjMR5yx//a/lEsKdW/cYf31G2NcISIsWrSIJUuWMGLECMaPH8+vf/1rBg4c2Kn9ttvUIyLfAharaoWI3AtMAX6rql+0tZ2q7gImHWd5CXB+B/N2m7SMLFZM+AXTNt7HqrefJu+yW9yOZIyJQgMHDmTBggVdus9Qzvj/xyn604GLCd6C+ecuTRGhTrv6NnZ4RzB05f1UV5a5HccYY7pEKIW/cRSAy4A/q+prQFz4IkUOb0wMvot/R39KWTf/V27HMcaYLhFK4T8oIk8A3wbeEpH4ELfrFcZMu5CVaRdx2oG/svfLtW7HMcZ0s0APuMZ3ohlDKeDfBt4BZqrqUSADuOPEo/Vcw659hBqJp3rhjwmEYRg0Y0xkSkpKoqCgIKKLfyAQoKCggIaGhpC3affirqpWi8hhYDqwHfA571GjX84QVk7+b6auvYfPFz7M6f/W/ffzGmO634gRI1i7di35+fmIiNtxWtXQ0MC+fftQVTye9s/nQ7mr51dAHnAy8CwQC7wAnNXJrD1K3pU/Zv3WV5iw+REK9v0fcoaOcjuSMSbM4uLiSExMZMmSJaSlpYVUVN1SUVFBdnY2iYmJ7a4byk8xC7gSqIKmp3FTOpWwBxKPh35z/oygFL74I7u335goMWHCBM455xwSEhIQkYh8eTweRo0axZVXXhnSv0xC6bKhXlXV6Wit8SncqDQw92Q+G3M7Z3z5EJ+//Cinf+s/3I5kjAkzEWHKlClMmTLF7ShdJpQz/gXOXT19ReQW4D0garutnPbtu9gQP4VTNj5od/kYY3qkdgu/qj4MLAReJtjO//+p6v8Ld7BI5fF6ybnhWWolnoYFP6C+rtbtSMYYc0JCulKhqktU9Q5V/U9VXRLuUJEua2Aue896iJH+nXzx7C/djmOMMSek1cIvIhUiUt7svbz5fHeGjESTL/wOn2dezRkFf2Pd+13bj4YxxoRTq4VfVVNUNbXZe2rz+e4MGakm3fQ4O73DGfbRzzm4a5PbcYwxJiTtNvWIyNDjvbojXKRLSOpD4vfmo0Dt375LTVWF25GMMaZdobTxv9nstRTYBbwdzlA9ycBhY9h79h8Y5tvDpie+b/f3G2MiXih39Uxs9hpFcPjE5eGP1nOccu41fJ777+SVv8fnL1gvnsaYyHbCzx87A7BMDUOWHu306+9ndcq5nLHrD6x+61m34xhjTKtC6aun+f2KHoIjcBWFLVEP5fF6Gf/jv7HlkQuY8PkdbM0awpipF7gdyxhjjhHKGX9Ks1c8wbb+q8IZqqdKSEwm59ZXKPL0I/vNG9m/Y4PbkYwx5hiiqm5naFdeXp6uWrXK7Rgh279jA8kvXEo9cfCDxdaTpzHGFSKyWlXzWi4P5XbOJSLSt9l8uoi809UBe5MhIydSOuslkqjG9+wVFBfsczuSMcY0CaWpJ8sZeQsAVT0C9A9fpN5h5KSzyL/sr2QESqmYewVHiwvcjmSMMUCIg603f2BLRE4CIr99KAKMmXoBuy54koH+gxz508UUF+x3O5IxxoRU+O8BlovIX0Xkr8BHwN3hjdV7TJhxFdsveJps/yGq5s7k8MHdbkcyxkS5UB7gWkzwFs6/AwuA01Q15DZ+EfGKyBoR+aczP0xEPheR7SLydxGJ62j4nmLCjKvYc8nzZPpLqH9qJvm7t7odyRgTxUK5uCvATGCKqr4BJInItBM4xu3AlmbzvwMedZ4CPgLcdAL76rHGnTGTg1e8SIpWEDfvYrav/ZfbkYwxUSqUpp4/AWcC1zrzFcDjoexcRAYDlwFPOfMCnEdwYBeAecDVJ5C3Rzs57zyOzvknDcQyaNFs1i37h9uRjDFRKJTCf7qq/gSohaa7ekJtnvk98F9AY89lmcBRVfU58weAQcfbUERuFZFVIrKqqKj3PCh80pgpxN66lPyYwYz/4FY+X/CQdexmjOlWoRT+BhHx4tzJIyJZfFXIWyUilwOHVXV188XHWfW4dwip6lxVzVPVvKysrBBi9hz9Bp5Ezu1L2ZQ0ldM3/19W/vF6G8LRGNNtQin8fwAWAf1F5P8S7Jnz/hC2Owu4UkT2AC8RbOL5PcFB2xv7CBoM5J9o6N6gT2o6E/7jLT4d9H2mlb7BrofPpTh/r9uxjDFRIJS7ev5GsLnmAeAQcLWqtts4rap3q+pgVc0F5gDvq+p3gWXANc5qNwCvdTB7j+eNieHMWx5j9bTfM7R+J56509nw4StuxzLG9HJtjbmb0fgCDgPzgReBQmdZR90J/FJEdhBs83+6E/vqFU679EaK5rxNmSedictu5NO5P6Ohvs7tWMaYXqrVTtpEZDfB9vfjtsur6vBwBmuup3XS1lE1VRVsePpHTCt9g20xo4m/5glOGjPF7VjGmB7qhDtpU9VhqjrceW/56raiH00Sk1OYdtsLrJ72e7J8h8iZfxGf/e0+An6/29GMMb1ISCNwiciVIvKw87o83KGi3WmX3oj/h5+wJTmPM7Y/wrYHzmL35pVuxzLG9BKhPLn7IMGnbzc7r9tF5IFwB4t2/XKGMuk/32Ll5PvJ9h1g8N8v5tO5P6OmqsLtaMaYHq7dgVhEZD0wWVUDzrwXWKOqp3RDPiB62vhbc6ToEDv+9gumHn2bArI4OO1upsy8EfGc8JDJxpgo0uGBWBx9m02ndU0kE6r0rAFM/flLbL74Jaq8KZy24pdseWAG29d85HY0Y0wPFErhfwBYIyLPicg8YDWhPcBluti4My8h9+6VrJjwK3Ia9jHqtSv44uEr2LdtrdvRjDE9SEhj7orIAGAqwVs7P1fVbh1OKtqbeo6noqyUjQvv55R9fyWeetakX0zO5fcwZOREt6MZYyJEa009bd3H3+YN5Kr6RRdla5cV/taVFB5g+8u/YXLhK8TiY03a+WRd8t+cNPY0t6MZY1zWkcIfADYBjV1jNn+QS1X1vC5P2Qor/O0rLtjHjlcf5JRDC0mSOtYlTMU7/TbGf+NyuwhsTJTqSOH/BTAbKCPYydoiVa0Ma8pWWOEP3dHiAra88Sij984nkzJ2eXIpGns9E2beRHJK3/Z3YIzpNU648DfbcBjBQViuAvYC96tqt15NtMJ/4mprqlj/1pNkbn6OEf7dVGgim7MuIXPGzYycdJbb8Ywx3aDDhd/ZeDzBHjavA/5LVRd0fcTWWeHvOA0E+HLVUiqX/4WJZR8SLw3s8I6geORsRp13A5nZg92OaIwJk4409QwnWOyvAvYTbO75p6p2+4ghVvi7RllJIVvfe5bMbQsY6d+JTz1sTjyNujGzGH32v5GW3s/tiMaYLtTRi7vrCfaXX06LkbJU9ZEw5DwuK/xdb8+WVRz61/Pk5r/FAIqoVy9bEqdQN+pyhp81m345Q9yOaIzppI4U/l/TyrCIAKp6X5ela4cV/vDRQIDtaz+idMUChhYuYaAeJqDC9tiTKR18LlmnXs7wCWfi8XrdjmqMOUGdauN3mxX+7qGBALs3r6Rw5Sv0O7iUUb7tAJSQxu7UqQSGnc3Q0y4hZ+gol5MaY0Jhhd+csOKC/ez+/A1k51KGl68gg3IADkgO+WlT4KQzGTjxPAYNH2fPChgTgazwm07RQIA9W1ZSuG4J8Qc+Jrd6A+kEu4guJZW9SROozZ5CyvBpDJ04ndS+mS4nNsZ0pI3/dlV9TETOUtWPw56wDVb4I0/A72f/trUUbFyG58BKcsrXM0Tzmz7fLwM53Odk6rMmkjx0MgNH55GZM8T+ZWBMN+pI4V+rqpNF5AtVdXXgVyv8PUNZSSH7Nn5M1e5VxBetI7t6GwP1cNPnR0glP24Ylakjof8Y+gyeQPbwiWT2H2S/EIwJg44U/vnAmUAWsLP5RwT76rGBWEy7ykoK2b91BZX71uM5vIm+FdsZ1LCPZPnqcZBykiiIGUx50lAa0oYRmzWCPgNG0W/IaDL7D7ZfCsZ0UIfa+EUkB3gHuLLlZ6q6t0sTtsEKf++igQCFB3dxeOc6qg9tRUp2kFyxi8y6g2RrMR756s9kjcZx2JtNWVwONckD0ZTBeNMHk9TvJFKzh9JvQC6JySku/jTGRK7WCn9MWxs5/e5PEpE4YLSz+EtVbQhDRhMlxOMhZ8hIcoaMPOazutpqCvZs5Wj+DmoP70SP7CGu8iAptYcYUvIl6SXlsOfr25STTKkng8rYTGrjs/Al9Yc+WXhTsolPyyYpPYfUfgNJy8wmPiGpe35IYyJYm4UfQETOBp4n+NdNgCEicoOq2rh/psvFJyRx0pgpnDTm+JeVaqoqKM7fRVnBHmpKDuArO4in4hBxNYdJqisms3wt6WVHSZDjn5tUaiLlnlSqvKnUxKRRH5uGPz6NQEJfJDEdT1I6scnpxCWnE9+nL4kpGSSnptMnLYOY2Lhw/ujGdJt2Cz/wCHCRqn4JICKjgflAmyN9iEgC8BEQ7xxnoar+yunt8yUgA/gCuE5V6zv+I5hokpicwpBRkxgyalKr62ggQEXFUY4e3k9laQE1Rw/TUF5IoKoYqS4lpraEuPoyEnxlZNQdoE9FJala9bUmpuOp0TiqJIkaSaLOk0i9N4kGbxK+mCT8MUkEYpLQ2CQkrg/EJeGJS8ITn4w3PpmY+CS88UnEJiQT1/iemERcQjLxCYnExSXYtQzTbUIp/LGNRR9AVbeJSGwI29UB56lqpbP+chF5G/gl8KiqviQifwFuAv7ckfDGHI94PKSkZZCSlgG0/guiuYDfT1n5EaqOFlNdXkJtZSn1lUfxVR8lUFOG1pYj9ZVIfQUxDZV4fdXE+qtIri8mvraGeK0lUWtIpI4YCXQod63GUi9x1BNLA7H45KuX3xOHv/HdE4t6Ygh44lBPLAFPLHhiUE8s6o0FTyx4YxFPLHi8wWlvcB3xxiLer9493hgQL56YGMQTi3iCy8TrxeN8Lh4vHo8Xj9eLx+N85qznaVxPPM5yr7ONB4/Hg7dp2ovHeRcR+yXnslAK/yoReRr4qzP/XYIDrrdJg1eNGwduiXVeCpwHfMdZPg/4NVb4jcs8Xi9p6f063UOpBgLU1ddSW1VBTXUF9TWV1NdU4qutpqGuBn9dFf76avz1NWhDDdpQCw21qK8G8dWBvx7x1+Hx1+MJ1OPx1+HRBryBeryBBmJ9NXjVR4w2OO8+YmjAi59Y9RGLjxh8eNv51wtAAPADPhECgE/AjxAQ8DnvfgQ/tFgGAQS/BPcRcJYH9ydo03IIOPtW51jqzAdU8IuzbzzO9hI8PtK0XQD5apvGz5xjaNM8TfPqHEudfTROa4t1aFovmKlxvebfDSJN67V8b1y3cfvjrdc4aGHwuC0/a5wXWlIUnJ8R4EcX/onxI6cd+x+wE0Ip/D8CfgLcRvAn+Qj4Uyg7FxEvwV8SI4HHCd4WelRVfc4qB4BBrWx7K3ArwNChQ0M5nDGuE4+H+IQk4hOSSMvMRlWp89dR66ul1l9Lra82OO+vpd5f3zRf56+j3l9Pvb8+OB2op8HfQH2gvml5Q6Ah+HKW+wK+pmW+gI8GfwM+Db4HlzXgC/jxBRrwB/z41Icv4MOvfvwacApMdGj8PSh8fQzZ4Lw2TaNffS7HlPBjt22+Xcv9tyzprS1vmbHlOtUN1a1s0XHtFn5VrSPYzn/C3TCrqh+YLCJ9gUXA2OOt1sq2c4G5ELyd80SPbUxHNBbqivqK4Kuhgsr6SiobKqlqqKKyvpIqXxXVDdVUNVRR7Qu+1zTUUO2rpsZXc8yrM2IkhlhvLHHeOOI8ccR544j1xBLjiSHWE0usN5YYiSHOG0dSbBKx8tUyr8dLjCeGGE8MXvE2beeV4HKvx4tXvE3zHvEcM+31eJumW333ePDgQUSaln9tGsEjnmNegiAiX1un5TIRadq3iHxtPaDpWI3/C/7/69ubY4Vyxt9pqnpURD4AzgD6ikiMc9Y/GMhvc2NjOiigAcrqyjhSe4SS2hKO1h3lSO2RpveyujLK6ssoqyujvL6c8rpyyuvLaQi0f7dyYkwiiTGJJMUkkRybTFJsEilxKfRP6k9STBIJMQlN6zROx3vjiffGN00nxCQ0LYv1xpLgTQgWeG9ccJknFo9YW7jpemEr/CKSBTQ4RT8RuAD4HbAMuIbgnT03EBzoxZiQ+QN+imuKOVx9mMPVhymsLqSopojimmKKaoooqSmhpKaE0tpS/Oo/7j6SYpLoG9+XtPg0UuNS6d+3P2nxaaTEpZAal0pqXCp9YvvQJ64PKXEpJMcmkxKbQnJcMkkxScR4uuWcyZiwaPNPr9NG/6Cq3tGBfQ8A5jn78AALVPWfIrIZeElEfgusAZ7uwL5NL9YQaKCgqoADFQc4WHmQ/Mp88qvyOVR5iENVhyiqLsLXdJkoyCteMhMzyUrMIjspm3GZ48hMyCQjIYOMhAzSE9Kb3vvG9yXOa/fkm+jV3pO7fhE5TURET7D/ZlVdD5x6nOW7gK69RG16HFWloKqA3WW72V2+mz1le9hfsZ99FfvIr8z/2pm6V7zkJOcwIHkAedl55CTnkJ2UTXZyNv2T+tM/qT8ZCRnWLGJMiEL59+oa4DUR+QdQ1bhQVV8JWyrTa6gqJbUlbCvdxrYj29h+dDs7j+5kd9luqn1f3a3QJ7YPQ1OHMj5zPDNzZzIkZQiDUwYzqM8g+if1t6YVY7pQKH+bMoASgvffN1LACr/5msaz+E0lm9hUsoktpVvYUrKF0trSpnWyErMY0XcEs0bNYnjacIalDWNY2jAyEzLtDgxjukkot3Pe2B1BTM9T66tlY/FG1hatZV3ROjYUbaCktgQI3oY4ou8IZgyawZiMMYxOH82o9FGkJ6S7nNoYE0onbaMJPlmbraoTROQU4EpV/W3Y05mIUt1QzZrDa1hZsJLVhavZWLIRXyB4kTU3NZezBp3FhH4TmJA5gdEZo4n3xruc2BhzPKE09TwJ3AE8AcGLtiLyImCFv5cLaIDNJZtZfnA5n+Z/yvri9fgCPmI8MYzPHM91465jSv8pTMqaZGfyxvQgoRT+JFVd0aL91dfayqZnq6yv5JP8T/hg/wcsP7icI3VHEISxmWO5btx1nJFzBqdmn0piTKLbUY0xHRRK4S8WkRE4XSuIyDXAobCmMt3qaO1Rlu1fxrt73+WzQ5/hC/hIi09jxqAZTB80nTMHnklGQobbMY0xXSSUwv8Tgn3mjBGRg8Bugj10mh6sqqGKpfuW8taut/js0Gf41c+gPoP47pjvcu7Qc5mUNcluoTSmlwrlrp5dwAUikgx4VLUi/LFMOAQ0wIqCFSzavoj3971Prb+WQX0GceOEG7nopIsYkzHGbqk0JgqEcldPJvArYDqgIrIc+I2qloQ7nOkaxTXFvLztZRbtWMTByoOkxKVw1ciruGz4ZUzOmmzF3pgoE8q/5V8i2Af/bGf+u8DfCXa6ZiKUqrK2aC3zt8xnyb4l+AI+Th9wOredehvnn3S+3WppTBQL6cldVf3fZvO/FZGrwxXIdI4/4GfpvqXM2zSP9cXrSYlL4dox1/Lt0d8mNy3X7XjGmAgQSuFfJiJzgAXO/DXAm+GLZDqiwd/AG7ve4KkNT7G/Yj9DUoZwz+n3cOWIK0mKTXI7njEmgrRa+EWkApzBH4MDpL/gfOQhOJbur8KezrSrIdDAqzte5an1T5Fflc+4zHE8es6jnDvkXLwer9vxjDERqNXCr6op3RnEnJiABnhnzzv8cc0f2Vexj1P6ncK9Z9zL9EHT7WKtMaZNId2o7fTPk9t8feuW2T2rClbx0MqH2FK6hVHpo3j8/MeZMWiGFXxjTEhCuZ3zGeAUYBMQcBZbt8wuyK/M55HVj/DOnnfISc7h/un3c9nwy2wAEmPMCQnljP8MVR0X9iSmVQ2BBp7f9Dx/WfcXAH48+cd8f/z3rb8cY0yHhFL4PxWRcaq6OexpzDHWFa3jvk/vY/uR7Zw/9HzunHonA/oMcDuWMaYHC6XwzyNY/AuAOoJ3+aiqnhLWZFGuzl/H42se57lNz9E/qT+PnfsY5w09r/0NjTGmHaEU/meA64ANfNXGb8Joc8lm7ll+DzuO7mD2qNncMfUOkmOT3Y5ljOklQin8+1T19bAnMagqz29+nt+v/j3pCen86fw/MWPwDLdjGWN6mVAK/1ZnxK03CDb1AHY7Z1c7WnuUez++l2tqpicAAA9tSURBVA8PfMh5Q87jN2f9hrT4NLdjGWN6oVAKfyLBgn9Rs2V2O2cX2li8kZ8v+zmltaXcPe1urh1zrd2Tb4wJm1D647+xIzsWkSHA80AOwWsDc1X1MRHJINi7Zy6wB/i2qh7pyDF6g9d3vs59n9xHv8R+vHDpC4zLtDtnjTHhFcoDXM/iDLvYnKr+oJ1NfcB/qOoXIpICrBaRJcD3gaWq+qCI3AXcBdx5wsl7OH/AzyOrH+H5zc8zLWcaD5/9sA1YbozpFqE09fyz2XQCMAvIb28jVT2EMzavqlaIyBZgEHAVcI6z2jzgA6Ks8Nf4arjzoztZtn8Z3xnzHf5z6n8S64l1O5YxJkqE0tTzcvN5EZkPvHciBxGRXOBU4HMg2/mlgKoeEpH+rWxzK3ArwNChQ0/kcBHtSO0Rfvr+T9lQtIG7p93Nd8Z+x+1Ixpgo05FOXkYBIVdiEekDvAz8XFXLQ91OVeeqap6q5mVlZXUgZuTJr8znurev48vSL3n0nEet6BtjXBFKG39jv/yNCgixaUZEYgkW/b81u/2zUEQGOGf7A4DDJ5i5R9pXvo+b372ZyoZKnrroKSb3n+x2JGNMlAqlqadD/fJL8H7Ep4EtqvpIs49eB24AHnTeX+vI/nuSXUd3cfO7N9MQaODpi55mbOZYtyMZY6JYWyNwtdmco6r72tn3WThdPYjIWmfZfxMs+AtE5CZgH/Ct0OP2PDuP7uQH7/wAQXj24mcZmT7S7UjGmCjX1hn/m3w19GIjBbKA/kCb4/qp6vIW2zZ3/glk7LH2V+znlndvwSMenrn4GYalDXM7kjHGtDn04sTm886dOXcCFwD3hzVVL1BYVcgt795CfaCeZy9+1oq+MSZitHtXj4iMEpHngLeB1cA4Vf1/4Q7Wkx2pPcItS27haN1RnrjgCUalj3I7kjHGNGmrjX8CcA8wHngIuElV/d0VrKeq89dx2/u3cbDiIE9c+ATj+413O5IxxnxNW23864D9BNv6pwHTmnccpqq3hTdazxPQAPcuv5e1RWt5+OyHycvJczuSMcYco63C315fPKaFP675I4v3LOYXp/2Ci3MvdjuOMcYcV1sXd+d1Z5Ce7o2db/DkhieZPWo2N47vUIemxhjTLTrSZYNpYWvpVu779D7ysvO454x7rC99Y0xEs8LfSWV1Zfx82c9Ji0/j4bMftl42jTERL5RumU0rAhrgrn/dRWF1Ic/NfI7MxEy3IxljTLtCuY9/tIgsFZGNzvwpInJv+KNFvqc3PM3yg8u5e9rdTMqa5HYcY4wJSShNPU8CdwMNAKq6HpgTzlA9wYaiDfxp7Z+YmTuTb43u1d0NGWN6mVAKf5KqrmixzBeOMD1FVUMVd/7rTrKSsvifM//HLuYaY3qUUNr4i0VkBE6f/CJyDc6QitHqgc8f4GDlQZ65+BlS41LdjmOMMScklML/E2AuMEZEDgK7ge+FNVUEW7J3Ca/tfI1bT7mV07JPczuOMcacsFAGYtkFXCAiyYBHVSvCHysyldWV8dvPfsvYjLH8cNIP3Y5jjDEdEsrQi/HAbCAXiGlsz1bV34Q1WQR6aOVDlNWV8cSFT9j9+saYHiuUpp7XgDKCXTLXhTdO5Prk4Ce8vvN1bpl4C2MyxrgdxxhjOiyUwj9YVWeGPUkEq26o5r5P7yM3NZd/n/TvbscxxphOCaXwfyIiE1V1Q9jTRKg/r/sz+VX5zJs5j3hvvNtxjDGmU9oaiGUjEHDWuVFEdhFs6hFAVfWU7onorl1lu3hh8wvMGjmLKdlT3I5jjDGd1tYZ/yBgcncFiUSqykMrHiIhJoHbp9zudhxjjOkSbRX+3aq6t9uSRKAPD3zIx/kf819T/8s6YDPG9BptFf7+IvLL1j5U1UfCkCdi1Pnr+N2K3zE8bThzxkR910TGmF6krcLvBfoQbNOPOi9sfoEDlQfsnn1jTK/TVuE/1JmHtETkGeBy4LCqTnCWZQB/J/gw2B7g26p6pKPHCJeyujKe3vg0MwbN4BsDv+F2HGOM6VJt9c7Z2TP954CW9//fBSxV1VHAUmc+4jy36Tkq6ivsgq4xpldqq/Cf35kdq+pHQGmLxVcBjYO4zwOu7swxwqGouogXNr/ApcMu5eSMk92OY4wxXa7Vwq+qLYt2V8hW1UPO/g8B/VtbUURuFZFVIrKqqKgoDFGO74n1T+AL+Pjp5J922zGNMaY7Rexg66o6V1XzVDUvKyurW465v3w/L297mdmjZzMkdUi3HNMYY7pbdxf+QhEZAOC8H+7m47fpifVPEOOJ4d9Psf54jDG9V3cX/teBG5zpGwj2/BkR8ivzeXPXm1wz+hqykrrnXxjGGOOGsBV+EZkPfAqcLCIHROQm4EHgQhHZDlzozEeE5zY9BwI3jL+h3XWNMaYnC6V3zg5R1Wtb+ahTdwuFQ0lNCa9sf4Urhl9BTnKO23GMMSasIvbibnd6YcsL1Pvr+cGEH7gdxRhjwi7qC395fTkvbX2JC0+6kNy0XLfjGGNM2EV94V/w5QIqGyq5eeLNbkcxxphuEdWFvyHQwPwt8zljwBmMzRzrdhxjjOkWUV34l+5byuGaw3xv7PfcjmKMMd0mqgv//C3zGdxnMNMHTXc7ijHGdJuoLfxbSrbwxeEvuHbMtXg9XrfjGGNMt4nawv/i1hdJjEnk6lER10GoMcaEVVQW/tLaUt7a9RZXjriS1LhUt+MYY0y3isrC/8r2V6gP1HPtmNYeLjbGmN4r6gp/QAO8vO1lpuZMZUTfEW7HMcaYbhd1hX914WoOVB5g1shZbkcxxhhXRF3hf3XHq/SJ7cMFJ13gdhRjjHFFVBX+yvpK3t3zLjOHzSQxJtHtOMYY44qoKvzv7HmHWn+tNfMYY6JaVBX+RTsWMSJtBBP7TXQ7ijHGuCZqCv+uo7tYV7SOWaNmISJuxzHGGNdETeF/deereMXLZcMvczuKMca4KioKf0ADvL37bc4adBb9Evu5HccYY1wVFYV/fdF6CqoKmJk70+0oxhjjuqgo/Iv3LCbOE8e5Q851O4oxxriu1xd+f8DPO3veYcbgGfSJ6+N2HGOMcV2vL/xfHP6C4ppia+YxxhhHry/8i3cvJjEmkW8O/qbbUYwxJiK4UvhFZKaIfCkiO0TkrnAdxxfw8d6+9zh78NkkxSaF6zDGGNOjdHvhFxEv8DhwCTAOuFZExoXjWCsKVlBaW2rNPMYY04wbZ/zTgB2quktV64GXgKvCcaDFuxeTHJvM9ME2mLoxxjRyo/APAvY3mz/gLPsaEblVRFaJyKqioqIOHWho6lDmnDyHeG98x5IaY0wvFOPCMY/XUY4es0B1LjAXIC8v75jPQ3HzxJs7spkxxvRqbpzxHwCGNJsfDOS7kMMYY6KSG4V/JTBKRIaJSBwwB3jdhRzGGBOVur2pR1V9IvJT4B3ACzyjqpu6O4cxxkQrN9r4UdW3gLfcOLYxxkS7Xv/krjHGmK+zwm+MMVHGCr8xxkQZK/zGGBNlRLVDz0Z1KxEpAvZ2cPN+QHEXxgm3npTXsoZPT8rbk7JCz8rb2awnqWpWy4U9ovB3hoisUtU8t3OEqifltazh05Py9qSs0LPyhiurNfUYY0yUscJvjDFRJhoK/1y3A5ygnpTXsoZPT8rbk7JCz8oblqy9vo3fGGPM10XDGb8xxphmrPAbY0yU6dGFv71B20UkXkT+7nz+uYjkNvvsbmf5lyJycaRmFZFcEakRkbXO6y/hzhpi3m+KyBci4hORa1p8doOIbHdeN0R4Vn+z77ZbugcPIe8vRWSziKwXkaUiclKzzyLtu20rayR+tz8UkQ1OpuXNx/uOwJpw3KxdUhNUtUe+CHbpvBMYDsQB64BxLdb5MfAXZ3oO8HdnepyzfjwwzNmPN0Kz5gIbI/C7zQVOAZ4Hrmm2PAPY5bynO9PpkZjV+awyAr/bc4EkZ/pHzf4sROJ3e9ysEfzdpjabvhJY7ExHYk1oLWuna0JPPuMPZdD2q4B5zvRC4HwREWf5S6pap6q7gR3O/iIxqxvazauqe1R1PRBose3FwBJVLVXVI8ASYGaEZnVDKHmXqWq1M/sZwVHqIDK/29ayuiGUvOXNZpP5atjXiKsJbWTttJ5c+EMZtL1pHVX1AWVAZojbdqXOZAUYJiJrRORDEZkRxpzHZHGcyPcTid9tWxJEZJWIfCYiV3dttOM60bw3AW93cNvO6kxWiNDvVkR+IiI7gYeA205k2y7UmazQyZrgykAsXSSUQdtbWyekAd+7UGeyHgKGqmqJiJwGvCoi41ucDXS1znw/kfjdtmWoquaLyHDgfRHZoKo7uyjb8YScV0S+B+QBZ5/otl2kM1khQr9bVX0ceFxEvgPcC9wQ6rZdqDNZO10TevIZfyiDtjetIyIxQBpQGuK2XanDWZ1/epYAqOpqgu2Co8OYNdS84di2Izp1PFXNd953AR8Ap3ZluOMIKa+IXADcA1ypqnUnsm0X6kzWiP1um3kJaPyXSER+t800Ze2SmhCuixfhfhH818oughdiGi+OjG+xzk/4+gXTBc70eL5+IWcX4b2Q05msWY3ZCF4IOghkuP3dNlv3OY69uLub4MXHdGc6bHk7mTUdiHem+wHbaXGBzaU/C6cS/Ms8qsXyiPtu28gaqd/tqGbTVwCrnOlIrAmtZe10TQjbf4TueAGXAtucP3j3OMt+Q/DMAyAB+AfBCzUrgOHNtr3H2e5L4JJIzQrMBjY5fzC+AK6IkO92KsGzliqgBNjUbNsfOD/HDuDGSM0KfAPY4Hy3G4CbIuS7fQ8oBNY6r9cj+Ls9btYI/m4fc/4+rQWW0azYRmBNOG7WrqgJ1mWDMcZEmZ7cxm+MMaYDrPAbY0yUscJvjDFRxgq/McZEGSv8xhgTZXryk7vGdDkRyQSWOrM5gB8ocuarVfUbrgQzpgvZ7ZzGtEJEfk2wh8mH3c5iTFeyph5jQiQilc77OU7nWAtEZJuIPCgi3xWRFU7/6SOc9bJE5GURWem8znL3JzAmyAq/MR0zCbgdmAhcB4xW1WnAU8DPnHUeAx5V1akEn7Z8yo2gxrRkbfzGdMxKVT0E4HSb+66zfAPBwUkALgDGNRtWIVVEUlS1oluTGtOCFX5jOqau2XSg2XyAr/5eeYAzVbWmO4MZ0x5r6jEmfN4Ffto4IyKTXcxiTBMr/MaEz21AnjMQ+Wbgh24HMgbsdk5jjIk6dsZvjDFRxgq/McZEGSv8xhgTZazwG2NMlLHCb4wxUcYKvzHGRBkr/MYYE2X+f/3EATddYMmLAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ret1 = run_simulation(duration, y0=y0, model=m)\n", "ret1.plot(**opt_kwargs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Make a model with intrinsic rates. This model is for microscopic (particle) simulation algorithms." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "with species_attributes():\n", " A | B | C | {'radius': radius, 'D': D}\n", "\n", "with reaction_rules():\n", " A + B == C | (ka, kd)\n", "\n", "m = get_model()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Simulating with `spatiocyte`. `voxel_radius` is given as `radius`. Use `alpha` enough less than `1.0` for a diffusion-limited case (Bars represent standard error of the mean):" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# alpha = 0.03\n", "ret2 = ensemble_simulations(duration, ndiv=20, y0=y0, model=m, solver=('spatiocyte', radius), repeat=N)\n", "ret2.plot('o', ret1, '-', **opt_kwargs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Simulating with `egfrd`:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ret2 = ensemble_simulations(duration, ndiv=20, y0=y0, model=m, solver=('egfrd', Integer3(4, 4, 4)), repeat=N)\n", "ret2.plot('o', ret1, '-', **opt_kwargs)" ] } ], "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.7.1" } }, "nbformat": 4, "nbformat_minor": 1 }