{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Quickstart example for cancer simulation " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Import modules " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/opt/data/repos/cancer_software\n", "Obtaining file:///opt/data/repos/cancer_software\n", "Installing collected packages: CaSim\n", " Found existing installation: CaSim 1.0.0\n", " Uninstalling CaSim-1.0.0:\n", " Successfully uninstalled CaSim-1.0.0\n", " Running setup.py develop for CaSim\n", "Successfully installed CaSim\n", "Note: you may need to restart the kernel to use updated packages.\n", "/opt/data/repos/cancer_software/docs/source/include/notebooks\n" ] } ], "source": [ "### Uncomment and execute if the next cell fails with \"module not found\".` Then reload the kernel.\n", "# %cd ../../../..\n", "# %pip install -e .\n", "# %cd -" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# The cancer simulation module.\n", "from casim import casim" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# 3rd party modules.\n", "import os, shutil\n", "from wand.image import Image as WImage" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup parameters " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "parameters=casim.CancerSimulatorParameters(\n", " matrix_size=20,\n", " number_of_generations=10,\n", " division_probability=0.5,\n", " advantageous_division_probability=0.8,\n", " death_probability=0.1,\n", " advantageous_death_probability=0.4,\n", " mutation_probability=0.2,\n", " advantageous_mutation_probability=0.8,\n", " mutations_per_division=10,\n", " time_of_advantageous_mutation=30000,\n", " number_of_clonal=2,\n", " plot_tumour_growth=True,\n", " export_tumour=True\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup the simulation engine. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "if os.path.isdir('out'):\n", " shutil.rmtree('out')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "cancer_sim = casim.CancerSimulator(parameters, seed=1, outdir='out/')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Run the simulation " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cancer_sim.run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Display the growth curve. " ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [], "source": [ "image_path=os.path.join(cancer_sim.outdir,'cancer_1', 'simOutput', 'growthCurve.pdf')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "img = WImage(filename=image_path)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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yFQtezaY26yXNLSGNdVogLsEi6w6ltfULM1ZiU00GvjoWTy/ARoaYY00GuDx/X7F8xugGcEaaTQwgPg+AQ1NiQ00GlgPIL5PQF88HcOI7xPQE8EGEt8noBeCWbOBxPcJ6INgw4nvE9ADwQYU3yegc4JtiuGRIcX3CeiWYGLHY5EBxfcJ6JBg50LVxRj/mz+hjtEVwazJNN+1DyrphGDWXV0MUEUHBMvDxVBLitYF2z7ugLSdUQT3aWhdsEPRCHRGFC4moANTIqgDBOsZEKxnQLCeAcF6BgTrGRCsZ0CwntG8YL9/YoCO7/7TtGDf/F74iaq/8Zuv1997/X//17RgRYyeX6+/+frWefcHDsFqomqDvPv6d//DAAAAeBfJjh1VLvcq+tnKYaq9gc+Yyq1r+vd7icL1rRNFsa7wB5sBM3SlDzwJVH6+5uoxOyn9/ezSlaYPmHqinRR+Yf7PGSjZeeykJJjaDxe9n3ah2lu0yi5KPzI1w9Y/97n6KswwURHM1w09Oir8fMPYRX1yrnKx1ARLIpXLk8DVlKZk/eTHgcoHEBrhTuXvbxkvUBQsiSKVNXunG0pDhA9PU8FXcUwXYLdPvg5fP2oqU4KiXryJKtNjBaslXcM8hQ/cTwVXub594jBQ+cgZbwaovu5/PW5o6CpT2ildBPu0hvEWfipX+7wZoOqNmNIYTRR//FH11wcAAABAp+FFbbm1cS5se4ljSphs3utTADVmescchO5XCdYvM3wgCPfEKdDMdKyltjnzU+V2huFxBf3YSG+t2O6U31F7J8Mz0+ePLD3ZiMUFO0PldhvURgh21FMNEj7OQs3QjqHn7tLvSXhyQ6bpkRuJwIkXMpfxsEIca4HhsvQaLY5cJRciqEvmANRN/uHH2olxwXQeSzVEyMcLNN3VXOHlzOqBR7tEN/lLYkrUd+njxnNuwRUhmKvz6c3U05HGk5c8Q4+EYOJl7ta9EcwLdkEuMxcsZsqhblAH/tH7kSEMiCCK+MhKEl7nlo+0I48gXASLDR4oTcJwJ3y16YKnaemUqUGvNjG51/iUCMEYd98avBtCwEeYFodR6F4F84OAx9xiPh0y3Qj5NOqGUdQrJ3vvSXKfsS8ep1IcuSf5KL6nDxLhE06O2ckmP45FJgM/J7tGzWcMmiYKMQX2CkRBAAAAAAAk+T9n188rjo0snAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMC0wMy0xN1QxNTo0NzozNyswMTowMPQkt/sAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMDMtMTdUMTU6NDc6MzcrMDE6MDCFeQ9HAAAAIHRFWHRwZGY6SGlSZXNCb3VuZGluZ0JveAA0MzJ4Mjg4KzArMBDQ8AgAAAAUdEVYdHBkZjpWZXJzaW9uAFBERi0xLjQgHEc6eAAAAEp0RVh0c2lnbmF0dXJlADA2ZjZmOGY0M2I4NTI2YWIyNDI4ODBiOGVmMjA1NTc2ZjFmNDAxMTFkYWYwMzBmYTBmMzVhYmQyM2IwMThkOWJezMJ7AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(img)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:casim] *", "language": "python", "name": "conda-env-casim-py" }, "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": 2 }