Compare commits

..

2 Commits

Author SHA1 Message Date
f93a89ebf3 biological networks 2024-01-05 11:55:33 +01:00
32084fe387 introduction to biophysics 2024-01-05 11:55:16 +01:00
23 changed files with 5680 additions and 405 deletions

View File

@@ -0,0 +1,123 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 8,
"id": "3b5b09c5-9188-49d8-a6c8-2f89ea1c7d7a",
"metadata": {},
"outputs": [],
"source": [
"from random import random\n",
"import numpy as np\n",
"\n",
"\n",
"def decide (prob):\n",
" return True if random() <= prob else False\n"
]
},
{
"cell_type": "markdown",
"id": "6e68a721",
"metadata": {},
"source": [
"Question A: Try to simulate Figure. 1.11, assuming that probability to return to start if right is 0.9 while probability to return to start if attempt is wrong is 0.99. Assume that right and wrong are produced equally often and start 100000 times and for each time count how many end in right, respectively wrong state with 1 sorting step, and with 2 sorting steps."
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "56a4b642-2454-4021-98dd-dc95b07ae5bf",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"244509.0\n",
"270193.0\n",
"485298\n"
]
}
],
"source": [
"N = int(1e6)\n",
"\n",
"isright = True\n",
"n = 0\n",
"\n",
"n_wrong = np.zeros(N)\n",
"n_right = np.zeros(N)\n",
"n_0 = 0\n",
"\n",
"for i in range(0,N):\n",
" if n == 0:\n",
" isright = decide(.5)\n",
" n += 1\n",
" n_0 += 1\n",
" \n",
" elif isright:\n",
" n_right[n] += 1\n",
" if decide(0.9):\n",
" n = 0\n",
" else:\n",
" n += 1\n",
" else:\n",
" n_wrong[n] += 1\n",
" if decide(0.99):\n",
" n = 0\n",
" else:\n",
" n += 1\n",
" \n",
" \n",
"print(np.sum(n_wrong))\n",
"print(np.sum(n_right))\n",
"print(n_0)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8b1131fa-c7f8-4ff6-81cd-5ae6eec2d03c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "81e08034-a023-4309-8314-44bcca4b052c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "3356adc3-ef39-4e63-8f2c-d1e4cec9c503",
"metadata": {},
"outputs": [],
"source": []
}
],
"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.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

File diff suppressed because one or more lines are too long

