Skip to content

Instantly share code, notes, and snippets.

@kaizu
Created March 2, 2017 08:09
Show Gist options
  • Save kaizu/e239b82622034dafdccb53fd7682ab21 to your computer and use it in GitHub Desktop.
Save kaizu/e239b82622034dafdccb53fd7682ab21 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"from ecell4 import *\n",
"import numpy\n",
"import matplotlib.pylab as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def singlerun(x, kon, koff, solver='ode'):\n",
" with reaction_rules():\n",
" A + B == C | (abs(kon), abs(koff))\n",
" data = run_simulation(x, y0={'C': 120}, solver=solver, species_list=['A'], return_type='array')\n",
" return numpy.asarray(data).T[1]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"x0 = numpy.linspace(0, 10, 21)\n",
"y0 = singlerun(x0, 0.01, 0.3, 'gillespie')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x68ee170>]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x681bd30>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(x0, y0, 'o')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def evaluate(individual):\n",
" x = numpy.linspace(0, 10, 21)\n",
" y = singlerun(x, *individual)\n",
" return ((y - y0) ** 2).sum(),"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import scipy.optimize\n",
"params1, cov = scipy.optimize.curve_fit(singlerun, x0, y0, p0=(1.0, 1.0))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(array([-0.01068974, -0.3105444 ]), (147.52589412177068,))"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"params1, evaluate(params1)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x3ff0590>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x1 = numpy.linspace(0, 10, 101)\n",
"plt.plot(x0, y0, 'o')\n",
"plt.plot(x1, singlerun(x1, *params1), '-')\n",
"plt.plot(x1, singlerun(x1, 0.01, 0.3), '--')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from deap import base, creator\n",
"creator.create(\"FitnessMin\", base.Fitness, weights=(-1.0, ))\n",
"creator.create(\"Individual\", list, fitness=creator.FitnessMin)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import random\n",
"from deap import tools\n",
"\n",
"IND_SIZE = 2\n",
"\n",
"toolbox = base.Toolbox()\n",
"toolbox.register(\"attribute\", random.random)\n",
"toolbox.register(\"individual\", tools.initRepeat, creator.Individual,\n",
" toolbox.attribute, n=IND_SIZE)\n",
"toolbox.register(\"population\", tools.initRepeat, list, toolbox.individual)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"toolbox.register(\"mate\", tools.cxTwoPoint)\n",
"toolbox.register(\"mutate\", tools.mutGaussian, mu=0, sigma=1, indpb=1.0/IND_SIZE)\n",
"# toolbox.register(\"mate\", tools.cxSimulatedBinaryBounded, low=0, up=1, eta=20.0)\n",
"# toolbox.register(\"mutate\", tools.mutPolynomialBounded, low=0, up=1, eta=20.0, indpb=1.0/IND_SIZE)\n",
"\n",
"toolbox.register(\"select\", tools.selTournament, tournsize=3)\n",
"toolbox.register(\"evaluate\", evaluate)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def main_ga():\n",
" pop = toolbox.population(n=50)\n",
" CXPB, MUTPB, NGEN = 0.5, 0.2, 100\n",
"\n",
" # Evaluate the entire population\n",
" fitnesses = map(toolbox.evaluate, pop)\n",
" for ind, fit in zip(pop, fitnesses):\n",
" ind.fitness.values = fit\n",
"\n",
" for g in range(NGEN):\n",
" print(g, *min([(ind, evaluate(ind)) for ind in pop], key=lambda p: p[1]))\n",
" # Select the next generation individuals\n",
" offspring = toolbox.select(pop, len(pop))\n",
" # Clone the selected individuals\n",
" offspring = list(map(toolbox.clone, offspring))\n",
"\n",
" # Apply crossover and mutation on the offspring\n",
" for child1, child2 in zip(offspring[::2], offspring[1::2]):\n",
" if random.random() < CXPB:\n",
" toolbox.mate(child1, child2)\n",
" del child1.fitness.values\n",
" del child2.fitness.values\n",
"\n",
" for mutant in offspring:\n",
" if random.random() < MUTPB:\n",
" toolbox.mutate(mutant)\n",
" del mutant.fitness.values\n",
"\n",
" # Evaluate the individuals with an invalid fitness\n",
" invalid_ind = [ind for ind in offspring if not ind.fitness.valid]\n",
" fitnesses = map(toolbox.evaluate, invalid_ind)\n",
" for ind, fit in zip(invalid_ind, fitnesses):\n",
" ind.fitness.values = fit\n",
"\n",
" # The population is entirely replaced by the offspring\n",
" pop[:] = offspring\n",
"\n",
" return pop"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 [0.018356354406677933, 0.8705348091096281] (3016.6100104387083,)\n",
"1 [0.018356354406677933, 0.3526768677576647] (873.25063714495241,)\n",
"2 [0.018356354406677933, 0.46017297073907015] (336.48983979711153,)\n",
"3 [0.018356354406677933, 0.46017297073907015] (336.48983979711153,)\n",
"4 [0.018356354406677933, 0.46017297073907015] (336.48983979711153,)\n",
"5 [0.018356354406677933, 0.6304894716335571] (873.03590949772331,)\n",
"6 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"7 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"8 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"9 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"10 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"11 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"12 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"13 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"14 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"15 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"16 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"17 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"18 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"19 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"20 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"21 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"22 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"23 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"24 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"25 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"26 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"27 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"28 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"29 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"30 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"31 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"32 [0.018356354406677933, 0.4857341559026765] (331.23473190067051,)\n",
"33 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"34 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"35 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"36 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"37 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"38 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"39 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"40 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"41 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"42 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"43 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"44 [-0.010397271552709569, 0.31233523551285286] (153.13380645059979,)\n",
"45 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"46 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"47 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"48 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"49 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"50 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"51 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"52 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"53 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"54 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"55 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"56 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"57 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"58 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"59 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"60 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"61 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"62 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"63 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"64 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"65 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"66 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"67 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"68 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"69 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"70 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"71 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"72 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"73 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"74 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"75 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"76 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"77 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"78 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"79 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"80 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"81 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"82 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"83 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"84 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"85 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"86 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"87 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"88 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"89 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"90 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"91 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"92 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"93 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"94 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"95 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"96 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"97 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"98 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n",
"99 [-0.010397271552709569, -0.301526457654592] (148.73748012959126,)\n"
]
}
],
"source": [
"pop = main_ga()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"([-0.010397271552709569, -0.301526457654592], (148.73748012959126,))"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"params2 = min([(ind, evaluate(ind)) for ind in pop], key=lambda p: p[1])[0]\n",
"params2, evaluate(params2)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x6f33e50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x1 = numpy.linspace(0, 10, 101)\n",
"plt.plot(x0, y0, 'o')\n",
"plt.plot(x1, singlerun(x1, *params2), '-')\n",
"plt.plot(x1, singlerun(x1, 0.01, 0.3), '--')\n",
"plt.show()"
]
}
],
"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.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment