diff --git a/Cargo.toml b/Cargo.toml index 5abc609..f603779 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,7 +20,7 @@ static-z3 = ["z3/static-link-z3"] pyo3 = { version = "0.20.0", features = ["abi3-py37", "extension-module"] } biodivine-lib-param-bn = { version="0.5.9", features=["solver-z3"] } biodivine-lib-bdd = "0.5.11" -biodivine-pbn-control = { git = "https://github.com/sybila/biodivine-pbn-control", rev = "defc197" } +biodivine-pbn-control = { git = "https://github.com/sybila/biodivine-pbn-control", rev = "6b27f62" } biodivine-hctl-model-checker = "0.2.2" rand = "0.8.5" macros = { path = "macros" } diff --git a/example/case-study/control/main.ipynb b/example/case-study/control/main.ipynb index 05f77f0..176a46b 100644 --- a/example/case-study/control/main.ipynb +++ b/example/case-study/control/main.ipynb @@ -2,13 +2,13 @@ "cells": [ { "cell_type": "code", - "execution_count": 56, + "execution_count": 1, "id": "initial_id", "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2024-04-03T13:44:40.418330Z", - "start_time": "2024-04-03T13:44:39.112925Z" + "end_time": "2024-04-03T13:47:12.001572Z", + "start_time": "2024-04-03T13:47:10.934313Z" } }, "outputs": [ @@ -52,7 +52,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 2, "outputs": [], "source": [ "import biodivine_aeon as ba\n", @@ -61,15 +61,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:40.424213Z", - "start_time": "2024-04-03T13:44:40.419782Z" + "end_time": "2024-04-03T13:47:12.546847Z", + "start_time": "2024-04-03T13:47:12.002230Z" } }, "id": "11969bfac9ef8031" }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 3, "outputs": [], "source": [ "# Load the model and create a Perturbation Graph\n", @@ -80,15 +80,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:40.429972Z", - "start_time": "2024-04-03T13:44:40.424320Z" + "end_time": "2024-04-03T13:47:12.555854Z", + "start_time": "2024-04-03T13:47:12.547174Z" } }, "id": "c6edd4931c7190eb" }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 4, "outputs": [], "source": [ "# Find attractors representing the four possible phenotypes\n", @@ -110,15 +110,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:40.436061Z", - "start_time": "2024-04-03T13:44:40.432343Z" + "end_time": "2024-04-03T13:47:12.564892Z", + "start_time": "2024-04-03T13:47:12.562030Z" } }, "id": "3dc68ef7bec3b2d8" }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 5, "outputs": [], "source": [ "# Let's demonstrate now, how we can compute source-target control.\n", @@ -129,21 +129,21 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:40.441390Z", - "start_time": "2024-04-03T13:44:40.436360Z" + "end_time": "2024-04-03T13:47:12.579059Z", + "start_time": "2024-04-03T13:47:12.574702Z" } }, "id": "ad993245710ad338" }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 6, "outputs": [ { "data": { "text/plain": "ColorSet(cardinality=0)" }, - "execution_count": 61, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -155,21 +155,21 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:40.447692Z", - "start_time": "2024-04-03T13:44:40.438788Z" + "end_time": "2024-04-03T13:47:12.583721Z", + "start_time": "2024-04-03T13:47:12.579504Z" } }, "id": "8fc32f37fe13d238" }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 7, "outputs": [ { "data": { "text/plain": "[({'EKLF': False, 'Fli1': True}, ColorSet(cardinality=1))]" }, - "execution_count": 62, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -181,15 +181,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:40.455080Z", - "start_time": "2024-04-03T13:44:40.450423Z" + "end_time": "2024-04-03T13:47:12.596686Z", + "start_time": "2024-04-03T13:47:12.592258Z" } }, "id": "21f94010e630c102" }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 8, "outputs": [ { "name": "stdout", @@ -203,7 +203,7 @@ "data": { "text/plain": "[({'PU1': False, 'Fli1': True}, ColorSet(cardinality=1))]" }, - "execution_count": 63, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, @@ -247,7 +247,7 @@ ">>> {\"PU1\": false, \"Fli1\": true}: 1; rho = 1.000\n", "Best robustness 1 observed in 1 perturbations.\n", ">>>>>> Elapsed: 1ms\n", - ">>> {\"PU1\": false, \"Fli1\": true}: 1; rho = 1.000\n", + ">>> {\"Fli1\": true, \"PU1\": false}: 1; rho = 1.000\n", "Best robustness 1 observed in 1 perturbations.\n", "Robustness 1 achieved for perturbation size 2.\n", "Robustness 1 achieved for perturbation size 2.\n" @@ -277,15 +277,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:40.463178Z", - "start_time": "2024-04-03T13:44:40.458836Z" + "end_time": "2024-04-03T13:47:12.619546Z", + "start_time": "2024-04-03T13:47:12.602433Z" } }, "id": "63cbeae745ce11b1" }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 9, "outputs": [], "source": [ "# Now we can compute a full sets of results for all pairs of source-target control" @@ -293,15 +293,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:40.468399Z", - "start_time": "2024-04-03T13:44:40.463066Z" + "end_time": "2024-04-03T13:47:12.619704Z", + "start_time": "2024-04-03T13:47:12.606992Z" } }, "id": "247b6e3dbaef4a9e" }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 10, "outputs": [], "source": [ "all_atts = {\n", @@ -317,15 +317,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:40.497539Z", - "start_time": "2024-04-03T13:44:40.467846Z" + "end_time": "2024-04-03T13:47:12.619766Z", + "start_time": "2024-04-03T13:47:12.610946Z" } }, "id": "405ad725fbc5e9e1" }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 11, "outputs": [], "source": [ "data = {\n", @@ -341,22 +341,22 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:41.697101Z", - "start_time": "2024-04-03T13:44:40.921010Z" + "end_time": "2024-04-03T13:47:13.924143Z", + "start_time": "2024-04-03T13:47:13.584568Z" } }, "id": "86ea9b904b0027de" }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 12, "outputs": [ { "data": { - "text/plain": " source target \\\n0 Erythrocyte Megakaryocyte \n1 Erythrocyte Monocyte \n2 Erythrocyte Granulocyte \n3 Megakaryocyte Erythrocyte \n4 Megakaryocyte Monocyte \n5 Megakaryocyte Granulocyte \n6 Monocyte Erythrocyte \n7 Monocyte Megakaryocyte \n8 Monocyte Granulocyte \n9 Granulocyte Erythrocyte \n10 Granulocyte Megakaryocyte \n11 Granulocyte Monocyte \n\n onestep \\\n0 [({'Fli1': True, 'EKLF': False}, ColorSet(card... \n1 [({'PU1': True}, ColorSet(cardinality=1))] \n2 [({'Gfi1': True, 'CEBPa': True, 'GATA1': False... \n3 [({'Fli1': False, 'EKLF': True}, ColorSet(card... \n4 [({'PU1': True}, ColorSet(cardinality=1))] \n5 [({'GATA1': False, 'Fli1': False, 'CEBPa': Tru... \n6 [({'EKLF': True, 'GATA1': True, 'PU1': False},... \n7 [({'PU1': False, 'GATA1': True, 'Fli1': True},... \n8 [({'CEBPa': True, 'Gfi1': True, 'EgrNab': Fals... \n9 [({'GATA1': True, 'CEBPa': False, 'PU1': False... \n10 [({'Fli1': True, 'GATA1': True, 'PU1': False, ... \n11 [({'CEBPa': False}, ColorSet(cardinality=1))] \n\n temporary \\\n0 [({'EKLF': False}, ColorSet(cardinality=1)), (... \n1 [({'PU1': True}, ColorSet(cardinality=1))] \n2 [({'CEBPa': True, 'EgrNab': False}, ColorSet(c... \n3 [({'EKLF': True}, ColorSet(cardinality=1)), ({... \n4 [({'PU1': True}, ColorSet(cardinality=1))] \n5 [({'CEBPa': True, 'EgrNab': False}, ColorSet(c... \n6 [({'GATA1': True, 'EKLF': True, 'GATA2': True}... \n7 [({'Fli1': True, 'PU1': False}, ColorSet(cardi... \n8 [({'CEBPa': True, 'EgrNab': False}, ColorSet(c... \n9 [({'GATA1': True, 'GATA2': True, 'EKLF': True}... \n10 [({'Fli1': True, 'PU1': False}, ColorSet(cardi... \n11 [({'CEBPa': False}, ColorSet(cardinality=1))] \n\n permanent \n0 [({'EKLF': False}, ColorSet(cardinality=1)), (... \n1 [({'PU1': True}, ColorSet(cardinality=1))] \n2 [({'CEBPa': True, 'EgrNab': False}, ColorSet(c... \n3 [({'EKLF': True}, ColorSet(cardinality=1)), ({... \n4 [({'PU1': True}, ColorSet(cardinality=1))] \n5 [({'EgrNab': False, 'CEBPa': True}, ColorSet(c... \n6 [({'GATA1': True, 'PU1': False, 'EKLF': True},... \n7 [({'Fli1': True, 'PU1': False}, ColorSet(cardi... \n8 [({'CEBPa': True, 'EgrNab': False}, ColorSet(c... \n9 [({'GATA1': True, 'EKLF': True, 'PU1': False},... \n10 [({'PU1': False, 'Fli1': True}, ColorSet(cardi... \n11 [({'CEBPa': False}, ColorSet(cardinality=1))] ", - "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
sourcetargetonesteptemporarypermanent
0ErythrocyteMegakaryocyte[({'Fli1': True, 'EKLF': False}, ColorSet(card...[({'EKLF': False}, ColorSet(cardinality=1)), (...[({'EKLF': False}, ColorSet(cardinality=1)), (...
1ErythrocyteMonocyte[({'PU1': True}, ColorSet(cardinality=1))][({'PU1': True}, ColorSet(cardinality=1))][({'PU1': True}, ColorSet(cardinality=1))]
2ErythrocyteGranulocyte[({'Gfi1': True, 'CEBPa': True, 'GATA1': False...[({'CEBPa': True, 'EgrNab': False}, ColorSet(c...[({'CEBPa': True, 'EgrNab': False}, ColorSet(c...
3MegakaryocyteErythrocyte[({'Fli1': False, 'EKLF': True}, ColorSet(card...[({'EKLF': True}, ColorSet(cardinality=1)), ({...[({'EKLF': True}, ColorSet(cardinality=1)), ({...
4MegakaryocyteMonocyte[({'PU1': True}, ColorSet(cardinality=1))][({'PU1': True}, ColorSet(cardinality=1))][({'PU1': True}, ColorSet(cardinality=1))]
5MegakaryocyteGranulocyte[({'GATA1': False, 'Fli1': False, 'CEBPa': Tru...[({'CEBPa': True, 'EgrNab': False}, ColorSet(c...[({'EgrNab': False, 'CEBPa': True}, ColorSet(c...
6MonocyteErythrocyte[({'EKLF': True, 'GATA1': True, 'PU1': False},...[({'GATA1': True, 'EKLF': True, 'GATA2': True}...[({'GATA1': True, 'PU1': False, 'EKLF': True},...
7MonocyteMegakaryocyte[({'PU1': False, 'GATA1': True, 'Fli1': True},...[({'Fli1': True, 'PU1': False}, ColorSet(cardi...[({'Fli1': True, 'PU1': False}, ColorSet(cardi...
8MonocyteGranulocyte[({'CEBPa': True, 'Gfi1': True, 'EgrNab': Fals...[({'CEBPa': True, 'EgrNab': False}, ColorSet(c...[({'CEBPa': True, 'EgrNab': False}, ColorSet(c...
9GranulocyteErythrocyte[({'GATA1': True, 'CEBPa': False, 'PU1': False...[({'GATA1': True, 'GATA2': True, 'EKLF': True}...[({'GATA1': True, 'EKLF': True, 'PU1': False},...
10GranulocyteMegakaryocyte[({'Fli1': True, 'GATA1': True, 'PU1': False, ...[({'Fli1': True, 'PU1': False}, ColorSet(cardi...[({'PU1': False, 'Fli1': True}, ColorSet(cardi...
11GranulocyteMonocyte[({'CEBPa': False}, ColorSet(cardinality=1))][({'CEBPa': False}, ColorSet(cardinality=1))][({'CEBPa': False}, ColorSet(cardinality=1))]
\n
" + "text/plain": " source target \\\n0 Erythrocyte Megakaryocyte \n1 Erythrocyte Monocyte \n2 Erythrocyte Granulocyte \n3 Megakaryocyte Erythrocyte \n4 Megakaryocyte Monocyte \n5 Megakaryocyte Granulocyte \n6 Monocyte Erythrocyte \n7 Monocyte Megakaryocyte \n8 Monocyte Granulocyte \n9 Granulocyte Erythrocyte \n10 Granulocyte Megakaryocyte \n11 Granulocyte Monocyte \n\n onestep \\\n0 [({'EKLF': False, 'Fli1': True}, ColorSet(card... \n1 [({'PU1': True}, ColorSet(cardinality=1))] \n2 [({'CEBPa': True, 'GATA1': False, 'Gfi1': True... \n3 [({'Fli1': False, 'EKLF': True}, ColorSet(card... \n4 [({'PU1': True}, ColorSet(cardinality=1))] \n5 [({'CEBPa': True, 'Fli1': False, 'Gfi1': True,... \n6 [({'PU1': False, 'EKLF': True, 'GATA1': True},... \n7 [({'Fli1': True, 'GATA1': True, 'PU1': False},... \n8 [({'Gfi1': True, 'EgrNab': False, 'CEBPa': Tru... \n9 [({'GATA1': True, 'EKLF': True, 'PU1': False, ... \n10 [({'CEBPa': False, 'Fli1': True, 'PU1': False,... \n11 [({'CEBPa': False}, ColorSet(cardinality=1))] \n\n temporary \\\n0 [({'EKLF': False}, ColorSet(cardinality=1)), (... \n1 [({'PU1': True}, ColorSet(cardinality=1))] \n2 [({'EgrNab': False, 'CEBPa': True}, ColorSet(c... \n3 [({'EKLF': True}, ColorSet(cardinality=1)), ({... \n4 [({'PU1': True}, ColorSet(cardinality=1))] \n5 [({'CEBPa': True, 'EgrNab': False}, ColorSet(c... \n6 [({'GATA2': True, 'EKLF': True, 'GATA1': True}... \n7 [({'Fli1': True, 'PU1': False}, ColorSet(cardi... \n8 [({'CEBPa': True, 'EgrNab': False}, ColorSet(c... \n9 [({'GATA2': True, 'GATA1': True, 'EKLF': True}... \n10 [({'PU1': False, 'Fli1': True}, ColorSet(cardi... \n11 [({'CEBPa': False}, ColorSet(cardinality=1))] \n\n permanent \n0 [({'EKLF': False}, ColorSet(cardinality=1)), (... \n1 [({'PU1': True}, ColorSet(cardinality=1))] \n2 [({'CEBPa': True, 'EgrNab': False}, ColorSet(c... \n3 [({'EKLF': True}, ColorSet(cardinality=1)), ({... \n4 [({'PU1': True}, ColorSet(cardinality=1))] \n5 [({'CEBPa': True, 'EgrNab': False}, ColorSet(c... \n6 [({'GATA1': True, 'PU1': False, 'EKLF': True},... \n7 [({'Fli1': True, 'PU1': False}, ColorSet(cardi... \n8 [({'CEBPa': True, 'EgrNab': False}, ColorSet(c... \n9 [({'GATA1': True, 'EKLF': True, 'PU1': False},... \n10 [({'Fli1': True, 'PU1': False}, ColorSet(cardi... \n11 [({'CEBPa': False}, ColorSet(cardinality=1))] ", + "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
sourcetargetonesteptemporarypermanent
0ErythrocyteMegakaryocyte[({'EKLF': False, 'Fli1': True}, ColorSet(card...[({'EKLF': False}, ColorSet(cardinality=1)), (...[({'EKLF': False}, ColorSet(cardinality=1)), (...
1ErythrocyteMonocyte[({'PU1': True}, ColorSet(cardinality=1))][({'PU1': True}, ColorSet(cardinality=1))][({'PU1': True}, ColorSet(cardinality=1))]
2ErythrocyteGranulocyte[({'CEBPa': True, 'GATA1': False, 'Gfi1': True...[({'EgrNab': False, 'CEBPa': True}, ColorSet(c...[({'CEBPa': True, 'EgrNab': False}, ColorSet(c...
3MegakaryocyteErythrocyte[({'Fli1': False, 'EKLF': True}, ColorSet(card...[({'EKLF': True}, ColorSet(cardinality=1)), ({...[({'EKLF': True}, ColorSet(cardinality=1)), ({...
4MegakaryocyteMonocyte[({'PU1': True}, ColorSet(cardinality=1))][({'PU1': True}, ColorSet(cardinality=1))][({'PU1': True}, ColorSet(cardinality=1))]
5MegakaryocyteGranulocyte[({'CEBPa': True, 'Fli1': False, 'Gfi1': True,...[({'CEBPa': True, 'EgrNab': False}, ColorSet(c...[({'CEBPa': True, 'EgrNab': False}, ColorSet(c...
6MonocyteErythrocyte[({'PU1': False, 'EKLF': True, 'GATA1': True},...[({'GATA2': True, 'EKLF': True, 'GATA1': True}...[({'GATA1': True, 'PU1': False, 'EKLF': True},...
7MonocyteMegakaryocyte[({'Fli1': True, 'GATA1': True, 'PU1': False},...[({'Fli1': True, 'PU1': False}, ColorSet(cardi...[({'Fli1': True, 'PU1': False}, ColorSet(cardi...
8MonocyteGranulocyte[({'Gfi1': True, 'EgrNab': False, 'CEBPa': Tru...[({'CEBPa': True, 'EgrNab': False}, ColorSet(c...[({'CEBPa': True, 'EgrNab': False}, ColorSet(c...
9GranulocyteErythrocyte[({'GATA1': True, 'EKLF': True, 'PU1': False, ...[({'GATA2': True, 'GATA1': True, 'EKLF': True}...[({'GATA1': True, 'EKLF': True, 'PU1': False},...
10GranulocyteMegakaryocyte[({'CEBPa': False, 'Fli1': True, 'PU1': False,...[({'PU1': False, 'Fli1': True}, ColorSet(cardi...[({'Fli1': True, 'PU1': False}, ColorSet(cardi...
11GranulocyteMonocyte[({'CEBPa': False}, ColorSet(cardinality=1))][({'CEBPa': False}, ColorSet(cardinality=1))][({'CEBPa': False}, ColorSet(cardinality=1))]
\n
" }, - "execution_count": 67, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -367,15 +367,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:41.716881Z", - "start_time": "2024-04-03T13:44:41.714913Z" + "end_time": "2024-04-03T13:47:13.948593Z", + "start_time": "2024-04-03T13:47:13.924951Z" } }, "id": "e33b15bc38ab2ef" }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 13, "outputs": [ { "name": "stdout", @@ -383,15 +383,15 @@ "text": [ "Erythrocyte -> Megakaryocyte : [{'EKLF': False}, {'Fli1': True}]\n", "Erythrocyte -> Monocyte : [{'PU1': True}]\n", - "Erythrocyte -> Granulocyte : [{'CEBPa': True, 'EgrNab': False}, {'Gfi1': True, 'CEBPa': True}, {'cJun': False, 'CEBPa': True}]\n", + "Erythrocyte -> Granulocyte : [{'CEBPa': True, 'EgrNab': False}, {'Gfi1': True, 'CEBPa': True}, {'CEBPa': True, 'cJun': False}]\n", "Megakaryocyte -> Erythrocyte : [{'EKLF': True}, {'Fli1': False}]\n", "Megakaryocyte -> Monocyte : [{'PU1': True}]\n", - "Megakaryocyte -> Granulocyte : [{'EgrNab': False, 'CEBPa': True}, {'CEBPa': True, 'Gfi1': True}, {'cJun': False, 'CEBPa': True}]\n", - "Monocyte -> Erythrocyte : [{'GATA1': True, 'PU1': False, 'EKLF': True}, {'Fli1': False, 'GATA1': True, 'PU1': False}]\n", + "Megakaryocyte -> Granulocyte : [{'CEBPa': True, 'EgrNab': False}, {'Gfi1': True, 'CEBPa': True}, {'cJun': False, 'CEBPa': True}]\n", + "Monocyte -> Erythrocyte : [{'GATA1': True, 'PU1': False, 'EKLF': True}, {'PU1': False, 'GATA1': True, 'Fli1': False}]\n", "Monocyte -> Megakaryocyte : [{'Fli1': True, 'PU1': False}]\n", - "Monocyte -> Granulocyte : [{'CEBPa': True, 'EgrNab': False}, {'Gfi1': True, 'CEBPa': True}, {'CEBPa': True, 'cJun': False}]\n", - "Granulocyte -> Erythrocyte : [{'GATA1': True, 'EKLF': True, 'PU1': False}, {'Fli1': False, 'GATA1': True, 'PU1': False}]\n", - "Granulocyte -> Megakaryocyte : [{'PU1': False, 'Fli1': True}]\n", + "Monocyte -> Granulocyte : [{'CEBPa': True, 'EgrNab': False}, {'CEBPa': True, 'Gfi1': True}, {'CEBPa': True, 'cJun': False}]\n", + "Granulocyte -> Erythrocyte : [{'GATA1': True, 'EKLF': True, 'PU1': False}, {'PU1': False, 'Fli1': False, 'GATA1': True}]\n", + "Granulocyte -> Megakaryocyte : [{'Fli1': True, 'PU1': False}]\n", "Granulocyte -> Monocyte : [{'CEBPa': False}]\n" ] } @@ -403,8 +403,8 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:41.726989Z", - "start_time": "2024-04-03T13:44:41.718346Z" + "end_time": "2024-04-03T13:47:13.952702Z", + "start_time": "2024-04-03T13:47:13.949151Z" } }, "id": "657408a776cdc2c" @@ -423,7 +423,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 14, "outputs": [], "source": [ "df['min_onestep_size'] = df['onestep'].apply(lambda x: len(x[0][0]))\n", @@ -436,22 +436,22 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:41.749837Z", - "start_time": "2024-04-03T13:44:41.724630Z" + "end_time": "2024-04-03T13:47:13.958079Z", + "start_time": "2024-04-03T13:47:13.956793Z" } }, "id": "ba3e6537eb9844c2" }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 15, "outputs": [ { "data": { "text/plain": " source target min_onestep_size min_onestep_options \\\n0 Erythrocyte Megakaryocyte 2 1 \n1 Erythrocyte Monocyte 1 1 \n2 Erythrocyte Granulocyte 3 1 \n3 Megakaryocyte Erythrocyte 2 1 \n4 Megakaryocyte Monocyte 1 1 \n5 Megakaryocyte Granulocyte 4 3 \n6 Monocyte Erythrocyte 3 1 \n7 Monocyte Megakaryocyte 3 1 \n8 Monocyte Granulocyte 3 1 \n9 Granulocyte Erythrocyte 4 1 \n10 Granulocyte Megakaryocyte 4 1 \n11 Granulocyte Monocyte 1 1 \n\n min_temporary_size min_temporary_options min_permanent_size \\\n0 1 2 1 \n1 1 1 1 \n2 2 3 2 \n3 1 2 1 \n4 1 1 1 \n5 2 3 2 \n6 3 6 3 \n7 2 1 2 \n8 2 4 2 \n9 3 6 3 \n10 2 1 2 \n11 1 1 1 \n\n min_permanent_options \n0 2 \n1 1 \n2 3 \n3 2 \n4 1 \n5 3 \n6 2 \n7 1 \n8 3 \n9 2 \n10 1 \n11 1 ", "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
sourcetargetmin_onestep_sizemin_onestep_optionsmin_temporary_sizemin_temporary_optionsmin_permanent_sizemin_permanent_options
0ErythrocyteMegakaryocyte211212
1ErythrocyteMonocyte111111
2ErythrocyteGranulocyte312323
3MegakaryocyteErythrocyte211212
4MegakaryocyteMonocyte111111
5MegakaryocyteGranulocyte432323
6MonocyteErythrocyte313632
7MonocyteMegakaryocyte312121
8MonocyteGranulocyte312423
9GranulocyteErythrocyte413632
10GranulocyteMegakaryocyte412121
11GranulocyteMonocyte111111
\n
" }, - "execution_count": 70, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -462,15 +462,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:41.763749Z", - "start_time": "2024-04-03T13:44:41.729724Z" + "end_time": "2024-04-03T13:47:13.964002Z", + "start_time": "2024-04-03T13:47:13.961910Z" } }, "id": "6ff8cdacaf3a933e" }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 16, "outputs": [], "source": [ "# In a similar manner, we can compute phenotype control, even though this time, only target attractor (or phenotype, but in this case we consider attractor to be phenotype) is known\n", @@ -486,15 +486,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:41.823070Z", - "start_time": "2024-04-03T13:44:41.758511Z" + "end_time": "2024-04-03T13:47:14.027431Z", + "start_time": "2024-04-03T13:47:13.983381Z" } }, "id": "d59e4afbb48c9154" }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 17, "outputs": [], "source": [ "df['min_phenotype_size'] = df['phenotype'].apply(lambda x: len(x[0][0]))\n", @@ -503,22 +503,22 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:41.841374Z", - "start_time": "2024-04-03T13:44:41.800438Z" + "end_time": "2024-04-03T13:47:14.027618Z", + "start_time": "2024-04-03T13:47:14.023403Z" } }, "id": "3a63fa0825ea5b5d" }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 18, "outputs": [ { "data": { "text/plain": " source target min_onestep_size min_onestep_options \\\n0 Erythrocyte Megakaryocyte 2 1 \n1 Erythrocyte Monocyte 1 1 \n2 Erythrocyte Granulocyte 3 1 \n3 Megakaryocyte Erythrocyte 2 1 \n4 Megakaryocyte Monocyte 1 1 \n5 Megakaryocyte Granulocyte 4 3 \n6 Monocyte Erythrocyte 3 1 \n7 Monocyte Megakaryocyte 3 1 \n8 Monocyte Granulocyte 3 1 \n9 Granulocyte Erythrocyte 4 1 \n10 Granulocyte Megakaryocyte 4 1 \n11 Granulocyte Monocyte 1 1 \n\n min_temporary_size min_temporary_options min_permanent_size \\\n0 1 2 1 \n1 1 1 1 \n2 2 3 2 \n3 1 2 1 \n4 1 1 1 \n5 2 3 2 \n6 3 6 3 \n7 2 1 2 \n8 2 4 2 \n9 3 6 3 \n10 2 1 2 \n11 1 1 1 \n\n min_permanent_options min_phenotype_size min_phenotype_options \n0 2 2 1 \n1 1 2 1 \n2 3 2 3 \n3 2 3 2 \n4 1 2 1 \n5 3 2 3 \n6 2 3 2 \n7 1 2 1 \n8 3 2 3 \n9 2 3 2 \n10 1 2 1 \n11 1 2 1 ", "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
sourcetargetmin_onestep_sizemin_onestep_optionsmin_temporary_sizemin_temporary_optionsmin_permanent_sizemin_permanent_optionsmin_phenotype_sizemin_phenotype_options
0ErythrocyteMegakaryocyte21121221
1ErythrocyteMonocyte11111121
2ErythrocyteGranulocyte31232323
3MegakaryocyteErythrocyte21121232
4MegakaryocyteMonocyte11111121
5MegakaryocyteGranulocyte43232323
6MonocyteErythrocyte31363232
7MonocyteMegakaryocyte31212121
8MonocyteGranulocyte31242323
9GranulocyteErythrocyte41363232
10GranulocyteMegakaryocyte41212121
11GranulocyteMonocyte11111121
\n
" }, - "execution_count": 73, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -529,8 +529,8 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:41.852680Z", - "start_time": "2024-04-03T13:44:41.809360Z" + "end_time": "2024-04-03T13:47:14.045977Z", + "start_time": "2024-04-03T13:47:14.029291Z" } }, "id": "3eed11a720075285" @@ -547,16 +547,16 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 19, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Erythrocyte [{'PU1': False, 'Fli1': False, 'GATA1': True}, {'PU1': False, 'GATA1': True, 'EKLF': True}]\n", + "Erythrocyte [{'PU1': False, 'Fli1': False, 'GATA1': True}, {'EKLF': True, 'GATA1': True, 'PU1': False}]\n", "Megakaryocyte [{'Fli1': True, 'PU1': False}]\n", - "Monocyte [{'CEBPa': False, 'PU1': True}]\n", - "Granulocyte [{'cJun': False, 'CEBPa': True}, {'CEBPa': True, 'Gfi1': True}, {'EgrNab': False, 'CEBPa': True}]\n" + "Monocyte [{'PU1': True, 'CEBPa': False}]\n", + "Granulocyte [{'cJun': False, 'CEBPa': True}, {'CEBPa': True, 'Gfi1': True}, {'CEBPa': True, 'EgrNab': False}]\n" ] } ], @@ -568,8 +568,8 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:41.852838Z", - "start_time": "2024-04-03T13:44:41.814554Z" + "end_time": "2024-04-03T13:47:14.046134Z", + "start_time": "2024-04-03T13:47:14.033681Z" } }, "id": "4f62a27affb31f06" @@ -618,7 +618,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 20, "outputs": [], "source": [ "# Load the model and create a Perturbation Graph\n", @@ -629,21 +629,21 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:41.912607Z", - "start_time": "2024-04-03T13:44:41.862722Z" + "end_time": "2024-04-03T13:47:14.116532Z", + "start_time": "2024-04-03T13:47:14.080516Z" } }, "id": "f7c8237823b3721a" }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 21, "outputs": [ { "data": { "text/plain": "2963088.0" }, - "execution_count": 76, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -658,15 +658,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:41.939469Z", - "start_time": "2024-04-03T13:44:41.883847Z" + "end_time": "2024-04-03T13:47:14.122890Z", + "start_time": "2024-04-03T13:47:14.120196Z" } }, "id": "65b4a118960ff54c" }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 22, "outputs": [], "source": [ "# We need to reassign attractor configuration to the new graph\n", @@ -697,15 +697,15 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:45.781458Z", - "start_time": "2024-04-03T13:44:45.780022Z" + "end_time": "2024-04-03T13:47:18.009942Z", + "start_time": "2024-04-03T13:47:18.007410Z" } }, "id": "ee72658ed1ee4e83" }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 23, "outputs": [ { "name": "stdout", @@ -722,7 +722,7 @@ "Cardinality of control map: 237920256\n", ">>> {}: 116172; rho = 0.039\n", "Best robustness 0.03920639549011032 observed in 1 perturbations.\n", - ">>>>>> Elapsed: 310ms\n", + ">>>>>> Elapsed: 315ms\n", ">>> {}: 116172; rho = 0.039\n", "Best robustness 0.03920639549011032 observed in 1 perturbations.\n", "Robustness 0 achieved for perturbation size 0.\n", @@ -772,7 +772,7 @@ ">>> {\"CEBPa\": false}: 2963088; rho = 1.000\n", ">>> {\"CEBPa\": true}: 106932; rho = 0.036\n", "Best robustness 1 observed in 2 perturbations.\n", - ">>>>>> Elapsed: 1898ms\n", + ">>>>>> Elapsed: 1909ms\n", ">>> {\"cJun\": false}: 2962296; rho = 1.000\n", ">>> {\"cJun\": true}: 107730; rho = 0.036\n", ">>> {\"SCL\": false}: 58482; rho = 0.020\n", @@ -813,16 +813,25 @@ "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-04-03T13:44:47.996454Z", - "start_time": "2024-04-03T13:44:47.994381Z" + "end_time": "2024-04-03T13:47:20.244730Z", + "start_time": "2024-04-03T13:47:20.237935Z" } }, "id": "12731ca169477a75" }, { "cell_type": "code", - "execution_count": null, - "outputs": [], + "execution_count": 24, + "outputs": [ + { + "data": { + "text/plain": "1.0" + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# We can find out the robustness of previously computed perturbations\n", "mega_phen = pstg_unknown.ceiled_phenotype_permanent_control(\n", @@ -835,7 +844,10 @@ ], "metadata": { "collapsed": false, - "is_executing": true + "ExecuteTime": { + "end_time": "2024-04-03T13:47:27.002067Z", + "start_time": "2024-04-03T13:47:27.000452Z" + } }, "id": "af65f16f17f1600b" }, @@ -849,23 +861,46 @@ }, { "cell_type": "code", - "execution_count": null, - "outputs": [], + "execution_count": 25, + "outputs": [ + { + "data": { + "text/plain": "0.0" + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# We can find out the robustness of previously computed perturbations\n", "mega_erythro = pstg_unknown.permanent_control(megakaryocyte_att, erythrocyte_att, verbose=False)\n", - "mega_erythro.perturbation_working_colors({\"EKLF\": True}).cardinality() / CARDINALITY" + "mega_erythro.perturbation_working_colors({\"EKLF\": True}).cardinality() / CARDINALITY\n", + "\n", + "# WTF" ], "metadata": { "collapsed": false, - "is_executing": true + "ExecuteTime": { + "end_time": "2024-04-03T13:47:27.166551Z", + "start_time": "2024-04-03T13:47:27.164827Z" + } }, "id": "9a2f8ee50f53c90a" }, { "cell_type": "code", - "execution_count": null, - "outputs": [], + "execution_count": 26, + "outputs": [ + { + "data": { + "text/plain": "[({'Fli1': False, 'CEBPa': False, 'GATA2': False, 'PU1': False},\n ColorSet(cardinality=2963088))]" + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "mega_erythro.working_perturbations(min_robustness=0.99, \n", " verbose=False,\n", @@ -873,33 +908,12 @@ ], "metadata": { "collapsed": false, - "is_executing": true + "ExecuteTime": { + "end_time": "2024-04-03T13:47:30.527297Z", + "start_time": "2024-04-03T13:47:30.525400Z" + } }, "id": "8d08832afedafc1e" - }, - { - "cell_type": "code", - "execution_count": null, - "outputs": [], - "source": [ - "mega_erythro.perturbation_working_colors({\"EKLF\": True})" - ], - "metadata": { - "collapsed": false, - "is_executing": true - }, - "id": "1a2df3e0b8550c78" - }, - { - "cell_type": "code", - "execution_count": null, - "outputs": [], - "source": [], - "metadata": { - "collapsed": false, - "is_executing": true - }, - "id": "5fb7feea7f57dd4e" } ], "metadata": {