263
bionet/11-feedback.ipynb Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,453 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"from random import random\n",
"\n",
"def choose012 ():\n",
" rand = random()\n",
" if rand <= 1/3:\n",
" return 0\n",
" elif rand <= 2/3:\n",
" return 1\n",
" else:\n",
" return 2\n",
"\n",
"def choosedir ():\n",
" return 1 if random() <= .5 else -1\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.41\n"
]
}
],
"source": [
"# Question 4.5.5\n",
"# No self interaction\n",
"\n",
"M = int(1e4)\n",
"N = 20\n",
"\n",
"back_at_origin = 0\n",
"\n",
"for m in range(0,M):\n",
" current = np.zeros(3) \n",
"\n",
" for n in range(0,N):\n",
" current[choose012()] += choosedir()\n",
" \n",
" if not np.all(current):\n",
" back_at_origin += 1\n",
"\n",
"print(round(back_at_origin / M,2))"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-1\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., -6., -3.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 8., -7.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([7., 2., 0.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([2., 3., 4.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., 0., 7.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -1., 4.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., -2., 4.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., 0., -2.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., 0., -4.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-1., -1., -5.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., -6., 4.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 1., -2., 2.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 4., 11., 10.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 1., -8., -4.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-5., -2., 2.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 4., 12., 1.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., -2., -4.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., -7., -2.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -10., -4.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([0., 0., 5.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ -5., -10., -4.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-11., -2., 0.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ -1., -10., -10.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., 13., -4.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., 1., -5.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-1., -8., 0.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -6., -2.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-12., -1., 6.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([0., 8., 1.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., 8., -8.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., -6., -2.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -5., -11.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 0., -13.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -15., -1.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 1., -6., 10.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 10., 3.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([17., -2., -4.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -6., -1.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-5., 2., -2.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 9., 2., -4.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., -5., 0.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 6., 2., -3.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-1., 8., -2.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., -3., 14.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 6., 4., -7.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -11., -8.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-10., -5., -12.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., 3., -8.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-1., 4., 8.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 6., -7., 4.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-6., -1., 4.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -3., 3.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., 6., -4.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., -8., -5.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., 6., -1.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-7., -9., -1.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 6., -2., 5.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([2., 3., 4.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., 1., -6.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 11., -2.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 10., 3.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -7., -4.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([4., 4., 5.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., -6., -2.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., -1., 1.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., 8., -3.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 8., -3., -2.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([10., -1., -2.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., -3., 7.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-12., -8., -3.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([12., -9., -6.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., 5., -2.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., -1., 8.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([7., 5., 5.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., 8., -4.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., -6., -2.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -12., -9.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 4., -4., 7.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-8., -3., 6.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-11., -16., 2.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ -8., 1., -14.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -11., 11.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., -3., 0.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([13., -1., 3.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 4., -1.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ -4., -12., -3.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., 9., -3.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([3., 0., 6.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ -8., -10., 1.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., -6., 2.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([1., 0., 6.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 4., -2., -7.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 6., 11., 0.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-1., -4., 6.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., -4., -1.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([1., 0., 8.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., 6., 0.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., -7., -6.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -9., 10.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., 1., 4.])]\n",
"0.0\n",
"1.0\n"
]
}
],
"source": [
"# With self interaction\n",
"\n",
"M = int(1e2)\n",
"N = 12\n",
"\n",
"back_at_origin = 0\n",
"aborted = 0\n",
"\n",
"\n",
"def simulate_walk (): \n",
" current = np.zeros(3) \n",
" walk = [np.zeros(3)]\n",
"\n",
" for n in range(0,N-1):\n",
" newcurrent = current\n",
" max_attempts = 100\n",
" attempts = 0\n",
"\n",
" while np.any([np.array_equal(newcurrent, arr) for arr in walk]):\n",
" attempts += 1\n",
" if attempts > max_attempts:\n",
" print(n)\n",
" print(walk)\n",
" return False\n",
" newcurrent = current\n",
" newcurrent[choose012()] += choosedir()\n",
" \n",
" current = newcurrent\n",
" walk.append(current) \n",
" print(walk) \n",
" \n",
" current[choose012()] += choosedir()\n",
" walk.append(current)\n",
"\n",
" return current\n",
" \n",
"\n",
"\n",
"for m in range(0,M):\n",
" walked = simulate_walk()\n",
" if walked and not np.all(walked):\n",
" back_at_origin += 1\n",
" elif not walked:\n",
" aborted += 1\n",
"\n",
"print(back_at_origin / M)\n",
"print(aborted / M)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

View File

@@ -0,0 +1,119 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"from random import random\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib.animation import FuncAnimation\n",
"\n",
"def decide (prob):\n",
" return 1 if random() <= prob else 0\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"pS activity: 0.016666666666666666\n",
"pA activity: 0.06666666666666667\n"
]
}
],
"source": [
"# Question 5.3.5\n",
"\n",
"L = 100\n",
"dt = .01\n",
"T = 60\n",
"\n",
"pA_rate = .1\n",
"pS_rate = .05\n",
"\n",
"pA = np.zeros(L)\n",
"pS = np.zeros(L)\n",
"\n",
"pS_counts = 0\n",
"pA_counts = 0\n",
"\n",
"\n",
"def check_collisions ():\n",
" collisions = np.where((pA == 1) & (pS == 1))\n",
" pA[collisions] = 0\n",
" pS[collisions] = 0\n",
"\n",
"\n",
" \n",
"for n in range(0,int(T / dt)):\n",
" if pA[0] == 0:\n",
" pA[0] = decide(dt * pA_rate)\n",
"\n",
" if pS[L-1] == 0:\n",
" pS[L-1] = decide(dt * pS_rate)\n",
"\n",
"\n",
" if pA[L-1] == 1 and decide(.4):\n",
" pA[L-1] = 0\n",
" pA_counts += 1\n",
" \n",
" if pS[0] == 1 and decide(.4):\n",
" pS[0] = 0\n",
" pS_counts += 1\n",
"\n",
" for i in range(1,L):\n",
" if pA[L-1-i] == 1 and decide(.4) and pA[L-i] == 0:\n",
" pA[L-1-i] = 0\n",
" pA[L-i] = 1\n",
" check_collisions()\n",
" \n",
" if pS[i] == 1 and decide(.4) and pS[i-1] == 0:\n",
" pS[i-1] = 1\n",
" pS[i] = 0\n",
" check_collisions()\n",
"\n",
"\n",
"print(f\"pS activity: {pS_counts / T}\")\n",
"print(f\"pA activity: {pA_counts / T}\")\n",
" \n",
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

261
bionet/7-gillespie.ipynb Normal file

File diff suppressed because one or more lines are too long

293
bionet/8-nucleosomes.ipynb Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
biophys-intro/output1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
biophys-intro/output2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
biophys-intro/output3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long