{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import boolsim\n", "from colomoto_jupyter import tabulate # for display" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Input from a GINsim model" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import ginsim" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "Downloading http://ginsim.org/sites/default/files/drosophilaCellCycleVariants.zginml" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lrg = ginsim.load(\"http://ginsim.org/sites/default/files/drosophilaCellCycleVariants.zginml\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initial state" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'CycD': 0,\n", " 'Rb': 0,\n", " 'E2F': 0,\n", " 'CycE': 0,\n", " 'CycA': 0,\n", " 'Rux': 0,\n", " 'Fzy': 0,\n", " 'Fzr': 0,\n", " 'CycB': 0,\n", " 'Wee1': 0,\n", " 'Stg': 0,\n", " 'Notch': 0,\n", " 'Dap': 0,\n", " 'Ago': 0}" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "init = {str(n): 0 for n in lrg.getNodes()}\n", "init" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Computation of reachable states\n", "\n", "The *asynchronous* mode is used by default." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AgoCycACycBCycDCycEDapE2FFzrFzyNotchRbRuxStgWee1
100000****001**
1200000****011**
600001****001**
200100***0001**
1300100***0011**
700101*000001**
800101*1*0001**
000*00****000**
1100*00****010**
500*01****000**
401*00*1*0001**
1501*00***0011**
301*00****000**
1401*00****010**
1001*01*1*0001**
901*01****000**
\n", "
" ], "text/plain": [ " Ago CycA CycB CycD CycE Dap E2F Fzr Fzy Notch Rb Rux Stg Wee1\n", "1 0 0 0 0 0 * * * * 0 0 1 * *\n", "12 0 0 0 0 0 * * * * 0 1 1 * *\n", "6 0 0 0 0 1 * * * * 0 0 1 * *\n", "2 0 0 1 0 0 * * * 0 0 0 1 * *\n", "13 0 0 1 0 0 * * * 0 0 1 1 * *\n", "7 0 0 1 0 1 * 0 0 0 0 0 1 * *\n", "8 0 0 1 0 1 * 1 * 0 0 0 1 * *\n", "0 0 0 * 0 0 * * * * 0 0 0 * *\n", "11 0 0 * 0 0 * * * * 0 1 0 * *\n", "5 0 0 * 0 1 * * * * 0 0 0 * *\n", "4 0 1 * 0 0 * 1 * 0 0 0 1 * *\n", "15 0 1 * 0 0 * * * 0 0 1 1 * *\n", "3 0 1 * 0 0 * * * * 0 0 0 * *\n", "14 0 1 * 0 0 * * * * 0 1 0 * *\n", "10 0 1 * 0 1 * 1 * 0 0 0 1 * *\n", "9 0 1 * 0 1 * * * * 0 0 0 * *" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r = boolsim.reachable(lrg, init)\n", "tabulate(r)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1176" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r.count()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r = boolsim.reachable(lrg, init, \"synchronous\")\n", "r.count()" ] }, { "cell_type": "code", "execution_count": null, "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.8.3" } }, "nbformat": 4, "nbformat_minor": 4 }